首页> 中国专利> 数据通信中的认证方法以及用于其实现的智能卡

数据通信中的认证方法以及用于其实现的智能卡

摘要

本发明提出了一种用于在包括网络中的第一实体和第二实体的系统中使用的认证方法,其中所述第一实体适于认证所述第二实体以及从其接收的数据,所述第一和第二实体二者存储相同的私密密钥。该方法在诸如USIM卡的智能卡中实现,该智能卡包括:存储认证算法和密钥的存储器;用于接收消息认证码和其它参数的装置;用于从所述其它参数和从所述私密密钥计算期望码的装置;用于比较所述已接收的消息认证码和所述期望码的装置;以及如果已接收的消息认证码和期望码不匹配就中止认证的装置。该智能卡还包括:失败计数器,适于存储中止发生的数目;以及用于每当所述比较装置指示所述消息认证码和所述期望代码不匹配时就更新所述失败计数器的装置。得益于内置的失败计数器以及从卡内控制这个计数器的更新的事实,该卡变为可以抗篡改以防止反复欺骗认证尝试。

著录项

  • 公开/公告号CN1864387A

    专利类型发明专利

  • 公开/公告日2006-11-15

    原文格式PDF

  • 申请/专利权人 雅斯拓股份有限公司;

    申请/专利号CN200480029136.X

  • 申请日2004-08-30

  • 分类号H04L29/06(20060101);

  • 代理机构11105 北京市柳沈律师事务所;

  • 代理人黄小临;王志森

  • 地址 法国蒙特鲁日

  • 入库时间 2023-12-17 17:55:29

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-09

    未缴年费专利权终止 IPC(主分类):H04L29/06 专利号:ZL200480029136X 申请日:20040830 授权公告日:20100818

    专利权的终止

  • 2012-10-03

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L29/06 变更前: 变更后: 申请日:20040830

    专利权人的姓名或者名称、地址的变更

  • 2010-08-18

    授权

    授权

  • 2007-01-10

    实质审查的生效

    实质审查的生效

  • 2006-11-15

    公开

    公开

说明书

技术领域

本发明涉及数据通信中的认证。本发明尤其涉及但不限于对彼此通过诸如因特网之类的网络进行通信的移动站和网络服务器的认证。

说明本发明的示例是包括移动通信网络和移动站的移动通信系统示例。在这个示例中,网络在移动站的认证之后向该移动站提供服务。移动站包括诸如USIM卡的便携式模块、并包括能够与网络进行通信并能够与便携式模块进行通信的移动设备(手持机)。

背景技术

当前的第三代(3G)标准(具体为TS 31.102和TS 33.102)定义了3G网络中在USIM卡和认证中心(AuC)之间的认证协议(被称为AKA协议,指的是认证密钥协定)。

在这个构架中,卡发送由几个数据字段构成的所谓的认证请求,这几个数据字段为:

-随机挑战(random challenge)(RAND);

-序列号(SQN)或者隐蔽的序列号(SQNAK)

-消息认证码(MAC),

AK是匿名密钥,符号是位“异或”,MAC是消息认证码,SQN是序列号,其可以根据其值指示正在进行的请求是否是重申的请求。

当接收到这些数据字段时,卡计算SQN(如果需要),检查MAC并从SQN检查还没有发送相同的请求。

为了计算SQN(如果需要),USIM:

-用函数f5(RAND,K)计算匿名密钥AK

-最后通过(SQNAK)AK=SQN来重新得到序列号SQN。

f5是用于计算AK的密钥生成函数。

K是卡和服务器之间共享的长期私密密钥。

然后,该卡还使用RAND、K、SQN、附加管理字段(AMF)以及认证函数f1来生成期望的消息认证码XMAC。

然后,该卡比较XMAC和包括在认证请求中的MAC。如果它们不同,该卡向手持机发送回去具有起因指示的用户认证拒绝消息,并且该卡放弃正在进行的认证过程。在这个情况中,AuC可以启动面向客户的新的识别和认证过程。

该卡还验证所接收的序列号SQN是否在正确的范围中。SQN不可能差别超过存储在该卡中的SQN的预定量。如果该卡认为序列码不在正确的范围中,则其向AuC发送回去同步失败消息,并放弃正在进行的过程。

这样的认证过程例如在EP-A-1 156 694中公开了。在上面引用的用于参考的标准中可以发现关于这些步骤的更多细节和说明。

从整个请求数据以及与请求实体相同的认证密钥中计算MAC代码(以及因此的XMAC)。其作用是确保该请求数据在传送期间没有被篡改,并且还向卡保证请求实体实际拥有与该卡相同的认证密钥。

当该卡检查从服务器接收的数据的完整性和真实性时,该卡用涉及要被检查的数据连同认证密钥K一起的机制来计算所述XMAC。然后,攻击者可以通过向该卡发送具有战略选择的数据的认证请求来强迫使用认证密钥。通过诸如侧信道(side-channel)和扰乱攻击之类的各种方法,揭露了信息,这导致了认证密钥的部分或全部公开。

为了可利用,大多数攻击者需要给定量的认证请求,其取决于用于计算XMAC的算法力量。对于这些测试中的每一个,攻击者必须提供哑MAC(因为它不知道密钥的实际值)。

在已知的系统中,诸如在上面引用的文献EP-A-1 156 694中公开的一个中,当涉嫌窜改检测时,即每当MAC和XMAC不匹配的时,都建议向请求实体发送回去要求重新传送所述消息的消息,然后再次检查重新接收的消息是否正确,并中断否定的过程。然而,在这个文献中公开的系统不提供用于保持跟踪这样的事件连续性的任何手段,因此没有什么可以防止攻击者在放弃了给定的认证过程之后,重申另一个相同的过程,或者一系列的其它相同过程,直到他可以欺骗该系统以存取被保护的数据为止。

发明内容

本发明的目的是限制连续攻击USIM卡的数目,特别是通过限制在其上执行的重申认证数目。

本发明提出了一种诸如在上面引用的EP-A-1 156 694中公开的方法,即用于在包括通过网络相互进行通信的第一实体和第二实体的系统中使用的认证方法,其中所述第一实体适于认证所述第二实体以及从所述第二实体接收的数据,并且其中第一和第二实体二者存储相同的私密密钥,所述方法包括以下步骤:

-通过所述第一实体接收消息认证码和其它参数,所述消息认证码是所述第二私密密钥和所述其它参数的函数;

-通过所述第一实体从已经被接收的所述其它参数和从存储在所述第一实体中的所述私密密钥中计算期望码;

-通过所述第一实体比较所述已接收的消息认证码和所述期望码;以及

-如果已接收的消息认证码和所述期望码不匹配,则放弃认证。

根据本发明,还提供了以下步骤:

-每当已接收的消息认证码和所述期望码在由所述第一实体进行的比较中是不匹配时,在所述第一实体中更新失败计数器。

换言之,本发明包括在USIM卡内提供取决于MAC和XMAC之间的比较结果而更新的失败计数器,以便将连续错误尝试的数目限制到最大量,在该最大量之上就认为密钥K不安全。

以这个方式,控制了恶意连续攻击的数目。

根据优选实施例,本发明的方法还可以包括以下步骤:

-在启动认证之前,通过所述第一实体预先检查失败计数器,

-通过所述第一实体从包括在所述其它参数中的序列号中确定所述消息认证码和其它参数是否已经被所述第一实体接收;并且如果所述序列号指示所述消息认证码和其它参数已经被所述第一实体接收,则放弃认证而不更新所述失败计数器,

-如果(i)所接收的消息认证码和所述期望码相匹配并且(ii)所述序列号指示所述消息认证码和其它参数还没有被所述第一实体所接收,则将所述失败计数器复位到初始值。

本发明还包含了一种适于认证远程实体以及从其接收的数据的智能卡,所述智能卡包括:

-存储器,其存储认证算法以及包括私密密钥的认证和加密密钥,其中的私密密钥与存储在所述远程实体中的对应密钥相同;

-用于从所述远程实体接收消息认证码和其它参数的装置;

-用于从所述其它参数和从所述私密密钥中计算期望码的装置;

-用于比较已接收的消息认证码和所述期望码的装置;以及

-如果已接收的消息认证码和所述期望码不匹配就放弃认证的装置。

根据本发明,所述智能卡还包括:

-失败计数器,适于存储中止发生的数目;以及

-用于每当所述比较装置指示所述消息认证码和所述期望码不匹配时就更新所述失败计数器的装置。

因此,得益于内置的失败计数器以及从卡内控制这个计数器的更新的事实,该卡成为可抗篡改、更安全的设备。

附图说明

本发明的上述和其它目的、方面以及优点将通过下面结合附图对本发明的优选实施例的详细描述而得到更好的理解。

图1说明了可将本发明应用于此的数据处理系统的示例;

图2是认证失败计数器管理算法的示例。

具体实施方式

图1说明了包括通过诸如因特网或者私有网络之类的网络NET与服务器SERV进行通信的用户设备的系统。

该用户设备包括两部分:移动设备ME和用户标识模块CARD。移动设备ME是用于用户设备和服务器SERV之间的无线电通信的无线电终端。在这个例子中,卡CARD是USIM智能卡,其持有用户标识、执行认证算法、并存储认证和加密密钥以及终端需要的用户信息。

