用于管理安全元件的方法、安全元件和移动通信装置

申请号 CN201310287815.8 申请日 2013-07-10 公开(公告)号 CN103593621B 公开(公告)日 2017-04-26
申请人 NXP股份有限公司; 发明人 安德里亚斯·莱西克; 迪米特里·华尼兹;
摘要 本 发明 描述了一种用于管理安全元件(120)的方法,安全元件(120)被嵌入到主机单元(110)中。该方法包括:(a)将对管理脚本的 请求 从主机单元(110)发送到安全元件(120)的处理单元(124),(b)在处理单元(124)处,根据该请求生成管理脚本,并对所生成的管理脚本进行加密,(c)将加密的管理脚本从处理单元(124)发送到主机单元(110),(d)将加密的管理脚本从主机单元(110)发送到安全元件(120)的安全域(122),以及(e)在安全域(122)处解密和执行管理脚本。本发明还描述了一种用于主机单元(110)的安全元件(120)以及一种移动通信装置。
权利要求

1.一种用于管理安全元件(120)的方法,安全元件(120)被嵌入到主机单元(110)中,其特征在于,所述方法包括:
将对管理脚本的请求从主机单元(110)发送到安全元件(120)的处理单元(124),在处理单元(124)处,根据该请求生成管理脚本,并对所生成的管理脚本进行加密,将加密的管理脚本从处理单元(124)发送到主机单元(110),
将加密的管理脚本从主机单元(110)发送到安全元件(120)的安全域(122),以及在安全域(122)处解密和执行管理脚本。
2.根据权利要求1所述的方法,其特征在于,处理单元(124)和安全域(122)包括用于加密和解密的对应密钥组(126)。
3.根据前述任一项权利要求所述的方法,其特征在于,所述请求包括管理脚本的标识。
4.根据权利要求1所述的方法,其特征在于,所述请求包括用于生成管理脚本的参数值。
5.根据权利要求4所述的方法,其特征在于,所述主机单元是移动通信单元,参数值是移动通信单元的国际移动设备识别码。
6.根据权利要求1所述的方法,其特征在于,所述管理脚本被配置用于执行从由安全元件定操作、安全元件解锁操作、安全元件复位操作、密钥修改操作、程序元件删除操作以及程序元件修改操作组成的组合中选择出来的安全元件管理操作。
7.一种用于主机单元(110)的安全元件(120),其特征在于,所述安全元件(120)包括:
处理单元(124),适用于:
从主机单元(110)接收对管理脚本的请求,
根据该请求生成管理脚本,并对所生成的管理脚本进行加密,以及
将加密的管理脚本发送到主机单元(110);
安全域(122),适用于从主机单元(110)接收加密的管理脚本,并解密和执行管理脚本。
8.根据权利要求7所述的安全元件(120),其特征在于,处理单元(124)和安全域(122)包括用于加密和解密的对应密钥组(126)。
9.一种移动通信装置,其特征在于,包括权利要求7或8所述的安全元件(120)。

说明书全文

用于管理安全元件的方法、安全元件和移动通信装置

技术领域

[0001] 本发明涉及的领域是全球平台(GlobalPlatform)兼容操作系统,如安全元件,特别是涉及用于这些操作系统的本地可信服务管理器应用。

背景技术

[0002] 全球平台兼容系统,特别是安全元件,可以被用来为移动通信单元如移动电话和智能电话提供多种功能,如执行安全的信用卡交易和其他需要高安全等级的通信。
[0003] 无线服务提供者(也被称为安全元件发行者)需要能够在许多情况下访问系统的发行者安全域(ISD),例如,为了进行通信,为了执行设置操作,或者为了安装、更新和删除程序和功能等。为了能够访问ISD,发行者需要与系统中存储的密钥组相对应的密钥组。可信服务管理器(TSM)可以处理这些密钥。因此,为了访问ISD,必须与TSM通信。然而这样的通信需要存在到达TSM的连接。特别是对于移动设备,并非总是如此。
[0004] US 2007/0095927 A1描述了一种系统和方法,其中移动设备制造商从供应商处接收安全元件,并作为制造过程的一部分将它们安装到移动设备中。在安装安全元件的过程中,制造商安全地将发行者特定的种子值传送给安全元件。基于种子值和安全元件唯一的标识符,安全元件生成密钥组,并将密钥组存储在其存储器中。利用唯一的标识符,发行者然后可以生成对应的密钥组以便能够访问安全元件。然而,在许多情况中,制造商在生产时不知道哪个发行者以后将实际管理移动设备,这样使得选择合适的安全的种子值将是很困难的。此外,指定的发行者将不会预先知道它需要管理的安全元件的标识符,因此将无法准备所需的管理脚本等。
[0005] 可能需要一种简单而可靠的方式来获得对全球平台兼容系统例如安全元件的访问,而不会牺牲保密性

