一种移动终端SIM卡的解锁方法和装置与流程

文档序号:14994107发布日期:2018-07-24 04:11阅读:278来源:国知局

本发明涉及移动通信技术领域,尤其涉及一种移动终端SIM卡的解锁方法和装置。



背景技术:

随着移动通信技术的发展,越来越多的终端运营商对终端产品进行定制,同时进行一定的补贴后将终端产品低价卖给用户,这种运营商定制的终端具备SIM卡功能就特别重要。终端的SIM卡功能可以确保终端只支持特定运营商提供的(Subscriber Identification Module,客户识别模块)SIM卡,并在运营商指定的特定网络下运行。SIM卡功能可避免用户使用其他运营商提供的SIM卡和网络服务,最大程度的保护该运营商的利益。

现有的SIM卡解锁方法为,OEM(Original Equipment Manufacturer,原始设备制造商)在生产线产生解锁码,将解锁码进行异或后写入终端设备;并将解锁码明文存入OEM数据库。解锁时,从数据库中将解锁码取出并将解锁码送入终端设备;终端设备将解锁码进行异或操作,然后与本身存储的解锁码进行比较,如果两者相同,则解锁成功,否则解锁失败。但是,随着网络技术的发展,黑客攻击手段越来越丰富,现有的对终端SIM卡解锁方法进行了简单的异或处理,安全性不够,且解锁流程比较简单,很容易被黑客破解。越来越多的终端设备上市后不久就有网站提供SIM卡解锁服务,这极大的损害了网络运营商的利益。



技术实现要素:

本发明的主要目的是提供一种移动终端SIM卡的解锁方法和装置,旨在克服现有技术的缺点,解决了现有技术中移动终端SIM卡解锁流程简单、安全性不强的问题,能够有效的降低移动终端SIM卡被破解的概率,为运营商提供更好的利益保证。

为实现上述目的,本发明提出一种移动终端SIM卡的解锁方法,包括:

接收N个解锁码,其中,所述N个解锁码用于对客户识别模块SIM卡进行解锁,N大于或等于2;

根据不同的参数分别计算所述N个解锁码对应的N个加密解锁码;

将所述N个加密解锁码分别与预先保存在不同的安全存储区域的加密解锁码进行对比;

在对比一致的情况下,对所述SIM卡解锁成功。

进一步的,接收所述N个解锁码之前,还包括:

获取由设备制造商OEM、运营商和多个第三方生成的N个加密解锁码和所述N个加密解锁码对应的加密算法的参数,并分别保存在不同的安全存储区域,其中所述OEM、所述运营商和所述第三方各自生成一个加密解锁码。

进一步的,根据不同的参数分别计算所述N个解锁码对应的N个加密解锁码包括:

获取保存在不同的安全存储区域的所述加密算法的参数;

根据所述加密算法的参数分别计算所述N个解锁码对应的N个加密解锁码。

进一步的,在N为3时,将所述N个加密解锁码分别与预先保存在不同的安全存储区域的加密解锁码进行对比包括:

将用于解锁所述SIM卡的第一重锁卡的第一加密解锁码与预先保存在第一安全存储区域的加密解锁码进行对比,其中,第一加密解锁码是所述N个加密解锁码中的一个,预先保存在所述第一安全存储区域的加密解锁码由所述OEM生成;

在对比一致的情况下,对所述第一重锁卡解锁成功,将用于解锁所述SIM卡的第二重锁卡的第二加密解锁码与预先保存在第二安全存储区域的加密解锁码进行对比,其中,第二加密解锁码是N个加密解锁码中的一个,预先保存在第二安全存储区域的加密解锁码由运营商生产;

在对比一致的情况下,对所述第二重锁卡解锁成功,将用于解锁所述SIM卡的第三重锁卡的第三加密解锁码与预先保存在第三安全存储区域的加密解锁码进行对比,其中,所述第三加密解锁码是N个加密解锁码中的一个,预先保存在所述第三安全存储区域的加密解锁码由第三方生成。

进一步的,所述加密算法包括PBKDF2加密算法。

进一步的,所述加密算法的参数包括:盐值salt、迭代次数iteration。

