0

在通过 TCP 连接发送之前,我正在使用 AES 加密我的有效负载。是否可以验证它是否在传输过程中被无权访问共享密钥的人修改?

展开,这有意义吗?

发送前:

1) 从有效载荷生成 SHA256 哈希 -> 有效载荷哈希

2)从payload hash + shared secret -> final hash生成SHA256 hash

在有效负载接收上重复上述步骤并比较哈希值。

4

1 回答 1

1

您正在尝试生成 HMAC 函数。请改用使用 SHA-256 的 HMAC 函数。请在密文上使用 HMAC,否则您可能容易受到填充预言机攻击。最佳做法是使用单独的 MAC 和加密密钥,但对于 HMAC,您可能只需使用一个密钥即可。

请注意,传输层加密的默认方法应该是 TLS,它已经包含了完整性和真实性以及实体认证、会话密钥建立、完美转发保密、经过深入研究的协议和算法等好东西。

于 2014-03-04T22:42:26.243 回答