自动创建目标应用程序的制作方法_4

文档序号:9633860阅读:来源:国知局
[0078] 然后,该处理器识别安装在安全元件上的至少一个先前版本的小程序(操作 312)。例如,安全元件可识别先前安装在安全元件上的二个或更多版本的小程序,并且可卸 载先前安装的运二个或更多版本的小程序。在一些实施例中,安全元件识别所有先前安装 版本的小程序,并且卸载所有先前安装版本的小程序。注意,通过捜索与由安全元件中的处 理器执行的正常操作系统相关联的注册表,可识别至少一个先前版本的小程序。
[0079] 而且,处理器使用与安全元件的供应商相关联的加密密钥来验证数字签名(操作 314)。具体地,该数字签名可与供应商的私有加密密钥相关联,并且安全元件可使用供应商 的公共加密密钥来验证数字签名。然而,在其他实施例中,使用对称加密密钥。如此,在运 些实施例中,数字签名可与供应商的加密密钥相关联,并且安全元件可使用供应商的加密 密钥来验证数字签名。
[0080] 在一些实施例中,安全元件任选地使用可与供应商关联的第二加密密钥来解密更 新包(操作316)。此第二加密密钥可与前述加密密钥相同或不同。
[0081] 接下来,处理器卸载至少一个先前版本的小程序,并且导出与至少一个先前版本 的小程序相关联的用户数据(操作318)。
[0082] 此外,处理器安装小程序的更新,并且使用该用户数据来使该小程序个性化(操 作 320)。
[0083] 注意,方法300中的一个或多个操作可由更新操作系统执行,该更新操作系统由 安全元件中的处理器执行,并且更新操作系统可与由处理器执行的正常操作系统分开,该 正常操作系统执行安全元件的其他功能。(另选地,方法300中的操作的一个或多个操作可 由正常操作系统或由程序模块执行,该程序模块在与正常操作系统相关联的环境中执行。) 此方法参考图4和图6,在下文中进一步说明。
[0084] 在示例性实施例中,更新技术允许更新包括安全元件(诸如图2中的安全元件 230)的电子设备上的一个或多个化va Card小程序。除了例示或安装新版本的小程序(或 另选地,新实例),更新技术可安全地将用户数据从先前版本的小程序(例如,当前安装的 版本)转移至新版本的小程序,并且可卸载(或删除)先前版本的小程序。此更新技术可 解决与安装在安全元件上的化va Card小程序的安全更新相关联的若干问题和挑战。
[00化]具体地,在已有的更新技术中,Java Card小程序可W二进制形式(可执行加载文 件)加载至安全元件上。小程序实例或版本可从运些二进制安装,并且可用于支持各种用 例。注意,更新包可包括具有通用类应用程序标识符或类AID的一个或多个小程序的二进 制(如此,对具有不同类AID的小程序的更新可被包括在不同更新包中)。对小程序软件的 更新通常设及加载新版本的二进制至安全元件,安装新版本的小程序,然后使新版本的小 程序个性化。
[0086] 然而,一旦新二进制被加载至安全元件上,可没有任何信息供安全元件用于确定 新二进制是已有的二进制的新版本,并且能用于为与新二进制相关联的安装的每个版本的 小程序继续创建新版本小程序。因此,在已有的更新技术中,可需要为当前安装在安全元件 上的每个实例或版本创建一个新实例。
[0087] 此外,小程序可使用能在个性化阶段和/或其使用期间被填入的用户数据。然而, 在已有的更新技术中缺乏用于安全地将此数据从一个小程序实例转移至另一个小程序实 例的方法的情况下,可需要耗时的重新个性化操作,并且/或者用户数据可能丢失。
[0088] 此外,通过要求将相同二进制的两个版本与双倍数量的小程序实例一起保持,现 有的更新技术可制约安全元件中的有限存储器。
[0089] 在所公开的更新技术中,安全元件(诸如图2中的安全元件230)中的补充安全域 数据存储全局服务提供加密密钥管理和至外部实体(诸如图1中的更新设备112)的通信 访问。此外,安全元件上的安全域可向其相关联的应用程序暴露全局服务,从而允许相关联 的应用程序将数据导入和导出至由补充安全域管理的安全数据存储。
[0090] 参考图4和图5,如下文所述,当电子设备接收更新包(其可包括新操作系统代码、 具有与当前包AID不同的AID的新包或二进制、和/或元数据)时,可发生板上(或内部) 删除和数据导出过程。然后,参考图6和图7如下文所述的,可发生板上安装和小程序个性 化过程。
[0091] 此外,在运些过程期间,正常操作系统(诸如图2中的操作系统232)中的一个或 多个注册表项对象可增加"第二AID"字段。具体地,小程序实例或版本的注册表项可包括: 包AID、类AID、AID、第二AID、相关联的安全域、权限、和生命周期状态。更新包中的元数据 段可包括包AID、W及使用操作系统更新私有验证加密密钥来签名的先前版本的小程序的 包 AID。
[0092] 在接收更新包之后,安全区域处理器(诸如图2中的安全区域处理器220) 可提取元数据,并且使用该元数据构建更新小程序命令(有时称为"update-applets application-p;rotoco:L-data-unit命令"),并发送至安全元件。然后,安全元件可接收发 送至主/发行人安全域的update-applets命令。
[0093] 如图4所示,图4示出了卸载小程序版本W及导出电子设备110 (图1)中的个人数 据的方法400的流程图,作为对接收update-applets命令的响应,安全元件中的正常操作 系统可浏览用于捜索当前包AID (CPAID)的注册表。如果找到类似的包AID,则正常操作系 统可继续验证元数据的数字签名。此外,如果签名验证成功,则安全元件可开始板上删除。 然后,正常操作系统可在包的注册表项中挂起"onjDoartflag"。此onjDoartflag可一 直挂起直到下文所述的安装和个性化过程完成。另外,正常操作系统可将当前包AID复制 至包注册表项的第二AID字段中。因此,包的注册表项可包括on_board_load标识和一个 或多个小程序表项。包的运些小程序表项中的每个小程序表项可包括相关联的on_board_ install标识、W及包AID、类AID、AID、第二AID、相关联的安全域、权限和生命周期状态。
[0094] 此外,正常操作系统可浏览根据更新的包实例化的所有小程序的注册表。对于每 个小程序(1至脚,正常操作系统可在小程序的当前版本(CVA)的注册表项中挂起W下标 识:"on_board_install"(可一直挂起直到来自更新包的对应的小程序已安装)W及"on_ boarcLperso"(可一直挂起直到来自更新包的对应的小程序已使用迁移的用户数据进行个 性化)。
[00巧]另外地,正常操作系统可存储新版本小程序(NVA) AID,该NVAAID在每个对应注册 表项中的更新包中的更新表中提供。一旦〇n_board_install标识被卸下,该AID可替换当 前版本的小程序AID。注意,对于没有包括在更新表中的小程序AID,当前版本的小程序AID 可被填入第二AID字段中。
[0096] 此外,需要注意,将被删除的每个版本或实例(包括更新表中没有出现的小程序) 可在其删除前被触发,并且可将其用户数据导出至其相关联的补充安全域(SSD)。如前所 述,该补充安全域可实现全局服务并且暴露数据存储接口。在接收全局服务请求时,相关联 的补充安全域可基于小程序的注册表项来检查请求全局服务的小程序是否是其相关联的 应用程序中的一个应用程序。
[0097] 一旦所有当前版本的小程序被成功删除,安全元件中的正常操作系统可阻挡任何 后续application-protoco^data-unit消息(例如电子设备中的实体或组件之间的原子 消息)除了:选择发行人安全域的命令;W及另一个update-applets命令。如此,正常操作 系统可拒绝其他(例如:具有特定状态字的)application-protoco^L-data-unit命令(例 如:具有特定状态字词)。
[0098] 在方法400期间,电子设备110内的通信如图5所示。具体地,安全区域处理 器220 (并且更一般地,图2中的处理子系统210)可向安全元件230中的发行人安全域 (ISD)SlO提供来自更新包的元数据。运作为导出命令转发至当前版本的小程序(CVA)512, 该当前版本的CVA 512从操作系统232请求全局服务的补充安全域。在接收规定了补充安 全域(SSD) 514的信息之后,CVA 512从操作系统232请求注册表项对象或指针。
[0099] 然后,CVA 512确认该信息与SSD 514相关联,该SSD 514继而与操作系统232确 认该关联。接下来,SSD 514向CVA 512提供对数据存储的处理。作为响应,CVA 512将用 户数据导出至SSD 514,并且向ISD 510指示该导入已完成,该ISD 510继而通知安全区域 处理器220。
[0100] 在成功删除当前版本的小程序实例或版本W及其用户数据被成功导出其相关联 的安全域后,电子设备(诸如安全区域处理器)可触发安全元件按照操作系统更新模式引 导(例如:可使用图2中的更新操作系统234)。然后,电子设备可将操作系统更新捆绑发送 至安全元件,安全元件除了在其存储器上存储更新包之外还任选地更新其操作系统软件。 另外,更新操作系统可将新包AID值填入包AID字段中。注意,更新操作系统W及正常操作 系统可经由标识诸如〇n_board_load标识来交换信息。 阳101] 在操作系统更新后,电子设备可将update-applets application-protoco^L-data-unit命令发送至发行人安全域。然后,如图6所示,图6示出 了安装新版本小程序W及将个人数据导入至电子设备110(图I)上的方法600的流程图, 正常操作系统(诸如图2中的操作系统232)可浏览挂起"on_boartload"标识的包的注册 表。如果更新或新包已上载,则更新包AID可出现在包的注册表项的第二AID字段中。否 贝IJ,可出现现有包AID。
[0102] 如果更新包已上载,则正常操作系统可为利用on_board_install标识进行标识 的注册表项的每个小程序(1至脚创建新实例或版本。具体地,正常操作系统可首先将小程 序的注册表项的当前包AID字段替换为更新或新包AID,然后可将小程序的注册表项的AID 字段替换为先前存储在小程序的注册表项的第二AID字段中的更新或新版本小程序AID。 阳10引另选地,如果没有上载更新或新包,则正常操作系统可重新创建在板上删除期间 被删除的所有实例或版本。
[0104] 如果安装成功,则正常操作系统可卸下on_board_install标识,并且正常操作系 统可清除小程序的注册表项的第二AID字段。注意,每次更新或新版本小程序可在其安装 期间被触发,并且可从相关联的安全域中导入其数据。
[0105] 此外,如果用户数据已成功导入(例如,所安装的新版本小
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1