CN109862022A - 一种基于方向的协议新鲜性检查方法 - Google Patents
一种基于方向的协议新鲜性检查方法 Download PDFInfo
- Publication number
- CN109862022A CN109862022A CN201910144583.8A CN201910144583A CN109862022A CN 109862022 A CN109862022 A CN 109862022A CN 201910144583 A CN201910144583 A CN 201910144583A CN 109862022 A CN109862022 A CN 109862022A
- Authority
- CN
- China
- Prior art keywords
- agreement
- sns
- user terminal
- platform end
- freshness
- 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.)
- Granted
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于方向的协议新鲜性检查方法,用户端和平台端同时维护一个序列号对:平台通信序列号SNs和用户通信序列号SNc,分别作为平台端和用户端主动发起的会话协议的新鲜因子;平台端发起会话时,将其维护的SNs进行累加并发送给用户端,用户端收到后先验证SNs,再完成累加并同步给平台端;用户端发起会话时,将其维护的SNc进行累加并发送给平台端,平台端收到后先验证SNc,再完成累加并同步给用户端。本发明结合了加密机制、杂凑机制、应答机制的综合应用机制,采用带方向的持续累加的序列号作为新鲜因子,并结合Hash值,用最小的代价实现对消息块、消息块间、协议步间和协议间,以及各种重放攻击的有效防御。
Description
技术领域
本发明涉及一种基于方向的协议新鲜性检查方法。
背景技术
网络中运行良好的通信协议,不仅应该具有有效性、公平性和完整性,而且应该具有足够高的安全性。通常我们把具有安全功能的协议称为安全协议,其安全性质主要有认证性、机密性、完整性、非否认性和新鲜性等。安全协议是网络安全的重要组成部份,多年来,虽说安全协议的研究取得了丰硕的成果,但很多现在使用的安全协议都存在一些潜在的攻击漏洞,威胁协议安全的攻击主要有篡改攻击、替换攻击、假冒攻击、重放攻击等。
重放攻击对于协议来说是最为常见的一类攻击,而且是危害较为严重的一种。如,攻击者窃取了警务控制系统往年的任务调度,发起攻击时,将往年的任务调度信息重送给各警务人员,让警务人员误以为有新的出警任务,导致真实发生的犯罪行为无法及时应对,使社会治安处于混乱状态。又如,客户通过认证授权银行转账给其它客户,如果攻击者窃听到该消息,并在稍后重放该消息,银行将认为客户需要进行两次转账,从而使客户账户遭受损失。
重放攻击是最基本、最常用、危害性最大的一种攻击形式,在这里对重放攻击防御手段进行讨论,进一步完善协议的设计,使通信网络更具安全性。
重放攻击(Replay Attacks)又称为新鲜因子攻击(Freshness Attacks),俗称复制攻击,是指攻击者窃取以前运行的协议或当前运行的协议中的消息或消息片段用于对当前协议运行进行欺骗的攻击行为,其主要用于破坏认证正确性。
重放攻击按攻击层次主要分为消息块重放、消息块间重放、协议步间重放和协议间重放,按攻击对象分为直接重放(消息被转发给预定的接收者但具有一定的延迟)、反射重放(消息被回发给发送者)、转移重放(消息转发给第三者)。
无论是哪一种重放攻击类型都是对协议新鲜性的攻击,协议缺乏新鲜性检查机制是导致被重放攻击的主要原因,其防御手段需要在协议中注入新鲜因子,并保持消息块、协议间的新鲜性。常用的新鲜因子主要有时间戳、随机数、序列号等。
(1)时间戳
最常用的新鲜性检查机制就是时间戳,消息中附带的时间戳标明该消息生成的系统时间,时间戳能够保证消息在一段时间内的新鲜性,接收方只认可时间戳与当前系统时间的差值在设定范围之内的消息。因为时间戳是有设定范围的,只能保证消息是在最近一段时间内生成的,但不能保证消息的唯一性,攻击者可能会利用这个漏洞进行重放攻击,甚至攻击者有可能通过改变接收方的系统时间,让接收方接收已经过期的消息。
(2)随机数
随机数也是协议设计中常用的新鲜因子,是一种基于随机数池的新鲜性检查机制,在发方和收方都会设计一定容量的随机数池,在每一个协议发起时,会产生一个与随机数池Rs中的随机数不重复的随机数R,即R不属于Rs,在消息的关键信息中附带此随机数R,收方会将此随机数R与本地随机池Rs’中的随机数进行比对,如果没有重复,则认为此协议具有新鲜性,并存入随机数池中。此机制中随机数池的容量设计是关键,需要根据实际使用情况预设随机数池的大小,但也因为随机数池的容量是有上限的,累计到一定时间,随机数池中的随机数会重新覆盖,攻击者可能会利用这个漏洞进行重放攻击,让主体接收一些已经过期的消息。
(3)序列号
常见的基于序列号的新鲜性检查机制,会在协议的关键消息中附带一个4字节大小的序列号,序列号与通信对像绑定则具有延续性的数值,如A与B首次交互协议时,协议中关键消息附带序列号为Nab,第二次交互协议,协议中附带序列号为Nab+1,第三次交互协议时,协议中附带序列号为Nab+2。收方只认可序列号在预先设定的拉偏范围之内的消息。因为序列号存在一定的位偏,不能保证消息在拉偏范围内的新鲜性,攻击者可能会利用这个漏洞发起重放攻击。
经上分析可以看出,常用的新鲜因子无论是时间戳、随机数还是序列号,都有可能被攻击者利用的漏洞。
发明内容
为了克服现有技术的上述缺点,本发明提供了一种基于方向的协议新鲜性检查方法,是一种重放攻击防御机制,主要目的是为了解决传统的序列号新鲜性检查机制存在拉偏范围较大,易被攻击的问题,依据协议主体不同维护不同的双向序列号对,能将拉偏值精确缩小到(-1,+1)范围,并结合算法机制、应答机制,形成一个防御机制,有效的抵抗重放攻击。
本发明解决其技术问题所采用的技术方案是:一种基于方向的协议新鲜性检查方法,用户端和平台端同时维护一个序列号对:平台通信序列号SNs和用户通信序列号SNc,分别作为平台端和用户端主动发起的会话协议的新鲜因子;平台端发起会话时,将其维护的SNs进行累加并发送给用户端,用户端收到后先验证SNs,再完成累加并同步给平台端;用户端发起会话时,将其维护的SNc进行累加并发送给平台端,平台端收到后先验证SNc,再完成累加并同步给用户端。
与现有技术相比,本发明的积极效果是:
本发明的基于方向的协议新鲜性检查机制是一种基于双向通信的重放攻击防御办法,结合了加密机制、杂凑机制、应答机制的综合应用机制,采用带方向的持续累加的序列号作为新鲜因子,并结合Hash值,用最小的代价实现对消息块、消息块间、协议步间和协议间,以及直接重放、反射重放、转移重放等各种重放攻击的有效防御。对通信协议的安全设计具有实际的应用价值,此机制的代价小,尤其适用于窄带通信,比如PSTN、短波通信等。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1为本发明的拉偏值分析示意图;
图2为本发明的重放攻击防御能力分析示意图。
具体实施方式
(一)基于方向的协议新鲜性检查机制设计
基于方向的协议新鲜性检查机制是序列号与应答机制、算法机制相结合的应用机制,是面向双向通信方式设计的协议新鲜性检查机制,以用户向打车平台申请打车和打车平台自动向用户扣款两种协议为例(用户与打车平台是典型的客户端与服务端的双向通信)。
用户端和平台端同时维护一个序列号对:平台通信序列号SNs和用户通信序列号SNc。SNs作为平台主动发起的会话协议的新鲜因子,SNc作为用户端主动发起的会话协议的新鲜因子。平台端发起会话时,将其维护的平台通信序列号进行累加并发送给用户端,用户端收到后先验证平台通信序列号,再完成累加并同步给平台端。用户端发起会话时对其维护的用户通信序列号进行累加并发送给平台端,平台端收到后,先验证用户通信序列号,再完成累加并同步给用户端。
也就是说平台通信序列号SNs和用户通信序列号SNc代表了不同的会话发起者,是带有方向感的新鲜因子,基于协议发起的方向不同,维护不同的序列号,主要目的是为了解决传统的序列号新鲜性检查机制存在拉偏范围较大,易被攻击的问题,依据协议主体不同维护不同的双向序列号对,能将拉偏值精确缩小到(-1,+1)范围,有效的抵抗重放攻击。
用户向打车平台申请打车协议,是以用户为会话的发起方,在协议中注入用户通信序列号SNc,此协议主要流程是用户发起打车申请-->平台处理申请并将派车信息发送给用户-->用户收到后发送确认应答。其协议模式为“申请——应答——确认应答”三段式,因用户为客户端,所以采用三段式,如下。
申请(C->S):{C,Ek[IDC,IDs,SNc,A1],H};
应答(S->C):{S,Ek[IDs,IDC,SNc++,A2],H};
确认应答(C->S):{C,Ek[IDC,IDs,SNc++,A3],H}。
打车平台自动向用户扣款协议,是以平台为会话的发起方,在协议中注入平台通信序列号SNs,此协议主要流程是平台发起扣款指令-->用户端自动转款并发送应答。其协议模式为“申请——应答”两段式,如下。
指令(S--->C):{S,Ek[IDs,IDC,SNs,B1],H};
应答(C--->S):{C,Ek[IDC,IDs,SNs++,B2],H}。
(二)拉偏值分析
我们以用户向打车平台申请打车协议流程为例进行拉偏值分析,假设平台端、用户端维护的用户通信序列号SNc、SNc’的初始值为0,序列号处理流程如下:
组织协议前,先提取本地存储的用户通信序列号,进行累加,附带在协议中发送到对端;收到对端发送的协议,首先进行安全性检查,安全性检查包括身份合法性、完整性、新鲜性、机密性等验证,通过安全性检查后,更新本地存储的用户通信序列号,即SNc=SNc'。
如图1所示,用户向打车平台申请打车协议会话结束后,平台端维护的用户通信序列号SNc=3,用户端维护的用户通信序列号SNc'=2;SNc相对于SNc'拉偏值为+1,SNc'相对于SNc拉偏值为-1,这属于三段式的协议自然拉偏,其拉偏范围控制在(-1,+1)范围内。
如果因为网络异常,导致某协议未正常接收,例如平台端未收到应答协议(c),此时,平台端维护的用户通信序列号SNc=1,用户端维护的用户通信序列号SNc'=2,SNc相对于SNc'拉偏值为-1,SNc'相对于SNc拉偏值为+1,这属于通信异常拉偏,其拉偏范围依然控制在(-1,+1)范围内。
从协议流程可以推导出,无论是通信异常还协议自然拉偏,平台通信序列号SNs和用户通信序列号SNc都能将拉偏范围锁定在(-1,+1)范围内。而传统的序列号处理机制中SNs=SNc,相互交错,在通信网络不稳定因素的影响下,其拉偏远远大于(-1,+1),且系统越复杂,其拉偏值越大。
(三)防御能力分析
协议中注入了主体双方的ID号、序列号、传送数据、Hash,主体双方ID号分别为平台IDs、用户IDC,传送方向不同则存储位置不同(确定数据流向及身份信息),采用杂凑算法对协议全字段明文进行了Hash运算(完整性保护),并对敏感数据进行加密处理(机密性保护),这样,协议有效的抵抗住了消息块重放、消息块间重放、转移重放和反射重放等多种攻击,是否能抵制协议步间、协议间的直接重放,我们以打车平台自动向用户扣款协议流程为例进行分析,如图2所示:
①用户端收到平台发来的协议,提取本地存储的平台通信序列号SNs,并完成累加;
②判断SNs是否属于(SNs'-1,SNs'+1),如果不属于,则认为新鲜性不过关,属新鲜性检查;
③提取本地存储的最近收到的协议包Hash值H',判断H'是否等于运行协议的Hash值H,如果相等,则认为新鲜性不过关,属新鲜性检查;
④更新H'、SNs',并存储;
⑤组织应答协议,计算应答协议H',SNs'累加1,并发送给平台端。
平台端收到应答协议处理流程⑥、⑦、⑧、⑨与①、②、③、④协议步骤同。
假设攻击者1和攻击者2窃取了运行协议(a),攻击者1进行协议步间重放攻击,在用户端收到协议(a)后,立即重放协议(a),企图让用户进行多次扣款。如流程图所示,在进行同一主体同一流向前后两协议的Hash值比对时,就会检查出协议的新鲜性不过关,攻击行为被截止。
攻击者2进行协议间重放攻击,在完成协议会话后,重放协议(a),如流程图所示,在进行拉偏范围(SNs'-1,SNs'+1)比对时,就会检查出协议的新鲜性不过关,攻击行为被截止。
Claims (6)
1.一种基于方向的协议新鲜性检查方法,其特征在于:用户端和平台端同时维护一个序列号对:平台通信序列号SNs和用户通信序列号SNc,分别作为平台端和用户端主动发起的会话协议的新鲜因子;平台端发起会话时,将其维护的SNs进行累加并发送给用户端,用户端收到后先验证SNs,再完成累加并同步给平台端;用户端发起会话时,将其维护的SNc进行累加并发送给平台端,平台端收到后先验证SNc,再完成累加并同步给用户端。
2.根据权利要求1所述的一种基于方向的协议新鲜性检查方法,其特征在于:用户端向平台端发起会话时,SNc的处理流程为:组织协议前,用户端先提取本地存储的SNc,进行累加,然后附带在申请协议中发送到平台端;用户端收到平台端发送的应答协议后,首先进行安全性检查,安全性检查通过后,更新本地存储的SNc。
3.根据权利要求2所述的一种基于方向的协议新鲜性检查方法,其特征在于:所述安全性检查包括身份合法性、完整性、新鲜性、机密性验证。
4.根据权利要求1所述的一种基于方向的协议新鲜性检查方法,其特征在于:平台端向用户端发起会话的协议流程为:组织协议前,平台端先提取本地存储的SNs,进行累加,然后附带在协议中发送到用户端;
①用户端收到平台发来的协议,提取本地存储的SNs’,并完成累加;
②判断SNs是否属于(SNs'-1,SNs'+1):如果不属于,则认为新鲜性不过关;如果属于,则进入第③步;
③提取本地存储的最近收到的协议包Hash值H',判断H'是否等于运行协议的Hash值H:如果相等,则认为新鲜性不过关;如果不相等,则进入第④步;
④更新H'、SNs',并存储;
⑤组织应答协议,计算应答协议H',SNs'累加1,并发送给平台端。
5.根据权利要求4所述的一种基于方向的协议新鲜性检查方法,其特征在于:平台端收到用户端发送的应答协议后的处理流程为:
(1)平台端提取本地存储的SNs,并完成累加;
(2)判断SNs'是否属于(SNs-1,SNs+1):如果不属于,则认为新鲜性不过关;如果属于,则进入第(3)步;
(3)提取本地存储的最近收到的协议包Hash值H,判断H是否等于应答协议的Hash值H':如果相等,则认为新鲜性不过关;如果不相等,则进入第
(4)步;
(4)更新H、SNs,并存储。
6.根据权利要求1所述的一种基于方向的协议新鲜性检查方法,其特征在于:在协议中注入平台端和用户端的ID号、序列号、传送数据和Hash。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910144583.8A CN109862022B (zh) | 2019-02-27 | 2019-02-27 | 一种基于方向的协议新鲜性检查方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910144583.8A CN109862022B (zh) | 2019-02-27 | 2019-02-27 | 一种基于方向的协议新鲜性检查方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109862022A true CN109862022A (zh) | 2019-06-07 |
CN109862022B CN109862022B (zh) | 2021-06-18 |
Family
ID=66899102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910144583.8A Active CN109862022B (zh) | 2019-02-27 | 2019-02-27 | 一种基于方向的协议新鲜性检查方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109862022B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1794626A (zh) * | 2005-06-24 | 2006-06-28 | 华为技术有限公司 | 一种防止重放攻击的方法 |
US20110153862A1 (en) * | 2009-12-18 | 2011-06-23 | Cisco Technology, Inc. | Sender-Specific Counter-Based Anti-Replay for Multicast Traffic |
CN102932318A (zh) * | 2011-08-10 | 2013-02-13 | 华为技术有限公司 | 一种双向转发检测会话的验证方法及节点 |
CN103107973A (zh) * | 2011-11-09 | 2013-05-15 | 中兴通讯股份有限公司 | 一种实现安全协议高可用性的方法及装置 |
CN104038505A (zh) * | 2014-06-24 | 2014-09-10 | 杭州华三通信技术有限公司 | 一种IPSec防重放的方法和装置 |
CN106790165A (zh) * | 2016-12-29 | 2017-05-31 | 北京信安世纪科技有限公司 | 一种防止重放攻击的方法 |
WO2017096599A1 (zh) * | 2015-12-10 | 2017-06-15 | 深圳市大疆创新科技有限公司 | 安全通信系统、方法及装置 |
CN107302541A (zh) * | 2017-07-31 | 2017-10-27 | 成都蓝码科技发展有限公司 | 一种基于http协议的数据加密传输方法 |
CN109361655A (zh) * | 2017-11-17 | 2019-02-19 | 华为技术有限公司 | 一种安全保护的方法及装置 |
-
2019
- 2019-02-27 CN CN201910144583.8A patent/CN109862022B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1794626A (zh) * | 2005-06-24 | 2006-06-28 | 华为技术有限公司 | 一种防止重放攻击的方法 |
US20110153862A1 (en) * | 2009-12-18 | 2011-06-23 | Cisco Technology, Inc. | Sender-Specific Counter-Based Anti-Replay for Multicast Traffic |
US9137139B2 (en) * | 2009-12-18 | 2015-09-15 | Cisco Technology, Inc. | Sender-specific counter-based anti-replay for multicast traffic |
CN102932318A (zh) * | 2011-08-10 | 2013-02-13 | 华为技术有限公司 | 一种双向转发检测会话的验证方法及节点 |
CN103107973A (zh) * | 2011-11-09 | 2013-05-15 | 中兴通讯股份有限公司 | 一种实现安全协议高可用性的方法及装置 |
CN104038505A (zh) * | 2014-06-24 | 2014-09-10 | 杭州华三通信技术有限公司 | 一种IPSec防重放的方法和装置 |
WO2017096599A1 (zh) * | 2015-12-10 | 2017-06-15 | 深圳市大疆创新科技有限公司 | 安全通信系统、方法及装置 |
CN106790165A (zh) * | 2016-12-29 | 2017-05-31 | 北京信安世纪科技有限公司 | 一种防止重放攻击的方法 |
CN107302541A (zh) * | 2017-07-31 | 2017-10-27 | 成都蓝码科技发展有限公司 | 一种基于http协议的数据加密传输方法 |
CN109361655A (zh) * | 2017-11-17 | 2019-02-19 | 华为技术有限公司 | 一种安全保护的方法及装置 |
Non-Patent Citations (2)
Title |
---|
CHEN JING等: "Replay Attack: A Prevalent Pattern of Fraudulent", 《2018 4TH IEEEINTERNATIONAL CONFERENCE ON EDGE COMPUTING AND SCALABLE CLOUD (EDGECOM》 * |
肖斌斌等: "基于双重验证的抗重放攻击方案", 《计算机工程》 * |
Also Published As
Publication number | Publication date |
---|---|
CN109862022B (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108737442B (zh) | 一种加密校验处理方法 | |
KR100932834B1 (ko) | Sip 메시지 프로세싱 방법 | |
Latifa et al. | Blockchain: Bitcoin wallet cryptography security, challenges and countermeasures | |
CN105491001B (zh) | 一种安全通讯方法和装置 | |
CN107248994A (zh) | 一种信息发送方法、处理方法及装置 | |
CN107819753B (zh) | 不完全匿名的区块链交易系统及方法 | |
CN106027501B (zh) | 一种在移动设备中进行交易安全认证的系统和方法 | |
Giechaskiel et al. | When the crypto in cryptocurrencies breaks: Bitcoin security under broken primitives | |
CN105306473A (zh) | 一种防止注入攻击的方法、客户端、服务器和系统 | |
CN103546486A (zh) | 一种防DDOS攻击的SYN Cookie源认证方法及其装置 | |
CN106506158A (zh) | 一种基于白盒的加密方法及系统 | |
CN111489143A (zh) | 一种基于联盟侧链的可审计加密数字货币监管方法 | |
CN110634072B (zh) | 一种基于多签和硬件加密的区块链交易系统 | |
US20120284787A1 (en) | Personal Secured Access Devices | |
CN110866754A (zh) | 一种基于动态口令的纯软件dpva身份认证方法 | |
CN106850232A (zh) | 状态保持的授权管理方法和系统 | |
CN112566121B (zh) | 一种防止攻击的方法及服务器、存储介质 | |
CN106960328A (zh) | 电子红包的处理方法、服务器及客户端 | |
CN111833062B (zh) | 数字资产数据包的可信性验证系统 | |
CN112968910A (zh) | 一种防重放攻击方法和装置 | |
CN111815329A (zh) | 一种基于跨链技术实现高性能区块链网络的方法 | |
CN109862022A (zh) | 一种基于方向的协议新鲜性检查方法 | |
CN107070925A (zh) | 一种终端应用与后台服务通讯报文防篡改的方法 | |
Suliyanti et al. | Evaluation of hash rate-based double-spending based on proof-of-work blockchain | |
CN110460972A (zh) | 一种面向车载网络的轻量级车间通信认证的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |