Il database Derby supporta la crittografia con una chiave o una password. Tradizionalmente questa chiave è memorizzata nei file system, ora invece sto cercando di archiviare e proteggere questa chiave nell'HSM, ma non riuscivo a capire come avrei dovuto farlo.
-
L'approccio più semplice sembra semplicemente mettere la chiave stessa nell'HSM? Quindi all'avvio del server, l'applicazione interrogherà l'HSM per la chiave, la userà per avviare il database Derby e quindi scarterà la chiave. Tuttavia, ho letto che sembra inefficace perché la chiave può essere semplicemente estratta, ma non capisco veramente qual è il problema di sicurezza con questa appraoch, è questo l'approccio che dovrei prendere?
-
Il secondo modo in cui leggo è la crittografia ibrida, ma non sono sicuro che sia applicabile al mio caso. Genererò una chiave simmetrica, quindi genererò una coppia di chiavi nell'HSM. Quindi utilizzerò la chiave pubblica dell'HSM per crittografare la chiave simmetrica e archiviarla localmente nel file system. All'avvio del server, passerò questa chiave simmetrica crittografata all'HSM per decodificarla utilizzando la chiave privata non estraibile. C'è qualche merito che usa questo approccio o il suo overkill per questo scopo?
Da come ho capito, la maggior parte dell'uso di HSM ruota attorno al fatto di avere mittenti diversi (criptare) e destinatari (decriptare), quindi l'uso di KeyPairs invece delle chiavi simmetriche?