暗号技術に関する次の記述のうち、最も不適切なものはどれか。
- ハッシュ関数は、任意の文字列を一定の長さに圧縮する関数であり、多くの実用的な応用では出カサイズが固定された特定のハッシュ関数を用いるが、理論的に安全性を定義するためにはセキュリティパラメータに関する漸近的な性質として表す必要がある。
- 量子計算機に対しても安全と思われる公開鍵暗号を、ポスト量子暗号と呼ぶ。 ポスト量子暗号の有力な候補として格子暗号や誤り訂正符号の問題に基づく暗号、多変数多項式の問題に基づく暗号などが挙げられる。
- ディジタル署名(電子署名)では、正しいディジタル署名を作成できるのは署名者本人だけであり、正しい署名者が作成したディジタル署名の正当性は、誰でも検証できる必要がある。
- 単純にパスワードや定まった認証情報を検証者に送るような方法で利用者の正当性を示そうとすると、リプレイ攻撃により容易に成りすましが出来る。 そのような攻撃を無効にするために多要素認証方式が広く使われている。 多要素認証方式には公開鍵系の方式と共通鍵系の方式がある。
- ブロックチェーンにおける重要な技術として、(非対話)ゼロ知識証明が挙げられる。ゼロ知識証明を用いると、例えば 「X株買って、従来Y株保有していたが、現在はZ株保有している」 という場合に、X,Y,Zを秘匿しながら Z=Y+Xという関係が成り立つ(正当に取引が行われている)ことを証明できる。
https://kakomonn.com/gijyutushi/questions/80697
最も不適切なのは4番目です。
「単純にパスワードや定まった認証情報を検証者に送るような方法…そのような攻撃を無効にするために多要素認証方式が広く使われている。多要素認証方式には公開鍵系の方式と共通鍵系の方式がある。」
- 誤りポイント
- 多要素認証(MFA)は “何を知っているか(知識要素)/何を持っているか(所持要素)/何であるか(生体要素)” を組み合わせる手法であり,「公開鍵系/共通鍵系」の分類ではありません。
- リプレイ攻撃防止のためにはチャレンジ・レスポンス(ワンタイムトークンやノンス付き認証)などプロトコル設計が重要で,MFA自体は要素を増やす手段にすぎません。
- したがって、この記述は不適切です。
それぞれの選択肢に関して解説してください
各選択肢について、正誤とその理由をまとめます。
選択肢1
**ハッシュ関数は、任意の文字列を一定の長さに圧縮する関数であり、多くの実用的な応用では出力サイズが固定された特定のハッシュ関数を用いるが、理論的に安全性を定義するためにはセキュリティパラメータに関する漸近的な性質として表す必要がある。
- 妥当性:○
- 実用上は SHA-256 のように出力ビット長が固定された関数を使う。
- 一方、暗号理論では「出力長をパラメータ
とし、敵の計算量に対して安全性を
で漸近的に定義する」ことが普通なので、この記述は正しい。
選択肢2
量子計算機に対しても安全と思われる公開鍵暗号を、ポスト量子暗号と呼ぶ。ポスト量子暗号の有力な候補として格子暗号や誤り訂正符号の問題に基づく暗号、多変数多項式の問題に基づく暗号などが挙げられる。
- 妥当性:○
- 「量子計算機のアルゴリズム(例:Shor のアルゴリズム)にも効きにくい」と期待される公開鍵暗号が “ポスト量子暗号” の定義。
- 現在最も注目されているのは格子問題、誤り訂正符号問題、多変数多項式問題ベースの方式であり、誤りなく挙げられている。
選択肢3
ディジタル署名(電子署名)では、正しいディジタル署名を作成できるのは署名者本人だけであり、正しい署名者が作成したディジタル署名の正当性は、誰でも検証できる必要がある。
- 妥当性:○
- 「署名作成の秘密鍵を持つ本人のみが署名できる(偽造困難)」「公開鍵を誰でも使って署名の正当性を検証できる(非否認性)」は、ディジタル署名の基本要件そのもの。
選択肢4
単純にパスワードや定まった認証情報を検証者に送るような方法で利用者の正当性を示そうとすると、リプレイ攻撃により容易に成りすましが出来る。そのような攻撃を無効にするために多要素認証方式が広く使われている。多要素認証方式には公開鍵系の方式と共通鍵系の方式がある。
- 妥当性:×
- リプレイ攻撃対策としては「ノンス(使い捨て乱数)付きチャレンジ・レスポンス」や「ワンタイムパスワード(OTP)」など、プロトコル設計上の工夫が必要。
- 多要素認証(MFA)は「知識要素/所持要素/生体要素」を組み合わせる認証強化策であって、公開鍵系 vs 共通鍵系の分類にはならない。
- よってここだけ記述が不適切。
選択肢5
ブロックチェーンにおける重要な技術として、(非対話)ゼロ知識証明が挙げられる。…X,Y,Z を秘匿しながら
という関係を証明できる。
- 妥当性:○
- zk-SNARK や zk-STARK のような非対話型ゼロ知識証明を用いれば、入力・出力・中間値を隠したまま任意の算術回路(加算や乗算の組み合わせ)が正しく評価されたことを証明できる。
- 「株の取引前後の残高増減を隠して正当性だけを示す」といったユースケースにも適用可能。
以上より、選択肢4だけが誤りとなります。