NTLM認証 【NT LAN Manager authentication】

概要

NTLM認証(NT LAN Manager authentication)とは、Windowsネットワークで標準的に用いられた利用者認証方式の一つ。1993年に従来のLM認証(LAN Manager認証)に代えてWindows NT 3.1で導入されたもので、Windows 2000以降はKerberos(ケルベロス)認証が標準となったが、Kerberosが使えない状況などでその後も広く利用され続けた。

企業内ネットワークなどで利用者アカウント情報を集中管理しているドメインコントローラログオンしたり、共有フォルダ共有プリンタなどにアクセスする際の認証方式として使われる。

仕様の策定から時間が経ち、DESMD5など現在では十分安全とは言えなくなっている技術を含むため、同社はインターネットなど信頼できない経路を含む環境ではなるべく使用せず、最新の方式が利用できる環境へ更新するよう呼びかけている。

NTLM認証ではパスワードなどの秘密の情報通信回線にそのまま流すことはせず、チャレンジ/レスポンス認証と呼ばれる方式を利用する。クライアントサーバ認証の開始を申請すると、サーバ乱数を元に決めた毎回異なるランダムなデータ(チャレンジ)を送る。

クライアントパスワードとチャレンジを組み合わせたものをハッシュ関数を通してハッシュ値レスポンス)に変換し、サーバに送り返す。サーバは手元の正しいパスワードから同様のハッシュ値を算出し、レスポンスに一致していれば認証成功となる。

一連の過程でパスワードそのものは送受信されておらず、悪意の第三者が盗聴することはできない。チャレンジやレスポンスを盗聴してもパスワードを割り出すのは困難である。

NTLMv1

当初の仕様であるNTLMv1では、サーバが8バイトのチャレンジを送り、クライアントが24バイトレスポンスを2つ返す。

クライアントパスワードから16バイトハッシュ値を生成し、これを3分割したものを暗号鍵としてチャレンジをDES方式で暗号化する。3つの暗号文を連結して24バイトレスポンスとする。この過程を算出法が異なる2つのハッシュ値(LMハッシュ/NTハッシュ)について繰り返す。

NTLMv2

Windows NT 4.0 SP4で導入されたNTLMv2はより安全性を高めた方式で、サーバは8バイトのチャレンジを送り、クライアント可変長レスポンスを返す。サーバから送られるチャレンジ(サーバチャレンジ)だけでなく、クライアント側で生成したランダムな8バイトのクライアントチャレンジも用いる。

ハッシュ化されたパスワードに、サーバチャレンジ、クライアントチャレンジ、ユーザー名、ドメイン名、現在時刻などを含むデータを鍵として2段階のHMAC-MD5符号化い、16バイトハッシュ値を得る。これをクライアントチャレンジなどと連結してレスポンスとして送り返す。

(2018.7.24更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる