Rijndael暗号化のIVについて質問があります。
Rijndaelを使用する現在のアプローチは、静的 Key
およびIv
すべての暗号化操作のペアを使用することです(つまり、コンピューター内のすべての保護されたファイルにこのキーとIvのペアを使用します)。
unique
IVは各Rijndael暗号化に対応している必要があると聞きました。本当?私の現在の使用方法の問題(もしあれば)は何single static Key and Iv pair
ですか?
Rijndael暗号化のIVについて質問があります。
Rijndaelを使用する現在のアプローチは、静的 Key
およびIv
すべての暗号化操作のペアを使用することです(つまり、コンピューター内のすべての保護されたファイルにこのキーとIvのペアを使用します)。
unique
IVは各Rijndael暗号化に対応している必要があると聞きました。本当?私の現在の使用方法の問題(もしあれば)は何single static Key and Iv pair
ですか?
同じメッセージを2回暗号化すると、同じ結果が得られます。キーまたはIVのいずれかを変更することで、そうではありません。(IVを変更することは、プレーンテキストで送信できるため、より簡単です。これには、いかなる種類の秘密の交換も含まれません。)
つまり、同じIVを再利用すると、攻撃者に情報が提供される可能性があります。攻撃者が1つのメッセージの内容を知っていて、同じ暗号化データを再度見ると、同じメッセージであることがわかります。
そうです、私は毎回IVを変えます。(そして、理想的には、どこでも同じキーを使用しないようにしてください...複数のWebサイトに同じパスワードを使用するようなものです。つまり、1つの場所で侵害された場合、どこでもセキュリティが失われます。)
初期化ベクトルは、AESエンジンを特定の状態に初期化します。動的IVを使用する主な目的は、同じファイルを2回連続して暗号化しても、同じ暗号化値が得られないようにすることです。ファイルを復号化するには、これと同じIVでAESエンジンを初期化する必要もあります。結果として、IVは暗号化されたファイルと一緒に保存する必要があります。
初期化ベクトルがあなたのユースケースでそれほど多くの追加のセキュリティを提供するとは思わない。辞書攻撃の対象となる可能性のあるデータ(ネットワーク上のパスワード、カード番号、PINコード)を暗号化する場合に備えておくと便利です。ファイルの場合、それはほとんど不可能です。