一种防止MITM攻击的方法及系统与流程

文档序号:15497780发布日期:2018-09-21 22:02阅读:486来源:国知局

本发明涉及网络安全技术领域,特别涉及一种防止mitm攻击的方法及系统。



背景技术:

中间人攻击(man-in-the-middleattack,简称“mitm攻击”)是一种由来已久的通信攻击手段,随着计算机网络通信技术的不断发展,移动应用取得了爆发式的增长,而mitm攻击也已经渗透到了移动应用中,并且攻击方式也越来越多。攻击者通过伪装让移动应用误以为是在跟自己的服务端进行通信,从而窃取到个人隐私或敏感信息,更有甚者,通过篡改通信数据造成服务端出现误操作造成用户财产损失。

现有技术通常采用以下两种方法来防止mitm攻击,方法一,通过对通信数据加密的方式来防止mitm攻击,即移动应用使用一系列算法(如rsa、aes、加盐等)将数据进行加密处理后,传递到服务端,服务端对数据进行解密处理后将响应数据也按照约定的算法进行加密处理后传递给移动应用,移动应用对数据进行解密后得到原始数据。

方法二,通过在移动应用与服务端通信前,先进行一次带自身身份信息的公私钥交换。移动应用向服务端发送通信请求,服务端传给移动应用带身份信息的服务端公钥证书,移动应用根据证书信任列表对服务端公钥证书进行验证,验证通过后保存服务身份信息,并使用服务端公钥加密移动应用密钥传递给服务端,服务端使用服务端私钥证书解密后获得移动应用密钥,当完成以上非对称加解密后通信连接成功,服务端使用移动应用的密钥对数据进行对称加密,与移动应用进行数据传输。

方法一中由于攻击者截获到的仅仅是加密过的数据,方法一存在的缺点是:中间人可以通过重放请求攻击服务器。

方法二存在的缺点是:无法抵御证书劫持的中间人攻击,中间人让移动应用信任中间人证书后,便可以劫持移动应用与服务端之间所有的通信内容,然后中间人伪装成移动应用与服务端进行通信,将移动应用发送给服务端的数据处理后发送给服务端,将服务端返回给移动应用的内容处理后发送给移动应用,伪装成服务端与移动应用进行通信,从而达到攻击的目的。

因此,需要一种安全性更高,能克服上述缺点的方法及系统。



技术实现要素:

本发明所要解决的技术问题是:提供一种安全性高的防止mitm攻击的方法及系统。

为了解决上述技术问题,本发明采用的一种技术方案为:

一种防止mitm攻击的方法,包括步骤:

s1、终端将移动应用身份信息通过存储于本地的服务端公钥证书进行加密,得到第一数据,并将所述第一数据发送至服务端;

s2、服务端接收所述第一数据,用服务端私钥证书对所述第一数据进行解密并校验所述移动应用身份信息,若校验成功,则通过所述服务端私钥证书对服务端身份信息进行签名,得到响应数据,并将所述响应数据返回至终端;

s3、终端接收所述响应数据,通过所述服务端公钥证书对所述响应数据进行身份校验,若校验成功,则采用所述服务端公钥证书对移动应用密钥加密,得到第二数据,并将所述第二数据发送至服务端;

s4、服务端接收所述第二数据,用服务端私钥证书对所述第二数据解密后得到所述移动应用密钥,保存所述移动应用密钥,并通过所述移动应用密钥对与所述终端进行交互的数据进行对称加密。

为了解决上述技术问题,本发明采用的另一种技术方案为:

一种防止mitm攻击的系统,包括终端和服务端,所述终端包括第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的第一计算机程序,所述服务端包括第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的第二计算机程序;

所述第一处理器执行所述第一计算机程序时实现以下步骤:

s1、将移动应用身份信息通过存储于本地的服务端公钥证书进行加密,得到第一数据,并将所述第一数据发送至服务端;

s3、接收响应数据,通过所述服务端公钥证书对所述响应数据进行身份校验,若校验成功,则采用所述服务端公钥证书对移动应用密钥加密,得到第二数据,并将所述第二数据发送至服务端,所述响应数据为成功验证移动应用身份信息后,通过服务端私钥证书对服务端身份信息签名得到的;

所述第二处理器执行所述第二计算机程序时实现以下步骤:

s2、接收所述第一数据,用服务端私钥证书对所述第一数据进行解密并校验所述移动应用身份信息,若校验成功,则通过所述服务端私钥证书对服务端身份信息进行签名,得到响应数据,并将所述响应数据返回至终端;

