Se qualcuno che non desideri sapere che la tua password ha accesso diretto alla memoria di un computer su cui è nota una password in testo semplice, hai fallito completamente nella sicurezza delle informazioni.
A un certo punto, da qualche parte, le informazioni di accesso semplicemente devono esistere in testo semplice. Non deve essere lì a lungo, e non dovrebbe mai essere persistere nella memoria non volatile a lungo termine in questo modulo, ma è semplicemente irrealizzabile progettare un sistema utilizzabile di accesso alle credenziali statiche che è invulnerabile allo snooping "white box" (dove si presume che l'attaccante abbia accesso illimitato alle informazioni di stato della macchina e possa analizzare l'esecuzione passo dopo passo). L'utente deve essere in grado di digitare la sua password in una casella di testo, che memorizza chiaramente quella password in memoria (anche se ciò che mostra sullo schermo è una serie di punti elenco), e quindi il programma deve essere in grado di recuperarlo chiaramente prima di codificarlo per il trasporto al sistema di autenticazione.
Allo stesso modo, qualcosa da qualche parte deve conoscere la chiave che stai usando per crittografare o decifrare. Questo, tuttavia, non deve essere il tuo computer reale. HSM sono stati suggeriti; questi sono moduli di elaborazione dati progettati per generare e memorizzare le chiavi in un modo che non richiede la partecipazione diretta della CPU o della memoria del computer a cui è collegato; una scatola nera ideale. Sono inoltre progettati per resistere a ogni sforzo per entrare in questa scatola, da qualsiasi fonte incluso il computer a cui è connesso. Il computer è solo un proxy e una fonte di comandi e dati di input per HSM. Tuttavia, quel computer deve ancora essere considerato affidabile, nella misura in cui in qualsiasi momento un utente malintenzionato può vedere e / o controllare ciò che viene inviato tra il computer e HSM, non ha davvero bisogno dei dati nell'HSM per compromettere la comunicazione o persino la tua chiave; ha un oracolo di decifrazione seduto proprio lì per lui da sfruttare.
Se sei preoccupato per i keylogger o altri sistemi che potrebbero leggere una password statica, non usarne uno; invece, investire in keytags RSA o dispositivi simili. Questi dispositivi utilizzano un algoritmo con un seme iniziale per generare una sequenza di numeri, ognuno valido per un minuto circa. Lo stesso algoritmo, dato lo stesso valore di inizializzazione, sta generando gli stessi numeri sul lato server. Inserisci il numero che vedi sul tag (aspettando il prossimo se l'attuale sta per aggiornare) come password. Non importa se digiti quel codice su un dispositivo che sta ovviamente inviando le tue battiture a un ragazzo con un laptop a pochi metri di distanza; quel codice funzionerà solo per un minuto, e, a livello tattico, ha una possibilità infinitesima di indovinare correttamente il prossimo codice, anche se conoscesse ogni codice che il generatore ha mai prodotto.