スポンサーリンク

問題の解答・解説ページ

このページは解説の閲覧モードです。
実力試しをしたい方は、下のボタンからクイズに挑戦してください!

この問題をクイズ形式で解く
問題 No.5557
A社では、ネットワークを介したパスワードの盗聴を防ぐため、ワンタイムパスワード方式の一つであるS/Keyを認証システムに導入している。S/Keyの仕組みに関する記述として、最も適切なものはどれか。

【正解の解説】

一方向ハッシュ関数を繰り返し適用して生成されたハッシュチェーンを利用し、毎回異なるパスワードで認証を行うことで、パスワードの盗聴や再送攻撃を防ぐ。

これは、例えば「一度破ったら二度と使えない使い捨ての合言葉」を毎回変えて見せるようなものです。ハッシュ関数という一方向にしか計算できない仕組みをチェーン(鎖)のように繋ぎ、盗み見されても次の回には無効になるパスワードを作り出すため、ネットワーク上で盗聴されても安全に本人確認が行えます。

スポンサーリンク

【その他の選択肢の解説】

公開鍵暗号方式を利用して秘密鍵をクライアント側で安全に保管し、サーバーとクライアント間で相互に署名検証を行うことで通信経路の秘匿性を高める。

初学者が混同しやすいポイントとして、暗号通信の技術とワンタイムパスワードの認証技術をごちゃ混ぜにしてしまう罠があります。選択肢BはSSL/TLSや公開鍵暗号の挙動を述べており、S/Keyが使うハッシュチェーンの仕組みとは全く関係がないため誤りとなります。

サーバー側で管理するパスワードの有効期限を定期的に更新し、ユーザーが初回ログイン時に任意の文字列へ変更することを強制して不正アクセスを防止する。

人間の手でパスワードを定期的に変更させる運用ルールと、システムが自動的に使い捨てのパスワードを生成する技術を混同させようとする出題者の罠です。S/Keyはパスワードを定期変更するものではなく、ハッシュ関数を用いて毎回異なる文字列を自動的に使い回す仕組みです。

認証のたびに乱数生成器を用いて完全にランダムな文字列を生成し、それを暗号化通信によって一度だけサーバーへ送信して本人確認を行う。

乱数生成器を使って毎回ランダムな値を飛ばす方式もあるにはありますが、S/Keyは乱数ではなく「一方向ハッシュ関数を逆順にたどる」という数学的な鎖の性質を利用しています。完全にランダムな文字列を毎回生成・送信する仕組みではない点に注意が必要です。