TLS:接近上层应用层的握手层协议

上一篇日志总结了TLS协议中,在握手层之下接近TCP传输层的记录层协议,其主要工作是将上层握手层的消息进行分块,封装,添加消息头处理。那么,握手层发来的消息里面都有些什么呢?我们都知道客户端和服务器端握手时会进行密钥协商,协商得出一个密码套件(或者叫预备主密钥),密码套件指定了客户端和服务器端连接使用的密钥协商算法,加密算法等,密码套件通过密码衍生算法转换为主密钥(或者说会话密钥),主密钥再用同样的密码衍生算法转换为各个密钥块,每一块密钥亏对应的是参数,如初始化向量IV,AES对称加密密钥等。由此可见TLS协议握手层是多么的重要。

 

四个子协议

握手层协议由四个子协议组成:握手协议、警告协议,应用层协议和密码切换协议。其中密码切换协议在上一篇里简单提到过,客户端和服务器端在一开始建立连接时,各自都处于可读状态和可写状态,当双方的密钥块准备好后,就可以向对方发送密码切换协议消息,提示对方切换连接状态为可读和可写状态,最后进行数据的加密操作。

握手协议消息头

从握手层消息头格式可以看到,由一个字节长度的子消息类型,加上三个字节长度的消息长度标识,可变长度的消息内容组成,和记录层的消息类型一样,不同的类型有不同的十六进制编号,上图的记录层消息头中,消息类型是0x16,标识的是握手协议。

密码切换

TLS记录层协议在处理握手,警告和密码切换子协议时,都没有进行加密保护,因为此时客户端和服务器端还没有完成密钥协商,协商出一个双方都支持的密码套件,因此,TLS记录层协议在处理这三个子协议时都是明文传输的,为其添加上消息头,封装。当客户端和服务器端协商出密码套件后,由密码切换子协议用来

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值