s4、接收所述第二数据,用服务端私钥证书对所述第二数据解密后得到所述移动应用密钥,保存所述移动应用密钥,并通过所述移动应用密钥对与所述终端进行交互的数据进行对称加密。

本发明的有益效果在于:通过将服务端公钥证书存储于终端,而服务端存储相应的服务端私钥证书,在建立通信连接前先互相进行身份校验,即使信任了中间人证书,由于服务端在发送数据前需要一次校验,中间人没有服务端私钥证书,即使截获了数据也无法进行解密操作,另外由于终端使用的是本地存储的服务端公钥证书对服务端进行身份校验,中间人也无法绕过身份验证,从而无法得知通信内容,安全性高且能防止中间人攻击。

附图说明

图1为本发明实施例的防止mitm攻击的方法流程图;

图2为本发明实施例的防止mitm攻击的系统的结构示意图;

标号说明:

1、防止mitm攻击的方法;2、控制端;3、第三存储器;4、第三处理器;5、服务端;6、第二存储器;7、第二处理器;8、终端;9、第一存储器;10、第一处理器。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。

本发明最关键的构思在于:服务端公钥证书存储于终端,而服务端存储相应的服务端私钥证书,在建立通信连接前先互相进行身份校验,中间人没有服务端私钥证书无法进行解密操作,且中间人无法进行解密操作,安全性高。

请参照图1,一种防止mitm攻击的方法,包括步骤:

s1、终端将移动应用身份信息通过存储于本地的服务端公钥证书进行加密,得到第一数据,并将所述第一数据发送至服务端;

s2、服务端接收所述第一数据,用服务端私钥证书对所述第一数据进行解密并校验所述移动应用身份信息,若校验成功,则通过所述服务端私钥证书对服务端身份信息进行签名,得到响应数据,并将所述响应数据返回至终端;

s3、终端接收所述响应数据,通过所述服务端公钥证书对所述响应数据进行身份校验,若校验成功,则采用所述服务端公钥证书对移动应用密钥加密,得到第二数据,并将所述第二数据发送至服务端;

s4、服务端接收所述第二数据,用服务端私钥证书对所述第二数据解密后得到所述移动应用密钥,保存所述移动应用密钥,并通过所述移动应用密钥对与所述终端进行交互的数据进行对称加密。

从上述描述可知,本发明的有益效果在于:通过将服务端公钥证书存储于终端,而服务端存储相应的服务端私钥证书,在建立通信连接前先互相进行身份校验,即使信任了中间人证书,由于服务端在发送数据前需要一次校验,中间人没有服务端私钥证书,即使截获了数据也无法进行解密操作,另外由于终端使用的是本地存储的服务端公钥证书对服务端进行身份校验,中间人也无法绕过身份验证,从而无法得知通信内容,安全性高且能防止中间人攻击。

进一步的,步骤s1之前还包括:

s01、控制端制作服务端公钥证书和对应的服务端私钥证书,将所述服务端公钥证书加密后以物理形式存储于终端,将所述服务端私钥证书存储于服务端。

由上述描述可知,通过将服务端公钥证书加密后以物理形式存储于终端,而将所述服务端私钥证书存储于服务端,即使信任了中间人证书,因为服务端在交出数据前也需要一次校验,中间人没有服务端私钥证书,即使截获了数据也无法进行解密操作,而且即使服务端公钥泄漏也不影响通信的安全性。

进一步的,所述步骤s01之后还包括:

s02、控制端制作备用的服务端公钥证书和对应的备用的服务端私钥证书,并存储于所述服务端的安全区域,且所述备用的服务端公钥证书和所述备用的服务端私钥证书的过期时间大于所述服务端公钥证书和服务端私钥证书。

由上述描述可知,通过制作备用的服务端公钥证书和对应的备用的服务端私钥证书,避免了服务端私钥证书和公钥证书过期以及服务端私钥证书遭恶意泄露的风险。

进一步的,当终端使用当前的服务端公钥证书与服务端第一次校验成功时发送至服务端的第二数据包含向服务端获取与所述备用的服务端私钥证书对应的备用的服务端公钥证书的请求,以使得服务端将所述备用的服务端公钥证书发送至所述终端并存储。

由上述描述可知,仅当终端使用当前的服务端公钥证书与服务端第一次校验成功时发送至服务端的向服务端获取备用的服务端公钥证书并存储,确保通讯安全,降低了服务端公钥证书泄漏的风险。

进一步的,还包括步骤:

