Sto sviluppando un'applicazione desktop Java multipiattaforma che utilizza una password per ricavare una chiave crittografica. Vorrei aggiungere una funzione "Ricordami" che memorizza questa chiave crittografica sul disco rigido in modo sicuro in modo che il mio programma possa ottenerla dopo un riavvio.
Se lo memorizzo direttamente, chiunque riesca a ottenere l'accesso al disco rigido di un utente tipico (nessuna crittografia) sarà in grado di ottenere la chiave. Se lo crittografo, la chiave utilizzata per crittografarlo deve ancora essere memorizzata da qualche parte sul disco, e quindi sconfigge lo scopo.
Ho visto gnome-keyring, Windows Credential Manager e portachiavi Mac OSX, ma sembra che ognuno abbia le proprie API non Java (o porte non ufficiali su Java). Inoltre, sembra che qualsiasi programma in esecuzione come l'utente sarà in grado di leggere o scrivere da o verso questi due servizi.
C'è un modo più portatile (e preferibilmente isolato) per archiviare in modo sicuro le password (o le chiavi crittografiche) sul disco rigido?
Grazie!