HTTPS连接过程是什么样的?

发布时间:2022-05-14 11:54:56 作者: 来源: 浏览量(1135 )
摘要:HTTPS连接过程及中间人攻击原理是什么?接下来请看小编的解析: 一、HTTPS连接过程及中间人攻击原理 1.https请求 客户端向服务端发送https请求; 2.生成公钥和私钥 服务端收到请求之后,生成公钥和私钥。公钥相当...

 HTTPS连接过程及中间人攻击原理是什么?接下来请看小编的解析:

一、HTTPS连接过程及中间人攻击原理

 

1.https请求

 

客户端向服务端发送https请求;

 

2.生成公钥和私钥

 

服务端收到请求之后,生成公钥和私钥。公钥相当于是锁,私钥相当于是钥匙,只有私钥才能够打开公钥锁住的内容;

 

3.返回公钥

 

服务端将公钥(证书)返回给客户端,公钥里面包含有很多信息,比如证书的颁发机构、过期时间等等;

 

4.客户端验证公钥

 

客户端收到公钥之后,首先会验证其是否有效,如颁发机构或者过期时间等,如果发现有问题就会抛出异常,提示证书存在问题。如果没有问题,那么就生成一个随机值,作为客户端的密钥,然后用服务端的公钥加密;

 

5.发送客户端密钥

 

客户端用服务端的公钥加密密钥,然后发送给服务端。

 

6.服务端收取密钥,对称加密内容

 

服务端收到经过加密的密钥,然后用私钥将其解密,得到客户端的密钥,然后服务端把要传输的内容和客户端的密钥进行对称加密,这样除非知道密钥,否则无法知道传输的内容。

 

7.加密传输

 

服务端将经过加密的内容传输给客户端。

 

8.获取加密内容,解密

 

客户端获取加密内容后,用之前生成的密钥对其进行解密,获取到内容。

 

中间人劫持攻击

 

https也不是绝对安全的,如下图所示为中间人劫持攻击,中间人可以获取到客户端与服务器之间所有的通信内容。

 

HTTPS连接过程以及中间人攻击劫持

 

中间人截取客户端发送给服务器的请求,然后伪装成客户端与服务器进行通信;将服务器返回给客户端的内容发送给客户端,伪装成服务器与客户端进行通信。

 

通过这样的手段,便可以获取客户端和服务器之间通信的所有内容。

 

使用中间人攻击手段,必须要让客户端信任中间人的证书,如果客户端不信任,则这种攻击手段也无法发挥作用。

 

二、中间人攻击的预防

 

造成中间人劫持的原因是 没有对服务端证书及域名做校验或者校验不完整,为了方便,直接采用开源框架默认的校验方式进行https请求

 

预防方法:

 

预防方式有两种

 

1 、针对安全性要求比较高的 app,可采取客户端预埋证书的方式锁死证书,只有当客户端证书和服务端的证书完全一致的情况下才允许通信,如一些银行类的app,但这种方式面临一个问题,证书过期的问题,因证书有一定的有效期,当预埋证书过期了,只有通过强制更新或者要求用户下载证书来解决。

 

以上就是HTTPS连接过程。

 

扫一扫二维码,直接手机访问此页

扫码访问手机页面

【免责声明】本网站的部分文章信息(文字、图片、音频视频文件等资源)来自于网络,均是为公众传播有益咨询信息之目的,其版权归版权所有人所有。 本站采用的非本站原创文章及图片等内容无法一一与版权者联系,如果本站所选内容的文章作者及编辑认为其作品不宜供大家浏览,或不应无偿使用, 请及时联系我们删除,同时向您深表歉意!请发送邮件153462496@qq.com进行联系。

感兴趣吗?

欢迎联系我们,我们愿意为您解答任何有关网站疑难问题!

在线客服
嘿,我来帮您!