Sie sind zurzeit offline. Es wird auf die erneute Herstellung einer Internetverbindung gewartet.

Benutzerauthentifizierung unter Windows NT

Dieser Artikel wurde zuvor veröffentlicht unter D39773
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
102716 User Authentication with Windows NT
Zusammenfassung
In diesem Artikel werden die folgenden Aspekte der Benutzerauthentifizierung erläutert:
  • Speicherung der Kennwörter in der SAM-Datenbank
  • Benutzerauthentifizierung durch das MSV1_0-Authentifizierungspaket
  • Pass-Through-Authentifizierung
Weitere Informationen
SPEICHERUNG DER KENNWÖRTER IN DER SAM-DATENBANK
Benutzerdatensätze werden in der SAM-Datenbank (Security Accounts Manager, Sicherheitskontenverwaltung) gespeichert. Jedem Benutzer sind zwei Kennwörter zugeordnet: das LAN Manager-kompatible Kennwort und das Windows NT-Kennwort. Jedes Kennwort wird doppelt verschlüsselt in der SAM-Datenbank gespeichert. Die erste Verschlüsselung ist eine OWF-Version (One-Way Function, gerichtete Funktion) des nicht verschlüsselten Textes, die im Allgemeinen als nicht entschlüsselbar gilt. Die zweite Verschlüsselung ist eine Verschlüsselung der relativen ID (RID) des Benutzers. Die zweite Verschlüsselung kann von jeder Person entschlüsselt werden, die auf das doppelt verschlüsselte Kennwort, die RID des Benutzers und den Algorithmus zugreifen kann. Die zweite Verschlüsselung wird verwendet, um einen unbefugten Benutzer zu verwirren.
Das LAN Manager-kompatible Kennwort ist zu 100 Prozent mit dem Kennwort kompatibel, das von LAN Manager verwendet wird. Es basiert auf dem OEM-Zeichensatz (Original Equipment Manufacturer, Original-Computerhersteller), ist bis zu 14 Zeichen lang, und die Groß- und Kleinschreibung wird nicht berücksichtigt (was durch die Umwandlung in Großbuchstaben vor der Verschlüsselung erzwungen wird). Die OWF-Version des Kennwortes (als LAN Manager-OWF- oder ESTD-Version bezeichnet) wird berechnet, indem eine Konstante mithilfe der DES-Verschlüsselung mit dem Kennwort in unverschlüsseltem Text verschlüsselt wird. Das LAN Manager-OWF-Kennwort umfasst 16 Byte. Die ersten 7 Byte des unverschlüsselten Kennwortes werden verwendet, um die ersten 8 Byte des LAN Manager-OWF-Kennwortes zu berechnen. Die zweiten 7 Byte des unverschlüsselten Kennwortes werden verwendet, um die zweiten 8 Byte des LAN Manager-OWF-Kennwortes zu berechnen.

Das Windows NT-Kennwort basiert auf dem Unicode-Zeichsatz, es kann bis zu 128 Zeichen umfassen, und die Groß- und Kleinschreibung wird berücksichtigt. Die OWF-Version (als Windows NT-OWF-Kennwort bezeichnet) wird mithilfe des RSA MD-4-Verschlüsselungsalgorithmus berechnet. Dieser Algorithmus berechnet aus den Bytes des unverschlüsselten Kennwortes, das in Form einer Zeichenfolge variabler Länge vorliegt, ein 16 Byte umfassendes "Extrakt".

Für einzelne Benutzerkonten kann entweder das LAN Manager- oder das Windows NT-Kennwort fehlen; es wird jedoch auf jeden Fall versucht, beide Versionen des Kennwortes zu speichern. Die Windows NT-Version des Kennwortes fehlt z.B. dann, wenn das Benutzerkonto mittels PortUas von einer LAN Manager-UAS-Datenbank portiert wurde oder wenn das Kennwort von einem Client unter LAN Manager oder Windows für Workgroups aus geändert wurde. Die LAN Manager-Version des Kennwortes fehlt dann, wenn das Kennwort von einem Client unter Windows NT aus festgelegt oder geändert wurde und wenn das Kennwort nicht über eine LAN Manager-Darstellung verfügt (d.h., wenn es mehr als 14 Zeichen umfasst oder die Zeichen nicht im OEM-Zeichensatz dargestellt werden können). Durch die Beschränkungen der vorhandenen Benutzeroberflächen ist es nicht möglich, dass ein Windows NT-Kennwort mehr als 14 Zeichen umfasst. Die Bedeutung dieser Beschränkung wird weiter unten erläutert.