进一步的,在对SIM卡解锁失败次数累计达到M的情况下,自动进行重启,其中,M大于或等于5。SIM卡SIM卡本发明还公开了一种移动终端SIM卡的解锁装置,该装置包括:

接收模块,用于接收N个解锁码,其中,所述N个解锁码用于对SIM卡进行解锁,N大于或等于2;

计算模块,用于根据不同的参数分别计算所述N个解锁码对应的N个加密解锁码;

对比模块,用于将所述N个加密解锁码分别与预先保存在不同的安全存储区域的加密解锁码进行对比;

解锁模块,用于在对比一致的情况下,对所述SIM卡解锁成功。

进一步的,所述装置还包括:获取模块,用于获取由设备制造商OEM、运营商和多个第三方生成的N个加密解锁码和所述N个加密解锁码对应的加密算法的参数,并分别保存在不同的安全存储区域,其中所述OEM、所述运营商和所述第三方各自生成一个加密解锁码。

进一步的,所述计算模块包括:

获取单元,用于获取保存在所述不同的安全存储区域的所述加密算法的参数;

计算单元,用于根据所述加密算法的参数分别计算所述N个解锁码对应的N个加密解锁码。

进一步的,在N为3时,所述对比模块包括:

第一对比单元,用于将用于解锁所述SIM卡的第一重锁卡的第一加密解锁码与预先保存在第一安全存储区域的加密解锁码进行对比,其中,所述第一加密解锁码是所述N个加密解锁码中的一个,预先保存在所述第一安全存储区域的加密解锁码由所述OEM生产;

第二对比单元,用于在对所述第一重锁卡解锁成功的情况下,将第二加密解锁码与预先保存在第二安全存储区域的加密解锁码进行对比,其中,所述第二加密解锁码是所述N个加密解锁码中的一个,预先保存在所述第二安全存储区域的加密解锁码由所述运营商生产;

第三对比单元,用于在对所述第二重锁卡解锁成功的情况下,将第三加密解锁码与预先保存在第三安全存储区域的加密解锁码进行对比,其中,所述第三加密解锁码是所述N个加密解锁码中的一个,预先保存在所述第三安全存储区域的加密解锁码由所述第三方生成。

本发明公开了一种移动终端SIM卡的解锁方法和装置,该方法包括:接收N个解锁码,其中,所述N个解锁码用于对客户识别模块SIM卡进行解锁,N大于或等于2;根据不同的参数分别计算所述N个解锁码对应的N个加密解锁码;将所述N个加密解锁码分别与预先保存在不同的安全存储区域的加密解锁码进行对比;在对比一致的情况下,对SIM卡解锁成功。通过本发明的技术方案,解决了现有技术中移动终端SIM卡解锁流程简单、安全性不强的问题,能够有效的降低SIM卡被破解的概率,为运营商提供更好的利益保证。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1为本发明实施例提供的一种移动终端SIM卡的解锁方法的流程图一;

图2为本发明实施例提供的一种移动终端SIM卡的解锁方法的流程图二;

图3为本发明实施例提供的一种移动终端SIM卡的解锁装置框图一;

图4为本发明实施例提供的一种移动终端SIM卡的解锁装置框图二;

图5为本发明实施例提供的一种移动终端SIM卡的解锁装置框图三;

图6为本发明实施例提供的一种移动终端SIM卡的解锁装置框图四。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

为解决现有技术中存在的问题,本发明实施例提供一种移动终端SIM卡的解锁方法,图1为本发明实施例提供的一种移动终端SIM卡的解锁方法的流程图一,如图1所示,该方法包括如下处理步骤:

S101:接收N个解锁码,其中,N个解锁码用于对客户识别模块SIM卡进行解锁,N大于或等于2;

其中,OEM生成解锁码1(CK1)、PBKDF2加密算法及所需的参数,利用PBKDF2算法生成加密解锁码(HCK1),OEM将CK1保存到数据库中用于将来解锁时使用。

运营商生成解锁码2(CK2),使用PBKDF2算法来生成加密解锁码(HCK2),并将CK2和HCK2保存在运营商的数据中,CK2中用于将来解锁时使用。