s51、当服务端私钥证书过期或接收到更新服务端私钥证书的请求时,控制端将所述服务端私钥证书替换为所述备用的服务端私钥证书,以使得所述终端校验服务端身份信息失败后,将所述服务端公钥证书替换为与所述备用的服务端私钥证书对应的备用的服务端公钥证书,并执行步骤s1、s3;

s52、执行步骤s02。

由上述描述可知,将所述服务端私钥证书替换为所述备用的服务端私钥证书,并在终端校验服务端身份信息失败后,将所述服务端公钥证书替换为与所述备用的服务端私钥证书对应的备用的服务端公钥证书,并在执行完步骤s1、s3后,执行步骤s02再次生成备用的服务端私钥证书以及对应的服务端公钥证书,形成了完整的动态循环过程。

请参照图2,一种防止mitm攻击的系统,包括终端8和服务端5,所述终端8包括第一存储器9、第一处理器10及存储在第一存储器9上并可在第一处理器10上运行的第一计算机程序,所述服务端5包括第二存储器6、第二处理器7及存储在第二存储器6上并可在第二处理器7上运行的第二计算机程序;

所述第一处理器10执行所述第一计算机程序时实现以下步骤:

s1、将移动应用身份信息通过存储于本地的服务端公钥证书进行加密,得到第一数据,并将所述第一数据发送至服务端;

s3、接收响应数据,通过所述服务端公钥证书对所述响应数据进行身份校验,若校验成功,则采用所述服务端公钥证书对移动应用密钥加密,得到第二数据,并将所述第二数据发送至服务端,所述响应数据为成功验证移动应用身份信息后,通过服务端私钥证书对服务端身份信息签名得到的;

所述第二处理器7执行所述第二计算机程序时实现以下步骤:

s2、接收所述第一数据,用服务端私钥证书对所述第一数据进行解密并校验所述移动应用身份信息,若校验成功,则通过所述服务端私钥证书对服务端身份信息进行签名,得到响应数据,并将所述响应数据返回至终端;

s4、接收所述第二数据,用服务端私钥证书对所述第二数据解密后得到所述移动应用密钥,保存所述移动应用密钥,并通过所述移动应用密钥对与所述终端进行交互的数据进行对称加密。

从上述描述可知,本发明的有益效果在于:通过将服务端公钥证书存储于终端,而服务端存储相应的服务端私钥证书,在建立通信连接前先互相进行身份校验,即使信任了中间人证书,由于服务端在发送数据前需要一次校验,中间人没有服务端私钥证书,即使截获了数据也无法进行解密操作,另外由于终端使用的是本地存储的服务端公钥证书对服务端进行身份校验,中间人也无法绕过身份验证,从而无法得知通信内容,安全性高且能防止中间人攻击。

进一步的,还包括控制端2,所述控制端2包括第三存储器3、第三处理器4及存储在第三存储器3上可在第三处理器4上运行的第三计算机程序,其特征在于,所述第三处理器4执行所述第三计算机程序时实现以下步骤:

s01、制作服务端公钥证书和对应的服务端私钥证书,将所述服务端公钥证书加密后以物理形式存储于终端,将所述服务端私钥证书存储于服务端。

由上述描述可知,通过将服务端公钥证书加密后以物理形式存储于终端,而将所述服务端私钥证书存储于服务端,即使信任了中间人证书,因为服务端在交出数据前也需要一次校验,中间人没有服务端私钥证书,即使截获了数据也无法进行解密操作,而且即使服务端公钥泄漏也不影响通信的安全性。

进一步的,所述第三处理器4执行所述第三计算机程序时实现以下步骤:

所述步骤s01之后还包括:

s02、制作备用的服务端公钥证书和对应的备用的服务端私钥证书,并存储于所述服务端的安全区域,且所述备用的服务端公钥证书和所述备用的服务端私钥证书的过期时间大于所述服务端公钥证书和服务端私钥证书。

由上述描述可知,通过制作备用的服务端公钥证书和对应的备用的服务端私钥证书,避免了服务端私钥证书和公钥证书过期以及服务端私钥证书遭恶意泄露的风险。

进一步的,当终端使用当前的服务端公钥证书与服务端第一次校验成功时发送至服务端的第二数据包含向服务端获取与所述备用的服务端私钥证书对应的备用的服务端公钥证书的请求,以使得服务端将所述备用的服务端公钥证书发送至所述终端并存储。

