《深入浅出HTTPS》读书笔记(29):TLS/SSL协议
《深入浅出HTTPS》读书笔记(29):TLS/SSL协议
TLS/SSL协议是一系列算法的组合,相比密码学算法来说,TLS/SSL协议的复杂性就更大了,主要体现在以下方面。
◎协议设计的复杂性:一个完整的解决方案考虑的问题非常多,需要考虑扩展性、适用性、性能等方面,一旦方案设计不充分,攻击者不用攻击特定的密码学算法,而会基于协议进行攻击。
◎协议实现的严谨性:即使协议设计是完美的,在实现协议的时候,也可能犯错误;如果不充分理解密码学算法应用标准,最终实现的协议就会存在安全漏洞。
TLS/SSL协议是最常见的安全解决方案,需要注意的是,TLS/SSL协议并不是唯一的解决方案。
TLS/SSL协议在网络协议中的定位:
TLS/SSL协议位于应用层协议和TCP之间,构建在TCP之上,由TCP协议保证数据传输的可靠性,任何数据到达TCP之前,都经过TLS/SSL协议处理。
任何应用层协议(HTTP、SMTP、FTP、其他自定义应用层协议)都可以结合TLS/SSL协议。
TLS/SSL协议一般构建在TCP之上,也可以构建在UDP之上,称为DTLS(Datagram Transport Layer Security)协议。
TLS/SSL协议有四个目标:
◎数据是机密的:通信两端传输的数据应该是安全的,不可伪造和篡改的。
◎互操作性:TLS/SSL协议是标准的,任何开发者基于TLS/SSL RFC设计规范都可以实现该协议
◎可扩展性:SSL协议允许动态地引入新的算法
◎效率:解决方案必须是高效的