微前端架构如何改变企业的开发模式与效率提升
1125
2022-10-09
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~