由上述描述可知,仅当终端使用当前的服务端公钥证书与服务端第一次校验成功时发送至服务端的向服务端获取备用的服务端公钥证书并存储,确保通讯安全,降低了服务端公钥证书泄漏的风险。

进一步的,所述第三处理器4执行所述第三计算机程序时实现以下步骤:

s51、当服务端私钥证书过期或接收到更新服务端私钥证书的请求时,将所述服务端私钥证书替换为所述备用的服务端私钥证书,以使得所述终端校验服务端身份信息失败后,将所述服务端公钥证书替换为与所述备用的服务端私钥证书对应的备用的服务端公钥证书,并执行步骤s1、s3;

s52、执行步骤s02。

由上述描述可知,将所述服务端私钥证书替换为所述备用的服务端私钥证书,并在终端校验服务端身份信息失败后,将所述服务端公钥证书替换为与所述备用的服务端私钥证书对应的备用的服务端公钥证书,并在执行完步骤s1、s3后,执行步骤s02再次生成备用的服务端私钥证书以及对应的服务端公钥证书,形成了完整的动态循环过程。

实施例一

一种防止mitm攻击的方法,包括步骤:

s01、控制端制作服务端公钥证书和对应的服务端私钥证书,将所述服务端公钥证书加密后以物理形式存储于终端,将所述服务端私钥证书存储于服务端;

s1、终端将移动应用身份信息通过存储于本地的服务端公钥证书进行加密,得到第一数据,并将所述第一数据发送至服务端;

s2、服务端接收所述第一数据,用服务端私钥证书对所述第一数据进行解密并校验所述移动应用身份信息,若校验成功,则通过所述服务端私钥证书对服务端身份信息进行签名,得到响应数据,并将所述响应数据返回至终端;

s3、终端接收所述响应数据,通过所述服务端公钥证书对所述响应数据进行身份校验,若校验成功,则采用所述服务端公钥证书对移动应用密钥加密,得到第二数据,并将所述第二数据发送至服务端;

s4、服务端接收所述第二数据,用服务端私钥证书对所述第二数据解密后得到所述移动应用密钥,保存所述移动应用密钥,并通过所述移动应用密钥对与所述终端进行交互的数据进行对称加密。

实施例二

一种防止mitm攻击的方法,包括步骤:

s01、控制端制作服务端公钥证书和对应的服务端私钥证书,将所述服务端公钥证书加密后以物理形式存储于终端,将所述服务端私钥证书存储于服务端;

s02、控制端制作备用的服务端公钥证书和对应的备用的服务端私钥证书,并存储于所述服务端的安全区域,且所述备用的服务端公钥证书和所述备用的服务端私钥证书的过期时间大于所述服务端公钥证书和服务端私钥证书;

s1、终端将移动应用身份信息通过存储于本地的服务端公钥证书进行加密,得到第一数据,并将所述第一数据发送至服务端;

s2、服务端接收所述第一数据,用服务端私钥证书对所述第一数据进行解密并校验所述移动应用身份信息,若校验成功,则通过所述服务端私钥证书对服务端身份信息进行签名,得到响应数据,并将所述响应数据返回至终端;

s3、终端接收所述响应数据,通过所述服务端公钥证书对所述响应数据进行身份校验,若校验成功,则采用所述服务端公钥证书对移动应用密钥加密,得到第二数据,并将所述第二数据发送至服务端;

当终端使用当前的服务端公钥证书与服务端第一次校验成功时发送至服务端的第二数据包含向服务端获取与所述备用的服务端私钥证书对应的备用的服务端公钥证书的请求,以使得服务端将所述备用的服务端公钥证书发送至所述终端并存储;

s4、服务端接收所述第二数据,用服务端私钥证书对所述第二数据解密后得到所述移动应用密钥,保存所述移动应用密钥,并通过所述移动应用密钥对与所述终端进行交互的数据进行对称加密;

s51、当服务端私钥证书过期或接收到更新服务端私钥证书的请求时,控制端将所述服务端私钥证书替换为所述备用的服务端私钥证书,以使得所述终端校验服务端身份信息失败后,将所述服务端公钥证书替换为与所述备用的服务端私钥证书对应的备用的服务端公钥证书,并执行步骤s1、s3;

s52、执行步骤s02。

实施例三

本实施例结合具体的应用场景,进一步描述本发明是如何实现的:

步骤01,先制作一张带有特定服务端身份信息(如域名、ip、唯一标识码等)的服务端公钥证书和对应的服务端私钥证书,既可以使用ca厂商颁发的证书,也可以自建证书,如使用openssl自建证书,将所述服务端公钥证书以物理形式存放在移动应用中,将所述服务端私钥证书存放在服务端;

