Sto progettando un sistema in cui una combinazione di hardware e software (chiamiamola un'appliance ...) invia all'archivio sicuro asincrono il cloud. Con sicurezza, intendo, AES-256 crittografato, con chiave AES e IV crittografato con chiave pubblica RSA-2048. Potrebbero esserci diverse di queste appliance, ciascuna con la stessa chiave pubblica RSA. Non importa.
Voglio che la decrittografia si verifichi quando l'utente si trova di fronte a un disastro e vuole recuperare i suoi archivi. Per disastro, voglio dire, il suo computer potrebbe essere stato bruciato, o rubato, o potrebbe essere stata costretta a spostarsi rapidamente, qualcosa del genere.
In questo caso, voglio qualcosa di facile da usare, facile da trasportare, facile da memorizzare. Una chiave USB suona alla grande. Ma non voglio che nessun malware sia in grado di leggere la chiave privata RSA ogni volta che questo dispositivo viene messo in un computer potenzialmente pericoloso.
La mia ipotesi è che ci dovrebbe essere qualche soluzione disponibile in commercio, che faccia quanto segue:
- È stato scritto in fabbrica una chiave privata RSA-2048 nei miei locali (non nel venditore)
- Non renderà mai visibile la chiave su USB come sarebbe un semplice file di chiave pubblica RSA su una chiavetta USB
- Prenderà i dati crittografati, decrittografarli e restituirli decrittografati
Punti bonus:
- È compatibile con Java almeno su Mac e Windows
- Utilizza password configurabile per proteggere ulteriormente la chiave
- (forse ...) fa tutto ciò di cui ho bisogno direttamente nel mio protocollo (decifratura dei tasti AES, AES un ciphering ...)