ANMERKUNG: Microsoft bietet keine Unterstützung für die manuelle oder programmgesteuerte Änderung der SAM-Datenbank.

BENUTZERAUTHENTIFIZIERUNG DURCH MSV1_0-AUTHENTIFIZIERUNGSPAKET
Die Benutzerauthentifizierung in Windows NT erfolgt immer mithilfe der API "LsaLogonUser". Die Authentifizierung der Benutzer mit "LsaLogonUser" erfolgt, indem ein Authentifizierungspaket aufgerufen wird. Windows NT enthält standardmäßig das MSV1_0-Authentifizierungspaket. Das MSV-Authentifizierungspaket verwendet die SAM-Datenbank als seine Datenbank mit Benutzerinformationen und unterstützt mithilfe des Anmeldedienstes die Pass-Through-Authentifizierung der Benutzer in anderen Domänen.

Intern ist das MSV-Authentifizierungspaket in zwei Hälften aufgeteilt: eine obere und eine untere Hälfte. Die obere Hälfte wird auf dem Computer ausgeführt, an dem die Anmeldung erfolgte (oder zu dem die Verbindung hergestellt wurde). Die untere Hälfte wird auf dem Computer ausgeführt, auf dem sich das Benutzerkonto befindet. Wenn es sich bei diesen Computern um denselben Computer handelt, ruft die obere Hälfte des MSV-Authentifizierungspakets einfach die untere Hälfte auf, ohne dass der Anmeldedienst einbezogen wird. Wenn die obere Hälfte des MSV-Authentifizierungspakets feststellt, dass eine Pass-Through-Authentifizierung erforderlich ist (abgeleitet aus der Tatsache, dass der übergebene Domänenname nicht dem eigenen Domänennamen entspricht), übergibt MSV die Anforderung an den Anmeldedienst, der die Anforderung an den Anmeldedienst auf dem entsprechenden Computer weiterleitet. Dieser wiederum übergibt die Anforderung an die untere Hälfte des MSV-Authentifizierungspakets auf diesem Computer.

"LsaLogonUser" unterstützt interaktive Anmeldungen, Dienstanmeldungen und Netzwerkanmeldungen. Alle Anmeldeformen, die über das MSV-Authentifizierungspaket erfolgen, übergeben den Namen der Domäne, die das Benutzerkonto enthält, den Namen des Benutzerkontos und eine Funktion des Benutzerkennwortes. Die unterschiedlichen Anmeldeformen unterscheiden sich insofern, als sie für die Kennwortübergabe an "LsaLogonUser" unterschiedliche Darstellungen des Kennwortes verwenden.

Bei interaktiven und Dienstanmeldungen befindet sich der Client, der sich anmeldet, physisch auf demselben Computer, auf dem auch die obere Hälfte des MSV-Authentifizierungspakets ausgeführt wird. In diesem Fall wird das unverschlüsselte Kennwort an "LsaLogonUser" und an die obere Hälfte des MSV-Authentifizierungspakets übergeben. Die obere Hälfte des MSV-Authentifzierungspakets konvertiert das unverschlüsselte Kennwort in ein LAN Manager-OWF-Kennwort und in ein Windows NT-OWF-Kennwort, bevor es entweder an den Anmeldedienst oder an die untere Hälfte des Pakets übergeben wird. Die untere Hälfte fragt die OWF-Kennwörter von der SAM-Datenbank ab und vergleicht anschließend die OWF-Kennwörter, um sicherzustellen, dass sie übereinstimmen.

