NTLM認証とは?
NTLM認証とは、Microsoftが開発したネットワーク認証プロトコルの一つです。NT LAN Manager authenticationとも呼ばれ、Windowsシステムにおいて、ユーザーの認証やセキュリティの機能を提供します。
基本概念
NTLM認証は、ユーザー名とパスワードを使って認証を行います。クライアントからサーバーにユーザー名とパスワードを送信し、サーバーはその情報を使ってユーザーを認証します。
NTLM認証は、MD4ハッシュアルゴリズムを使用して、ユーザーのパスワードを暗号化します。また、セキュリティ強化のために、通信内容を暗号化することもできます。
仕組み
NTLM認証の仕組みは、大きく分けて以下の3つのステップに分かれます。
1. Negotiation
クライアントがサーバーに接続すると、Negotiationと呼ばれるフェーズが開始されます。クライアントはサポートしている認証プロトコルのリストをサーバーに送信し、サーバーはその中から最も強力なプロトコルを選択します。
2. Challenge-Response
サーバーはランダムな文字列を生成し、Challengeと呼ばれるものとしてクライアントに送信します。クライアントはそのChallengeに対して、自分のユーザー名とパスワードを使ってレスポンスを生成し、サーバーに送信します。サーバーはそのレスポンスを検証し、正しい場合には認証を許可します。
3. Session Setup
認証が成功すると、セッションが開始されます。セッションでは、クライアントとサーバーはセキュアな通信を行うために、セッションキーを交換して暗号化通信を行います。
以上が、NTLM認証の基本的な仕組みです。
まとめ
NTLM認証は、Windowsシステムにおいて、ユーザーの認証やセキュリティの機能を提供するためのプロトコルです。ユーザー名とパスワードを使って認証を行い、MD4ハッシュアルゴリズムを使用してパスワードを暗号化します。セッションでは、セッションキーを使ってセキュアな通信を行います。