我正在阅读有关TLS / SSL协议的内容。有两个要点阻止我继续前进。
1)在TLS / SSL中维护消息完整性的需求是什么。如果服务器总是经过身份验证,并且在客户端和服务器之间建立了私有通道(从而在中间攻击中排除了Man),那么有人如何修改传输中的消息?
2)即使需要维护完整性检查,也会使用哪个哈希函数?客户端和服务器之间何时建立此合同?
任何相关的阅读链接都会有很大的帮助。谢谢!
答案 0 :(得分:3)
因为您不能保证在所有情况下都有私人频道 - 例如有人可以通过互联网控制两台主机之间的众多路由点之一并执行MitM攻击。
在握手期间决定散列函数。它通常是相对较强的散列函数的HMAC版本,例如SHA2家族或惠而浦。
TLS protocol handshake on Wikipedia的描述非常详细,可以帮助您了解如何选择密码,哈希函数和其他参数。