IIS предлага много различни технологии за автентикация. Един от тях е интеграцията на Windows автентикацията. Интегрираната Windows автентикация използва договарящи Kerberos или NTLM за удостоверяване на потребителите въз основа на криптирани тикети съобщения, предавани между браузъра и сървъра.
Най-често срещаният сценарий на NTLM автентикация вероятно е удостоверяването, използвано в браузърите (http протокол). Но в действителност NTLM определя само процеса на удостоверяване и формата на съобщението за автентикация. Тя не е свързана с конкретни споразумения. Така че няма непременно връзка с http. Браузърът пренася NTLM съобщението само в заглавието на http протокола и предава автентикацията. Знаем, че http обикновено е в открит текст, така че ако директното предаване на пароли е много несигурно, NTLM ефективно предотвратява този проблем.
Процес на сертифициране
NTLM автентикацията изисква три стъпки за завършване и можете да видите подробния процес на заявка чрез Fiddler toolbox.
Стъпка 1
Потребителят влиза в клиентския хост, като въвежда номера на Windows акаунта и паролата. Преди влизане клиентът кешира хеша на въведената парола и оригиналната парола се изхвърля ("оригиналната парола не може да бъде кеширана при никакви обстоятелства", това е основно правило за сигурност). Потребител, който успешно влезе в клиента на Windows, трябва да изпрати заявка към другата страна, ако се опита да достъпи сървърни ресурси. Заявката съдържа потребителско име в обикновен текст.
Стъпка 2
Когато сървърът получи заявката, той генерира 16-битов случаен номер. Това случайно число се нарича предизвикателство или нонс. Предизвикателството се запазва преди сървърът да го изпрати на клиента. Предизвикателствата се изпращат в открит текст.
Стъпка 3
След като получи предизвикателството, изпратено обратно от сървъра, клиентът го криптира с хеша на паролата, запазен в стъпка 1, и след това изпраща криптираното предизвикателство към сървъра.
Стъпка 4
След като получи криптираното предизвикателство, изпратено обратно от клиента, сървърът изпраща заявка за автентикация към клиента към DC (Домейн). Заявката включва основно следните три съдържания: потребителско име на клиента; Предизвикателство и оригинално предизвикателство с криптиран клиентски паролен хеш.
Стъпки 5 и 6
DC криптира първоначалното предизвикателство, като получава хеша на паролата на акаунта въз основа на потребителското име. Ако криптираното предизвикателство е същото като това, изпратено от сървъра, това означава, че потребителят има правилната парола и проверката минава, в противен случай проверката се проваля. DC изпраща резултатите от верификацията към сървъра и накрая връща обратно към клиента.
Референтни статии:
Входът към хиперлинк е видим.
Входът към хиперлинк е видим.
Входът към хиперлинк е видим.
|