Supponiamo uno scenario di firma sul lato server, in cui le chiavi utente vengono generate in un HSM ed esportate in un database, crittografate con una chiave simmetrica derivata da una password utente e la chiave master di HSM.
Per firmare, gli utenti devono fornire la password indicata e un fattore aggiuntivo, ad esempio un OTP, ad esempio. L'OTP non può essere utilizzato per proteggere la chiave perché è un valore dinamico, quindi è solo usato come barriera di autorizzazione. La trasmissione dei due fattori avviene tramite SSL.
Ora immagina che un malintenzionato all'interno di un utente malintenzionato cambi il codice dell'applicazione, quindi le password inviate dagli utenti vengono registrate in un file.
Sebbene l'operazione di firma tramite l'applicazione richieda 2 fattori, evitando in qualche modo attacchi da parte di aggressori esterni, cosa si può fare per impedire che un aggressore interno acceda direttamente all'HSM e decrittografa una chiave di firma con la password e utilizzandola per firmare i documenti per conto dell'utente?
In genere, l'accesso fisico agli HSM è protetto da un doppio controllo, ma gli utenti possono avere accesso logico a HSM se hanno la password per accedere da remoto.
Che tipo di misure di sicurezza posso implementare per prevenire questo tipo di attacco interno?