チャレンジアンドレスポンス認証の具体例

victoria-feliniak-o_dcESC73Z8-unsplash.jpg

質問

チャレンジアンドレスポンス認証の具体例を挙げてください


解答

いいですね。チャレンジ&レスポンス認証(Challenge-Response Authentication)は「相手が秘密を知っていること」を証明する方法で、パスワードをそのまま送らないのが特徴です。
具体的な例をいくつか挙げます。


🔹 1. 単純なチャレンジ&レスポンスの例

  1. サーバがランダムな文字列(チャレンジ)をクライアントに送信する
    例: "7G9K3L"

  2. クライアントはパスワード "secret123" を持っているとする。
    チャレンジとパスワードを結合してハッシュ化する

    hash("7G9K3L" + "secret123") = "A1F92..."
  3. クライアントはこのハッシュ値をレスポンスとして送信する

  4. サーバも同じパスワードを持っているので、自分で同じ計算をして照合
    → 一致すれば認証成功

👉 これにより、パスワード自体をネットワークに送らなくても「知っている」ことを証明できる。


🔹 2. Windows NTLM 認証

  • Windowsの古いドメインログオンで使われる方式。

  • サーバがチャレンジ(ランダムな値)を送り、クライアントはユーザのハッシュ済みパスワードを使って暗号化してレスポンスする。

  • サーバも同じハッシュを使って検証する。

  • パスワードそのものは流れない。


🔹 3. SSH の公開鍵認証(実質的なチャレンジ&レスポンス)

  1. サーバがクライアントにチャレンジ(ランダムデータ)を送る

  2. クライアントは 秘密鍵で署名して送り返す

  3. サーバは対応する 公開鍵で署名を検証

  4. 一致すれば「クライアントが秘密鍵を持っている」と証明される

👉 パスワードレスでセキュアに認証できる。


🔹 4. ワンタイムパスワード(OTP)

  • 厳密にはチャレンジ&レスポンスの一種。

  • 認証サーバが「その時点で有効なチャレンジ(時刻やカウンタ)」を提示し、

  • クライアント(トークンやアプリ)はそれをもとにレスポンス(ワンタイムコード)を生成して送る。


✅ まとめ

  • 本質: サーバが「チャレンジ(問題)」を出し、クライアントが「秘密を使って解けるレスポンス」を返す仕組み。

  • 利点: パスワードを直接送らないので盗聴されにくい。

  • 実例:

    • 単純なチャレンジ+パスワードのハッシュ

    • Windows NTLM

    • SSH 公開鍵認証

    • ワンタイムパスワード方式





ゼロトラストアーキテクチャ入門 [ 東根作 成英 ]

価格:2662円
(2025/5/26 11:02時点)
感想(1件)


 



この記事へのコメント

広告です。クリックいただけると励みになります。