Https工作原理&TLS握手机制

网友投稿 1005 2022-10-09

Https工作原理&TLS握手机制

Https工作原理&TLS握手机制

Https工作原理&TLS握手机制

@Kyunban Wong

1.HTTPS作用

HTTPS是在HTTP的基础上提供了数据加密的支持,保证了数据:

私密性完整性用来认证客户端和服务端的身份

2.普通HTTP

在普通的HTTP中,数据是明文传输的,很容易出现中间人伪装数据:

面对客户端伪装成服务端,进行窃取数据。面对服务端伪装成客户端,进行窃取数据。

3.HTTPS

HTTPS中使用非对称公钥机制对数据进行加密。HTTPS既能验证对方身份,又能基本避免中间人攻击。

HTTPS的加密是通过TLS(Transport Layer Security)安全传输层协议来实现的。

HTTPS协议在客户端和服务端正常通信之前,会先完成TLS的握手。

​​Key交换算法的不同,握手过程会也会有所不同,Key交换算法一般有RSA、Diffie Hellman​​

以下的讲解以RSA为key的交换算法时的TLS的握手过程,由服务器提供单向认证(HTTPS也可以实现双向认证)

第一步:浏览器发起​​ClientHello​​消息,消息中包括:TLS版本、加密算法集、随机数(客户諯产生);第二步:服务器响应一个​​ServerHello​​消息,消息中包括:TLS版本、加密算法集、随机数(服务器产生);第三步:服务器继续发送一个​​Certificate​​消息,附加服务器的证书;第四步:服务器发送一个​​ServerHelloDone​​消息;第五步:浏览器在收到服务器发来的证书后,验证是否是受信任的机构签发的,是否是真实的服务器;第六步:认证服务器的身份后,浏览器使用证书中附带的公钥生成premaster secret作为ClientKeyExchange,并把生成的premaster secret传给服务器;第七步:服务器接着使用私钥解密得到premaster secret;第八步:浏览器和服务器分别使用premaster secret和之前收到的对方的随机数生成相同的master key,用于加密和解密后续所有的通信;第九步:浏览器向服务器发送​​ChangeCipherSpec​​​消息,然后发送用​​master key​​加密的Finished消息;第十步:服务器接收并验证,接着服务器向浏览器也发送​​ChangeCipherSpec​​​消息,然后发送用​​master key​​加密的Finished消息;第十一步:浏览器接收并验证,至此TLS握手完成。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Git常用命令汇总
下一篇:微信小程序~~仿小米手机天气预报(微信小程序 天气预报)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~