以下の手順となります。
(1) クライアントがログインを要求
(2) サーバがチャレンジコード(ランダムな情報文字列)をクライアントに送信
(3) チャレンジコードを受信したクライアントは、パスフレーズ(予めサーバとクライアントが所持している)とチャレンジコードから、予め決めたルールに従って、文字列(ワンタイムパスワード)を生成しサーバに返す。
(4) サーバはクライアントと同じ方法で、ワンタイムパスワードを生成し、クライアントから受信したワンタイムパスワードと照合します。
(5) 照合した結果が同じであれば、正当なクライアントであると認証する。
少し、複雑になりますが、サーバとクライアントしか持っていない「パスフレーズ」と「あらかじめ決めたルール」を使うことによって、正当なクライアントでなければ、認証できないようにセキュリティを高めています。
セキュアドの試験対策では、重要な項目となってきますが、シスアドにおいても、認証方法についての種類と簡単な流れは、理解しておいた方が良いと思い、ご紹介させていただきました。