【发布时间】:2011-12-04 18:17:37
【问题描述】:
我正在阅读有关 TLS/SSL 协议的信息。有两点阻碍我继续前进。
1) 在 TLS/SSL 中维护消息完整性的需求是什么。如果服务器始终经过身份验证,并且在客户端和服务器之间建立了私有通道(从而排除了中间人攻击),那么有人如何修改传输中的消息?
2) 即使需要维护完整性检查,也会使用哪个哈希函数?客户端和服务器之间何时建立此合同?
任何相关的阅读链接都会有很大帮助。谢谢!
【问题讨论】:
我正在阅读有关 TLS/SSL 协议的信息。有两点阻碍我继续前进。
1) 在 TLS/SSL 中维护消息完整性的需求是什么。如果服务器始终经过身份验证,并且在客户端和服务器之间建立了私有通道(从而排除了中间人攻击),那么有人如何修改传输中的消息?
2) 即使需要维护完整性检查,也会使用哪个哈希函数?客户端和服务器之间何时建立此合同?
任何相关的阅读链接都会有很大帮助。谢谢!
【问题讨论】:
因为你不能保证在所有情况下都有一个私人频道 - 例如。有人可以通过 Internet 控制两台主机之间的众多路由点之一并执行中间人攻击。
哈希函数在握手期间决定。它通常是一个相对强的散列函数的 HMAC 版本,例如SHA2 系列或 Whirlpool。
TLS protocol handshake on Wikipedia的描述很详细,应该可以帮助你理解密码、哈希函数和其他参数是如何选择的。
【讨论】: