HTTPS

                                                                                                                   ------Keep going

目录

一:HTTPS含义

二:"加密"是什么?

三:HTTPS的工作过程

3.1https的工作流程:

3.2中间人攻击:

3.3解决中间人攻击 :


一:HTTPS含义

https:对于http的超文本传输协议的一层加密.


二:"加密"是什么?

2.1:明文:真正要传输的数据.

2.2:密文:对真正要传输的数据进行加密.

2.3:密钥:对密文进行解密,解密成明文.

2.4:加密和解密

   在解密和加密的过程中.明文+密钥===>密文,密文+密钥===>明文,在解密和加密过程中,会生成一对密钥,分别为"公钥"和"私钥",可以用公钥来进行加密,私钥来进行解密,两个密钥反过来也可以。


三:HTTPS的工作过程

3.1https的工作流程:

  最简单的保证安全的做法,引入对称密钥,针对传输的数据(http 的header 和 body)进行加密.

每个客户端,都需要一把自己的对称密钥(不同的客户端密钥也要不同),如果客户端生成了一个密钥,那么,密钥就需要传递给服务器,让服务器根据传进来的密文利用密钥进行解密)

 如果客户端给服务器传递密钥的过程中,被黑客截获了,黑客就会根据密文和密钥进行解密,存在一定的风险.那么,怎么进行安全的传输? ===>对对称密钥进行加密===>还是不行!!!===>使用非对称加密对对称密钥进行加密!!!

 服务器生成一对公钥和私钥,私钥给服务器自己留着,公钥会发给客户端.此时,客户端就会利用公钥对对称密钥进行加密!!!使用公钥加密,使用私钥进行解密.非对称加密针对对称密钥进行加密.后续数据的加密还是使用对称加密.

3.2中间人攻击:

根据3.1的https的工作流程,仍存在一个严重的问题,黑客可以根据中间人根据来获取对称密钥.

a):服务器生成非对称密钥,公钥:pub1  私钥:pri1

b):服务器本来要将从pub1传递给客户端,被黑客截获了.

c):此时,黑客便根据截获的pub1,生成新的公钥 pub2 和 私钥 pri2

d):黑客将公钥pub2传递给客户端

e):客户端便根据传进来的公钥pub2对对称密钥(888888)进行进一步加密.

f):客户端便将非对称密钥和对称密钥一起传递给黑客,黑客便利用私钥pri2进行解密,得到对称密钥.

g):黑客便使用从服务器之前传过来的pub1和从客户端传进来的密文进行加密,传递给服务器

h):服务器便利用自身的私钥pri1进行解密

整个过程中,服务器和客户端不知道有中间人的存在.

3.3解决中间人攻击 :

解决中间人攻击的关键,需要让客户端能够确认当前收到的公钥,确认是服务器的,而不是中间人的.====>引入了证书机制===>通过第三方机构作保,来判断是不是当前的公钥是不是来自于服务器的.

3.3.1证书验证阶段
      1.浏览器发起Https请求,(浏览器会内置第三方CA的公钥);
      2.服务器端返回Https证书(包含公钥),使用第三方CA的私钥加密公钥、以及机构信息、域名等,然后返回CA证书
      3.客户端验证证书是否合法,可以对证书内容解密,然后通过证书中的域名、机构等信息验证证书是否合法,如果不合法则提示告警.

3.3.2数据传输阶段
     4.当证书验证合法后,在客户端本地生成随机数;
     5.通过公钥加密随机数,并将其传输到服务端;
     6.服务端通过私钥对接收到的加密随机数进行解密操作;
     7.服务端通过客户端传入的随机数构造对称加密算法,对返回结果内容进行加密操作

           后再 进行内容传输。

3.3.3为什么数据传输是用对称加密?
       首先,非对称加密的加密效率低的,而http的应用场景通常存在着端与端之间的

                 大量数据交互,从效率来说是无法接受的;
        其次,在Https场景中只有服务端保存了私钥,而一对公私钥只能实现单向的加解密(即   服务端无法使用私钥对传回浏览器客户端的数据进行加密,只能用于解密),所以         Https中内容传输加密采取的是对称加密,(此处随机数则是对称加密的介体,

   即客户端和服务器端所拥有的随机数都是一致的,能够进行双向加解密)

3.3.4浏览器如何确保CA证书的合法性

    1.证书包含的主要信息:

            颁发机构信息,公钥,公司信息,域名,有效期,指纹,等等
   2.证书的合法性依据
         首先,权威机构是需要通过认证的。其次证书的可信性基于信任制,CA认证

           机构需要  对其颁发的证书进行信用担保,只要是CA认证机构颁发的证书,

           我们就认为是合法的。CA认证机构会对证书申请人的信息进行审核的。

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DJ懒羊羊。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值