[Security] – Protocoles et systèmes d’authentifications, partie 3.3.2 – Protocoles d’authentifications – Digest Authentication

[Security] – Protocoles et systèmes d’authentifications, partie 1 –
Introduction aux systèmes d’authentifications –
http://danstoncloud.com/blogs/jordanlaurent/archive/2013/12/04/security-protocoles-et-syst-232-mes-d-authentifications-partie-1-introduction-aux-syst-232-mes-d-authentifications.aspx

[Security] – Protocoles et systèmes d’authentifications, partie 2 –
Comprendre comment Windows stocke et gère votre identité au sein du réseau
d’entreprise –
http://danstoncloud.com/blogs/jordanlaurent/archive/2013/12/07/security-protocoles-et-syst-232-mes-d-authentifications-partie-2-comprendre-comment-windows-stocke-et-g-232-re-votre-identit-233-au-sein-du-r-233-seau-d-entreprise.aspx

[Security] – Protocoles et systèmes d’authentifications, partie 3.1 –
Protocoles d’authentifications – Local Authentication –
http://danstoncloud.com/blogs/jordanlaurent/archive/2013/12/09/security-protocoles-et-syst-232-mes-d-authentifications-partie-3-1-protocoles-d-authentification-local-authentication.aspx

[Security] – Protocoles et systèmes
d’authentifications, partie 3.2 – Protocoles d’authentifications – Basic
Authentication –
http://danstoncloud.com/blogs/jordanlaurent/archive/2013/12/20/security-protocoles-et-syst-232-mes-d-authentifications-partie-3-2-protocoles-d-authentification-basic-authentication.aspx

[Security] – Protocoles et systèmes d’authentifications,
partie 3.3.1 – Protocoles d’authentification – Introduction aux
Challenge-Response Protocols –
http://danstoncloud.com/blogs/jordanlaurent/archive/2013/12/23/security-protocoles-et-syst-232-mes-d-authentifications-partie-3-3-1-protocoles-d-authentifications-challenge-response-protocols-digest-authentication.aspx

 

Suite des explications sur les protocoles d’authentifications 🙂

 

  • A quoi sert le protocole d’authentification Digest?

L’authentification Digest n’est pas un protocole d’authentification natif dans WindowsLe protocole d’authentification Digest à été conçu pour remplacer l’authentification de base (Basic Authentication – partie 3.2 de cet article). Il est toutefois considéré comme relativement faible parce qu’il fait quelques compromis sur la sécurité avec le serveur d’authentification.

Il est principalement utilisé avec les services IIS (Internet Information Services) pour l’authentification web mais aussi le protocole d’annuaire LDAP (Lightweight Directory Access Protocol).

 

  • Quelle est la séquence brut d’une authentification Digest?
  1. Le serveur d’authentification génère un nombre aléatoire (« nonce« ) et l’envoit au client.
  2. Le client calcule un hash MD5 (Message Digest v5) du nom d’utilisateur, de son mot de passe et du domaine Windows.
  3. Le client calcule un hash MD5 de la méthode et l’URI Digest
  4. Le client calcule un hash MD5 du résultat de l’étape 2, le nonce du serveur , un compteur de requêtes, le nonce client, un code de protection qualité et le résultat de l’étape 3.
  5. Cette valeure finale sera la réponse fournie par le client au serveur d’authentification et le serveur calculera à son tour ces même valeurs pour comparaison.

 

  • Le protocole d’authentification Digest est-il sécurisé?

Dire que l’authentification Digest est plus sécurisé que l’authentification de base est correcte mais la principale préoccupation de l’authentification Digest survient lors de l’étape 2. En effet, la réponse du client est calculé avec le mot de passe réel de l’utilisateur (et non un hash de ce mot de passe). Cela signifie que pour valider la réponse du client, le serveur doit avoir accès au mot de passe en !!texte clair!! (plain text) à l’étape 5.

Si l’utilisation de l’authentification Digest est une nécessité (applicative par exemple), vous devriez configurer votre annuaire Active Directory afin de stocker les mots de passes avec l’option de cryptage réversible – http://danstoncloud.com/blogs/jordanlaurent/archive/2013/12/07/security-protocoles-et-syst-232-mes-d-authentifications-partie-2-comprendre-comment-windows-stocke-et-g-232-re-votre-identit-233-au-sein-du-r-233-seau-d-entreprise.aspx

 

  • Cas réel : Demande d’accès à du contenu renvoyé par un serveur web IIS

  1. Le client effectue une demande d’accès à travers les services IIS à un fichier de l’entreprise.
  2. Le serveur exécutant IIS refuse cette demande et envoie au client les informations ci-dessous,
    1. L’authentification Digest est le protocole d’authentification utilisé
    2. Le nom de domaine de connexion (Active Directory dans notre exemple).
  3. Le navigateur invite alors le client à entrer son nom d’utilisateur et son mot de passe. Ce même navigateur combine ces 2 informations avec le nom de domaine afin de créer le hash MD5 et soumet de nouveau la demande pour le fichier à partir du serveur exécutant IIS avec ce fameux hash!
  4. Une fois ce hash MD5 client reçu, le serveur IIS envoie ce même hash vers un contrôleur de domaine pour vérification.
  5. Ce contrôleur de domaine informe le serveur IIS des résultats d’authentifications.
  6. Le client peut alors accéder au fichier demandé lors de l’étape 1 si la comparaison entre le hash généré par le client et celui stocké sur le contrôleur de domaine sont équivalents.

 

Sources :

DIGEST AUTHENTICATION – RFC 2617 – https://www.ietf.org/rfc/rfc2617.txt

MD5  – RFC 1321 – http://www.ietf.org/rfc/rfc1321.txt


jordanlaurent

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *