1

一部のデータを暗号化するためにAESを使用していますが、問題は、4桁のみを含むキー(PINコードなど)を使用する必要があるため、誰でも9999回ループしてキーを見つけ、テキストを復号化できることです。ここで暗号化しているデータはSMSです。

これを避けるためのアイデアはありますか?

4

4 に答える 4

1

編集:塩を追加することについての私のコメントを削除しました、これを指摘したすべての人は正しかったです。おそらく、ブルートフォース攻撃に非常に長い時間がかかるように、復号化の時間計算量を増やすことができます。

編集:これを読んでください:https ://security.stackexchange.com/questions/6719/how-would-you-store-a-4-digit-pin-code-securely-in-the-database

于 2012-06-08T15:13:52.170 に答える
1

いいえ、ありません。塩と反復回数を必要なだけPBKDFに追加できますが、最終的に攻撃者は10Kの試行しか行わず、それがピーナッツです。

これを行うための唯一の賢明な方法は、復号化を実行する別のエンティティを用意することです。キーシードに独自の秘密エントロピーを追加し、強力なキーを使用できます。次に、エンティティはPINを使用した認証に制限を課します。

システムのセキュリティアーキテクチャをよく調べて、この問題を回避するために何かを変更できるかどうかを確認することをお勧めします(アクセス制御、その他のログイン資格情報など)。

于 2012-06-08T17:17:06.060 に答える
1

ATMマシンと同じアプローチを取ることができます。誰かが間違ったPINを3回入力すると、そのアカウントは一時的に無効になり(タイムアウトを設定することもできます)、そのユーザーは何らかのアクションを実行する必要があります(たとえば、彼/彼女のアカウントに反応するために電子メールの確認リンク)。

また、PINをそのユーザーの一意のプロパティ(できれば、そのユーザーが登録されたときにランダムに生成された文字列)でソルトする必要があります。また、ハードコーディングされているか、構成ファイルから読み取られるすべてのハッシュにソルトを追加することをお勧めします(データベースが危険にさらされているが、残りは危険にさらされていない場合に役立ちます)。

このアプローチでも、誰かが単一のPINを選択し、ユーザー名を総当たり攻撃する攻撃に対して脆弱なままになります。同じポリシーをIPアドレスに適用することで、これに対していくつかの対策を講じることができますが、それでもまだ最適とは言えません。

編集:PINをハッシュするのではなく、トラフィックを暗号化することが目標である場合は、HTTPSまたは公開鍵暗号に基づく別のプロトコルを使用する必要があります。そうすれば、これらのSMSの暗号化にPINを使用する必要がなくなります。

于 2012-06-08T19:14:32.160 に答える
0

4桁しか入力できないと仮定して、アプリケーションのキー長に送信者の電話番号などを埋め込みますか?

于 2012-06-08T15:11:29.110 に答える