我在使用AES加密我的有效负载,然后通过TCP连接发送它。是否可以验证是否在无法访问共享密钥的人员的传输过程中对其进行了修改?
要扩展,这有意义吗?
发送前:
1)从有效负载生成SHA256哈希 - >有效负载哈希
2)从有效负载散列+共享秘密生成SHA256散列 - >最后的哈希
在有效负载上接收重复上述步骤并比较哈希值。
答案 0 :(得分:1)
您正在尝试生成HMAC功能。请使用使用SHA-256的HMAC功能。请在密文上使用HMAC,否则您可能容易受到填充oracle攻击。最佳做法是使用单独的MAC&加密密钥,但对于HMAC,您可以使用一个密钥来逃脱。
请注意,传输层加密的默认方法应该是TLS,它已经包含了完整性和安全性。真实性加上实体认证,会话密钥建立,完善转发保密,研究良好的协议和算法等等。