Bei Netzwerkanmeldungen erhielt der Client, der die Verbindung herstellte, zuvor eine 16 Byte umfassende Herausforderung (auch "Nonce" genannt). Wenn es sich bei dem Client um einen Client unter LAN Manager handelt, berechnete dieser eine 24 Byte umfassende Herausforderungsrückmeldung, indem er die 16 Byte umfassende Herausforderung mit dem 16 Byte umfassenden LAN Manager-OWF-Kennwort verschlüsselt. Dies ist der Algorithmus, der von LAN Manager verwendet wird. Der Client unter LAN Manager übergibt diese "LAN Manager-Herausforderungsrückmeldung" an den Server unter Windows NT. Wenn es sich bei dem Client um einen Client unter Windows NT handelt, berechnete der Client, wie zuvor, eine LAN Manager-Herausforderungsrückmeldung. Darüber hinaus berechnet der Client unter Windows NT eine "Windows NT-Herausforderungsrückmeldung", indem er einen identischen Algorithmus verwendet, anstelle des LAN Manager-OWF-Kennwortes jedoch das Windows NT-OWF-Kennwort einsetzt. Der Client unter Windows NT übergibt dann sowohl die LAN Manager-Herausforderungsrückmeldung als auch die Windows NT-Herausforderungsrückmeldung an den Server unter Windows NT. In beiden Fällen authentifiziert der Server unter Windows NT den Benutzer, indem alle der folgenden Informationen an "LsaLogonUser" übergeben werden: der Domänenname, der Benutzername, die ursprüngliche Herausforderung, die LAN Manager-Herausforderungsrückmeldung und die optionale Windows NT-Herausforderungsrückmeldung. Die obere Hälfte des MSV-Authentifizierungspakets übergibt diese Informationen unverändert an die untere Hälfte des Pakets. Die untere Hälfte fragt die OWF-Kennwörter von der SAM-Datenbank ab, berechnet die entsprechenden Herausforderungsrückmeldungen mithilfe der OWF-Kennwörter aus der SAM-Datenbank und der an sie übergebenen Herausforderung und vergleicht dann die berechnete Herausforderungsrückmeldung mit der übergebenen Herausforderungsrückmeldung.

Wie zuvor erwähnt, kann entweder das Windows NT-Kennwort oder das LAN Manager-Kennwort in der SAM-Datenbank fehlen. Ebenso kann entweder das Windows NT-Kennwort (oder eine Funktion dieses Kennwortes) oder das LAN Manager-Kennwort im Aufruf von "LsaLogonUser" fehlen. In diesem Absatz wird beschrieben, welche Kennwörter in welchen Situationen verglichen werden. Wenn sowohl die Windows NT-Version des Kennwortes aus der SAM-Datenbank als auch die Windows NT-Version des Kennwortes von "LsaLogonUser" verfügbar sind, werden beide verwendet. Andernfalls wird die LAN Manager-Version des Kennwortes für den Vergleich verwendet. Diese Regel ermöglicht es, dass die Berücksichtigung der Groß- und Kleinschreibung erzwungen wird, wenn der Vergleich zwischen Windows NT-Kennwörtern erfolgt; darüber hinaus ermöglicht sie die Abwärtskompatibilität.

PASS-THROUGH-AUTHENTIFIZIERUNG
Die Pass-Through-Authentifizierung wird durch den Anmeldedienst implementiert. Er übernimmt in diesem Zusammenhang drei Funktionen: Auswählen der Domäne, an die die Authentifizierungsanforderung übergeben wird, Auswählen des Servers innerhalb der Domäne und Übergeben der Authentifizierungsanforderung an den ausgewählten Server.

