0

TCP 接続を介して送信する前に、AES を使用してペイロードを暗号化しています。共有キーへのアクセス権を持たない誰かによって転送中に変更されたかどうかを確認することはできますか?

拡大するには、これは理にかなっていますか?

送信する前に:

1) ペイロードから SHA256 ハッシュを生成 -> ペイロード ハッシュ

2) ペイロード ハッシュ + 共有シークレットから SHA256 ハッシュを生成 -> 最終ハッシュ

ペイロード受信時に上記の手順を繰り返し、ハッシュを比較します。

4

1 に答える 1

1

HMAC 関数を生成しようとしています。代わりに SHA-256 を使用する HMAC 関数を使用してください。暗号文に HMAC を使用してください。そうしないと、オラクル攻撃のパディングに対して脆弱になる可能性があります。別々の MAC キーと暗号化キーを使用するのがベスト プラクティスですが、HMAC の場合はおそらく 1 つのキーで済むでしょう。

トランスポート層暗号化のデフォルトの方法は TLS である必要があることに注意してください。これには、完全性と信頼性に加えて、エンティティ認証、セッション キーの確立、完全な転送秘密、よく研究されたプロトコルとアルゴリズムなどの優れた機能が既に組み込まれています。

于 2014-03-04T22:42:26.243 に答える