首页 > 自考资讯 > 高考百科

我终于搞清了啥是HTTPS了

小条 2024-06-27

bfa8a13f568049ecbff34c31288c34d7~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720050890&x-signature=IBTH4BYqIkSqXKPlF8P%2F2BIXkE8%3D

引言

最近,上海连续下了一周的雨,一夜之间气温就回到了解放前的气温,但尽管我穿着夏装,却躲在家里瑟瑟发抖,不想去。任何地方。

37120e55fbbf4f8588a492b84045f5c7~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720050890&x-signature=ZgjkZOXVUNuP9KMs3EfhSLx7tj0%3D 当我在家无聊浏览网页时,看到公众号后台显示一条消息,有同学问我“HTTP和HTTPS有什么区别?”。

当然,HTTPS 比HTTP 更安全。 S很安全。

然后同学的下一个问题让我困惑了。为什么穿S更安全?你能告诉我更多吗?

让我告诉你,我不是吹牛,我在这里已经很多年了。

我从来没有遇到过像你这样好奇的同学,总是对自己不明白的事情提出这样的问题。

听到这个问题我脸红了,但我有“我不会,但我会学”的不要脸的精神。

97850e00b34c44109c051b7b87324621~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720050890&x-signature=mYOzb2GAtA2261skhJ9%2FjrNXmvY%3D

HTTP

首先,我们来了解一下HTTP。

HTTP 协议的正式名称是“超文本传输协议”。我用的是百度翻译。不要质疑这个翻译。

大家应该都知道TCP/IP的四层模型,包括数据链路层、网络层、传输层、应用层。

84f379b931834dfeb40b4c653ed98c5b~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720050890&x-signature=pb%2B%2Bm6uzEyDxcZiqfOTm6uPSETI%3DHTTP协议位于TCP/IP四层模型的应用层。

17701a2c05fc4948a8b3c46b83b65c5c~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720050890&x-signature=%2BH8r%2F1%2FwkadvnPtEP0cgEnFK0D0%3D这里很多人混淆了TCP和HTTP。事实上,HTTP是基于TCP连接的。

简单来说,TCP只是建立连接,没有实际需要请求的数据,只是发送而已。 HTTP是用来发送和接收数据的,也就是实际使用的。

HTTP 协议通过请求和响应在客户端和服务器之间发送和接收数据来进行通信。

7fa19e7d73c1480fa9ab17a8fe527657~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720050890&x-signature=aPLrQejvt52Cp6Qmne7S6BHeyPU%3D

HTTPS

HTTP协议看起来没有问题,唯一的问题是HTTP协议的发送方式完全不加密,以明文形式发送,这就为恶意的人侵入打开了大门。是。有机会利用您的意图。

这种传输方法会引发中间人攻击,这是一种经典的攻击方法。

49b3218a2493476698ee505ba57e99bd~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720050890&x-signature=NfdR1iULV7hlycU1UWmSQN36RO0%3D 在这种情况下,使用加密解决方案的最简单方法是服务器和客户端最初就随机生成的密钥达成一致。 AES 加密使用此密钥来存储所有信息。

8910ceb3d2d042c0986a40b5309143d5~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720050890&x-signature=wq7AOG%2FYj9PxCM7Hn5Nd3Sxesz0%3D 后续通信过程是安全的,但首次发送AES 密钥时仍存在被中介拦截的风险。一旦中介拦截了密钥,它就可以替换它或直接解密请求的内容。

229dcfaf462d4a2f90fc04cc6be27220~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720050890&x-signature=AM9a0o6%2BOZpBBYW4WHWGFtP4xbg%3D 目前,可以使用非对称加密为密钥传输提供额外的保护。

非对称加密有两个密钥,一个公钥和一个私钥。明文可以通过使用公钥加密私钥,或者使用私钥加密公钥来解密。

目前最常见的非对称加密算法是RSA。

d56886f27ced46ec9d99d4414e6e2dd4~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720050890&x-signature=Q1BXXqHgooExxcACNuzQvxAmfvk%3D 看到这里的学生可能想知道为什么当每个人都使用非对称加密时我们只对AES 密钥使用非对称加密。看来没有必要这样做了。后续的所有通信都可以使用非对称加密。信息。

非对称加密相对于对称加密有明显的性能劣势,所以你可能会认为请求多花几毫秒或者纳秒没关系,但是一旦请求到达服务器就需要解密,每个请求都需要被解密。解密。累计起来需要几毫秒的时间,但仍然非常令人印象深刻。

上面的方案似乎即使中介拦截了我们的公钥,它也无法解密它,因为它不知道我们的私钥。

事实上,中介机构根本不需要解密我们的信息。您可以生成新的公钥/私钥对并将其发送给客户端进行攻击。然后,客户端的通信中介使用您创建的私钥对其进行解密。然后使用服务器生成的公钥将其加密回服务器。

67881c35c5ef42afb404dfad99f496f4~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720050890&x-signature=DX7F71v%2BnjYV%2Fk6Cljk9PptUooY%3D

CA 证书

此时仅靠客户端和服务器端已经无法解决上述问题,必须引入新的第三方机构来颁发CA证书。

常见的第三方CA 机构包括Symantec、Comodo、GeoTrust、GoDaddy、Thawte、daoRapidSSL 等。

中间人攻击遇到的问题不是加密算法不够神奇或者密钥方法不够严格,而是没有办法将公钥呈现给客户端。这不就像我们给他的吗?如何证明我是我的问题。

d734624bacb442888da52fe5dfb21aee~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720050890&x-signature=eRSS%2B6uXkSyOjQTuCU0d7Lee230%3D这样,第三方机构只需在客户端收到公钥后,在服务器的公钥上盖上我们的名字即可。通过这里查询,可以查出公钥是否是正版服务器,并且用CA证书解密的公钥生成的AES密钥经过加密后发送到服务器。

16d4edc7ee694b6c8e799901ce019716~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720050890&x-signature=SGNOf7MwOSnoSBfCl%2Fx49IptJb0%3D 最后服务器使用私钥解密得到AES密钥,可以成功与客户端通信。

最后,说到CA机构验证,不用每次都去CA机构去检查。这太愚蠢了,而且花费的时间太长,尤其是因为许多CA 机构在海外提供服务。

CA机构的巧妙之处在于,当你去某个CA机构注册你的公钥时,他们会用另一家注册公司的私钥对你的公钥进行加密,并使用你的公钥的指纹(全世界独一无二) )。然后将公司的公钥信息(实际上也是证书)与我们公司的公钥、公钥指纹一起打包成证书。

当您使用HTTPS 向客户端颁发证书进行验证时,客户端(例如浏览器)会从证书中查找证书信息。这个证书存在于浏览器中(或者你的本地机器上),浏览器只需使用这个证书的公钥解密公钥指纹,并对比公钥信息,确认其合法性就可以看到。这是因为假证书的公钥签名无法用合法的上级证书的公钥解密。

这一部分有点复杂,但是如果你慢慢地读几遍,你就会明白。

参考

https://www.jianshu.com/p/691b8ba3a70f

https://blog.csdn.net/u010144805/article/details/80803059

https://blog.csdn.net/caofengtao1314/article/details/87912078

作者:宅男发现者

来源:https://www.cnblogs.com/babycomeon/p/13041439.html

版权声明:本文转载于网络,版权归作者所有。如有侵权,请联系本站编辑删除。

猜你喜欢