Windows環境では、NTLM(NT LAN Manager)とKerberosの2つの認証プロトコルが主に利用される。 Windows 2000以降はKerberos認証が推奨になっているが、未だによく見るNTLM認証の動きを整理する
NTLMはいわゆるチャレンジ、レスポンス方式で、チャレンジといわれるランダムデータを元にパスワード値を組み合わせて計算し、クライアント側とサーバ側でその比較をおこなうことで認証要求の正当性を判断する。
NTLM Flow
1.クライアントからサーバ側へ認証をリクエストする
2.認証リクエストを受けてチャレンジデータを生成、クライアントに送信する
3.入力したパスワードとサーバから受けたチャレンジデータを掛け合わせてレスポンスを生成し、サーバ側に送信する
4.一方、サーバ側でも生成したチャレンジデータと保存されたパスワードからレンスポンスを計算しておく
5.サーバ側で計算したレスポンスと、クライアントから送付されたレスポンスを比較する
6.5が一致している場合、認証の許可をクライアントに応答する
7.ログオンを実行する
なお、サーバサイドでNTLM認証でログインしたかどうかは、Windows EventのSecurity Logで判断できる。