一种防御中继攻击的方法及系统技术方案

技术编号:25836139 阅读:86 留言:0更新日期:2020-10-02 14:16
本发明专利技术公开一种防御中继攻击的方法及系统,涉及通信安全领域。所述终端包括第一接收模块、设置模块、第一发送模块、生成记录模块、解析记录确定模块、验证确定更新模块、验证更新组织模块和验签模块;所述卡片包括第二接收模块、设置获取模块、第二发送模块、确定更新组织模块和确定检查签名模块;所述方法及系统通过定义新的交互防御数据指令结合终端计数数据和卡片计数数据,限制终端和卡片之间通信指令与通信响应的时间来防止中继攻击,增加终端和卡片之间数据通信的安全性。

【技术实现步骤摘要】
一种防御中继攻击的方法及系统
本专利技术涉及通信安全领域,特别涉及一种防御中继攻击的方法及系统。
技术介绍
卡片在非接触数据通信的过程中容易被“中继”攻击袭击;所谓中继攻击,就是在两个合法参与方A和B之间进行的一种攻击,中间人C篡改A的消息发送给B或将B的消息篡改发送给A。C这样做的目的是为了获得A或B的特权,这样C就可以把A的通信数据通过B的中继攻击终端盗走。“中继”攻击能够通过中继攻击终端在卡片和终端之间构成一个双向、无线的通信数据交换通道;在持卡人在不知情时,卡片就已经和终端进行交互通信,完成对卡片的使用,造成持卡人的损失;即中继攻击会窃取通信数据从而使通信数据泄露,同样也会篡改卡片和终端之间的通信数据,降低卡片和终端之间的数据通信安全性。
技术实现思路
为解决现有技术中的技术缺陷,本专利技术提出了一种防御中继攻击的方法及系统。本专利技术提供的一种防御中继攻击的方法,包括以下步骤:步骤S01:当终端接收到卡片发送的选择响应时,终端设置终端计数数据;向卡片发送处理选项指令;步骤S02:所述卡片设置本文档来自技高网...

【技术保护点】
1.一种防御中继攻击的方法,其特征在于,所述方法包括以下步骤:/n步骤S01:当终端接收到卡片发送的选择响应时,终端设置终端计数数据;向卡片发送处理选项指令;/n步骤S02:所述卡片设置卡片计数数据;获取第一动态数据;向终端发送处理选项响应;/n步骤S03:所述终端生成终端随机数据;记录当前时间为第一当前时间;向卡片发送包括终端随机数据的交互防御数据指令;/n步骤S04:所述卡片确定卡片计数数据和第三预置数据是否满足第一预置条件,如确定为是则根据卡片计数数据和第一动态数据得到第二动态数据;所述根据卡片计数数据和第一动态数据得到第二动态数据之前或者之后还包括:所述卡片更新卡片计数数据;根据第二动...

