0

暗号化されたデータを Web サービスに送信する WinForms クライアントがあります。WinForms クライアントは Symmetric RijndaelManaged sessionKey を作成し、「ハードコードされた RSA 非対称公開鍵」も持っています。

EncryptedXml クラスを使用しているため、データを簡単にパッケージ化できます。

Web サービスには、秘密鍵と公開鍵の両方が「ハードコーディング」されており、SessionKey を正常に復号化し、それを使用して送信中の実際のデータを復号化できます。

これは、EncryptedData クラスによってほとんど自動的に処理されます。

私が抱えている問題は、返信したいときにWebサービス側で、送信されたSessionKeyを取得する方法がわからないことです。

Web サービス側で復号化を行う前に、暗号化されたセッション キーを確認できますが、XML を復号化すると、それはなくなります (したがって、応答用のセッション キーがありません)。

この暗号化されていないキーを取得する方法はありますか?

4

1 に答える 1

0

セッションキーが表示されない理由は、自動的に復号化されて使用されるためです。通常、これはXMLの一部と見なされます。あなたがそれを手に入れたいのなら、ただ使ってください

暗号化されたxml.decryptencryptedkey

そして、あなたは大丈夫でなければなりません。重要度の低いすべてのセキュリティ警告について、ここに示されているコードは、中間者攻撃と、パディングオラクル攻撃の両方に対して脆弱であることに注意してください。ただし、ほとんどの盗聴の試みに対しては役立つはずです。

最後に、セッションキーを再利用することも、かなり悪いセキュリティ慣行と見なされます。再利用する場合は、少なくともIVの使用を検討してください。たとえば、各フォローアップメッセージのカウンターなどです。

于 2011-06-21T20:46:56.220 に答える