运营商还可以指定多个第三方来生成多个解锁码(CK3至CKn),并根据PBKDF2算法来分别生成加密解锁码(HCK3至HCKn),并将所有CK和HCK保存在第三方数据库中,(CK3至CKn)中用于将来解锁时使用。

用户向运营商提供移动设备的IMEI或MEID;运营商在OEM提供的数据中,根据IMEI或MEID查询CK1;运营商在OEM提供的数据中根据IMEI或MEID查询HCK2,再根据HCK2查询到CK2;运营商在OEM提供的数据中根据IMEI或MEID查询HCK3,再根据HCK3要求第三方提供CK3,将从OEM、运营商、运营商指定第三方处获取到的多个解锁码并分别依次输入。

S102:根据不同的参数分别计算该N个解锁码对应的N个加密解锁码;

进一步的,包括:获取保存在不同的安全存储区域的加密算法的参数,根据该参数分别计算N个解锁码对应的N个加密解锁码。其中,将CK1对应的HCK1、PBKDF2算法使用的参数从第一安全区域中取出,并使用PBKDF2算法和CK1计算加密解锁码,对CK2至CKn也进行如下操作,获取N个加密解锁码。

S103:将该N个加密解锁码分别与预先保存在不同的安全存储区域的加密解锁码进行对比;

进一步的,在N为3时,将N个加密解锁码分别与预先保存在安全存储区域的加密解锁码进行对比包括:

将第一加密解锁码与预先保存在第一安全存储区域的加密解锁码进行对比,其中,第一加密解锁码是N个加密解锁码中的一个,预先保存在第一安全存储区域的加密解锁码由OEM生成;

在对比一致的情况下,第一重锁卡解锁成功,将第二加密解锁码与预先保存在第二安全存储区域的加密解锁码进行对比,其中,第二加密解锁码是N个加密解锁码中的一个,预先保存在第二安全存储区域的加密解锁码由运营商生产;

在对比一致的情况下,第二重锁卡解锁成功,将第三加密解锁码与预先保存在第三安全存储区域的加密解锁码进行对比,其中,第三加密解锁码是N个加密解锁码中的一个,预先保存在第三安全存储区域的加密解锁码由第三方生成。

其中,使用PBKDF2算法和CK1计算加密解锁码后与从安全存储区域取出的HCK1进行对比,如果相同则第一重SIM卡解锁成功;同样的过程分别将第二重到第n重解锁码对应的加密解锁码计算出来并进行对比。

S104:在对比一致的情况下,对SIM卡解锁成功。

只有当所有的解锁码都解锁成功时,终端设备的SIM卡才算解锁成功并提示用户解锁成功。

进一步的,在对SIM卡解锁失败次数累计达到M的情况下,自动进行重启,其中,M大于等于5。

为了防止暴力破解(穷尽破译法),最多允许用户进行5次尝试,累计失败5次后,设备自动进行重启。

图2为本发明实施例提供的一种移动终端SIM卡的解锁方法的流程图二,如图2所示,接收N个解锁码之前,还包括:

S201:获取由设备制造商OEM、运营商和多个第三方生成的N个加密解锁码和加密解锁码对应的加密算法的参数,并分别保存在不同的安全存储区域,其中OEM、运营商和第三方各自生成一个加密解锁码。

进一步的,加密算法包括PBKDF2加密算法。

其中,PBKDF2(Password-Based Key Derivation Function)是一个用来导出密钥的函数,常用于生成加密的密码。它的基本原理是通过一个伪随机函数(例如HMAC函数),把解锁码明文和一个盐值作为输入参数,然后进行迭代运算,并最终产生密钥。

在本实施例中,OEM方使用的解锁码CK为16个字节的随机数,迭代次数为5000次,盐值为一个16个字节的随机数,使用的伪随机函数为HMAC-SHA256,最终生成16个字节的HCK。

在运营商和运营商指定的第三方方面,上述的参数可由运营商及第三方自由生成,伪随机函数也可以自由选择,比如HMAC-MD5等。它们只需将生成的HCK和PBKDF2算法所需的参数及采用的伪随机函数告知OEM即可。

进一步的,加密算法的参数包括:盐值salt、迭代次数iteration。

