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

技术编号:14559339 阅读:151 留言:0更新日期:2017-02-05 14:25
本申请公开了一种对中间人的存在进行辨识的方法,用以解决由于客户端无法辨识客户端与服务器之间是否存在中间人,从而可能使得传输的信息受到潜在的安全威胁的问题。方法包括:获得在客户端与服务器的握手过程中由客户端接收的服务器的第一证书相关信息,以及在客户端与服务器的非握手过程中由客户端接收的所述服务器的第二证书相关信息;判断第一证书相关信息和第二证书相关信息是否匹配。本申请还公开一种对中间人的存在进行辨识的装置。

【技术实现步骤摘要】

本申请涉及计算机
,尤其涉及一种对中间人的存在进行辨识的方法及装置
技术介绍
在很多情况下,互联网使用者需要使用非私有终端上网,如使用公司或者网吧提供的电脑上网。对于此类终端的拥有者,其对于安全的需求与终端的实际使用者对于安全的需求并不完全一致,有时甚至会发生冲突。比如:对于实际使用者,会希望在上网过程中,其个人隐私如银行账号密码等不被窥探;而对于企业而言,为了防止其内部机密被恶意泄露或者为了提升员工的工作效率,则希望对实际使用者的上网流量作扫描或者审计,从而确定实际使用者利用终端所传输的具体信息。一般地,对于非加密流量,简单的基于流的扫描就可以达到监控信息的目的;而对于采用安全超文本传输协议(HyperTextTransferProtocoloverSecureSocketLayer,HTTPS)等安全套接层(SecureSocketsLayer,SSL)协议进行加密得到的加密流量,则需要通过代理技术才能实现信息监控。一种典型的代理技术的实现示意图如图1所示。图1中,左侧方框代表企业的终端中安装的客户端(WebClient),中间方框代表在企业网络出口处的网关或防火墙设备部署的SSL代理(SSLProxy1,在图1所示的场景中,其一般被称为“中间人”),右边方框代表客户端所访问的网站服务器,具体而言,该服务器的名称可以是图1中所示的“AlipayWebServer”。图1中,具备监控终端所传输的具体信息这一功能的是SSL代理,该功能的实现原理大致为:SSL代理劫持来自客户端的SSL握手请求,然后利用该SSL握手请求发起与真实服务器的SSL连接;在与服务器侧的SSL握手成功后,再恢复与客户端的SSL握手,并在与客户端进行SSL握手时,向客户端推送一本伪造的证书,使得客户端信任SSL代理,进而可以获取客户端所发送的信息。需要说明的是,根据SSL协议的设计,其具备一致性检查能力,即当遭受到中间人攻击时,客户端会弹出告警,告知用户“当前接收到的证书非法”。然而,对公司而言,该告警实际上是由自身部署的SSL代理所致,并非公司网络受到实际攻击,因此,考虑到弹出的告警会影响实际使用者的上网体验或者工作效率,一般会采用下述手段1和手段2,抑制客户端弹出告警:手段1:使用SSL代理的自签名证书为客户端签发证书时,在签发的证书中保持真实服务器的域名/Subject/Valid等信息。手段2:将上述自签名证书作为可信电子商务认证授权机构(CertificateAuthority,CA)证书,导入到客户端中。结合上述手段1和手段2,可以使得终端对SSL代理签发的证书进行验证时,会认为该证书是合法证书,从而得到客户端信任。通过上述方式,一个典型的信息监控过程可以包括如图1所示的如下步骤:1、客户端向服务器发起SSL握手请求;2、SSL代理劫持来自客户端的SSL握手请求;3、SSL代理向服务器发起SSL连接请求;4、服务器响应SSL代理发起的SSL连接请求,并发送服务器自身的证书给SSL代理;5、SSL代理根据服务器(即真实服务器)的证书,使用自签名证书重新签发一本证书(后文称新生成证书);由前文所述的手段2可知,客户端会认为SSL代理使用的自签名证书是可信CA证书,从而后续客户端在对新生成证书进行校验时,也会依据该自签名证书签发的该新生成证书是可信的。6、SSL代理将新生成证书推送给客户端;7、客户端使用本地可信CA证书对收到的新生成证书做校验,校验通过;8、客户端向服务器请求登录页面;9、服务器向客户端回送登录页面;10、客户端发送包含登录信息密文的HTTPPOST(HTTPPOST是一种HTTP请求);11、SSL代理对包含登录信息密文的HTTPPOST进行解密,得到登录信息明文。上述方案的缺陷在于,终端对于SSL代理的存在是无感知的,从而当终端的实际使用者访问隐私或者金融类的HTTPS网站时,会将实际使用者的用户名密码信息等明文信息暴露给SSL代理,从而使得该些信息受到潜在的安全威胁。类似地,在客户端与服务器之间存在设置在其他协议层的中间人的场景下,也会存在上述问题。
技术实现思路
本申请实施例提供一种对中间人的存在进行辨识的方法,用以解决由于客户端无法辨识客户端与服务器之间是否存在中间人,从而可能使得传输的信息受到潜在的安全威胁的问题。本申请实施例还提供一种对中间人的存在进行辨识的装置,用以解决由于客户端无法辨识客户端与服务器之间是否存在中间人,从而可能使得传输的信息受到潜在的安全威胁的问题。本申请实施例采用下述技术方案:一种对中间人的存在进行辨识的方法,包括:获得在客户端与服务器的握手过程中由客户端接收的服务器的第一证书相关信息,以及在所述客户端与所述服务器的非握手过程中由客户端接收的所述服务器的第二证书相关信息;判断第一证书相关信息和第二证书相关信息是否匹配。一种对中间人的存在进行辨识的装置,包括:信息获得单元,用于获得在客户端与服务器的握手过程中由客户端接收的服务器的第一证书相关信息,以及在所述客户端与所述服务器的非握手过程中由客户端接收的所述服务器的第二证书相关信息;辨识单元,用于判断信息获得单元获得的第一证书相关信息和第二证书相关信息是否匹配。本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:当设置有中间人时,该中间人仅会在客户端与服务器的握手过程中利用自身的自签名证书和服务器的身份信息(如域名/Subject/Valid等信息),得到新生成证书,而对客户端与服务器的非握手过程中传递的服务器的证书相关信息不会执行类似操作,即非握手过程中传递的服务器的证书相关信息仍然是服务器的真实证书相关信息。因此,通过比较握手过程和非握手过程中接收的同一服务器的证书相关信息,可以达到辨识是否存在中间人的目的。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为现有技术中采用代理技术监控终端所传输的具体信息的实现原理示意图;图2为本申请实施例提供的一种对中间人的存在进行辨识的方法的实现流程示意图;图3为本申请实施例2提供一种防范中间人攻击的方法的实现流程示意图;图4为本申请实施例3提供的一种对中本文档来自技高网
...

