在消息传输网内鉴别智能卡的方法

文档序号:6663677阅读:321来源:国知局
专利名称:在消息传输网内鉴别智能卡的方法
技术领域
本发明涉及在消息网内鉴别智能卡的方法,最适合根据权利要求1的前序部分的GSM网。
在GSM网络中,熟知的事实是为了使用智能卡(用户标识模块,SIM),用户通常必须首先依靠个人识别号(PIN)将自己确认为合法的用户。出于避免违章操作的目的,通常提供关于PIN输入的差错计数器,以防止在试错超过最大容许次数之后再次使用该卡。
一种更好的与系统有关的安全措施是通过与移动网作比较来鉴别该卡。不可从外面访问的密钥以及同样不能从外部访问的算法存储在该卡中。为了鉴别,由网络或网络部件产生一个随机数并传输到该卡。然后该卡根据该卡中现有的算法,从该随机数和密钥计算出一个要传输到该网络的响应。在该网络中分析该响应,并且当结果是肯定的时候,允许访问该网络。相应的程序在有关的GSM说明书中介绍。
如上所述地被保护的网络牵涉这样的危险针对用于鉴别的算法的攻击,容许该网络在一个计算机中,例如,通过诸如选择将要根据标准化协议传输到SIM中的“随机数”和据此确定该智能卡的密钥,在几次鉴别尝试之后进行仿真。如果该卡的算法是已知的,则该卡的基本功能部分能够在确定密钥之后被仿真或复制。
因此本发明的问题是陈述用于在消息系统中鉴别智能卡的可靠方法,其中没有任何关于预定的智能卡(subscribing smart card)的鉴别结果的确认,例如象在GSM中惯用的那样。
根据本发明,从权利要求1的前序部分出发,通过权利要求1的特征部分解决该问题。
本发明的优选实施例陈述在独立的权利要求中。
本发明准备通过从由网络传输的密钥和随机数构造至少两个部分来构造鉴别消息,被传输的随机数的各部分之一和该密钥的各部分之一或多个部分根据一或多步法,最好是对称算法进行加密。为了输出鉴别消息,将传输根据该鉴别算法运算的结果的可选部分到网络。
本发明的一个优选实施例是为了以同样的方式产生信道编码密钥而准备的。在那里也假设例如,如果密钥和随机数被分成两部分,则被传输的随机数的第一或第二部分与利用一或多步算法的密钥的第一和/或第二部分链接,以获得信道编码密钥。在每种情况下,最好使用为了构造鉴别消息和信道编码密钥而从网上获得的随机数的不同部分。
本发明的进一步优选的实施例假设密钥存储在该卡中,并且由该网络发送到该卡的随机数被分成等长度的两段。这允许在这两种情况下使用同一算法。该随机数或密钥能够通过直接“在中间”分开或通过建立叠加部分区域来拆分。还可以得到这样的拆分它的各部分总和小于该随机数或密钥的位长度。根据进一步的变换,该随机数或密钥的已知位数能根据预定的方案或伪随机地合并到一个密钥或随机数的部分中。
象本发明的进一步的优选实施例那样,可以使用DES算法作为鉴别和信道编码的算法。
本发明的例一个有利的变形是为最好使用用于计算鉴别参数和信道编码密钥的一步IDEA算法而准备的。
还可以使用压缩算法计算鉴别参数和信道编码密钥,这里的压缩算法最好是输出值的长度小于输入参数长度的加密压缩算法。
为了增强安全性,最好使用至少两步的算法,因此认为三步DES算法是特别安全的。用该算法首先用该密钥的第一部分以及该随机数的一部分加密,然后用该密钥的第二部分对该结果执行解密,最后再利用该密钥的第一部分进行进一步的计算。为了用该密钥的第一部分作最后加密,可以方便地使用一个新的第三密钥,特别在该密钥拆分成三个密钥部分时尤其如此。
本发明的进一步的优选实施例导致如果随机数的第一或第二部分的选择交替地对鉴别和信道编码的计算实行,则该交替随机地或伪随机地执行,而且该选择在该卡和该网络中以同样的方式实行。
以下将通过参考

