2

パスワードで保護する必要があるオフライン ファイルがいくつかあります。私の戦略は次のとおりです。

  • 暗号アルゴリズム: AES、128 ビット ブロック、256 ビット キー (PBKDF2-SHA-256 10000 回の反復でランダムなソルトが別の場所にプレーンに格納されます)

  • ファイル全体がページサイズ1024バイトのページに分割されています

  • 完全なページの場合、CBC が使用されます

  • 不完全なページの場合、

    • 少なくとも 1 つのブロックがある場合は、CBC を暗号テキスト盗用で使用する

    • ブロックが 1 つ少ない場合は CTR を使用する

この設定により、同じファイルサイズを維持できます

IV または nonce は、salt および deterministic に基づきます。これはネットワーク通信ではないので、リプレイ攻撃を気にする必要はないのではないでしょうか?

質問: この種の混合はセキュリティを低下させますか? ファイル全体で CTR を使用した方がよいでしょうか?

4

2 に答える 2

4

ファイル全体に CTR を使用する方がよいでしょう。そうしないと、複数のモード (CBC、CTR、および CTS) をサポートし、使用するモードを決定するために、多くの余分な作業が追加されます。CTR は大量のデータを暗号化するのにまったく問題ないため、そうすることの価値があるかどうかは明らかではありません。

各ページに同じ IV を再利用する予定はありますか? ページの意味を少し拡張する必要がありますが、ページごとに固有の IV をお勧めします。これらのページは何らかの方法でアドレス指定できますか? 一意の IV を生成するためのアイデアとして、新しいディスク暗号化モードのいくつかを調べることをお勧めします。

また、データを MAC する必要もあります。たとえば、CTR では、誰かが暗号文のビットを反転させた場合、解読時にビットが反転され、改ざんされたことを知ることはありません。HMACを使用するか、スキーム全体を単純化したい場合は、AES GCMモードを使用します。これは、暗号化のための CTR と整合性のための GMAC を組み合わせたものです。

于 2012-10-15T04:08:47.823 に答える
2

CTR モードについて知っておくべきことがいくつかあります。それらをすべて理解したら、状況に応じてストリーム暗号を喜んで適用できます。

  • 同じナンスを持つデータキーを再利用しないでください。
  • 上記、間に合いませんでし
  • CTR モードでは、暗号化されたデータのサイズが実際に表示されることに注意してください。常に完全なブロックを暗号化すると、これをある程度隠すことができます (一般に、ファイル システムの境界が守られている場合、1024 バイト ブロックは 1 ビット ブロックと同じくらいかかります)。
  • CTR モード自体は認証を提供しません (これについては既に説明したように、完了のために)。

最初の 2 つのルールを守らないと、攻撃者は編集の場所をすぐに確認し、攻撃者はプレーン テキストに直接関連するデータを取得できます。

陽性ノード:

  • ファイル内のオフセット (ブロックなど) を nonce の一部として喜んで使用できます。
  • ファイルのシーク、暗号文のバッファリング、CTR 周辺のマルチスレッド コードの作成は非常に簡単です。

そして一般的に:

  • キーが危険にさらされたり変更されたりした場合にすべてを再暗号化する必要がないように、データ固有のキー固有のファイルセットを使用することは報われます。
  • キーの使用方法、保管方法、バックアップ方法などについて十分に検討してください。キー管理は最も難しい部分です。
于 2012-10-16T21:25:13.830 に答える