Qui ci sono due problemi diversi ma correlati. Uno è la sicurezza della chiave; l'altro è la sicurezza dei dati decifrati dalla chiave.
Un HSM e "un server separato" sono essenzialmente la stessa cosa dal punto di vista del tuo server delle applicazioni. Sta inviando i dati crittografati "altrove" per la decrittografia, ma i dati in chiaro torneranno nel tuo server delle app. Il server delle app avrà sempre bisogno di una protezione sufficiente per proteggersi da un utente malintenzionato al suo interno, sottrarre i tuoi segreti. Quindi puoi ignorare la sicurezza dei dati in chiaro nel fare questa scelta, perché il problema del testo in chiaro è lo stesso indipendentemente dall'opzione scelta.
Consideriamo prima gli HSM. Di solito è vero che proteggere la chiave è più importante della protezione di un singolo pezzo di dati (a meno che la perdita di un singolo pezzo di dati possa causare una perdita catastrofica); ed è qui che un HSM è un ottimo strumento per il lavoro. Gli svantaggi di un approccio HSM sono che sono piuttosto costosi da acquistare, mantenere e operare. Di solito sono prezzati per il throughput delle transazioni, quindi più dati sono necessari per decodificare alla volta, più costoso è l'HSM. Qualsiasi spesa per la spesa deve anche includere la complessità necessaria per interagire con essa - probabilmente trascorrerai molto tempo ad imparare come usarlo, come eseguire cerimonie chiave, integrarlo nei tuoi sistemi esistenti, ecc. Ma tu? Avremo le migliori chiavi protette che il denaro possa offrire.
D'altra parte, se costruisci il tuo server per eseguire la decrittografia dei dati, dovrai passare il tempo a indurlo contro gli attacchi, emettere certificati ai server delle app autorizzati, eseguire audit, ecc. E essere consapevole che un amministratore sulla macchina avrà sempre accesso sufficiente per accedere alla chiave. (Questo non è vero per un HSM che richiede un certo numero di condivisioni di una chiave master per poter accedere alle chiavi, il che significa che un numero di persone fidate dovrebbe colludere per violare la sicurezza.) Quindi costruire il proprio server costerà meno di comprare un HSM, ma non è economico; e la chiave è più a rischio di un HSM. È particolarmente problematico se non sai come proteggerlo correttamente.
Dato tutto ciò, diventa una questione di soldi contro rischio. (Benvenuto in Sicurezza!) Quanto è critico per la continua esistenza della tua organizzazione il fatto che tu abbia protetto quelle chiavi? Quale classificazione di sicurezza hai dato ai dati memorizzati in tali e-mail? Archivia i dati in ambito PCI, HIPAA, SOX, GLBA o qualche altro settore regolamentato? I tuoi dati contengono segreti industriali così preziosi che un governo straniero potrebbe portare tutte le loro risorse per violarne? Protegge così tanti soldi che andresti in bancarotta se un hacker lo ha distrutto? Il furto del database metterà fuori mercato la tua organizzazione? Successivamente, calcola il prezzo acquistando un HSM rispetto all'edificio e proteggendo il tuo server di decrittografia.
Se le risposte a quanto sopra aggiungono "non vale davvero tutto questo", allora devi considerare mezzi più accessibili per assicurarlo.