一种对中间人的存在进行辨识的方法及装置的制造方法

文档序号:9754528阅读:453来源:国知局
一种对中间人的存在进行辨识的方法及装置的制造方法
【技术领域】
[0001]本申请涉及计算机技术领域,尤其涉及一种对中间人的存在进行辨识的方法及装置。
【背景技术】
[0002]在很多情况下,互联网使用者需要使用非私有终端上网,如使用公司或者网吧提供的电脑上网。对于此类终端的拥有者,其对于安全的需求与终端的实际使用者对于安全的需求并不完全一致,有时甚至会发生冲突。比如:对于实际使用者,会希望在上网过程中,其个人隐私如银行账号密码等不被窥探;而对于企业而言,为了防止其内部机密被恶意泄露或者为了提升员工的工作效率,则希望对实际使用者的上网流量作扫描或者审计,从而确定实际使用者利用终端所传输的具体信息。
[0003]一般地,对于非加密流量,简单的基于流的扫描就可以达到监控信息的目的;而对于米用安全超文本传输协议(Hyper Text Transfer Protocol over Secure SocketLayer, HTTPS)等安全套接层(Secure Sockets Layer, SSL)协议进行加密得到的加密流量,则需要通过代理技术才能实现信息监控。一种典型的代理技术的实现示意图如图1所示。
[0004]图1中,左侧方框代表企业的终端中安装的客户端(Web Client),中间方框代表在企业网络出口处的网关或防火墙设备部署的SSL代理(SSL Proxyl,在图1所示的场景中,其一般被称为“中间人”),右边方框代表客户端所访问的网站服务器,具体而言,该服务器的名称可以是图1中所示的“Alipay Web Server”。
[0005]图1中,具备监控终端所传输的具体信息这一功能的是SSL代理,该功能的实现原理大致为:SSL代理劫持来自客户端的SSL握手请求,然后利用该SSL握手请求发起与真实服务器的SSL连接;在与服务器侧的SSL握手成功后,再恢复与客户端的SSL握手,并在与客户端进行SSL握手时,向客户端推送一本伪造的证书,使得客户端信任SSL代理,进而可以获取客户端所发送的信息。
[0006]需要说明的是,根据SSL协议的设计,其具备一致性检查能力,即当遭受到中间人攻击时,客户端会弹出告警,告知用户“当前接收到的证书非法”。然而,对公司而言,该告警实际上是由自身部署的SSL代理所致,并非公司网络受到实际攻击,因此,考虑到弹出的告警会影响实际使用者的上网体验或者工作效率,一般会采用下述手段I和手段2,抑制客户端弹出告警:
[0007]手段1:使用SSL代理的自签名证书为客户端签发证书时,在签发的证书中保持真实服务器的域名/Subject/Valid等信息。
[0008]手段2:将上述自签名证书作为可信电子商务认证授权机构(CertificateAuthority, CA)证书,导入到客户端中。
[0009]结合上述手段I和手段2,可以使得终端对SSL代理签发的证书进行验证时,会认为该证书是合法证书,从而得到客户端信任。
[0010]通过上述方式,一个典型的信息监控过程可以包括如图1所示的如下步骤:
[0011]1、客户端向服务器发起SSL握手请求;
[0012]2、SSL代理劫持来自客户端的SSL握手请求;
[0013]3、SSL代理向服务器发起SSL连接请求;
[0014]4、服务器响应SSL代理发起的SSL连接请求,并发送服务器自身的证书给SSL代理;
[0015]5、SSL代理根据服务器(即真实服务器)的证书,使用自签名证书重新签发一本证书(后文称新生成证书);
[0016]由前文所述的手段2可知,客户端会认为SSL代理使用的自签名证书是可信CA证书,从而后续客户端在对新生成证书进行校验时,也会依据该自签名证书签发的该新生成证书是可信的。
[0017]6、SSL代理将新生成证书推送给客户端;
[0018]7、客户端使用本地可信CA证书对收到的新生成证书做校验,校验通过;
[0019]8、客户端向服务器请求登录页面;
[0020]9、服务器向客户端回送登录页面;
[0021]10、客户端发送包含登录信息密文的HTTP POST (HTTP POST是一种HTTP请求);
[0022]11、SSL代理对包含登录信息密文的HTTP POST进行解密,得到登录信息明文。
[0023]上述方案的缺陷在于,终端对于SSL代理的存在是无感知的,从而当终端的实际使用者访问隐私或者金融类的HTTPS网站时,会将实际使用者的用户名密码信息等明文信息暴露给SSL代理,从而使得该些信息受到潜在的安全威胁。
[0024]类似地,在客户端与服务器之间存在设置在其他协议层的中间人的场景下,也会存在上述问题。