【技术特征摘要】
1.一种防御中继攻击的方法,其特征在于,所述方法包括以下步骤:
步骤S01:当终端接收到卡片发送的选择响应时,终端设置终端计数数据;向卡片发送处理选项指令;
步骤S02:所述卡片设置卡片计数数据;获取第一动态数据;向终端发送处理选项响应;
步骤S03:所述终端生成终端随机数据;记录当前时间为第一当前时间;向卡片发送包括终端随机数据的交互防御数据指令;
步骤S04:所述卡片确定卡片计数数据和第三预置数据是否满足第一预置条件,如确定为是则根据卡片计数数据和第一动态数据得到第二动态数据;所述根据卡片计数数据和第一动态数据得到第二动态数据之前或者之后还包括:所述卡片更新卡片计数数据;根据第二动态数据和卡片数据包组织交换防御数据响应,向终端发送交换防御数据响应;所述卡片数据包包括卡片最大处理时间、卡片最小处理时间和卡片预期响应传输时间;
步骤S05:所述终端接收并解析交换防御数据响应得到第二动态数据和卡片数据包;记录当前时间为第二当前时间;根据第一当前时间和第二当前时间确定测量处理时间;根据卡片预期响应传输时间、终端预期响应传输时间、终端预期指令传输时间和测量处理时间确定计算处理时间;根据卡片最大处理时间、最大时间宽限期、卡片最小处理时间和最小时间宽限期得到可接受处理时间;根据可接受处理时间验证计算处理时间,如通过验证则执行步骤S06;如未通过验证则确定终端计数数据和第三预置数据是否满足第二预置条件,如确定满足第二预置条件则返回步骤S03;如确定不满足第二预置条件则更新终端认证结果数据,执行步骤S06;所述确定终端计数数据和第三预置数据是否满足第二预置条件之前,或者如确定满足第二预置条件之后,还包括所述终端更新终端计数数据;
步骤S06:所述终端根据终端认证结果数据、第一标准数据、终端预期响应传输时间、计算处理时间和计算处理时间验证交换防御数据响应;如验证成功则更新终端认证结果数据;根据终端认证结果数据和终端随机数据组织获取密文指令,向卡片发送获取密文指令;
步骤S07:所述卡片确定获取密文指令中终端随机数据是否等于交互防御数据指令中终端随机数据,如确定相等则根据终端认证结果数据检查终端是否已经成功验证交换防御数据响应;如检查终端已经成功验证交换防御数据响应则使用卡片私钥对终端随机数据、第二动态数据和卡片数据包进行签名得到签名结果数据;向终端发送包括签名结果数据的获取密文数据响应;
步骤S08:所述终端使用卡片公钥对获取密文数据响应中签名结果数据进行验签,如验签成功则继续执行其他终端操作,结束;如为否则报错结束。


2.如权利要求1所述的方法,其特征在于,所述步骤S01之前,还包括:
步骤E01:终端向卡片发送选择指令;
步骤E02:所述卡片接收选择指令;根据选择指令执行选择操作得到选择响应,向终端发送选择响应;
步骤E03:所述终端接收卡片发送的选择响应,执行步骤S01。


3.如权利要求1所述的方法,其特征在于,所述步骤S02中,所述获取第一动态数据,具体为:所述卡片更新第三计数数据;根据更新后的第三计数数据、第五预置数据和第六预置数据得到第一动态数据。


4.如权利要求3所述的方法,其特征在于,所述卡片更新第三计数数据;根据更新后的第三计数数据、第五预置数据和第六预置数据得到第一动态数据,具体为:所述卡片根据获取第三计数数据,将第三计数数据加上第四预置数据更新第三计数数据;使用预置密钥加密更新后的第三计数数据和第五预置数据得到第一加密数据,使用预置密钥加密更新后的第三计数数据和第六预置数据得到第二加密数据,根据第一加密数据和第二加密数据得到第一动态数据。


5.如权利要求1所述的方法,其特征在于,所述步骤S04中,如确定为否则还包括:所述卡片向终端发送报错响应;所述终端接收报错响应,报错结束。


6.如权利要求1所述的方法,其特征在于,所述卡片确定卡片计数数据和第三预置数据是否满足第一预置条件,具体为:所述卡片确定卡片计数数据是否大于或者等于第三预置数据,如确定为否则更新卡片计数数据;根据卡片计数数据和第一动态数据得到第二动态数据;
所述确定终端计数数据和第三预置数据是否满足第二预置条件,具体为:所述终端判断终端计数数据是否小于第三预置数据,如判断为是则满足第二预置条件,返回步骤S03;如判断为否则不满足第二预置条件,更新终端认证结果数据,执行步骤S06;
所述步骤S03中,或者所述步骤S03之后且所述判断终端计数数据是否小于第三预置数据之前,还包括:所述终端更新终端计数数据。


