2011-01-27 16 views
2

私の要件:サーバとクライアント(J2EE)間でいくつかの鍵を交換する必要があります。暗号化アルゴリズムを決定する

キーは単なるテキストです。数字はおそらく30文字を超えない文字列です。

鍵は機密扱いであるため、暗号化を考えて、同じ鍵を受け取ったときにそれを復号化します。

Q1)従来のコードでは「PBEWithMD5AndDES」を使用しています。私はそれが適切かどうかを知りたいです。

パフォーマンスの面では、それは良いでしょうか?

UPDATE:

  • クライアント側には何のロジックはありません。サーバーは暗号化された文字列をクライアントに送信し、クライアントはそれを返します。ちょうどjsessionidのように。

  • 鍵はクレジットカード番号のように敏感ではありません。ここで

    • シナリオです:しかし、それはUPDATE

    プレーン符号化技術よりも優れ、判読できない形式で交換する2を必要とします。アラートからの「退会」を含むメールをクライアントに送信します。そのリンクをクリックすると、ログインのプロンプトが表示されずにアラートが無効になります。だから、私は彼のuserIDを暗号化し、それに脱退リンクを含めます。サーバー側では、自分のアラートを復号化して非アクティブ化します。 したがって、ハッカーによって渡されたパラメータは機能しません。

答えて

1

おそらく、サーバーとクライアントの両方で秘密鍵と公開鍵を生成し、受信者の公開鍵と交換するためにその鍵を暗号化するだけです。

または、AES256のような強力なものと対称キーを使用してください。

新しいシステムにはDESを使用しないでください。かなり古く、壊れやすいことが分かりました。

実際の実装については、質問に十分な詳細があるかどうかは完全にはわかりません。

+0

感謝。 質問を更新しました。まだ不明な点がある場合はお知らせください。 – Firefox

+0

AES256はシンメトリックなので、単一のキーを使用します。秘密鍵と公開鍵は、RSAのような非対称暗号化アルゴリズムで使用されます。 – pablochan

+0

早いです。つかれた。ええ、そうです。 –

0

AES256は良い選択肢になります。しかし、パフォーマンスが重くなるでしょう。別のオプションはRC4です。

+0

鍵はクレジットカード番号のように敏感ではありません。しかし、それは平易なエンコーディング技術よりも読めない形式で交換する必要があります。 – Firefox

+0

多くのセキュリティを必要としないので、私はサイファーを構成することを勧めますが、魅力的ですが、RC4を見てください。それは周りにあり、それのためのいくつかの迅速な実装があります。 Wikipediaにもいくつかのコードがあります。このような対称暗号の使用の問題は、何らかの形でクライアントが侵害され、クライアントのcypher-keyがわかっている場合、クライアントの応答をもう信用できなくなるということだけです。 – notthetup

+0

普通の古いXORはどうですか? –

0

セッショントークンの一種として、クライアントで使用されていない場合、なぜあなたはまったく暗号化しますか?

秘密に加えて、セッションで保持されているハッシュ値またはランダム値を使用できます。

+0

ここにシナリオがあります。 アラートからの「退会」を含むメールをクライアントに送信します。そのリンクをクリックすると、ログインのプロンプトが表示されずにアラートが無効になります。だから、私は彼のuserIDを暗号化し、それに脱退リンクを含めます。サーバー側では、自分のアラートを復号化して非アクティブ化します。 – Firefox

0

私はAES-256を提案します。それは現時点では不可解であり、強力な対称暗号化の標準になっています。

また、それは、シームレス(java.security持つjavax.cryptoを参照)は、Javaでサポートされています。さらに、AESは多くのフリーウェアツールでサポートされています。たとえば、Unix上のOpenSSLで使用できます。
AES256はパフォーマンス面で重いですが、これは30文字の文字列/ドキュメントを暗号化しても問題ありません。 (明らかに何百万というものがない限り)

また、ブロックモードやパディングなどの他の暗号化仕様を決定する必要があります。 ここに私の提案 - これは、私はJavaで固体の暗号化を行うために必要としたとき、私が今までに使用したものである:

  • 暗号化アルゴリズム:CBC:256ビットの鍵
  • ブロックモードを使用してAES (暗号ブロックチェーン接続)
  • パディング:返信用PKCS5Padding
関連する問題