【发明内容】

[0025]本申请实施例提供一种对中间人的存在进行辨识的方法,用以解决由于客户端无法辨识客户端与服务器之间是否存在中间人,从而可能使得传输的信息受到潜在的安全威胁的问题。
[0026]本申请实施例还提供一种对中间人的存在进行辨识的装置,用以解决由于客户端无法辨识客户端与服务器之间是否存在中间人,从而可能使得传输的信息受到潜在的安全威胁的问题。
[0027]本申请实施例采用下述技术方案:
[0028]一种对中间人的存在进行辨识的方法,包括:获得在客户端与服务器的握手过程中由客户端接收的服务器的第一证书相关信息,以及在所述客户端与所述服务器的非握手过程中由客户端接收的所述服务器的第二证书相关信息;判断第一证书相关信息和第二证书相关?目息是否匹配。
[0029]一种对中间人的存在进行辨识的装置,包括:信息获得单元,用于获得在客户端与服务器的握手过程中由客户端接收的服务器的第一证书相关信息,以及在所述客户端与所述服务器的非握手过程中由客户端接收的所述服务器的第二证书相关信息;辨识单元,用于判断信息获得单元获得的第一证书相关信息和第二证书相关信息是否匹配。
[0030]本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
[0031]当设置有中间人时,该中间人仅会在客户端与服务器的握手过程中利用自身的自签名证书和服务器的身份信息(如域名/Subject/Valid等信息),得到新生成证书,而对客户端与服务器的非握手过程中传递的服务器的证书相关信息不会执行类似操作,即非握手过程中传递的服务器的证书相关信息仍然是服务器的真实证书相关信息。因此,通过比较握手过程和非握手过程中接收的同一服务器的证书相关信息,可以达到辨识是否存在中间人的目的。
【附图说明】
[0032]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0033]图1为现有技术中采用代理技术监控终端所传输的具体信息的实现原理示意图;
[0034]图2为本申请实施例提供的一种对中间人的存在进行辨识的方法的实现流程示意图;
[0035]图3为本申请实施例2提供一种防范中间人攻击的方法的实现流程示意图;
[0036]图4为本申请实施例3提供的一种对中间人的存在进行辨识的装置的具体结构示意图。
【具体实施方式】
[0037]为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0038]以下结合附图,详细说明本申请各实施例提供的技术方案。
[0039]实施例1
[0040]为了解决客户端无法辨识客户端与服务器之间是否存在中间人的问题,本申请实施例I提供一种对中间人的存在进行辨识的方法。该方法的具体实现流程示意图如图2所示,包括如下步骤:
[0041]步骤21,获得在客户端与服务器的握手过程中由客户端接收的服务器的第一证书相关信息,以及在客户端与服务器的非握手过程中由客户端接收的该服务器的第二证书相关信息;
[0042]步骤22,判断第一证书相关信息和第二证书相关信息是否匹配。
[0043]其中,上述“证书相关信息”可以包括证书本身,也可以包括与证书密切相关的信息,比如通过对证书进行哈希运算而得到的哈希值等。
[0044]采用实施例1提供的上述方法,当设置有中间人时,该中间人仅会在客户端与服务器的握手过程中利用自身的自签名证书和服务器的身份信息(如域名/Subject/Valid等信息),得到新生成证书,而对在客户端与服务器的非握手过程中传递的服务器的证书相关信息不会执行类似操作,即在客户端与服务器的非握手过
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1