2.1 Challenge/Response (チャレンジ/レスポンス)
2.1. Challenge/Response (チャレンジ/レスポンス)
チャレンジ/レスポンス認証では, ユーザーに予測不可能な数値が与えられ, それを暗号化して結果を返すようにチャレンジされます。認可されたユーザーは, スマートカードや正しい応答の計算を容易にするソフトウェアなどの特別なデバイスを装備しています。適切なデバイスまたはソフトウェアを持たず, そのようなデバイスまたはソフトウェアをエミュレートするために必要な秘密鍵の知識を持たない認可されていないユーザーは, 応答を推測することしかできません。
Access-Challenge パケットには通常, ユーザーに表示されるチャレンジを含む Reply-Message が含まれています。これは, 繰り返される可能性が低い数値などです。通常, これは, 認可されたユーザーが所有している認証デバイスのタイプを知っており, したがって適切な基数と長さのランダムまたは非反復の疑似ランダム数を選択できる外部サーバーから取得されます。
次に, ユーザーはチャレンジを自分のデバイス (またはソフトウェア) に入力し, それが応答を計算します。ユーザーはその応答をクライアントに入力し, クライアントはそれを2番目の Access-Request を介して RADIUS サーバーに転送します。応答が期待される応答と一致する場合, RADIUS サーバーは Access-Accept で応答し, そうでない場合は Access-Reject で応答します。
例: NAS は, NAS-Identifier, NAS-Port, User-Name, User-Password ("challenge" のような固定文字列であるか無視される可能性があります) を含む Access-Request パケットを RADIUS サーバーに送信します。サーバーは, State と "Challenge 12345678, enter your response at the prompt" のような Reply-Message を含む Access-Challenge パケットを送り返し, NAS はこれを表示します。NAS は応答を促し, NAS-Identifier, NAS-Port, User-Name, User-Password (ユーザーが入力したばかりの応答, 暗号化されている), および Access-Challenge と一緒に来た同じ State 属性を含む新しい Access-Request (新しい ID を持つ) をサーバーに送信します。次に, サーバーは, 応答が必要な値と一致するかどうかに基づいて Access-Accept または Access-Reject を送り返すか, さらに別の Access-Challenge を送信することもできます。