发明内容

[0006] 根据第一个方面,提供一种用于管理安全元件的方法,安全元件被嵌入到主机单元中。所述方法包括:(a)将对管理脚本的请求从主机单元发送到安全元件的处理单元,(b)在处理单元处,根据该请求生成管理脚本,并对所生成的管理脚本进行加密,(c)将加密的管理脚本从处理单元发送到主机单元,(d)将加密的管理脚本从主机单元发送到安全元件的安全域,以及(e)在安全域处解密和执行管理脚本。
[0007] 这个方面是基于这样一种想法:通过使用安全元件内的处理单元生成管理脚本,对所生成的管理脚本进行加密,并将其经由主机单元发送到安全元件的安全域,这样能够将加密的管理脚本提供到安全域,而不需要与单独的实体如TSM(可信服务管理器)进行通信,即使如全球平台(GP)兼容安全元件不能在安全元件的处理单元和安全域之间提供安全通信。换句话说,在嵌入到主机单元中的安全元件本地生成(而不是在外部的TSM生成)加密的管理脚本,并通过主机单元将其转发到安全域,在安全域中以相同的方式解密并执行该管理脚本,就好像它是实际由外部的TSM提供的一样。
[0008] 在本文的上下文中,术语“安全元件”可以具体表示在全球平台兼容操作系统上运行的安全微控制器(如SmartMX),如具有NFC(近场通信)前端设备的JCOP(Java卡开放平台)。然而,术语“安全元件”应当被广义地理解为包括任何全球平台兼容操作系统。
[0009] 在本文的上下文中,术语“管理”可以具体是指安装、删除、修改或监管功能的操作,以及安全元件的操作或在例如UICC(通用集成电路卡)上运行的其他全球平台兼容操作系统的操作。
[0010] 在本文的上下文中,术语“安全域”可以具体表示提供管理功能以及被限制访问的GP兼容安全元件或操作系统的一部分。例如,对于GP兼容安全元件,安全域可以对应由安全元件发行者(即移动服务提供商)使用以管理安全元件的发行者安全域(ISD)。另外,安全域可以是指SSD(辅助安全域),SSD的能比ISD少。
[0011] 在本文的上下文中,术语“管理脚本”可以具体表示将要在安全域中被执行以进行期望的管理操作的一系列指令。更具体地,管理脚本可以包括能够被用于配置安全元件的预先计算的应用程序协议数据单元(APDU)。
[0012] 根据实施例,处理单元和安全域包括用于加密和解密的对应密钥组。对所生成的管理脚本进行加密的步骤使用的加密密钥组与存储在安全元件的安全域中的加密密钥组相对应。
[0013] 由此,可以确保安全域中的密钥能够被用于解密用处理单元的密钥加密的数据,反之亦然。
[0014] 在本文的上下文中,术语“密钥组”可以具体表示加密密钥组,即数据段,例如数字,可以用于访问控制、数据验证、数据的加密/解密等。
[0015] 在本文的上下文中,术语“用于加密和解密的对应密钥组”表示该密钥组是相同的,或者是可以一起使用的,即安全域中的密钥能够被用于解密用处理单元的密钥加密的数据,反之亦然。
[0016] 在实施例中,被称为加密和解密的处理也可以包括认证处理,如消息认证,以确保从在处理单元处被生成到在安全域被执行这段期间,即从处理单元到安全域,加密的管理脚本不被修改。
[0017] 根据进一步的实施例,该请求包括管理脚本的标识。
[0018] 该标识可以是数据,如字符串或数字,标识特定的管理脚本,从而向处理单元提供与将要生成的管理脚本有关的明确信息。
[0019] 由此,在实施例中处理单元能够生成一些不同的管理脚本,通过提供相应的标识作为请求的一部分,可以选择所需的脚本。
[0020] 根据进一步的实施例,该请求包括用于生成管理脚本的参数值。
[0021] 在本文的上下文中,术语“参数值”可以表示当生成管理脚本时需要考虑的任何数据。因此,参数值可能会影响甚至是确定所生成的管理脚本的一个或多个指令。因此,通过发送参数值作为请求的一部分,能够影响管理脚本的内容。
[0022] 需要明确指出的是,该请求可以包括将要生成的管理脚本的标识以及当生成管理脚本时要使用的参数值。
[0023] 根据进一步的实施例,主机单元是移动通信单元,参数值是移动通信单元的国际移动设备识别码(IMEI)。
[0024] 在本文的上下文中,术语“移动通信单元”可以表示能够进行数据通信的移动单元,例如移动电话,智能电话,平板电脑,PDA等。
[0025] 按照移动单元的IMEI,可以生成管理脚本,这会导致对于给定的移动通信单元特有的管理操作。例如,可以使用IMEI为移动单元生成修改的密钥组。
[0026] 根据进一步的实施例,管理脚本被配置用于执行从由安全元件定操作、安全元件解锁操作、安全元件复位操作、密钥修改操作、程序元件删除操作以及程序元件修改操作组成的组合中选择出来的安全元件管理操作。
[0027] 在本文的上下文中,术语“安全元件锁定操作”可以表示导致安全元件被锁定的操作。这样的操作例如对安全已经或者可能已经被危害的情况可能是有用的。
[0028] 在本文的上下文中,术语“安全元件解锁操作”可以表示导致解锁例如由于安全险先前已经被锁定的安全元件的操作。
[0029] 在本文的上下文中,术语“安全元件复位操作”可以表示导致安全元件被恢复到其初始出厂设置的操作。
[0030] 在本文的上下文中,术语“密钥修改操作”可以表示导致修改后的密钥组被生成并存储在安全元件中的操作。这样的操作也常被称为密钥轮换。
[0031] 处理单元适用于执行程序元件,在本文的上下文中,术语“程序元件”可以具体表示可执行程序、应用程序或小应用程序,处理单元通过执行程序元件能够从相关的主机单元接收输入,处理输入,并给主机元件提供相应的输出。
[0032] 在本文的上下文中,术语“程序元件删除操作”可以表示导致从安全元件中删除程序元件如小应用程序的操作。
[0033] 在本文的上下文中,术语“程序元件修改操作”可以表示导致修改或更新安全元件内的程序元件的操作。
[0034] 根据第二个方面,提供一种用于主机单元的安全元件。所述安全元件包括处理单元和安全域,其中处理单元适用于从主机单元接收对管理脚本的请求,根据该请求生成管理脚本,并对所生成的管理脚本进行加密,以及将加密的管理脚本发送到主机单元;安全域适用于从主机单元接收加密的管理脚本,并解密和执行管理脚本。
[0035] 这个方面是基于这样一种想法:即通过在安全元件中本地生成管理脚本,对所生成的管理脚本进行加密,并将其发送给主机单元(然后也可以将其传送到安全元件的安全域),这样能够提供加密的管理脚本,而不需要与单独的实体如TSM(可信服务管理器)进行通信。换句话说,加密的管理脚本是本地生成的,而不需要使用外部的TSM,但是与这样的外部的TSM生成的管理脚本相对应。因此,管理脚本可以被转发到安全元件的安全域,在安全域中以相同的方式解密并执行该管理脚本,就好像它是由外部的TSM提供的一样。
[0036] 根据实施例,处理单元和安全域包括用于加密和解密的对应密钥组。处理单元对所生成的管理脚本进行加密所使用的加密密钥组与存储在安全元件的安全域中的加密密钥组相对应。
[0037] 由此,可以确保安全域中的密钥能够被用于解密用处理单元的密钥加密的数据,反之亦然。
[0038] 根据第三个方面,提供一种移动通信装置,该移动通信装置包括根据第二个方面所述的嵌入式的安全元件。
[0039] 这个方面是基于这样一种想法:通过在安全元件中本地生成管理脚本,不需要为了执行安全元件上的管理操作与外部的TSM之间进行任何通信。因此,即使当不可能与外部的TSM通信之间进行通信时,例如,在网络覆盖很差或在移动通信设备的其他部分内存在缺陷的情况下,也可以执行这样的管理操作。
[0040] 必须要指出的是,本发明的实施例是参照不同的主题描述的。特别地,一些实施例是参照方法类型权利要求描述的,而其他实施例是参照设备类型权利要求描述的。然而,本领域的技术人员从上述以及下面的描述中将会知道,除非有其他另外的说明,否则属于一种类型的主题的特征的任意组合,以及涉及不同主题的特征的组合,特别是设备类型权利要求的特征与方法类型权利要求的特征的组合,都被认为是本文所披露的。
[0041] 上面定义的方面以及本发明的其它方面从下文将要描述的实施例的例子是显而易见的,并参照实施例的例子进行说明。在下文中,将参照实施例的例子更详细地描述本发明,然而本发明并不限于这些实施例。附图说明
[0042] 图1示出了根据实施例的安全元件和本地主机。
[0043] 图2示出了根据实施例由安全元件执行的锁定/解锁操作的概述。
[0044] 图3示出了根据实施例由安全元件执行的复位操作的概述。

