防止移动通信设备的克隆的方法和移动通信设备转让专利

申请号 : CN201110185932.4

文献号 : CN102196433B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 纳兰达尔·善卡尔尔朵·派克索伊热罗姆·L·阿泽马

申请人 : 得州仪器公司

摘要 :

本申请涉及防止移动通信设备的克隆的方法和移动通信设备。所述方法包括:利用移动通信设备中的电路将启动引导映像下载到移动通信设备;利用移动通信设备中的电路在快擦写过程期间生成证书,该证书包括使用散列消息鉴权码算法生成的鉴权码;将该证书存储到启动引导映像中;以及将启动引导映像存储至移动通信设备中的快擦写存储器。

权利要求 :

1.一种防止移动通信设备的克隆的方法,包括:

利用所述移动通信设备中的电路将启动引导映像下载到所述移动通信设备;

利用所述移动通信设备中的电路在快擦写处理期间生成设备绑定证书,所述设备绑定证书包括使用散列消息鉴权码算法生成的鉴权码;

将所述设备绑定证书存储到所述启动引导映像中;

将所述启动引导映像存储至所述移动通信设备中的快擦写存储器;

验证所述鉴权码的真实性和完整性;以及

如果所述验证不成功,则防止完成启动引导过程。

2.如权利要求1所述的方法,其中所述设备绑定证书不被加密。

3.如权利要求1所述的方法,其中利用秘密密钥对所述设备绑定证书进行加密。

4.如权利要求3所述的方法,其中所述秘密密钥是随机生成的。

5.如权利要求3所述的方法,其中受保护的应用程序执行加密。

6.如权利要求1所述的方法,其中所述设备绑定证书包含以下各项中的至少一项:公共芯片ID、创建者ID、应用ID、国际移动设备标识号、至少一个SIMlock文件、和启动引导装载程序/公共头散列。

7.如权利要求1所述的方法,其中受保护的应用程序生成所述设备绑定证书。

8.如权利要求3或4所述的方法,其中所述设备绑定证书的加密是在所述设备绑定证书被存储到所述启动引导映像中之前。

9.如权利要求3或4所述的方法,其中使用芯片特定ID、创建者ID和应用ID,按照K=SHA-1(芯片特定ID||创建者ID||应用ID)来生成密钥K,其中符号“||”表示串联,符号“SHA-1”表示安全的散列算法。

10.如权利要求9所述的方法,其中所述芯片特定ID仅在移动通信设备正在执行受保护应用程序时可访问。

11.一种移动通信设备,包括:

快擦写存储器;

存储在所述快擦写存储器中的启动引导映像,该启动引导映像包括含有在该启动引导映像被存储到所述快擦写存储器中之前使用散列消息鉴权码算法生成的鉴权码的设备绑定证书;

耦合到所述快擦写存储器的处理器,所述处理器能够验证所述鉴权码的真实性和完整性;

验证所述鉴权码的真实性和完整性的装置;以及

如果所述验证不成功,则防止完成启动引导过程的装置。

12.如权利要求11所述的移动通信设备,其中所述设备绑定证书不被加密。

13.如权利要求11所述的移动通信设备,其中利用秘密密钥对所述设备绑定证书进行加密。

14.如权利要求13所述的移动通信设备,其中所述秘密密钥是随机生成的。

15.如权利要求13所述的移动通信设备,其中受保护的应用程序执行加密。

16.如权利要求11所述的移动通信设备,其中所述设备绑定证书包含以下各项中的至少一项:公共芯片ID、创建者ID、应用ID、国际移动设备标识号、至少一个SIMlock文件、和启动引导装载程序/公共头散列。

17.如权利要求11所述的移动通信设备,其中受保护的应用程序生成所述设备绑定证书。

18.如权利要求13或14所述的移动通信设备,其中所述设备绑定证书的加密是在所述设备绑定证书被存储到所述启动引导映像中之前。

19.如权利要求13或14所述的移动通信设备,其中使用芯片特定ID、创建者ID和应用ID,按照K=SHA-1(芯片特定ID||创建者ID||应用ID)来生成密钥K,其中符号“||”表示串联,符号“SHA-1”表示安全的散列算法。

20.如权利要求19所述的移动通信设备,其中所述芯片特定ID仅在移动通信设备正在执行受保护应用程序时可访问。

