CN101588578B - 一种碰撞攻击检测方法及装置 - Google Patents
一种碰撞攻击检测方法及装置 Download PDFInfo
- Publication number
- CN101588578B CN101588578B CN2008101090419A CN200810109041A CN101588578B CN 101588578 B CN101588578 B CN 101588578B CN 2008101090419 A CN2008101090419 A CN 2008101090419A CN 200810109041 A CN200810109041 A CN 200810109041A CN 101588578 B CN101588578 B CN 101588578B
- Authority
- CN
- China
- Prior art keywords
- plaintext
- expressly
- random number
- small part
- processing unit
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种碰撞攻击检测方法及装置。为了解决现有技术中对加密算法中密钥的选择明文攻击,提出的一种碰撞攻击检测方法:接收一个明文,存储该明文的至少部分明文,判断所述被存储的至少部分明文与其它被存储的至少部分明文相似的个数是否大于或者等于第一门限值,如果大于或者等于则输出当前明文具有攻击模式的信号,否则输出正常信号;当下一个明文来到时重复上述步骤。本发明的有益效果在于,能够对明显的具有攻击模式的输入明文进行检测,避免对密钥的选择明文攻击。
Description
技术领域
本发明涉及安全检测领域,特别涉及智能卡片的安全检测领域,具体地讲是一种碰撞攻击检测方法及装置。
背景技术
在加密算法中,采用密钥将明文加密成密文。在此,加密算法的概念应理解为用于计算关于明文的识别码的算法。这种算法也称为具有密钥的哈希函数(加密的哈希函数)。在此,采用密钥从明文中计算明文的识别码。通常,与狭义下的真正加密算法相反,这种函数是不能反向的,也就是说不能再进行解密。
加密算法例如用于相对于第二实例验证第一实例。为此,例如第一实例用一个公用的、两个实例都具有的密钥将其先前以未加密的形式从第二实例获得的明文加密成要发送回第二实例的第一密文。第二实例同样用该共用密钥,独立于第一实例的加密方式对该明文进行加密,并由此计算出第二密文。如果第一实例实际上将该共用密钥用于加密,则第一和第二密文是一致的。这样,第一实例相对于第二实例自我验证,其中第一实例相对于所获得的明文发回正确的密文。对于该方法的可应用性和可靠性,要求一定要使用共用密钥对第三方严格保密。
针对于上述加密方法的攻击中,加密时采用密钥,并且改变了用该密钥加密的明文,更为准确的是,在这些攻击中聚集了多个明文/密文对,也就是由一个明文和一个对应于该明文的密文组成的对子,该密文是通过加密算法和密码对明文进行加密形成的,这些明文/密文对具有这样的特性,从该明文/密文对中可以获得关于该密码的信息。攻击者可以有针对性地选择他想要加密的明文,由此明文/密文对的集合可以有针对性地建立并因此变得更为有效。为了使攻击成功,需要收集关于密钥的足够信息,为此需要对足够多的明文进行加密。
在目前的攻击手段中,有一种针对于上述加密方法的所谓的“碰撞”攻击手段,所谓“碰撞”是指两个不同的明文在用相同的密钥和加密算法加密后,得到了相同的密文或者重检结果,如果出现这样的碰撞,则可以从中最终确定出密码。
事实上,上述加密方法在现实环境中有很多应用,如图1所示为现有的移动网络利用SIM卡进行鉴权的数据流图,在移动终端(特别为手机)登录移动网络时,网络端的鉴权中心会产生一个16字节的随机数据(RAND)发给移动终端,移动终端将这个数据发给SIM卡,SIM卡用自己的密钥Ki和RAND做运算以后,生成一个4字节的应答(SRES)发回给移动终端,并转发给鉴权中心,与此同时,鉴权中心也进行相同算法的运算,移动网络会比较一下这两个结果是否相同,相同则允许其登录。这个验证算法在GSM规范里面称为A3,其中RAND=128bit,Ki=128bit。
在移动网络发送RAND过来的时候,手机还会让SIM卡对RAND和Ki计算出另一个密钥Kc以供全程通信加密使用,Kc的长度是64bits,生成Kc的算法是A8,因为A3和A8接受的输入完全相同,通常用一个算法A3/A8同时生成SRES和Kc。用Kc在通信过程中的加密,这个加密算法称为A5。
上述的加密流程也就是GSM网络中使用的鉴权算法Comp128-1(亦即MoU组织所指的A3/A8算法),由于存在算法结构上的缺陷,导致可以利用其缺陷进行“选择明文攻击”,针对Comp128-1算法的这种攻击是基于上述碰撞的,指两个不同的随机数经Comp128-1密码学运算后得到了相同的密文。但必须说明的是,攻击者必须要拿到SIM卡才能进行这些攻击。
Comp128-1算法是一种FFT-Hash算法(快速傅里叶变换-哈希算法),其算法结构为:8轮大循环并且每轮大循环又内嵌5轮小循环,而截至目前所有的攻击工具软件利用的碰撞攻击都是针对第1轮大循环内嵌的2-5轮小循环,如果两个不同的鉴权随机数在经过第1轮大循环内嵌的2-5轮小循环算法运算后得到了相同的中间结果则分别称为“2R-碰撞”、“3R-碰撞”、“4R-碰撞”以及“5R-碰撞”。
中国专利公开号CN1748385A,发明名称为“加密方法”的专利申请针对于上述问题公开了一种“索引随机数”的方案,该方案的基本思想是:在所有的65536个密钥字节对中共有64767个密钥字节对会引发“2R-碰撞”,针对这些密钥字节对提出了一种生成每个密钥字节对所对应的可能会引发“2R-碰撞”的随机数字节对(Challenge-Pairs)的算法,并按索引的方式写入卡片中一个专用的EF文件中,因此在SIM卡个人化过程中,在执行鉴权命令时SIM卡会先判断所收到的随机数(16字节的随机数包含8个随机数字节对)是否会引发“2R-碰撞”,如果会引发“碰撞”则返回错误的密文并重新进行鉴权,否则进行正常的鉴权。但是使用该方法时,SIM卡可能会返回错误密文,需重新进行鉴权,因此网络负荷的增加及用户能接受的出错概率都会增加,并且攻击者可能直接利用“3R-碰撞”可以非常有效的实施克隆攻击。
中国专利公开号CN1941775,发明名称为“一种防止网络消息攻击的方法及设备”,该发明公开了一种根据入侵数据频度判定是否为攻击数据的方案,有可能由于正常的数据频度较大而被误认为攻击数据,从而造成误操作,而且这种方式还只是用于网络安全的检测上,并没有应用于SIM卡等智能卡安全领域。
以引入方式将上述技术内容合并于本申请。
发明内容
本发明的目的在于提供一种碰撞攻击检测方法,用于解决现有技术中攻击者采用选择明文攻击的方式获得密钥的不足。
本发明的另一目的在于提供一种碰撞攻击检测装置,用于解决现有技术中对加密算法没有防护的不足,对输入数据进行分析,如果符合要求则可以加密运算,否则直接丢弃攻击数据。
为了实现上述目的,本发明实施例提供一种碰撞攻击检测方法,该方法包括,
在移动终端登录网络进行鉴权时,接收一个明文,存储该明文的至少部分明文,判断所述被存储的至少部分明文与其它被存储的至少部分明文相似的个数是否大于或者等于第一门限值,如果大于或者等于则输出当前明文具有攻击模式的信号,否则输出正常信号;当下一个明文来到时重复上述步骤;还包括,启动第二计数器记录具有攻击模式明文的数量,如果所述第二计数器超过预设的第二门限值则随机生成一个随机数作为所述明文相对应的密文。
根据本发明所述的一种碰撞攻击检测方法的一个进一步的方面,所述明文包括多位的字符串,所述相似包括,所述至少部分明文的多位相同。
根据本发明所述的一种碰撞攻击检测方法的再一个进一步的方面,所述至少部分明文的多位相同包括,所述被存储的至少部分明文中的至少两个只有一位不同或者完全相同。
根据本发明所述的一种碰撞攻击检测方法的另一个进一步的方面,随机生成一个随机数,当接收的明文个数超过所述随机数,则开始存储该明文的至少部分明文。
根据本发明所述的一种碰撞攻击检测方法的另一个进一步的方面,只存储预定个数的至少部分明文。
根据本发明所述的一种碰撞攻击检测方法的另一个进一步的方面,所述预定个数为50。
根据本发明所述的一种碰撞攻击检测方法的另一个进一步的方面,所述存储至少部分明文包括,存储该明文的前半部分或者后半部分。
根据本发明所述的一种碰撞攻击检测方法的另一个进一步的方面,在启动第二计数器记录具有攻击模式明文的数量后还包括,如果所述第二计数器超过预设的第二门限值则丢弃所述接收到的明文,否则输出正常信号。
根据本发明所述的一种碰撞攻击检测方法的另一个进一步的方面,输出正常信号后还包括,利用密钥运算得出所述明文相应的密文。
根据本发明所述的一种碰撞攻击检测方法的另一个进一步的方面,所述接收的明文为鉴权中心发送的16字节的鉴权随机数,所述利用密钥运算包括利用密钥进行Comp128-1算法得出密文。
根据本发明所述的一种碰撞攻击检测方法的另一个进一步的方面,在接收一个明文之后还包括,启动第一计数器记录接收所有明文的数量,如果超过了预设的第三门限值则丢弃所述接收到的明文,否则存储该明文的至少部分明文。
为了实现上述目的,本发明实施例还提供了一种碰撞攻击检测装置,包括,接收单元,判断处理单元,存储器;所述接收单元与所述判断处理单元相连接,所述判断处理单元与所述存储器相连接;在移动终端登录网络进行鉴权时,所述接收单元用于接收明文;所述存储器用于存储所述明文的至少一部分及第一门限值;所述判断处理单元,用于判断所述被存储的至少部分明文与其它被存储的至少部分明文相似的个数是否大于或者等于第一门限值,如果大于或者等于则输出当前明文具有攻击模式的信号,否则输出正常信号;还包括随机数单元,所述随机数单元与所述判断处理单元相连接;所述随机数单元接收所述判断处理单元输出的当前明文具有攻击模式的信号后,随机生成密文作为所述明文相对应的密文通过所述判断处理单元输出。
根据本发明所述的一种碰撞攻击检测装置的一个进一步的方面,所述明文包括多位的字符串,所述判断处理单元判断所述被存储的至少部分明文的多位是否相同,如果具有多位相同则判断为相似的明文。
根据本发明所述的一种碰撞攻击检测装置的再一个进一步的方面,还包括常规加密单元,所述常规加密单元与所述判断处理单元相连接;所述常规加密单元用于利用内部密钥和加密算法根据所述明文生成正确的密文。
根据本发明所述的一种碰撞攻击检测装置的另一个进一步的方面,还包括第二计数器,与所述判断处理单元相连接,用于记录相似明文的数量,所述判断处理单元判断所述第二计数器是否超过预设的第二门限值,如果超过所述第二门限值则丢弃所述接收到的明文,否则输出正常信号。
根据本发明所述的一种碰撞攻击检测装置的另一个进一步的方面,还包括第一计数器,与所述判断处理单元相连接,用于记录已经处理过的明文数量,如果超过了预设的第三门限值则丢弃所述接收到的明文,否则存储该明文的至少部分明文。
本发明实施例的有益效果在于,能够对选择明文攻击的明文数据进行分析,并将可能具有攻击模式的数据丢弃,防止内部加密算法被攻击者以尝试的方式得出;并且通过存储一部分明文,减小了对存储器容量的要求,比较分析明文每一位是否相同或不同时速度更快。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1为现有的移动网络利用SIM卡进行鉴权的数据流图;
图2为本发明流程图;
图3为本发明应用于GSM网络中Comp128-1加密算法的攻击检测流程图;
图4为本发明攻击检测装置示意图;
图5为本发明攻击检测应用于无线通信系统的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
本发明实施例提供。以下结合附图对本发明进行详细说明。
如图2所示为本发明流程图,判断接收到的明文是否是具有选择明文攻击模式的数据,包括以下步骤,步骤201,接收复数个明文,进行存储。步骤202,判断所述明文中的至少两个是否只有一位不同或者完全相同。步骤203,如果上述判断为否,则输出没有攻击信号。步骤204,如果上述判断为是,则输出受到攻击的信号。
其中,步骤201中,接收复数个明文数据,在本例中可以限定为接收50个明文数据,或者由系统随机生成一个随机数,由该随机数作为接收明文数量的限值,作为优选的实施例,一般该随机数小于或者等于100。
作为优选的实施例,接收所述明文数据不是从所接收到的第一个明文数据开始存储的,根据预先设定的数字,当接收的明文数据的数量到达该预先设定的数字时开始将接收到的明文数据存储,该预先设定的数字可以为任意整数,优选的,该预先设定的数字可以为系统随机生成的随机数。
作为优选的实施例,在接收复数个明文数据后,为了减少对存储器容量的要求,可以只存储明文数据的一部分,如果明文数据具有16个字节长度,则可以只存储该类明文数据的左半部分或者右半部分,即8个字节的数据;或者可以存储该类明文数据的从左侧开始顺序的4个字节的数据,或者右侧开始顺序的4个字节的数据。本发明方法并不限制明文数据长度,并且也不限制存储的字节长度。
其中,步骤202中,可以将复数个被存储的明文先转换为二进制(如果已经是二进制则可以省去本步骤),再判断所有的二进制明文中的相似程度,如果其中有两个二进制明文只具有一位的不同,在本文中就称为这两个明文相似,并且这种只具有一位不同的相似的二进制明文的数量超过一预设的第一门限值,即,在复数个明文中,相似的明文数量超过第一门限值,则说明可能有人正在进行选择明文攻击。
作为优选的实施例,步骤202中,可以将复数个被存储的明文先转换为十六进制(如果已经是十六进制则可以省去本步骤),再判断所有的十六进制明文中的相似程度,如果十六进制明文只具有一位的不同,在本文中就称为这些明文相似,并且这种只具有一位不同的十六进制明文的数量超过预设的第一门限值,即,在复数个明文中,相似的明文数量超过第一门限值,则说明可能有人正在进行选择明文攻击。
作为优选的实施例,还可以判断在复数个被存储的明文中是否具有多组相同的明文,当相同的明文数量超过一预设的第一门限值,则该相同的数据可能是攻击者为了给加密设计人员判断是否为攻击明文数据增大难度的垃圾明文数据。所述门限值可以是由系统随机生成的,以增加攻击者的明文尝试次数。优选的所述门限值可以取2-10的自然数。
以上并不限于二进制或者十六进制,本发明思想是根据明文的“位”来判断是否为攻击数据。其他进制的明文也同样根据以上原则来判断。
下面以在GSM网络中对SIM卡进行选择明文攻击作为实施例,对本发明检测攻击的方法进行说明。
如图3所示为本发明应用于GSM网络中Comp128-1加密算法的攻击检测流程图。在所有步骤开始之前设定一个1000--2000之间的“预锁定计数器”PreBlockCounter,在本例中,设置预锁定计数器为记录当前接收具有攻击模式的鉴权随机数的数量,防止鉴权中心的设备故障造成的SIM卡锁死。
并且创建一个Linear Fixed(线性定长)结构的EF文件EFrnd,该文件具有50条记录、每条记录8个字节。
本实施例中的攻击检测方法具体包括步骤301,在SIM卡每次接收到鉴权随机数后(如图1所示,但所述鉴权随机数不一定是从鉴权中心发出,可能是从攻击者发出,并且本例中所述的鉴权随机数就是上文所述的明文),在SIM卡个人化流程中设定一个总的鉴权计数器AuthCounter和“鉴权锁定标志寄存器”AuthBlockFlag(初始化为“0”),如果SIM卡累计的鉴权计数器达到一个预定的门限值(优选的设定为100万左右)后就不允许SIM卡再正确执行“RunGSMAlgo”命令或SIM卡直接丢弃接收到的鉴权随机数,将AuthBlockFlag置为“1”,并返回一个12字节随机数作为“RunGSMAlgo”命令的输出结果,通常该返回结果包括SRES,其中RunGSMAlgo是SIM卡对接收到的鉴权随机数进行加密的指令。
步骤302,判断AuthBlockFlag是否为0,如果不等于0则进入步骤208进行处理,否则进入步骤303。
步骤303,在SIM卡个人化流程中设定一个随机数作为存储起始点,当SIM卡接收鉴权随机数的数量达到这个存储起始点之后,用一个新随机数作为下一个存储起始点。如果没有到达所述存储起始点则进入步骤310进行处理,否则进入步骤304进行处理。
步骤304,达到所述存储起始点后,SIM卡COS(操作系统)会在“RunGSMAlgo”命令流程中连续或随机抽取若干组接收到的鉴权随机数,在本例中为50组,将所述50组鉴权随机数存储到SIM卡的专用文件EFrnd中,每组鉴权随机数只存储左半部分(或右半部分)的8个字节。
步骤305,随机设定一个第一门限值k(2<=k<=10),每存储完一组鉴权随机数后就逐一比较EFrnd里的多组随机数(最多为上述步骤304中所述的50组),判断这些鉴权随机数里是否存在k组或k组以上具有7个字节或8个字节相同数据的鉴权随机数,即判断接收到的鉴权随机数是否相似。如果相似,即,有7个字节或者8个字节的鉴权随机数相同,则进入步骤306进行处理,否则进入步骤310。
在这里如果在上一步骤304中只存储了鉴权随机数的左半部分(或右半部分)的4个字节,则判断这些鉴权随机数里是否存在k组或k组以上具有3个字节或4个字节相同数据的鉴权随机数,即判断接收到的鉴权随机数是否相似。
步骤306,启动“预锁定计数器”并发送信息给用户提示“怀疑SIM卡受到克隆攻击请尽快与运营商联系!”。启动“预锁定计数器”后每执行一次“RunGSMAlgo”命令就会将该计数器的值减1并且停止存储鉴权随机数。
步骤307,判断预锁定计数器是否减为“0”,如果判断结果为是,则进入步骤308;否则进入步骤310进行常规Comp128-1鉴权运算。
作为优选的实施例,步骤307中也可以将预锁定计数器加1,当超过预设的门限值时则进入步骤308,否则进入步骤310。
步骤308,锁定SIM卡,即将AuthBlockFlag设置为“1”,不允许SIM卡执行“RunGSMAlgo”命令,如果在预锁定计数器减为“0”之前用户及时与运营商联系后,运营商可以将预锁定计数器重置。在优选的实施例中,由运营商直接向SIM卡输入重置信息,由SIM卡内部的程序自动重置,将预锁定计数器设置为“1000-2000”之间的一个数。
步骤309,随机生成一个12个字节的伪密文,作为输出结果。该输出结果中,包括随机生成的8个字节的Kc和4个字节的SRES,Kc和SRES是用于迷惑攻击者的假密文,所以鉴权中心会再次发送鉴权随机数进行鉴权,与此同时鉴权计数器的值被累加1。
步骤310,利用Ki及Comp128-1算法进行常规的鉴权运算。
以下为本发明攻击检测方法实施例。
CBP(Challenge-Byte-Pair):鉴权随机数字节对,每个鉴权随机数包含16个字节C[i],其中i=0,1,2,…,15,则每个CBP由C[j]、C[j+8]组成,其中每个C[i]为16进制。
KBP(Ki-Byte-Pair):鉴权密钥字节对,每个鉴权密钥Ki包含16个字节Ki[i],其中i=0,1,2,…,15,则每个KBP由Ki[j]、Ki[j+8]组成,其中每个Ki[i]为16进制。
当移动终端开机需要进行鉴权,移动终端收到16字节随机数(RAND)然后用这个随机数和Ki进行Comp128-1运算得到12字节输出。
例如移动终端收到的随机数分别为:
27 4C F3 87 AB 62 67 31 A3 9C B1 34 FE 39 D3 46
27 4C F3 87 AB 62 EC 31 A3 9C B1 34 FE 39 01 46
时发现碰撞,其中“67 D3”和“EC 01”就是引发“3R-碰撞”的CBP,由此可得到第7对KBP--“16 CF”。
移动终端收到随机数后,判断AuthBlockFlag是否等于0,在等于0的情况下,从第1组随机数开始存储(假设从第1组开始存储),存储到SIM卡EFrnd文件,例如连续收到如下10组:
27 4C F3 87 AB 62 67 31 A3 9C B1 34 FE 39 D3 46
27 4C F3 87 AB 62 67 31 A3 9C B1 34 FE 39 D4 46
27 4C F3 87 AB 62 67 31 A3 9C B1 34 FE 39 D5 46
27 4C F3 87 AB 62 67 31 A3 9C B1 34 FE 39 D6 46
27 4C F3 87 AB 62 67 31 A3 9C B1 34 FE 39 D7 46
27 4C F3 87 AB 62 67 31 A3 9C B1 34 FE 39 D8 46
27 4C F3 87 AB 62 67 31 A3 9C B1 34 FE 39 D9 46
27 4C F3 87 AB 62 67 31 A3 9C B1 34 FE 39 DA 46
27 4C F3 87 AB 62 67 31 A3 9C B1 34 FE 39 DB 46
27 4C F3 87 AB 62 67 31 A3 9C B1 34 FE 39 DC 46
第一种情况:连续存储这10组随机数的左半部分8字节到EFrnd文件里:
27 4C F3 87 AB 62 67 31
27 4C F3 87 AB 62 67 31
27 4C F3 87 AB 62 67 31
27 4C F3 87 AB 62 67 31
27 4C F3 87 AB 62 67 31
27 4C F3 87 AB 62 67 31
27 4C F3 87 AB 62 67 31
27 4C F3 87 AB 62 67 31
27 4C F3 87 AB 62 67 31
27 4C F3 87 AB 62 67 31
本例中假设门限值K=2,而且这10组随机数记录的8个字节都是相同的,其相似程度超过门限值K,因此认为受到攻击。
PreBlockCounter开始计数,PreBlockCounter减1。
判断PreBlockCounter是否等于0。
如果符合判断条件则将AuthBlockFlag置为1。
随机生成一个12个字节的伪密文作为输出,以迷惑攻击者,利用该伪密文SRES提交给鉴权中心进行鉴权认证就会出现鉴权失败,所以鉴权中心会再次发送鉴权随机数进行鉴权,与此同时鉴权计数器的值被累加1。
输出受到攻击的提示。
第二种情况:连续存储这10组随机数的左半部分4字节到EFrnd文件里:
27 4C F3 87
27 4C F3 87
27 4C F3 87
27 4C F3 87
27 4C F3 87
27 4C F3 87
27 4C F3 87
27 4C F3 87
27 4C F3 87
27 4C F3 87
本例中假设门限值K=2,而且这10组随机数记录的8个字节都是相同的,其相似程度超过门限值K,因此认为受到攻击。
PreBlockCounter开始计数,PreBlockCounter减1。
判断PreBlockCounter是否等于0。
如果符合判断条件则将AuthBlockFlag置为1。
随机生成一个12个字节的伪密文作为输出,以迷惑供给者,利用该伪密文SRES提交给鉴权中心进行鉴权认证就会出现鉴权失败,所以鉴权中心会再次发送鉴权随机数进行鉴权,与此同时鉴权计数器的值被累加1。
输出受到攻击的提示。
如图4所示为本发明攻击检测装置示意图,包括接收单元401,判断处理单元402,存储器403,随机数单元404,常规加密单元405。在本例中所述的鉴权随机数,对于其他应用实例中来说就是将要被加密的明文。
所述接收单元401与所述判断处理单元402相连接,所述判断处理单元402与所述存储器403相连接,所述判断处理单元402与所述随机数单元404相连接,所述判断处理单元402与所述常规加密单元405相连接。
所述接收单元401用于接收鉴权中心或者攻击者发送过来的鉴权随机数。
所述判断处理单元402用于对鉴权随机数进行分析,判断所述鉴权随机数是否相似。
所述存储器403用于存储鉴权随机数和第一门限值,即K值,其中K为大于等于2的正整数,优选的2<=K<=10。
所述随机数单元404,在本例中用于随机生成12字节的16进制的伪密文,作为密文Kc,以迷惑攻击者。
所述常规加密单元405,在本例中为Comp128-1加密算法利用鉴权随机数和密钥Ki生成密文Kc。
所述接收单元401接收鉴权随机数,传送给所述判断处理单元402,判断处理单元402将复数个鉴权随机数存储于存储器中,并对所述存储器中的复数个鉴权随机数进行分析,如果复数个鉴权随机数只有一个字节不同或者每个字节都相同的个数超过所述第一门限值,则认为当前鉴权随机数是相似的的(即具有攻击模式),则调用随机数单元404生成12字节的伪密文,将该密文作为输入的鉴权随机数的加密结果传送出去。如果上述相似的鉴权随机数的数量少于所述第一门限值,则将该鉴权随机数直接传送给常规加密单元405计算出Kc。
还包括第一计数器406(AuthCounter),与所述判断处理单元402相连接,用于累加记录已经处理过的鉴权随机数个数。
还包括第一标识单元407(AuthBlockFlag),与所述判断处理单元402相连接,用于标识所述第一计数器406的数值是否大于预先设定的数值。
还包括第二计数器408(PreBlockCounter),与所述判断处理单元402相连接,用于累加记录相似鉴权随机数的个数。或者将第二计数器408预先设定一个值,每次接收到相似鉴权随机数时,将所述第二计数器408的数值减1。
如图5所示为本发明攻击检测应用于无线通信系统的示意图,包括手机501,手机中的SIM卡502,基站503(或其他中继设备),鉴权中心504,攻击者读卡设备505。正常情况下,由鉴权中心504通过基站503等中继设备向手机终端发送鉴权随机数,手机501接收到所述鉴权随机数后传送给内部SIM卡502,所述SIM卡502上具有如图4所述的攻击检测装置,用于攻击检测,如果鉴权中心发送的鉴权随机数也具有多位相似的情况,被误认为具有攻击模式,则输出字符提示,当鉴权中心发出的鉴权随机数超过预设的PreBlockCounter(即第二计数器408)时,则锁定该SIM卡502,用户需要获得电信运营商的解锁密码或者其他解锁手段才能重新激活所述SIM卡502。在非正常情况下,所述SIM卡502被攻击者单独与读卡设备505相连接,攻击者通过读卡设备505向所述SIM卡502传送大量相似鉴权随机数,以对密钥Ki进行明文攻击,所述SIM卡502上的攻击检测装置根据分析所述鉴权随机数是否具有多位相似来判断目前接收的鉴权随机数是否具有攻击模式。如果具有攻击模式则输出随机生成的12字节Kc,和字符提示,如果具有攻击模式的鉴权随机数超过预设的PreBlockCounter(即第二计数器408)时,则锁定该SIM卡502,用户需要获得电信运营商的解锁密码或者其他解锁手段才能重新激活所述SIM卡502。
本发明的有益效果在于,能够对选择明文攻击的明文数据进行分析,并将可能具有攻击模式的数据丢弃,防止内部加密算法被攻击者以尝试的方式得出;并且通过存储一部分明文,减小了对存储器容量的要求,比较分析明文每一位是否相同或不同时速度更快;并且随机存储接收到的明文,以防止攻击者特意输入的一些混淆数据。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而己,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种碰撞攻击检测方法,其特征在于该方法包括,
在移动终端登录网络进行鉴权时,接收一个明文,存储该明文的至少部分明文,判断所述被存储的至少部分明文与其它被存储的至少部分明文相似的个数是否大于或者等于第一门限值,如果大于或者等于则输出当前明文具有攻击模式的信号,否则输出正常信号;当下一个明文来到时重复上述步骤;
还包括,启动第二计数器记录具有攻击模式明文的数量,如果所述第二计数器超过预设的第二门限值则随机生成一个随机数作为所述明文相对应的密文。
2.根据权利要求1所述的一种碰撞攻击检测方法,其特征在于,所述明文包括多位的字符串,所述相似包括,所述至少部分明文的多位相同。
3.根据权利要求2所述的一种碰撞攻击检测方法,其特征在于,所述至少部分明文的多位相同包括,所述被存储的至少部分明文中的至少两个只有一位不同或者完全相同。
4.根据权利要求1所述的一种碰撞攻击检测方法,其特征在于,随机生成一个随机数,当接收的明文个数超过所述随机数,则开始存储该明文的至少部分明文。
5.根据权利要求1或4所述的一种碰撞攻击检测方法,其特征在于,只存储预定个数的至少部分明文。
6.根据权利要求5所述的一种碰撞攻击检测方法,其特征在于,所述预定个数为50。
7.根据权利要求1所述的一种碰撞攻击检测方法,其特征在于,所述存储至少部分明文包括,存储该明文的前半部分或者后半部分。
8.根据权利要求1所述的一种碰撞攻击检测方法,其特征在于,在启动第二计数器记录具有攻击模式明文的数量后还包括,如果所述第二计数器超过预设的第二门限值则丢弃所述接收到的明文,否则输出正常信号。
9.根据权利要求1或8所述的一种碰撞攻击检测方法,其特征在于,输出正常信号后还包括,利用密钥运算得出所述明文相应的密文。
10.根据权利要求9所述的一种碰撞攻击检测方法,其特征在于,所述接收的明文为鉴权中心发送的16字节的鉴权随机数,所述利用密钥运算包括利用密钥进行Comp128-1算法得出密文。
11.根据权利要求1所述的一种碰撞攻击检测方法,其特征在于,在接收一个明文之后还包括,启动第一计数器记录接收所有明文的数量,如果超过了预设的第三门限值则丢弃所述接收到的明文,否则存储该明文的至少部分明文。
12.一种碰撞攻击检测装置,其特征在于该装置包括,接收单元,判断处理单元,存储器;所述接收单元与所述判断处理单元相连接,所述判断处理单元与所述存储器相连接;在移动终端登录网络进行鉴权时,所述接收单元用于接收明文;所述存储器用于存储所述明文的至少一部分及第一门限值;所述判断处理单元,用于判断所述被存储的至少部分明文与其它被存储的至少部分明文相似的个数是否大于或者等于第一门限值,如果大于或者等于则输出当前明文具有攻击模式的信号,否则输出正常信号;
还包括随机数单元,所述随机数单元与所述判断处理单元相连接;所述随机数单元接收所述判断处理单元输出的当前明文具有攻击模式的信号后,随机生成密文作为所述明文相对应的密文通过所述判断处理单元输出。
13.根据权利要求12所述的一种碰撞攻击检测装置,其特征在于,所述明文包括多位的字符串,所述判断处理单元判断所述被存储的至少部分明文的多位是否相同,如果具有多位相同则判断为相似的明文。
14.根据权利要求13所述的一种碰撞攻击检测装置,其特征在于,还包括常规加密单元,所述常规加密单元与所述判断处理单元相连接;所述常规加密单元用于利用内部密钥和加密算法根据所述明文生成正确的密文。
15.根据权利要求12所述的一种碰撞攻击检测装置,其特征在于,还包括第二计数器,与所述判断处理单元相连接,用于记录相似明文的数量,所述判断处理单元判断所述第二计数器是否超过预设的第二门限值,如果超过所述第二门限值则丢弃所述接收到的明文,否则输出正常信号。
16.根据权利要求12所述的一种碰撞攻击检测装置,其特征在于,还包括第一计数器,与所述判断处理单元相连接,用于记录已经处理过的明文数量,如果超过了预设的第三门限值则丢弃所述接收到的明文,否则存储该明文的至少部分明文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101090419A CN101588578B (zh) | 2008-05-23 | 2008-05-23 | 一种碰撞攻击检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101090419A CN101588578B (zh) | 2008-05-23 | 2008-05-23 | 一种碰撞攻击检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101588578A CN101588578A (zh) | 2009-11-25 |
CN101588578B true CN101588578B (zh) | 2011-05-04 |
Family
ID=41372593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101090419A Expired - Fee Related CN101588578B (zh) | 2008-05-23 | 2008-05-23 | 一种碰撞攻击检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101588578B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105873028B (zh) * | 2016-03-28 | 2020-05-19 | 宇龙计算机通信科技(深圳)有限公司 | 终端控制方法、终端控制装置和终端 |
CN106878257B (zh) * | 2016-12-14 | 2021-04-27 | 南京邮电大学 | 具有智能攻击防护的工业网络闭环控制方法及其系统 |
CN110768969B (zh) * | 2019-10-14 | 2023-10-17 | 深圳Tcl数字技术有限公司 | 基于网络数据监控的测试方法、装置及可读存储介质 |
CN112580057A (zh) * | 2020-12-17 | 2021-03-30 | 光通天下网络科技股份有限公司 | 针对zip加密压缩包的攻击脆弱性检测方法、装置、设备及介质 |
CN113420307B (zh) * | 2021-06-28 | 2023-03-28 | 未鲲(上海)科技服务有限公司 | 密文数据的评估方法、装置、计算机设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1748385A (zh) * | 2002-12-13 | 2006-03-15 | 德国捷德有限公司 | 加密方法 |
CN1941775A (zh) * | 2006-07-19 | 2007-04-04 | 华为技术有限公司 | 一种防止网络消息攻击的方法及设备 |
CN101009607A (zh) * | 2005-07-06 | 2007-08-01 | 飞塔公司 | 用于检测并防止网络环境中的洪流攻击的系统和方法 |
-
2008
- 2008-05-23 CN CN2008101090419A patent/CN101588578B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1748385A (zh) * | 2002-12-13 | 2006-03-15 | 德国捷德有限公司 | 加密方法 |
CN101009607A (zh) * | 2005-07-06 | 2007-08-01 | 飞塔公司 | 用于检测并防止网络环境中的洪流攻击的系统和方法 |
CN1941775A (zh) * | 2006-07-19 | 2007-04-04 | 华为技术有限公司 | 一种防止网络消息攻击的方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101588578A (zh) | 2009-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Peris-Lopez et al. | M 2 AP: a minimalist mutual-authentication protocol for low-cost RFID tags | |
CA2432269C (en) | Encryption communication apparatus | |
CN108304902B (zh) | 一种超轻量级的移动rfid系统双向认证方法 | |
US20180041505A1 (en) | Method for generating a key and access control method | |
KR100720962B1 (ko) | Rfid 시스템에서의 상호인증 및 데이터통신 보안방법 | |
Alomair et al. | Securing low-cost RFID systems: An unconditionally secure approach | |
EP1554835B1 (en) | Message authentication code based on error correcting code | |
CN103793817A (zh) | 简化的音频验证的方法和设备 | |
US11496285B2 (en) | Cryptographic side channel resistance using permutation networks | |
CN101588578B (zh) | 一种碰撞攻击检测方法及装置 | |
CN101980241B (zh) | 一种射频标签认证的方法、系统及装置 | |
CN104125064B (zh) | 一种动态密码认证方法、客户端及认证系统 | |
CN106576047B (zh) | 使密码操作免受恶意修改的方法和装置 | |
Fischlin et al. | Subtle kinks in distance-bounding: an analysis of prominent protocols | |
CN102970676A (zh) | 一种对原始数据进行处理的方法、物联网系统及终端 | |
Safkhani et al. | On the security of Tan et al. serverless RFID authentication and search protocols | |
US20120284787A1 (en) | Personal Secured Access Devices | |
CN115001775B (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN103761660B (zh) | 产品真伪验证方法及装置 | |
CN102054250A (zh) | 获得使用产品的授权密钥的系统和方法 | |
KR100605138B1 (ko) | 알에프아이디 시스템에 있어서의 인증방법 | |
Eldefrawy et al. | Banknote Validation through an Embedded RFID Chip and an NFC‐Enabled Smartphone | |
CN106056378B (zh) | 电子支付终端防伪方法及其系统 | |
US20170310646A1 (en) | Method to detect an ota (over the air) standard message affected by an error | |
Lee et al. | Design of a simple user authentication scheme using QR-code for mobile device |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110504 Termination date: 20190523 |