步骤02,制作备用的服务端公钥证书和对应的备用的服务端私钥证书,并存储于所述服务端的安全区域,且所述备用的服务端公钥证书和所述备用的服务端私钥证书的过期时间大于所述服务端公钥证书和服务端私钥证书;

步骤1,终端将移动应用身份信息通过存储于本地的服务端公钥证书进行加密,得到第一数据,并将所述第一数据发送至服务端;

步骤2,服务端接收所述第一数据,用服务端私钥证书对所述第一数据进行解密,若解密失败,则认为终端的服务端公钥证书被中间人替换,断开通信连接,若解密成功,则校验所述移动应用身份信息,若校验成功,则通过所述服务端私钥证书对服务端身份信息进行签名,得到响应数据,并将所述响应数据返回至终端;

步骤3,终端接收所述响应数据,通过所述服务端公钥证书对所述响应数据进行身份校验,若校验成功,则随机生成移动密钥(每次通信时生成的移动密钥都不同),并采用所述服务端公钥证书对移动应用密钥加密,得到第二数据,并将所述第二数据发送至服务端,且当终端使用当前的服务端公钥证书与服务端第一次校验成功时发送至服务端的第二数据包含向服务端获取与所述备用的服务端私钥证书对应的备用的服务端公钥证书的请求,以使得服务端将所述备用的服务端公钥证书发送至所述终端并存储;

当移动应用第一次与服务端校验成功时即获取备用的服务端公钥证书并存储,接下来的请求中,若移动应用使用服务端公钥证书与服务端私钥证书出现校验失败,则认为此时服务端已将服务端私钥证书替换为备用的服务端私钥证书,移动应用使用备用的服务端公钥证书进行请求校验,如果校验成功,则废弃本地存储的服务端公钥证书,以备用的服务端公钥证书代替原来的服务端公钥,并获取下一服务端公钥证书作为新的备用的服务端公钥证书存储;如新的备用的服务端公钥证书依旧与服务端的私钥校验失败,则认为遭到了中间人攻击,断开连接;

步骤4,服务端接收所述第二数据,用服务端私钥证书对所述第二数据解密后得到所述移动应用密钥,保存所述移动应用密钥,并通过所述移动应用密钥对与所述终端进行交互的数据进行对称加密。

步骤51、当服务端私钥证书过期或接收到更新服务端私钥证书的请求时,控制端将所述服务端私钥证书替换为所述备用的服务端私钥证书,以使得所述终端校验服务端身份信息失败后,将所述服务端公钥证书替换为与所述备用的服务端私钥证书对应的备用的服务端公钥证书,并执行步骤s1、s3;

步骤52、执行步骤s02;

通信安全是以服务端私钥证书不被泄漏为前提的,因此除了服务端私钥证书过期外,还可能存在着管理人员恶意泄漏服务端私钥证书,当出现服务端私钥证书被人为泄漏时,通常是以日志数据的异常来判断服务端私钥证书是否被恶意泄漏;如某些数据不在正常的范围之内、或用户信息鉴权多次出现异常等,虽然这些问题并不一定都是服务端私钥证书泄漏引起的,但是为了保证安全通常会将服务端私钥证书替换为备用的服务端私钥证书;

因此需要对服务端私钥证书是否被恶意泄漏进行检测与防范,具体的检测与防范方法如下:

1.服务端接受到终端发来的请求数据时,记录数据到日志系统,日志系统定时检测数据是否在正常范围之内,如果出现数据异常则发出报警,服务端可以根据日志报警级别来决定是否向控制端请求更新私钥证书;

2.服务端缩短服务端私钥证书更新周期,如半个小时更新一次等等,此方式会带来较大的资源损耗,但安全性极高,即使服务端私钥证书泄漏,短时间是无法完成中间人攻击系统的。

实施例四

一种防止mitm攻击的系统,包括终端和服务端,所述终端包括第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的第一计算机程序,所述服务端包括第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的第二计算机程序;

所述第一处理器执行所述第一计算机程序时实现以下步骤:

s1、将移动应用身份信息通过存储于本地的服务端公钥证书进行加密,得到第一数据,并将所述第一数据发送至服务端;

s3、接收响应数据,通过所述服务端公钥证书对所述响应数据进行身份校验,若校验成功,则采用所述服务端公钥证书对移动应用密钥加密,得到第二数据,并将所述第二数据发送至服务端,所述响应数据为成功验证移动应用身份信息后,通过服务端私钥证书对服务端身份信息签名得到的;