说明书 :

防止移动通信设备的克隆的方法和移动通信设备

[0001] 本申请是2004年10月9日递交的、名为“防止克隆的设备绑定快擦写/启动引导”、申请号为200410083525.2的发明专利申请的分案申请。
[0002] 优先权要求
[0003] 本申请要求美国临时专利申请60/510,696,2003年10月10日提交,题目是“防止克隆的设备绑定快擦写/启动引导”的优先权,这里一并作为参考。

背景技术

[0004] 移动电话一般包括可以被执行以操作该移动电话的软件应用程序。这些软件应用程序除使移动电话具有话音通信能力外,还可以使移动电话具有各种其它能力,例如文本信息传递和数码照片的拍摄。移动电话启动引导(boot)映像可以包括操作系统和任何各种能够在移动电话上运行的软件应用程序。移动电话的价格可以随着嵌入在移动电话的快擦写存储器中的启动引导映像质量的变化而变化。高质量的启动引导映像可以使特定移动电话比具有更低质量启动引导映像的移动电话贵得多。
[0005] 德州仪器公司(Texas )所拥有的开放多媒体应用平台(“OMAP”)包括在延长电池寿命的同时使通信设备能够处理数据和软件应用程序的微处理引擎。当前OMAP设备(例如,型号161x、171x、73x)中存在的机制利用在多个设备中共享的密钥来支持启动引导映像的快擦写和启动引导,该密钥帮助验证启动引导映像的真实性,但是并不防止另外的电话上未经授权地复制和重用启动引导映像,导致一个可能突破的安全缺口。这样的安全缺口可能使未经授权的实体从昂贵的移动电话中复制启动引导映像并在廉价的移动电话中还原该启动引导映像。以这种方式,未经授权的实体可以将昂贵的移动电话克隆到无数的廉价移动电话并从出售这些廉价移动电话中受益。
[0006] 除非法复制启动引导映像外,未经授权的实体也可能篡改启动引导映像的内容以避开防止使用被盗移动电话的现有安全措施。例如,每个移动电话启动引导映像包括作为全球移动通信系统(“GSM”)和第三代移动通信(“3G”)网络的移动电话的识别码的国际移动设备标识(“IMEI”)号。IMEI号用于准入或拒绝接入蜂窝网络和网络的服务。一般地,如果移动电话被盗,则移动电话拥有者可以与他或她的蜂窝服务提供商(例如,)联系,将该移动电话加入到GSM/3G黑名单中。在黑
名单中挂了号的移动电话将被拒绝接入该蜂窝网络。因此,盗取移动电话的未经授权的实体就不能够使用该移动电话接入该网络,因为该移动电话的IMEI号已经加入到了黑名单中。然而,有经验的未经授权的实体可以容易地将被盗移动电话的IMEI号改变成黑名单上找不到的号,由此用被盗移动电话接入该蜂窝网络。
[0007] 每年,移动电话制造商由于移动电话的克隆和篡改而失去相当数量的收入。因此,希望防止移动电话的克隆和篡改。

发明内容

[0008] 上面提出的问题大部分可以通过将启动引导映像和启动引导映像的各种内容绑定到移动通信设备的方法和设备得到解决。一个示例的实施例可包含将启动引导映像下载到移动通信设备上并生成设备绑定证书(“DBC”)。DBC最好包括使用散列消息鉴权码(“HMAC”)算法和特定于该设备的密钥生成的鉴权码。该方法可以进一步包括在启动引导映像上存储DBC,因此将启动引导映像绑定到该移动通信设备上。
[0009] 根据本发明的一个方面,提供了一种防止移动通信设备的克隆的方法,包括:利用移动通信设备中的电路将启动引导映像下载到移动通信设备;利用移动通信设备中的电路在快擦写过程期间生成证书,该证书包括使用散列消息鉴权码算法生成的鉴权码;将该证书存储到启动引导映像中;以及将启动引导映像存储至移动通信设备中的快擦写存储器。
[0010] 根据本发明的另一方面,提供了一种移动通信设备,包括:快擦写存储器;存储在快擦写存储器中的启动引导映像,该启动引导映像包括在该启动引导映像被存储到快擦写存储器中之前使用散列消息鉴权码算法生成的、含有设备特定信息的证书;和耦合到快擦写存储器的处理器,该处理器能够验证鉴权码的真实性和完整性。

