CN102739659B - 一种防重放攻击的认证方法 - Google Patents
一种防重放攻击的认证方法 Download PDFInfo
- Publication number
- CN102739659B CN102739659B CN201210200262.3A CN201210200262A CN102739659B CN 102739659 B CN102739659 B CN 102739659B CN 201210200262 A CN201210200262 A CN 201210200262A CN 102739659 B CN102739659 B CN 102739659B
- Authority
- CN
- China
- Prior art keywords
- time
- data chain
- application server
- check information
- way data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种防重放攻击的认证方法,该方法将客户端从登录认证服务器端获取的带有第一时间戳的认证凭据同服务请求传送到应用服务器,并使用单向数据链来标识用户请求的顺序,在登录认证服务器端计算当前时间与第一时间戳的时间差,并将判定结果、时间差及单向数据链值封装成校验信息发送给应用服务器,应用服务器根据接收到的单向数据链值判断该校验信息是否为重放信息,进一步还可以根据时间差、判定结果判断服务请求是否在有效时间内通过认证。本发明方法勿需时间同步,既避免了***或协议的复杂又规避了时间同步导致的延迟,通过应用单向数据链保证用户请求不被重放攻击的可能。
Description
技术领域
本发明涉及通信***认证领域,尤其是一种防重放攻击的认证方法。
背景技术
重放攻击(Replay Attacks)又称重播攻击、回放攻击或新鲜性攻击(Freshness Attacks),是指攻击者发送一个目的主机已接收过的包,来达到欺骗***的目的,主要用于身份认证过程,破坏认证的正确性。重放攻击会不断恶意或欺诈性地重复一个有效的数据传输,攻击者利用网络监听或者其他方式盗取认证凭据,之后再把它重新发给认证服务器,以破坏认证的安全性。例如通过监听http数据传输或者其他方式截获cookie并提交cookie就是一种重放攻击,可以轻松复制别人的cookie从而获得相应的认证权限。
为了避免服务器遭受重放攻击,现有技术中一般采用基于时间判断的防御机制,而为了保证不同服务器直接能识别接收到的消息是否过期,时间戳在其中扮演一个重要的角色,由于标记时间戳的一方与接收消息的一方会存在一定的时间差问题,一般会采用IEEE1588精确时间协议(Precision Time Protocol,PTP),或者松散的时间同步方式来进行时间同步。若采用专门的时间同步协议,可能会导致通信协议或者***更加复杂,以增加***的不稳定性;若采用松散的时间同步方式,即通过在两个服务之间进行三次握手,然后服务器计算它们之间的时间最大差值,则需要***或协议能忍受一定时间的延迟或不同步问题,但在有些***或协议中这种延迟或不同步是不允许的。
发明内容
本发明要解决的技术问题是:提供一种勿需时间同步的防重放攻击的认证方法,该方法提高了认证***的安全性。
为了解决上述技术问题,本发明所采用的技术方案是:
一种防重放攻击的认证方法,包括以下步骤:
客户端发送登录请求消息到登录认证服务器;
登录认证服务器生成包括标识当前时间的第一时间戳的认证凭据给客户端;
客户端发送服务请求、来自登录认证服务器的认证凭据以及自己生成的单向数据链值到应用服务器;
应用服务器将包括认证凭据和单向数据链值的信息发送到登录认证服务器;
登录认证服务器判定所述认证凭据的正确性并计算当前时间与第一时间戳的时间差,将用于证明用户是否已经登录的认证凭据的正确性的判定结果、所述时间差及接收到的单向数据链值封装成校验信息发送给应用服务器;
应用服务器接收校验信息,判断接收到的单向数据链值是否为最新的单向数据链值,若否则判定为重放消息,直接丢弃该校验消息;若是则根据校验信息对客户端的服务请求进行服务响应。
进一步作为优选的实施方式,所述应用服务器根据校验信息对客户端的服务请求进行服务响应包括以下步骤:
将校验信息中的时间差与设定的有效时间比较,判断时间差是否大于设定的有效时间,若是则丢弃该校验信息;若否则执行下一步骤;
判断判定结果是否正确,若认证凭据正确则执行服务响应,若否则丢弃该校验信息。
进一步作为优选的实施方式,所述设定的有效时间来自应用服务器端。
进一步作为优选的实施方式,所述设定的有效时间来自登录认证服务器端。
进一步作为优选的实施方式,所述设定的有效时间可以人为调整。
本发明的有益效果是:本发明防重放攻击的认证方法,在对认证凭证有效期的校验时,不是在应用服务器端校验认证凭证的时间差,而是将认证凭证有效期的校验转移到登录认证服务器端,由于认证凭证上的第一时间戳是由登录认证服务器生产的,在校验认证凭证的有效期时采用登录认证服务器本地端的时间与第一时间戳比较,保证了校验的准确性,勿需对应用服务器和登录认证服务器的时间进行同步;进一步通过单向数据链保证了用户的合法服务请求不被重放攻击的可能。
附图说明
下面结合附图对本发明的具体实施方式作进一步说明:
图1是本发明防重放攻击的认证方法的步骤流程图;
图2是本发明防重放攻击的认证方法中应用服务器根据校验信息对客户端的服务请求进行服务响应优选实施例的步骤流程图;
图3是本发明防重放攻击的认证方法应用场景的示意图;
图4是本发明单向数据链的应用示意图。
具体实施方式
参照图1,一种防重放攻击的认证方法,包括以下步骤:
客户端发送登录请求消息到登录认证服务器;
登录认证服务器生成包括标识当前时间的第一时间戳TimeSignOn的认证凭据给客户端;
客户端发送服务请求、来自登录认证服务器的认证凭据以及自己生成的单向数据链值到应用服务器;
应用服务器将包括认证凭据和单向数据链值的信息发送到登录认证服务器;
登录认证服务器判定所述认证凭据的正确性并计算当前时间TimeCurrent与第一时间戳TimeSignOn的时间差,将用于证明用户是否已经登录的认证凭据的正确性的判定结果、所述时间差及接收到的单向数据链值封装成校验信息发送给应用服务器;
应用服务器接收校验信息,判断接收到的单向数据链值是否为最新的单向数据链值,上述判断过程具体为:将接收到的单向数据链值进行哈希函数操作,判断哈希函数得出的结果与应用服务器存储的单向数据链值是否一致,若一致则根据校验信息对客户端的服务请求进行服务响应,并将接收到的数据链值保存替换原来存储的单向数据链值;若否则判定为重放消息,直接丢弃该校验消息。在应用服务器首次响应客户端发出的服务请求时,接收的单向数据链值即为最新的单向数据链值,故直接存储在应用服务器上,后续的服务响应中,应用服务器都需将校验信息中的单向数据链值进行哈希函数操作与存储的单向数据链值进行比较,判断接收的单向数据链值是否为最新的单向数据链值,以避免客户端服务请求的重放攻击。
参照图4,单向数据链(One-Way Chains),亦称哈希链,是一种在非安全环境中的密码保护方案,但在本发明中,借用这种机制来防止客户端发送的服务请求消息的重放。图4给出了单向数据链的构成结构和应用结构,单向数据链由反复单向执行单向函数(也称哈希函数)F生成,并且单向函数F算法不可逆,这样可以生成多阶的单向数据链值Si,即F(Si)=Si-1,且Fi(Si)=S0。由于应用时,对Si值的选取顺序刚好与该数据链生成的顺序相反,因此即使第三方窃取了某一已应用过的单向数据链值,也无法得知更新后的单向数据链值,从而无法对认证消息进行重放攻击。本发明应用服务器利用单向数据链可以保证客户端发送的服务请求信息为可靠的,非重放攻击产生的。
进一步作为优选的实施方式,参照图2,所述应用服务器根据校验信息对客户端的服务请求进行服务响应包括以下步骤:
将校验信息中的时间差与设定的有效时间比较,判断时间差是否大于设定的有效时间,若是则丢弃该校验信息;若否则执行下一步骤;
判断判定结果是否正确,若认证凭据正确则执行服务响应,若否则丢弃该校验信息。
进一步作为优选的实施方式,所述设定的有效时间来自应用服务器端,例如该设定的有效时间可以从应用服务器的内存中读取。
进一步作为优选的实施方式,所述设定的有效时间来自登录认证服务器端,例如该设定的有效时间包含在封装的校验信息中,应用服务器可以从校验信息中读取,这样保证了在登录认证服务器端调整预先设定的有效时间的值。
进一步作为优选的实施方式,所述设定的有效时间可以人为调整,以适应不同的应用场合。
图3是本发明防重放攻击的认证方法应用场景的示意图;
S1:客户端向登录认证服务器发送登录请求;
S2:登录认证服务器发送登录响应给客户端,登录响应即为在登录认证服务器端生成的认证凭据,该认证凭据包括标识当前时间的第一时间戳TimeSignOn,还包括用于认证的其他信息,例如校验码等,以标识用户是否登录成功;
S3:用户通过客户端发送服务请求给应用服务器,该服务请求同时包括包含有第一时间戳TimeSignOn的认证凭据以及单向数据链值等;用户客户端自身维护了一个单向数据链(One-Way Chains)以及其最新的链值,例如最新链值S12;
S4:应用服务器将认证凭据和单向数据链值S12等相关信息等发送到登录认证服务器;应用服务器自身保存有上次验证的单向数据链值S11;
S5:登录认证服务器根据存储的认证信息对认证凭据的正确性进行判断生成判定结果,该判定结果用于证明用户是否已经登录,并计算自身的当前时间TimeCurrent与第一时间戳TimeSignOn的时间差,将判定结果、时间差及单向数据链值S12封装成校验信息发送给应用服务器;
S6:应用服务器接收校验信息,判断接收到的单向数据链值S12是否为最新的单向数据链值,即对单向数据链值S12进行哈希函数操作,判断结果是否与存储的单向数据链值S11一致,若否则直接丢弃该校验消息;若是则继续读取校验信息中的判定结果和时间差,若服务请求在设定的有效时间内认证成功,则应用服务器进行服务响应。在应用服务器端存储的单向数据链值会更新为S12。这样即使窃听者嗅探到单向数据链值S12,由于无法推导出最新的单向数据链值S13,从而避免了重放攻击。
本发明防重放攻击的认证方法,将认证凭据上的第一时间戳与生成该第一时间戳的登录认证服务器的本地时间进行比较,从而节省了时间同步的麻烦,既避免了***或协议的复杂又规避了时间同步导致的延迟,通过应用单向数据链保证用户的合法服务请求不被重放攻击的可能。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可以作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (3)
1.一种防重放攻击的认证方法,其特征在于,包括以下步骤:
客户端发送登录请求消息到登录认证服务器;
登录认证服务器生成包括标识当前时间的第一时间戳的认证凭据给客户端;
客户端发送服务请求、来自登录认证服务器的认证凭据以及自己生成的单向数据链值到应用服务器;
应用服务器将包括认证凭据及单向数据链值的信息发送到登录认证服务器;
登录认证服务器判定所述认证凭据的正确性并计算当前时间与第一时间戳的时间差,将判定结果、所述时间差及接收到的单向数据链值封装成校验信息发送给应用服务器;
应用服务器接收校验信息,判断接收到的单向数据链值是否为最新的单向数据链值,若否则判定为重放消息,直接丢弃该校验信息;若是则根据校验信息对客户端的服务请求进行服务响应,所述应用服务器根据校验信息对客户端的服务请求进行服务响应包括以下步骤:
将校验信息中的时间差与设定的有效时间比较,判断时间差是否大于设定的有效时间,若是则丢弃该校验信息;若否则执行下一步骤;
判断判定结果是否正确,若认证凭据正确则执行服务响应,若否则丢弃该校验信息,所述设定的有效时间来自应用服务器端。
2.根据权利要求1所述的一种防重放攻击的认证方法,其特征在于:所述设定的有效时间来自登录认证服务器端。
3.根据权利要求2所述的一种防重放攻击的认证方法,其特征在于:所述设定的有效时间可以人为调整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210200262.3A CN102739659B (zh) | 2012-06-16 | 2012-06-16 | 一种防重放攻击的认证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210200262.3A CN102739659B (zh) | 2012-06-16 | 2012-06-16 | 一种防重放攻击的认证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102739659A CN102739659A (zh) | 2012-10-17 |
CN102739659B true CN102739659B (zh) | 2015-07-08 |
Family
ID=46994443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210200262.3A Active CN102739659B (zh) | 2012-06-16 | 2012-06-16 | 一种防重放攻击的认证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102739659B (zh) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140143885A1 (en) * | 2012-11-20 | 2014-05-22 | Ati Technologies Ulc | Firmware-implemented software licensing |
DE112012005356T5 (de) | 2012-12-18 | 2014-10-02 | Intel Corporation | Techniken in Verbindung mit Server-Transaktionslatenzinformationen |
EP2946530A4 (en) | 2013-01-18 | 2016-08-31 | Hewlett Packard Entpr Dev Lp | PREVENTING A MEMORY ATTACK TO A WIRELESS ACCESS POINT |
WO2014110774A1 (en) * | 2013-01-18 | 2014-07-24 | Hewlett-Packard Development Company, L.P. | Preventing an input/output blocking attack to a wireless access point |
CN103269256B (zh) * | 2013-05-10 | 2016-05-04 | 卡斯柯信号有限公司 | 安全编码通信***中消息时效性安全判断方法 |
EP3090377B1 (en) * | 2013-12-31 | 2020-01-22 | OneSpan International GmbH | A method and apparatus for providing client-side score-based authentication |
CN104092697B (zh) * | 2014-07-18 | 2017-09-15 | 新华三技术有限公司 | 一种基于时间的防重放方法及装置 |
CN105119884A (zh) * | 2015-07-10 | 2015-12-02 | 深圳市美贝壳科技有限公司 | 用于网络通信用户权限的校验方法 |
CN105635139B (zh) * | 2015-12-31 | 2019-04-05 | 深圳市安之天信息技术有限公司 | 一种防溢出攻击的文档安全操作与分析的方法及*** |
CN105516186B (zh) * | 2015-12-31 | 2019-07-23 | 华为技术有限公司 | 一种防止重放攻击的方法和服务器 |
US9948673B2 (en) * | 2016-05-26 | 2018-04-17 | Visa International Service Association | Reliable timestamp credential |
CN107623667B (zh) * | 2016-07-15 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 数据重放判断方法和装置 |
CN107835145B (zh) * | 2016-09-21 | 2019-12-31 | 炫彩互动网络科技有限公司 | 一种防重放攻击的方法及分布式*** |
CN106548080A (zh) * | 2016-10-28 | 2017-03-29 | 鄢碧珠 | 一种远端数据存储方法 |
CN106570378A (zh) * | 2016-10-28 | 2017-04-19 | 鄢碧珠 | 一种提高用户存储安全性的*** |
CN106506635A (zh) * | 2016-10-28 | 2017-03-15 | 郑建钦 | 一种移动式的云端存储方法 |
CN106570415A (zh) * | 2016-10-28 | 2017-04-19 | 郑建钦 | 一种远端数据存储*** |
CN106909953B (zh) * | 2017-03-02 | 2020-03-13 | 重庆砖家宝网络科技发展有限公司 | 时间戳标签打印方法及*** |
CN108540513B (zh) * | 2017-03-03 | 2021-08-13 | ***通信集团福建有限公司 | 请求重放攻击的判定方法和装置 |
CN109756460B (zh) * | 2017-11-06 | 2021-07-09 | 中移(杭州)信息技术有限公司 | 一种防重放攻击方法及装置 |
CN108809991A (zh) * | 2018-06-15 | 2018-11-13 | 北京云枢网络科技有限公司 | 一种基于sdk动态水印的客户端合法性校验的方法 |
CN109379193B (zh) * | 2018-12-06 | 2021-06-29 | 佛山科学技术学院 | 一种动态防重放攻击认证方法及装置 |
CN110166471A (zh) * | 2019-05-28 | 2019-08-23 | 杭州迪普科技股份有限公司 | 一种Portal认证方法及装置 |
CN110890960B (zh) * | 2019-11-16 | 2023-04-18 | 杭州安恒信息技术股份有限公司 | 一种基于多重校验机制的数据重放攻击识别与防护方法 |
CN111259296B (zh) * | 2020-01-14 | 2023-03-10 | 武汉极意网络科技有限公司 | 一种保证Web资源请求有序性的方法及*** |
CN111654451B (zh) * | 2020-05-13 | 2023-03-28 | 南京南瑞继保电气有限公司 | 报文防重放方法及电子设备 |
CN112367329B (zh) * | 2020-11-17 | 2023-05-02 | 北京知道创宇信息技术股份有限公司 | 通信连接认证方法、装置、计算机设备及存储介质 |
CN112711759A (zh) * | 2020-12-28 | 2021-04-27 | 山东鲁能软件技术有限公司 | 一种防重放攻击漏洞安全防护的方法及*** |
CN115460598A (zh) * | 2021-06-07 | 2022-12-09 | 中移物联网有限公司 | 一种离线密码的鉴权方法、生成方法、设备端及服务端 |
CN113612795A (zh) * | 2021-08-18 | 2021-11-05 | 广州科语机器人有限公司 | 重放攻击判断方法、物联网设备、电子设备及存储介质 |
CN114124374A (zh) * | 2021-11-10 | 2022-03-01 | 郭胜群 | 一种通讯防重放方法及*** |
CN114614969B (zh) * | 2022-03-15 | 2024-03-01 | 东北林业大学 | 信息物理***中攻击类型的判断与应对的方法、电子设备及存储介质 |
CN115065503B (zh) * | 2022-05-11 | 2024-05-31 | 浪潮云信息技术股份公司 | 一种api网关防重放攻击的方法 |
CN115065553A (zh) * | 2022-07-27 | 2022-09-16 | 远江盛邦(北京)网络安全科技股份有限公司 | 一种单包认证方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1897523A (zh) * | 2006-06-26 | 2007-01-17 | 北京金山软件有限公司 | 一种实现单点登录的***及方法 |
CN101083530A (zh) * | 2007-07-13 | 2007-12-05 | 北京工业大学 | 利用短消息实现的移动实体间的认证与密钥协商方法 |
CN102457482A (zh) * | 2010-10-19 | 2012-05-16 | 成都市华为赛门铁克科技有限公司 | 一种认证方法、装置和*** |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6711677B1 (en) * | 1999-07-12 | 2004-03-23 | Hewlett-Packard Development Company, L.P. | Secure printing method |
US7116668B2 (en) * | 2001-10-09 | 2006-10-03 | Telefunaktiebolaget Lm Ericsson (Publ) | Method for time stamp-based replay protection and PDSN synchronization at a PCF |
US7926103B2 (en) * | 2003-06-05 | 2011-04-12 | Hewlett-Packard Development Company, L.P. | System and method for preventing replay attacks |
US8413248B2 (en) * | 2006-03-22 | 2013-04-02 | Michael B. Rash | Method for secure single-packet remote authorization |
CN101394284B (zh) * | 2008-11-13 | 2011-01-19 | 四川长虹电器股份有限公司 | 一次性口令认证方法 |
CN101459516B (zh) * | 2009-02-20 | 2010-12-08 | 浙江工业大学 | 一种动态口令安全登录方法 |
CN102035801B (zh) * | 2009-09-28 | 2014-05-14 | 西门子(中国)有限公司 | 一种用于防止攻击的方法和装置 |
-
2012
- 2012-06-16 CN CN201210200262.3A patent/CN102739659B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1897523A (zh) * | 2006-06-26 | 2007-01-17 | 北京金山软件有限公司 | 一种实现单点登录的***及方法 |
CN101083530A (zh) * | 2007-07-13 | 2007-12-05 | 北京工业大学 | 利用短消息实现的移动实体间的认证与密钥协商方法 |
CN102457482A (zh) * | 2010-10-19 | 2012-05-16 | 成都市华为赛门铁克科技有限公司 | 一种认证方法、装置和*** |
Non-Patent Citations (2)
Title |
---|
"基于生物特征的鲁棒远程用户认证方案";张韶远等;《计算机工程》;20120205;第38卷(第3期);第137-138页 * |
"增强型相互认证密钥协商方案";戚世杰等;《计算机工程》;20120105;第38卷(第1期);第108-110页 * |
Also Published As
Publication number | Publication date |
---|---|
CN102739659A (zh) | 2012-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102739659B (zh) | 一种防重放攻击的认证方法 | |
CN107395312B (zh) | 一种安全网络时间同步方法及装置 | |
CN102647461B (zh) | 基于超文本传输协议的通信方法、服务器、终端 | |
CN102130915B (zh) | 基于时钟的重发保护 | |
CN105681470B (zh) | 基于超文本传输协议的通信方法、服务器、终端 | |
US20170126410A1 (en) | Method of providing a hash value for a piece of data, electronic device and computer program | |
CN102624740A (zh) | 一种数据交互方法及客户端、服务器 | |
RU2530691C1 (ru) | Способ защищенного удаленного доступа к информационным ресурсам | |
KR20140052031A (ko) | 안전하고 신뢰성있는 시간 기술을 위한 방법 및 장치 | |
CN112436940B (zh) | 一种基于零知识证明的物联网设备可信启动管理方法 | |
CN107819789A (zh) | 一种基于区块链的内容反劫持***及方法 | |
CN109714370B (zh) | 一种基于http协议端云安全通信的实现方法 | |
CN111080299B (zh) | 一种交易信息的防抵赖方法及客户端、服务器 | |
CN111884811B (zh) | 一种基于区块链的数据存证方法和数据存证平台 | |
CN102739626A (zh) | 时间同步方法和装置、时间戳设备以及可信时间服务器 | |
EP2117200A1 (en) | Method and apparatus for broadcast authentication | |
US10862690B2 (en) | Technique for handling data in a data network | |
EP3544226B1 (en) | Unified secure device provisioning | |
CN111831974A (zh) | 接口保护方法、装置、电子设备及存储介质 | |
WO2015096905A1 (en) | A method and apparatus for detecting that an attacker has sent one or more messages to a receiver node | |
CN102761560B (zh) | 一种验证信息完整性的方法和*** | |
CN113221188B (zh) | Ais数据存证方法、取证方法、装置和存储介质 | |
Annessi et al. | SecureTime: Secure multicast time synchronization | |
CN113434474A (zh) | 基于联邦学习的流量审计方法、设备、存储介质 | |
CN102315996A (zh) | 网络准入控制方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |