数学を知って得をする!ITを使って楽になる!

増井技術士事務所 〜 技術士(情報工学部門)

CHAP(Challenge Handshake Authentication Protocol)

パスワードの送信に関する疑問

Aさんは自宅のパソコンからインターネットに接続しようとしています。プロバイダとの契約は完了しており、IDとパスワードが書かれた契約書を受け取りました。さぁ接続しようと思ったとき、ある疑問が頭の中に浮かびました。

「キーボードから入力したパスワードはどうやってプロバイダに送信されるのだろう?」

パスワードが契約書に書かれているということは、プロバイダはAさんのパスワードを保管しているはずです。おそらくAさんが入力したパスワードとプロバイダに保管されているパスワードを比較して、正しければ接続を認めていると思われます。単純に考えれば、入力したパスワードをそのまま送信すれば、プロバイダ側で比較することは可能です。しかし、ネットワーク上をパスワードが暗号化されずに送信されるのは不安です。

「チャレンジ」は「誰何」

調べてみると、このプロバイダではCHAPという認証方式を用いていることがわかりました。利用者が接続要求を出すと、プロバイダは「チャレンジ」と呼ばれる乱数の文字列を返すようです。「チャレンジ」と聞くと「挑戦」と訳してしまいそうですが、何のことだか意味がよく分かりません。しかし、英和辞典を調べてみると「誰何(すいか)」という意味があります。「誰何」という言葉は普段はあまり耳にしませんが、警備業界では日常的に用いられます。例えば、警備員が不審者に遭遇した場合、「誰だ!」「何をしている!」と叫びます。これが「誰何」です。

つまり、接続してきた利用者に対し、その身分を問いただしていることになります。そこで、利用者はパスワードを入力します。このとき、利用者のパソコンは入力されたパスワードを、プロバイダからの文字列で暗号化して送信します。つまり、ネットワーク上に流れるのは入力されたパスワードではなく、暗号化された文字列であることになります。

このとき、プロバイダ側でも保管されている利用者のパスワードを、利用者に送った文字列で暗号化します。この内容を利用者から送られてくる文字列と比較することで、利用者の認証を行うことができます。最初に利用者に送る「チャレンジ」を毎回変えることで、ネットワーク上を流れる暗号化されたパスワードは変わりますので、盗聴されても安心だということになります。

チャレンジ・レスポンス方式

こういった方法を「チャレンジ・レスポンス方式」と呼びます。途中の経路にはパスワードは流れませんので、盗聴されたとしてもパスワードを盗まれることはありません。転送されるデータはパスワードをMD5のような一方向関数で暗号化していますので、復号することは基本的にできません。

ただし、サーバー側に暗号化されていないパスワードを保管していることになりますので、サーバーに侵入されてしまうとパスワードが漏れてしまう可能性があります。

お問い合わせ

「もっと詳しく知りたい」「個別に質問してみたい」など、このページに関するお問い合わせは下記よりご連絡いただければと思います。

様々なご要望に柔軟に対応可能ですので、お気軽にお問い合わせください。

お問い合わせはこちら