图1-3更详细地描述本发明。
图1表示在GSM网的SIM的加密操作的次序。
图2表示三步DES加密的方框图。
图3表示密钥和随机数的拆分的例子。
图1所述的次序假定了PIN的验证的通常和前序处理已经完成。因此,卡SIM所在的移动单元发送给网络一条含有IMSI(国际移动用户标识)信息或TMSI(临时移动用户标识)信息的消息。密钥Ki根据已知的函数或一个表,从该网络中的IMSI或TMSI确定。同样的密要还存储在该智能卡SIM的一个不可访问的存储空间中。密钥是鉴别处理的后续验证所要求的。
该网络通过计算随机数RAND并且经由空气界面(air interface)将其传榆到智能卡SIM来初始化鉴别处理。
因此鉴别参数SRES按照鉴别算法,在该智能卡中根据密钥Ki和随机数RAND形成,所述参数经由空气界面依次传输到该网络。根据本发明,至少两个随机数RAND1和随机数RAND2是从随机数RAND导出。随机数RAND1和随机数RAND2可以通过从随机数RAND拆分或选择或者一种算法得到。
在根据图1的例子中,鉴别利用两步算法进行。如图1所示出的那样,首先该随机数的第一部分RAND1用已被拆分成两部分的密钥Ki的第一部分K1加密。然后所述的第一步的结果在第二步中用该密钥的第二部分K2加密。为了用鉴别算法计算,当然也可以首先使用该随机数的第二部分RAND2,并且改变使用第一和第二密钥部分K1和K2的次序。
同时网络中鉴别参数SRES′也以与在该卡中同样的方式,依据鉴别算法、随机数RAND(RAND1、RAND2)和密钥Ki(K1、K2)形成。然后在该网络中将参数SRES′与从该卡中得到的鉴别参数SRES比较。如果鉴别参数SRES′和SRES匹配,则鉴别处理顺利结束。如果鉴别参数不匹配,则认为该用户卡不合法。这里应该注意到还能够使用通过加密获得的结果的仅仅一部分SRES和SRES′形成。
以与产生鉴别参数一样的方式,在该卡和网络中产生适合于数据的信道编码和语音传输的密钥Kc。最好将随机数RAND未在鉴别中使用的那部分作为输入参数。
图2表示一个优选的例子,通过利用鉴别算法和/或信道编码的计算由三步DES算法执行。根据该算法,随机数RAND的部分RAND1或部分RAND2首先用第一密钥部分K1加密。在下一步中,用K2实施解密。然后其结果再用K1或当该随机数/密钥拆分成多个部分时,用该密钥的第三部分加密。信道编码以同样方式构造。在每种情况下,在该网络中使用相应的算法。
不失一般性,假定根据图1和2的描述的例子使用两或三步的对称加密算法。该由拆分随机数和密钥组成的发明构思当然也可以用其它普通加密或算法实行。举例来说,提及的算法不仅包括DES算法(A3;A8),还包括IDEA。被陈述的算法也可以在一步之中实现,因此该密钥和/或随机数的不同部分最好为信道编码密钥Kc的鉴别和生成而产生。
图3a到3e拆分密钥Ki或随机数RAND的各种方式的例子。
图3a表示含有128位的密钥Ki或随机数RAND。
图3b表示分成相等的两部分K1和K2(RAND1、RAND2)的拆分,该拆分从中间分开而产生。部分1包含第1位至第64位,部分2包含第65位至第128位。图3c表是一个重叠拆分,图3d表是一个奇数位放到部分1而偶数位放到部分2的拆分。最后,图3e表示部分1和2的位位置的总和小于原始密钥或随机数的位位置的拆分。
权利要求
1.用于在消息网络、特别是GSM网中鉴别智能卡(SIM)的方法,其中算法和密钥存储在智能卡(SIM)中,由此,为了鉴别-该网络或网络部件首先传输随机数(RAND)到该智能卡,-依靠该算法和密钥(Ki),在该智能卡中产生响应信号(SRES)并传输到该网络或网络部件,特征在于-为了构造响应参数,该密钥(Ki)和该随机数(RAND)都拆分成至少两部分(K1、K2;RAND1、RAND2),-借助于该密钥(Ki)的一个或多个部分(K1、K2),根据一或多步法、特别是对称算法加密被传输的随机数(RAND)的部分(RAND1、RAND2)之一,以及-从加密结果选择一个已知的位数,并作为信号响应(SRES)传输到该网络。
2.根据权利要求1的方法,特征在于该密钥(Ki)和/或随机数(RAND)被拆分成两部分。
3.根据权利要求1或2的方法,特征在于被传输的随机数(RAND)的一部分和该密钥(Ki)的一和/或多部分用于依靠一或多步算法计算信道编码密钥(Kc),至少该计算结果的一部分被作为该信道编码密钥使用。
4.根据权利要求1至3之一的方法,特征在于该密钥(Ki)和随机数(RAND)被拆分成等长度的两部分(K1、K2/RAND1、RAND2)。
5.根据权利要求1至4之一的方法,特征在于使用DES算法计算鉴别参数(SRES、SRES′)和/或该信道编码密钥(Kc)。
6.根据权利要求1至4之一的方法,特征在于特别适合利用一步IDEA算法计算鉴别参数(SRES、SRES′)和/或该信道编码密钥(Kc)。
7.根据权利要求1至4之一的方法,特征在于利用其输出值具有小于输入参数长度的压缩算法,计算鉴别参数(SRES、SRES′)和/或该信道编码密钥(Kc)。
8.根据权利要求1至7之一的方法,特征在于该计算在一个至少有两步的算法中实现。
9.根据权利要求1至8之一的方法,特征在于使用三步DES算法作为加密算法,因而首先用该密钥(Ki)的第一部分(K1)加密,然后用该密钥(Ki)的第二部分(K2)加密,最后再用第一部分(K1)或该密钥(Ki)的第三部分加密。
10.根据权利要求1至9之一的方法,特征在于在该卡和该网络中,随机数(RAND)的第一或第二部分的选择以同样的方式,按照随机或伪随机交替实施。
全文摘要
本发明涉及用于在用来传输消息网络、特别是GSM网中鉴别芯片卡(SIM)的方法。根据所述方法,任选的加密算法和密钥存储在芯片卡(SIM)中。为了鉴别该卡,该网络或网络部件首先传输随机数到该智能卡。然后使用该算法、随机数和密钥,在所述芯片卡中产生响应信号,并传输到核对智能卡的真实性的网络或网络部件。鉴别消息通过将由该网络传输的密钥和该随机数拆分成至少两部分来构造。被传输的随机数的一部分和该密钥的一个或多个部分利用单步或多步法、最好是对称算法编码。为了发出鉴别响应,将该编码程序的结果的可选择的部分传输到该网络。
文档编号G07F7/10GK1299497SQ99805905
公开日2001年6月13日 申请日期1999年4月27日 优先权日1998年5月7日
发明者克劳斯·维德 申请人:德国捷德有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1