Passwortähnlichkeit

9

Ich wollte mein Passwort auf einem Unix-Computer ändern. Ich habe ein normales "passwd" gemacht und mein altes und mein neues Passwort eingegeben.

Dann kam die Maschine mit der folgenden Nachricht zu mir zurück:

BAD PASSWORD: is too similar to the old one

Das hat mich zum Nachdenken gebracht ... Bedeutet das, dass die Maschine irgendwo mein Passwort im Klartext hat? Andernfalls sollte es nicht möglich sein, das alte und das neue Passwort zu vergleichen, oder? Oder gibt es eine Hash-Funktion, die das ermöglicht?

dertoni
quelle

Antworten:

6

OK, also folgte ich dem Vorschlag von Michael Hampton und schaute mir den Code von pam_cracklib.c an. Es scheint, als würde pam_cracklib das alte (auch als aktuell bekannte) Passwort von der PAM über einen Funktionsaufruf erhalten (was ich für völlig in Ordnung halte Ich habe gerade das aktuelle Passwort zur Authentifizierung eingegeben und dann eine Ähnlichkeitsanalyse (Distanzfunktion) zwischen diesem alten und dem neuen Passwort durchgeführt, das ich gerade eingegeben habe.

Diese Analyse wird jedoch nicht für alle alten Kennwörter in der Historie durchgeführt. Das wäre nicht möglich, da sie nur als Hashes gespeichert werden. Für sie kann nur geprüft werden, ob sie gleich sind. Also scheint alles in Ordnung zu sein, genau wie ich es erwartet hatte, aber jetzt verstehe ich, warum es so ist ... danke an alle.

dertoni
quelle
3

Ihre alten Passwörter werden nicht im Klartext gespeichert.

Stattdessen werden Ihre alten Passwort- Hashes/etc/security/opasswd von PAM gespeichert . Der Vergleich wird dann durchgeführt, wenn Sie Ihr Kennwort ändern, basierend auf den Angaben in der PAM-Konfiguration.

Ein Beispiel für eine PAM-Konfiguration:

password required pam_unix.so sha512 remember=12 use_authtok

Hier werden remember12 vorherige Passwörter gespeichert.

Weitere Informationen finden Sie unter Linux-Kennwortsicherheit mit pam_cracklib .

Michael Hampton
quelle
Mhm ... nun, es ist definitiv kein Passwort, das ich jemals zuvor verwendet habe ... Also muss es nach Zeichenänderungen an einem alten Passwort suchen. Aber wenn alles, was gespeichert wird, ein Hash dieses Passworts ist, wie wird dann der Vergleich durchgeführt? Ist nicht eine der Hauptfunktionen von kryptografisch sicheren Hashes, um keinen Vergleich zwischen verschiedenen Klartexten zu ermöglichen?
Dertoni
Da haben Sie mich erwischt. Ich denke, Sie müssten den Quellcode lesen, um diesen sicher zu beantworten.
Michael Hampton
Ich würde erwarten, dass es Variationen des neuen Passworts macht, und wenn einer der Hashes dieser Variationen mit dem Hash eines alten Passworts übereinstimmt, ist es zu ähnlich. Auf diese Weise werden nur Hashes gespeichert. Natürlich habe ich das auch im Quellcode nicht überprüft ...
Ladadadada
ok, lies den Code ... fügte eine Antwort über meine Ergebnisse hinzu. +1 für die Hilfe bei der Suche nach der Antwort ;-) Danke.
Dertoni
0

Einige Systeme können Entropie (Passwortkomplexität) speichern / berechnen und vergleichen. Ich weiß nicht, ob es sich um PAM handelt.

vn.
quelle