🧠プレイメージ抵抗性
「プレイメージ抵抗性」は「プリイメージ抵抗性」とも呼ばれ、ハッシュ関数の重要な性質の一つです。ハッシュ関数に関連する安全性の特性としては、主に以下の3つが考えられます:
プリイメージ抵抗性 (Pre-image Resistance): ハッシュ値 h が与えられたとき、そのハッシュ値 h を持つ元のメッセージ m を見つけるのが困難であるという性質を指します。つまり、h = hash(m) となる m を求めるのが難しいということです。
2ndプリイメージ抵抗性 (Second Pre-image Resistance): あるメッセージ m1 が与えられたとき、hash(m1) = hash(m2) となる別のメッセージ m2 (m1 ≠ m2) を見つけるのが困難であるという性質を指します。
衝突抵抗性 (Collision Resistance): 2つの異なるメッセージ m1 と m2 を見つけて、hash(m1) = hash(m2) となるようなものを見つけるのが困難であるという性質を指します。
これらの性質は、ハッシュ関数が安全であると評価されるための基本的な要件となっています。例えば、デジタル署名の生成や検証にハッシュ関数が使用される場合、これらの性質が必要となります。
プリイメージ抵抗性は、与えられたハッシュ値から元のメッセージを逆算するのが困難であるという点で非常に重要です。これにより、ハッシュ関数が適切に設計されている場合、ハッシュ値だけから元の情報を推測することが非常に難しくなります。
理想的なハッシュ関数に対する第一の虚像攻撃の計算上の実現不可能性は、可能なハッシュ入力の集合がブルートフォースサーチには大きすぎることを前提としている。しかし、与えられたハッシュ値が、比較的小さい入力セットから生成されたことが知られていたり、何らかの方法で尤度順に並んでいたりする場合は、ブルートフォースサーチが有効である可能性がある。実用性は、入力セットのサイズとハッシュ関数の計算速度やコストに依存する。
一般的な例は、認証のためのパスワード検証データを保存するためにハッシュを使用することである。アクセス制御システムは、ユーザーパスワードの平文を保存するのではなく、パスワードのハッシュを保存する。ユーザーがアクセスを要求すると、提出されたパスワードはハッシュ化され、保存された値と比較される。保存された検証データが盗まれても、窃盗犯はパスワードではなくハッシュ値だけを手に入れることができる。しかし、ほとんどのユーザーは予測可能な方法でパスワードを選択し、多くのパスワードは十分に短いため、高速ハッシュが使用された場合、たとえハッシュがプレイメージ攻撃に対して安全であると評価されたとしても、すべての可能な組み合わせをテストすることができる。パスワード・クラッキングを参照。短いパスワードのテストを防ぐ方法については、salt (暗号)を参照のこと。
いいなと思ったら応援しよう!
