CHAP
読み:チャプ
外語:CHAP: Challenge Handshake Authentication Protocol

 PPPを構成するリンク層制御プロトコル(LCP)の一つで、PPP上でのチャレンジ&レスポンス型のユーザー認証用プロトコル。
目次

概要
 まずRFC 1334(PPP認証プロトコル群)で規定され、後にRFC 1994によって更新された。
 拡張版にMS-CHAPがある。

特徴
 RFC 1334と同時に規定されたPAPはIDとパスワードを素のまま流すが、CHAPはパスワードを暗号化してから回線上に情報を流すため、安全性が高い。
 なお、CHAP自体は認証の機能しかなく、これ自体が不正アクセスを防止するような働きはない。
 PPPプロトコルフィールドは、0xc223である。

認証手順
 まずは、CHAPを使うという設定を行なう。LCP通信設定オプションのType=3、Length=5、Data=0xc223、Algorithm=5とする。以降は、PPP上でProtocol=0xc223として、PAPパケットを交換する。
 大雑把には、次の手順で認証を行なう。
  1. まず、サーバーからチャレンジ(乱数)が送られてくる。
  2. クライアントは、チャレンジとパスワードから、MD5でハッシュ値を作成する。
  3. クライアントは、サーバーに結果をレスポンスとして返す。
  4. サーバーは、登録されたパスワードから同様にハッシュ値を作り、レスポンスと比較する。
  5. 同値であれば、認証成功とする。

再検索