一种公话卡及其与移动终端互锁的方法

文档序号:7748215阅读:199来源:国知局

专利名称::一种公话卡及其与移动终端互锁的方法
技术领域
:本发明涉及移动终端领域,尤其涉及一种公话卡及其与移动终端互锁的方法。
背景技术
:在某些特定的公共场所,例如办公室、酒店,需要安装有线电话(又称桌面机或固定电话)供用户使用,但是安装有线电话不仅需要布置冗长的电话线,还需要花费一定的安装成本,并且安装后无法随意变更位置。此外,在不宜布置电话线的地方,例如偏远的山区、海岛等地区,安装有线电话十分困难,这些因素给用户造成极大不便。因此,如果能将有线电话变为无线电话,就可以很好的解决这些困难。目前随着移动通讯技术的不断成熟与发展,移动终端越来越普及,给人们的生活带来很大的便利,而且满足快节奏、高效率的社会需求,从而深受用户欢迎。因此,移动运营商推出了一种叫做“移动公话机”的移动终端,其外形和功能都类似于有线电话,因此在众多场所得到应用。但是移动运营商要求,这种移动公话机无法使用其他用户识别模块(SIM,SubscriberIdentityModule)卡,必须使用专用的公话卡,这种公话卡又称异形卡,SIM卡简称用户识别卡;此外,这种专用的公话卡也只能在这种移动公话机上使用,无法在其它移动终端上使用,即移动公话机与公话卡必须互锁。公话卡,是一种专用的SIM卡,其特点如下(1)公话卡的硬件特性、电气特性、夕卜型特性与普通的SIM卡完全相同;(2)公话卡采用3DES对称加密认证技术对移动公话机进行认证;(3)公话卡和移动公话机预先设置密钥,双方共享一组16字节长度的主密钥。为了实现移动公话机与公话卡的互锁,现有技术中有一种移动公话机与公话卡互锁的方法。公话卡通过GetInput指令向移动公话机传送一个20字节的随机数(RND,Randomdata),GetInput指令是GSM11.14标准指令,移动公话机利用随机数的前4个字节(称为RND1),从存储的主密钥中选定一支用于认证的主密钥,公话卡利用主密钥将公话卡的卡片序列号和RNDl作为分散因子进行两级分散得到会话密钥(16字节),所述卡片序列号是运营商在生产公话卡时分配给公话卡的,移动公话机用会话密钥对RND的后16字节(称为RND2)进行3DES加密,得到密文数据(16字节),所述3DES是数据加密算法(DES,DataEncryptionStandard)中的一种加密模式,它使用3条56位的密钥对数据进行三次加密。移动公话机通过TerminalResponse指令将话机厂商代码(1字节)、密钥版本号(1字节)以及密文数据(16字节)返回给公话卡,公话卡通过RNDl及返回的话机厂商代码、密钥版本号,选定预存在公话卡中的与该话机厂商代码、密钥版本号对应的一支主密钥,TerminalResponse指令是GSMl1.14标准指令。公话卡利用主密钥将公话卡的卡片序列号和RNDl作为分散因子进行两级分散得到会话密钥(16字节)。公话卡用会话密钥对RND2进行3DES加密,得到密文数据(16字节)。公话卡将运算得到的密文数据与移动公话机返回的密文数据进行比较。如果一样,则认证通过,“允许网络鉴权”状态置为TRUE;如果不一样,则不能通过认证,“允许网络鉴权”状态仍然是FALSE。如果认证通过,公话卡向移动公话机发送Refresh指令,该指令是GSMl1.14标准指令,驱动移动公话机进行热启动(WarmReset),实现移动公话机的正常登网使用。但是这种方法有个缺点,那就是移动公话机需要拥有主密钥,才能对RND的后16字节(称为RND2)进行3DES加密,而3DES加密算法是对称加密算法,即加密、解密都是用同一个密钥,这就意味着话机厂商也拥有公话卡中的主密钥,带来了非法仿制或破解公话卡的可能;而且生产移动公话机的厂商众多,厂商彼此都拥有相同的密钥,就会存在某个厂商利用密钥,非法破解其他话机厂商的移动公话机的可能性。
发明内容有鉴于此,本发明的主要目的在于提供一种公话卡及其与移动终端互锁的方法,利用非对称加密算法,实现公话卡和移动公话机的互锁。为达到上述目的,本发明的技术方案是这样实现的本发明提供一种公话卡与移动终端互锁的方法,包括接收密钥中的运营商公钥,建立所述密钥中的运营商私钥与厂商代码的一一对应关系,并将所述密钥中的运营商私钥与厂商代码存储在所述公话卡;移动公话机利用非对称加密算法对公话卡发送的随机数进行加密变换得到随机数密文,将所述随机数密文和厂商代码发送给所述公话卡;所述公话卡根据所述厂商代码选择解密私钥,并根据所述解密私钥对所述随机数密文进行解密变换,得到随机数明文;当所述公话卡确定所述随机数明文与所述随机数相同时,进行网络鉴权。上述方法中,所述厂商代码是移动公话机厂商代码,是在接收所述运营商公钥之前,分配给移动公话机厂商的。上述方法中,所述接收密钥中的运营商公钥之前还包括根据非对称加密算法利用加密算法软件生成密钥,所述密钥包括一个运营商公钥和一个运营商私钥。上述方法中,还包括当所述公话卡确定所述随机数明文与所述随机数不相同时,不进行网络鉴权。上述方法中,所述公话卡根据所述厂商代码选择解密私钥,并根据所述解密私钥对所述随机数密文进行解密变换,得到随机数明文具体为所述公话卡收到移动公话机发送的随机数密文和厂商代码后,根据移动公话机发送的厂商代码从多个运营商私钥中选择与所述厂商代码对应的运营商私钥作为解密私钥,并根据解密私钥利用非对称加密算法中的解密变换公式对随机数密文进行解密变换,得到随机数明文。本发明还提供一种公话卡装置,该装置包括生成模块、接收模块、选择模块、解密变换模块、判断模块、存储模块;其中,生成模块,用于生成随机数,并将生成的随机数发送给移动公话机和判断模块;接收模块,用于接收移动公话机发送的随机数密文和厂商代码,并将厂商代码发送给选择模块,将随机数密文发送给解密变换模块;选择模块,用于根据接收模块发送的厂商代码从存储模块中选择所述厂商代码对应的运营商私钥作为解密私钥,并将所述解密私钥发送给解密变换模块;解密变换模块,用于接收选择模块发送的解密私钥和接收模块发送的随机数密文,并根据所述解密私钥对所述随机数密文进行解密变换,得到随机数明文,并将所述随机数明文发送给判断模块;判断模块,用于接收生成模块发送的随机数和判断模块发送的随机数明文,判断随机数明文与随机数是否相同;当确定随机数明文与随机数相同时,进行网络鉴权,当确定随机数明文与随机数不相同时,不进行网络鉴权;存储模块,用于存储所述运营商私钥和厂商代码。上述装置中,所述厂商代码是移动公话机厂商代码,是在运营商发布密钥中的运营商公钥给移动公话机厂商之前,分配给移动公话机厂商的。上述装置中,所述密钥是根据非对称加密算法利用加密算法软件生成的,所述密钥包括一个运营商公钥和一个运营商私钥。上述装置中,所述选择模块根据接收模块发送的厂商代码从存储模块中选择所述厂商代码对应的运营商私钥作为解密私钥具体为所述选择模块收到接收模块发送的厂商代码后,根据所述厂商代码,从存储模块中存储的多个运营商私钥中的选择与所述厂商代码对应的运营商私钥作为解密私钥;所述解密变换模块根据所述解密私钥对所述随机数密文进行解密变换具体为解密变换模块根据所述解密私钥利用非对称加密算法中的解密变换公式对随机数密文进行解密变换。上述装置中,所述随机数密文是移动公话机利用非对称加密算法对公话卡中生成模块生成并发送的随机数进行加密变换得到的。本发明提供的公话卡及其与移动终端互锁的方法,在移动公话机和公话卡互锁的机制中,使用非对称加密算法,较好的解决了对称加密算法给公话机和公话卡带来的安全隐患;防止非法组织或个人,以较低的价格获得移动公话机与公话卡后,非法破解公话卡或移动公话机,使移动运营商蒙受损失。图1为本发明实现公话卡与移动终端互锁的方法的流程示意图;图2为本发明实现公话卡与移动终端互锁的系统的结构示意图;图3为本发明实现与移动终端互锁的公话卡的结构示意图。具体实施例方式目前,对数据进行加密与解密的算法除了对称加密算法,还包括非对称加密算法,例如RSA非对称加密算法。RSA非对称加密算法是第一个能同时用于加密和数字签名的算法,在公钥加密标准和电子商业中被广泛使用,该算法是在1977年由罗那德·里斯维特(RonRivest)、阿迪萨莫尔(AdiShamir)和伦纳德阿德曼(LeonardAdleman)一起提出的,RSA是他们三人姓氏开头字母拼在一起组成的。RSA非对称加密算法是根据寻求两大素数很容易但是将它们的乘积分解开极其困难这个原理来设计的,其安全性依赖于大数的因子分解,假如有人找到一种很快的分解因子的算法的话,那么用RSA非对称加密算法加密的信息的可靠性就肯定会下降,但是找到这样的算法的可能性是非常小的,只要其密钥的长度足够长,用RSA非对称加密算法加密的信息实际上就是不能被破解的,因为现在没有数学理论可以对很大的数字(例如1024位的数字)进行分解,因此必须依赖多次尝试,按照目前家用电脑的计算速度,分解一个1024位的数字,大约需要50万年的时间,因此,大数分解所花费的代价是巨大的。RSA非对称加密算法从提出到现在的20多年间,经历了各种攻击的考验,普遍认为是目前最优秀的公钥、私钥方案之一。本发明提供一种移动终端与用户识别卡互锁的方法,其基本思想是接收密钥中的运营商公钥,建立所述密钥中的运营商私钥与厂商代码的一一对应关系,并将所述密钥中的运营商私钥与厂商代码存储在所述公话卡;移动公话机利用非对称加密算法对公话卡发送的随机数进行加密变换得到随机数密文,将所述随机数密文和厂商代码发送给所述公话卡;所述公话卡根据所述厂商代码选择解密私钥,并根据所述解密私钥对所述随机数密文进行解密变换,得到随机数明文;当所述公话卡确定所述随机数明文与所述随机数相同时,进行网络鉴权。下面通过附图及具体实施例对本发明再做进一步的详细说明。本发明提供一种公话卡与移动终端互锁的方法,图1是本发明实现公话卡与移动终端互锁的方法的流程示意图,如图1所示,该方法包括以下步骤步骤101,根据非对称加密算法利用加密算法软件生成密钥;具体的,根据非对称加密算法利用加密算法软件生成密钥,每对密钥包括一个运营商公钥和一个运营商私钥;例如可以根据非对称加密算法中的RSA加密算法利用RSA加密算法软件生成3对密钥,如表1所示<table>tableseeoriginaldocumentpage7</column></row><table>表1步骤102,接收密钥中的运营商公钥,建立密钥中的运营商私钥与厂商代码的一一对应关系,并将密钥中的运营商私钥和厂商代码存储在公话卡;具体的,移动公话机厂商接收密钥中的运营商公钥,运营商建立密钥中的运营商私钥与厂商代码的一一对应关系,并将密钥中的运营商私钥与厂商代码存储在公话卡;该厂商代码是移动公话机厂商代码,该厂商代码是在运营商发布运营商公钥给移动公话机厂商之前,分配给移动公话机厂商的,分配的方式可以随机分配,也可以指定第一个移动公话机厂商代码为01,第二个移动公话机厂商代码为02,例如表2所示<table>tableseeoriginaldocumentpage8</column></row><table>表2公话卡存储厂商代码和与其对应的运营商私钥,例如表3所示<table>tableseeoriginaldocumentpage8</column></row><table>表3步骤103,公话卡发送随机数给移动公话机;具体的,在打开移动公话机后,初始化公话卡,即配置公话卡工作电压等,公话卡利用GSM11.14标准的GetInput指令发送随机数给移动公话机,所述随机数是在初始化公话卡之后,公话卡随机生成的;步骤104,移动公话机利用非对称加密算法对随机数进行加密变换得到随机数密文,将随机数密文和厂商代码发送给公话卡;具体的,移动公话机根据运营商公钥利用非对称加密算法,对收到的随机数进行加密变换得到随机数密文,并将随机数密文与厂商代码发送给公话卡;例如,移动公话机是移动公话机厂商M2生产的,移动公话机根据运营商公钥(d2,n2)利用RSA非对称加密算法对收到的随机数进行加密变换,得到随机数密文s,移动公话机将随机数密文s和厂商代码02发送给公话卡;如果移动公话机厂商接收的密钥中的运营商公钥是被篡改过的伪公钥(d-fake,n-fake),那么移动公话机根据运营商伪公钥(d-fake,n-fake)对收到的随机数进行加密变换,得到伪随机数密文s-fake,移动公话机将伪随机数密文s-fake和厂商代码02发送给公话卡;其中,加密变换是利用RSA非对称加密算法中的加密变换公式S=memodn,其中,s为随机数密文,m为随机数,(e,η)表示运营商私钥;步骤105,公话卡根据厂商代码选择解密私钥,并根据解密私钥对随机数密文进行解密变换,得到随机数明文;具体的,公话卡收到移动公话机发送的随机数密文和厂商代码后,因为公话卡已经存储了厂商代码和与其对应的运营商私钥,所以根据移动公话机发送的厂商代码从多个运营商私钥中选择与该厂商代码对应的运营商私钥作为解密私钥;公话卡根据解密私钥对随机数密文进行解密变换,得到随机数明文;例如,公话卡收到移动公话机发送的随机数密文s与代厂商码02后,根据厂商代码02从多个运营商私钥中选择与该厂商代码对应的运营商私钥(e2,n2)作为解密私钥,根据解密私钥(e2,n2),对随机数密文s进行解密变换,得到随机数明文m;如果公话卡收到移动公话机发送的伪随机数密文s-fake与厂商代码02,根据厂商代码02从多个运营商私钥中选择与该厂商代码对应的运营商私钥(e2,n2)作为解密私钥,根据解密私钥(e2,n2),对伪随机数密文s-fake进行解密变换,得到伪随机数明文m-fake;其中,解密变换是利用RSA非对称加密算法中的解密变换公式m=sdmodn,其中,m为随机数,s为随机数密文,(d,η)为运营商公钥;步骤106,判断随机数明文与随机数是否相同,如果相同,就执行步骤107,如果不相同,就执行步骤108;具体的,公话卡根据解密变换得到的随机数明文和公话卡发送给移动公话机的随机数,判断随机数明文和随机数是否相同,如果相同就执行步骤107,如果不相同就执行步骤108;例如,对随机数密文s进行解密变换得到的随机数明文m与随机数是相同的,对伪随机数密文s-fake进行解密变换得到的伪随机数明文m-fake与随机数是不相同的;步骤107,进行网络鉴权,可以使用移动公话机;具体的,公话卡判断随机数明文和随机数相同,那么认证通过,公话卡允许网络鉴权,即基站允许移动公话机注册到无线网络,移动公话机就可以使用,即移动公话机就可以实现通话、收发短消息的功能;步骤108,不能进行网络鉴权,不可以使用移动公话机;具体的,公话卡判断随机数明文和随机数不相同,那么不能通过认证,公话卡不能进行网络鉴权,即基站不允许移动公话机注册到无线网络,移动公话机就不能使用,即移动公话机就不能实现通话、收发短消息的功能。为实现上述方法,本发明还提供了一种公话卡与移动终端互锁的系统,如图2所示,该系统包括公话卡21、移动公话机22;其中,公话卡21,用于发送随机数给移动公话机22;接收所述移动公话机22发送的随机数密文和厂商代码,根据所述厂商代码选择解密私钥,并根据所述解密私钥对所述随机数密文进行解密变换,得到随机数明文;当确定所述随机数明文与所述随机数相同时,进行网络鉴权;移动公话机22,用于利用非对称加密算法对所述公话卡21发送的随机数进行加密变换得到随机数密文,将所述随机数密文和厂商代码发送给所述公话卡21;所述公话卡21还用于存储密钥中的运营商私钥和厂商代码;和/或,确定当随机数明文与所述随机数不相同时,不进行网络鉴权。为实现上述方法,本发明还提供了一种公话卡,如图3所示,该装置包括生成模块31、接收模块32、选择模块33、解密变换模块34、判断模块35、存储模块36;其中,生成模块31,用于生成随机数,并将生成的随机数发送给移动公话机和判断模块35;接收模块32,用于接收移动公话机发送的随机数密文和厂商代码,并将厂商代码发送给选择模块33,将随机数密文发送给解密变换模块34;所述随机数密文是移动公话机利用非对称加密算法对公话卡中生成模块31生成并发送的随机数进行加密变换得到的;其中,厂商代码是移动公话机厂商代码,是在运营商发布密钥中的运营商公钥给移动公话机厂商之前,分配给移动公话机厂商的;所述密钥是根据非对称加密算法利用加密算法软件生成的,密钥包括一个运营商公钥和一个运营商私钥;选择模块33,用于根据接收模块32发送的厂商代码从存储模块36中选择该厂商代码对应的运营商私钥作为解密私钥,并将该解密私钥发送给解密变换模块34;选择模块33根据接收模块发送的厂商代码从存储模块36中选择所述厂商代码对应的运营商私钥作为解密私钥具体为所述选择模块33收到接收模块32发送的厂商代码后,根据所述厂商代码,从存储模块36中存储的多个运营商私钥中的选择与所述厂商代码对应的运营商私钥作为解密私钥;解密变换模块34,用于接收选择模块33发送的解密私钥和接收模块32发送的随机数密文,并根据该解密私钥对该随机数密文进行解密变换,得到随机数明文,并将随机数明文发送给判断模块35;解密变换模块34根据所述解密私钥对所述随机数密文进行解密变换具体为解密变换模块34根据所述解密私钥利用非对称加密算法中的解密变换公式对随机数密文进行解密变换;判断模块35,用于接收生成模块31发送的随机数和判断模块35发送的随机数明文,判断随机数明文与随机数是否相同;当确定随机数明文与随机数相同时,进行网络鉴权,当确定随机数明文与随机数不相同时,不进行网络鉴权;存储模块36,用于存储密钥中的运营商私钥和厂商代码。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。权利要求一种公话卡与移动终端互锁的方法,其特征在于,该方法包括接收密钥中的运营商公钥,建立所述密钥中的运营商私钥与厂商代码的一一对应关系,并将所述密钥中的运营商私钥与厂商代码存储在所述公话卡;移动公话机利用非对称加密算法对公话卡发送的随机数进行加密变换得到随机数密文,将所述随机数密文和厂商代码发送给所述公话卡;所述公话卡根据所述厂商代码选择解密私钥,并根据所述解密私钥对所述随机数密文进行解密变换,得到随机数明文;当所述公话卡确定所述随机数明文与所述随机数相同时,进行网络鉴权。2.根据权利要求1所述的方法,其特征在于,所述厂商代码是移动公话机厂商代码,是在接收所述运营商公钥之前,分配给移动公话机厂商的。3.根据权利要求1所述的方法,其特征在于,所述接收密钥中的运营商公钥之前还包括根据非对称加密算法利用加密算法软件生成密钥,所述密钥包括一个运营商公钥和一个运营商私钥。4.根据权利要求1所述的方法,其特征在于,该方法还包括当所述公话卡确定所述随机数明文与所述随机数不相同时,不进行网络鉴权。5.根据权利要求1所述的方法,其特征在于,所述公话卡根据所述厂商代码选择解密私钥,并根据所述解密私钥对所述随机数密文进行解密变换,得到随机数明文具体为所述公话卡收到移动公话机发送的随机数密文和厂商代码后,根据移动公话机发送的厂商代码从多个运营商私钥中选择与所述厂商代码对应的运营商私钥作为解密私钥,并根据解密私钥利用非对称加密算法中的解密变换公式对随机数密文进行解密变换,得到随机数明文。6.一种公话卡装置,其特征在于,该装置包括生成模块、接收模块、选择模块、解密变换模块、判断模块、存储模块;其中,生成模块,用于生成随机数,并将生成的随机数发送给移动公话机和判断模块;接收模块,用于接收移动公话机发送的随机数密文和厂商代码,并将厂商代码发送给选择模块,将随机数密文发送给解密变换模块;选择模块,用于根据接收模块发送的厂商代码从存储模块中选择所述厂商代码对应的运营商私钥作为解密私钥,并将所述解密私钥发送给解密变换模块;解密变换模块,用于接收选择模块发送的解密私钥和接收模块发送的随机数密文,并根据所述解密私钥对所述随机数密文进行解密变换,得到随机数明文,并将所述随机数明文发送给判断模块;判断模块,用于接收生成模块发送的随机数和判断模块发送的随机数明文,判断随机数明文与随机数是否相同;当确定随机数明文与随机数相同时,进行网络鉴权,当确定随机数明文与随机数不相同时,不进行网络鉴权;存储模块,用于存储所述运营商私钥和厂商代码。7.根据权利要求6所述的装置,其特征在于,所述厂商代码是移动公话机厂商代码,是在运营商发布密钥中的运营商公钥给移动公话机厂商之前,分配给移动公话机厂商的。8.根据权利要求7所述的装置,其特征在于,所述密钥是根据非对称加密算法利用加密算法软件生成的,所述密钥包括一个运营商公钥和一个运营商私钥。9.根据权利要求6至8中任一所述的装置,其特征在于,所述选择模块根据接收模块发送的厂商代码从存储模块中选择所述厂商代码对应的运营商私钥作为解密私钥具体为所述选择模块收到接收模块发送的厂商代码后,根据所述厂商代码,从存储模块中存储的多个运营商私钥中的选择与所述厂商代码对应的运营商私钥作为解密私钥;所述解密变换模块根据所述解密私钥对所述随机数密文进行解密变换具体为解密变换模块根据所述解密私钥利用非对称加密算法中的解密变换公式对随机数密文进行解密变换。10.根据权利要求6至8中任一所述的装置,其特征在于,所述随机数密文是移动公话机利用非对称加密算法对公话卡中生成模块生成并发送的随机数进行加密变换得到的。全文摘要本发明公开一种公话卡与移动终端互锁的方法,该方法包括接收密钥中的运营商公钥,建立所述密钥中的运营商私钥与厂商代码的一一对应关系,并将所述密钥中的运营商私钥与厂商代码存储在所述公话卡;移动公话机利用非对称加密算法对公话卡发送的随机数进行加密变换得到随机数密文,将所述随机数密文和厂商代码发送给所述公话卡;所述公话卡根据所述厂商代码选择解密私钥,并根据所述解密私钥对所述随机数密文进行解密变换,得到随机数明文;当所述公话卡确定所述随机数明文与所述随机数相同时,进行网络鉴权;本发明还公开了一种与移动终端互锁的公话卡。根据本发明的技术方案,利用非对称加密算法实现公话卡和移动公话机的互锁。文档编号H04W12/04GK101835153SQ20101016665公开日2010年9月15日申请日期2010年4月27日优先权日2010年4月27日发明者李春雨申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1