* Johannes Kapune wrote on Thu, Dec 08, 2005 at 18:04 +0100:
Weil ich mir nicht ganz sicher war habe ich dies mehfach wiederhlt und jedesmal ein andren HASH zurückgeliefert bekommen. Ist das so richtig?
(Keine Ahnung wie das /hier/ genau ist, aber) Im allgemeinen werden Passwörter "gesalzen" oder "diversifiziert"[1], in dem ein paar Zufallszeichen vor das Kennwort gehangen werden. Das machte schon der klassische "crypt" call so; hier wurden zwei Zeichen verwendet (IIRC). Bei stärkeren Verfahren (MD5/SHA1) nimmt man meist eine längeren String. Bei echten Hashes können die im Prinzip beliebig lang sein (mehr Bits als Hashoutput bzw. Stärke macht natürlich keinen Sinn). Die Idee ist hier: pass = <eingabe> algo = ( sha1 | md5 | ... ) salt = generate_random_bits( strength ( algo ) ) hash = algo ( salt <concatenate> pass ) Das Ergebnis ist dann "<algo><salt><hash>". Salt braucht man natürlich, um das Passwort prüfen zu können.
Wenn ja, wie (oder womit) überprüft dann LDAP in der slapd.conf das rootpw?
Er liest algo und salt (sind ja im String sicherlich drin), hängt dann die zu prüfende Zeichenkette an "salt" an, hash das mit "algo". Also wie oben, nur dass statt "generate_random_bits" der gefundene salt "wiederverwendet" wird. Dann werden die Hashes verglichen.
Ich war bis eben der (irrigen?) Meinung da käme jedesmal der gleich Antwortstring aus slappasswd -u .
Wenn das so wäre, könnte sich ein Angreifer beispielsweise ein Wörterbuch hashen und hätte schon mal eine Datenbank aller hashes für "richtige Wörter". Wenn ein Benutzer sein Passwort ändert, in dem er es nocheinmal eingibt, würde der gleiche Hash bei rauskommen und man (als Angreiferin) könnte aus diesem Wissen Nutzen ziehen usw. In der Praxis hier sicherlich egal, aber bei "blockhashes" kann man auch an der Blockgrenze "weiterhashen", ist bei der Blockverschlüsselung von Dateien interessant (daher macht man das hier auch gern so: Zufall davorhängen). Damit ist der "Bitstrom" immer schön zufällig, weil er ja mit Zufall anfängt. Das weiss google sicherlich alles viel besser ;) Interaktiver Passwort-Hasher: http://www.cafesoft.com/CSDigest/createDigest.do oki, Steffen [1] - Ich bin mir bei dem Begriff bzw. dessen genauer Schreibweise nicht sicher und ich weiss nicht, wie üblich diese Verwendung ist. "salt" ist sicher eindeutiger. -- Dieses Schreiben wurde maschinell erstellt, es trägt daher weder Unterschrift noch Siegel.