none
Win2008 Server, AD-LDS (ADAM), Format des Attributes "userPasswort"

    Frage

  • Hallo.

    Schon länger bin ich auf der Suche nach Informationen, welche Verschlüsselungen (Hash-Formate) das Attribut userPassword im AD-LDS/ADAM unterstützt. Immer wieder wird auf RFC2307 verwiesen, aber da stehen eher allgemeine Dinge, und es sieht so aus als ob nur MD5 und SHA1 gültig sind.

    Ich habe bereits versucht, das Passwort als SHA512 und SHA256 zu speichern, aber der Bind Versuch danach schlägt fehl. (Selbst das einfache SHA1 klappte nicht)

    Ich speichere das verschlüsselte Passwort Base64 kodiert (den Wert habe ich schon geprüft, er müsste stimmen), mit dem Präfix {SHA512} bzw. {SHA256}.
    Das Passwort "secret" sieht z.B. so aus:
    {SHA256}K7gNU3sdo+OL0wNhqoVWhr3g6s1xYv72ol/pe/Unols=

    Wer kann mir folgende konkrete Fragen beantworten, oder mir einen Link zu DEM aussagekräftigen Dokument geben:

    1. Wenn ich nur das Präfix {SHA} verwende (so wie es im RFC2307 steht), bedeutet dies automatisch dass nur SHA-1 Verschlüsselung akzeptiert wird, oder enthält AD-LDS einen Algorithmus der dann erkennt, um welche Unterart es sich handelt?

    2. Gibt es eine Übersicht, welche Verschlüsselungen von AD-LDS (Win 2008 R2) überhaupt unterstützt werden?

    3. Gibt es auch Unterstützung für "salted" Varianten (SSHA, salted SHA-256)? Wenn ja, wo wird dann der Salt-Wert gespeichert, den man zum Validieren ja wieder benötigt?

    4.) Gibt es andere Möglichkeiten, die Richtigkeit des gespeicherten Passwortes zu testen, als per LDAP ein Bind mit dem entsprechenden User-DN und dem Passwort durchzuführen? (Ich glaube ich kenne die Antwort: Nein)


    Hintergrund: Ich hole Daten aus diversen Quellen, und speichere sie im AD-LDS. U.a. hole ich ein Passwort aus einer SQL Datenbank (natürlich dort verschlüsselt mit AES), um es im AD-LDS im Attribut "userPasswort" als Hash zu speichern. Das AD-LDS wird dann von einem anderen Anbieter für eine SSO Lösung benutzt. Selbiger Anbieter macht aber keine Angaben zum Format, sondern sagt mir immer nur, dass es das speichernde System (also AD-LDS) ist, welches die mögliche Verschlüsselung bestimmt.

    Viele Grüsse
    Heiko
    Donnerstag, 23. Juni 2011 13:27

Antworten

  • Tja, da werde ich mir mal selber antworten. Nach vielen Versuchen bin ich zu dem Schluss gekommen, dass AD-LDS nur seine eigene, interne Verschlüsselung hat. Das Attribut "userPasswort" lässt sich zwar auf verschiedene Weise füllen und auch ohne Fehler schreiben, ein anschliessendes Bind mit dem Tool LDP bringt aber nur Fehler. Einzig das Passwort im Klartext und den Policies entsprechend brachte Erfolg.

    Ich habe zwar trotzdem irgendwie das dumpfe Gefühl, dass das Passwort nur im Klartext gespeichert ist, aber im Normalfall ist eh kein Rankommen an dieses Attribut. Und es gibt einfach keine Informationen, die das Thema so ausführlich beschreiben wie ich es wünschte - vermutlich mit Absicht.

     


    Donnerstag, 18. August 2011 15:26