Sto scavando da qualche giorno nella conservazione dei dati sensibili. Se memorizzo questi dati in un database, ritengo che la pratica generalmente accettata sia quella di archiviare i dati sensibili crittografati, per varie ragioni al di fuori dello scopo di questa domanda.
La crittografia dei dati, tuttavia, significa che devo gestire i "segreti" per questi dati. Ho visto 2 percorsi principali per questo (nel mondo Java), KeyStores o HSM. La mia prima domanda è: ci sono altre valide alternative (nel mondo java)?
Ci sono diversi formati di keystore che posso usare in java, per citarne alcuni:
- JKS
- JCEKS
- pkcs12
- BKS
- uber
Ho visto pochissime informazioni sulla sicurezza di un keystore. Ho pensato che, se avessi accesso a un keystore, e quando guardo all'API java poiché tutti i keystore sono protetti da una password, potrei semplicemente forzare il keystore, per quanto sicuro sia. La seconda domanda diventa quindi, è prassi generalmente accettata che dal momento che i keystore si trovano su sistemi diversi dai dati crittografati e dal momento che sono protetti da password, allora questo è "abbastanza sicuro" per le condizioni di vita reale? Che dire della memorizzazione della password sul keystore? Ci sono pratiche accettate lì? Ad esempio, memorizzandolo in un altro sistema? Avendolo inserito manualmente all'avvio dell'applicazione? Avendolo in un file os-protetto in cui solo l'applicazione ha accesso in lettura ad esso?
La prossima domanda riguarda gli HSM. Dal momento che posso forzare i keystore della forza, cosa mi impedisce di fare esattamente la stessa cosa con un HSM? Tempo? Deve essere effettuato il login al sistema remoto poiché non esiste un file per me da copiare e utilizzare in remoto?
L'ultima domanda è: qualcuno ha idea di cosa sia considerato abbastanza sicuro in termini di gestione segreta? Supporrei che varia a seconda del tipo di informazioni crittografate con il segreto. Da quanto ho letto altrove, i keystore sembrano abbastanza buoni per la maggior parte degli scenari tipici e gli HSM sono necessari in scenari molto di nicchia, per CA, governi e simili.
È stato apprezzato qualsiasi approfondimento.