CHAP(Challenge-Handshake Authentication Protocol)は,PPP接続時に利用される利用者認証のプロトコルであり,基本情報技術者試験をはじめとする情報処理技術者試験でも出題される重要な内容です。チャレンジ/レスポンス方式による認証のしくみを正しく理解できていますか?
CHAP=チャレンジ/レスポンス方式によって認証を行うプロトコル
CHAPでは,認証サーバーが送信するチャレンジコードと,利用者が持つパスワードを基にハッシュ関数(MD5)を用いてレスポンスコードを生成し,その値を照合することで認証を行います。パスワードそのものを送信しないため,盗聴されても再利用されにくいという特徴があります。
このページでは,CHAPについて,概要と認証の流れ(認証サーバー,パスワード,チャレンジコード,レスポンスコード,ハッシュ関数,MD5,メッセージダイジェスト)をシンプルにまとめています。よく利用される認証プロトコルなので,確実に理解しておきましょう。
CHAP(Challenge-Handshake Authentication Protocol)とは
CHAPとは,チャレンジ/レスポンス方式を利用した認証プロトコルです。
※ CHAPはデータリンク層(OSI基本参照モデル)のプロトコルである
※ CHAPは,PPPなどで接続する際に利用される
※ チャレンジ/レスポンス方式…ゼロ知識証明のしくみを実現する認証方式で,暗号化されたパスワードが盗聴されても再使用できない仕組みになっている
チャレンジコードは,毎回異なるので,クライアントのパスワードが同じでも,レスポンスコードは,毎回変化します。よって,レスポンスコードが盗聴されたとしても,そのまま再使用することはできません。しかし,CHAPでは,平文のパスワードからレスポンスコードを生成するため,パスワードを暗号化して管理することはできません。
※ PAPよりも,安全性が高い
MS-CHAPとは(Microsoft版 CHAP の特徴)
MS-CHAPでは,パスワードファイルの漏えいに対応するために,パスワードを圧縮暗号化して管理することができます。レスポンスコードを生成する際は,パスワードを圧縮暗号化したハッシュ値と,チャレンジコードからレスポンスコードを生成します。
※ MicrosoftがWindows用に調整したものである
まとめ
今回は,チャレンジ/レスポンス方式によって認証を行うプロトコルであるCHAPについてシンプルにまとめてみました。CHAPでは,認証サーバーが送信するチャレンジコードとパスワードを基にハッシュ関数(MD5)を用いてレスポンスコードを生成し,その値を照合することで利用者認証を行います。この方式では,パスワードそのものをネットワーク上に送信しないため,盗聴されても再利用されにくいという特徴があります。
- インターネットへの接続と通信の流れ
- OSI基本参照モデルとTCP/IPの基礎まとめ
- LAN(ネットワークインタフェース層)の基礎まとめ
- PAPの基礎まとめ
- RADIUS・IEEE802.1x/EAPの基礎まとめ
- WEP・WPA・WPA2・WPA3の基礎まとめ
- 認証の基礎まとめ
理解が進んだら,基本情報技術者試験の過去問題等にもチャレンジしてみてください。


