NTLM認証(エヌティーエルエムにんしょう)とは | 意味や読み方など丁寧でわかりやすい用語解説
NTLM認証(エヌティーエルエムにんしょう)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。
読み方
日本語表記
エヌティーエルエム認証 (エヌティーエルエムにんしょう)
英語表記
NTLM authentication (エヌティーエルエム オゥセンティケイション)
用語解説
NTLM認証は、主にWindows環境で利用される認証プロトコルの一つである。その名称は「NT LAN Manager」に由来し、マイクロソフトが開発したWindows NTオペレーティングシステムの初期バージョンで標準的に用いられた。現在では、より安全で高機能なKerberos認証が主流となっているが、NTLM認証も特定の環境や互換性のために依然として使われている。これは、ユーザー名とパスワードをネットワーク上に直接平文で送信せず、チャレンジ&レスポンスという方式を用いて認証を行う点が特徴である。パスワード自体がネットワーク上を流れるリスクを低減し、盗聴によるパスワード漏洩を防ぐことを目的としている。しかし、後述するセキュリティ上の課題も抱えており、可能な限りKerberos認証への移行が推奨されている。
NTLM認証の仕組みは、クライアントとサーバー間の3段階のハンドシェイクによって行われる。第一段階として、クライアントはサーバーに対して認証を要求する。この際、クライアントは認証に利用できるプロトコルの一覧をサーバーに通知する。第二段階で、サーバーはクライアントからの認証要求を受け取ると、ランダムな数値である「チャレンジ」を生成し、これをクライアントに送信する。このチャレンジ値は、その都度異なる値が生成されるため、認証の度に一意の検証が可能となる。第三段階では、クライアントが自身のパスワードから生成したハッシュ値と、サーバーから受け取ったチャレンジ値を用いて特定の計算を行い、「レスポンス」と呼ばれる値を生成する。このレスポンスをクライアントはサーバーへ送信する。サーバー側では、クライアントのユーザー名に対応するパスワードハッシュ値を自身のデータベース(例えばActive Directoryのデータベース)から取得し、受け取ったチャレンジ値とこのパスワードハッシュ値を用いて同様の計算を行う。そして、クライアントから送られてきたレスポンスと、自身で計算したレスポンスが一致するかどうかを比較することで、クライアントが正当なユーザーであるかを検証する。この方式により、実際のパスワードそのものがネットワーク上を流れることなく認証が完了する。
NTLM認証には、いくつかのバージョンが存在する。初期のバージョンであるLAN Manager認証(LM認証)は、パスワードのハッシュ化にMD4ベースの強度の低いアルゴリズムを使用しており、パスワードを簡単に推測される脆弱性があった。これを改善したのがNTLMv1認証である。NTLMv1はLM認証に比べてセキュリティが向上したが、さらに「NTLMv2」や「NTLM2 Session Security」といったバージョンが開発され、セキュリティが強化された。これらの新しいバージョンでは、チャレンジとレスポンスの計算方法がより複雑になり、ハッシュ化アルゴリズムも強化されることで、リプレイ攻撃やオフライン攻撃に対する耐性が向上している。特にNTLMv2は、クライアントとサーバーの両方でより安全な方式を使用するように設計されており、現在利用可能なNTLM認証プロトコルの中では最も堅牢であると考えられている。
しかし、これらの改良にもかかわらず、NTLM認証にはいくつかのセキュリティ上の課題が残されている。一つは、パスワードハッシュ値に対するオフライン攻撃の脆弱性である。ネットワークを監視してキャプチャされたNTLMの認証情報を不正に入手した場合、攻撃者はこの情報からオフラインでパスワードを推測しようと試みることができる。特に、パスワードハッシュ自体は比較的強固であっても、辞書攻撃やブルートフォース攻撃、レインボーテーブル攻撃といった手法により、脆弱なパスワードは破られる可能性がある。もう一つの大きな課題は、「リレー攻撃」(パスザハッシュ攻撃とも呼ばれる)に対する脆弱性である。これは、攻撃者が正規のクライアントとサーバーの間に介入し、クライアントから得た認証情報を別のサーバーへの認証に「リレー(中継)」することで、正規のユーザーとして振る舞う攻撃である。NTLM認証はクライアントとサーバー間の相互認証機能がKerberosに比べて弱く、このような中間者攻撃の標的になりやすい。
現在、Windowsドメイン環境ではKerberos認証が主要な認証プロトコルとして推奨されている。Kerberos認証は、チケットベースの認証システムを採用し、シングルサインオン機能、相互認証、より強力な暗号化アルゴリズムなど、NTLM認証に比べて多くのセキュリティ上の利点と機能を提供する。NTLM認証は、Active Directoryドメインコントローラーが存在しないワークグループ環境や、Kerberos認証に対応していない古いシステム、非Windows環境との連携など、特定の互換性要件がある場合に限定的に利用されることが多い。しかし、セキュリティリスクを最小限に抑えるためには、可能な限りNTLM認証の使用を避け、Kerberos認証への移行や、より現代的な認証プロトコルの導入を検討することが、システム管理者にとって重要な課題となる。