【技术保护点】
一种对中间人的存在进行辨识的方法,其特征在于,包括:获得在客户端与服务器的握手过程中由所述客户端接收的第一证书相关信息,以及在所述客户端与所述服务器的非握手过程中由所述客户端接收的所述服务器的第二证书相关信息;判断第一证书相关信息和第二证书相关信息是否匹配。

【技术特征摘要】
1.一种对中间人的存在进行辨识的方法,其特征在于,包括:
获得在客户端与服务器的握手过程中由所述客户端接收的第一证书相关
信息,以及在所述客户端与所述服务器的非握手过程中由所述客户端接收的所
述服务器的第二证书相关信息;
判断第一证书相关信息和第二证书相关信息是否匹配。
2.如权利要求1所述的方法,其特征在于,获得在所述客户端与所述服
务器的非握手过程中由所述客户端接收的所述服务器的第二证书相关信息,包
括:
在发送机密信息前,获得所述非握手过程中由所述客户端接收的所述服务
器的第二证书相关信息。
3.如权利要求2所述的方法,其特征在于,在发送机密信息前,获得在
所述客户端与所述服务器的非握手过程中由所述客户端接收的所述服务器的
第二证书相关信息,包括:
向所述服务器发送机密信息页面获取请求;
接收所述服务器发送的机密信息页面;其中,所述机密信息页面中包含第
二证书相关信息。
4.如权利要求3所述的方法,其特征在于,所述机密信息页面中包含有
检验脚本;
判断第一证书相关信息和第二证书相关信息是否匹配,包括:
通过运行所述检验脚本,判断第一证书相关信息和第二证书相关信息是否
匹配。
5.如权利要求1~4任一权项所述的方法,其特征在于,第一证书相关信
息包括:证书;第二证书相关信息包括:证书所对应的哈希值;
判断第一证书相关信息和第二证书相关信息是否匹配,包括:
对第一证书相关信息进行哈希运算,得到相应的哈希值;
判断所述对应的哈希值与得到的所述哈希值是否相同;
若相同,则确定第一证书相关信息和第二证书相关信息匹配;
若不相同,则确定第一证书相关信息和第二证书相关信息不匹配。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
在判断出第一证书相关信息和第二证书相关信息匹配时,执行特定操作;
其中,所述特定操作包括:使得中间人接收不到机密信息的操作。
7.如权利要求6所述的方法,其特征在于,执行特定操作,包括:
展示提示信息;
接收用户指令;
根据用户指令,拒绝所述机密信息的输入,或拒绝...

【专利技术属性】
技术研发人员:陈海兵
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1