Delen via


Microsoft NTLM

Windows Challenge/Response (NTLM) is het verificatieprotocol dat wordt gebruikt in netwerken met systemen met het Windows-besturingssysteem en op zelfstandige systemen.

Het Beveiligingspakket van Microsoft Kerberos voegt meer beveiliging toe dan NTLM aan systemen in een netwerk. Hoewel Microsoft Kerberos- het gewenste protocol is, wordt NTLM nog steeds ondersteund. NTLM moet ook worden gebruikt voor aanmeldingsverificatie op zelfstandige systemen. Zie Microsoft Kerberos-voor meer informatie over Kerberos.

NTLM-referenties zijn gebaseerd op gegevens die zijn verkregen tijdens het interactieve aanmeldingsproces en bestaan uit een domeinnaam, een gebruikersnaam en een eenrichtings-hash- van het wachtwoord van de gebruiker. NTLM maakt gebruik van een versleuteld challenge/response-protocol om een gebruiker te verifiëren zonder het wachtwoord van de gebruiker via de kabel te verzenden. In plaats daarvan moet het systeem dat verificatie aanvraagt een berekening uitvoeren die bewijst dat het toegang heeft tot de beveiligde NTLM-referenties.

Interactieve NTLM-verificatie via een netwerk omvat meestal twee systemen: een clientsysteem, waarbij de gebruiker verificatie aanvraagt en een domeincontroller, waarbij informatie met betrekking tot het wachtwoord van de gebruiker wordt bewaard. Niet-actieve verificatie, die mogelijk vereist is om een al aangemelde gebruiker toegang te geven tot een resource, zoals een servertoepassing, omvat meestal drie systemen: een client, een server en een domeincontroller die de verificatieberekeningen namens de server uitvoert.

De volgende stappen bevatten een overzicht van niet-interactieve NTLM-verificatie. De eerste stap biedt de NTLM-referenties van de gebruiker en vindt alleen plaats als onderdeel van het interactieve verificatieproces (aanmelding).

  1. (Alleen interactieve verificatie) Een gebruiker heeft toegang tot een clientcomputer en biedt een domeinnaam, gebruikersnaam en wachtwoord. De client berekent een cryptografische hash van het wachtwoord en negeert het werkelijke wachtwoord.

  2. De client verzendt de gebruikersnaam naar de server (in plaintext).

  3. De server genereert een willekeurig getal van 8 bytes, een zogenaamde uitdaging of niet-, en verzendt het naar de client.

  4. De client versleutelt deze uitdaging met de hash van het wachtwoord van de gebruiker en retourneert het resultaat naar de server. Dit wordt het antwoordgenoemd.

  5. De server verzendt de volgende drie items naar de domeincontroller:

    • Gebruikersnaam
    • Uitdaging verzonden naar de client
    • Antwoord ontvangen van de client
  6. De domeincontroller gebruikt de gebruikersnaam om de hash van het wachtwoord van de gebruiker op te halen uit de Security Account Manager-database. Deze wachtwoord-hash wordt gebruikt om de uitdaging te versleutelen.

  7. De domeincontroller vergelijkt de versleutelde uitdaging die deze heeft berekend (in stap 6) met het antwoord dat door de client is berekend (in stap 4). Als ze identiek zijn, is verificatie geslaagd.

Uw toepassing mag geen toegang krijgen tot het NTLM-beveiligingspakket rechtstreeks; In plaats daarvan moet het Negotiate-beveiligingspakket worden gebruikt. Met onderhandelen kan uw toepassing profiteren van geavanceerdere beveiligingsprotocollen als ze worden ondersteund door de systemen die betrokken zijn bij de verificatie. Momenteel selecteert het beveiligingspakket onderhandelen tussen Kerberos- en NTLM. Onderhandelen selecteert Kerberos, tenzij deze niet kan worden gebruikt door een van de systemen die betrokken zijn bij de verificatie.