Immagina che ci sia un modulo di accesso nell'applicazione Java. Abbiamo bisogno di assegnare nome utente e password alle variabili. Poco dopo possiamo usare la password Hash o HMAC e tenerla solo per la fase di autenticazione (senza cache). Ma ancora dobbiamo assegnare una variabile per la password Raw.
Q1) quale tipo di variabile dovremmo usare per memorizzare la password Raw (String, Char array o altro)?
Q2) Cosa dovremmo fare variabile della password Raw dopo l'uso (cioè autorizzare il garbage collector a scaricarlo dopo che la funzione è fuori dal campo di applicazione)?
Q3) Qualcos'altro?
Questa è una domanda relativa a Java. L'ho postato qui poiché è molto vicino alla sicurezza.
Per il C / C ++ ho poca idea. Sono
-
Archivia la password in una variabile di basso livello di sistema che non dipende da altre biblioteche. Cioè memorizza la password in char [] che è molto nativa delle variabili di tipo QString (Qt) fornite dai framework.
-
Sovrascrivi immediatamente la password char [] dopo l'uso. Quindi distruggi.
-
Riduci il tempo della password in memoria.