AESを実装しています。暗号化はサーバー側で行われ、復号化はクライアント側で行われます。キーを保存してクライアント側に渡す安全な方法は何ですか? 転送するには、メモ帳または XML に保存する必要がありますか? jks pr証明書を使用してそのキーを保存できますか?
質問する
891 次
1 に答える
0
おそらく最善の方法は、リモート パーティに非対称キー ペア (RSA 2048 ビットなど) を生成させ、公開キーを送信させることです。このトランスポートは、公開鍵が相手からのものであることを検証する必要があるという意味で安全でなければなりません。次に、(ランダムな) AES キーでデータを暗号化し、公開キーで AES キーを暗号化できます。リモート パーティは、(リモート ロケーションに保管されている) 秘密キーを使用して AES キーを復号化します。その後、データを復号化できます。少なくとも AES-CBC モードを使用してください。これはデータの機密性のみを提供し、整合性や認証は提供しません。また、たとえば、データの量により、攻撃者はその内容を推測できる可能性があることに注意してください。
本当の問題は、信頼をどのように確立するかです。これが、電話で RSA 公開鍵の指紋を確認するなどして、RSA 公開鍵が本当に正しい人からのものであることを確認する必要がある理由です。これを自分でプログラミングする代わりに、PGP プロトコルのような確立されたソリューションを使用する方がよいことに注意してください。
于 2013-05-18T21:49:33.747 に答える