Comprensione dell'autenticazione NTLM passo dopo passo

4

Stavo leggendo questo link su Autenticazione e autorizzazione ASP.Net e questi 5 passaggi erano lì a spiegare l'autenticazione NTLM.

  1. Il client invia nome utente e password al server.

  2. Il server invia una sfida.

  3. Il cliente risponde alla sfida con un risultato di 24 byte.
  4. I server verificano se la risposta viene calcolata correttamente contattando il controller di dominio.
  5. Se tutto è corretto, garantisce la richiesta.

Domande:

  1. Non sono in grado di capire cosa succede dopo che il client ha inviato nome utente e password. Soprattutto le parole "sfida" e "risultato a 24 byte"
  2. Quale metodo di crittografia sta inviando nome utente / password al server?
posta one 12.07.2016 - 10:31
fonte

1 risposta

8

Ecco la dicitura di fonte ufficiale :

The following steps present an outline of NTLM noninteractive authentication. The first step provides the user's NTLM credentials and occurs only as part of the interactive authentication (logon) process.

  1. (Interactive authentication only) A user accesses a client computer and provides a domain name, user name, and password. The client computes a cryptographic hash of the password and discards the actual password.
  2. The client sends the user name to the server (in plaintext).
  3. The server generates a 16-byte random number, called a challenge or nonce, and sends it to the client.
  4. The client encrypts this challenge with the hash of the user's password and returns the result to the server. This is called the response.
  5. The server sends the following three items to the domain controller:
    • User name
    • Challenge sent to the client
    • Response received from the client
  6. The domain controller uses the user name to retrieve the hash of the user's password from the Security Account Manager database. It uses this password hash to encrypt the challenge.
  7. The domain controller compares the encrypted challenge it computed (in step 6) to the response computed by the client (in step 4). If they are identical, authentication is successful.

Quindi la sfida è un messaggio generato dal server che viene crittografato con l'hash della password dell'account dal client e dalla DC e confrontato su DC.

I metodi di crittografia sono variabili tra le versioni di NTLM e le diverse impostazioni del server.

Ecco un po 'di Wikipedia :

Both LMv2 and NTv2 hash the client and server challenge with the NT hash of the user's password and other identifying information. The exact formula is to begin with the NT Hash, which is stored in the SAM or AD, and continue to hash in, using HMAC-MD5, the username and domain name.

    
risposta data 12.07.2016 - 11:03
fonte

Leggi altre domande sui tag