Sto prendendo in considerazione le opzioni di crittografia per un nuovo progetto Sybase (solo fronte interno, seduto nella nostra intranet) per un client che ha una politica di sicurezza che richiede che tutti i dati sensibili utilizzino la crittografia DB e siano disponibili solo per pochi. Penso che la crittografia di Sybase sia la strategia sbagliata perché a) i dba possono entrare facilmente, eb) se e quando migriamo a SQL Server o Oracle, non voglio occuparmi di strategie di crittografia differenti.
Pertanto, sto pensando di mantenere una singola tabella di dati sensibili e di crittografare quella colonna (crittografia simmetrica) nel mio codice Java prima di memorizzarla nel DB.
Ora, i campi crittografati non hanno la chiave di crittografia cambiata, mai, tranne in un ambiente molto controllato, che per me in realtà significa mai. Quindi diventerà una password permanente.
La domanda è, dove tenerlo. Se si trova in un file di proprietà, qualsiasi sviluppatore con accesso al nostro repository Git potrebbe vederlo.
Potremmo codificarlo nel codice sorgente, ma buona norma, è una cattiva pratica.
Potremmo generarlo in sorgente, come il 10 ° Fibonacci o 3! +8! sarebbe difficile da individuare, ma è ancora piuttosto esposto.
Potremmo avere il sa di mantenerlo nell'ambiente, ma poi dove lo archiviano per riferimento futuro?
Così tante scelte sbagliate. Ce ne sono di buoni?