天威诚信|SSL握手协议不清楚?vTrus为你讲解其详细流程
SSL(SecureSocketLayer)安全套接字协议是运行在应用层和TCP层之间的安全机制 。 保证上层应用数据传输的保密性、完整性以及传输双发身份的合法性 。
文章图片
传输加密性:握手协议定义会话密钥后 , 所有传输的报文被会话密钥加密 。
消息的完整性:传输的报文中增加MAC(消息认证码) , 用于检测完整性 。
身份验证:客户端认证(可选) , 服务端认证(强制)
SSL协议包括:握手协议(Handshakeprotocol)、SSLpassword变化协议(SSLchangecipherspecprotocol)、警报协议(Alertprotocol)、记录协议(Recordprotocol) 。
握手协议是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-masterkey(服务端公钥加密) 。
客户端-certificate_verify:
可选 , 客户端将已交互的握手消息、会话密钥的摘要值用客户端私钥加密发送给服务端 。
第四阶段:完成
客户端-change_cipher_spec:
改变密码格式信息 , 告诉服务端之后的报文消息用会话密钥加密 。
客户端-finished:
向服务端宣布握手协议完成 。
服务端-change_cipher_spec:
改变密码格式信息 , 告诉客户端之后的报文消息用会话密钥加密 。
服务端-finished:
向客户端宣布握手协议完成 。
【天威诚信|SSL握手协议不清楚?vTrus为你讲解其详细流程】【参考来源:51cto】
推荐阅读
- 网络|漆亚林:互联网平台要诚信地面对自己也要诚实地面对自己
- 网络诚信大家谈|宣亚国际薛玲:综合运用技术手段维护、支撑、优化和提升信用体系建设
- 诚信|望岳谈|网络诚信大会上升为“国家级”,升格后为何首站选择曲阜,选在山东?
- 2020中国网络诚信大会 | 哔哩哔哩董事长陈睿:企业长期发展数据真实是必须的 只有真实的才是可长期的
- 互联网大咖齐聚网络诚信论坛 共话短视频、直播与青年网络生活
- 郑文彬:新时代青年要以诚信为本,互联网企业要以诚信为纲
- 带货|辛巴直播带货状况不断,离封杀不远了,毕竟诚信比能力更重要
- 数码围观财|六个阻止恶意SSL通讯的要点
- 天威诚信iTrusChina|天威诚信受邀参加CDEC2020中国数字智能生态大会