ハッシュ関数は,入力したデータから決まった長さの値(ハッシュ値)を作る関数です。 試験では2つの顔で出てきます。1つはセキュリティで使う暗号学的ハッシュ関数(改ざんの検出,ディジタル署名,パスワードの保存), もう1つはデータを速く探すためのハッシュ表です。
ひとことで
ハッシュ関数には,次の性質があります。
- 入力の長さに関係なく,出力の長さは決まっている。SHA-256 なら,32ビットのデータでも2,048ビットのデータでも,ハッシュ値は256ビットです
- 同じ入力からは必ず同じ値が出る。だから,受け取ったデータのハッシュ値を求め直して比べれば,1ビットでも書き換えられたかが分かります
- 入力が少し変わるだけで,出力は大きく変わる
暗号学的ハッシュ関数に求められる3つの性質
セキュリティに使うハッシュ関数は,次の3つが「計算量的に困難」であることを求められます。
| 性質 | 何が難しいか |
|---|---|
| 原像計算困難性(一方向性) | ハッシュ値が与えられたとき,そのハッシュ値になるメッセージを見つけること |
| 第2原像計算困難性 | あるメッセージが与えられたとき,それと同じハッシュ値になる別のメッセージを見つけること |
| 衝突発見困難性 | 同じハッシュ値になる2つのメッセージを(どれでもよいので)見つけること |
違いは「何が先に決まっているか」です。原像はハッシュ値が,第2原像は片方のメッセージが決まっていて, 衝突は何も決まっていない(2つとも自由に選べる)ので,最も見つけやすい攻撃に耐えることを求める性質です。
代表的なアルゴリズムは SHA-2 系(SHA-256 など)です。SHA-1 は出力が160ビットで, 衝突を見つける攻撃が現実的になったため,いまは新しい用途に使いません。
ハッシュ表
データ構造のハッシュ表は,キーをハッシュ関数に通して格納する場所を計算で決める方法です。 衝突(違うキーが同じ場所になること)が起きなければ,データの数がいくら増えても1回の計算で場所が分かるので, 探索の時間はデータの数によらず一定です。
試験でよく使われるのは,キーを表の大きさ n で割った余りを場所にする h(x) = x mod n です。 2つのキー a と b が衝突するのは余りが同じとき,つまりa − b が n の倍数のときです。
試験での問われ方
当サイトが収録している午前の問題のうち,ハッシュ関数・ハッシュ値・メッセージダイジェスト・SHA のどれかが出てくるのは59問です。 情報処理安全確保支援士の午前Ⅱと午前Ⅰで大半を占めます。型ごとに数えると次のとおりです。
- ハッシュ関数の性質とアルゴリズム(12問)。 衝突発見困難性の説明を選ぶ問題は支援士の午前Ⅱで6回出ています。 正解は「ハッシュ値が一致する二つのメッセージの探索に要する計算量の大きさによる,探索の困難性」など。 SHA-256 のハッシュ値の長さ(入力の長さによらずすべて256ビット)も2回出ています。
- ハッシュ表(10問,ほぼ午前Ⅰ)。 h(x) = x mod n でキー a と b が衝突する条件(a − b が n の倍数)は午前Ⅰで6回出ています。 ほかに,衝突した値から除数を求める計算,探索時間のグラフ(データ数によらず一定)があります。
- ハッシュ値を使う仕組み(12問)。 ディジタル署名でハッシュ値を変換する鍵(発信者の秘密鍵), DNSSEC の機能(8問。正解は署名による送信者の正当性とデータの完全性の検証),OCSP の問合せです。
- 認証のプロトコル(7問)。チャレンジレスポンス方式や CHAP は, パスワードそのものを送らず,サーバから届いたランダムな値とパスワードからハッシュ値を計算して返します。 SMTP-AUTH の問題(4問)では選択肢に出てきます。
- パスワードを狙う攻撃(4問)。 Pass the Hash 攻撃(ハッシュ値だけでログインできる仕組みを悪用する,支援士で3回)と, レインボーテーブル攻撃(平文とハッシュ値の対応をチェーンで持つ表から逆引きする)です。
- このほか,ブロックチェーンに必須の技術(正解はハッシュ関数,3問),マルウェアの検出手法(4問), デジタルフォレンジックス(2問),前方秘匿性(2問)などの選択肢に出てきます。
出題された過去問(59問)
リンク先の年度ページで,問題と解説を読めます。
午前Ⅰ(高度試験 共通)(20問)
- 令和6年度 秋期 問3自然数をキーとするデータを,ハッシュ表を用いて管理する。キー x のハッシュ関数 h(x) を …
- 令和5年度 秋期 問12パスワードクラック手法の一種である,レインボーテーブル攻撃に該当するものはどれか。
- 令和5年度 春期 問6ハッシュ表の理論的な探索時間を示すグラフはどれか。ここで,複数のデータが同じハッシュ値になること…
- 令和5年度 春期 問13デジタルフォレンジックスの手順は収集,検査,分析及び報告から成る。このとき,デジタルフォレンジッ…
- 令和4年度 秋期 問3自然数をキーとするデータを,ハッシュ表を用いて管理する。キー x のハッシュ関数 h(x) を …
- 令和3年度 春期 問12暗号学的ハッシュ関数における原像計算困難性,つまり一方向性の性質はどれか。
- 平成31年度 春期 問13ディジタルフォレンジックスの手順を収集,検査,分析,報告に分けたとき,そのいずれかに該当するもの…
- 平成30年度 秋期 問9自然数を除数とした剰余を返すハッシュ関数がある。値がそれぞれ571,1168,1566である三つ…
- 平成27年度 秋期 問3キーが小文字のアルファベット1文字(a,b,…,z のいずれか)であるデータを,大きさが10のハ…
- 平成27年度 秋期 問12公開鍵暗号方式の暗号アルゴリズムはどれか。
- 平成27年度 春期 問3自然数をキーとするデータを,ハッシュ表を用いて管理する。キー x のハッシュ関数 h(x) を …
- 平成26年度 秋期 問12SMTP-AUTH(SMTP Service Extension for Authenticat…
- 平成26年度 春期 問3記憶領域を管理するアルゴリズムのうち,ベストフィット方式の特徴として,適切なものはどれか。
- 平成25年度 秋期 問2自然数をキーとするデータを,ハッシュ表を用いて管理する。キー x のハッシュ関数 h(x) を …
- 平成25年度 秋期 問13ディジタル署名において,発信者がメッセージのハッシュ値からディジタル署名を生成するのに使う鍵はど…
- 平成24年度 春期 問14ディジタル署名などに用いるハッシュ関数の特徴はどれか。
- 平成23年度 秋期 問3自然数をキーとするデータを,ハッシュ表を用いて管理する。キー x のハッシュ関数 h(x) を …
- 平成23年度 秋期 問14ディジタル署名を生成するときに,発信者がメッセージのハッシュ値をディジタル署名に変換するのに使う…
- 平成23年度 特別試験 問3キーが小文字のアルファベット1文字(a,b,…,z のいずれか)であるデータを,大きさが10のハ…
- 平成21年度 春期 問3自然数をキーとするデータを,ハッシュ表を用いて管理する。キー x のハッシュ関数 h(x) を …
情報処理安全確保支援士 午前Ⅱ(27問)
- 令和7年度 秋期 問2Pass the Hash 攻撃はどれか。
- 令和7年度 春期 問3SHA-512/256 の説明はどれか。
- 令和5年度 春期 問2Pass the Hash 攻撃はどれか。
- 令和5年度 春期 問4ハッシュ関数の性質の一つである衝突発見困難性に関する記述のうち,適切なものはどれか。
- 令和4年度 秋期 問8前方秘匿性(Forward Secrecy)の説明として,適切なものはどれか。
- 令和4年度 秋期 問12ブロックチェーンに関する記述のうち,適切なものはどれか。
- 令和3年度 秋期 問2Pass the Hash 攻撃はどれか。
- 令和3年度 春期 問3ハッシュ関数の性質の一つである衝突発見困難性に関する記述のうち,適切なものはどれか。
- 令和3年度 春期 問13マルウェアの検出手法であるビヘイビア法を説明したものはどれか。
- 令和2年度 10月 問5ブロックチェーンに関する記述のうち,適切なものはどれか。
- 平成31年度 春期 問4ハッシュ関数の性質の一つである衝突発見困難性に関する記述のうち,適切なものはどれか。
- 平成30年度 秋期 問3ブロックチェーンに関する記述のうち,適切なものはどれか。
- 平成30年度 春期 問7発信者がメッセージのハッシュ値からディジタル署名を生成するのに使う鍵はどれか。
- 平成29年度 秋期 問4ハッシュ関数の性質の一つである衝突発見困難性に関する記述のうち,適切なものはどれか。
- 平成28年度 春期 問5ハッシュ関数の性質の一つである衝突発見困難性に関する記述のうち,適切なものはどれか。
- 平成28年度 春期 問9暗号に関連するデータのうち,次に示す処理で出力可能なものはどれか。
- 平成26年度 秋期 問2ハッシュ関数の性質の一つである衝突発見困難性に関する記述のうち,適切なものはどれか。
- 平成25年度 春期 問2DNSSEC(DNS Security Extensions)の機能はどれか。
- 平成25年度 春期 問6SMTP-AUTH における認証の動作を説明したものはどれか。
- 平成23年度 秋期 問1DNSSEC(DNS Security Extensions)の機能はどれか。
- 平成23年度 秋期 問2セキュアハッシュ関数 SHA-256 を用いて,32 ビット,256 ビット,2,048 ビット…
- 平成23年度 特別試験 問5SMTP-AUTH における認証の動作を説明したものはどれか。
- 平成23年度 特別試験 問10ウイルスの調査手法に関する記述のうち,適切なものはどれか。
- 平成22年度 春期 問1セキュアハッシュ関数 SHA-256 を用いて,32 ビット,256 ビット,2,048 ビット…
- 平成21年度 秋期 問1チャレンジレスポンス方式として,適切なものはどれか。
- 平成21年度 秋期 問3SMTP-AUTH 認証はどれか。
- 平成21年度 春期 問6SHA-1 を説明したものはどれか。
ネットワークスペシャリスト 午前Ⅱ(8問)
- 令和7年度 春期 問20DNSSEC の機能はどれか。
- 令和6年度 春期 問20マルウェアの検出手法であるビヘイビア法を説明したものはどれか。
- 令和3年度 春期 問18前方秘匿性(Forward Secrecy)の性質として,適切なものはどれか。
- 平成29年度 秋期 問19DNSSEC の機能はどれか。
- 平成26年度 秋期 問16DNSSEC の機能はどれか。
- 平成26年度 秋期 問20ウイルス検知手法の一つであるビヘイビア法を説明したものはどれか。
- 平成22年度 秋期 問9PPP のリンク確立後,チャレンジメッセージを繰り返し送ることができ,それに対して相手がハッシュ…
- 平成21年度 秋期 問18チャレンジレスポンス方式として,適切なものはどれか。
プロジェクトマネージャ 午前Ⅱ(3問)
- 令和3年度 秋期 問25DNSSEC の機能はどれか。
- 平成31年度 春期 問25DNSSEC の機能はどれか。
- 平成28年度 春期 問25DNSSEC の機能はどれか。
ITストラテジスト 午前Ⅱ(1問)
- 令和6年度 春期 問23OCSP クライアントから OCSP レスポンダーへのリクエストとそのレスポンスに関する記述のう…