Somiglianza password


9

Volevo cambiare la mia password su una macchina unix. Ho fatto un normale "passwd" e ho digitato la mia vecchia e la mia nuova password.

Quindi la macchina mi è tornata con il seguente messaggio:

BAD PASSWORD: is too similar to the old one

Questo mi ha fatto pensare ... Significa che la macchina ha la mia password in chiaro da qualche parte? Altrimenti non dovrebbe essere in grado di confrontare la vecchia e la nuova password, giusto? O c'è una funzione hash che lo abilita?

Risposte:


6

OK, quindi ho seguito il suggerimento di Michael Hampton e sono andato a guardare il codice di pam_cracklib.c e sembra che pam_cracklib ottenga la vecchia password (nota come corrente) dal PAM tramite una chiamata di funzione (che ritengo del tutto ok, come Ho appena inserito la password corrente per l'autenticazione) e quindi esegue un'analisi di somiglianza (funzione di distanza) tra quella vecchia password e quella nuova che ho appena inserito.

Ma non fa questa analisi per tutte le vecchie password nella sua storia. Ciò non sarebbe possibile, poiché vengono memorizzati solo come hash. Per loro può esserci un controllo solo se sono uguali. Quindi tutto sembra essere in ordine, proprio come mi aspettavo, ma ora capisco perché è ... grazie a tutti.


3

Le tue vecchie password non sono memorizzate in testo semplice.

Invece, i vecchi hash delle password sono archiviati /etc/security/opasswdda PAM. Quindi effettua il confronto quando si va a cambiare la password, in base a ciò che è stato specificato nella configurazione PAM.

Un esempio di configurazione PAM:

password required pam_unix.so sha512 remember=12 use_authtok

Qui, rememberfa sì che ricordi 12 password precedenti.

Per ulteriori dettagli, consultare Linux Password Security con pam_cracklib .


Mhm ... beh, sicuramente non è una password che abbia mai usato prima ... Quindi deve verificare la presenza di modifiche ai caratteri in una vecchia password. Ma se tutto ciò che viene salvato è un hash di quella password, come si compie il confronto? Una delle funzioni principali degli hash crittograficamente sicuri non è forse quella di non consentire un confronto tra diversi testi chiari?
Dertoni,

Mi hai portato lì. Penso che dovresti leggere il codice sorgente per rispondere di sicuro a quello.
Michael Hampton,

Mi aspetto che apporti variazioni alla nuova password e se uno degli hash di queste variazioni corrisponde all'hash di una vecchia password, è troppo simile. In questo modo, vengono memorizzati solo gli hash. Ovviamente, non ho controllato nemmeno questo nel codice sorgente ...
Ladadadada,

ok, leggi il codice ... ha aggiunto una risposta sui miei risultati. +1 per avermi aiutato a trovare la risposta ;-) grazie.
Dertoni,

0

Alcuni sistemi possono archiviare / calcolare l'entropia (complessità della password) e confrontarli, non so se sia il caso di PAM.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.