11

16バイトのデータをAESで単一のブロックとして暗号化することはどの程度安全ですか?ソルト/IVなし、動作モードなし、数百万の異なる16バイトブロックが暗号化されています。私は暗号について十分に知りませんが、これは私にはにおいがします。

編集:もう少し詳しく説明すると、これはメッセージの暗号化ではなく、プレーンテキストの長さがたまたま16バイトであるデータベーステーブルの列に関するものです。データは完全にランダムではなく(最初の8バイトは同じであることが多い)、正常な復号化を識別するためのチェックサムがあります。

私は来週、提案している人たちとのミーティングに参加します。問題がある場合は、設計が安全でないことを示すことができる参考資料へのいくつかのポインタをいただければ幸いです。私はこのシステムに完全には精通していませんが、これを回避するには大幅な再設計が必要になる可能性があるため、多くの抵抗がある可能性があります。関係する人々(および権力)のほとんどは、動機が機能するシステムを取得することであるビジネス側にいます...

4

5 に答える 5

10

ECB は、一般的な使用には安全ではありません。特定の平文は常に同じ暗号文に暗号化されるため、パターンが明らかになります。ただし、安全な特殊なケースがあり、このアプリケーションはその 1 つかもしれません。

Applied Cryptography、第 2 版 pgを引用。190、ブロック暗号の ECB モードに関して:

プラス面としては、複数のメッセージを同じキーで暗号化してもセキュリティ リスクはありません。実際、各ブロックは、同じ鍵で暗号化された個別のメッセージと見なすことができます。

後で (p. 208)、Schneier は次のように述べています。

シンプルさと速度が主な関心事である場合、ECB はブロック暗号を使用する最も簡単で最速のモードです。また、最弱です。ECB モードのアルゴリズムは、リプレイ攻撃に対して脆弱であることに加えて、暗号解析が最も簡単です。メッセージの暗号化に ECB はお勧めしません。

他のキーなどのランダム データを暗号化するには、ECB を使用するのが適したモードです。 データは短くランダムであるため、このアプリケーションでは ECB の欠点は問題になりません。

あなたの場合の共通のプレフィックスとチェック ディジットは、共通の暗号文を生成しません。これは、平文ブロック全体が複製された場合にのみ発生します。あなたが説明したことから、アプリケーションは ECB に適している可能性があります。特に、各プレーン テキスト値が全体として一意である場合はそうです。

于 2009-02-25T19:10:28.533 に答える
4

初期化ベクトルまたは IV としても知られるソルトがなければ、暗号文 (そして、鍵もそうだと思います) のセキュリティは大幅に低下します。潜在的な攻撃者は、暗号化されたテキスト内の繰り返しパターンをはるかに簡単に判別できます。IIRC これは、Microsoft が MS Office 暗号化方式をアップグレードしたときに犯したのと同じ基本的な間違いでした。

于 2009-02-25T18:53:21.227 に答える
3

AES は、暗号文のみの攻撃に対して非常に強力です。ただし、同じキーで多くの平文を暗号化すると、既知の平文および選択された平文の攻撃に対してシステムがより脆弱になります。

そうは言っても、暗号化キーがランダムで、平文がランダムに見える場合でも、安全である可能性があります。しかし、私は間違いなく別のキーを使用することを検討します.

一方、平文が相互に関連している場合や一見無作為に見えない場合、ECB はまったく安全ではありません。

于 2009-02-25T19:25:55.750 に答える
0

ショートメッセージのAESの弱点を認識していません。アルゴリズムは十分に満足しているはずです。

あなたが望むあなたの会議に連れて行くために:

1)脅威モデル(彼らが去る、または「悪者になる」ときに何が、いつ、そして何が起こるかを誰が見るかもしれない)。

2)脅威モデルのいくつかのユースケース。

これにより、本当にAESをソルトする必要があるかどうかを判断できるはずです。また、AESを使用して無意味な他の場所で値を導出できる場合、暗号化によって列の値が実際に保護されますか。最後に、「キーはデータよりも本当に安全ですか?」という質問をします。キーがデータと同じサイズ(サイズ=「ちょっと小さい」)であり、保護しているデータと同じようにアクセス可能であるこのようなスキームを見てきました。はい、攻撃者があなたが何をしたかを理解している間、それはあなたに数時間を購入しますが、それはあなたに確かなセキュリティの方法で多くを与えません。

それがあなたに何かを噛むのを助けそして与えることを願っています。あなたの特定の位置を知らないので、答えを調整するのは難しいです。:)

于 2009-02-25T23:22:01.253 に答える
-4

暗号化の用語では、攻撃者が特定のアルゴリズムと IV を知っている場合にのみ、これは安全ではありません。

ある仮定が立てられます: 復号化された後、攻撃者は復号化の試みが成功したことを知るために、データがどのように見えるかを知ることができますか? たとえば、MD5、CRC、または復号化の試みが成功したことを確認できる何らかの形式のチェックサムはありますか? その場合、攻撃者に試行を検証する方法を提供します。

しかし、ハッキングに関して言えば、(128 ビット暗号の場合) 2^128 のキーの組み合わせがまだあり、テラバイトのデータに同じキーを使用するのと同じくらい安全です。16 バイトのデータは 1 つのブロックにすぎないため、操作モードは関係ありません。そのため、暗号ブロック連鎖 (CBC) は適用されません。

ただし、salt IV は適用され、その値はキー自体と同じくらい秘密にする必要があります。レインボー テーブルは、ソルトを使用しない暗号に対するブルート フォース攻撃を加速するために使用できます。これはあなたの弱いリンクです。

于 2009-02-25T18:53:35.250 に答える