具体实施方式

[0045] 附图中的图示是示意性的。应当注意的是,在不同的图中,相似或相同元件的附图标记或参考标号仅仅第一位数字不同。
[0046] 图1示出了相互通信的安全元件120和本地主机110。本地主机110可以是移动单元,例如移动电话或非接触式读取器。安全元件120包括发行者安全域(ISD)122和处理单元(本地TSM)124。ISD 122是安全元件120的微控制器(未示出)的(运行在JCOP=Java卡开放平台上的)操作系统的一部分,并且ISD 122包括两个加密密钥组126,128。加密密钥组128可以被共享给外部的可信服务管理器(未示出),加密密钥组126可以被共享给处理单元124,以使ISD 122能够解密由处理单元124加密的数据,反之亦然。
[0047] 在操作中,本地主机110将对管理脚本的请求经由连接132发送给处理单元124。响应于该请求,处理单元124生成对应的APDU脚本,使用密钥126对其进行加密,并将加密的脚本经由连接132发送回本地主机110。然后,本地主机110经由连接134将加密的脚本发送给安全元件120的ISD 122。从而,如箭头136所示,建立起从处理单元124通过主机单元110到ISD 122的安全通信通道。当接收到加密的脚本时,ISD 122使用密钥126对加密的脚本进行解密,并最终执行解密的脚本,从而实现所希望的管理操作,如轮换ISD密钥126、128,锁定、解锁或重置安全元件120,或删除或修改安全元件120中的程序元件。
[0048] 图2示出了与上述安全元件110相对应的安全元件的锁定/解锁操作的概述。
[0049] 为了锁定安全元件,相应的请求连同密码一起从本地主机210被发送到处理单元224,如箭头241所示。如果密码被处理单元224接受,则安全元件被锁定,并且相应的消息被返回到本地主机,如箭头242所示。安全元件保持在锁定状态243,直到解锁操作被执行。解锁操作是通过从本地主机210向ISD 222发送对序列计数器信息的请求开始的,如箭头251所示。由ISD 222将所请求的信息返回到本地主机210,如箭头252所示,然后本地主机210将生成APDU解锁脚本的请求发送给处理单元224,如箭头253所示。该请求中带有序列计数器信息和密码,如果序列计数器信息和密码被处理单元224接受,则生成所需的脚本,并对脚本进行加密以及消息认证,然后将其从处理单元224发送到本地主机210,如箭头254所示。
最后,加密的脚本被传送到ISD 222,如箭头255所示。在ISD 222处经过解密和执行脚本之后,安全元件处于解锁状态256。
[0050] 图3显示了与上述安全元件110相对应的安全元件的复位操作的概述。
[0051] 复位操作是通过从本地主机310向ISD 322发送对序列计数器信息的请求开始的,如箭头361所示。所请求的信息被ISD 322返回到本地主机310,如箭头362所示,然后本地主机310将生成第一APDU复位脚本的请求发送给处理单元324,如箭头363所示。该请求中带有序列计数器信息和密码,如果序列计数器信息和密码被处理单元324接受,则生成所需的第一脚本,并对第一脚本进行加密以及消息认证,然后将其从处理单元324发送到本地主机310,如箭头364所示,并且进一步从本地主机310发送到ISD 322,如箭头365所示。在ISD 
322处解密并执行第一脚本,这会导致从ISD 322向本地主机310发送应用程序标识符的优选的加密列表,如箭头366所示。然后生成第二APDU复位脚本的请求连同密码、应用程序标识符的列表、以及可选的,接管安全元件操作的新发行者的信息一起从本地主机310被发送到处理单元324,由箭头367所示。生成所请求的第二APDU复位脚本,将其从处理单元324发送到本地主机310,如箭头368所示,并进一步发送到ISD,如箭头369所示。当接收到第二脚本时,根据应用程序标识符的列表对安全元件进行复位。另外,如果安全元件由新发行者接管,则生成和加载相应的新密钥,如箭头370所示。
[0052] 需要明确指出的是,与图2和图3所示的实施例有关的特定功能、操作和协议的参考标号仅仅是示例。例如,参考标号“SCP02(...)”不排除使用与安全通道有关的其他全球平台兼容协议。
[0053] 应当注意的是,除非另有说明,否则在本文中使用的术语,如“上”,“下”,“左”和“右”仅仅是指相应附图的方向。
[0054] 应当注意的是,在本文中使用的术语“包括”不排除其他元件或步骤,并且冠词“一”或“一个”不排除多个。此外,不同实施例描述的元件可以被组合。还应当注意的是,在权利要求中的附图标记不应被解释为限制权利要求的范围。
QQ群二维码
意见反馈