HOME»情報処理安全確保支援士掲示板»令和5年春期午後Ⅱ-2設問4(2)
投稿する

令和5年春期午後Ⅱ-2設問4(2) [1503]

 アイスさん(No.1) 
https://www.sc-siken.com/pdf/05_haru/pm2_2.pdf
解答は検証コードのSHAー256によるハッシュ値をbase64urlエンコードしたした値とチャレンジコードの値の一致ということで、
おそらくフローの(3)のチャレンジコードの送信はハッシュ値をエンコードした値で、
(7)の検証コードは平文ということが、読み取れると思いますが、
ではなぜ検証コードは最初からエンコードしないのでしょうか?普通に検証コード送る際もあらかじめハッシュ化してエンコードしておけば、一致の確認する際にはただ単に、両者の一致を確認すれば済むのに。。。って疑問です。
2024.04.07 17:28
wrinklyさん(No.2) 
>普通に検証コード送る際もあらかじめハッシュ化してエンコードしておけば、一致の
>確認する際にはただ単に、両者の一致を確認すれば済むのに
チャレンジコードと検証コードを同じものを送らないのは、攻撃者に何らかの
手段で、認可コードを横取りされチャレンジコードも盗まれてしまうと、
トークンリクエストで認可コードと検証コード(チャレンジコードと同じ)が
送られてアクセストークンが取得されてしまうからだと思います。
検証コードをハッシュ化→エンコードしてチャレンジコードとすれば
チャレンジコードがもし盗まれても原像計算困難性で検証コードを求めるのは
困難なため、アクセストークンが取得されることを防げると思います。
2024.04.07 21:27
 アイスさん(No.3) 
wrinklyさん
ハッシュ化してエンコードされたチャレンジコードが盗まれると、検証コードでもそのまま盗んだ値を送ってしまうPass the Hash攻撃のようなことが起きてしまう。だから検証コードではあえて検証コードはハッシュ化せずそのままを送る必要があるのですね。今理解できました。
ありがとうございます!
2024.04.08 21:27
返信投稿用フォームスパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
© 2014-2024 情報処理安全確保支援士ドットコム All Rights Reserved.

Pagetop