HTTPS协议中的TLS

一.什么是对称加密,非对称加密?

对称加密:使用同一个秘钥,进行加密解密。
非对称加密:有公钥和私钥,其中既可以用公钥加密,再用私钥解密,也可以用私钥加密,再用公钥解密;一般在使用的时候都是服务器端把公钥传输给外面,然后每次服务器向外通信时,用私钥加密,客户端接收到消息之后,用公钥解密就好;服务器接收消息时,客户端用公钥加密,然后服务器用私钥解密即可。

二.什么是HTTPS协议?

SSL:安全套接层,在TCP/IP协议族中,它是位于HTTP协议和TCP协议之间的安全层协议。
TLS:传输层安全性协议,它是在SSL3.0的基础上设计的协议。
HTTP:超文本传输协议。
HTTPS:超文本传输安全协议,HTTPS经由HTTP进行通信,但利用TLS来保证安全,即:HTTPS = HTTP + TLS

三. TLS中证书验证过程?为什么HTTPS比HTTP协议更好?

  1. 当客户端、服务器使用HTTP协议进行通信时,是采用明文传输的方式,因此HTTPS协议考虑通过对称加密的方式对信息进行加密再传输。

  2. 但这样还不够,最开始需要把对称加密的秘钥发送给彼此。容易被黑客攻击截取。因此在一开始考虑用非对称加密的方式来传输对称加密的秘钥。即服务器(server)向客户端发送自己的公钥key1,客户端(client)用key1加密对称加密的秘钥key2,然后发送回server,server拿到之后,用私钥解密key1加密的信息,从而得到key2,然后双方再使用key2进行对称加密通信。

  3. 但是这样还是不安全,非对称加密的公钥还是会被黑客截取。因此就有了证书的验证。首先看一下证书包含的内容。

在这里插入图片描述
server向证书机构发送自己的服务端公钥,证书机构用机构私钥加密服务端公钥,并且会根据服务端网址生成相应的数字签名,并且用机构私钥加密这个证书签名,最终生成好证书。随后,server与client通信时,server直接把证书发送给client,client会验证证书真伪,从本地找到证书机构的公钥后,对证书签名进行机密,如果匹配成功,就为真。并且解析出server的公钥key1。然后再用key1加密对称秘钥key2,发送给server。随后双方又可以用对称加密秘钥key2进行通信了。这就是TLS的证书验证的过程。这样也就安全了。

参考链接:https://mp.weixin.qq.com/s/rZjzFmLyBjc7BdLpAohFzg

发布了111 篇原创文章 · 获赞 0 · 访问量 2720

猜你喜欢

转载自blog.csdn.net/Cheng_MY/article/details/103597904