Attualmente sto utilizzando GNU Crypto in Java e ora sto decidendo il modo migliore per memorizzare le chiavi.
La domanda Memorizzazione di "segreti", keystore, HSM e il resto mi ha portato a credere che la migliore linea d'azione, senza acquistare hardware costoso, sia quella di utilizzare un keystore protetto da password.
Ho intenzione di inserire una password all'avvio del sistema per consentire al sistema di accedere all'archivio chiavi ed eliminare la necessità di memorizzare la password nella stessa posizione dell'archivio chiavi. Tuttavia, al momento, il keystore si troverà sullo stesso sistema del database con i file e IV.
Una risposta alla domanda link suggerisce di suddividere una chiave e di diffonderla . Ho pensato di farlo in modo da poter individuare parte della chiave nel mio keystore, parte nel mio database e forse parti altrove. Questo aggiungerebbe sicurezza?
Per quanto riguarda il keystore, la mia preferenza sarebbe quella di utilizzare il portachiavi GNU Crypto, tuttavia sembra esplicitamente accettare le chiavi simmetriche. C'è modo di usarlo per questo scopo? Non riesco a trovare esempi utili. Un'alternativa sarebbe Java KeyStore che sembra accettare "SecretKeys".
Molte grazie per il tuo aiuto.
Domanda bonus: ho deciso di utilizzare i cifrari GNU Cryptos come avevo letto e ho ritenuto che fosse più veloce rispetto alle alternative in parte perché non dovevo usare alcun codice C nativo. Questa supposizione è corretta?