Protezione della password in Java (file di configurazione e memoria) [duplicato]

0

Devo memorizzare la password per qualche altro sistema nel file di configurazione nella mia applicazione Java (app web in esecuzione su Tomcat). Quali sono le mie opzioni per proteggerlo (sia a riposo che in memoria)? (Hash non è un'opzione)

in Rest: se crittograferò la password nel file di configurazione, dove memorizzerò una chiave? in un altro file di configurazione? non suona bene ... Non voglio codificarlo nel codice.

in Memoria: ho letto che non dovrei usare String ma char [], ma comunque se qualcuno scaricherà la memoria avrà la password. Java ha qualcosa come SecureString in .Net?

Grazie

    
posta Aaron_S 15.01.2017 - 09:24
fonte

1 risposta

1

La tua password di salvataggio è una domanda doppia. Se qualcuno suona l'applicazione java, è meglio ottenere le password richieste dall'utente o dall'amministratore di sistema responsabile dell'esecuzione dell'applicazione.

Dopo aver ottenuto la password. Non salvarlo mai come una stringa. Perché le punture in Java sono immutabili e non hai alcun controllo su quei blocchi di memoria (solo JVM e GC lo fa). Prova a salvarli in char [] in memoria e non usare toString ().

Se hai a che fare con un'interfaccia utente, non utilizzare metodi come getText () per recuperare una password. Utilizza il metodo getPassword () in JPasswordField come un exmaple.

    
risposta data 15.01.2017 - 09:56
fonte

Leggi altre domande sui tag