定数のブロック暗号初期化ベクトル
ランダム化されていない定数の初期化ベクトル
説明
この欠陥は、暗号化中の初期化ベクトル (IV) に定数が使用された場合に発生します。
リスク
定数 IV の使用は、IV を使用しないのと同じです。このような暗号化データは、辞書攻撃に対して脆弱です。
ブロック暗号は、データを固定サイズのブロックに分割します。CBC (Cipher Block Chaining) などのブロック暗号モードは、辞書攻撃から保護するために、各ブロックと前のブロックからの暗号化出力とを XOR 演算します。最初のブロックを保護するため、このようなモードではランダムな初期化ベクトル (IV) を使用します。複数のデータ ストリームを暗号化するために定数の IV を使用すると、最初のブロックが共通することになるため、データは辞書攻撃に対して脆弱になります。
修正方法
強力な乱数発生器を使用してランダムな IV を作成します。
暗号法的に脆弱な疑似乱数発生器の一覧については、Vulnerable pseudo-random number generator を参照してください。
例
結果情報
| グループ: 暗号化 |
| 言語: C | C++ |
| 既定値: オフ |
コマンド ライン構文: CRYPTO_CIPHER_CONSTANT_IV |
| 影響度: Medium |
バージョン履歴
R2017a で導入