塩なしの16バイトのAES暗号化
-
06-09-2019 - |
質問
これは、AESを備えた単一のブロックとして16バイトのデータを暗号化するためにどのように安全ですか?ノー塩/ IV、操作の無いモード、暗号化された別の16バイトのブロックの数百万人。私は、暗号化について十分に知らないが、これは私には匂います。
編集:これは、メッセージが、平文の長さが16バイトであることを起こるデータベーステーブルの列を暗号化についてないビット詳細を与えます。データが完全にランダムではない(最初の8つのバイトが頻繁に同じになり)、成功した復号化を識別するためにチェックサムがあります。
私は問題がある場合に、大幅に私はデザインが安全であることを示すことが可能な材料を参照するためにいくつかのポインタをいただければ幸い、この来週提案男との出会いに入るとしています。私はシステムと完全に慣れていないんだけど、私は、これは、抵抗の多くがありそうであるように、周りを取得するための主要な再設計を必要とする可能性があると思います。関係者(及びパワー)の大半は、モチベーションが働くシステムを取得することですビジネスの側にあり...
解決
ECB一般的な使用のために確保されていません。与えられたプレーンテキストは常に同じ暗号文に暗号化し、そのパターンを明らかにすることができます。しかし、そこにそれが安全である特殊なケースがあり、このアプリケーションは、それらのいずれかになります。
応用暗号、第二版PGを引用。 190、ブロック暗号のためのECBモードに関して:
(頁208)プラス側では、何の保障はありません 複数のメッセージを暗号化することで、リスク 同じキーを持ちます。実際には、各 ブロックは、別個のように調べることができ 同じキーで暗号化されたメッセージます。
その後、シュナイアー氏は述べています:
シンプルさとスピードがメインであれば 懸念、ECBが最も簡単です 最速モードでは、ブロック暗号を使用します。それ また、最も弱いです。であることに加え 脆弱再生する攻撃は、 ECBモードのアルゴリズムが最も簡単です cryptanalyzeします。私は、ECBはお勧めしません。 メッセージの暗号化のために。
のようなランダムなデータを、暗号化するための 他のキーは、ECBが使用することをおモードです。 のデータが短く、ランダムであるので、 ECB物質の欠点のどれも このアプリケーションの。
共通のプレフィックスとあなたのケースで数字を確認し、共通の暗号文を生成しません。これは、の全体の平文ブロックが二重化されている場合にのみ発生します。あなたが説明した内容からは、アプリケーションが全体として、ユニークで、ECB-場合は特に、各プレーンテキスト値が良いフィットかもしれません。
他のヒント
また、初期化ベクトルまたはIVとしても知られている塩、なければ、暗号文(と、私は信じて、キー同様)のセキュリティが大幅に低減されます。潜在的な攻撃者は、はるかに簡単に暗号化されたテキストで繰り返しパターンを作ることができるようになります。 IIRCこれはMS Officeの暗号化方式をアップグレードするときに、マイクロソフトが作った同じ基本的な間違いだった。
AES暗号文のみの攻撃に対してかなり強いです。しかし、同じキーで平文の多くを暗号化することは知られている平文と選択平文攻撃へのあなたのシステムをより脆弱になります。
暗号化キーがランダムで、平文は一見ランダムであれば、あなたはまだ安全である可能性がある場合には、言われていること。しかし、私は間違いなく別のキーを使用して検討する。
平文を互いに及び/又はない一見ランダムに関連している場合は、一方、ECBが全く安全ではない。
私は短いメッセージのためのAESのいずれかの弱点を認識していないです。このアルゴリズムは、たくさんの幸せでなければなりません。
あなたの会議に活用するためにあなたがしたいですか:
1)表示される場合があり脅威モデル(何を、いつ、どのような彼らが去るか)「悪い男になったときに起こります。
2)あなたの脅威モデルからいくつかのユースケースます。
これであなたはそれが他の場所でAESの使用はちょっと無意味作る導き出すことができれば、あなたが本当に暗号化が実際に列の値を保護しない、塩AESに必要とするかどうかを決定することができるはずです。最後に、質問を、「データよりも、本当に安全なキーですか?」私は鍵がデータと同じサイズ(サイズ=「ちょっと小」)であり、それが保護されたデータと同じようにアクセスできました。このようなスキームを見てきました。はい、攻撃者はあなたがやった地球上のどの割り出しながら、それはあなたにいくつかの時間を購入しますが、それは固体、セキュリティの方法で、あなたに多くを与えるものではありません。
助け、あなたにかむために何かを与える希望。あなたの特定の位置を知らない、それは答えを調整するのは難しいです。 :)
暗号の用語では、これは、攻撃者が特定のアルゴリズムおよびIVを知っている場合にのみ、安全でないです。
一定の仮定が行われる:復号化されると、攻撃者は、データが復号化の試みが成功した知ってどのように見えるか知っているのだろうか?例えばMD5、CRC、または成功した復号化の試みを確認することができ、チェックサムのいくつかのフォームはありますか?もしそうなら、あなたは攻撃者の試みを検証する方法を与えます。
しかし、ハッキングの観点から、数テラバイトのデータに同じキーを使用するのと同じように安全である、(128ビット暗号のための)キーの2 ^ 128の組み合わせは、まだあります。データの16バイトのみが一つのブロックであるので、あなたは、暗号ブロック連鎖(CBC)は適用されないため、動作モードは無関係である。
しかし、塩IVは適用されず、その値は、ちょうどキー自体と秘密のようでなければなりません。レインボーテーブルは、塩を使用していない暗号にブルートフォース攻撃を促進するために使用することができます。これはあなたの弱点である。