Per questa situazione, a meno che non si utilizzi un modulo di crittografia hardware, le chiavi raw devono essere disponibili per la macchina. Affinché la crittografia offra vantaggi reali, le chiavi devono essere archiviate in un formato più difficile da leggere rispetto ai file sottostanti.
Questo significa
- memorizza i file su una macchina separata per l'applicazione. Se il modello di sicurezza del server delle applicazioni è rotto, hanno ancora accesso a tutto ma, se si accede a tutti i file server, vengono fornite informazioni crittografate.
- Archivia le chiavi in modo che non siano leggibili dall'applicazione. Questo di solito è fatto avendo un processo in esecuzione come utente più privilegiato, leggere le chiavi e poi passarle all'applicazione all'avvio. Ciò significa che l'unico modo in cui un utente malintenzionato che accede allo stesso utente dell'applicazione (non assumendo alcuna possibilità di escalation dei privilegi) può ottenere il possesso delle chiavi è di leggerle fuori dalla memoria o da un dump principale dell'applicazione.