⾯试题-------SSL协议简介
SSL协议简介
SSL简介
Secure Socket Layer,为Netscape所研发,⽤以保障在Internet上数据传输之安全,利⽤数据加密(Encryption)技术,可确保数据在⽹络上之传输过程中不会被截取及窃听。只要3.0版本以上之I.E.或Netscape浏览器即可⽀持SSL。当前版本为3.0。它已被⼴泛地⽤于Web浏览器与服务器之间的⾝份认证和加密数据传输。
SSL协议位于TCP/IP协议与各种应⽤层协议之间,为数据通讯提供安全⽀持。
SSL协议提供的安全通道有以下三个特性:
机密性:SSL协议使⽤密钥加密通信数据。
可靠性:服务器和客户都会被认证,客户的认证是可选的。
完整性:SSL协议会对传送的数据进⾏完整性检查。
SSL的握⼿与密钥协商过程
基于RSA握⼿和密钥交换的客户端验证服务器为⽰例详解TLS/SSL握⼿过程。
ssl协议全称
TLS/SSL握⼿过程
(1).client_hello
客户端发起请求,以明⽂传输请求信息,包含:版本信息,加密套件候选列表,压缩算法候选列表,随机数,扩展字段等信息。
ClientHello 客户发送CilentHello信息,包含如下内容:
(1)客户端可以⽀持的SSL最⾼版本号
(2)⼀个⽤于⽣成主秘密的32字节的随机数(random_C)。(⽤于⽣成主密钥)
(3)⼀个确定会话的会话ID。
(4)⼀个客户端可以⽀持的密码套件列表。
(5)⼀个客户端可以⽀持的压缩算法列表。
(2).server_hello+server_certificate+sever_hello_done
l  server_hello
服务端返回协商的信息结果,包括选择使⽤的协议版本 version,选择的加密套件,选择的压缩算法、随机数 random_S 等,其中随机数⽤于后续的密钥协商(⽤于产⽣主密钥);
l  server_certificates
服务器端配置对应的证书链(公钥放在证书中),⽤于⾝份验证与密钥交换;
l  server_hello_done
通知客户端 server_hello 信息发送结束;
(3).证书校验
客户端验证证书的合法性,如果验证通过才会进⾏后续通信,否则根据错误情况不同做出提⽰和操作,合法性验证包括如下:
证书链的可信性、证书是否吊销、有效期、域名
(4).client_key_exchange+change_cipher_spec+encrypted_handshake_message
l  client_key_exchange
合法性验证通过之后,客户端计算产⽣随机数字 Pre-master,并⽤证书公钥加密,发送给服务器;
l  此时客户端已经获取全部的计算协商密钥需要的信息:两个明⽂随机数 random_C 和 random_S 与⾃⼰计算产⽣的 Pre-master,计算得到协商密钥;enc_key=Fuc(random_C, random_S, Pre-Master)
l  change_cipher_spec
客户端通知服务器后续的通信都采⽤协商的通信密钥和加密算法进⾏加密通信;
l  encrypted_handshake_message
结合之前所有通信参数的 hash 值与其它相关信息⽣成⼀段数据,采⽤协商密钥 session secret 与算法进⾏加密,然后发送给服务器⽤于数据与握⼿验证;
(5).change_cipher_spec+encrypted_handshake_message
l  服务器⽤私钥解密加密的 Pre-master 数据,基于之前交换的两个明⽂随机数 random_C 和 random_S,
计算得到协商密
钥:enc_key=Fuc(random_C, random_S, Pre-Master);
l  计算之前所有接收信息的 hash 值,然后解密客户端发送的 encrypted_handshake_message,验证数据和密钥正确性;
l  change_cipher_spec
验证通过之后,服务器同样发送 change_cipher_spec 以告知客户端后续的通信都采⽤协商的密钥与算法进⾏加密通信;
l  encrypted_handshake_message
服务器也结合所有当前的通信参数信息⽣成⼀段数据并采⽤协商密钥 session secret 与算法加密并发送到客户端;
(6).握⼿结束
客户端计算所有接收信息的 hash 值,并采⽤协商密钥解密 encrypted_handshake_message,验证服务器发送的数据和密钥,验证通过则握⼿完成;
(7).加密通信
开始使⽤协商密钥与算法进⾏加密通信。
数字证书
数字证书是⼀个经证书授权中⼼数字签名的包含公开密钥拥有者信息以及公开密钥的⽂件。最简单的证书包含⼀个公开密钥、名称以及证书授权中⼼的数字签名。数字证书还有⼀个重要的特征就是只在特定的时间段内有效。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。