HOME»応用情報技術者試験掲示板»平成31年春期 午後問1設問3(2)本サイトの解説
投稿する

[2006] 平成31年春期 午後問1設問3(2)本サイトの解説

 successfulさん(No.1) 
タイトルの解説(https://www.ap-siken.com/kakomon/31_haru/pm01.html)で
「イ: ソルトの値は認証情報データベースに登録されているため、アカウント情報が窃取されると当該アカウントのソルトの値を特定されてしまいます。」とありますが、

アカウント情報が窃取されることによってどうやって、ソルトが特定できるのでしょうか?

あと、無知ですみません。ソルトはハッシュ関数と全く別に作成される思っているのですが間違えないでしょうか。
2020.05.04 12:44
助け人さん(No.2) 
AP ゴールドマイスター
この問題を分かりにくくしている(故意か不注意かは不明)表現として、以下の文章があります。

・平文のパスワードの代わりにハッシュ値を秘密認証情報のデータベースに登録している
・データベースに登録された認証情報が流出する
・窃取したアカウント情報中のパスワードのハッシュ値
・ID,ハッシュ値及びソルトを,秘密認証情報のデータベースに登録する

秘密認証情報、認証情報、アカウント情報というように、あたかも3種類の情報があるような表現ですが、区別する必要はないでしょう。つまり、窃取されたアカウント情報には、ID,ハッシュ値及びソルトが含まれています。

また、ソルトは、ハッシュ関数とは無関係に、ランダムな値が生成されます。
2020.05.04 19:25
スレ主さん(No.3) 
助け人さん、ありがとうございます。

"アカウント情報"は本文「アカウント情報中のパスワードのハッシュ値をキーとして,,,」という記述があり、アカウント情報はハッシュ化前のパスワードの生値であるからして、結合するソルトが割出せるのかと思ったのですが、本文に「ソルトを結合した全体のバイト列をハッシュ化する。」とあるので、アカウント情報を窃取されたところで、ソルトの値は割出せないのかと思っており、混乱しています。

コメント頂いたところで申し訳ありませんが、アドバイス頂けると助かります。
2020.05.05 11:10
助け人さん(No.4) 
AP ゴールドマイスター
繰返しですが、窃取されたアカウント情報には、ID,ハッシュ値及びソルトが含まれています。

「アカウント情報中のパスワードのハッシュ値」の読み方が重要で、
・「アカウント情報中のパスワード」のハッシュ値
ではなく、
・アカウント情報中の「パスワードのハッシュ値」をキーとして
です。つまり、「アカウント情報中の」は「ハッシュ値」にかかります。

日本語の文法の難しい面ですが、「AのBのC」というとき、「Aの」が、「B」にかかる場合と「C」にかかる場合があり、前提知識や前後の文脈で判断します。

この問題では、「データベースには、パスワードの生値ではなく、パスワードのハッシュ値をもつ」という前提知識(これはあらかじめ頭に入っていないといけない)を働かせないと、勘違いを起こします。

余談ですが、このような勘違いを起こさせることが出題者の故意(正しく判断できることも問う)であれば、うなずけますが、故意はないなら、以下のように説明すべきです。

・パスワードのハッシュ値をハッシュ化パスワードとよぶ。
・アカウント情報中のハッシュ化パスワード・・・
2020.05.05 11:55
スレ主さん(No.5) 
アカウント情報 = ID,ハッシュ値及びソルト = 秘密認証情報であるなら「イ: ソルトの値は認証情報データベースに登録されているため、アカウント情報が窃取されると当該アカウントのソルトの値を特定されてしまいます。」というのは理解できます。

「データベースには、パスワードの生値ではなく、パスワードのハッシュ値をもつ」という前提知識はありました。そのため、私はデータベースに生値の情報を入れて、それが窃取されるものなのか!?、うーん、そんなことは無いとおもいました。窃取されるのは、ハッシュ化されたパスワードすなわち"アカウント情報"なので、そこからソルトが判るなんて、有りえないと考えた次第です。

難しい。。
2020.05.05 16:36
助け人さん(No.6) 
AP ゴールドマイスター
基本情報で、ソルトを扱った同様の問題があります。

基本情報技術者過去問題 平成30年春期 午後問1
☆www.fe-siken.com/kakomon/30_haru/pm01.html  ←  ☆はhttps://に置換
の設問2の空欄dの選択肢イに、
攻撃者がパスワードファイルからソルトを入手できない
とあり、これが誤りであることが判定できないといけません。

上記の問題を先に解いていれば、応用情報のこの問題は解きやすいと思います。
2020.05.05 17:35
スレ主さん(No.7) 
助け人さん、ありがとうございました。
良くわかりました!パスワードリストに"ソルト"と"ソルト+ハッシュ化されたパスワードを連結したハッシュ値"が格納されているのでアカウント情報を窃取されたらソルトが判ってしまうのですね。

助かりました!!
#午後50点台で数回落ちているので、こういうところが甘いんだなと痛感しました。頑張ります。
2020.05.05 22:51
助け人さん(No.8) 
AP ゴールドマイスター
「パスワードリストに"ソルト"と"ソルト+ハッシュ化されたパスワードを連結したハッシュ値"が格納されている」
と書かれていますが、誤解があったらいけないので、正確に表現すると、
「パスワードファイルに"ソルト"と"ソルトとパスワードを連結した文字列のハッシュ値"が格納されている」
となります。

また、パスワードファイルの窃取への対策としてソルトを使用した、この基本情報と応用情報の2つの問題について、大切な内容を補足しておきます。

ブラウザからサーバへのパスワードの送信については、基本情報の問題ではあたかも生値(平文)のような図になっており、応用情報の問題では触れていませんが、パスワードの盗聴への対策も必要です。したがって、ブラウザとサーバ間は、例えばTLSにより暗号化します。
2020.05.06 00:05
スレ主さん(No.9) 
ありがとうございます。理解が深まりました。
2020.05.06 05:39
Nasuさん(No.10) 
スレ主さん、初めまして。
助け人さん、お久しぶりです、いつもありがとうございます。

この設問、私も本試験で悩みに悩みました。
「ソルトが含まれるのは秘密認証情報だから、アカウント情報ではない。
ゆえに、アカウント情報が窃取されてもソルトの値は分からないだろう。」
・・・と考えて、「イ:ソルトの値が不明だから」を選択してしまいました。

この設問は試験直後の自己採点で盛り上がっていた掲示板内でも
「ア:Rテーブルの作成困難」「イ:ソルトの値が不明だから」
で意見が割れていたように記憶しています、
それだけ勘違いしてしまった人が多いということでしょうね。
2020.05.06 08:13
助け人さん(No.11) 
AP ゴールドマイスター
Nasuさん
久しぶりに懐かしい名前を見てほっこりしました。いろいろ議論を戦わした方たちの多くは、卒業されましたね。
今は、高度試験へチャレンジ中でしょうか?コロナの影響は、忌々しいですね。
2020.05.06 09:48
Nasuさん(No.12) 
助け人さん
そうですね、この掲示板では色々と議論をさせてもらいました。
  ・プロセススケジューリング(処理時間順方式)
  ・ホワイトボックステスト(条件網羅)
この2件は特に記憶に残っています。
出題内容に納得いかなくて、大手予備校の意見を求めたり、
IPAに出題の改善を依頼したりしたのも今では良い思い出です(笑)

ご明察の通り、今は高度試験にチャレンジ中です。
春はエンベデッド、秋はネットワークを狙っていますが中々難しいですね。
「初心に帰る」という意味でこの応用情報のページをたまに閲覧しています。

管理人さま
遅くなりましたがサイト開設10周年おめでとうございます。
応用情報に合格出来たのはこのサイトのおかげです。
サイトの運営は大変だとは思いますが、引き続きよろしくお願いします。
2020.05.06 23:53
スレ主さん(No.13) 
Nasuさん、書き込みありがとうございます。
私(名前は今と別ですが)が立てた別のスレッドで拝見したことがあるなと思ったので、探して、勝手ながら懐かしみました。合格しているのは羨ましいです。早く高度試験を受けられるようにしたいと思います!
2020.05.08 22:43

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。
© 2010-2024 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop