一种攻击检测方法及装置的制作方法

文档序号:7694272阅读:187来源:国知局
专利名称:一种攻击检测方法及装置的制作方法
技术领域
本发明涉及安全检测领域,特别涉及智能卡片的安全检测领域,具体地 讲是一种攻击检测方法及装置。
背景技术
在加密算法中,采用密钥将明文加密成密文。在此,加密算法的概念应 理解为用于计算关于明文的识别码的算法。这种算法也称为具有密钥的哈希 函数(加密的哈希函数)。在此,采用密钥从明文中计算明文的识别码。通 常,与狭义下的真正加密算法相反,这种函数是不能反向的,也就是说不能 再进行解密。
加密算法例如用于相对于第二实例验证第一实例。为此,例如第一实例 用一个公用的、两个实例都具有的密钥将其先前以未加密的形式从第二实例 获得的明文加密成要发送回第二实例的第一密文。第二实例同样用该共用密 钥,独立于第一实例的加密方式对该明文进行加密,并由此计算出第二密文。 如果第一实例实际上将该共用密钥用于加密,则第一和第二密文是一致的。 这样,第一实例相对于第二实例自我验证,其中第一实例相对于所获得的明 文发回正确的密文。对于该方法的可应用性和可靠性,要求一定要使用共用 密钥对第三方严格保密。
针对于上述加密方法的攻击中,加密时采用密钥,并且改变了用该密钥 加密的明文,更为准确的是,在这些攻击中聚集了多个明文/密文对,也就是 由一个明文和一个对应于该明文的密文组成的对子,该密文是通过加密算法 和密码对明文进行加密形成的,这些明文/密文对具有这样的特性,从该明文 /密文对中可以获得关于该密码的信息。攻击者可以有针对性地选择他想要加密的明文,由此明文/密文对的集合可以有针对性地建立并因此变得更为有 效。为了使攻击成功,需要收集关于密钥的足够信息,为此需要对足够多的 明文进行加密。
在目前的攻击手段中,有一种针对于上述加密方法的所谓的"碰撞"攻 击手段,所谓"碰撞"是指两个不同的明文在用相同的密钥和加密算法加密 后,得到了相同的密文或者重检结果,如果出现这样的碰撞,则可以从中最 终确定出密码。
事实上,上述加密方法在现实环境中有很多应用,如图l所示为现有的移
动网络利用SIM卡进行鉴权的数据流图,在移动终端(特别为手机)登录移动 网络时,网络端的鉴权中心会产生一个16字节的随机数据(RAND)发给移动 终端,移动终端将这个数据发给SIM卡,SIM卡用自己的密钥Ki和RAND做运算 以后,生成一个4字节的应答(SRES)发回给移动终端,并转发给鉴权中心, 与此同时,鉴权中心也进行相同算法的运算,移动网络会比较一下这两个结 果是否相同,相同则允许其登录。这个验证算法在GSM规范里面称为A3,其中 RAND=128 bit, Ki=128 bit。
在移动网络发送RAND过来的时候,手机还会让SIM卡对RAND和Ki计算出另 一个密钥Kc以供全程通信加密使用,Kc的长度是64bits,生成Kc的算法是A8, 因为A3和A8接受的输入完全相同,通常用一个算法A3/A8同时生成SRES和Kc。 用Kc在通信过程中的加密,这个加密算法称为A5。
上述的加密流程也就是GSM网络中使用的鉴权算法Comp128-1 (亦即MoU组 织所指的A3/A8算法),由于存在算法结构上的缺陷,导致可以利用其缺陷进 行"选择明文攻击",针对Compl28-l算法的这种攻击是基于上述碰撞的,指 两个不同的随机数经Comp128-l密码学运算后得到了相同的密文。但必须说 明的是,攻击者必须要拿到SIM卡才能进行这些攻击。
Compl28-l算法是一种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卡等智能卡安全 领域。
以弓I入方式将上述技术内容合并于本申请。

