4006-555-883

SSL握手协议不清楚?vTrus为你讲解其详细流程

发布时间:2020-11-16 15:03:00

  SSL(Secure Socket Layer)安全套接字协议是运行在应用层和TCP层之间的安全机制。保证上层应用数据传输的保密性、完整性以及传输双发身份的合法性。


  传输加密性:握手协议定义会话密钥后,所有传输的报文被会话密钥加密。

  消息的完整性:传输的报文中增加MAC(消息认证码),用于检测完整性。

  身份验证:客户端认证(可选),服务端认证(强制)

  SSL协议包括:握手协议(Handshake protocol)、SSLpassword变化协议(SSL change cipher spec protocol)、警报协议(Alert protocol)、记录协议(Record protocol)。

  握手协议是SSL连接通信的第一个子协议也是最复杂的协议。



  SSL分层结构


SSL握手协议


  通过握手过程,客户端与服务端之间协商会话参数(包括相互验证、协商加密和MAC算法、生成会话密钥等)。



  SSL握手协议过程


      第一阶段:建立安全能力

  客户端-client_hello:

  客户端可以支持的SSL最高版本号;

  客户端生成的32字节的随机数;

  会话标识符ID;

  客户端可以支持的密码套件列表;

  客户端可以支持的压缩方法列表。

  服务端-server_hello:

  SSL版本号,取收到的客户端SSL版本和服务端支持的最高版本中的较低者;

  服务端生成的32字节的随机数;

  会话标识符ID;

  从收到的客户端密码套件列表中选择一个密码套件(包含密钥交换算法、对称加密算法、摘要算法);

  从收到的客户端压缩方法列表中选择一种压缩方法。


  第二阶段:服务端验证和密钥交换

  服务端-certificate:

  含有公钥信息的服务端数字证书或到CA的完整证书链。

  服务端-server_key_exchange:

  可选,根据密钥协商算法而定,如果传送给客户端的服务端证书数据不足以按照第一阶段选定的密钥交换算法协商密钥,该步骤不足密钥协商元素。

  服务端-certificate_request:

  可选,请求验证客户端证书信息,单向数据认证(只认证服务端)无此步骤。

  服务端-server_hello_done:

  通知客户端版本号和加密套件协商结束。


  第三阶段:客户端验证和密钥交换

  客户端-certificate:

  可选,客户端数字证书,双向数据认证中服务端要求验证客户端身份合法性。

  客户端-client_key_exchange:

  客户端交换密钥,视密钥交换算法而定,密钥协商参数或pre-master key(服务端公钥加密)。

  客户端-certificate_verify:

  可选,客户端将已交互的握手消息、会话密钥的摘要值用客户端私钥加密发送给服务端。


  第四阶段:完成

  客户端-change_cipher_spec:

  改变密码格式信息,告诉服务端之后的报文消息用会话密钥加密。

  客户端-finished:

  向服务端宣布握手协议完成。

  服务端-change_cipher_spec:

  改变密码格式信息,告诉客户端之后的报文消息用会话密钥加密。

  服务端-finished:

  向客户端宣布握手协议完成。


  【参考来源:51cto】

最新发布
1
什么是EV代码签名证书
2
小威技术贴 | Apache单IP如何配置多个HTTPS虚拟主机
3
小威开讲啦 | Nginx如何实现OCSPStapling
4
小威开讲啦 | 如何修复 POODLE SSLv3 安全漏洞 (CVE-2014-3566)
5
HTTPS证书如何选择?
6
不用怀疑!SSL证书国产化已成必然趋势
7
为什么国家一直大力推行国密SSL证书?
8
原来除企业网站外,这些场景全都需要SSL证书……
9
请查收这份国密SSL改造方案,超200家头部企业用了都说好!
10
隐私风险跃居国内首要网络隐患?尽快部署SSL证书为网站加上“安全锁”
相关推荐
什么是EV代码签名证书
短链接钓鱼再度肆虐 部署高等级SSL证书杜绝安全隐患
小威开讲啦 | Nginx如何实现OCSPStapling
信息泄露成网络诈骗犯罪源头,SSL证书为敏感信息穿上“防护衣”
88%企业遭受DNS攻击 SSL证书为您的DNS安全护航
@所有网站运营者,SSL证书过期不要慌
原来除企业网站外,这些场景全都需要SSL证书……
隐私风险跃居国内首要网络隐患?尽快部署SSL证书为网站加上“安全锁”
小威技术贴 | Apache单IP如何配置多个HTTPS虚拟主机
为什么国家一直大力推行国密SSL证书?