AES-GCMアルゴリズムは機密性だけでなく完全性も提供します。完全性は全体的にセキュリティの重要な部分であることを理解していますが、起こり得る攻撃に関して考えるときは常に、POODLEのような転送中の暗号化に対する攻撃のみです。
AES-GCMおよび静止時の暗号化に適したユースケースはありますか?
もちろんです。保管されているデータはおそらく最終的に何かに使用され、その使用が攻撃者の影響を受けないようにする必要があります。 ほとんどデータの整合性に対する攻撃は、攻撃者が少なくともプレーンテキストの構造と、理想的にはコンテンツの一部を知っている場合に最もよく機能するものです(たとえば、HTTPSでは簡単ですが、既知のオフセットなどを使用する多くのファイルタイプ)。
そのような攻撃の容易さは、多くの要因に依存します。あなた(攻撃者)は暗号文への書き込みアクセス権を持っていますか?攻撃者は、ストリーム暗号(ビットを反転するのは簡単です。暗号テキストの各変更は、副作用のないプレーンテキストの変更に直接対応します)またはブロック暗号のようなものを使用しましたか?約、あなたはおそらくファイルの他の部分をスクランブルするでしょう?データの長さを編集せずに希望の変更を加えることができますか(おそらく解読が失敗します)?
この種の攻撃は、転送中のデータに対しても機能することに注意してください。パディングオラクルなどを利用すると、暗号化されたデータが復号化される可能性がありますが、目的を達成するには、データをわずかに変更し、変更された暗号文を送信するだけで十分な場合があります(またはさらに便利な場合もあります)。
いくつかの例:
/etc/shadow
(または同等のもの)は、それがどのように構造化されているか(読み取ることができない場合でも)、ユーザーIDを0に変更するなどの方法で実行できます(自分のIDがわかっていて、ファイルのどこにあるかがわかります)現在の値と設定する値のXORマスクを使用して関連するバイトをXORマシンがウェイクアップしたときに設定されます。その後、起動して以前の低特権アカウントにログインできます。ちなみに、この種のことは、通常、認証タグを保存する場所がないため、ディスク暗号化に対する本当のリスクです。そのため、ほとんどのディスク暗号化には強力な整合性保護がありません。これは特に、パスワードなしのディスク暗号化(TPM専用モードなど)の弱点の1つです。