安全元件中的小应用程序迁移的制作方法
【专利摘要】电子设备(诸如蜂窝电话)在电子设备中的安全元件上自动安装对小应用程序的更新并使对小应用程序的更新个性化。具体地,当从更新设备(诸如服务器)接收包含更新的数字签名的更新包时,安全元件识别被安装在安全元件上的任何先前版本的小应用程序。如果存在任何先前安装的版本,则安全元件使用与安全元件的供应商相关联的加密密钥来验证更新包的数字签名。随后,安全元件卸载先前版本的小应用程序并且导出相关联的用户数据。接下来,安全元件安装对小应用程序的更新,并且使用用户数据来使新版本的小应用程序个性化。
【专利说明】
安全元件中的小应用程序迁移
技术领域
[0001] 所述实施方案一般涉及无线电子设备,并且更具体地涉及用于更新被安装在无线 电子设备上的小应用程序的技术。
【背景技术】
[0002] 许多现代的电子设备通常包括用于与其他电子设备进行无线通信的联网子系统。 例如,这些电子设备可包括联网子系统,该联网子系统具有蜂窝网络接口(UMTS,LTE等)、无 线局域网接口(诸如电气与电子工程师协会(IEEE)802.11标准中所述的无线网络或来自 Kirkland, Washington的蓝牙特别兴趣小组的Bluetooth?、和/或另一种类型的无线接口 (诸如近场通信接口)。
[0003] 当前,对使用此类电子设备进行金融交易的兴趣日益增加。为了促进该功能,电子 设备可包括用于提供安全性、保密性和一个或多个应用程序环境的安全元件。该安全元件 可包括在安全元件的环境中执行的一个或多个小应用程序或应用程序(诸如与信用卡相关 联的支付小应用程序),其中小应用程序允许安全元件与另一电子设备诸如销售终端进行 金融交易。
[0004] 然而,可能难以安全地更新此类小应用程序。具体地,如果在安装新版本的小应用 程序之前卸载或删除旧版本的小应用程序,则用户数据可能会丢失。而且,在安装之前从旧 版本小应用程序向电子设备迀移用户数据存在安全风险。
[0005] 此外,问题还与从安全服务器安装新版本的小应用程序相关联。具体地,服务器可 能变成瓶颈,尤其是如果小应用程序需要在许多电子设备上同时更新时。
[0006] 因此,需要可升级技术和安全技术来更新被安装在电子设备上的小应用程序。
【发明内容】
[0007] 所述实施方案涉及电子设备(诸如蜂窝电话),该电子设备包括:天线;与更新设备 (向电子设备提供更新)进行无线通信的接口电路;以及安全元件。在操作期间,该安全元件 从更新设备接收具有数字签名的更新包,其中更新包包括对被安装在安全元件上的小应用 程序的更新。随后,安全元件识别被安装在安全元件上的小应用程序的至少一个先前版本。 该安全元件还可选地使用与安全元件的供应商相关联的加密密钥来验证数字签名。(然而, 在其他实施方案中,加密密钥可与电子设备的提供商和/或认证管理机构相关联。)接下来, 安全元件卸载小应用程序的至少一个先前版本,并且导出与该小应用程序的至少一个先前 版本相关联的用户数据。而且,安全元件安装对小应用程序的更新,并且使用用户数据来使 小应用程序个性化。
[0008] 在一些实施方案中,在安装对小应用程序的更新之前,安全元件识别先前被安装 在安全元件上的小应用程序的两个或更多个版本,并且卸载先前安装的小应用程序的两个 或更多个版本。
[0009] 另外,在安装对小应用程序的更新之前,安全元件可使用与供应商相关联的第二 加密密钥来对更新包进行解密。该第二加密密钥可与加密密钥相同或不同。
[0010] 注意,可通过搜索与由安全元件中的处理器执行的正常操作系统相关联的注册表 来识别小应用程序的至少一个先前版本。
[0011] 而且,数字签名可与供应商的私有加密密钥相关联,并且安全元件可使用供应商 的对应公共加密密钥来验证该数字签名。而且,在其他实施方案中,使用对称加密密钥。因 此,数字签名可与供应商的加密密钥相关联,并且安全元件可选地使用供应商的加密密钥 来验证该数字签名(同样,在其他实施方案中,加密密钥可与电子设备的提供商和/或认证 管理机构相关联)。
[0012] 而且,接收、识别、验证、卸载、安装和/或个性化操作可由更新操作系统来执行(该 更新操作系统由安全元件中的处理器执行),并且更新操作系统可与由处理器所执行的、执 行安全元件的其他功能的正常操作系统分开。
[0013] 在一些实施方案中,安全元件包括处理器和耦接至该处理器并存储由处理器所执 行的程序模块的存储器。该程序模块可包括用于由安全元件执行的上述操作中的至少一些 操作的指令。
[0014] 另一实施方案提供安全元件。
[0015] 另一实施方案提供一种与电子设备中的安全元件结合使用的计算机程序产品。该 计算机程序产品可包括用于由安全元件执行的上述操作中的至少一些操作的指令。
[0016] 另一实施方案提供一种更新被安装在电子设备中的安全元件中的小应用程序的 方法,该小应用程序可由安全元件中的处理器执行。在操作期间,处理器从更新设备接收具 有数字签名的更新包,其中该更新包包括对被安装在安全元件上的小应用程序的更新。随 后,处理器识别被安装在安全元件上的小应用程序的至少一个先前版本。处理器还使用与 安全元件的供应商相关联的加密密钥来验证数字签名。接下来,处理器卸载小应用程序的 至少一个先前版本并且导出与小应用程序的至少一个先前版本相关联的用户数据。而且, 处理器安装对小应用程序的更新,并且使用用户数据来使小应用程序个性化。
[0017] 另一实施方式提供一种包括电子设备和更新设备的系统。
[0018] 提供前述
【发明内容】
是为了概述一些示例性实施方案,以便提供对本文所述的主题 的各个方面的基本理解。因此,上述特征仅为示例并且不应理解为以任何方式缩小本文所 述的主题的范围或实质。本文所述的主题的其他特征、方面和优点将根据以下具体实施方 式、附图和权利要求书而变得显而易见。
【附图说明】
[0019] 图1是示出电子设备根据本公开的实施方案进行通信的框图。
[0020] 图2是根据本公开的实施方案的示出图1的电子设备中的一个电子设备的框图。
[0021] 图3是示出根据本公开的实施方案的用于更新被安装在图1中的电子设备中的一 个电子设备上的小应用程序的方法的流程图。
[0022]图4是示出根据本公开的实施方案的用于卸载图1中的电子设备中的一个电子设 备中的某版本的小应用程序并且导出个人数据的方法的流程图。
[0023]图5是示出根据本公开的实施方案的在图1的电子设备中的一个电子设备内进行 通信的图示。
[0024] 图6是示出根据本公开的实施方案的用于在图1中的电子设备中的一个电子设备 中安装新版本的小应用程序并且导入个人数据的方法的流程图。
[0025] 图7是示出根据本公开的实施方案的在图1的电子设备中的一个电子设备内进行 通信的图示。
[0026] 图8是示出根据本公开的实施方案的图1的电子设备中的一个电子设备中的注册 表条目的图示。
[0027] 图9是示出根据本公开的实施方案的图6的方法中的预检脚本(preflight script)的图示。
[0028] 需注意,在整个附图中类似的附图标号指代对应的部件。此外,相同部件的多个实 例由公共前缀指定,该公共前缀通过破折线与实例标号分开。
【具体实施方式】
[0029] 电子设备(诸如蜂窝电话)在电子设备中的安全元件上自动安装对小应用程序的 更新并使对小应用程序的更新个性化(有时被称为"小应用程序迀移")。具体地,当从更新 设备(诸如服务器)接收包含更新的数字签名的更新包时,安全元件识别被安装在安全元件 上的任何先前版本的小应用程序。如果存在任何先前安装的版本,则安全元件可选地使用 与安全元件的供应商相关联的加密密钥来验证更新包的数字签名。(然而,在其他实施方案 中,加密密钥与电子设备的提供商和/或认证管理机构相关联。)随后,安全元件卸载先前版 本的小应用程序并且导出相关联的用户数据。接下来,安全元件安装对小应用程序的更新, 并且使用用户数据来使新版本的小应用程序个性化。以此方式,电子设备在从先前版本的 小应用程序保持个性化的同时提供可升级的更新解决方案。
[0030] 该更新包可经由电子设备与更新设备之间的无线通信而被接收。该无线通信可涉 及输送由电子设备和更新设备中的无线电部件根据通信协议诸如电气与电子工程师协会 (IEEE) 802.11标准、Bluetooth?(来自 Kirkland,Washington的蓝牙特别兴趣小组)、和/或 另一种类型的无线接口(诸如近场通信标准或规范(来自Wakefield Massachusetts的NFC 论坛))传输和接收的分组。此外,通信协议可与第三代移动电信技术(诸如符合瑞士日内瓦 的国际电信联盟的国际移动电信-2000规范的通信协议)、第四代移动电信技术(诸如符合 瑞士日内瓦的国际电信联盟的国内移动电信高级规范的通信协议)和/或其他蜂窝电话通 信技术兼容。
[0031] 电子设备和更新设备之间的通信在图1中示出,该图1呈现了示出电子设备110和 更新设备112进行通信的框图。如下文参考图3-图7进一步所述的,这些电子设备可在更新 设备112(诸如服务器或者更新计算机)向更新包提供对被安装在电子设备110(诸如蜂窝电 话)上的先前版本的小应用程序(即,新版本的小应用程序)的更新时进行通信。例如,先前 版本的小应用程序可被安装在电子设备110中的安全元件上。此外,电子设备110的用户可 利用用户数据先前定制先前版本或使先前版本个性化。
[0032] 在下文所述的更新技术中,该安全元件通过识别至少一个(并且在一些实施方案 中,所有)先前安装版本(或可替代地,实例)的小应用程序来确定更新包是否与电子设备 110有关。随后,安全元件通过验证与安全元件的供应商相关联的数字签名来认证更新包。 (可替代地,数字签名可与电子设备110的提供商或者被安装在电子设备110中的安全元件 上的小应用程序相关联。)例如,安全元件可使用与供应商相关联的加密密钥(诸如公共加 密密钥)来验证更新包。此外,安全元件可使用可与加密密钥相同或不同的第二加密密钥来 对更新包进行解密。在示例性实施方案中,使用公-私加密密钥技术。具体地,可使用供应商 的私有加密密钥来对更新包进行标记,并且数字签名可被验证以及可使用供应商的公共加 密密钥来对该更新包进行解密。然而,在其他实施方案中,使用对称加密技术。因此,可使用 相同加密密钥来标记、加密和/或解密更新包。
[0033] 随后,安全元件卸载(以及在一些实施方案中,所有)先前版本的小应用程序并且 导出相关联的用户数据。接下来,安全元件安装对小应用程序的更新,并且使用用户数据来 使新版本的小应用程序个性化。
[0034] 采用这些方式,电子设备110和更新设备112可用于安全和灵活地散布和安装对先 前被安装在电子设备110上的一个或多个小应用程序的个性化更新,同时迀移或保持相关 联的用户数据。
[0035] 如前所述,电子设备110和/或更新设备112之间的通信可涉及对包括更新包的分 组的交换。这些分组可被包括在一个或多个无线信道中的帧中。
[0036] 如下文参考图2进一步所述的,电子设备110和/或更新设备112可包括子系统,诸 如:联网子系统,存储器子系统和处理子系统和安全子系统。此外,电子设备110和/或更新 设备112可包括联网子系统中的无线电部件114。更一般地,电子设备110和/或更新设备112 可包括具有联网子系统的任何电子设备(或可被包括在该任何电子设备内),该联网子系统 使得电子设备110和/或更新设备112能够与另一电子设备进行无线通信。其可包括在无线 信道上传输帧,以使得电子设备能够进行初始接触,之后是交换后续的数据帧/管理帧(诸 如用于建立连接的连接请求),配置安全选项(例如IPSEC),传输和接收分组或帧等。
[0037]如图1中可看出,无线信号116(由锯齿状线表示)从电子设备110中的无线电部件 114-1被传输/由电子设备110中的无线电部件114-1接收。这些无线信号由更新设备112中 的无线电部件114-2接收/从更新设备112中的无线电部件114-2被传输。(注意,电子设备 110和/或更新设备112之间的通信还可经由网络118发生,该网络118可涉及利用不同于无 线信号116的通信协议进行有线通信。)而且,无线通信可涉及或也可不涉及在电子设备110 和/或更新设备112之间建立连接,因此可涉及或也可不涉及经由无线网络(诸如蜂窝电话 网络)进行通信。
[0038]在所述实施方案中,处理电子设备110和/更新设备112中的分组或帧包括:接收具 有分组或帧的无线信号116;从所接收的无线信号116中解码/提取分组或帧以获取分组或 帧;以及处理分组或帧以确定被包含在分组或帧中的信息(诸如更新包的至少一部分)。
[0039] 如先前所述,通常电子设备110和/或更新设备112之间的通信可被加密。该加密可 使用加密密钥(诸如与小应用程序和/或安全元件的供应商相关联的加密密钥)。而且,加密 可使用对称加密技术或非对称加密技术。
[0040] 虽然我们以图1所示的环境为示例进行描述,但是在另选的实施方案中,可呈现不 同数量或类型的电子设备。例如,一些实施方案包括更多或更少的电子设备。又如,在另一 个实施方案中,不同的电子设备传输和/或接收分组或帧。
[0041] 现在对电子设备的实施方案进行描述。图2呈现了用于示出电子设备110的框图。 该电子设备包括处理子系统210、存储器子系统212、联网子系统214、认证子系统216和安全 子系统218。处理子系统210包括被配置为执行计算操作的一个或多个设备。例如,处理子系 统210可包括一个或多个微处理器、专用集成电路(ASIC)、微控制器、可编程逻辑器件和/或 一个或多个数字信号处理器(DSP)。
[0042]此外,处理子系统210可包括执行处理子系统210中的其他部件的安全服务并且与 电子设备110中的其他子系统进行安全通信的安全区域处理器220(其为处理子系统210中 的一个或多个处理器内的片上系统)。安全区域处理器220可包括安全启动R0M、一个或多个 处理器、一个或多个安全外围设备和/或其他部件。该安全外围设备可为被配置为有助于由 安全区域处理器220执行的安全服务的硬件。例如,该安全外围设备可包括:实现各种认证 技术的认证硬件、被配置为执行加密的加密硬件、被配置为通过安全接口传送至其他部件 的安全接口控制器、和/或其他部件。在一些实施方案中,能够由安全区域处理器220执行的 指令被存储在存储器子系统212中的被分配给安全区域处理器220的可信区域中,并且安全 区域处理器220从可信区域获取指令以供执行。安全区域处理器220可与处理子系统210的 其余部分(谨慎控制的接口除外)隔离,从而形成用于安全区域处理器220及其部件的安全 区域。由于到安全区域处理器220的接口被谨慎地控制,所以可阻止对安全区域处理器220 内的部件(诸如处理器或安全引导ROM)的直接访问。在一些实施方案中,安全区域处理器 220加密和/或解密与认证子系统216进行通信的认证信息,并加密和/或解密与安全子系统 218进行通信的信息(诸如令牌)。此外,安全区域处理器220可将认证信息与所存储的认证 进行比较,并且如果获得匹配,则可将具有认证完成指示符的加密令牌提供到安全元件 230,和/或可将认证完成指示符作为标记在操作系统244中声明。
[0043] 存储器子系统212包括用于存储用于处理子系统210、联网子系统214、认证子系统 216和/或安全子系统218的数据和/或指令的一个或多个设备。例如,存储器子系统212可包 括动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)和/或其他类型的存储器。在一 些实施方案中,存储器子系统212中的用于处理子系统210的指令包括:可由处理子系统210 执行的一个或多个程序模块或指令集(诸如程序模块246,诸如电子钱包、卡券簿和/或移动 支付应用程序)。需注意,该一个或多个计算机程序可构成计算机程序机制或程序模块。此 外,存储器子系统212中的各个模块中的指令可以以下语言来实现:高级程序语言、面向对 象的编程语言、和/或汇编语言或机器语言。此外,编程语言可被编译或解释,例如可配置为 或被配置为(这两者在这个讨论中可互换使用)将要由处理子系统210执行。
[0044] 此外,存储器子系统212可包括用于控制对存储器的访问的机构。在一些实施方案 中,存储器子系统212包括存储器分级结构,该存储器分级结构包括耦接至电子设备110中 的存储器的一个或多个高速缓存。在这些实施方案中的一些实施方案中,该高速缓存中的 一个或多个高速缓存位于处理子系统210中。
[0045] 在一些实施方案中,将存储器子系统212耦接至一个或多个高容量海量存储设备 (未示出)。例如,存储器子系统212可耦接至磁盘驱动器或光盘驱动器、固态驱动器、或另一 种类型的海量存储设备。在这些实施方案中,存储器子系统212可被电子设备110用作用于 经常使用的数据的快速存取存储装置,而海量存储设备被用于存储使用频率较低的数据。
[0046] 联网子系统214包括被配置为耦接至有线网络和/或无线网络并在有线网络和/或 无线网络上进行通信(即,以执行网络操作)的一个或多个设备,包括接口电路222(诸如近 场通信电路)和天线224。例如,联网子系统214可包括Bluetooth?联网系统、蜂窝联网系统 (诸如,36/46网络,诸如1^3、1^等)、通用串行总线〇0)联网系统、基于此££ 802.11中所 述的标准的联网系统(例如Wi-Fi:KK网系统)、以太网联网系统、和/或另一种通信系统(诸 如近场通信系统)。
[0047] 联网子系统214包括处理器、控制器、无线电部件/天线、插座/插头、和/或用于耦 接到每个所支持的联网系统或通信系统、在每个所支持的联网系统或通信系统上进行通信 并且为每个所支持的联网系统或通信系统处理数据和事件的其他设备需要指出,用于耦接 到每个网络系统的网络、在每个网络系统的网络上进行通信、和处理每个网络系统的网络 上的数据和事件的机构有时被统称为用于该网络系统的"网络接口"。此外,在一些实施方 案中,电子设备之间的"网络"尚不存在。因此,电子设备110可使用联网子系统214中的机构 来执行电子设备110和更新设备112(图1)之间的简单无线通信,例如传输通告帧和/或近场 通信。
[0048] 认证子系统216可包括一个或多个处理器、控制器和设备,以用于从电子设备110 的用户接收认证信息,并且用于将该认证信息安全地传送至处理子系统210(诸如通过加密 认证信息)。例如,认证信息可包括:由生物特征传感器226(诸如指纹传感器、视网膜传感 器、手掌传感器、数字签名识别传感器等)所获取的生物特征标识符;使用用户界面设备228 (诸如小键盘、触敏显示器、光学字符识别和/或语音识别)所接收的与支付小应用程序236 中的一个支付小应用程序相关联的个人识别码(PIN);以及使用用户界面设备228所接收的 用于对电子设备110的至少一些功能进行解码的密码。
[0049] 此外,安全子系统218可包括安全元件230,该安全元件包括存储器和一个或多个 处理器。需要指出,安全元件230可以是在电子设备110中的用于提供安全性、机密性、以及 为了支持各种商业模型所需的多个应用环境的防篡改部件。安全元件230可以多种形状因 数中的一种或多种形状因数存在,诸如:通用集成电路卡(UICC)、嵌入式安全元件(位于电 子设备110中的电路板上)、智能安全数字(SD)卡、智能微型SD卡等。
[0050] 此外,安全元件230可包括在安全元件230的环境中(诸如在安全元件230的操作系 统232中、和/或在安全元件230上执行的Java运行环境中)执行的一个或多个小应用程序或 应用程序。例如,一个或多个小应用程序可包括用于以下操作的认证小应用程序:执行非接 触式注册服务、加密/解密与安全区域处理器220进行通信的分组或令牌、在安全元件230的 操作系统232中设置一个或多个软件标记(诸如认证完成标记)、和/或将信息传送至一个或 多个支付小应用程序236。一个或多个小应用程序可包括一个或多个支付小应用程序236, 当由程序模块246激活时,以及基于一个或多个软件标记和/或当电子设备110靠近其他电 子设备时与另一电子设备进行金融交易。具体地,支付小应用程序236可各自与金融工具 (诸如信用卡、借记卡、预付费借记卡、礼品卡,以及更具体地由金融机构例如银行提供的金 融工具,该金融工具与用户诸如电子设备110的用户的金融账户相关联)相关联。此外,安全 元件230可包括与一个或多个支付小应用程序236相关联的信息(诸如,金融凭据,例如设备 主账号或DPAN或PIN,例如与给定支付小应用程序相关联的借记卡号,以及与给定支付小应 用程序相关联的一个或多个加密密钥),当进行金融交易时使用该支付小应用程序。(注意, DPAN可与金融账户的金融主账号或FPAN诸如信用卡号相关联但不同。DPAN可为用于金融账 户的虚拟标识符。)
[0051]该认证小应用程序可在安全元件230中的主安全域或发行者安全域(诸如控制管 理机构安全域)中执行,而支付小应用程序236可在补充安全域中执行。这些安全域之间的 通信可使用特定于安全域的不同加密/解密密钥来进行加密。在电子设备110中和/或在电 子设备110和/或更新设备112(图1)之间的通信期间,加密/解密可涉及对称加密和/或非对 称加密。此外,所传送的信息还可包括特定于电子设备110和/或电子设备110中的部件诸如 安全元件230或支付小应用程序236中的一个支付小应用程序的数字签名。
[0052]在电子设备110的操作期间,用户可使用卡券簿248来选择或激活一个或多个支付 小应用程序236。如果支付小应用程序支持认证完成标记(如通过启用或设定支付小应用程 序中的认证支持所指示的),为了支付小应用程序与另一电子设备进行金融交易,支付小应 用程序可能需要被激活并且认证完成标记可能需要在安全元件230中被设定或启用(指示 用户已被认证)。相反,对于不支持认证完成标记的支付小应用程序236中的一个支付小应 用程序,可在该支付小应用程序活动时进行金融交易(即,支付小应用程序的操作并未受到 安全元件230中的认证完成标记的设定或启用的门控)。尽管本论述示出了使用全局认证完 成标记,但需注意,在一些实施方案中,独立的认证完成标记与至少一些支付小应用程序 236相关联(即,可能存在用于给定支付小应用程序的特定认证完成标记等)。
[0053]当电子设备110邻近其他电子设备(诸如,销售点终端)时或当安全区域处理器220 向安全元件230提供支付命令时,特定的、激活的和/或认证的支付小应用程序236中的一个 支付小应用程序可向接口电路222或向安全区域处理器220(随后向接口电路222提供支付 包)提供支付包(可经过加密或未经加密)。随后,接口电路222可使用天线224来将支付包传 送至其他电子设备(诸如销售点终端)。注意,支付包可包括金融信息(诸如与支付小应用程 序236中的一个支付小应用程序相关联的金融凭据或DPAN)。
[0054] 该金融信息(以及由其他电子设备提供的附加信息,诸如商户标识符、金融交易量 等)可由其他电子设备传送至支付网络118(图1),以完成金融交易。一旦金融交易完成,则 接口电路222可接收来自管理电子设备的通知(可与电子设备110的提供商相关联)。卡券簿 248可将该通知提供至显示子系统240以用于显示,因此可警告电子设备110的用户该金融 交易成功完成。
[0055] 如前所述,在更新技术期间,电子设备110可从更新设备112(图1)接收数字签名的 更新包。具体地,接口电路222可接收更新包,并且可将该更新包提供至安全区域处理器 220。随后,安全区域处理器220可将更新包安全地传输至安全元件230。作为响应,操作系统 232(或由操作系统232的环境中的安全元件230中的处理器执行的程序模块)可识别被安装 在安全元件230上的小应用程序236中的一个小应用程序(诸如,支付小应用程序)的至少一 个先前版本。例如,可通过搜索与操作系统232相关联的注册表来识别小应用程序236中的 一个小应用程序的至少一个先前版本。
[0056] 而且,操作系统232可使用与安全元件230的供应商(或小应用程序的供应商)相关 联的加密密钥来可选地验证数字签名。然而,在其他实施方案中,加密密钥与电子设备的提 供商和/或认证管理机构相关联。
[0057]在一些实施方案中,操作系统232使用与安全元件230的供应商(或小应用程序的 供应商)相关联的第二加密密钥来对更新包进行解密。此第二加密密钥可与加密密钥相同 或不同。
[0058]接下来,操作系统232可卸载小应用程序的至少一个先前版本,并且可导出与小应 用程序的至少一个先前版本相关联的用户数据。而且,操作系统232可安装对小应用程序的 更新,并且可使用用户数据来使小应用程序个性化。卸载(或删除)、导出、安装小应用程序 并使小应用程序个性化可发生在安全元件230上的安全域内。
[0059]注意,由操作系统232执行的上述操作中的一个或多个操作可由更新操作系统234 (诸如高端引导加载器)执行,该更新操作系统234由安全元件中的处理器执行。该更新操作 系统可与执行安全元件230的其他功能的操作系统232分开。更新操作系统234可更新操作 系统232和/或与一个或多个小应用程序236相关联的软件的一部分。
[0060] 在电子设备110内,处理子系统210、存储器子系统212、联网子系统214、认证子系 统216和安全子系统218可使用一个或多个互连件诸如总线238而被耦接。这些互连件可包 括可供子系统用于在彼此之间传送命令和数据的电连接件、光学连接件、和/或光电连接 件。需注意,不同的实施方案可包括子系统之间的不同数量或配置的电连接件、光连接件、 和/或光电连接件。在一些实施方案中,电子设备110可检测对安全部件(诸如安全区域处理 器220、安全元件230和/或总线238)的篡改,并且如果检测到篡改,则可破坏对密钥或认证 信息(诸如所存储的生物特征标识符)的加密/解密。
[0061] 在一些实施方案中,电子设备110包括用于在显示器上显示信息的显示子系统240 (诸如成功完成金融交易的通知),该显示子系统可包括显示器驱动器和显示器,该显示器 诸如液晶显示器、多点触摸触摸屏等。此外,在一些实施方案中,电子设备110包括安全输 入/输出(I/O)子系统242(诸如小键盘),以用于接收用户的与支付小应用程序236中的一个 支付小应用程序相关联的PIN。如前所述,显示子系统240和/或安全I/O子系统242可被包括 在认证子系统216中。
[0062] 电子设备110可为具有至少一个网络接口的任何电子设备(或可被包括在具有至 少一个网络接口的任何电子设备中)。例如,电子设备110可以是以下设备(或可被包括在以 下设备中):台式计算机、膝上型计算机、服务器、媒体播放器(诸如MP3播放器)、家用电器、 小型笔记本计算机/上网本、平板电脑、智能电话、蜂窝电话、一件测试设备、网络设备、机顶 盒、个人数字助理(PDA)、玩具、控制器、数字信号处理器、游戏机、家用电器内的计算引擎、 消费类电子设备、便携式计算设备、个人备忘记事本、和/或另一个电子设备。
[0063] 虽然使用特定部件来描述电子设备110,但是在可另选的实施方案中,在电子设备 110中可能存在不同的部件和/或子系统。例如,电子设备110可包括一个或多个附加处理子 系统、存储器子系统、联网子系统、认证子系统、安全子系统、显示子系统和/或安全I/O子系 统。另外,这些子系统中的一个或多个子系统可能不存在于电子设备110中。此外,在一些实 施方案中,电子设备110可包括图2中未不出的一个或多个附加子系统。例如,电子设备110 可包括但不限于数据收集子系统、音频子系统和/或视频子系统、报警子系统、和/或媒体处 理子系统。此外,虽然在图2中示出了分开的子系统,但是在一些实施方案中,给定子系统或 部件中的一些或全部子系统或部件可被集成到电子设备110中的其他子系统或部件中的一 个或多个其他子系统或部件中。例如,在一些实施方案中,程序模块246被包括在操作系统 244中。作为另外一种选择或除此之外,程序模块246的至少一些功能可被包括在卡券簿248 中。
[0064] 此外,电子设备110中的电路和部件可使用模拟电路和/或数字电路的任一组合来 实现,包括:双极性PM0S和/或NM0S栅极或晶体管。此外,这些实施方案中的信号可包括具有 近似离散值的数字信号和/或具有连续值的模拟信号。另外,部件和电路可为单端型或差分 型,并且电源可为单极性或双极性。
[0065] 集成电路可实现联网子系统214(诸如无线电部件)的一些或全部功能,并且更一 般地,可实现电子设备110的一些或全部功能。此外,集成电路可包括用于将无线信号从电 子设备110传输至更新设备112(图1)以及在电子设备110处从更新设备112(图1)接收信号 的硬件机构和/或软件机构。除了本文所述的机制,无线电部件在本领域中是公知的,因此 没有详细描述。通常,联网子系统214和/或集成电路可包括任意数量的无线电部件。需注 意,多无线电部件实施方案中的无线电部件以类似于所述单无线电部件实施方案的方式起 作用。
[0066] 在一些实施方案中,联网子系统214和/或集成电路包括将一个或多个无线电部件 配置为在给定的通信信道(诸如给定的载波频率)上进行传输和/或接收的配置机构(诸如 一个或多个硬件机构和/或软件机构)。例如,在一些实施方案中,该配置机构可用于将无线 电部件从在给定通信信道上进行监视和/或传输切换到在另一通信信道上进行监视和/或 传输。(需注意,本文所使用的"监视"包括从另一电子设备接收信号,并且可能对所接收的 信号执行一个或多个处理操作,诸如确定所接收的信号是否包括通告帧等)
[0067] 尽管使用与蜂窝电话网络兼容的通信协议作为示例性示例,但更新技术的所述实 施方案可用于多种网络接口或通信接口。此外,虽然前述实施方案中的一些操作在硬件或 软件中实现,但是一般来讲,前述实施方案中的操作可在多种配置和架构中实现。因此,前 述实施方案中的一些或全部操作可在硬件、软件中执行或在硬件和软件两者中执行。
[0068] 尽管前述论述关注电子设备110中的硬件、软件和功能,但更新设备112(图1)可具 有相同或类似的硬件(处理器、存储器、联网接口等)和/或软件来支持由这些实体所执行的 操作,如下文参考图3-图7进一步所述的。具体地,这些实体可包括具有执行被存储在存储 器子系统中的一个或多个程序模块以执行操作的处理子系统的一个或多个计算机系统、以 及用于与其他电子设备诸如电子设备110进行通信的一个或多个联网接口。
[0069] 现在进一步描述更新或迀移被安装在电子设备中的安全元件上的小应用程序。图 3呈现了示出用于更新被安装在电子设备(诸如,图1的电子设备110)上的小应用程序的方 法300的流程图,该方法可由电子设备中的安全元件中的处理器执行。例如,处理器可执行 包括用于方法300中的操作的指令的程序模块。在操作期间,处理器从更新设备接收具有数 字签名的更新包(操作310 ),其中该更新包包括对被安装在安全元件上的小应用程序的更 新。
[0070] 随后,处理器识别被安装在安全元件上的小应用程序的至少一个先前版本(操作 312)。例如,该安全元件可识别先前被安装在安全元件上的小应用程序的两个或更多个版 本,并且可卸载先前安装的小应用程序的两个或更多个版本。在一些实施方案中,该安全元 件识别先前安装的所有版本的小应用程序,并且卸载先前安装的所有版本的小应用程序。 注意,可通过搜索与由安全元件中的处理器执行的正常操作系统相关联的注册表来识别小 应用程序的至少一个先前版本。
[0071] 而且,处理器可选地使用可与安全元件的供应商相关联的加密密钥来验证数字签 名(操作314)。(然而,在其他实施方案中,加密密钥与电子设备的提供商和/或认证管理机 构相关联。)具体地,数字签名可与供应商的私有加密密钥相关联,并且安全元件可使用供 应商的公共加密密钥来验证该数字签名。而且,在其他实施方案中,使用对称加密密钥。因 此,在这些实施方案中,数字签名可与供应商的加密密钥相关联,并且安全元件可使用供应 商的加密密钥来验证该数字签名。
[0072] 在一些实施方案中,该安全元件使用可与供应商相关联的第二加密密钥来可选地 对更新包进行解密(操作316)。此第二加密密钥可与加密密钥相同或不同。
[0073] 接下来,处理器卸载小应用程序的至少一个先前版本,并且导出与小应用程序的 至少一个先前版本相关联的用户数据(操作318)。
[0074] 而且,处理器安装对小应用程序的更新,并且使用用户数据来使小应用程序个性 化(操作320)。
[0075] 注意,方法300中的操作中的一个或多个操作可由更新操作系统来执行(该更新操 作系统由安全元件中的处理器执行),并且更新操作系统可与由处理器所执行的、执行安全 元件的其他功能的正常操作系统分开。(另选地,方法300中的操作中的一个或多个操作可 由正常操作系统或可由在与正常操作系统相关联的环境中运行的程序模块来执行。)下面 参考图4和图6进一步描述该方法。
[0076] 在示例性实施方案中,更新技术允许对包括安全元件(诸如图2中的安全元件230) 的电子设备上的一个或多个Java Card小应用程序的更新。除了实例化或安装新版本(或可 选地,新实例)的小应用程序之外,更新技术还可将用户数据从一个或多个先前版本的小应 用程序(例如,当前安装的版本)安全地转移到新版本的小应用程序,并且可卸载(或删除) 一个或多个先前版本的小应用程序。该更新技术可解决与对被安装在安全元件上的Java Card小应用程序的安全更新相关联的若干个问题和挑战。
[0077] 具体地,在现有更新技术中,Java Card小应用程序可以二进制的格式(可执行加 载文件)被加载到安全元件上。小应用程序实例或版本可从这些二进制文件安装,并且可用 于支持各种使用情况。注意,更新包可包括用于具有公共类应用标识符或类AID的一个或多 个小应用程序的二进制文件(因此,用于小应用程序的具有不同类AID的更新可被包含在不 同的更新包中)。对小应用程序软件的更新通常涉及将新版本的二进制文件加载到安全元 件,安装新版本的小应用程序并且任何使新版本的小应用程序个性化。
[0078]然而,一旦将新二进制文件加载到安全元件上,可能不存在安全元件可用于确定 新二进制文件为新版本的现有二进制文件以及针对与新二进制文件相关联的已安装的小 应用程序的每个版本继续创建新版本的小应用程序的任何信息。结果,在现有更新技术中, 新实例可能需要针对当前被安装在安全元件上的每个实例或版本来创建。
[0079] 而且,小应用程序可使用可在个性化阶段期间和/或在其使用期间被填充的用户 数据。然而,在现有更新技术中不存在用于将该数据从一个小应用程序实例安全转移到另 一个小应用程序实例的方法的情况下,可能需要耗时的重新个性化操作和/或用户数据可
[0080] 此外,通过要求两个版本的相同二进制文件与两倍小应用程序实例的数量一起保 持,现有更新技术可能限制安全元件中的有限的存储器。
[0081 ]在公开的更新技术中,安全元件(在图2中的安全元件230)中的补充安全域数据存 储全局服务向外部实体(诸如图1中的更新设备112)提供加密密钥管理和通信访问。而且, 安全元件上的安全域可将全局服务暴露于其相关联的应用程序,从而允许应用程序导入数 据并将数据导出到由补充安全域管理的安全数据存储器。
[0082]如下参考图4和图5所述的,当电子设备接收更新包(可包括新操作系统代码、新包 或具有不同于现有包AID的AID的二进制文件、和/或元数据)时,可发生板上(或内部)删除 和数据导出处理。随后,如下参考图6和图7所述的,可发生板上安装和小应用程序个性化处 理。
[0083]然而,在这些处理期间,正常操作系统(诸如图2中的操作系统232)中的一个或多 个注册表条目对象可增添"第二AID"字段。具体地,用于小应用程序实例或版本的注册表条 目可包括:包AID、类别AID、AID、第二AID、相关联的安全域、特权和生命周期状态。更新包中 的元数据部分可包括包AID以及使用操作系统更新私有验证加密密钥进行标记的先前版本 的小应用程序的包AID。
[0084] 在接收到更新包之后,该安全区域处理器(诸如图2中的安全区域处理器220)可提 取元数据并且将其用于构建发送到安全元件的更新小应用程序命令(有时被称为"更新小 应用程序应用程序协议数据单元命令")。随后,安全元件可接收被发送给主安全域或发行 者安全域的更新小应用程序命令。
[0085] 如图4所示,图4呈现示出了方法400的流程图,该方法用于卸载某版本的小应用程 序以及导出数字设备11〇(图1)中的个人数据,响应于接收到更新小应用程序命令,安全元 件中的正常操作系统可浏览注册表来搜索当前包AID(CPAID)。如果找到类似的包AID,则正 常操作系统可继续验证元数据的数字签名。而且,如果签名验证成功,则安全元件可开始板 上删除。正常操作系统随后可在包的注册表条目中挂起"〇n_board_flag"。该 〇n_b〇ard_ flag可在下述的安装和个性化处理完成之前保持挂起。此外,正常操作系统可将当前包AID 复制到包注册表条目的第二AID字段中。因此,用于包的注册表条目可包括 〇n_b〇ard_l〇ad 标记和一个或多个小应用程序条目。用于包的这些小应用程序条目中的每个小应用程序条 目可包括相关联的〇n_board_install标记,以及包AID、类别AID、AID、第二AID、相关联的安 全域、特权和生命周期状态。
[0086] 而且,正常操作系统可浏览用于从待更新的包实例化的所有小应用程序的注册 表。对于每个小应用程序(1到N),正常操作系统可在当前版本的小应用程序(CVA)的注册表 条目中挂起以下标记:"〇n_b 〇ard_inStair(其可保持挂起,直到已安装来自更新包的对应 小应用程序)以及" 〇n_b〇ard_pers〇"(其可保持挂起,直到已使用迀移的用户数据来使来自 更新包的对应小应用程序个性化)。
[0087] 此外,正常操作系统可将在更新包中的更新表中提供的新版本的小应用程序 (NVA)AID存储在每个对应的注册表条目中。一旦放下on_board_install标记,则该AID可替 代当前版本的小应用程序AID。注意,对于未被包括在更新表中的小应用程序AID,当前版本 的小应用程序AID可被填充在第二AID字段中。
[0088] 而且,注意,待删除的每个版本或实例(包括不存在于更新表中的小应用程序)可 在删除之前被触发并且可将其用户数据导出到其相关联的补充安全域(SSD)。如前所述,补 充安全域可实现全局服务并且暴露数据存储器接口。在接收到全局服务请求时,相关联的 补充安全域可基于小应用程序的注册表条目来检查用于请求全局服务的小应用程序为其 相关联的应用程序中的一个应用程序。
[0089] 一旦已成功删除所有当前版本的小应用程序,则安全元件中的正常操作系统可阻 挡任何随后的应用程序协议数据单元消息(即,实体与电子设备中的部件之间的原子消 息),除了 :用于选择发行者安全域的命令;以及其他更新小应用程序命令。因此,正常操作 系统可拒绝其他应用程序协议数据单元命令(例如,具有特定状态字词)。
[0090] 在图5中示出了方法400期间的电子设备110内的通信。具体地,安全区域处理器 220(并且更一般地,图2中的处理子系统210)可将来自更新包的元数据提供至安全元件230 中的发行者安全域(ISD)510。这被作为导出命令被转发至当前版本的小应用程序(CVA) 512,该导出命令从操作系统232请求全局服务的补充安全域。在接收到用于指定补充安全 域(SSD)514的信息之后,CVA 512从操作系统232请求注册表条目对象或指针。
[0091] 随后,CVA 512确认其与SSD 514相关联,继而确认与操作系统232的关联。接下来, SSD 514将数据存储器的句柄提供至CVA 512。作为响应,CVA 512将用户数据导出到SSD 514,并且指示ISD 510已经完成,这继而通知安全区域处理器220。
[0092]在已成功删除当前版本的小应用程序实例或版本并且其用户数据已成功导出到 其相关联的安全域之后,电子设备(诸如安全区域处理器)可触发安全元件在操作系统更新 模式中进行引导(即,可使用图2中的更新操作系统234)。随后,该电子设备可将操作系统更 新包发送到安全元件,除了将更新包存储在其存储器中之外该操作系统更新包还可选地更 新其操作系统软件。此外,该更新操作系统可利用新包AID值来填充包AID字段。注意,更新 操作系统和正常操作系统可经由标记诸如〇n_b 〇ard_l〇ad标记来交换信息。
[0093]在操作系统更新之后,电子设备可将更新小应用程序应用程序协议数据单元命令 发送到发送方安全域。随后,如图6所示,其呈现示出了方法600的流程图,该方法用于安装 新版本的小应用程序并且将个人数据导入到电子设备11〇(图1)上,正常操作系统(诸如图2 中的操作系统232)可浏览其中on_board_load标记挂起的包的注册表。如果已上载更新或 新包,则更新包AID可出现在该包的注册表条目的第二AID字段中。否则,可呈现当前包AID。 [0094] 如果已上载更新包,则正常操作系统可针对注册表条目标记有〇n_b〇ard_install 标记的每个小应用程序(1到N)创建新实例或版本。具体地,正常操作系统可利用更新或新 包AID来替代小应用程序的注册表条目的当前包AID字段,并且随后可利用先前被存储在小 应用程序的注册表条目的第二AID字段中的更新或新版本的小应用程序AID来替代小应用 程序的注册表条目的AID字段。
[0095]另选地,如果未上载更新或新包,则正常操作系统可重新创建在板上删除期间删 除的所有实例或版本。
[0096] 如果安装成功,则正常操作系统可放下〇n_b〇ard_install标记并且正常操作系统 可清除小应用程序的注册表条目的第二AID字段。注意,小应用程序的每个更新或新版本可 在其安装期间被触发并且从其相关联的安全域导入其数据。
[0097]而且,如果已成功导入用户数据(即,已被个性化的所安装的新版本的小应用程 序),则正常操作系统可在小应用程序的注册表条目中放下〇n_b〇ard_pers〇标记。
[0098] 安装更新或新版本的小应用程序可发生在更新小应用程序应用程序协议数据单 元命令的上下文内。如果安全元件报告错误,则电子设备可发送另一更新小应用程序应用 程序协议数据单元命令。
[0099] 注意,安全元件中的正常操作系统可强化以下规则:可在操作系统更新发生之后 处理唯一成功更新小应用程序应用程序协议数据单元命令。然而,电子设备可发送多个更 新小应用程序应用程序协议数据单元命令,直到其从发行者安全域接收到完成响应。
[0100]在创建并重新个性化所有小应用程序实例或版本之后,安全元件中的正常操作系 统可放下来自包的注册表条目的〇n_b〇ard_l〇ad标记并且可清除第二AID字段。
[0101] 在图7中示出了方法600期间电子设备110内的通信。具体地,安全区域处理器220 (并且更一般地,图2中的处理子系统210)可将更新命令提供至安全元件230中的发行者安 全域(ISD)510。这被作为导入命令被转发至更新或新版本的小应用程序(NVA),该导入命令 从操作系统232请求全局服务的补充安全域。在接收到用于指定(SSD)514的信息之后,NVA 710从操作系统232请求注册表条目对象或指针。
[0102]随后,NVA 710确认与SSD 514相关联,继而确认与操作系统232的关联。接下来, SSD 514将数据存储器的句柄提供至NVA 710。作为响应,NVA 710将用户数据导入SSD 514, 并且指示ISD 510已完成,这继而通知安全区域处理器220。
[0103]如前所述,可在更新技术期间更新包的注册表条目。这在图8中示出,其呈现了在 更新之前和之后具有包AID和三个相关联的信用卡支付小应用程序实例的信用卡包的注册 表条目。
[0104]采用这些方式,更新技术可有助于对先前被安装在电子设备上的一个或多个小应 用程序的更新进行安全和可升级传播、安装和并使其个性化。
[0105] 需注意,图5和图7中所示的操作可包括质疑操作和响应操作,为清楚起见未将其 示出。
[0106] 在方法300(图3)、400(图4)和600(图6)的一些实施方案中,可存在更多的或更少 的操作。此外,可改变操作的顺序,和/或将两个或更多个操作合并为单个操作。例如,方法 300(图3)、400(图4)和/或600(图6)中的操作可由电子设备中的不同处理器诸如安全区域 处理器来执行。
[0107] 在另一示例性实施方案中,更新技术涉及三个阶段处理。在第一阶段期间,选择发 行者安全域。随后,将所谓的"预检脚本"从服务器发送到电子设备。图9中示出了这种情况, 其呈现了示出方法600(图6)中的预检脚本900的图示。具体地,预检脚本900包括一个或多 个包。每个包包括具有指示用于迀移的候选的一个或多个包AID的包AID列表、被加载到安 全元件的新包AID以及具有一个或多个小应用程序AID的小应用程序AID的列表。包AID将被 更新到新包AID并且与小应用程序AID相关联的数据需要被迀移。预检脚本900还包括计数 器值,在预检脚本900在给定电子设备上运行一次之后使该计数器值递增以防止重放攻击。 而且,可使用加密密钥来标记预检脚本900。
[0108] 当安全元件中的操作系统执行预检脚本900时,注册表中的用于给定小应用程序 (由小应用程序AID之一指定)的条目被找到并且被转移到临时注册表或第二注册表。随后, 使用Java Card exportDataO和/或exportObjectO方法(或命令)来调用该小应用程序。 如果该小应用程序被个性化,则exportDataO和/或export0bject〇将相关联的数据和/或 加密密钥和密码转移到所选择的安全域。具体地,exportData()转移数据而exportObject ()转移加密密钥和密码。接下来,执行返回命令。另选地,如果该小应用程序未被个性化,则 执行返回命令,而无需使用exportData()和/或exportObjectO方法或命令来调用该小应 用程序。
[0109] 而且,删除该小应用程序。具体地,使用Java Card uninstall()方法调来用该小 应用程序,在小应用程序级别下执行清除,并且执行返回命令。此外,安全元件中的操作系 统删除该小应用程序并且执行垃圾收集操作以收回先前与该小应用程序相关联的内存。
[0110] 如前所述,在第二阶段期间,使用高端引导加载器(诸如图2中的更新操作系统 234)来替代一个或多个指定包并且挂起标记。
[0111] 而且,在第三阶段期间,除了单个应用程序协议数据单元命令诸如导入之外为空 的所谓的检后脚本(postflight script)由安全元件中的操作系统执行。作为响应,安全元 件中的操作系统解析第二注册表。对于给定小应用程序,这可涉及安全元件中的操作系统: 创建包括第二注册表的副本的给定小应用程序的实例;使用install()方法来调用小应用 程序;使用调用importDataO和/或importObject()方法的importO方法来调用小应用程 序;执行清除;以及执行垃圾收集操作来收回相关联的内存。
[0112] 注意,使用更新技术安装的新版本的小应用程序可具有新AID,取决于使用情况, 可选地保留与先前版本小应用程序相同的AID。
[0113]尽管前述实施方案使用更新或迀移个性化的小应用程序(即,具有相关联的数据 的小应用程序)作为示例性示例,但是在其他实施方案中,可使用更新技术来更新非个性化 的小应用程序(例如,无需相关联的数据的小应用程序),诸如在工厂中制造或配置电子设 备期间。
[0114] 在前面的描述中提到过"一些实施方案"。需注意,"一些实施方案"描述所有可能 实施方案的子集,但并非始终指定实施方案的相同子集。
[0115] 前述描述旨在使得任何本领域的技术人员能够实现和使用本公开,并且在特定应 用及其要求的上下文中提供。此外,仅出于例证和描述的目的,给出本公开的实施方案的前 述描述。它们并非旨在为穷尽的或将本公开限制于所公开的形式。因此,许多修改和变型对 于本领域熟练的从业者而言将是显而易见的,并且本文所定义的一般性原理可在不脱离本 公开的实质和范围的前提下应用于其他实施方案和应用。此外,前述实施方案的论述并非 旨在限制本公开。因此,本公开并非旨在限于所示出的实施方案,而是将被赋予与本文所公 开的原理和特征一致的最宽范围。
【主权项】
1. 一种电子设备,包括: 天线; 接口电路,所述接口电路耦接至所述天线并被配置为与更新设备进行通信;和 安全元件,所述安全元件被配置为: 从所述更新设备接收具有数字签名的更新包,其中所述更新包包括对被安装在所述安 全元件上的小应用程序的更新; 识别被安装在所述安全元件上的所述小应用程序的至少一个先前版本; 使用与所述安全元件的供应商相关联的加密密钥来验证所述数字签名; 卸载所述小应用程序的所述至少一个先前版本并且导出与所述小应用程序的所述至 少一个先前版本相关联的用户数据; 安装对所述小应用程序的所述更新;以及 使用所述用户数据来使所述小应用程序个性化。2. 根据权利要求1所述的电子设备,其中所述安全元件被配置为在安装对所述小应用 程序的所述更新之前: 识别先前被安装在所述安全元件上的所述小应用程序的两个或更多个版本;以及 卸载先前安装的所述小应用程序的所述两个或更多个版本。3. 根据权利要求1所述的电子设备,其中通过搜索与将要由所述安全元件中的处理器 执行的正常操作系统相关联的注册表来识别所述小应用程序的所述至少一个先前版本。4. 根据权利要求1所述的电子设备,其中所述安全元件被配置为在安装对所述小应用 程序的所述更新之前,使用与所述供应商相关联的第二加密密钥来对所述更新包进行解 I_L| 〇5. 根据权利要求1所述的电子设备,其中所述数字签名与所述供应商的私有加密密钥 相关联;并且 其中所述安全元件使用所述供应商的公共加密密钥来验证所述数字签名。6. 根据权利要求1所述的电子设备,其中通过将要由所述安全元件中的处理器执行的 更新操作系统来执行接收、识别、验证、卸载、安装和个性化操作中的至少一者;并且 其中所述更新操作系统与将要由所述处理器执行的、执行所述安全元件的其他功能的 正常操作系统分开。7. -种电子设备,包括: 天线; 接口电路,所述接口电路耦接至所述天线并被配置为与更新设备进行通信;和 安全元件,其中所述安全元件包括: 处理器;和 耦接至所述处理器的存储器,所述存储器存储被配置为将要由所述处理器执行的程序 模块,所述程序模块包括: 用于从所述更新设备接收具有数字签名的更新包的指令,其中所述更新包包括对被安 装在所述安全元件上的小应用程序的更新; 用于识别被安装在所述安全元件上的所述小应用程序的至少一个先前版本的指令; 用于使用与所述安全元件的供应商相关联的加密密钥来验证所述数字签名的指令; 用于卸载所述小应用程序的所述至少一个先前版本并且导出与所述小应用程序的所 述至少一个先前版本相关联的用户数据的指令; 用于安装对所述小应用程序的所述更新的指令;以及 用于使用所述用户数据来使所述小应用程序个性化的指令。8. 根据权利要求7所述的电子设备,其中所述程序模块包括用于在安装对所述小应用 程序的所述更新之前执行以下操作的指令: 识别先前被安装在所述安全元件上的所述小应用程序的两个或更多个版本;以及 卸载先前安装的所述小应用程序的所述两个或更多个版本。9. 根据权利要求7所述的电子设备,其中通过搜索与将要由所述处理器执行的正常操 作系统相关联的注册表来识别所述小应用程序的所述至少一个先前版本。10. 根据权利要求7所述的电子设备,其中所述程序模块包括用于在安装对所述小应用 程序的所述更新之前使用与所述供应商相关联的第二加密密钥来对所述更新包进行解密 的指令。11. 根据权利要求7所述的电子设备,其中所述数字签名与所述供应商的私有加密密钥 相关联;并且 其中所述安全元件使用所述供应商的公共加密密钥来验证所述数字签名。12. 根据权利要求7所述的电子设备,其中通过将要由所述处理器执行的更新操作系统 来执行接收、识别、验证、卸载、安装和个性化操作中的至少一者;并且 其中所述更新操作系统与将要由所述处理器执行的、执行所述安全元件的其他功能的 正常操作系统分开。13. -种在电子设备使用的安全元件,包括: 处理器;和 耦接至所述处理器的存储器,所述存储器存储被配置为将要由所述处理器执行的程序 模块,所述程序模块包括: 用于从更新设备接收具有数字签名的更新包的指令,其中所述更新包包括对被安装在 所述安全元件上的小应用程序的更新; 用于识别被安装在所述安全元件上的所述小应用程序的至少一个先前版本的指令; 用于使用与所述安全元件的供应商相关联的加密密钥来验证所述数字签名的指令; 用于卸载所述小应用程序的所述至少一个先前版本并且导出与所述小应用程序的所 述至少一个先前版本相关联的用户数据的指令; 用于安装对所述小应用程序的所述更新的指令;以及 用于使用所述用户数据来使所述小应用程序个性化的指令。14. 根据权利要求13所述的安全元件,其中所述程序模块包括用于在安装对所述小应 用程序的所述更新之前执行以下操作的指令: 识别先前被安装在所述安全元件上的所述小应用程序的两个或更多个版本;以及 卸载先前安装的所述小应用程序的所述两个或更多个版本。15. 根据权利要求13所述的安全元件,其中通过搜索与将要由所述安全元件中的处理 器执行的正常操作系统相关联的注册表来识别所述小应用程序的所述至少一个先前版本。16. -种与电子设备中的安全元件结合使用的计算机程序产品,所述计算机程序产品 包括非暂态计算机可读存储介质和嵌入其中的计算机程序机制,以更新被安装在所述电子 设备中的所述安全元件中的小应用程序,所述计算机程序机制包括: 用于从更新设备接收具有数字签名的更新包的指令,其中所述更新包包括对被安装在 所述安全元件上的小应用程序的更新; 用于识别被安装在所述安全元件上的所述小应用程序的至少一个先前版本的指令; 用于使用与所述安全元件的供应商相关联的加密密钥来验证所述数字签名的指令; 用于卸载所述小应用程序的所述至少一个先前版本并且导出与所述小应用程序的所 述至少一个先前版本相关联的用户数据的指令; 用于安装对所述小应用程序的所述更新的指令;以及 用于使用所述用户数据来使所述小应用程序个性化的指令。17. 根据权利要求16所述的计算机程序产品,其中所述计算机程序机制包括用于在安 装对所述小应用程序的所述更新之前执行以下操作的指令: 识别先前被安装在所述安全元件上的所述小应用程序的两个或更多个版本;以及 卸载先前安装的所述小应用程序的所述两个或更多个版本。18. 根据权利要求16所述的计算机程序产品,其中通过搜索与将要由所述安全元件中 的处理器执行的正常操作系统相关联的注册表来识别所述小应用程序的所述至少一个先 前版本。19. 一种用于更新被安装在电子设备中的安全元件中的小应用程序的处理器实现的方 法,其中所述方法包括: 从更新设备接收具有数字签名的更新包,其中所述更新包包括对所述小应用程序的所 述更新; 使用所述处理器来识别被安装在所述安全元件上的所述小应用程序的至少一个先前 版本; 使用与所述安全元件的供应商相关联的加密密钥来验证所述数字签名; 卸载所述小应用程序的所述至少一个先前版本并且导出与所述小应用程序的所述至 少一个先前版本相关联的用户数据; 安装对所述小应用程序的所述更新;以及 使用所述用户数据来使所述小应用程序个性化。20. 根据权利要求19所述的方法,其中所述方法进一步包括在安装对所述小应用程序 的所述更新之前: 识别先前被安装在所述安全元件上的所述小应用程序的两个或更多个版本;以及 卸载先前安装的所述小应用程序的所述两个或更多个版本。
【文档编号】H04W4/00GK105900104SQ201480072376
【公开日】2016年8月24日
【申请日】2014年12月19日
【发明人】A·A·柯恩, J·林德, M·泽阿特
【申请人】苹果公司