Memorizzazione di dati finanziari di base

1

Sto lavorando a un progetto simile a un'app di bilancio come mint o ynab. Utilizzerò l'api Plaid , che astrae i numeri di account / routing, ecc. Quindi, a cosa avrò accesso e sarà cercando di memorizzare, sarebbe il nome dell'account, il saldo, il tipo e i dati transazionali (importo, posizione, nome, tipo, data, categoria).

Vorrei anche memorizzare il nome e l'email dell'utente. Stavo pensando che se avessi crittografato il nome e l'email, sarebbe "abbastanza", ma sono ancora un po 'a disagio a riguardo. Quindi, ecco le mie domande:

  • Quanto dovrei cifrare?
  • Qual è il modo migliore per crittografarlo? Solo l'e-mail ha davvero bisogno di essere reversibile da me.
  • Qual è il miglior supporto di archiviazione? Stavo per usare solo Postgres, ma potrebbe esserci un modo migliore per archiviare questi dati.

Grazie in anticipo per eventuali suggerimenti, trucchi, riferimenti, qualunque cosa!

    
posta Mike 21.03.2018 - 04:17
fonte

1 risposta

1

Prima di tutto, questo dipende dal paese in cui ti trovi e dalle sue leggi. La procedura migliore consiste nel crittografare tutti i dati utente poiché si gestiscono dati finanziari.

Giusto per evitare confusione sulla crittografia dei dati, ci sono generalmente due cose da affrontare, come descritto di seguito. Il motivo per cui ho sollevato questa questione è che, nella mia esperienza, le persone mi dicono come consulente per la sicurezza che "il database è crittografato".

Tuttavia, ponendo qualche altra domanda, risulta che i dati nel database stesso non sono crittografati ma i dischi su cui è in esecuzione il database.

1. Crittografia disco

Questo tipo di crittografia protegge i tuoi dati da eventuali furti se una delle altre macchine fisiche è in riposo (forse disattivata e forse rubata)

2. Crittografia del database

Questo tipo di crittografia protegge i tuoi dati nel database stesso. Ad esempio, se un utente malintenzionato è in grado di eseguire il dump (in parte) del database, i record sono crittografati e sostanzialmente inutili per l'autore dell'attacco.

L'unica sfida qui è dove memorizzi la chiave di crittografia. Questa chiave non dovrebbe mai trovarsi sullo stesso disco (ad esempio in un file di configurazione) del server delle applicazioni e del server del database.

Per leggere la chiave di crittografia, è consigliato un meccanismo di "vault". Google "chiave di crittografia vault" dovrebbe portare a diverse soluzioni che potresti implementare.

Quanto dovrei cifrare?

A mio parere, i dati finanziari stessi dovrebbero essere sicuramente la crittografia, ma ciò dipende anche dalle normative e dalla politica aziendale. Sono stato in aziende che utilizzano la seguente politica:

"Ogni record che può essere utilizzato per identificare una persona è considerato un dato sensibile"

Gli esempi sono: numeri di previdenza sociale, numeri di conto bancario ecc.

Qual è il modo migliore per crittografarlo?

Nella mia esperienza, la maggior parte delle volte, viene utilizzata la crittografia a chiave simmetrica.

Qual è il miglior supporto di archiviazione?

La maggior parte dei database open source supporta la crittografia delle colonne, così fa Postgres.

    
risposta data 21.03.2018 - 07:02
fonte

Leggi altre domande sui tag