問題

問4 利用者認証に関する次の記述を読んで、設問1、2に答えよ。

 X社では、社外の端末から社内のサーバへのリモートログインを可能にするため、利用者認証の方式を検討している。社内では、利用者IDとパスワードをサーバに送信する方式を使用しており、そのパスワードの強化を含め、次の三つの方式の安全性を検討している。

〔方式1:利用者IDとパスワード方式〕
 端末は、利用者が入力した利用者IDとパスワードをサーバに送信する。サーバは利用者IDから登録されているパスワードを検索し、送信されたパスワードと照合することによって、ログインの可否を応答する。利用者IDとパスワード方式を図1に示す。

〔方式2:チャレンジレスポンス方式〕
 端末は、利用者が入力した利用者IDをサーバに送信する。サーバは、利用者IDを受信すると、ランダムに生成したチャレンジと呼ばれる値cを端末に送信する。端末は、利用者が入力したパスワードpとチャレンジcから、ハッシュ値h (p,c) を計算して、レスポンスの値としてサーバに送信する。サーバは、利用者IDから登録されているパスワード p'を検索し、端末と同じハッシュ関数hを使って計算したハッシュ値h (p',c) とレスポンスの値とを照合することによって、ログインの可否を応答する。ここで、ハッシュ関数hは公知のものであり、どの端末でも計算可能とする。チャレンジレスポンス方式を図2に示す。

〔方式 3:トークン(パスワード生成器)方式〕
 利用者には、自身の利用者IDが登録されたトークンと呼ばれるパスワード生成器を配布しておく。トークンの例を図3に示す。

 トークンは時計を内蔵しており、関数gを使って、利用者IDであるuと時刻tに応じたパスワードg(u,t) を生成し表示することができる。利用者は、利用者IDとトークンが生成し表示したパスワードを入力し、端末はこれらをサーバに送信する。サーバは、利用者IDであるuとサーバの時刻tからトークンと同じ関数gを使って生成したパスワードg (u,t) と端末から受信したパスワードとを照合することによって、ログインの可否を応答する。

 なお、トークンの時刻とサーバの時刻が同期していることは保証されており、トークンのパスワード表示からサーバにおけるパスワード生成までの遅延も、一定の時間は許容する。トークン方式を図4に示す。