当前位置: 首页 > Web前端 > HTML

我画了13张图,用最通俗易懂的话来说HTTPS,拿下!

时间:2023-03-27 23:16:53 HTML

前言大家好。我是林三鑫。用最通俗易懂的语言解释最难的知识点是我的座右铭。基础是进步的前提。相信大家一定经常和HTTPS打交道,比如请求接口、访问网站等等。.那么我们会经常思考:什么是HTTPS?HTTPS和HTTP有什么关系?为什么现在所有网站都是HTTPS而不是HTTP?什么是HTTPS?HTTPS实际上就是HTTP+SSL/TLS。至于什么是HTTP,这已经超出了我们今天的讨论范围,但是什么是SSL/TLS呢?其实就是SSL或者TLS,都是加密的安全协议,而SSL就是TLS的前身。现在大部分浏览器都不支持SSL,所以现在普遍使用TLS,但是因为SSL比较出名,所以还是统称为SSL/TLS。那为什么要用HTTPS呢,因为HTTP是明文传输的,不安全,但是HTTP+SSL/TLS更安全,也就是HTTPS更安全。什么是对称加密?什么是对称加密?让我举一个例子。你正在和你的女朋友聊天,你不想让别人知道你在说什么,所以你和你的女朋友约定:双方发送的消息顺序是相反的。看到真实消息:这个所谓的协议,对于双方来说,其实就相当于同一个密钥。只有这个密钥才能知道双方发送的消息是什么。称为对称加密:缺点?一开始,双方必须协商密钥(secretkey)应该是什么样子,这个过程可能会被黑客监控。一旦第三者知道了密钥,你们两个的信息就很容易被窃取。被黑客破解,伪造信息。在这种情况下,对方可能收不到您的信息。他们收到的是黑客伪造的信息。比如下面这个例子,你发了哈哈哈哈哈,对方却收到了。嘻嘻:非对称加密公钥和私钥现在,在服务器端,生成了两个密钥keyA和keyB,这两个密钥之间存在着联系:用keyA加密的东西只能用keyB解密,然后服务器将这个密钥A发送给客户端。客户端每次发送消息,都需要使用密钥A加密,然后发送给服务器端。服务器用密钥B对其进行解密,得到客户端发送的信息。:其实这里,密钥A是公钥,因为客户端和服务端都知道,而密钥B是私钥,因为自始至终,密钥B都在服务端,很安全的非对称加密。非对称加密是基于公钥和私钥的一种加密方式,非对称加密比对称加密更安全,因为黑客只能知道公钥,不知道私钥,公钥加密后的数据只能使用私钥解密,所以黑客在窃取公钥后无法解密客户端发送给客户端的信息。缺点我们刚才说了非对称加密比对称加密更安全,但是非对称加密也有缺点。我们说过,一开始,服务器生成公钥和秘钥,然后将公钥发送给客户端,而私钥则保存在服务器上。那么在将公钥传递给客户端的过程中,黑客可能会截获并获取到公钥,黑客伪造黑客版公钥和黑客版私钥,并将黑客版公钥发送给客户端,客户端在不知不觉中,在传输数据时,用黑客版公钥对数据进行加密后发送。这时黑客只需要用黑客版私钥解密客户端发送的信息,伪造自己的黑客信息,用原来的公钥加密即可。然后发送给服务器,服务器用原始私钥解密得到黑客信息。HTTPS是什么加密方式?其实HTTPS采用的是对称加密+非对称加密,我们继续往下看!刚才我们说了证书,非对称加密也有缺点,那么如何防止这个缺点呢?这时,我们需要向证书颁发机构(CA)申请证书。证书制作步骤1.服务器将公钥发送给证书颁发机构,并向证书颁发机构申请证书。2、证书颁发机构本身有一对公钥,秘钥,key1用公钥加密,根据服务器URL生成证书签名,证书签名也用秘钥加密。并制作一个证书,并将这个证书发送给服务器3、客户端与服务器通信时,服务器不再直接将服务器公钥传递给客户端,而是将刚才的证书传递给客户端4、当客户端收到证书,它会验证证书的真实性。提前警告:今天的浏览器存储主要证书颁发机构的名称及其相应的公钥。因此,客户端收到证书后,只需要在本地从浏览器中找到对应的公钥对证书签名进行解密,然后客户端根据解密后的签名规则自行生成证书签名即可。如果两个签名一致,则通过。通过后,客户端用组织公钥再次解密服务器公钥key1。5、客户端生成一个对称密钥key2,然后用已有的服务器公钥key1加密key2,发送给服务器。服务器收到后,使用服务器的密钥进行解密。此时客户端和服务端同时拥有对称密钥2。6、从此客户端和服务端使用对称密钥key2进行对称加密通信,也就是回到之前的第一个场景,你和你女朋友使用反向算法加密对话,但是这个反向算法会在证书的保证下不被第三方黑客知道,只要你告诉你的女朋友,以及证书颁发机构:证书会被拦截吗?事实上,即使证书被拦截也没有用,因为证书中的签名是根据服务器URL生成的,并且是用证书颁发机构的秘钥加密的,是不可篡改的。或者黑客直接制作一个假证书发送给客户端,但这是没有用的。毕竟浏览器早就维护了一个合法证书颁发机构的集合,黑客不在这个集合中~之前说的SSL/TLSHTTPS=HTTP+SSL/TLS,而上面说的这一系列操作都发生在SSL层注:最新的TLS协议是SSL3.0协议的升级版,SSL协议的大体原理是一样的。参考什么是HTTPS协议?什么是HTTPS?结语我是林三鑫,一个狂热的前端菜鸟程序员。如果你有上进心,喜欢前端,想学前端,那我们可以交个朋友一起钓鱼哈哈,鱼群