チャレンジレスポンス認証について
普段の生活の中で、皆さんがよく目にする「ワンタイムパスワード」ですが、本記事ではワンタイムパスワードの代表の1つである「チャレンジレスポンス認証」について解説します。
ワンタイムパスワード認証とは?
そもそも、ワンタイムパスワードは二段階認証で利用されている一度きりの使い捨てパスワードです。
二段階認証とはセキュリティ強化対策の一つであり、パスワードログインに加えてもう一段階セキュリティの設定を行う認証方法です。
主な代表例として以下の場面で利用されており、強固なセキュリティが必要な場面で広く利用されています。
-代表例-
・ネットバンキングや仮想通貨の取引
・業務システムへのログイン
ちなみに、ワンタイムパスワードの代表例として、「タイムスタンプ認証」「カウンタ同期認証」「チャレンジレスポンス認証」「マトリクス認証」の4つがあります。
チャレンジレスポンス認証
チャレンジレスポンス認証では、認証サーバから送られてくる文字列(チャレンジ)に対し、正しい計算結果(レスポンス)を返すことで認証する方法です。
なぜ、このような認証方法をするかというと、通常のパスワード認証ではネットワークを通じてパスワードを送信するため、通信経路上でパスワードが盗聴されるリスクがあります。
一方、チャレンジレスポンス認証方式では、パスワードをそのままネットワークに送信するようなことはしません。
チャレンジレスポンス認証では以下の手順で認証を行います。
(1) サーバは、クライアントから要求があるたびに異なる乱数(チャレンジ)を生成して保持するとともに、チャレンジをクライアントへ送ります。
(2) クライアントは、利用者が入力したパスワードと(1)でサーバから送られた「チャレンジ」から所定の方法でレスポンスを計算する。
(3) クライアントは、(2)で生成した「レスポンス」と利用者が入力した利用者IDをサーバに送ります。
(4) サーバは、クライアントから受信した利用者IDで利用者情報を検索して、取り出したパスワードと(1)で保持していたチャレンジと用いてクライアントと同じ手順でレスポンスを生成します(レスポンス照合データ)。
(5) サーバは、「レスポンス照合データ」とクライントから受信した「レスポンス」を比較し、両者が一致すれば認証成功とします。

チャレンジレスポンス認証の利点
チャレンジレスポンス認証は、以下のような点でセキュリティを強化します。
パスワード盗聴の防止:
チャレンジレスポンスにおいては、ネットワーク上に送信するのはパスワードではなく、毎回異なるチャレンジに基づいて生成されたレスポンスです。
これにより、ネットワーク上でパスワードが漏洩するリスクを軽減できます。
リプレイ攻撃の防止:
リプレイ攻撃とは、以前に取得した通信内容を再送信して不正にアクセスする攻撃です。
チャレンジレスポンス認証では、毎回異なるチャレンジが作成され、認証に必要とされるレスポンスも毎回異なったものになるため、過去の通信(過去に使用されたレスポンス)を使って不正な認証を通すことができません。
以上、チャレンジレスポンス認証についての解説となります。







