Az IIS számos különböző hitelesítési technológiát kínál. Az egyik ilyen a Windows hitelesítés integrációja. Az integrált Windows hitelesítés a Kerberos vagy NTLM tárgyalási rendszert használja arra, hogy a böngésző és a szerver között továbbított titkosított jegyüzenetek alapján hitelesítse a felhasználókat.
Az NTLM hitelesítés leggyakoribb alkalmazási helyzete valószínűleg a böngészőkben használt hitelesítés (http protokoll). Valójában azonban az NTLM csak a hitelesítési folyamatot és a hitelesítési üzenet formátumát határozza meg. Ez nem kapcsolódik konkrét megállapodásokhoz. Tehát nincs feltétlenül kapcsolat a http-vel. A böngésző csak az NTLM üzenetet viszi a http protokoll fejlécén, és átadja a hitelesítést. Tudjuk, hogy a http általában tiszta szövegben van, így ha a jelszavak közvetlen továbbítása nagyon veszélyes, az NTLM hatékonyan megakadályozza ezt a problémát.
Tanúsítási folyamat
Az NTLM hitelesítéshez három lépés szükséges, és a részletes kérési folyamatot a Fiddler Toolbox segítségével megtekintheted.
1. lépés
A felhasználó bejelentkezik az ügyfél hasztgépbe a Windows fiókszám és jelszó beírásával. Bejelentkezés előtt a kliens gyorsítótárba helyezi a beírt jelszó hash-jét, és az eredeti jelszót eldobja ("az eredeti jelszót semmilyen körülmények között nem lehet gyorstárazni", ez egy alapvető biztonsági irányelv). A felhasználónak, aki sikeresen bejelentkezik a Windows kliensbe, kérést kell küldenie a másik félnek, ha megpróbál hozzáférni a szerver erőforrásaihoz. A kérés tiszta szövegben található felhasználónév.
2. lépés
Amikor a szerver megkapja a kérést, egy 16 bites véletlenszámot generál. Ezt a véletlenszámot kihívásnak vagy nonce-nak nevezik. A kihívást elmentik, mielőtt a szerver elküldené a kliensnek. A kihívásokat szó szerint küldik.
3. lépés
Miután a szerver visszaküldte a kihívást, az ügyfél titkosítja azt az 1. lépésben tárolt jelszó hash-jével, majd elküldi a titkosított kihívást a szervernek.
4. lépés
Miután a kliens visszaküldte a titkosított kihívást, a szerver hitelesítési kérelmet küld a kliensnek a DC-hez (Domain). A kérés főként a következő három tartalmat tartalmazza: kliens felhasználónév; Kihívás és eredeti kihívás titkosított kliens jelszó hash-tel.
5. és 6. lépés
A DC titkosítja az eredeti kihívást azzal, hogy megszerzi a fiók jelszó hash-jét a felhasználónév alapján. Ha a titkosított kihívás megegyezik a szerver által küldött kihívással, az azt jelenti, hogy a felhasználónak van helyes jelszava, és az ellenőrzés átmegy, különben a hitelesítés megbukik. A DC elküldi az ellenőrző eredményeket a szervernek, majd végül visszaadja az ügyfélnek.
Referencia cikkek:
A hiperlink bejelentkezés látható.
A hiperlink bejelentkezés látható.
A hiperlink bejelentkezés látható.
|