利用用户身份模块策略的服务提供商激活的制作方法

文档序号:7939821阅读:167来源:国知局

专利名称::利用用户身份模块策略的服务提供商激活的制作方法块策略的服务提供商激活鹏申i青,X,本申请是2007年9月1日递交的题为"SERVICEPROVIDERACTIVATION"的美国专利申请No.11/849,286的部分继续申请。
背景技术
:为使用全球移动通信系统(GSM)数字蜂窝电话技术而制造的移动设备被设计为对任何移动通信服务提供商有效。该设备要求使用必须被插入GSM设备以便和用户的服务提供商网络进行签约的用户身份模块(SIM),也称为SIM卡。SIM卡是包含标识该SIM卡允许使用的服务提供商的标识符等的小电路板。通常,为每个诸如AT&T或Verizon之类的服务提供商分配了它们自己的供其网络使用的SM卡标识符的范围。大多数GSM设备被制造有服务提供商锁码,该服务提供商锁码将设备限制在针对特定服务提供商的SIM卡上。例如,由AT&T服务提供商经营的Nokia制造的移动设备可拥有将设备限制在这样的SIM卡上的锁码,所述SM卡被利用落入分配给AT&T网络使用的SIM卡标识符范围内的标识符进行了编码。强制实施服务商提供商锁的方法可依制造商的不同而变化。当设备被制造有服务提供商锁码时,该锁码通常基于存储在设备中的或使用算法获得的代码。然而,所述代码和/或算法可能收到损害,使得设备可能被解锁或者和拥有分配给其他服务提供商使用的标识符的SIM卡一起被使用。这导致原始服务提供商的利益受损,因为设备已不再在它们的网络上使用。从GSM设备制造商的角度,制造拥有服务提供商锁码的设备还有其他缺点。例如,由于锁定代码和/或算法将依据服务提供商而不同,因此制造拥有特定的服务提供商锁码的设备可能要求制造商针对为不同服务提供商制造的移动设备维护不同的部件号。这会增加制造设备的逻辑复杂度并明显增大库存成本。从消费者的角度,大部分人更喜欢自由购买移动设备而不是限制在一个特定的服务提供商上。例如,当出国或去国家的不同地方旅游时,可能希望切换到不同的服务提供商。
发明内容描述了用于移动设备中的服务提供商激活的方法和系统。根据本发明的一个方面,移动设备以有限的服务模式操作直至被激活以供特定的服务提供商使用。可以通过使用服务提供商签字处理来使移动设备为激活做好准备,然后通过使用服务提供商激活处理,移动设备被激活以供特定的服务提供商使用。所述服务提供商签字和激活处理是根据本发明的实施例来执行的。根据本发明的一个方面,服务提供商签字处理通过将激活标签存储在安全地包含来自设备和在签字处理期间被插入设备内的SIM卡二者的信息的设备上,来使该设备为激活做好准备。根据本发明的另一方面,服务提供商激活处理在激活在服务提供商网络上使用的设备之前,验证之前存储在设备上的激活标签是可信的并且对应于设备和目前插入设备内的SIM卡二者。根据本发明的一个方面,当新的SIM卡被插入设备时,或者当设备重启时,服务提供商签字和激活处理在必要时重复,以激活设备供在目前插入的SIM卡中标识的服务提供商使用。例如,当目前插入的SIM卡在之前插入设备期间已经历了签字处理时,或者当目前插入的SIM卡属于激活标签已存储在设备上的SIM卡集合时,只需要激活处理来激活设备。当SIM卡对于设备而言是新的时候(S卩,尚未通过该设备上的签字或激活处理,或者不属于激活标签已存储在设备上的SIM卡集合),签字和激活处理都被重复以激活设备供服务提供商使用。根据本发明的一个方面,服务提供商签字处理可针对不同SIM卡来重复,使得多于一个激活标签可被存储在设备上。设备上存储的每个激活标签可以对应于在签字处理期间被插入设备中的SIM卡之一。在某些情况中,设备上存储的每个激活标签对应于SIM卡集合,其中属于该集合的SIM卡中的至少一个SIM卡在签字处理期间被插入该设备。通过这种方式,移动设备可以在不同服务提供商对应于在签字处理期间使用的不同SIM卡的情况下为激活做好准备(只要那些服务提供商的用户帐户在激活时仍然有效即可)。根据本发明的一个方面,服务提供商签字处理包括生成激活请求,该激活请求中绑定了来自设备和目前插入设备内的SIM卡二者的信息。绑定的信息包括目前插入设备内的SIM卡的群组标识符(GID)、国际移动用户标识符(IMSI)和/或集成电路卡ID(ICCID)、编码在设备上的国际移动设备标识符(MEI)以及设备的硬件指纹等等。根据本发明的一个方面,服务提供商签字处理还包括在激活服务器中接收激活请求,其中激活请求通常经由与设备进行通信的激活客户端被传递到激活服务器。激活服务器基于绑定到激活请求中的信息来生成激活标签。与用于服务提供商的后端服务器进行通信的激活服务器可首先验证IMSI中指定的用户是否与有效帐户相关。在某些实施例中,激活服务器可执行支配是否生成激活标签的其他策略判定,包括诸如基于设备的MEI来确认IMSI中指定的移动国别代码(MCC)和移动网络代码(MNC)是否与用于设备的期望分布信道相符之类的事情。根据本发明的一个方面,在签字处理期间,激活服务器可在某些情况下生成这样的激活标签,SIM策略被编码在该标签上以描述允许与该设备一起使用的SIM卡集合。SIM策略通常适用于目前插入设备中的SIM卡以及具有某一范围值内的IMSI值的其他SM卡(如具有某一移动国别代码(MCC)和/或移动网络代码(丽C)的那些SM卡)和具有某一群组标识符(GID)的SIM卡。SIM策略可通过各种形式被编码在激活标签中,如从中可导出允许和设备一起使用的SIM卡的标识符集合的一组规则。这组规则例如可包括一个或多个基本(primitive)集合,集合的成员可被包含或不包含在允许和设备一起使用的SIM卡的标识符集合中。在某些情况中,激活服务器可将SIM策略的规则按特定次序编码在激活标签中,以便于描述与移动设备上的逻辑合作的SIM卡的标识符集合来评价SIM策略和强化规则。根据本发明的一个方面,在签字处理期间,激活服务器使用存储在激活服务器上或以其他方式可由激活服务器访问的激活私钥来生成已签字的激活标签。生成的激活标签5被格式化,以便不仅包含被绑定到激活请求中的信息而且包含稍后将在设备上使用以验证标签的签名的激活公钥。作为进一步的安全措施,在将安全标签发回设备之前,使用加密来混淆激活标签的内容。加密可使用存储在设备和激活服务器二者上或以其他方式可由设备和激活服务器二者来访问的每设备的对称密钥来执行。该密钥可称为共用混淆密钥(SharedObfuscationKey)。根据本发明的一个方面,当签字处理完结时,通常经由与设备进行通信的激活客户端,在设备中接收来自激活服务器的所生成的激活标签。设备存储供后续服务提供商激活处理期间使用的激活标签。根据本发明的一个方面,服务提供商激活处理在启动时查询目前插入的SIM的ICCID并使用该值来确定之前是否已为该SIM卡存储了激活标签。在某些情况中,激活标签可包括SIM策略,在此情况中,服务提供商激活处理反而基于包括IMSI和群组标识符值GID1和/或GID2在内的SIM卡中的标识符的三元组来评估目前插入的SIM卡是否是允许和移动设备一起使用的SIM卡集合之一。如果之前已存储了激活标签,则服务提供商激活处理在设备中发出命令来验证激活标签,包括但不限于使用共用混淆密钥来解密激活标签、验证由激活服务器在标签中提供的公共激活密钥、以及使用经验证的密钥来验证激活标签的签名。根据本发明的一个方面,服务提供商激活处理对照设备和目前插入设备中的SIM卡来验证激活标签的内容,包括验证MEI和硬件指纹匹配于设备中的MEI和硬件指纹以及ICCID和MSI匹配于目前插入的SM卡的ICCID和MSI。当可用时,服务提供商激活处理对照设备中目前插入的SIM卡的IMSI和GID值来验证编码在激活标签中的SIM策略。如果激活标签的SIM策略和/或内容无法被验证为匹配于设备和SIM卡,则激活标签被当作无效来对待,并且设备不被激活供服务提供商网络使用。如果激活标签的SIM策略和/或内容通过验证,则设备被激活以供服务提供商网络使用。本发明通过示例而非限制方式在附图的图示中被例示,其中相似的标号指示相似的元件。图1是根据本发明的一个示例性实施例的服务提供商激活系统的一个架构的框图概观。图2是根据本发明的一个示例性实施例的移动设备的所选组件的框图概观。图3A-3B是根据本发明的一个示例性实施例的服务提供商激活系统的框图概观。图4是例示根据本发明的一个示例性实施例的执行用于服务提供商签字处理的方法的某些方面的流程图。图5A-5B是例示根据本发明的一个示例性实施例的执行用于服务提供商激活处理的方法的某些方面的流程图。图6是根据本发明的一个示例性实施例可在其中实施服务提供商激活系统的某些组件的通用计算机系统的示例性实施例的框图概观,所述组件包括但不限于诸如激活客户端、激活服务器以及移动通信网络的服务提供商的其他后端服务器之类的组件。具体实施例方式将参考下面示出的大量细节来描述本发明的实施例,并且附图将图示出所描述的实施例。同样,下面的描述和示图是对本发明实施例的例证性说明,并且不被解释为限制本发明。大量具体细节被描述以提供对本发明的彻底理解。然而,在某些实例中,已知的或者传统的细节没有被描述,以便不会不必要地混淆本发明。此描述可能包括受版权保护的材料,诸如对图形用户界面图像的说明。版权的所有者,包括本发明的受让人,在此保留他们在这些材料方面的权利(包括版权)。版权所有者不反对通过专利文献或者专利公开中的任一种按照其出现在专利和商标局的文件或记录那样进行复制再现,但是在其它方面无论如何都保留所有版权。版权所有者苹果电脑公司(2008)。各种不同的系统架构可用来实施这里描述的功能和操作,例如以便执行图4、图5A-5B所示的方法。下面的讨论提供一个这种架构的示例,但是将理解,也可采用替代架构来实现相同或相似的结果。图1所示的服务提供商锁定系统100是基于苹果公司出售的iPhone设备、与iPhone设备相关的后端客户端和服务器以及iPhone设备可使用的移动通信网络的一个示例。然而,应该理解,架构100可以不同并且可进一步用于与iPhone设备无关的移动通信网络和设备。架构100包括诸如iPhone设备之类的移动设备102以及可插入移动设备102中的一个或多个SIM卡104。SIM卡104使得设备可以向移动通信网络118注册并使用该网络,所述移动通信网络118由与SIM卡104和/或设备102之一相关的服务提供商来运营。移动设备102还可与在连接了设备102的个人计算机(PC)106或其他类型的计算设备上操作的激活客户端108进行通信。激活客户端108通常通过网络116来与一个或多个激活服务器110通信。网络116可以是可传送激活客户端108和激活服务器110之间的通信的任何私有或公共互连网或其他类型的通信路径。激活服务器iio进而可与服务提供商数据库114和服务提供商的后端服务器112通信,服务提供商数据库114可包含与允许向服务提供商的移动通信网络118注册并使用该网络的用户和设备有关的信息。图2是根据本发明的一个示例性实施例的移动设备100的所选组件200的框图概观。移动设备ioo可包括用来执行根据本发明的实施例的服务提供商激活系统的一些功能的应用处理器(AP)202。AP202通常被实现为结合基带(BB)204集成电路来操作的固件。BB204还提供在其上执行移动设备的功能的操作系统平台等。在一个典型实施例中,BB204包含唯一地标识移动设备的已存储的MEI206以及共用混淆密钥208,共用混淆密钥208的使用将在下面参考激活标签处理来详细描述。设备100还包括存储器组件210,存储器组件210包括可用来存储在下面将更详细地描述的服务提供商激活系统中使用的激活标签及其他数据的易失性和非易失性存储器二者。移动设备100还可包括可插入SM卡212的SM卡插槽。SIM卡212可包括唯一地标识SIM卡212的ICCID214以及指定用户并用来规定设备使用的移动通信网络118的IMSI216。SM卡212还可包括一个或多个群组标识符(GID)GID1218和GID2220,出于策略的目的,所述一个或多个群组标识符可与IMSI216—起来唯一地标识根据特定的SIM策略属于允许在移动设备100上使用的SIM卡集合的SIM卡212,所述SIM策略将在下面更详细地描述。图3A是根据本发明的一个示例性实施例的服务提供商激活系统的框图概观。如图所示,具有BB204和AP208的移动设备100可能已插入三个SIM卡302(SIM卡A302A、SM卡B302B、SIM卡C302C)之一。图3B是根据本发明的一个示例性实施例的服务提供商激活系统的另一框图概观,其中SIM卡302可以是如下面将更详细地描述的服从SIM策略的SM卡集合SMSETS314的一部分。应该理解,设备100可与若干SIM卡中的任一个SM卡一起使用,并且仅作为示例示出了三个SM卡。在一个实施例中,移动设备100可以是"通用"设备,意味着它的制造不带有服务提供商锁码。不带有服务提供商锁码的设备对于SIM卡A、B、C(302A、B、C)中的任一个SIM卡都是可用的。在其他实施例中,移动设备ioo之前可能已被锁定,使得它除非首先被解锁否则无法与SM卡A、B和C一起使用。一旦设备100被解锁,它通常能够仅以有限的服务模式来操作,意味着它仅能用于紧急呼叫,并且尚未在服务提供商网络上激活。在一个实施例中,在检测到SIM卡A、B或C302之一的插入时,或者作为替代,当BB204启动时,AP208确定是否已存储了与插入的SIM卡A、B或C相关的激活标签308。如果不是,则AP208通过向激活服务器110发出激活请求304来开始签字处理。激活请求304包括来自设备100和目前插入的SM卡302的信息,包括例如MEI206、IMSI216、ICCID214和/或必要时的GID1218和GID2220值,所述信息被绑定到激活请求304内。在一个实施例中,在收到激活请求304时,激活服务器110基于绑定到激活请求304内的信息来确定是否生成激活标签306。激活标签306使用将参考图4更详细地描述的标签生成器逻辑310和激活公钥/私钥对312来包含来自设备100和插入的SM卡A、B或C二者的标识信息。在典型实施例中,对是否生成激活标签306的确定将至少部分地取决于服务提供商服务器112和/或服务提供商数据库114是否指示绑定到激活请求内的IMSI216可以在服务提供商的通信网络118上激活。在某些实施例中,对是否生成激活标签的确定将取决于其他策略考虑,如是否(使用绑定到激活请求304内的MEI/ICCID)针对给定的MEI/ICCID对来生成激活标签306。在一个实施例中,激活标签的生成包括针对SIM集合S314的SIM策略316的生成,其中,目前插入的SIM卡A、B或C是SIM集合S314的成员。如果激活服务器110确定它无法生成激活标签306,则激活请求304失败。在一个实施例中,一旦激活标签306已生成,激活服务器110便在将激活标签306返回设备100之前混淆该标签的内容以便保护激活标签的内容。在一个实施例中,激活标签306是通过用每设备的对称密钥对激活标签进行加密来混淆的。每设备的对称密钥可从对设备100而言唯一的数据和在设备和激活服务器110之间共用的密钥中导出。共用密钥在例示的示例中被称为设备100上的共用混淆密钥208,也作为在激活服务器110上定义的密钥312之一被存储。作为示例,每设备的对称密钥被称为设备混淆密钥,并且使用设备100的硬件指纹和密钥312中存储在服务器上的共用混淆密钥通过以下算法被导出DeviceObfuscationKey=SHA-l(HardwareThumbprint||SharedObfuscationKey)在激活标签306已被生成并加密后,激活标签306准备被发回到设备100,在那里它与之前存储的任何其他激活标签308—起被存储。存储的激活标签308A、B和C可以随后被AP208用来开始激活处理,激活处理将参考图5A-5B更详细地描述。在一个实施例中,激活标签306/308的替代格式如表1A和IB所示,其中表1A中的格式通常用于不被标识为属于SIM卡集合的各个SIM卡,表IB中的格式通常用于被标识为属于服从SIM策略的SIM卡集合的SIM卡。激活标签中包含的激活公钥的格式如表2所示。<table>tableseeoriginaldocumentpage9</column></row><table>表IA-不带有SIM策略的激活标签的格式<table>tableseeoriginaldocumentpage9</column></row><table>表IB-带有SM策略的激活标签的替代格式<table>tableseeoriginaldocumentpage10</column></row><table>表2-激活公钥的格式在一个实施例中,激活标签306/308的Version(版本)字段允许激活标签的处理前向兼容。在一个实施例中,被编码的整数"版本"允许设备100中的未来固件发布(release)识别较老的激活标签并支持它们。"版本"还被包含在激活标签的摘要中以便验证它不能被更改。在一个实施例中,如果激活标签格式受到威胁的话,则BB204将编译有可以防止回滚攻击(rollbackattack)的最下记录版本。在一个实施例中,激活标签306/308中的激活公钥字段可以如表2所示那样被格式化。然而,应该注意,可以采用不脱离权利要求的范围的其他公钥格式。ICCID(集成电路卡ID)是在IS0/IEC7812-1中定义的20位数字的号码,由以下各项组成2位数字的主行业标识符(对于SIM是89),1到3位数字的国家代码(ITU-TE.164),通常包含发行网络的丽C在内的1到4位数字(取决于国别码长度)的发行者标识符代码,个人帐户识别号码,以及1位数字的校验位。IMSI(国际移动用户标识符)是在3GPPTS23.003中定义的15位数字的号码,由3位数字的移动国别代码(MCC)、2或3位数字的移动网络代码(丽C)以及9或10位数字的移动用户身份号码(MSIN)组成。在一个实施例中,GID值在GSMll.11中被记载为SM卡上的文件,所述文件包含针对特定的SIM-移动设备关联的标识符。GID值通常用于标识针对特定应用的一组SIM卡。在一个实施例中,硬件指纹(HardwareThumbprint)是通常从对设备而言唯一的数据(例如是设备的硬件组件的序列号和MEI)外加已定义的随机序列中导出的值。例如,在一个实施例中,该指纹可按下述方式来计算HardwareThumbprint=SHA-l(SGold-SerialNumber||FlashSerialNumber||IMEI|ISalt),其中Salt是随机序列。在一个实施例中,标签签名(TicketSignature)按下述方式来生成Message=Version||ICCID||IMSI||IMEI||HardwareThumbprintHash=SHA-1(Message)EncodedMessage=0x00||0x04||PaddingString||0x00||HashTicketSignature=RSAEncrypt(activationPrivateKey,EncodedMessage)在另一实施例中,标签签名可按下述方式来生成Message=VersionI|ActivationPublicKey||lCCID||IMEI||HardwareThumbprint||SMPolicyLength||SMPolicyHash=SHA-1(Message)EncodedMessage=0x00||0x04||PaddingString||0x00||HashTicketSignature=RSAEncrypt(activationPrivateKey,EncodedMessage)应该注意,表1A和IB中给出的激活标签306/308的所述格式仅仅是可以使用的两个示例,在不脱离权利要求的范围的前提下,其他格式和数据字段可组成激活标签。图4、5A和5B是例示根据本发明的一个示例性实施例的服务提供商激活的某些方面的流程图。在图4中,描述了用于服务提供商签字处理400的方法。要执行的方法400在块402处开始,其中设备100检测基带启动或新SIM卡的插入。在块404处,方法400将IMSI、GID、ICCID、IMEI和硬件指纹中的一些或全部绑定到激活请求内,并将该请求从设备发送到激活服务器。在块406处,激活服务器接收请求,并基于某些策略考虑来确定是否响应于该请求生成激活标签,所述策略考虑例如是与服务提供商相关的后端服务器是否确认了IMSI信息对服务提供商的通信网络有效,以及/或者是否存在可以针对与触发请求的SM卡相关的SIM卡集合被编码的SIM策略。在一个实施例中,在处理块408处,方法400使用被绑定到激活请求内的ICCID、IMSI、GID、IMEI和/或硬件指纹信息生成用于SIM卡或SIM卡集合的激活标签。在一个实施例中,方法400包括对SIM策略进行编码,所述SIM策略描述了允许与设备100—起使用的SM卡集合。每当新SIM卡被插入时,SIM策略就被评估以确定该SIM是否被允许。出于SIM策略的目的,每个SIM卡可由IMSI、GID1和/或GID2标识符的三元组来唯一地描述。在一个典型实施例中,SIM策略被初始化以描述空集合。SIM策略可被生成为一组这样的规则,从该组规则中,移动设备100可导出允许与设备一起使用的SIM卡的集合。这组规则可如在下面的表3A中那样被编码名称大小(八位字节)编码标志1二进制GID11二进制GID21二进制未使用1n/aIMSI8BCD表3A-SIM策略规则格式其中标志(Flags)可如在下面的表3B中那样被编码11<table>tableseeoriginaldocumentpage12</column></row><table>表3B-SIM策略标志格式在一个实施例中,包括标志("0")用来描述作为SIM集合的一部分的SM,而排除标志("1")用来描述不是SIM集合的一部分的SIM。在一个实施例中,GID1和GID2标志用来确定是否忽略GID字段("0"——不存在),即允许任何GID值用于该SIM,或者是否匹配到GID字段("1"——存在),S卩,要求SIM卡上的GID字段匹配于编码在所存储的激活标签上的SIM策略中的GID。在一个实施例中,编码在激活标签中的SIM策略可以用于单一SIM卡锁,就好像使用不对SIM策略进行编码的激活标签格式(例如,表1A中的格式)的情况那样。在这种情况中,SIM策略将包括如下面的表4的示例中那样的单一规则<table>tableseeoriginaldocumentpage12</column></row><table>表4-用于单一SM卡锁的SM策略在一个实施例中,编码在激活标签中的SIM策略可如下面的表5的示例中那样被用于目前以SLF格式编码的标准的锁定SIM卡(其中"*"指示通配符匹配)<table>tableseeoriginaldocumentpage12</column></row><table>表5-用于标准SM卡锁的SIM策略在一个实施例中,编码在激活标签中的SIM策略可如下面的表6的示例中那样被用于完全解锁的SIM卡(其中"*"指示通配符匹配)<table>tableseeoriginaldocumentpage13</column></row><table>表6-用于完全解锁的SIM卡的SIM策略在一个实施例中,编码在激活标签中的SIM策略可如下面的表7的示例中那样被用于在SIM卡来自没有运营商伙伴的任何国家的情况下允许该SIM卡,同时允许仅来自存在指定的运营商伙伴的某些国家(例如,英国、美国、德国)的SIM卡(其中"*"指示通配符匹配)<table>tableseeoriginaldocumentpage13</column></row><table>表7-用于给定的SIM集合S的SIM策略在一个实施例中,方法400在如下情况中将激活标签上的ICCID字段编码为完全通配的(wildcard),所述情况为其中多于一个规则被编码在SIM策略中的情况或者其中SIM策略规则本身包含通配符的情况。当在激活处理中使用SIM策略时,这允许SIM集合中的匹配的多个SIM。同样地,当SIM策略记录仅包含不带有通配符的一个规则时,方法400返回带有不带有通配符的ICCID字段的激活标签以便增强安全性,ICCID字段曾被绑定在原始的激活请求中。当不对SIM策略进行编码时,方法400也返回ICCID字段,ICCID字段曾被绑定在原始的激活请求中。在一个实施例中,方法400包括将激活公钥插入标签内,并且在块410处使用被安全地存储在激活服务器上的相应激活私钥来签字该标签。在块412处,方法400通过利用从特定于设备的信息(如在激活请求中提供的硬件指纹)和对激活服务器和设备二者都可用的共用混淆密钥中导出的设备混淆密钥对激活标签的内容进行加密来混淆该内容。在处理块414处,方法400将激活标签发送回设备以供存储,然后处理结束。例如,激活标签可存储在设备的基带可访问的设备上的存储器中。现在转到图5A-5B,描述用于服务提供商激活处理500的方法。要执行的方法500开始于块502,其中设备IOO在启动时查询目前插入的SIM卡的ICCID。在块504处,方法500使用ICCID来定位与目前的ICCID相对应的激活标签。在某些情况下,与目前的ICCID相对应的激活标签可包含SIM策略,在这种情况下,激活标签中的ICCID通常已被通配,以允许通过对照目前SIM卡的IMSI和GID值评估存储在该激活标签上的SIM策略(如下面在处理块514中所述)来允许SIM卡集合中的多个SIM卡被激活。应该注意,在某些情况中,在目前插入的SIM卡的SIM服务表中未分配GID文件,或者当读取GID文件时,SIM卡可能返回错误。这种情况下,出于如下所述在处理块514中评估SIM策略的目的,GID值应被视为不存在。在块506处,设备发出命令来启动激活标签的验证。激活标签的验证将导致设备的基带转移出有限的服务模式并在通信网络上注册。如果标签无法被成功验证,则该命令将返回错误代码。在典型实施例中,方法500在确定目前插入设备内的SIM卡是否处于就绪状态即SM是否被解锁之后,执行标签验证。如果否,则方法500在SM卡被成功验证之后执行标签验证。方法500在处理块508A-508H处继续,以执行各个方面的激活标签验证。在块508A处,方法500首先验证重试次数尚未超过。重试计数器将针对每次不成功的尝试而递增,以使用激活标签验证命令来解锁并激活设备上的服务。仅允许预定数目的验证尝试,以避免经过多次尝试来激活设备的暴力攻击。在一个实施例中,方法500在块508B/508C处继续,以从加密的信息中分析激活标签中的版本信息并确定待验证的激活标签的版本是否在设备的基带的目前版本中得到支持。在块508D处,方法500使用从设备上存储的共用混淆密钥和诸如设备的硬件指纹之类的特定于设备的信息中导出的设备混淆密钥来对激活标签的内容进行解密。在块508E处,方法500验证在激活标签中供应的激活公钥,并且在块508F处使用该公钥来验证标签签名。在块508G/H处,方法500验证激活标签的经解密的散列值与计算出的散列值的比较是否正确,从而结束标签验证处理。如果是这样,则方法在处理块510处继续;否则,标签验证失败,并且方法分路到块516。在处理块510处,为了防止来自一个设备的激活标签在另一设备上使用,将激活标签中的MEI与设备中存储的MEI作比较。在一个实施例中,各个MEI的所有15个数字位都必须匹配。如果不匹配,则激活标签被认为无效的。在处理块512处,方法500继续,以通过确定激活标签中包含的硬件指纹的值和将其与设备的硬件指纹作比较来验证激活标签。如果它们不匹配,则激活标签被视为无效。在处理块514处,方法500继续,以通过将激活标签中包含的ICCID的值与目前插入设备中的SM卡的ICCID作比较来验证激活标签。在特殊情况下,ICCID验证被绕过,例如当ICCID被用10个OxFF八位字节编码时。类似地,在处理块514处,方法500继续,以通过将激活标签中包含的MSI的值与目前插入设备中的SIM卡的IMSI作比较来验证激活标签。同样,在特殊情况下,MSI验证被绕过,例如当IMSI被用10个OxFF八位字节编码时。在一个实施例中,在处理块514处,方法500继续,以通过对照编码在激活标签内的SIM策略数据评估目前插入设备内的SM卡的IMSI和GID值来验证激活标签。注意,如14果GID在SIM卡中不存在(或者在其他情况下无法被读取)并且在SIM策略中的一组规则中的一个规则中GID被指定为存在,则该规则将被视为不匹配,并且该规则中的GID的值将不被核查。在典型实施例中,使用激活标签的SIM策略中包含的一组规则,方法500使用在规则的相应标志中规定的包括和排除操作来从在规则中定义的基本集合中构建允许的SIM的标识符集合I。例如,基本集合P被定义为(使用BCD编码)可包含扩展到所有数字"0-9"的通配符数字在内的号码。标识符集合I由匹配于给定的样式的所有标识符组成。两个基本集合操作或者将基本集合的成员加到标识符集合上(例如,I=IUP),或者去除它们(例如,I=InP)。一旦标识符集合I被构建,则方法500就可以确定目前插入的SM卡是否是标识符集合的成员。在典型实施例中,由于排除操作不是可交换的,因此SIM策略中的一组规则中的规则是有序的。这样,在SIM策略的评估期间,方法500无需构建任何数据结构来存储标识符集合I,而是可以使用下面的伪代码示例来设置例如"isMember"的指示符,该指示符指示目前插入的SIM卡是否是在激活标签的SIM策略中定义的标识符集合的成员isMember=FalseforeachPinrulesifCisinPifrule->ExcludeisMember=FalseelseisMember=Trueendifendifendfor在处理块516处,若任一激活标签验证过程失败,则方法响应于命令来递增重试计数器并返回错误。在处理块518处,如果验证过程成功,则设备可以通过启动该设备在服务提供商的移动通信网络上的注册来激活设备上的服务。图6例示了可实施本发明的诸如用于提供移动设备的服务激活的服务器和后端客户端之类的某些方面的典型计算机系统的示例。注意,虽然图6例示了计算机系统的各个组件,但是不意味着代表互连这些组件的任何特定架构或方式,因为这些细节与本发明没有密切关系。还将理解,具有更少组件或者更多组件的网络计算机和其他数据处理系统也可与本发明一起使用。图6的计算机系统例如可以是来自苹果计算机公司的Macintosh计算机。如图6所示,作为一种形式的数据处理系统的计算机系统601包括耦合到(一个或多个)微处理器603和R0M(只读存储器)607和易失性RAM605和非易失性存储器606的总线602。在一个实施例中,微处理器603可以是来自摩托罗拉公司的G3或G4微处理器或者来自IBM的一个或多个G5微处理器。总线602将这各种组件互连在一起,还将这些组件603、607、605和606互连到显示控制器和显示设备604并互连到诸如输入/输出(1/0)设备之类的外围设备,所述外围设备可以是鼠标、键盘、调制解调器、网络接口、打印机和其他本领域公知的设备。通常,输入/输出设备609通过输入/输出控制器608被耦合到系统。易失性RAM(随机存取存储器)605通过被实现为要求持续供电以便刷新或维护存储器中的数据的动态RAM(DRAM)。大容量存储装置606通常是磁性硬盘驱动器或磁光盘驱动器或光驱动器或DVDRAM或其他类型的甚至在从系统中断电之后也维护数据(例如,大量数据)的存储系统。通常,大容量存储装置606也是随机存取存储器,尽管这一点不是必要的。虽然图6示出大容量存储装置606是直接耦合到数据处理系统的其余组件的本地设备,但是将理解,本发明可采用远离系统的非易失性存储器,如通过诸如调制解调器或以太网接口之类的网络接口被耦合到数据处理系统的网络存储设备。总线602可包括通过本领域公知的各种桥路器、控制器和/或适配器彼此连接的一条或多条总线。在一个实施例中,1/0控制器608包括用于控制USB(通用串行总线)外围设备的USB适配器和用于IEEE1394兼容的外围设备的IEEE1394控制器。从本说明书中将理解,本发明的多个方面可以至少部分地通过软件来体现。艮卩,这些技术可响应于计算机系统或其他数据处理系统的、运行诸如ROM607、RAM605、大容量存储装置606或远程存储设备之类的存储器中包含的指令序列的、诸如微处理器之类的处理器而在计算机系统或其他数据处理系统中实施。在各个实施例中,硬连线的电路可与软件指令结合来使用,以实现本发明。因此,这些技术不限于任何特定的硬件电路和软件的组合,也不限于由数据处理系统运行的指令的任何特定来源。另外,通过本说明书,各种功能和操作被描述为由软件代码执行或引起,以便简化描述。然而,本领域技术人员将认识到,这些表述的含义是诸如微处理器603之类的处理器对代码的运行所产生的功能。权利要求一种用机器实现的激活移动设备的方法,所述方法包括从具有一SIM卡的移动设备发出激活请求,所述激活请求包括唯一地标识该设备和SIM卡的数据;在所述移动设备中存储已签字的激活记录,所述激活记录包含描述可与所述移动设备一起使用的SIM卡集合的SIM策略数据和设备数据,所述激活记录是由激活服务器响应于所述激活请求而生成并签字的;根据所述SIM策略数据对照第二SIM卡来验证所述激活记录,包括评估所述第二SIM卡是否属于可与所述移动设备一起使用的SIM卡集合;以及使用所述第二SIM卡来向通信网络注册该设备。2.根据权利要求1所述的方法,其中唯一地标识设备的数据包括所述设备的序列号。3.根据权利要求2所述的方法,其中所述设备的序列号是编码在所述设备中的国际移动设备标识符(頂EI)。4.根据权利要求1所述的方法,其中唯一地标识设备的数据包括所述设备的硬件指纹。5.根据权利要求4所述的方法,其中所述设备的硬件指纹是从设备中的基带组件的序列号、设备的存储组件的序列号、设备的序列号中的至少一个与随机数的结合中导出的。6.根据权利要求1所述的方法,其中标识SIM卡的数据包括所述SIM卡的序列号。7.根据权利要求6所述的方法,其中所述SIM卡的序列号是编码在所述SIM卡上的集成电路卡ID(ICCID)。8.根据权利要求1所述的方法,其中标识SIM卡的数据包括与所述SIM卡相关的用户标识符。9.根据权利要求8所述的方法,其中与SIM卡相关的用户标识符是指定被授权使用所述SIM卡的用户的国际移动用户标识符(IMSI)。10.根据权利要求l所述的方法,其中标识SIM卡的数据包括与所述SIM卡相关的群组标识符。11.根据权利要求10所述的方法,其中与SIM卡相关的群组标识符是标识所述SIM卡属于一组SIM卡的群组标识符(GID)。12.根据权利要求1所述的方法,其中描述可与所述移动设备一起使用的SIM卡集合的SIM策略数据包括描述这样的标识符集合的一组规则,所述标识符集合标识哪些SIM卡可与该移动设备一起使用。13.根据权利要求12所述的方法,其中所述一组规则中的规则描述可包含或不包含在所述标识符集合中的基本标识符集合。14.根据权利要求12所述的方法,其中所述一组规则中的规则指明在标识哪些SIM卡可与所述移动设备一起使用时是否使用SIM卡的群组标识符(GID)。15.根据权利要求12所述的方法,其中所述一组规则中的规则指明是否使用通配符来扩展标识哪些SIM卡可与所述移动设备一起使用的标识符集合。16.根据权利要求12所述的方法,其中所述一组规则中的规则指明是否将标识哪些SIM卡可与所述移动设备一起使用的标识符集合限制在具有某一前缀值的IMSI。17.根据权利要求16所述的方法,其中所述前缀值是移动国别代码和移动网络代码中的至少一个。全文摘要描述了用于激活与服务提供商一起使用的移动设备的系统和方法。在一个示例性方法中,可以使用签字处理来使目前插有SIM卡的移动设备为激活做好准备,在所述签字处理中,激活服务器生成利用SIM策略数据编码的已签字的激活标签,所述SIM策略数据与属于由该SIM策略数据定义的SIM卡集合的若干SIM卡之一和设备的结合相对应。所述激活标签被安全地存储在移动设备上。在另一示例性方法中,移动设备可以在这样的激活处理中被激活,在所述激活处理中,设备根据激活标签中的SIM策略对照设备和SIM卡所特有的信息来验证激活标签,并且在激活标签的验证成功时开始激活。文档编号H04W12/06GK101796858SQ200880104914公开日2010年8月4日申请日期2008年7月25日优先权日2007年9月1日发明者杰弗里·布什,杰瑞·浩克,达里尔·穆恩-基德·劳,迈克尔·兰伯特斯·休伯图斯·布鲁韦尔申请人:苹果公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1