TLS协议有TLS记录协议与TLS握手协议两个协议组。每组有许多格式不一样的信息。TLS协议在TCP/IP模型中的位置如下图所示。
应用程序数据 |
TLS握手协议 |
TLS记录协议 |
TCP协议 |
IP协议 |
底层协议 |
(1)TLS记录协议
TLS记录协议是一种分层协议,它被用于封装几种高层协议。用有TLS握手协议得到的安全参数,它先把上层被传输的数据分片成方便管理的块,然后对数据有选择性地压缩,计算出消息认证码,加密(DES、三重DES等),最后把结果送出。对接收的数据实施解密、校验、解压缩、重组等,然后将它们传送到高层客户端。
TLS记录协议的连接安全性的基本特性如下。
①连接是私有的。数据加密采用对称加密方式(DES、RC4等),每次加密的密钥在连接时才由传输层握手协议等高层协议生成,即不同的连接有不同的会话密钥。
②连接是可靠的。协议由消息认证检查对接收的消息的正确性与完整性进行检查。
(2)TLS握手协议
TLS握手协议建立在TLS记录协议之上,由三个子协议组成。在通信双方交换信息之前,通信双方将协商以下的项目,这里协商的项目,将作为底层协议——TLS记录协议的安全参数。
①会话标识符:通信前,服务器将选取一个随机的字节序列标识当前活动会话的状态。
②对方证书:X.509 v3规范的对方证书。
③压缩算法:在加密前进行压缩数据的算法。
④加密算法:指定批量数据加密算法和消息认证检查算法Hash-Size的加密参数。
TLS握手协议的连接安全性有如下长处。
①可用非对称加密或公钥加密算法进行双方的身份认证,且是否认证是可选的。
②共享加密密钥协商过程是安全的。即便攻击者进入在通信双方的中间节点,也无法从协商消息中获取有用的信息。
③协商过程是可靠的。每次协商的结果任何攻击者都无法在不被通信双方察觉时改变协商消息。这样可确保TLS记录协议等底层协议加密的密钥不会被恶意的入侵者窃取。