6.1 传输层安全概述

1、传输层安全协议发展历史

 

6.1 传输层安全概述_第1张图片

TLSv1.3 改善握手流程,减少了时延,并采用完全前向安全的密钥交换算法

2、传输层安全协议提供的安全服务

6.1 传输层安全概述_第2张图片

3、会话和连接

6.1 传输层安全概述_第3张图片

  • 一个SSL会话是在客户与服务器之间的一个关联

  • 会话由握手协议协商创建

  • 会话定义了一组可供多个连接共享的密码安全套件集合

  • 避免为每一个连接提供新的安全套件所需的昂贵的协商代价

  • 会话定义的安全套件集合包括:

    • 会话标志:由服务器选择的一个任意字节序列,用以标识一个活动的或可激活的会话状态

    • 对等体数字证书:标识客户端和服务器的X.509.v3证书。可为空。

    • 压缩方法:加密前进行数据压缩的算法

    • 密码规范:指明数据体加密的算法(无,或DES等)以及散列算法(如MD5或SHA-1)用以计算MAC

    • 主密钥(48B):48字节秘密,在client与server之间共享

    • 可恢复性:一个标志,指明该会话是否能用于产生一个新连接

      • 一个连接是一个提供一种合适类型服务的传输

      • 连接是暂时的,每一个连接和一个会话关联

  • 连接状态参数描述:

    • 服务器和客户端随机数:server和client为每一个连接所选择的序号

    • 服务器写MAC密钥:一个密钥,用来对server送出的数据计算消息认证码

    • 服务器写密钥:用于server进行数据加密,client进行数据解密的对称保密密钥

    • 客户端写MAC密钥:一个密钥,用来对client送出的数据计算消息认证码

    • 客户端写密钥:用于client进行数据加密,server进行数据解密的对称保密密钥

    • 初始化向量:当数据加密采用CBC方式时,每一个密钥保持一个IV

      • 该字段由SSL的握手协议字段产生,以后保留每次最后的密文数据块作为初始向量

    • 序列号:每一方为每一个连接的数据发送与接收维护单独的顺序号

      • 当启用新的密码套件时,序号置为0,最大2^64-1

4、SSL体系结构

6.1 传输层安全概述_第4张图片

  • 握手协议

    • 建立一个会话,实现双向身份鉴别和安全套件协商

  • 记录协议

    • 利用握手协议协商的算法和密钥封装上层协议消息,包括SSL握手协议、改变密码规范协议、报警协议和应用曾协议,实现数据源发鉴别、保密性和完整性

  • 改变密码规范协议

    • 只有一种消息,该消息内容只有一个字节,用于通知双方开始使用新约定的安全套件

  • 报警协议

    • 将SSL有关的警告传输给对方实体

    • level=1(警告):意外消息、MAC记录出错、解压失败握手失败、非法参数

    • level=2(致命):无证书、证书出错、不支持的证书、证书撤销、证书过期、未知证书。此时,终止连接,其他连接继续,但此对话不能建立新连接。

5、记录协议

6.1 传输层安全概述_第5张图片

6.1 传输层安全概述_第6张图片

  • 五个步骤

    • 分块、压缩、计算消息认证码、加密和封装

  • 分块

    • 首先要进行分块,每块的长度不超过2^14字节

  • 压缩

    • 如果协商了压缩算法,则用当前会话状态指定的压缩算法压缩数据

    • 压缩数据必须要做到不丢失信息,即为无损压缩,且压缩之后增加的数据长度不超过1024字节

    • 数据压缩不是必须的,是可选的,也没有默认的压缩算法,由双方协商确定

    • 出于安全考虑,在最新的TLS1.3中已经取消压缩

  • 计算MAC

    • 在数据压缩之后,记录协议会用当前会话的密码规范中指定的MAC算法生成消息认证码

    • SSL指定了MAC算法,基于基本的哈希函数MD5或者SHA1

    6.1 传输层安全概述_第7张图片

    • 认证密钥、填充1,包序列号、上层协议标识、压缩后的分段长度、压缩后的分段连接一起计算Hash

    • 此哈希值和填充2、认证密钥再连接计算Hash得到消息认证码

    • Hash:MDA或SHA1

    • 填充1:0011 0110 对MD5重复48次,对SHA1重复40次

    • 填充2:0101 1100 对MD5重复48次,对SHA1重复40次

    • 压缩后的分段:如果没有压缩,则指明文数据段

    • HMAC中认证密钥和填充域是异或关系,而SSL中是连接关系

    • 加密

      • 用当前会话的密码规范中指定的加密算法加密数据,加密算法为对称加密,加密的内容包括压缩数据加上消息认证码,加密对内容长度的增加不能超过1024Byte

    • 封装

      • 记录协议对加密后的密文添加SSL首部,然后添加TCP首部封装成传输层报文

    • SSL消息格式

      • 内容类型,一个字节,指封装的数据协议类型,包括SSL本身的握手协议、密码规范修改协议和报警协议,然后是上层的应用层协议

      • 主版本号和从版本号各占一个字节,如SSLv3.0的主版本号为3,从版本号为0

      • 压缩长度占两个字节,如果选择了压缩,指压缩之后的数据段长度,如果没有压缩,则指明文数据段长度,此长度限定不超过2的10次方+2048字节

你可能感兴趣的:(网络安全,安全,服务器,网络)