Qual è la pratica comune per crittografare le informazioni personali identificabili dell'utente

1

Sto cercando di proteggere i dati utilizzando AES per crittografare tutti i dati PII prima che vengano salvati nel database, e penso che il meccanismo generale sia qualcosa di simile in basso.

(Questo è quello che penso, non è necessario correggere)

Dati di input dell'utente - > html invia i dati al servizio web tramite https - > il servizio Web crittografa i dati utilizzando la chiave privata che è distinta per ogni utente - > il servizio Web salva i dati nel database

e al contrario:

Dati richiesta utente - > il servizio Web ottiene i dati dal database - > servizio web decifrare i dati - > il servizio web rimanda i dati all'utente tramite https

Ad esempio, l'e-mail è un campo PII protetto da crittografia. Diciamo quando l'utente si sta registrando, forniscono una e-mail e una password. Il servizio Web calcola una chiave privata casuale e utilizza tale chiave per crittografare la posta elettronica (domanda I qui) e salva l'e-mail crittografata nel database. Quando l'utente vuole accedere utilizzando la combinazione di email e password, invia di nuovo l'email al servizio web (domanda II qui).

Tuttavia sorgono le due domande:

  1. Devo memorizzare la chiave privata nel database? Questo dovrebbe essere criptato? In tal caso, come può essere recuperato e decodificato? Altrimenti cosa dovremmo fare per la chiave privata?
  2. Supponendo che nella domanda 1, salviamo la chiave privata da qualche parte con ID utente come PK. Nel momento in cui l'utente tenta di accedere con e-mail e password, l'app Web riceve e-mail non crittografate senza conoscere l'ID utente. Come dovrebbe decodificare l'e-mail senza l'ID utente che viene utilizzato per individuare la chiave privata? Senza la chiave privata, in che modo il sistema può confermare che l'e-mail è un'e-mail valida?

Queste potrebbero essere domande di base ma non riesco a capirlo ... Ti chiedi che cosa sta usando il settore per risolvere i problemi, o sono sulla buona strada?

    
posta jamesdeath123 04.01.2015 - 00:50
fonte

2 risposte

1

Anche la crittografia della chiave privata non aggiunge molta più sicurezza - in definitiva è necessario memorizzare la chiave alcuni non crittografata, quindi è logico che sia PK.

Dato che l'indirizzo e-mail è crittografato (firmato usando il PK) avrete bisogno di alcune informazioni aggiuntive per eseguire la ricerca - la soluzione raccomandata è usare un chiave pubblica . La chiave pubblica viene distribuita ai client e inviata come parte delle richieste e utilizzata per cercare il PK e decrittografare i dati.

    
risposta data 04.01.2015 - 15:01
fonte
0

È possibile memorizzare la chiave nel proprio database non crittografata. Puoi cifrarlo con una chiave simmetrica che tu e solo tu conoscerai. È necessario decrittografare la password ottenuta e confrontare il valore con le password crittografate nel database. Non dovresti mai memorizzare tali informazioni in testo normale nel tuo database!

    
risposta data 04.01.2015 - 09:16
fonte

Leggi altre domande sui tag