暗号技術の基礎と応用
AES-GCMで使う96ビットのナンス(IV)についての説明として、正しいものはどれか。
- A秘密にする必要はなく、カウンタで作ってもよいが、同じ鍵で同じ値を二度使ってはならない
- B攻撃者に知られると平文が漏れてしまうので、鍵と同じように秘密にして保管しなければならない
- C毎回ランダムに選ぶ必要があり、1ずつ増やすカウンタで作ると安全性が失われる
答えと解説を見る
正解:A. 秘密にする必要はなく、カウンタで作ってもよいが、同じ鍵で同じ値を二度使ってはならない
GCMのナンスに求められるのは、同じ鍵のもとで値が重ならない(一意である)ことです。秘密にする必要はなく、送信の回数を数えるカウンタで作っても条件を満たします。同じ鍵で同じナンスを使うと、CTRモードと同じく平文のXORが漏れるうえ、認証に使う値も求められて、タグを偽造されるおそれがあります。ランダムにナンスを選ぶ場合は、偶然の重なりを避けるため、1つの鍵で暗号化する回数に上限が設けられています(NIST SP 800-38D では2^32回)。
- A. 正しい。一意であることが条件で、予測できないことまでは求められません。
- B. ナンスは暗号文と一緒に送るのがふつうで、秘密にする必要はありません。
- C. 値が重ならなければ、カウンタで作っても安全です。CBCモードのIVとは、求められる性質が違います。