Come crittografare le colonne in un database ed essere in grado di cambiare facilmente la chiave di crittografia

2

Ho diversi campi in una tabella di database che vorrei crittografare, ma mi piacerebbe farlo in un modo che mi consenta di cambiare facilmente la chiave di crittografia ogni n mesi per motivi di sicurezza.

Il mio pensiero iniziale era quello di memorizzare il IV con la riga in modo da poterlo usare per decodificare ogni voce in cui la chiave per la crittografia sarebbe stata memorizzata altrove, nel codice o in un file di configurazione. Sembra che sarà un incubo ogni n mesi in cui ho bisogno di cambiare la chiave, dato che avrei dovuto fare un po 'di lavoro che avrebbe dovuto cambiare la IV per ogni riga e decodificare / criptare di nuovo tutte le colonne necessarie per la nuova chiave.

Sembra proprio che questo approccio potrebbe anche rallentare il sistema durante il tentativo di decodificare e crittografare di nuovo. Non ho visto molti articoli che descrivono approcci pratici a questo problema, solo menzionando che la chiave dovrebbe essere cambiata periodicamente. Qualsiasi aiuto sarebbe molto apprezzato, io sono nuovo al gioco di crittografia.

Inoltre, sto usando la crittografia AES-256. Sto usando SQL Server ma potrei migrare a MySQL in futuro. L'applicazione è codificata in C # .Net. Stiamo memorizzando informazioni personali (irst, secondo nome, cognome, ssn, ecc.) E dev'essere conforme HIPAA e vogliamo essere sicuri che se una chiave viene compromessa, possiamo cambiare rapidamente la chiave.

    
posta user1790300 16.07.2015 - 19:43
fonte

1 risposta

1

Se si utilizza MSSQL, passare a Transparent Data Encryption e non crittografare da soli. Ciò sarà notevolmente più gestibile in quanto sarà possibile eseguire query sui dati durante la crittografia.

link

In caso contrario (a causa della licenza?) utilizzare l'ecryption del livello di cella integrato

    
risposta data 16.07.2015 - 21:48
fonte

Leggi altre domande sui tag