7.如权利要求1所述的方法,其特征在于,所述卡片确定卡片计数数据和第三预置数据是否满足第一预置条件,具体为:所述卡片确定卡片计数数据是否大于第三预置数据,如确定为否则根据卡片计数数据和第一动态数据得到第二动态数据;
所述根据卡片计数数据和第一动态数据得到第二动态数据之后,还包括:所述卡片确定卡片更新卡片计数数据;
所述确定终端计数数据和第三预置数据是否满足第二预置条件,具体为:所述终端判断终端计数数据是否小于或者等于第三预置数据,如判断为是则满足第二预置条件,返回步骤S03;如判断为否则不满足第二预置条件,更新终端认证结果数据,执行步骤S06;
所述步骤S05中,如确定满足第二预置条件,所述返回步骤S03之前,还包括:所述终端更新终端计数数据。


8.如权利要求1所述的方法,其特征在于,所述步骤S04中,所述根据卡片计数数据和第一动态数据得到第二动态数据,具体为:所述卡片根据第七预置数据、第八预置数据、第九预置数据、卡片计数数据从第一动态数据中获取第二动态数据。


9.如权利要求8所述的方法,其特征在于,所述卡片根据第七预置数据、第八预置数据、第九预置数据、卡片计数数据从第一动态数据中获取第二动态数据,具体为:所述卡片根据第七预置数据、第八预置数据和卡片计数数据确定首位字节数据,根据第九预置数据和卡片计数数据确定末位字节数据,根据首位字节数据和末位字节数据从第一动态数据中获取第二动态数据。


10.如权利要求1所述的方法,其特征在于,所述步骤S05中,所述根据第一当前时间和第二当前时间确定测量处理时间,具体为:所述终端使用第二预置算法对第一当前时间和第二当前时间进行运算得到测量处理时间。


11.如权利要求1所述的方法,其特征在于,所述步骤S05中,所述根据卡片预期响应传输时间、终端预期响应传输时间、终端预期指令传输时间和测量处理时间确定计算处理时间,包括:
步骤E21:所述终端判断卡片预期响应传输时间是否小于终端预期响应传输时间,是则执行步骤E22;否则执行步骤E23;
步骤E22:所述终端根据测量处理时间、终端预期指令传输时间和卡片预期响应传输时间确定计算处理时间;
步骤E23:所述终端根据测量处理时间、终端预期指令传输时间和终端预期响应传输时间确定计算处理时间。


12.如权利要求1所述的方法,其特征在于,所述步骤S05中,所述根据卡片最大处理时间、最大时间宽限期、卡片最小处理时间和最小时间宽限期得到可接受处理时间,具体为:所述终端根据卡片最大处理时间、最大时间宽限期、卡片最小处理时间和最小时间宽限期得到可接受最大处理和可接受最小处理时间;
所述根据可接受处理时间验证计算处理时间,包括:
步骤E31:所述终端判断计算处理时间是否小于可接受最小处理时间,如为是则未通过验证;如为否则执行步骤E32;
步骤E32:所述终端判断计算处理时间是否大于可接受最大处理时间,如为是则未通过验证;如为否则通过验证,执行步骤S06。


13.如权利要求12所述的方法,其特征在于,所述终端根据卡片最大处理时间、最大时间宽限期、卡片最小处理时间和最小时间宽限期得到可接受最大处理和可接受最小处理时间,具体为:所述终端根据卡片最大处理时间和最大时间宽限期得到可接受最大处理间;根据卡片最小处理时间和最小时间宽限期得到可接受最小处理时间。


14.如权利要求1所述的方法,其特征在于,所述步骤S05中,所述根据可接受处理时间验证计算处理时间,具体为:所述终端判断计算处理时间是否满足可接受处理时间,如为是则通过验证,如为否则未通过验证。


15.如权利要求1所述的方法,其特征在于,所述步骤S06中,所述终端根据终端认证结果数据、第一标准数据、终端预期响应传输时间、计算处理时间和计算处理时间验证交换防御数据响应,包括:
步骤E41:所述终端根据卡片预期响应传输时间、终端预期响应传输时间和第一标准数据判断响应传输时间差值是否过大,根据计算处理时间、卡片最小处理时间和第二标准数据判断处理时间差值是否过大;如全部判断为是则执行步骤E42:如为否则报错结束;
步骤E42:所述终端验证终端认证结果数据,如验证终端认证结果数据成功则通过交换防御数据响应验证。