服务器SERV适于在成功地认证移动站之后向该移动站提供服务。

根据本发明,卡中的计数器控制该卡中止的认证过程的数目。优选地,该计数器连续地对已中止的认证过程进行计数。

图2是说明本发明的认证算法,其包括几个步骤S1-S16。

在第一步骤(S1)中,卡接收认证请求。

在第二步骤(S2)中,在检查MAC之前,该卡检查失败计数器:

-如果计数器为零(S3、S12),其认为密钥不安全并不再继续。在这个情况中,该卡返回安全错误消息(步骤S14)。在步骤S14之后,终止认证过程(S15)。

-否则(S3、S4),其可以使用密钥并验证(S5)提供数据的MAC;

○如果卡期望的值与在请求中提供的值不匹配,则卡递减错误计数器(S13),并发送安全错误通知到ME。

○否则,它检查请求的SQN(S6),以确保它没有处理先前已经发送的请求:

■如果SQN看起来不是新的(S7、S10),则卡如AKA中定义的那样通过网络向回发送重新同步标记(S10)。在步骤S10之后,终止进程(S11);

■否则,如果SQN看起来为有效的(S7、S8),则在这个示例中,卡重置错误计数器到其最大值(S8)。此后,卡可以发送肯定认证结果(S9)。步骤S16是认证过程的结束。

一旦错误计数器达到零,则不能再使用所述认证密钥。这样,其仅仅允许小量的连续错误。上述的攻击者需要导致MAC验证错误的尝试。由于计数器限制了尝试的数目,所以可以阻遏所述攻击。

例如,让我们假设计数器的最大值是3,并假设计数器的初始值是1。这六个接下来的连续认证说明了几个可能的场景。

第一个认证:计数器>0,正确的MAC,有效的SQN

计数器的初始值:1

-接收认证请求(S1)

-由于计数器绝对为正(S3),所以执行MAC验证(S4)。

-由于MAC正确(S5),所以执行SQN验证(S6)

-由于SQN有效(S7),所以将计数器复位到其最大值,即3(S8)。

-返回认证结果(S9)

计数器的最后值:3

第二个认证:计数器>0,不正确的MAC

计数器的初始值:3

-接收认证请求(S1)

-由于计数器绝对为正(S3),所以执行MAC验证(S4)。

-由于MAC不正确(S5),所以递减计数器。计数器的新值是2(S13)

-返回安全错误(S14)

计数器的最后值:2

第三个认证:计数器>0,正确的MAC,无效的SQN

计数器的初始值:2

-接收认证请求(S1)

-由于计数器绝对为正(S3),所以执行MAC验证(S4)。

-由于MAC正确(S5),所以执行SQN验证(S6)

-由于SQN无效(S7),所以发送重新同步标记。没有改变计数器。其剩余值等于2。

计数器的最后值:2

第四个认证:计数器>0,不正确的MAC

计数器的初始值:2

-接收认证请求(S1)

-由于计数器绝对为正(S3),所以执行MAC验证(S4)。

-由于MAC不正确(S5),所以递减计数器。计数器的新值是1(S13)

-返回安全错误(S14)

计数器的最后值:1

第五个认证:计数器>0,不正确的MAC

计数器的初始值:1

-接收认证请求(S1)

-由于计数器绝对为正(S3),所以执行MAC验证(S4)。

-由于MAC不正确(S5),所以递减计数器。计数器的新值是0(S13)

-返回安全错误(S14)

计数器的最后值:0

第六个认证:计数器>0,不正确的MAC

计数器的初始值:0

-接收认证请求(S1)

-由于计数器等于0(S3),所以阻止了密钥(S12)。

-返回安全错误(S14)

计数器的最后值:0

本发明的主要优点是:

-将连续不正确MAC的存在数目限制为计数器的最大值(见上面的认证#2、4、5、6);

-由于可以将计数器重置为其最大值,所以没有限制认证的总数(见上面的认证#1);

-由于SQN不一定无效,所以正确认证请求的重申没有重置计数器,并且,计数器将保持不变(见上面的认证#3);

-由于没有递减所述计数器,所以与SQN检查相关联的问题没有锁定卡的风险。(见上面的认证#3)

可以构思的几个变更:

-给出计数器的值仅仅作为示例;

-计数器管理可以不同:计数器可以被递增而不是被递减,其可以通过递增任何值来改变,可以将其与不是0的任何值比较等;

-计数器可以对认证请求的总数进行计数;

-计数器可以对不正确MAC的数目进行计数而没有将其重置为其最大值的可能性;

-只要MAC正确,就可以重置计数器(即,没有任何诸如SQN有效性的进一步检查);

-即使MAC正确且SQN无效,也可以递减计数器。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号