所述第二处理器执行所述第二计算机程序时实现以下步骤:

s2、接收所述第一数据,用服务端私钥证书对所述第一数据进行解密并校验所述移动应用身份信息,若校验成功,则通过所述服务端私钥证书对服务端身份信息进行签名,得到响应数据,并将所述响应数据返回至终端;

s4、接收所述第二数据,用服务端私钥证书对所述第二数据解密后得到所述移动应用密钥,保存所述移动应用密钥,并通过所述移动应用密钥对与所述终端进行交互的数据进行对称加密;

还包括控制端,所述控制端包括第三存储器、第三处理器及存储在第三存储器上可在第三处理器上运行的第三计算机程序,其特征在于,所述第三处理器执行所述第三计算机程序时实现以下步骤:

s01、制作服务端公钥证书和对应的服务端私钥证书,将所述服务端公钥证书加密后以物理形式存储于终端,将所述服务端私钥证书存储于服务端。

实施例五

一种防止mitm攻击的系统,包括终端和服务端,所述终端包括第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的第一计算机程序,所述服务端包括第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的第二计算机程序;

所述第一处理器执行所述第一计算机程序时实现以下步骤:

s1、将移动应用身份信息通过存储于本地的服务端公钥证书进行加密,得到第一数据,并将所述第一数据发送至服务端;

s3、接收响应数据,通过所述服务端公钥证书对所述响应数据进行身份校验,若校验成功,则采用所述服务端公钥证书对移动应用密钥加密,得到第二数据,并将所述第二数据发送至服务端,所述响应数据为成功验证移动应用身份信息后,通过服务端私钥证书对服务端身份信息签名得到的;

当终端使用当前的服务端公钥证书与服务端第一次校验成功时发送至服务端的第二数据包含向服务端获取与所述备用的服务端私钥证书对应的备用的服务端公钥证书的请求,以使得服务端将所述备用的服务端公钥证书发送至所述终端并存储;

所述第二处理器执行所述第二计算机程序时实现以下步骤:

s2、接收所述第一数据,用服务端私钥证书对所述第一数据进行解密并校验所述移动应用身份信息,若校验成功,则通过所述服务端私钥证书对服务端身份信息进行签名,得到响应数据,并将所述响应数据返回至终端;

s4、接收所述第二数据,用服务端私钥证书对所述第二数据解密后得到所述移动应用密钥,保存所述移动应用密钥,并通过所述移动应用密钥对与所述终端进行交互的数据进行对称加密;

s51、当服务端私钥证书过期或接收到更新服务端私钥证书的请求时,控制端将所述服务端私钥证书替换为所述备用的服务端私钥证书,以使得所述终端校验服务端身份信息失败后,将所述服务端公钥证书替换为与所述备用的服务端私钥证书对应的备用的服务端公钥证书,并执行步骤s1、s3;

s52、执行步骤s02;

还包括控制端,所述控制端包括第三存储器、第三处理器及存储在第三存储器上可在第三处理器上运行的第三计算机程序,其特征在于,所述第三处理器执行所述第三计算机程序时实现以下步骤:

s01、制作服务端公钥证书和对应的服务端私钥证书,将所述服务端公钥证书加密后以物理形式存储于终端,将所述服务端私钥证书存储于服务端;

s02、制作备用的服务端公钥证书和对应的备用的服务端私钥证书,并存储于所述服务端的安全区域,且所述备用的服务端公钥证书和所述备用的服务端私钥证书的过期时间大于所述服务端公钥证书和服务端私钥证书。

综上所述,本发明提供的一种防止mitm攻击的方法及系统,通过将服务端公钥证书存储于终端,而服务端存储相应的服务端私钥证书,在建立通信连接前先互相进行身份校验,即使信任了中间人证书,由于服务端在发送数据前需要一次校验,中间人没有服务端私钥证书,即使截获了数据也无法进行解密操作,另外由于终端使用的是本地存储的服务端公钥证书对服务端进行身份校验,中间人也无法绕过身份验证,从而无法得知通信内容,安全性高且能防止中间人攻击,将所述服务端私钥证书替换为所述备用的服务端私钥证书,并在终端校验服务端身份信息失败后,将所述服务端公钥证书替换为与所述备用的服务端私钥证书对应的备用的服务端公钥证书,并在执行完步骤s1、s3后,执行步骤s02再次生成备用的服务端私钥证书以及对应的服务端公钥证书,形成了完整的动态循环过程。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1