TLS 传输层安全性协议(英语:Transport Layer Security),及其前身SSL安全套接层(Secure Sockets Layer)是一种安全协议,目的是为互联网通信提供安全及数据完整保障。TLS是SSL发展而来。
发展历史:
定义 |
|
---|---|
协议 |
年份 |
SSL 1.0 |
未知 |
SSL 2.0 |
1995 |
SSL 3.0 |
1996 |
TLS 1.0 |
1999 |
TLS 1.1 |
2006 |
TLS 1.2 |
2008 |
TLS 1.3 |
2018 |
SSL/TLS的应用
SSL/TLS是一个安全通信框架,上面可以承载HTTP协议或者SMTP/POP3协议等。
TLS协议的架构
TLS主要分为两层,底层的是TLS记录协议,主要负责使用对称密码对消息进行加密。记录协议建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能支持。而TLS握手协议则建立在TLS记录协议之上。
上层的是TLS握手协议,主要分为握手协议,密码规格变更协议和应用数据协议4个部分。
-
握手协议负责在客户端和服务器端商定密码算法和共享密钥,包括证书认证,是4个协议中最最复杂的部分。
-
密码规格变更协议负责向通信对象传达变更密码方式的信号
-
警告协议负责在发生错误的时候将错误传达给对方
-
应用数据协议负责将TLS承载的应用数据传达给通信对象的协议。
握手协议
握手协议是TLS协议中非常重要的协议,通过客户端和服务器端的交互,和共享一些必要信息,从而生成共享密钥和交互证书。
TLS握手抓包:
每一条消息都会包含有ContentType,Version,HandshakeType等信息。
ContentType指示SSL通信处于哪个阶段,既上层握手协议的四个部分,参考上图TLS层次结构图。是握手(Handshake),开始加密传输(ChangeCipherSpec)还是正常通信(Application)等,见下表
Hex |
Dec |
Type |
0x14 |
20 |
ChangeCiphe |