发明内容
本发明的目的在于提供一种攻击检测方法,用于解决现有技术中攻击者 釆用选择明文攻击的方式获得密钥的不足。
本发明的另一目的在于提供一种攻击检测装置,用于解决现有技术中对加密算法没有防护的不足,对输入数据进行分析,如果符合要求则可以加密
运算,否则直接丢弃攻击数据。
为了实现上述目的,本发明实施例提供一种攻击检测方法,该方法包括, 接收一个明文,存储该明文的至少部分明文,判断所述被存储的至少部
分明文与其它被存储的至少部分明文相似的个数是否大于或者等于第一门限
值,如果大于或者等于则输出当前明文具有攻击模式的信号,否则输出正常
信号;当下一个明文来到时重复上述步骤。
根据本发明所述的一种攻击检测方法的一个进一步的方面,所述明文包 括多位的字符串,所述相似包括,所述至少部分明文的多位相同。
根据本发明所述的一种攻击检测方法的再一个进一步的方面,所述至少 部分明文的多位相同包括,所述被存储的至少部分明文中的至少两个只有一 位不同或者完全相同。
根据本发明所述的一种攻击检测方法的另一个进一步的方面,随机生成 一个随机数,当接收的明文个数超过所述随机数,则开始存储该明文的至少 部分明文。
根据本发明所述的一种攻击检测方法的另一个进一步的方面,只存储预 定个数的至少部分明文。
根据本发明所述的一种攻击检测方法的另一个进一步的方面,所述预定 个数为50。
根据本发明所述的一种攻击检测方法的另一个进一步的方面,所述存储 至少部分明文包括,存储该明文的前半部分或者后半部分。
根据本发明所述的一种攻击检测方法的另一个进一步的方面,输出当前 明文具有攻击模式的信号后还包括,启动第二计数器记录具有攻击模式明文 的数量,如果所述第二计数器超过预设的第二门限值则丢弃所述接收到的明 文,否则输出正常信号。
根据本发明所述的一种攻击检测方法的另一个进一步的方面,所述第二计数器超过预设的第二门限值后还包括,随机生成一个随机数作为所述明文 相对应的密文。
根据本发明所述的一种攻击检测方法的另一个进一步的方面,输出正常 信号后还包括,利用密钥运算得出所述明文相应的密文。
根据本发明所述的一种攻击检测方法的另一个进一步的方面,所述接收
的明文为鉴权中心发送的16字节的鉴权随机数,所述利用密钥运算包括利用 密钥进行Compl28-1算法得出密文。
根据本发明所述的一种攻击检测方法的另一个进一步的方面,在接收一 个明文之后还包括,启动第一计数器记录接收所有明文的数量,如果超过了 预设的第三门限值则丢弃所述接收到的明文,否则存储该明文的至少部分明 文。
为了实现上述目的,本发明实施例还提供了一种攻击检测装置,包括,
接收单元,判断处理单元,存储器;所述接收单元与所述判断处理单元相连
接,所述判断处理单元与所述存储器相连接;所述接收单元用于接收明文;
所述存储器用于存储所述明文的至少一部分及第一门限值;所述判断处理单
元,用于判断所述被存储的至少部分明文与其它被存储的至少部分明文相似
的个数是否大于或者等于第一门限值,如果大于或者等于则输出当前明文具
有攻击模式的信号,否则输出正常信号。
根据本发明所述的一种攻击检测装置的一个进一步的方面,所述明文包
括多位的字符串,所述判断处理单元判断所述被存储的至少部分明文的多位 是否相同,如果具有多位相同则判断为相似的明文。
根据本发明所述的一种攻击检测装置的再一个进一步的方面,还包括随 机数单元和常规加密单元,所述随机数单元和常规加密单元分别与所述判断 处理单元相连接;所述随机数单元接收所述判断处理单元输出的当前明文具 有攻击模式的信号后,随机生成密文作为所述明文相对应的密文;所述常规 加密单元用于利用内部密钥和加密算法根据所述明文生成正确的密文。根据本发明所述的一种攻击检测装置的另一个进一步的方面,还包括第 二计数器,与所述判断处理单元相连接,用于记录相似明文的数量,所述判 断处理单元判断所述第二计数器是否超过预设的第二门限值,如果超过所述 第二门限值则丢弃所述接收到的明文,否则输出正常信号。
根据本发明所述的一种攻击检测装置的另一个进一步的方面,还包括第 一计数器,与所述判断处理单元相连接,用于记录已经处理过的明文数量, 如果超过了预设的第三门限值则丢弃所述接收到的明文,否则存储该明文的 至少部分明文。
本发明实施例的有益效果在于,能够对选择明文攻击的明文数据进行分 析,并将可能具有攻击模式的数据丢弃,防止内部加密算法被攻击者以尝试 的方式得出;并且通过存储一部分明文,减小了对存储器容量的要求,比较 分析明文每一位是否相同或不同时速度更快。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部 分,并不构成对本发明的限定。在附图中
图1为现有的移动网络利用SIM卡进行鉴权的数据流图; 图2为本发明流程图3为本发明应用于GSM网络中Compl28-l加密算法的攻击检测流程图; 图'4为本发明攻击检测装置示意图5为本发明攻击检测应用于无线通信系统的示意图。-
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式 和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其 说明用于解释本发明,但并不作为对本发明的限定。本发明实施例提供。以下结合附图对本发明进行详细说明。
如图2所示为本发明流程图,判断接收到的明文是否是具有选择明文攻 击模式的数据,包括以下步骤,步骤201,接收复数个明文,进行存储。步骤 202,判断所述明文中的至少两个是否只有一位不同或者完全相同。步骤203, 如果上述判断为否,则输出没有攻击信号。步骤204,如果上述判断为是,则 输出受到攻击的信号。
其中,步骤201中,接收复数个明文数据,在本例中可以限定为接收50 个明文数据,或者由系统随机生成一个随机数,由该随机数作为接收明文数 量的限值,作为优选的实施例, 一般该随机数小于或者等于100。
作为优选的实施例,接收所述明文数据不是从所接收到的第一个明文数 据开始存储的,根据预先设定的数字,当接收的明文数据的数量到达该预先 设定的数字时开始将接收到的明文数据存储,该预先设定的数字可以为任意 整数,优选的,该预先设定的数字可以为系统随机生成的随机数。
作为优选的实施例,在接收复数个明文数据后,为了减少对存储器容量 的要求,可以只存储明文数据的一部分,如果明文数据具有16个字节长度, 则可以只存储该类明文数据的左半部分或者右半部分,即8个字节的数据; 或者可以存储该类明文数据的从左侧开始顺序的4个字节的数据,或者右侧 开始顺序的4个字节的数据。本发明方法并不限制明文数据长度,并且也不 限制存储的字节长度。
其中,步骤202中,可以将复数个被存储的明文先转换为二进制(如果 已经是二进制则可以省去本步骤),再判断所有的二进制明文中的相似程度, 如果其中有两个二进制明文只具有一位的不同,在本文中就称为这两个明文 相似,并且这种只具有一位不同的相似的二进制明文的数量超过一预设的第 一门限值,即,在复数个明文中,相似的明文数量超过第一门限值,则说明 可能有人正在进行选择明文攻击。
作为优选的实施例,步骤202中,可以将复数个被存储的明文先转换为十六进制(如果已经是十六进制则可以省去本步骤),再判断所有的十六进 制明文中的相似程度,如果十六进制明文只具有一位的不同,在本文中就称 为这些明文相似,并且这种只具有一位不同的十六进制明文的数量超过预设 的第一门限值,即,在复数个明文中,相似的明文数量超过第一门限值,则 说明可能有人正在进行选择明文攻击。
作为优选的实施例,还可以判断在复数个被存储的明文中是否具有多组 相同的明文,当相同的明文数量超过一预设的第一门限值,则该相同的数据 可能是攻击者为了给加密设计人员判断是否为攻击明文数据增大难度的垃圾 明文数据。所述门限值可以是由系统随机生成的,以增加攻击者的明文尝试
次数。优选的所述门限值可以取2-IO的自然数。
以上并不限于二进制或者十六进制,本发明思想是根据明文的"位"来 判断是否为攻击数据。其他进制的明文也同样根据以上原则来判断。
下面以在GSM网络中对SIM卡进行选择明文攻击作为实施例,对本发明
检测攻击的方法进行说明。
如图3所示为本发明应用于GSM网络中Compl28-1加密算法的攻击检测 流程图。在所有步骤开始之前设定一个1000—2000之间的"预锁定计数器" PreBlockCounter^在本例中,设置预锁定计数器为记录当前接收具有攻击模 式的鉴权随机数的数量,防止鉴权中心的设备故障造成的SIM卡锁死。
并且创建一个Linear Fixed (线性定长)结构的EF文件EFrnd,该文件 具有50条记录、每条记录8个字节。
本实施例中的攻击检测方法具体包括步骤301,在SIM卡每次接收到鉴权 随机数后(如图1所示,但所述鉴权随机数不一定是从鉴权中心发出,可能 是从攻击者发出,并且本例中所述的鉴权随机数就是上文所述的明文),在S 工M卡个人化流程中设定一个总的鉴权计数器AuthCounter和"鉴权锁定标志 寄存器"AuthBlockFlag (初始化为"0"),如果SIM卡累计的鉴权计数器 达到一个预定的门限值(优选的设定为100万左右)后就不允许SIM卡再正确执行"RunGSMAlgo"命令或SIM卡直接丢弃接收到的鉴权随机数,将Auth BlockFlag置为"1",并返回一个12字节随机数作为"RunGSMAlgo"命令的 输出结果,通常该返回结果包括SRES,其中RunGSMAlgo是SIM卡对接收到的
鉴权随机数进行加密的指令。
步骤302,判断AuthBlockFlag是否为O,如果不等于0则进入步骤208 进行处理,否则进入步骤303。
步骤303,在SIM卡个人化流程中设定一个随机数作为存储起始点,当S IM卡接收鉴权随机数的数量达到这个存储起始点之后,用一个新随机数作为 下一个存储起始点。如果没有到达所述存储起始点则进入步骤310进行处理, 否则进入步骤304进行处理。
步骤304,达到所述存储起始点后,SIM卡COS (操作系统)会在"RunG SMAlgo"命令流程中连续或随机抽取若干组接收到的鉴权随机数,在本例中 为50组,将所述50组鉴权随机数存储到SIM卡的专用文件EFrnd中,每组 鉴权随机数只存储左半部分(或右半部分)的8个字节。
步骤305,随机设定一个第一门限值k (2<= k <= 10),每存储完一组 鉴权随机数后就逐一比较EFrnd里的多组随机数(最多为上述步骤304中所 述的50组),判断这些鉴权随机数里是否存在k组或k组以上具有7个字节 或8个字节相同数据的鉴权随机数,即判断接收到的鉴权随机数是否相似。 如果相似,S卩,有7个字节或者8个字节的鉴权随机数相同,则进入步骤30 6进行处理,否则进入步骤310。
在这里如果在上一步骤304中只存储了鉴权随机数的左半部分(或右半 部分)的4个字节,则判断这些鉴权随机数里是否存在k组或k组以上具有3 个字节或4个字节相同数据的鉴权随机数,即判断接收到的鉴权随机数是否 相似。
步骤306,启动"预锁定计数器"并发送信息给用户提示"怀疑SIM卡受 到克隆攻击请尽快与运营商联系!"。启动"预锁定计数器"后每执行一次"RimGSMAlgo"命令就会将该计数器的值减1并且停止存储鉴权随机数。
步骤307,判断预锁定计数器是否减为"0",如果判断结果为是,则进 入步骤308;否则进入步骤310进行常规Compl28-1鉴权运算。
作为优选的实施例,步骤307中也可以将预锁定计数器加1,当超过预设 的门限值时则进入步骤308,否则进入步骤310。
步骤308,锁定SIM卡,即将AuthBlockFlag设置为"1",不允许SIM 卡执行"RimGSMAlgo"命令,如果在预锁定计数器减为"0"之前用户及时与 运营商联系后,运营商可以将预锁定计数器重置。在优选的实施例中,由运 营商直接向SIM卡输入重置信息,由SIM卡内部的程序自动重置,将预锁定 计数器设置为"1000-2000"之间的一个数。
步骤309,随机生成一个12个字节的伪密文,作为输出结果。该输出结 果中,包括随机生成的8个字节的Kc和4个字节的SRES, Kc和SRES是用于 迷惑攻击者的假密文,所以鉴权中心会再次发送鉴权随机数进行鉴权,与此 同时鉴权计数器的值被累加1。
步骤310,利用Ki及Compl28-1算法进行常规的鉴权运算。 以下为本发明攻击检测方法实施例。
CBP (Challenge-Byte-Pair):鉴权随机数字节对,每个鉴权随机数包含 16个字节C[i],其中1=0,1,2,-,15,则每个CBP由C[j]、 C[j+8]组成,其中 每个C[i]为16进制。
KBP (Ki-Byte-Pair):鉴权密钥字节对,每个鉴权密钥Ki包含16个字节 Ki[i],其中t0,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 Bl 34 FE 39 D3 4627 4C F3 87 AB 62 EC 31 A3 9C Bl 34 FE 39 01 46 时发现碰撞,其中"67 D3"和"EC 01"就是引发"3R-碰撞"的CBP,
由此可得到第7对KBP— "16 CF"。
移动终端收到随机数后,判断AiithBlockFlag是否等于O,在等于0的情况
下,从第l组随机数开始存储(假设从第l组开始存储),存储到SIM卡EFrnd
文件,例如连续收到如下10组
27 4C F3 87 AB 62 67 31 A3 9C Bl 34 FE 39 D3 46
27 4C F3 87 AB 62 67 31 A3 9C Bl 34 FE 39 D4 46
27 4C F3 87 AB 62 67 31 A3 9C Bl 34 FE 39 D5 46
27 4C F3 87 AB 62 67 31 A3 9C Bl 34 FE 39 D6 46
27 4C F3 87 AB 62 67 31 A3 9C Bl 34 FE 39 D7 46
27 4C F3 87 AB 62 67 31 A3 9C Bl 34 FE 39 D8 46
27 4C F3 87 AB 62 67 31 A3 9C Bl 34 FE 39 D9 46
27 4C F3 87 AB 62 67 31 A3 9C Bl 34 FE 39 DA 46
27 4C F3 87 AB 62 67 31 A3 9C Bl 34 FE 39 DB 46
27 4C F3 87 AB 62 67 31 A3 9C Bl 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 3127 4C F3 87 AB 62 67 31
本例中假设门限值K二2,而且这10组随机数记录的8个字节都是相同的, 其相似程度超过门限值K,因此认为受到攻击。
PreBlockCounter开始计数,PreBlockCounter减l。 判断PreBlockCounter是否等于O。 如果符合判断条件则将AuthBlockFlag置为1 。
随机生成一个12个字节的伪密文作为输出,以迷惑攻击者,利用该伪密 文SRES提交给鉴权中心进行鉴权认证就会出现鉴权失败,所以鉴权中心会再 次发送鉴权随机数进行鉴权,与此同时鉴权计数器的值被累加l。
输出受到攻击的提示。
第二种情况连续存储这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
本例中假设门限值&2,而且这10组随机数记录的8个字节都是相同的, 其相似程度超过门限值K,因此认为受到攻击。
PreBlockCounter开始计数,PreBlockCounter减l 。
判断PreBlockCounter是否等于O。
如果符合判断条件则将AuthBlockFlag置为l。随机生成一个12个字节的伪密文作为输出,以迷惑供给者,利用该伪密 文SRES提交给鉴权中心进行鉴权认证就会出现鉴权失败,所以鉴权中心会再 次发送鉴权随机数进行鉴权,与此同时鉴权计数器的值被累加l。
输出受到攻击的提示。
如图4所示为本发明攻击检测装置示意图,包括接收单元401,判断处理 单元402,存储器403,随机数单元404,常规加密单元405。在本例中所述 的鉴权随机数,对于其他应用实例中来说就是将要被加密的明文。
所述接收单元401与所述判断处理单元402相连接,所述判断处理单元4 02与所述存储器403相连接,所述判断处理单元402与所述随机数单元404 相连接,所述判断处理单元402与所述常规加密单元405相连接。
所述接收单元401用于接收鉴权中心或者攻击者发送过来的鉴权随机数。
所述判断处理单元402用于对鉴权随机数进行分析,判断所述鉴权随机 数是否相似。
所述存储器403用于存储鉴权随机数和第一门限值,即K值,其中K为 大于等于2的正整数,优选的2〈=K〈=10。
所述随机数单元404,在本例中用于随机生成12字节的16进制的伪密文, 作为密文Kc,以迷惑攻击者。
所述常规加密单元405,在本例中为Compl28-l加密算法利用鉴权随机数 和密钥Ki生成密文Kc。
所述接收单元401接收鉴权随机数,传送给所述判断处理单元402,判断 处理单元402将复数个鉴权随机数存储于存储器中,并对所述存储器中的复 数个鉴权随机数进行分析,如果复数个鉴权随机数只有一个字节不同或者每 个字节都相同的个数超过所述第一门限值,则认为当前鉴权随机数是相似的 的(即具有攻击模式),则调用随机数单元404生成12字节的伪密文,将该 密文作为输入的鉴权随机数的加密结果传送出去。如果上述相似的鉴权随机 数的数量少于所述第一门限值,则将该鉴权随机数直接传送给常规加密单元405计算出Kc。
还包括第一计数器406 (AuthCounter),与所述判断处理单元402相连 接,用于累加记录己经处理过的鉴权随机数个数。
还包括第一标识单元407 (AuthBlockFlag),与所述判断处理单元402 相连接,用于标识所述第一计数器406的数值是否大于预先设定的数值。
还包括第二计数器408 (PreBlockCounter),与所述判断处理单元402 相连接,用于累加记录相似鉴权随机数的个数。或者将第二计数器408预先 设定一个值,每次接收到相似鉴权随机数时,将所述第二计数器408的数值 减1。
如图5所示为本发明攻击检测应用于无线通信系统的示意图,包括手机5 01,手机中的SIM卡502,基站503 (或其他中继设备),鉴权中心504,攻 击者读卡设备505。正常情况下,由鉴权中心504通过基站503等中继设备向 手机终端发送鉴权随机数,手机501接收到所述鉴权随机数后传送给内部SI M卡502,所述SIM卡502上具有如图4所述的攻击检测装置,用于攻击检测, 如果鉴权中心发送的鉴权随机数也具有多位相似的情况,被误认为具有攻击 模式,则输出字符提示,当鉴权中心发出的鉴权随机数超过预设的PreBlock Counter (即第二计数器408)时,则锁定该SIM卡502,用户需要获得电信 运营商的解锁密码或者其他解锁手段才能重新激活所述SIM卡502。在非正常 情况下,所述SIM卡502被攻击者单独与读卡设备505相连接,攻击者通过 读卡设备505向所述SIM卡502传送大量相似鉴权随机数,以对密钥Ki进行 明文攻击,所述SIM卡502上的攻击检测装置根据分析所述鉴权随机数是否 具有多位相似来判断目前接收的鉴权随机数是否具有攻击模式。如果具有攻 击模式则输出随机生成的12字节Kc,和字符提示,如果具有攻击模式的鉴权 随机数超过预设的PreBlockCounter (即第二计数器408)时,则锁定该S工M 卡502,用户需要获得电信运营商的解锁密码或者其他解锁手段才能重新激活 所述SIM卡502。本发明的有益效果在于,能够对选择明文攻击的明文数据进行分析,并 将可能具有攻击模式的数据丢弃,防止内部加密算法被攻击者以尝试的方式 得出;并且通过存储一部分明文,减小了对存储器容量的要求,比较分析明
文每一位是否相同或不同时速度更快;并且随机存储接收到的明文,以防止
攻击者特意输入的一些混淆数据。
以上所述的具体实施方式
,对本发明的目的、技术方案和有益效果进行 了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式
而 已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做 的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种攻击检测方法,其特征在于该方法包括,接收一个明文,存储该明文的至少部分明文,判断所述被存储的至少部分明文与其它被存储的至少部分明文相似的个数是否大于或者等于第一门限值,如果大于或者等于则输出当前明文具有攻击模式的信号,否则输出正常信号;当下一个明文来到时重复上述步骤。
2. 根据权利要求1所述的一种攻击检测方法,其特征在于,所述明文包 括多位的字符串,所述相似包括,所述至少部分明文的多位相同。
3. 根据权利要求2所述的一种攻击检测方法,其特征在于,所述至少部 分明文的多位相同包括,所述被存储的至少部分明文中的至少两个只有一位 不同或者完全相同。
4. 根据权利要求1所述的一种攻击检测方法,其特征在于,随机生成一个随机数,当接收的明文个数超过所述随机数,则开始存储该明文的至少部 分明文。
5. 根据权利要求1或4所述的一种攻击检测方法,其特征在于,只存储预定个数的至少部分明文。
6. 根据权利要求5所述的一种攻击检测方法,其特征在于,所述预定个 数为50。
7. 根据权利要求1所述的一种攻击检测方法,其特征在于,所述存储至 少部分明文包括,存储该明文的前半部分或者后半部分。
8. 根据权利要求1所述的一种攻击检测方法,其特征在于,输出当前明 文具有攻击模式的信号后还包括,启动第二计数器记录具有攻击模式明文的 数量,如果所述第二计数器超过预设的第二门限值则丢弃所述接收到的明文, 否则输出正常信号。
9. 根据权利要求8所述的一种攻击检测方法,其特征在于,所述第二计 数器超过预设的第二门限值后还包括,随机生成一个随机数作为所述明文相对应的密文。
10. 根据权利要求1或8所述的一种攻击检测方法,其特征在于,输出 正常信号后还包括,利用密钥运算得出所述明文相应的密文。
11. 根据权利要求10所述的一种攻击检测方法,其特征在于,所述接收 的明文为鉴权中心发送的16字节的鉴权随机数,所述利用密钥运算包括利用 密钥进行Compl28-1算法得出密文。
12. 根据权利要求1所述的一种攻击检测方法,其特征在于,在接收一 个明文之后还包括,启动第一计数器记录接收所有明文的数量,如果超过了 预设的第三门限值则丢弃所述接收到的明文,否则存储该明文的至少部分明 文。
13. —种攻击检测装置,其特征在于该装置包括,接收单元,判断处理 单元,存储器;所述接收单元与所述判断处理单元相连接,所述判断处理单 元与所述存储器相连接;所述接收单元用于接收明文;所述存储器用于存储 所述明文的至少一部分及第一门限值;所述判断处理单元,用于判断所述被 存储的至少部分明文与其它被存储的至少部分明文相似的个数是否大于或者 等于第一门限值,如果大于或者等于则输出当前明文具有攻击模式的信号, 否则输出正常信号。
14. 根据权利要求13所述的一种攻击检测装置,其特征在于,所述明文 包括多位的字符串,所述判断处理单元判断所述被存储的至少部分明文的多 位是否相同,如果具有多位相同则判断为相似的明文。
15. 根据权利要求14所述的一种攻击检测装置,其特征在于,还包括随 机数单元和常规加密单元,所述随机数单元和常规加密单元分别与所述判断 处理单元相连接;所述随机数单元接收所述判断处理单元输出的当前明文具 有攻击模式的信号后,随机生成密文作为所述明文相对应的密文;所述常规 加密单元用于利用内部密钥和加密算法根据所述明文生成正确的密文。
16. 根据权利要求13所述的一种攻击检测装置,其特征在于,还包括第二计数器,与所述判断处理单元相连接,用于记录相似明文的数量,所述判 断处理单元判断所述第二计数器是否超过预设的第二门限值,如果超过所述 第二门限值则丢弃所述接收到的明文,否则输出正常信号。
17.根据权利要求13所述的一种攻击检测装置,其特征在于,还包括第 一计数器,与所述判断处理单元相连接,用于记录己经处理过的明文数量, 如果超过了预设的第三门限值则丢弃所述接收到的明文,否则存储该明文的 至少部分明文。
全文摘要
本发明提供一种攻击检测方法及装置。为了解决现有技术中对加密算法中密钥的选择明文攻击,提出的一种攻击检测方法接收一个明文,存储该明文的至少部分明文,判断所述被存储的至少部分明文与其它被存储的至少部分明文相似的个数是否大于或者等于第一门限值,如果大于或者等于则输出当前明文具有攻击模式的信号,否则输出正常信号;当下一个明文来到时重复上述步骤。本发明的有益效果在于,能够对明显的具有攻击模式的输入明文进行检测,避免对密钥的选择明文攻击。
文档编号H04W12/00GK101588578SQ20081010904
公开日2009年11月25日 申请日期2008年5月23日 优先权日2008年5月23日
发明者周源远, 军 李 申请人:捷德(中国)信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1