其中,OEM生成解锁码1(CK1)、PBKDF2加密算法及所需的参数,利用PBKDF2算法生成加密解锁码(HCK1),OEM将CK1保存到数据库中用于将来解锁时使用。将HCK1和PBKDF2加密算法所需的参数保存到终端设备第一安全存储区域中。

运营商生成解锁码2(CK2),使用PBKDF2算法来生成加密解锁码(HCK2),并将CK2和HCK2保存在运营商的数据中;CK2中用于将来解锁时使用。运营商将HCK2、PBKDF2所使用的伪随机函数以及参数告知OEM;OEM将HCK2、PBKDF2所需参数存入第二安全存储区域;OEM根据运营商提供的伪随机函数在终端设备上实现PBKDF2算法,供解锁时计算HCK2。

运营商还可以指定多个第三方来生成多个解锁码(CK3至CKn),并根据PBKDF2算法来分别生成加密解锁码(HCK3至HCKn),并将所有CK和HCK保存在第三方数据库中;第三方将生成的每个HCK以及PBKDF2所使用的伪随机函数、参数告知OEM;OEM将HCK及参数依次分别存入到(第三至第n)安全存储区域并分别根据不同的伪随机函数在移动终端上实现PBKDF2算法,供解锁时计算HCK3-HCKn。

本发明实施例还提供了一种移动终端SIM卡的解锁装置,图3为本发明实施例提供的一种移动终端SIM卡的解锁装置框图一;如图3所示,该装置包括:

接收模块31,用于接收N个解锁码,其中,N个解锁码用于对SIM卡进行解锁,N大于或等于2;

计算模块32,用于根据不同的参数分别计算N个解锁码对应的N个加密解锁码;

对比模块33,用于将所述N个加密解锁码分别与预先保存在不同的安全存储区域的加密解锁码进行对比;

解锁模块34,用于在对比一致的情况下,对SIM卡解锁成功。

进一步的,图4为本发明实施例提供的一种移动终端SIM卡的解锁装置框图二;如图4所示,该装置还包括:

获取模块41,用于获取由设备制造商OEM、运营商和多个第三方生成的N个加密解锁码和加密解锁码对应的加密算法的参数,并分别保存在不同的安全存储区域,其中OEM、运营商和第三方各自生成一个加密解锁码。

进一步的,图5为本发明实施例提供的一种移动终端SIM卡的解锁装置框图三;如图5所示,计算模块32包括:

获取单元51,用于获取保存在不同的安全存储区域的加密算法的参数;

计算单元52,用于根据参数分别计算所述N个解锁码对应的N个加密解锁码。

进一步的,图6为本发明实施例提供的一种移动终端SIM卡的解锁装置框图四;如图6所示,在N为3时,对比模块33包括:

第一对比单元61,用于将第一加密解锁码与预先保存在第一安全存储区域的加密解锁码进行对比,其中,第二加密解锁码是N个加密解锁码中的一个,预先保存在第二安全存储区域的加密解锁码由运营商生产;

第二对比单元62,用于在第一重锁卡解锁成功的情况下,将第二加密解锁码与预先保存在第二安全存储区域的加密解锁码进行对比,其中,第二加密解锁码是N个加密解锁码中的一个,预先保存在第二安全存储区域的加密解锁码由运营商生产;

第三对比单元63,用于在第二重锁卡解锁成功的情况下,将第三加密解锁码与预先保存在第三安全存储区域的加密解锁码进行对比,其中,第三加密解锁码是N个加密解锁码中的一个,预先保存在第三安全存储区域的加密解锁码由第三方生成。

进一步的,加密算法包括PBKDF2加密算法。

进一步的,加密算法的参数包括:盐值salt、迭代次数iteration。

进一步的,在对SIM卡解锁失败次数累计达到M的情况下,自动进行重启,其中,M大于等于5。

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行上述方法实施例步骤的程序代码。

可选地,存储介质还被设置为存储用于执行上述方法实施例步骤的程序代码。

可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,在本实施例中,流控服务器根据存储介质中已存储的程序代码执行上述实施例方法步骤的。

可选地,本实施例中的具体示例可以参考上述方法实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1