16.如权利要求15所述的方法,其特征在于,所述步骤S05中,所述更新终端认证结果数据,具体为:所述终端设置终端认证结果数据中第一预置字节数据中第一预置比特数据;
所述步骤E41中,所述报错结束替换为:所述终端设置终端认证结果数据中第一预置字节数据中第二预置比特数据;
所述步骤E42具体为:所述终端确定终端认证结果数据中第一预置字节数据中第一预置比特数据和第二预置比特数据是否都未被设置,如确定为是则交换防御数据响应验证成功。


17.如权利要求15所述的方法,其特征在于,所述步骤E41中,所述终端根据卡片预期响应传输时间、终端预期响应传输时间和第一标准数据判断响应传输时间差值是否过大,包括:
步骤E51:所述终端根据卡片预期响应传输时间和终端预期响应传输时间得到第一待比较数据,判断第一待比较数据是否小于第一标准数据,如判断为是则报错结束;如判断为否则执行步骤E52;
步骤E52:所述终端根据卡片预期响应传输时间和终端预期响应传输时间得到第二待比较数据,判断第二待比较数据是否小于第一标准数据,如判断为是则报错结束;如判断为否则根据计算处理时间和卡片最小处理时间和第二标准数据判断处理时间差值是否过大。


18.如权利要求15所述的方法,其特征在于,所述步骤E41中,所述根据计算处理时间和卡片最小处理时间和第二标准数据判断处理时间差值是否过大,具体为:所述终端使用第三预置算法对计算处理时间和卡片最小处理时间进行计算得到第三待比较数据,判断第三待比较数据是否大于第二标准数据,如判断为是则处理时间差值过大,报错结束;如判断为否则处理时间差值未过大。


19.如权利要求1所述的方法,其特征在于,所述步骤S06中,所述更新终端认证结果数据,具体为:所述终端设置终端认证结果数据中第一预置字节数据中第三预置比特数据;
所述步骤S07中,所述根据终端认证结果数据检查终端是否已经成功验证交换防御数据响应,具体为:所述卡片从终端认证结果数据中获取第一置字节数据,判断第一置字节数据中第三预置比特数据是否等于第一预置数据,如为是则终端已经成功验证交换防御数据响应;如为否则终端未成功验证交换防御数据响应,向终端发送报错响应;所述终端接收报错响应,报错结束。


20.如权利要求1所述的方法,其特征在于,所述步骤S06中,所述根据终端认证结果数据和终端随机数据组织获取密文指令,替换为:所述终端设置不可预期数据等于终端随机数据;根据终端认证结果数据和不可预期数据组织获取密文指令;
所述卡片确定获取密文指令中终端随机数据是否等于交互防御数据指令中终端随机数据,替换为:所述卡片确定不可预期数据是否等于终端随机数据,如为是则根据终端认证结果数据检查终端是否已经成功验证交换防御数据响应。


21.如权利要求1所述的方法,其特征在于,所述S08具体为:所述终端使用卡片公钥对获取密文数据响应中签名结果数据进行验签,当签名结果数据验签成功时,解析签名结果数据得到终端随机数据、第二动态数据和卡片数据包;分别对签名明文数据中终端随机数据、第二动态数据和卡片数据包进行验证,当全部验证通过时,验签成功,否则报错结束。


