チャップ【CHAP】
CHAP
CHAP
読み方:チャップ
別名:チャレンジハンドシェイク認証プロトコル
CHAPとは、通信プロトコルの一種であるPPP(Point to Point Protocol)において、ユーザー認証のために用いられるチャレンジ&レスポンス方式によって認証を行うプロトコルのことである。RFC 1994で定義されている。
PPPは、電話回線を通じたダイヤルアップ接続などで用いられることの多いプロトコルであるが、公衆回線でユーザーIDやパスワードのデータをそのままやりとりすることは、盗聴などに遭う危険性が高く、安全でない。そのため、CHAPなどのプロトコルを併用することによって通信の安全性の確保が図られている。
CHAPでは、最初にサーバー側からクライアント側に向けて、接続の度にデータの異なる乱数が送られる。このサーバーから送られてくる乱数が、「チャレンジ値」と呼ばれる。クライアントは、受け取ったチャンレンジ値にユーザーIDとパスワードを合わせて、ハッシュ関数「MD5」によって値を算出する。ここで算出された値が「レスポンス値」と呼ばれる。レスポンス値はサーバーに送り返されサーバーがレスポンス値を解析してユーザーIDとパスワードの正当性を確認すれば、ユーザー認証が完了する。
CHAPでは、同じユーザーであってもセッションの度に異なるデータがやり取りされるので、盗聴が困難であり、安全性の高いユーザー認証が実現できる。
なお、CHAPの原型となったユーザー認証のためのプロトコルとして、PAP(Password Authentication Protocol)がある。
Challenge-Handshake Authentication Protocol
(CHAP から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2016/04/26 17:58 UTC 版)
コンピュータネットワークにおいて、Challenge-Handshake Authentication Protocol (チャレンジ・ハンドシェイク・オーセンティケーション・プロトコル、CHAP) は、ユーザやネットワークホストに対する認証プロトコルである。例えば、この認証はインターネットサービスプロバイダによって行われる。
RFC 1994: PPP Challenge Handshake Authentication Protocol (CHAP) がこのプロトコルを定義している。
CHAP は Point-to-Point Protocol (PPP) が、リモートクライアントの正当性を確認するための認証方法として使用される。CHAP は3ウェイ・ハンドシェイクによって、定期的にクライアントの正当性を確認する。これは、最初のデータ通信リンクを確立するときに行われ、その後はいつでも行われる可能性がある。この確認は、共有秘密 (例えばクライアントユーザのパスワード) に基づいている。
- データリンク確立フェーズの後、認証者は "チャレンジ" メッセージを被認証者に送る。
- 被認証者は、MD5 チェックサムのハッシュ関数のような、一方向性関数を使って計算した値のレスポンス返送する。
- 認証者は、期待すべきハッシュ値の計算を自分で行い、レスポンス内容を確認する。もし、値が一致するならば、認証者は被認証者を正当な相手として承認する。
- ランダムな間隔で、認証者は新しい "チャレンジ" を送り、ステップ 1 から 3 を繰り返す。
CHAP は、増加していく識別子と、可変の "チャレンジ" 値を用いることにより、相手からの反射攻撃に対する防御を提供する。 CHAP は、クライアントとサーバが秘密鍵の平文を知っていることを必要とするが、これがネットワークに対して送られることはない。
マイクロソフトは、MS-CHAP と呼ばれる CHAP のバリエーションを実装した。これは相手が秘密鍵の平文を知ることさえ要求しない。
動作
- チャレンジ (Challenge) パケット (システムからユーザ)
- 応答 (Response) パケット (ユーザからシステム)
- 成功 (Success) /失敗 (Failure) パケット (システムからユーザ)
CHAP パケット
説明 | 1 バイト | 1 バイト | 2 バイト | 1 バイト | 可変長 | 可変長 |
---|---|---|---|---|---|---|
Challenge | Code = 1 | ID | 長さ | "チャレンジ" の長さ | "チャレンジ" の値 | 名前 |
Response | Code = 2 | ID | 長さ | 応答の長さ | 応答の値 | 名前 |
Success | Code = 3 | ID | 長さ | メッセージ | ||
Failure | Code = 4 | ID | 長さ | メッセージ |
CHAP パケットは PPPフレームに埋め込まれる。プロトコルフィールドの値は C223(16進数) である。
フラグ | アドレス | コントロール | プロトコル (C223(16進数)) | Payload (上記の表) | FCS | フラグ |
---|
関連項目
外部リンク
- CHAPのページへのリンク