2

あるWebアプリケーション(app1)から別のWebアプリケーション(app2)に送信するカスタマートークンがあります。app1で顧客トークンを暗号化し、app1とapp2の両方で共有されるキーを使用してapp2で復号化したい。私はこれから始める方法を理解していませんか?ネット上に暗号化/復号化のもの(対称鍵、公開鍵など)が多すぎて本当に混乱しているので、誰かが共有鍵を使用してサンプルコードやチュートリアルを教えてくれると非常に役立ちます。もう1つの制限は、これについて詳しく説明する時間が非常に短いことです。前もって感謝します。

編集:-私はhttp://sanjaal.com/java/186/java-encryption/tutorial-java-des-encryption-and-decryption/で与えられているような単純なプログラムを探していますが、AESを使用していますか?共有キーを使用しているAESでこの種の例を見つけることができませんか?

4

2 に答える 2

0

私はこれを提案します:

あなたの各アプリに公開鍵と秘密鍵のペアを割り当て、秘密鍵のパスワードで安全に保護された秘密鍵を保存します。これが非常に安全であることを確認してください。言うまでもなく、公開証明書(公開鍵も含まれています)は公開されます。
各アプリには、他のすべてのアプリの公開鍵証明書があります。これで、アプリが他のアプリと通信したいときはいつでも;

まずsign、送信側アプリの秘密鍵を使用してトークンを(基本的に暗号化して)暗号化します。
次に、データを送信するアプリの公開鍵を使用して、結果の値を暗号化します。

このようにして、この値を受け取るアプリは、中間者があなたが送信したものを理解できず、トークンが信頼できるエンティティからのものであることを確認できないことを保証できます。
ただし、共有キー(対称キー)を使用する場合、対称キーが危険にさらされると、すべてのアプリが危険にさらされます。

于 2012-05-31T11:19:13.737 に答える
-1

通常、非対称アルゴリズム(RSAなど)を使用して対称鍵(AESなど)を暗号化し、他の当事者と安全に共有してから、後続の通信を対称鍵で暗号化します。それは非常に基本的な要点ですが、考慮すべき要素は他にもたくさんあります。

そして、私はいくつかの理由で今あなた自身が非常に大きな問題に巻き込まれているのを見ることができます。

  1. あなたは暗号化の概念を理解していません
  2. あなたはそれを徹底的に研究する気がありません
  3. Webからコードを取得して使用したいだけです。
  4. 本当に短い時間

おそらくあなたの雇用主/クライアントがこれを迅速にやりたいと思っているかもしれないという選択がないかもしれないことを私は理解しています。しかし、私はあなたが何をしているのかを知らない限り先に進まないように徹底的にアドバイスします。クレジットカード情報やその他の重要な顧客情報などの機密情報を扱っている場合は、自分に有利に働き、暗号を徹底的に調べてください。

誤った方法で使用した場合、暗号化アルゴリズムがどれほど強力であるかは関係ありません。したがって、各アルゴリズムを適切に使用する方法と、その長所/短所を理解する必要があります。

于 2012-05-31T07:55:28.230 に答える