Die Auswahl der Domäne ist unproblematisch. Der Domänenname wird an "LsaLogonUser" übergeben. Der Domänenname wird wie folgt verarbeitet:
  • Wenn der Domänenname dem Namen der SAM-Datenbank entspricht, wird die Authentifizierung auf diesem Computer verarbeitet. Von dem Namen der SAM-Datenbank auf einer Arbeitsstation unter Windows NT, die Mitglied einer Domäne ist, wird angenommen, dass er dem Namen des Computers unter Windows NT entspricht. Der Name der SAM-Datenbank auf einem Server unter Windows NT Advanced Server entspricht dem Namen der Domäne. Alle Anmeldungen an Computer unter Windows NT, die nicht Mitglied einer Domäne sind, verarbeiten Anforderungen lokal.
  • Wenn der Name einer Domäne angegeben wird, der die aktuelle Domäne vertraut, wird die Authentifizierungsanforderung an die vertraute Domäne übergeben. Unter Windows NT Advanced Server ist die Liste der vertrauten Domänen jederzeit verfügbar, so dass dieser Vergleich sehr einfach ist. Auf einer Arbeitsstation unter Windows NT wird die Anforderung immer an die primäre Domäne der Arbeitsstation übergeben. Auf diese Weise kann die primäre Domäne ermitteln, ob es sich bei der angegebenen Domäne um eine vertraute Domäne handelt.
  • Wenn der Name einer Domäne angegeben wird, dem die aktuelle Domäne nicht vertraut, wird die Authentifizierungsanforderung auf dem Computer, zu dem die Verbindung hergestellt wurde, so verarbeitet, als wenn es sich bei dem angegebenen Domänennamen um den Namen dieser Domäne handle. Der Anmeldedienst unterscheidet nicht zwischen einer nicht vorhandenen Domäne, einer nicht vertrauten Domäne oder einem fehlerhaft eingegebenen Domänennamen.
Einige Netzwerkclients geben keinen Domänennamen an. Zu diesen Clients zählen Windows für Workgroups 3.1 und LAN Manager OS/2, Version 2.2. Für LAN Manager OS/2 2.2 ist ein Patch verfügbar, durch den die Übergabe eines Domänennamens veranlasst wird. Eine Arbeitsstation unter Windows NT verarbeitet diesen NULL-Domänennamen, indem überprüft wird, ob das Konto lokal vorhanden ist. Ist dies der Fall, wird die Anforderung lokal verarbeitet. Andernfalls wird die Anforderung an die primäre Domäne übergeben. Ein Computer unter Windows NT Advanced Server überprüft ebenfalls, ob das Konto lokal vorhanden ist. Wenn dies der Fall ist, wird die Anforderung lokal verarbeitet. Andernfalls versucht der Computer unter Windows NT Advanced Server, herauszufinden, ob das Konto in einer vertrauten Domäne verfügbar ist. Diese Prüfung erfolgt, indem eine Mailslotnachricht zweiter Klasse an jede vertraute Domäne gesendet wird. Jede vertraute Domäne antwortet und gibt dabei an, ob das angegebene Konto in ihr definiert ist. Die Anforderung wird an die erste Domäne übergeben, die eine positive Anwort sendet. Wenn keine Domäne das Vorhandensein des angegebenen Kontos bestätigt, wird diese NULL-Domäne als nicht vertraute Domäne behandelt (wie zuvor beschrieben wurde). Wenn mehr als eine Domäne eine positive Antwort sendet, wird nur die erste Antwort verwendet. (Dies stellt ein wichtiges Argument für die Aktualisierung von Clients, die NULL-Domänennamen übergeben, sowie für die Verwendung eines einzigen Kontos pro Benutzer im Unternehmen dar.)

Mit einem Verfahren, das als "Discovery" (Entdeckung) bezeichnet wird, wählt der Anmeldedienst einen Server in der Domäne aus. Eine Arbeitsstation unter Windows NT "entdeckt" den Namen eines der Server unter Windows NT Advanced Server in seiner primären Domäne. Ein Computer unter Windows NT Advanced Server "entdeckt" den Namen eines Servers unter Windows NT Advanced Server in jeder vertrauten Domäne.

Bei der Pass-Through-Authentifizierung handelt es sich im Grunde um nichts anderes als den Aufruf der API "I_NetLogonSamLogon" über einen sicheren Kanal. Wenn es sich bei den Anmeldeaufruf um eine interaktive Anmeldung handelt, verschlüsselt der Anmeldedienst die OWF-Kennwörter mit dem Sitzungsschlüssel des sicheren Kanals, bevor sie an die untere Hälfte des MSV-Authentifizierungspakets übergeben werden.

Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.

kbother
Eigenschaften

Artikelnummer: 102716 – Letzte Überarbeitung: 08/19/2003 12:42:00 – Revision: 1.1

  • Microsoft Windows NT Advanced Server 3.1
  • Microsoft Windows NT Workstation 3.1
  • Microsoft Windows NT Advanced Server 3.1
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
  • kbother KB102716
Feedback
script>