附图说明

[0011] 为了对本发明的示例实施例进行详细描述,现在将参照下列附图:
[0012] 图1图解了根据本发明一个实施例的移动通信设备的方框图;
[0013] 图2图解了图1的移动通信设备上实现的示例处理过程;
[0014] 图3a图解了根据本发明优选实施例的快擦写处理的启动引导映像的方框图;
[0015] 图3b图解了根据本发明优选实施例的启动引导处理的启动引导映像的方框图;而
[0016] 图4图解了根据本发明优选实施例的设备绑定证书(“DBC”)的鉴权过程的流程图。

具体实施方式

[0017] 下面的描述和权利要求中使用的某些术语表示特定系统组成部分。本领域的技术人员会理解,各种公司可以使用不同的名称表示同一组成部分。本文件并不旨在区分名称而不是功能不同的组成部分。在下面的描述和权利要求中,以开端方式使用术语“包含”和“包括”,因此应当被解释成“包含,但并不限于......”的意思。同样,术语“连接”旨在表示直接或间接的电气连接。因此,如果第一个设备连接到第二个设备上,则该连接可能是直接电气连接,或者是通过其它的设备和连接进行的间接电气连接。
[0018] 下面的讨论涉及本发明的各种实施例。尽管可以在这些实施例中优选出一个或多个实施例,但是所公开的实施例不应当被诠释为、或被用来限制公开内容(包含权利要求在内)的范围。此外,本领域的技术人员应当理解的是,下列描述具有广泛的应用,对任何实施例的讨论仅意味着是该实施例的示例,而不是试图宣布将包含权利要求在内的公布范围限定到该实施例上。
[0019] 根据优选实施例,针对移动通信设备提供启动引导映像和启动引导映像内容的逐个设备的绑定。可以操纵已经下载到移动电话的启动引导映像,使得该启动引导映像不能够被复制、变更或转移到任何其它的移动电话上。以这种方式,启动引导映像被“绑定”到该移动电话上。启动引导映像一旦被绑定到该移动电话上,仅仅对这个特定的移动电话是有效的。启动引导映像的内容同样可以以类似的方式被绑定到移动电话上。
[0020] 启动引导映像的逐个设备的绑定通过设备绑定证书(“DBC”)来完成。根据优选实施例,使用DBC将启动引导映像绑定到特定移动电话上,使得该启动引导映像不能够被转移、改变或复制到另一个移动电话上。在绑定过程中,包括散列消息鉴权码(“HMAC”)的私有数据被存储在DBC中,继而使用秘密密钥(secret key)对DBC进行加密。在优选实施例中,不允许移动电话在没有首先获取HMAC中包含的DBC的情况下使用该启动引导映像。因此HMAC具有将启动引导映像绑定到该移动电话上的功能。而且,该电话不能在没有秘密密钥的情况下访问DBC中的HMAC,只有启动引导映像绑定到的电话具有秘密密钥。因此,只有带有正确秘密密钥的移动电话可以自由地访问启动引导映像的内容。于是,启动引导映像和启动引导映像的所有内容的逐个设备的绑定通过DBC来完成。
[0021] 现在参照图1、2和图3a,图1示出了包括与UART/USB端口174连接的OMAP处理器172、快擦写存储器178并且包括ROM代码(即片上固件)176的移动电话170的优选实施例。图2图解的是描述将启动引导映像绑定到移动电话170的处理过程的流程。图3a图解了启动引导映像300,包括描述启动引导映像300的内容的TOC字段302、包括因下述加密原因而使用的密钥的密钥头304,和作为快擦写存储器装载程序308的头的公共头306,公共头306包括受保护应用程序(“PA”)318。启动引导映像300也可以包括其它字段310、PA 312和空设备绑定证书(“DBC”)字段314。由于受保护应用程序在安全模式的环境中运行,因此得以命名受保护应用程序。安全模式环境可以定义为基于硬件、在一般情况下防篡改的安全运行环境。
[0022] 在移动电话制造期间,在移动电话已经出售给消费者之后,或在任何其它时间,可以进行绑定过程。一般来说,绑定过程以在快擦写处理期间DBC的创建为开始,然后用这个DBC填充的空DBC字段314,继而在移动电话170上存储启动引导映像300。更具体地,绑定过程的开始可以是通过ROM代码176鉴权快擦写存储器装载程序308以确保装载程序308的有效性(块202)。一旦经过鉴权,快擦写存储器装载程序308通过UART/USB端口174或任何适当的设备下载启动引导映像300(块204)。启动引导映像300和其它的信息可以由制造商或任何适当的实体从任何适当的资源(例如制造商的计算机系统)中下载。在指定项(例如,包括IMEI号的IMEI证书;SIMlock文件)被绑定到移动电话170上的情形中,这些项可以以和下载启动引导映像300的方式类似的方式进行下载。在下载之前,IMEI证书最好由制造商用原始设备制造商接口(“OEMI”)的私有密钥进行签名。OEMI公开密钥和IMEI证书都被下载到该移动电话170上,使得该移动电话170可以在稍后时间使用OEMI公开密钥验证该IMEI证书。
[0023] 随后可以载入快擦写存储器装载程序308,并调用PA 318(块206)。当调用PA318时,快擦写存储器装载程序308发送各种参数,包括指向启动引导映像300的各部件(例如公共头306)的指针以及在公共头306中发现的创建者ID(Creator ID)和应用ID(Application ID)的值。创建者ID描述DBC的拥有者或建立者,应用ID作为建立DBC的应用的标识。PA 318可以在必要时使用这些指针和值。
[0024] PA 318的至少一个目的是计算DBC(块208),可选地使用随机密钥对DBC进行加密(块210),并且将该DBC传递到快擦写存储器装载程序以进行进一步的处理(块212)。如前述所讨论的,PA318在安全模式环境中工作。PA 318可以开始生成DBC如下:
[0025] HMAC=HMACKEY(SHA-1(公共头306+启动引导装载程序)||公开芯片ID||创建者ID||应用ID||保留字段),
[0026] 其中“HMAC”表示散列消息鉴权码,符号“||”表示串联,公开芯片ID(PublicChip ID)用作OMAP处理器172的公开标识符,保留字段含有任何信息(例如,IMEI证书),启动引导装载程序含在启动引导映像300中,它将在下面的图3b中进行描述。特别是,公共头306和启动引导装载程序首先使用下面将描述的公知SHA-1算法一起进行杂凑。结果与各种如上所示的数据(例如,公开芯片ID、创建者ID)进行串联。使用公知的HMAC加密算法,用密钥(即KEY)对最终的串联进行杂凑,其中KEY的生成如下:
[0027] KEY=SHA-1(芯片特定ID||创建者ID||应用ID),
[0028] 其中芯片特定ID是由ROM代码176或其它系统固件创立并仅在安全模式内(例如,PA执行期间)可用的秘密标识。安全的散列算法SHA-1用于计算消息或数据文件的“浓缩表示(condensed representation)”。“浓缩表示”具有固定的长度并被称为“消息摘要”或“指纹”。产生两个具有相同消息摘要的消息在计算上是不可行的。这种唯一性使消息摘要能够作为该消息的“指纹”。例如,可以使用SHA-1通过将该文件散列与原始文件散列进行比较以确保下载或接收的文件的完整性。任何要求完整性的消息或类似的构造可以以这种方式进行验证。
[0029] PA 318通过使用PA 318计算出的或从快擦写存储器装载程序308接收的信息装配图3b所例举的DBC来完成该DBC的计算。特别是,完成的DBC可以包括公开芯片ID 322、创建者ID 324、应用ID326、启动引导装载程序/公共头散列328、保留字段330和上述产生的HMAC 332。如果在块204中IMEI证书被下载,由保留字段330可以用IMEI证书330填充。保留字段330也可以用任何其它特定于设备的信息填充。然后PA 318可选择地用随机秘密密钥K加密DBC,密钥K计算如下:
[0030] K=SHA-1(芯片特定ID||创建者ID||应用ID)。
[0031] 用随机秘密密钥K对DBC进行加密的处理保护了DBC的所有内容(例如,IMEI证书330)。一旦DBC进行了加密或者绕过该加密步骤,PA 318将DBC传递到快擦写存储器装载程序308以进行进一步的处理。
[0032] 快擦写存储器装载程序308从PA 318接收DBC并将DBC插入到空DBC字段314中(块214),由此在启动引导映像300内建立DBC 314。因此快擦写存储器装载程序308通过将启动引导映像300快擦写(即写入)到移动电话170的快擦写存储器178中(块216)来完成绑定过程。
[0033] 如图4所例举的那样,直到DBC 314在启动引导时间(即每当移动电话打开时)被鉴权,包括DBC 314并被绑定到移动电话170上的启动引导映像300才能够使用。也就是说,除非DBC 314首先进行了鉴权,否则含在启动引导映像300中的操作系统将不能被装载,因此防止终端用户使用该移动电话170。
[0034] 现在参照图3b和图4,图3b是对启动引导时间的启动引导映像300的图解,启动引导映像300包括TOC字段302、密钥(KEY)头字段304、公共头306、包括PA 320的启动引导装载程序308、其它字段310、PA 312和DBC 314。如上所述,DBC 314包括公开芯片ID322、创建者ID 324、应用ID 326,启动引导装载程序/公共头散列328、可能包括IMEI证书330的保留字段330和HMAC 332。图4图解的是在启动引导时间对启动引导映像300进行鉴权的过程的流程图。特别是,启动引导时间的鉴权过程可以通过片上(on-chip)ROM代码176对密钥头304和公共头306的验证为开始(块402)。使用包括指向DBC 314、公共头306和启动引导装载程序318的指针和公共头306中的创建者ID 324和应用ID 326值的各种参数,启动引导装载程序318可以装载和调用PA 320(块404),使得PA 320在必要时可以使用这些指针和值。
[0035] 因此PA 320可以验证DBC 314的完整性,并且如果可用的话,通过使用密钥K1首先解锁(即解密)DBC 314(如果DBC 314进行了加密)并且使用与IMEI证书330并行地下载到该移动电话的OMEI公开密钥对IMEI证书330进行验证,PA 320还可以验证IMEI证书330的完整性(块406)。密钥K1计算如下:
[0036] K1=SHA-1(芯片特定ID||创建者ID||应用ID)。
[0037] 尽管进行单独的计算,然而启动引导过程期间用于对DBC 314解密的密钥K1与快擦写过程期间用于对DBC 314进行加密的密钥K相同。在加密过的DBC 314被解锁(如果可用)之后,PA 320计算:
[0038] HMAC1=HMACKEY1(SHA-1(公共头306+启动引导装载程序318)||公开芯片ID322||创建者ID 324||应用ID 326||保留字段),
[0039] 其中从DBC 314中获得创建者ID 324和应用ID 326,而其中KEY1计算如下:
[0040] KEY1=SHA-1(芯片特定ID||创建者ID||应用ID)。
[0041] 随后PA 320将上述计算出的HMAC1与存储于DBC 314中的HMAC相比较以测试匹配,并将比较的结果传递到启动引导装载程序318(块408)。匹配表明启动引导映像300没有被复制或改变,可以为装载有启动引导映像300的移动电话170所使用。匹配也表明启动引导映像300的内容(例如,IMEI证书330)没有被复制或更改,而且它们是可信的。在这种情况下,按照正常的状态继续启动引导过程。相反,不匹配则表明启动引导映像可能已经被盗、被更改或复制。因此,可能危及启动引导映像300内容(例如,IMEI证书330)的完整性。在这种情形下,就不能继续该启动引导过程。启动引导装载程序318从PA 320接收这种比较的结果,并且相应继续下去(块410),由此完成启动引导时间的鉴权过程。
[0042] 尽管这里所公开的主题是依据OMAP 161x平台进行描述的,但是可以使用OMAP73x平台、OMAP171x平台或其它各种平台。上面的讨论旨在举例说明本发明的原理和各种实施例。虽然针对IMEI证书的背景讨论了启动引导映像内容的逐个设备的绑定的技术,然而该技术可以应用到任何特定于设备的数据。此外,公开的范围并不限于上述启动引导映像内容。上述的启动引导映像可以含有任何各种内容,例如用于调试目的的R&D证书,在启动引导之后安全随机访问存储器中存在的基本受保护应用程序(“PPA”)、PPA证书和任何其它适当的项。同样,虽然上述主题主要依据对移动电话的适用性进行讨论,然而该主题可以用在任何移动通信设备上。一旦上述公开完全被本领域的技术人员所理解,显然他们对其可以进行大量的变更和修正。下列的权利要求试图包含所有这样的变更和修正。