22.如权利要求21所述的方法,其特征在于,所述分别对签名明文数据中终端随机数据、第二动态数据和卡片数据包进行验证,包括以下步骤:
步骤E61:所述终端从获取密文数据响应获取签名结果数据,使用卡片公钥对签名结果数据进行验签,如签名结果数据验签成功则执行步骤E62;如签名结果数据验签失败则报错结束;
步骤E62:所述终端判断生成的终端随机数据是否等于签名结果数据中终端随机数据,如为是则执行步骤E63;如为否则报错结束;
步骤E63:所述终端判断解析交换防御数据响应得到的第二动态数据是否等于签名结果数据中第二动态数据,如为是则执行步骤E64;如为否则报错结束;
步骤E64:所述终端判断解析交换防御数据响应得到的卡片最大处理时间是否等于签名结果数据中卡片最大处理时间,如为是则执行步骤E65;如为否则报错结束;
步骤E65:所述终端判断解析交换防御数据响应得到的卡片最小处理时间是否等于签名结果数据中卡片最小处理时间,如为是则执行步骤E66;如为否则报错结束;
步骤E66:所述终端判断解析交换防御数据响应得到的卡片预期响应传输时间是否等于签名结果数据中卡片预期响应传输时间,如为是则验签成功;如为否则报错结束。


23.如权利要求1所述的方法,其特征在于,所述S07之前,还包括:所述卡片判断卡片计数数据是否等于第二预置数据,如为是则根据拒绝通信预置数据组织获取密文数据响应,向终端发送获取密文数据响应;如为否则执行步骤S07;
所述步骤S08之前,还包括:所述终端接收获取密文数据响应,判断获取密文数据响应是否包括预置签名标签,如为是则执行步骤S08;如为否则报错结束。


24.如权利要求23所述的方法,其特征在于,所述根据拒绝通信预置数据组织获取密文数据响应之前,还包括:
步骤E71:所述卡片根据获取密文指令中终端类型数据判断终端是否仅支持脱机通信,如为是则执行步骤E72;如为否则执行步骤E73;
步骤E72:所述卡片判断应用控制数据中第三预置字节数据中第五预置比特数据是否被设置,如为是则根据拒绝通信预置数据组织获取密文数据响应,向终端发送获取密文数据响应;如为否则执行其他风险管理操作,结束;
步骤E73:所述卡片判断应用控制数据中第三预置字节数据中第六预置比特数据是否被设置,如为是则执行联机通信操作得到联机操作数据,根据联机操作数据组织获取密文数据响应;如为否则执行其他风险管理操作,结束;
所述获取密文指令还包括终端类型数据。


25.如权利要求1所述的方法,其特征在于,所述S07中,还包括:如检查终端已经成功验证交换防御数据响应,所述卡片根据获取密文指令和第十预置数据判断是否需要执行签名操作,如为是则使用卡片私钥对终端随机数据、第二动态数据和卡片数据包进行签名得到签名结果数据;如为否则根据拒绝通信预置数据组织获取密文数据响应,向终端发送获取密文数据响应;
所述步骤S08之前,还包括:所述终端接收获取密文数据响应,判断获取密文数据响应是否包括预置签名标签,如为是则执行步骤S08;如为否则报错结束。


26.一种防御中继攻击的系统,其特征在于,所述系统包括终端和卡片:
所述终端包括第一接收模块、设置模块、第一发送模块、生成记录模块、解析记录确定模块、验证确定更新模块、验证更新组织模块和验签模块;
所述卡片包括第二接收模块、设置获取模块、第二发送模块、确定更新组织模块和确定检查签名模块;
所述第一接收模块,用于接收卡片发送的选择响应;
所述设置模块,用于如所述第一接收模块接收到选择响应,设置终端计数数据;
所述第一发送模块,用于向卡片发送处理选项指令;
所述第二接收模块,用于接收所述第一发送模块发送的处理选项指令;
所述设置获取模块,用于如所述第二接收模块接收到处理选项指令,设置卡片计数数据;获取第一动态数据;
所述第二发送模块,用于向所述第一接收模块发送处理选项响应;
所述第一接收模块,还用于接收所述第二发送模块发送的处理选项响应;
所述生成记录模块,用于生成终端随机数据;记录当前时间为第一当前时间;
所述第一发送模块,还用于向卡片发送包括所述生成记录模块生成的终端随机数据的交互防御数据指令;
所述第二接收模块,还用于接收所述第一发送模块发送的交互防御数据指令;

【专利技术属性】
技术研发人员:陆舟于华章
申请(专利权)人:飞天诚信科技股份有限公司
类型:发明
国别省市:北京;11

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

1