一种防止重放攻击的方法与流程

文档序号:12493659阅读:3655来源:国知局
一种防止重放攻击的方法与流程

本发明涉及信息安全技术领域,特别涉及一种防止重放攻击的方法。



背景技术:

图1和图2分别为现有技术中,在没有防止重放攻击的情况下,黑客截获指令和复制伪装指令的示意图。如图1所示,在无防重放攻击的场景,发送者发指令给接收者(例如,转xxx元钱),黑客可以截获该指令。并如图2所示,复制多份发送给接收者,让接收者以为发送者发送了很多条这种指令,进而接收者有可能将资金转至黑客的账户,导致接收者的资金和个人信息的泄露,给接收者造成极大的隐患。



技术实现要素:

本发明的目的旨在至少解决所述技术缺陷之一。

为此,本发明的目的在于提出一种防止重放攻击的方法,将发送者和接收者二者之间的通讯严格排序,防止黑客进行重放攻击。

为了实现上述目的,本发明的实施例提供一种防止重放攻击的方法,包括如下步骤:

步骤S1,发送者向接收者发起协商随机数请求,并接收由所述接收者返回的由其生成的第i随机数,i为正整数;

步骤S2,所述发送者将所述第i随机数与第i指令进行加密处理,生成指令加密结果,并将所述指令加密结果连同所述发送者生成的第i+1随机数,发送至所述接收者;

步骤S3,所述接收者利用所述第i随机数对所述指令加密结果进行解密处理,以获得所述第i指令的原文,并响应所述第i指令,生成响应数据;

步骤S4,所述接收者将所述第i+1随机数和所述响应数据进行加密处理,生成响应加密结果,并将所述响应加密结果连同所述接收者生成的第i+2随机数,发送至所述接收者;

步骤S5,所述接收者利用所述第i+1随机数对所述响应加密结果进行解密处理,以获得所述响应数据,并存储所述第i+2随机数,以用于下次指令发送,如此类推。

进一步,所述随机数与所述指令相对应,以保证所述指令的唯一性。

进一步,在所述步骤S2中,所述发送者将所述第i随机数与第i指令进行加密处理,包括:将所述第i随机数与第i指令进行异或运算,生成指令加密结果;

在所述步骤S3中,所述接收者利用所述第i随机数对所述指令加密结果进行解密处理,包括:利用所述第i随机数对所述指令加密结果进行异或运算,以获得所述第i指令的原文。

进一步,在所述步骤S4中,所述接收者将所述第i+1随机数和所述响应数据进行加密处理,包括:将所述第i+1随机数和所述响应数据进行异或运算,得到所述响应加密数据;

在所述步骤S5中,所述接收者利用所述第i+1随机数对所述响应加密结果进行解密处理,以获得所述响应数据。

根据本发明实施例的防止重放攻击的方法,将发送者和接收者二者之间的通讯严格排序,并且在发送者和接收者之间传输指令或响应,均采用随机数与指令或响应原文进行异或运算的方式,实现加密,并在到达目的地后进行解密。当第n条指令被黑客截取并复制后,黑客向接收者发送副本的时候,由于接收者认为这已经是第n+x次了(其中x>0),所以用第n+x个随机数对指令进行异或得不到正确的指令,所以被复制的指令不被执行,从而可以达到防止黑客进行重放攻击的目的。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1为现有技术中无防止重放攻击下,黑客截获指令的示意图;

图2为现有技术中无防止重放攻击下,黑客复制伪装指令的示意图;

图3为根据本发明实施例的防止重放攻击的方法的流程图;

图4为根据本发明实施例的发送者向接收者请求随机数的示意图;

图5为根据本发明实施例的发送者和接收者传输指令和随机数的示意图。

具体实施方式

下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

本发明实施例提供一种防止重放攻击的方法,该方法可以将发送者和接收者二者之间的通讯严格排序,防止黑客截获某条指令并复制发送。

如图3所示,本发明实施例的防止重放攻击的方法,包括如下步骤:

步骤S1,发送者向接收者发起协商随机数请求,并接收由接收者返回的由其生成的第i随机数,i为正整数。需要说明的是,随机数与指令相对应,从而可以保证指令的唯一性。

在本步骤中,如图4所示,初始时,由发送者向接收者发起协商随机数请求,然后接收接收者返回其生成的第1个随机数。

步骤S2,发送者将第i随机数与第i指令进行加密处理,生成指令加密结果,并将指令加密结果连同发送者生成的第i+1随机数,发送至接收者,参考图5。

在本发明的一个实施例中,发送者和接收者之间在传输指令或响应时,需要利用随机数对数据进行加密。优选的,本发明采用异或运算方式对数据加解密。

在本步骤中,发送者将第i随机数与第i指令进行加密处理,包括:将第i随机数与第i指令进行异或运算,生成指令加密结果。

步骤S3,接收者利用第i随机数对指令加密结果进行解密处理,以获得第i指令的原文,并响应第i指令,生成响应数据。

在本步骤中,接收者利用第i随机数对指令加密结果进行解密处理,包括:利用第i随机数对指令加密结果进行异或运算,以获得第i指令的原文。

步骤S4,接收者将第i+1随机数和响应数据进行加密处理,生成响应加密结果,并将响应加密结果连同接收者生成的第i+2随机数,发送至接收者。

在本步骤中,接收者将第i+1随机数和响应数据进行加密处理,包括:将第i+1随机数和响应数据进行异或运算,得到响应加密数据。

步骤S5,接收者利用第i+1随机数对响应加密结果进行解密处理,以获得响应数据,并存储第i+2随机数,以用于下次指令发送,如此类推。

在本步骤中,接收者利用第i+1随机数对响应加密结果进行解密处理,以获得响应数据。

下面结合具体实施例对本发明的防止重放攻击的方法进行说明。

1)发送者向接收者发起协商随机数请求,接收者返回它生成的第1个随机数给发送者;

2)发送者用第1(此时,i=1)随机数和其所要发送的第1指令进行异或运算,并附加上发送者生成的第2随机数(即,i=1时,第i+1个随机数)发送给接收者。

3)接收者用第1随机数对接收到的指令再次进行异或运算,得到指令的原文,并执行指令操作,生成响应数据;

4)接收者用第2随机数对指令执行的响应数据进行异或运算,并生成第3随机数(即,i=1时,第i+2个随机数)附加到异或结果之后,返回给发送者;

5)发送者用第2随机数对响应数据进行异或运算,取得真正的响应数据,并保留下第3随机数,以便进行下一次指令发送,如此类推。

6)发送者用第n随机数和他所要发送的第n条指令进行异或运算,并附加上发送者生成的第n+1个随机数发送给接收者。

7)接收者用第n随机数对接收到的指令再次进行异或运算,得到指令的原文,并执行指令操作,生成响应数据。

8)接收者用第n+1个随机数对指令执行的响应数据进行异或运算,并生成第n+2个随机数附加到异或结果之后返回给发送者。

9)发送者用第n+1个随机数对响应数据进行异或运算,取得真正的响应数据,并保留下第n+2个随机数,以便进行下一次指令发送。

根据本发明实施例的防止重放攻击的方法,将发送者和接收者二者之间的通讯严格排序,并且在发送者和接收者之间传输指令或响应,均采用随机数与指令或响应原文进行异或运算的方式,实现加密,并在到达目的地后进行解密。当第n条指令被黑客截取并复制后,黑客向接收者发送副本的时候,由于接收者认为这已经是第n+x次了(其中x>0),所以用第n+x个随机数对指令进行异或得不到正确的指令,所以被复制的指令不被执行,从而可以达到防止黑客进行重放攻击的目的。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围由所附权利要求及其等同限定。

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