HTTPS原理以及HTTPS的安全相关知识

我的上篇文章讲到我们在浏览器中输入url之后浏览器干了什么,然后其中有什么相关的知识点,这里我会从上到下把这些知识点给大家梳理。这次给大家讲的是HTTPS原理,下一篇文章HTTPS安全

众所周知,大家都知道HTTP协议,那么HTTPS是什么呢?其实HTTPS就是HTTP over TLS,其实TLS之前的版本是叫SSL,这里因为SSL的版本早期已经不被各大浏览器产商支持,所以被废弃掉了。那么何为HTTP over TLS呢?其实HTTPS就是在加密信道上的HTTP请求的传输。

在给大家讲HTTPS原理之前我给大家科普一个知识

  • 共享密钥加密:共享密钥加密就是在HTTPS原理中人们常说到的对称加密,那么什么是共享密钥加密呢?其实就是两个所用的密钥是同一个。但是其实在共享密钥加密会有一个密钥传递的不安全,因为很可能会被第三方给替换掉,所以就有了一种公开密钥加密。

  • 公开密钥加密:公开密钥加密就是HTTPS中人们常说到的非对称加密。那么什么是公开密钥加密呢?公开密钥加密会有两个密钥,一个是主密钥也称做私有密钥,这个一般是不能发送给别人的,一个是公共密钥,这个可以给任何人。其原理就是发送方使用接收方给的公共密钥来加密数据,发送给接收方,然后接收方用私钥来解密。这样数据的安全性就高了很多。但这样也不是说一定安全,只是第三方在不知道私钥的时候去解密其实就是对离散对数的求值,难度很大,目前的技术很难实现。

很多文章会说HTTPS会比HTTP安全是因为他们用的非对称加密,所以安全,这样说其实不是一个正确的回答,其实在HTTPS中非对称加密只是用在交换密钥确认两端的身份的时候,而真正的数据还是用的对称加密。那个为什么呢?不是非对称加密更安全吗?其实非对称加密是安全,但是他传输速度比对称加密慢,而我们一般传数据次数很多很大,所以还是用的对称加密。

那么HTTPS的原理是什么呢?下面来给大家讲一下(我会用我自己的理解把一些不太容易被理解的专业术语说给大家听):

  1. 首先客户端会先发送一个Client Hello报文给客户端,同时报文中会包含客户端的TLS版本,和加密列表(主要包含加密算法、密钥长度、压缩算法)

  2. 服务端在接收到客户端发来的报文后,会从中刷选出一个加密列表,这个加密列表是从客户端发送过来的中间筛选出的两端都可识别的,以及一个CA认证的证书,其中包含公开密钥加密的公钥、证书的域名范围等信息发送给客户端

  3. 客户端在接收到这些数据后,会首先对证书进行验证,对证书的验证之后我们在HTTPS安全中再讲, 在验证证书可用之后,我们会在客户端生成一个随机数,然后用证书中的公钥来加密这个随机数,把这个加密后的数据返回给服务端,同时在客户端会用这个随机数生成一个之后用来数据传递的共享密钥

  4. 客户端会再发给服务端一个报文,告诉服务端之后的数据用刚生成的随机数算出的公共密钥来传递

  5. 服务端在接收到客户端数据后,会用自己的公共密钥的私有密钥对加密的数据解密,得到随机数,然后服务端一样用这个随机数生成一个共享密钥

  6. 客户端会再发送一个Finished报文,这个报文是之前所有报文的整体校验值

  7. 服务端会对报文判断,然后会用生成的共享密钥返回一个Finished报文

  8. 客户端接收到Finished报文后,TLS连接就完成了就用共享密钥传递数据

上面就是整个HTTPS的原理,之后我会写一个HTTPS的安全知识的文章,大家喜欢的话可以点赞收藏

先给大家讲一下下个文章HTTPS安全知识的内容

  • CA颁发的证书的校验

  • 中间人攻击(DDOS)

  • HTTP Strict Transport Security

  • SSL 安全

以及会给大家讲一下怎么去防这些攻击

大家有什么知识是想学的也可以评论,我会给大家出一些文章来讲这些知识,因为现在比较流行大前端,所以很多的知识都会去追求原理,而不仅仅是之前的会写会做就性,除了之前的浏览器中输入url之后浏览器干了什么里面写到的内容,我还会插一些js的基础知识,一般会讲一些大家平时不太注意到的但是有时会坑到大家的知识,以及会写一些VUE相关的源码理解和思路,也欢迎大家给我建议。

以上的文章如有写的不好的地方也感谢大家指出来,我们共同进步,知识就是用来共享的,在写完这篇HTTPS原理以及HTTPS安全知识之后我会写一个HTTP协议的文章,预计会有三到四篇来讲HTTP协议,然后会写TCP/IP协议,在把上面的这些写完之后我会总和上面的网络协议给大家写一篇计算机网络相关的知识的总览,帮助大家学习计算机网络知识。

在整个浏览器中输入url之后浏览器干了什么系列知识讲完之后我会结合上面的知识给大家写一篇前端优化的知识,会主要讲上面写到的知识如何优化

发布了3 篇原创文章 · 获赞 4 · 访问量 2208

猜你喜欢

转载自blog.csdn.net/MierCurry/article/details/104564378