Non vorrei usare questo approccio. Quando monti un'unità USB, leggi un file da esso, ecc. Tutte le copie di tali dati potrebbero finire nella memoria del sistema operativo, nei registri, ecc. Combatterai una dura battaglia per renderlo sicuro, specialmente se l'attaccante ha la possibilità di eseguire il dump della memoria del server o di installare malware sul server.
Un approccio migliore sarebbe utilizzare una sorta di modulo crittografico hardware USB in modo che il server stesso non debba mai toccare le chiavi private. L'idea è che le chiavi di crittografia vivano sul dispositivo crittografico e non lo abbandonino mai, invii i dati che desideri crittografare / decodificare sul dispositivo, esegue l'operazione di crittografia per te e restituisce i risultati.
Con questo approccio è garantito che sul server non esistono cache della chiave privata perché il server non lo ha mai toccato, e se si estrae il dispositivo USB, il server perde la capacità di eseguire operazioni crittografiche, che penso sia quello che vuoi.
Alcune tecnolgie / termini di ricerca che puoi cercare includono:
- smartcard USB
- token crittografico
- PKCS # 11 token
- TPM (modulo piattaforma di fiducia)
- HSM (modulo di sicurezza hardware)
Si consiglia di esaminare le soluzioni basate su hardware come le smart card USB, i TPM o HSM leggeri in cui la crittografia viene eseguita sul dispositivo in modo che il server non tocchi mai effettivamente la chiave.