管理移动设备内集成组件的固件更新的制作方法

文档序号:10542292阅读:153来源:国知局
管理移动设备内集成组件的固件更新的制作方法
【专利摘要】本文涉及管理移动设备内集成组件的固件更新。公开了用于更新包括在移动设备中的嵌入式通用集成电路卡(eUICC)的固件的技术。该技术包括步骤:(1)从固件提供商接收经更新的固件对eUICC可用的指示,(2)响应于该指示,向固件提供商提供(i)与该eUICC相关联的唯一标识符(ID)和(ii)临时数值,(3)在该提供之后,从固件提供商接收固件更新包,其中固件更新包包括(i)认证信息和(ii)经更新的固件,(4)在验证了认证信息之后,将对应于经更新的固件的散列值持久保存到移动设备中所包括的存储器,以及(5)在该eUICC上安装经更新的固件。
【专利说明】
管理移动设备内集成组件的固件更新
技术领域
[0001]所描述的实施例阐述了用于管理移动设备内的集成组件一一诸如被配置为管理 电子订户身份模块(esno的嵌入式通用集成电路卡(eUICC)-一的固件更新的技术。
【背景技术】
[0002] 大多数移动设备被配置为接收使移动设备能够访问由移动网络运营商(MNO)提供 的服务的可拆卸通用集成电路卡(UICC)。特别地,每个UICC包括至少微处理器和只读存储 器(ROM),其中ROM被配置为存储移动设备可用来向MNO注册并与MNO交互的MNO简档 (profile)。通常,UICC采取被配置为插入到移动设备中所包括的UICC接收区中的小型可拆 卸卡(通常被称为SIM卡)的形式。但是,在更新近的实现中,UICC被直接嵌入到移动设备的 系统板中。值得注意的是,这些嵌入式UlCC(eUICC)可以比传统的、可拆卸的UICC提供若干 个优点。例如,一些eUICC包括可重写存储器,其可便于用于访问由MNO提供的扩展功能的 eS頂更新。eUICC还可以消除对移动设备内的UICC接收区的需要。因此,eUICC的采用不仅增 加了移动设备的灵活性,而且简化了它们的设计并且释放了空间用于其它组件。
[0003] 在一些情况下,会期望更新eUICC的固件,使得eUICC可以向包括eUICC的移动设备 的用户提供新的或增强的服务。但是,固件更新会是相当有风险的,因为当固件更新没有被 正确执行时,硬件组件会变得永久不可操作。这个缺点对于eUICC来说尤为显著,因为它们 被嵌入在移动设备内并且如果发生固件损坏则它们不能被容易地替换。

【发明内容】

[0004] 本文所阐述的代表性实施例公开了用于管理包括在移动设备中的eUICC的固件的 各种技术。具体而言,eUICC被配置为管理主固件和备份固件,并且实现促进最新的且可操 作的固件在eUICC内保持完好的固件加载器。当主固件可操作并在eUICC内被激活时,固件 加载器可以获取并且执行主固件更新。当主固件不可操作时一一例如,当主固件在常规操 作期间被损坏时,或者当主固件的更新没有被正确执行时一一固件加载器可以获取备份固 件并且用备份固件替换主固件。反过来,可以使用备份固件将eUICC恢复到可操作,于是固 件加载器可以尝试恢复eUICC内可操作的主固件。在一些情况下,会期望更新备份固件,因 此固件加载器还被配置为接收和在eUICC内安装经更新的备份固件。注意,上述固件管理技 术可以在不影响由eUICC管理的其它数据(例如,eSn〇的情况下实现,这进一步有助于提升 eUICC的健壮的可操作性。
[0005] -种实施例阐述了用于更新包括在移动设备中的嵌入式通用集成电路卡(eUICC) 的固件的方法。具体而言,该方法通过eUICC来实现,并且包括步骤:(1)从固件提供商接收 经更新的固件对eUICC可用的指示,(2)响应于该指示,向固件提供商提供(i)与该eUICC相 关联的唯一标识符(ID),和(ii)临时数(nonce)值,(3)在提供之后,从固件提供商接收固件 更新包,其中固件更新包包括(i)认证信息,和(ii)经更新的固件,(4)在验证认证信息之 后,将对应于经更新的固件的散列(hash)值持久保存到移动设备中所包括的存储器,以及
[5] 在eUICC上安装经更新的固件。
[0006] 另一种实施例阐述了被配置为执行固件恢复过程的嵌入式通用集成电路卡 (eUICC)。具体而言,eUICC包括非易失性存储器以及被配置为执行以下步骤的处理器,其中 步骤包括:(1)检测eUICC的主固件的故障,(2)从非易失性存储器获取用于该eUICC的备份 固件,以及(3)用备份固件替换主固件,其中备份固件使得能够进行不同主固件的后续安 装。
[0007] 还有的另一种实施例阐述了包括被配置为执行固件更新的eUICC的移动设备。具 体而言,eUICC被配置为执行以下步骤,包括:(1)从固件提供商接收经更新的备份固件对该 eUICC可用的指示,(2)响应于该指示,向固件提供商提供(i)与该eUICC相关联的唯一标识 符(ID)和(ii)临时数值,(3)从固件提供商接收固件更新包,其中固件更新包包括(i)认证 信息和(ii)经更新的备份固件,以及(4)在验证认证信息之后:将(i)经更新的备份固件和
[11] 基于经更新的备份固件的散列值持久保存到移动设备中所包括的存储器。
[0008] 提供本概述仅仅是为了概括一些示例实施例,以便提供对本文所描述主题的一些 方面的基本理解。因此,应当认识到,上述特征仅仅是例子并且不应当以任何方式被认为是 缩小本文所描述主题的范围或精神。本文所描述主题的其它特征、方面和优点将从下面的 详细描述、附图和权利要求变得明晰。
[0009] 本文所描述的实施例的其它方面和优点将从以下结合附图的详细描述变得明晰, 其中附图通过例子示出所描述实施例的原理。
【附图说明】
[0010] 所包括的附图仅仅是出于说明的目的并且仅仅用来对用于提供无线计算设备的 所公开的发明性装置和方法提供可能的结构和布置的例子。在不背离实施例的精神和范围 的情况下,这些附图不以任何方式限制可以由本领域技术人员对这些实施例进行的形式和 细节的任何改变。结合附图参照以下详细描述,实施例将很容易理解,其中相同的标号指示 相同的结构元件。
[0011]图1示出了根据一些实施例的、被配置为实现本文所描述的各种技术的系统的不 同组件的框图。
[0012] 图2示出了根据一些实施例的、图1的系统的特定组件的更详细视图的框图。
[0013] 图3示出了根据一种实施例的、用于更新包括在移动设备中的eUICC的主固件的方 法的序列图。
[0014] 图4示出了根据一种实施例的、用于当eUICC的主固件被损坏时使用eUICC的备份 固件来执行恢复技术的方法的序列图。
[0015] 图5示出了根据一种实施例的、用于更新eUICC的备份固件的方法的序列图。
[0016] 图6示出了根据一种实施例的、用于实现以上结合图3-5描述的各种技术以促进最 新且可操作的固件在eUICC内保持完好的高层技术的方法。
[0017] 图7示出了根据一些实施例的、可被用来实现本文所描述的各种组件的计算设备 的详细视图。
【具体实施方式】
[0018] 在本节中提供根据目前描述的实施例的装置和方法的代表性应用。这些例子的提 供仅是为了添加上下文并帮助理解所描述的实施例。因此,对本领域技术人员将显而易见 的是,目前所描述的实施例可以在没有这些具体细节当中一些或全部的情况下被实践。在 其它情况下,众所周知的过程步骤没有详细描述,以避免不必要地模糊目前所描述的实施 例。其它应用也是可能的,使得以下例子不应当被视为限制。
[0019] 本文所阐述的实施例提供了用于管理包括在移动设备中的eUICC的固件的各种技 术。根据一种实施例,eUICC被配置为实现促进最新的且可操作的固件在eUICC内保持完好 的固件加载器。为了实现以上所描述的,固件加载器被配置为管理主固件和备份固件。主固 件表示当eUICC在正常模式下操作并且向其中包含该eUICC的移动设备提供各种功能时由 eUICC使用的固件。相反,备份固件表示当主固件变得不可操作时(例如,当发生主固件的损 坏时)被eUICC使用的固件,其中备份固件将eUICC恢复到可操作并且使得eUICC能够重新尝 试主固件的安装。根据一些实施例,固件加载器可以被配置为接收主固件更新和备份固件 更新两者并且执行eUICC内的固件更新。这可以包括,例如与外部实体(诸如eUICC/移动设 备的制造商或管理实体)相接口并且安全地下载特定于该eUICC/移动设备的固件更新。
[0020] 当主固件在eUICC内可操作并且被激活时,固件加载器可以获取并执行主固件更 新。当主固件不可操作时一一例如,当主固件在常规操作期间被损坏时,或者当主固件的更 新没有被正确执行时一一固件加载器可以获取备份固件并且用备份固件替换主固件。反过 来,可以使用备份固件将eUICC恢复到可操作,于是固件加载器可以尝试恢复eUICC内的可 操作的主固件。在一些情况下,会期望更新备份固件,因此固件加载器还被配置为接收并且 在eUICC内安装经更新的备份固件。上述技术在下面结合图1-7进行更详细的描述。
[0021] 根据本文所描述的各种实施例,术语"无线通信设备"、"无线设备"、"移动设备"、 "移动站"和"用户装备"(UE)在本文中可互换使用,以描述可能能够执行与本公开内容的各 种实施例关联的过程的一个或多个常见的消费者电子设备。根据各种实现,这些消费者电 子设备中任何一个可以涉及:蜂窝电话或智能电话、平板计算机、膝上型计算机、笔记本计 算机、个人计算机、上网本计算机、媒体播放器设备、电子书设备、MiFi?设备、可穿戴计算 设备以及具有无线通信能力的任何其它类型的电子计算设备,该无线通信能力可以包括经 一个或多个无线通信协议的通信,其中无线通信协议诸如用于在无线广域网(WWAN)、无线 城域网(WMAN)、无线局域网(WLAN)、无线个人区域网(WPAN)、近场通信(NFC)、蜂窝无线网 络、第四代(4G)LTE、高级LTE(LTE-A)和/或5G或者其它目前或未来开发的先进蜂窝无线网 络之上通信。
[0022] 在一些实施例中,无线通信设备也可以作为无线通信系统的一部分来操作,该系 统可以包括一组客户端设备,这些客户端设备也可以被称为站、客户端无线设备或客户端 无线通信设备,这些客户端设备互连到接入点(AP)-一例如作为WLAN的一部分,和/或彼此 互连--例如作为WPAN和/或"ad hoc"无线网络的一部分。在一些实施例中,客户端设备可 以是能够经由WLAN技术(例如,根据无线局域网通信协议)进行通信的任何无线通信设备。 在一些实施例中,WLAN技术可以包括Wi-Fi (或更一般地说是WLAN)无线通信子系统或无线 电,Wi-Fi无线电可以实现电气和电子工程师协会(IEEE)802.11技术,诸如以下一个或多 个:IEEE 802.lla;IEEE 802.lib;IEEE 802.llg;IEEE 802.11-2007;IEEE 802.lln;IEEE 802.11-2012; IEEE 802. Ilac;或其它当前或将来开发的IEEE 802.11技术。
[0023] 此外,应当理解的是,本文所描述的UE可以被配置为还能够经由不同的第三代 (3G)和/或第二代(2G)RAT通信的多模式无线通信设备。在这些场景下,与附连到提供较低 数据率吞吐量的其它3G遗留网络相比,多模式UE可以被配置为优先附连到提供更快数据率 吞吐量的LTE网络。例如,在一些实现中,多模式UE可以被配置为在LTE和LTE-A网络以某种 方式不可用时回落到3G遗留网络,例如,演进高速分组接入(HSPA+)网络或码分多址(CDMA) 2000仅演进数据(EV-DO)网络。
[0024] 图1示出了根据一些实施例的、被配置为实现本文所描述的各种技术的系统100的 不同组件的框图。更具体而言,图1示出了系统100的高级概观,如图所示,其包括移动设备 102、由不同MNO 114管理的一组基站112、以及固件提供商116。根据图1的说明,移动设备 102可以表示移动计算设备(例如,Apple?的iPhone?或iPad?:),基站112可以表示 被配置为与移动设备102通信的不同无线电塔,并且MNO 114可以表示提供移动设备102可 以订阅的特定服务(例如,语音和数据)的不同无线服务提供商。此外,并且如下面更详细描 述的,固件提供商116可以表示被配置为与移动设备102通信并且以安全的方式向移动设备 102提供固件更新的一个或多个服务器。
[0025] 如在图1中所示出的,移动设备102可以包括处理器104、存储器106、eUICC 108和 基带模块110。这些组件一起工作,以使移动设备102能够向移动设备102的用户提供有用的 功能,诸如本地计算、基于位置的服务和互联网连接。如下面更详细描述的,eUICC 108可以 被配置为存储多个eSIM,用于通过基站112访问不同的丽0 114。例如,eUICC 108可以被配 置为为移动设备102向其订阅的每个MNO 114存储eS頂208。也如下面更详细描述的,移动 设备102--具体而言是包括在移动设备102中的eUICC 108--可以被配置为根据本文所 阐述的各种技术从固件提供商116接收和处理固件更新。
[0026]图2示出了根据一些实施例的、图1的移动设备102的特定组件的更详细视图200的 框图。如在图2中所示出的,与存储器106结合,处理器104可以实现被配置为执行应用(例 如,原生(native)OS应用和用户应用)的主操作系统(0S)202。根据一种实施例,主OS 202可 以被配置为执行eUICC固件更新检查器204,固件更新检查器204被配置为便于固件提供商 116和eUICC 108之间的固件更新。具体而言,eUICC固件更新检查器204可以被配置为定期 地查询固件提供商116,以识别用于e UIC C 10 8的固件更新是否可用。这可以包括,例如 eUICC固件更新检查器204提供当前正在被eUICC 108使用的固件的版本信息,使得固件提 供商116可以有效地确定固件更新是否对eUICC 108可用。在一些实施例中,eUICC固件更新 检查器204可以被配置为从固件提供商116接收推送通知以提高效率,通过该通知,固件更 新信息在eUICC固件更新检查器204和固件提供商116之间传递。
[0027] 如在图2中所示出的,eUICC 108可以被配置为实现eUICC 0S206,其被配置为管理 eUICC 108的硬件资源(例如,在图2中没有示出的处理器、随机存取存储器(RAM)和非易失 性存储器KeUICC OS 206还可以被配置为管理由eUICC 108存储的eSIM 208,例如通过激 活eUICC 108内的eS頂208并且向基带模块110提供对eS頂208的访问。根据在图2中所示 出的图示,每个eS頂208可以与唯一标识符相关联并且可以包括定义eS頂208操作的方式 的多个小程序(applet)。例如,一个或多个小程序在通过基带模块110和eUICC 108被实现 时可以被配置为使得移动设备102能够与MN0114通信,以激活移动设备102的功能(例如,电 话呼叫和互联网)。
[0028] 如在图2中所示出的,eUICC 108可以实现被配置为执行本文所阐述的各种固件更 新技术的固件加载器210。具体而言,固件加载器210可以被配置为与eUICC固件更新检查器 204相接口并且提供/接收信息来执行用于eUICC的固件更新(在图2中被示为eUICC更新包 220)的安全传输和处理。例如,并且如下面更详细描述的,固件加载器210可以被配置为当 固件更新对eUICC 108变得可用时被eUICC固件更新检查器204通知。注意,在一些实施例 中,由eUICC固件更新检查器204提供的功能可以替代地由固件加载器210提供,使得固件加 载器210被配置为与固件提供商116直接接口。
[0029] 如下面更详细描述的,一经接收到固件更新可用的指示,固件加载器210可以被配 置为提供(i)与eUICC 108相关联的唯一标识符以及(ii)临时数值,当固件提供商116产生 特定于eUICC 108的固件更新时,该临时数值可以被固件提供商116使用。反过来,固件提供 商116向固件加载器210交付固件更新,于是固件加载器210可以分析固件更新的组件(例 如,数字签名),以确保固件提供商116-一以及固件更新本身一一是真实的并且可以被 eUICC 108信任。如下面更详细描述的,固件加载器210还可以被配置为管理进一步使固件 加载器210能够安全地进行固件更新过程的散列值216和证书218。
[0030] 此外,并且如在图2中所示出的,移动设备102的基带模块110可以包括被配置为管 理基带模块110的不同硬件资源(在图2中被示为组件224(例如,处理器、存储器、不同的无 线电发射机/接收机等))的基带OS 222。根据一种实施例,基带OS 222可以被配置为实现各 种服务,这些服务可以根据由eUICC 108管理的eSIM 208中的一个或多个来实例化。例如, 基带OS 222可以被配置为在贯穿移动设备102的使用中根据被激活的不同eS頂208管理在 移动设备102和MNO 114之间存在的不同连接。
[0031]图3示出了根据一种实施例的、用于更新在图2中示出的主eUICC固件212的方法 300的序列图。在步骤302之前,eUICC 108在正常模式下操作,即eUICC 108正在操作主 eUICC固件212并且向移动设备102提供典型的功能。如所示出的,方法300在步骤302开始, 在这一步骤,固件提供商116指示可替换主eUICC固件212的经更新的主固件的可用性。根据 一种实施例,固件提供商116向移动设备102(具体而言,向eUICC固件更新检查器204)提供 这一指示,于是eUICC固件更新检查器204向eUICC 108提供该指示(例如,通过一个或多个 命令)。在另选实施例中,eUICC固件更新检查器204可以被省略,并且固件提供商116可以与 固件加载器210直接通信。
[0032] 转而,在步骤304,eUICC 108(具体而言,在eUICC 108内执行的固件加载器210)向 eUICC固件更新检查器204提供(i)eUICC 108的唯一标识符(图3中的"EUICC ID")以及(ii) 临时数值(图3中的"NONCE")。唯一标识符可以采取可用来唯一地识别eUICC 108(例如,字 母数字序列号)并且使得固件提供商116能够至少部分地识别移动设备102的真实性的任何 形式。例如,固件提供商116可以相对于已知eUICC标识符的数据库检查唯一标识符,以确定 唯一标识符是否被识别。临时数值可以采取可用来传递用于确保经更新的主固件从固件提 供商116到固件加载器210安全传输的单次使用值(例如,大的整数)的任何形式。具体而言, 随机数值可以用来帮助防止可能潜在地被恶意方使用来将损坏的经更新的主固件在没有 检测的情况下交付给eUICC 108的重放攻击。为了实现上述益处,并且如下面更详细描述 的,固件提供商116可以使经更新的主固件伴有可以被固件加载器210认证的数字签名,其 中数字签名基于唯一标识符和临时数中的一个或多个。数字签名可以由与移动设备102相 关联的不同实体提供,该实体诸如移动设备102的制造商或管理员、eUICC 108的制造商或 管理员,等等。以这种方式,固件加载器210可以基于数字签名来验证由固件提供商116交付 的经更新的主固件是真实的并且特定于eUICC 108。
[0033]在步骤306,固件提供商116根据唯一标识符和临时数值生成主固件更新包。根据 一种实施例,并且如上面所描述的,主固件更新包可以包括促进经更新的主固件的安全传 输的各种组件。例如,主固件更新包可以包括经更新的主固件的拥有者(例如,eUICC 108的 制造商或管理实体、eUICC OS 206的提供商等)的数字证书、主固件更新包的交付者(例如, 固件提供商116、移动设备102的制造商等)的数字证书、经更新的主固件本身,等等。如本文 之前所描述的,固件加载器210可以管理建立被eUICC 108信任的各种实体的各种证书218, 并且在主固件更新包内所包括的数字签名的真实性可以通过相对于证书218中的一个或多 个证书检查数字签名来验证。根据一些实施例,主固件更新包可以借由一个或多个证书218 在固件提供商116和固件加载器210之间以加密的形式发送。
[0034] 在步骤308,固件加载器210接收主固件更新包并且验证在主固件更新包中所包含 的上述组件。假设没有差异,则方法300前进到步骤310,其中固件加载器210将经更新的主 固件的散列值216持久保存到固件加载器210可访问的非易失性存储器。在一些实施例中, 与eUICC 108(或在移动设备102中所包括的其它组件)相关联的媒体访问控制(MAC)地址可 以替换或伴随散列值216。如下面更详细描述的,将散列值216持久保存到非易失性存储器 使得eUICC 108能够经历冷复位,在将散列值216保存在易失性存储器(例如,eUICC 108的 RAM)中的情况下冷复位原本会导致散列值216被擦除。也如下面更详细描述的,这个持久保 存的散列值216被固件加载器210使用来验证最终被安装的经更新的主固件实际上是由固 件加载器210在步骤308验证的主固件更新包中所包括的同一经更新的主固件。
[0035]在步骤312,eUICC 108经历冷复位并且进入到使固件加载器210能够执行主固件 更新的恢复模式中。在步骤314,固件加载器210用在主固件更新包中所包括的经更新的主 固件替换主eUICC固件212,从而在eUICC 108内呈现新的主eUICC固件212。下一步,在步骤 316,固件加载器210访问在步骤310被持久保存到非易失性存储器的散列值216,以确定新 的主eUICC固件212是否对应于散列值216。
[0036]在新的主eUICC固件212不对应于散列值216的情况下,eUICC 108保持在恢复模式 中并且固件加载器210使用备份eUICC固件214执行恢复技术,这将在下面结合图4进行更详 细的描述。相反,在新的主eUICC固件212确实对应于散列值216的情况下,eUICC 108经历冷 复位并且进入到使eUICC 108能够操作该新的主eUICC固件212并且向移动设备102提供典 型功能的正常模式中。
[0037]因此,图3阐述了用于以安全方式更新主eUICC固件212的技术。在一些情况下,并 且如本文前面提到的,会发生其中主eUICC固件212可能变为损坏并且使eUICC 108不可操 作的情况。为了克服这一缺陷,本文阐述的实施例包括使得固件加载器210能够通过加载备 份eUICC固件214来从损坏事件中恢复的技术。具体而言,备份eUICC固件214提供了恢复 eUICC 108并且恢复可操作的主eUICC固件212的途径,这在下面结合图4进行更详细的描 述。
[0038]图4示出了根据一种实施例的、用于从主eUICC固件212损坏事件中恢复的方法400 的序列图。如在图4中所示出的,方法400在步骤402开始,其中检测到主eUICC固件212损坏。 作为响应,在步骤404,eUICC 108被冷复位并且进入到以上结合图3描述的恢复模式中。在 步骤406,eUICC 108(具体而言,固件加载器210)从固件加载器210可访问的非易失性存储 器中获取备份eUICC固件214。根据一种实施例,备份eUICC固件214被存储在非易失性存储 器的受保护/补充区域中,并且备份eUICC固件214的位置对固件加载器210是已知的。而且, 对应于备份eUICC固件214的散列值216也被存储在非易失性存储器中,并且散列值216的位 置对固件加载器210是已知的。如下面更详细描述的,这使得固件加载器210能够在损坏的 主eUICC固件212用备份eUICC固件214替换之后验证所恢复的主eUICC固件212。
[0039] 在步骤408,固件加载器210用备份eUICC固件214替换主eUICC固件212,以产生恢 复的主eUICC固件212。在步骤410处,固件加载器210使用被持久保存到非易失性存储器的 散列值216验证恢复的主eUICC固件212。接着,假设验证成功,则eUICC 108经历冷复位并且 进入到以上结合图3描述的正常模式中。随后,在步骤414,固件加载器210可以经历在图3中 阐述的技术,以尝试检索和安装没有被损坏的主eUICC固件212。
[0040]因此,图4阐述了使得固件加载器210能够在主eUICC固件212变为损坏的情况下恢 复的技术。在一些情况下,会期望使得备份eUICC固件214能够用不同版本的备份eUICC固件 214更新。因此,固件加载器210还可以被配置为实现用于更新备份eUICC固件214的技术,这 在下面结合图5进行更详细的描述。
[0041 ]图5示出了根据一种实施例的、用于更新在图2中示出的备份eUICC固件214的方法 500的序列图。在步骤502之前,eUICC 108在正常模式下操作,即eUICC 108在操作主eUICC 固件212并且向移动设备102提供典型的功能。值得注意的是,更新备份eUICC固件214不要 求eUICC 108进入到恢复模式中,因为备份eUICC固件214实际上没有被安装用于在eUICC 108内活动使用。相反,在非易失性存储器中存储的现有备份eUICC固件214用由固件提供商 116提供的经更新的备份eUICC固件214被替换,并且对应于现有备份eUICC固件214的现有 散列值216用对应于经更新的备份eUICC固件214的经更新的散列值216替换。以这种方式, 并且根据之前本文结合图4所描述的技术,在主eUICC固件212变为损坏的情况下,固件加载 器210可以正确地安装和验证经更新的备份eUICC固件214。
[0042]如所示出的,方法500在步骤502开始,其中固件提供商116指示可替换备份eUICC 固件214的经更新的备份固件的可用性。如本文之前所阐述的,固件提供商116可以被配置 为将该指示提供给移动设备1〇2(具体而言,提供给eUICC固件更新检查器204),于是eUICC 固件更新检查器204将该指示提供给eUICC 108(例如,通过一个或多个命令)。在另选实施 例中,eUICC固件更新检查器204可以被省略,并且固件提供商116可以与固件加载器210直 接通信。
[0043]转而,在步骤504,eUICC 108(具体而言,在eUICC 108内执行的固件加载器210)向 eUICC固件更新检查器204提供(i)eUICC 108的唯一标识符(图5中的"EUICC ID")和(ii)临 时数值(图5中的"NONCE")。在步骤506,固件提供商116根据唯一标识符和临时数值产生备 份固件更新包。根据一种实施例,并且如上面所描述的,备份固件更新包可以包括与以上结 合图3描述的主固件更新包相同的组件一一例如,经更新的备份固件的所有者的数字证书、 备份固件更新包的交付者的数字证书、经更新的备份固件本身等一一以促进经更新的备份 固件的安全传输。
[0044]在步骤508处,固件加载器210接收备份固件更新包并且验证包含在备份固件更新 包中的上述组件。假设没有差异,则方法500前进到步骤510,其中固件加载器210将经更新 的备份固件的散列值216持久保存到固件加载器210可访问的非易失性存储器。在步骤512, 固件加载器210将备份固件本身持久保存到非易失性存储器。被持久保存的散列值216-一 以及被持久保存的备份固件一一的位置由固件加载器210记录,使得固件加载器210可以在 发生主eUICC固件212损坏的情况下适当地执行以上结合图4描述的恢复方法。
[0045] 最后,在步骤514,eUICC 108继续在正常模式下操作,这包括eUICC 108操作主 eUICC固件212并且向移动设备102提供典型的功能。因此,图5阐述了用于以安全的方式更 新备份eUICC固件214的技术。
[0046] 图6示出了根据一种实施例的、用于实现以上结合图3-5描述的各种技术以促进最 新的且可操作的固件在eUICC 108内保持完好的高层技术的方法600。如所示出的,方法600 在步骤602开始,其中eUICC 108确定主eUICC固件212是否处于运行。如果在步骤602,eUICC 108确定主eUICC固件212是处于运行的,则该方法在步骤602重复,直到不同的情况发生。当 在步骤602,eUICC 108确定主eUICC固件212没有处于运行,则方法600前进到步骤604。
[0047] 在步骤604,eUICC 108(具体而言,固件加载器210)根据以上结合图4所描述的技 术获取备份eUICC固件214。在步骤606,固件加载器210根据以上结合图4描述的技术安装备 份eUICC固件214。在步骤608,固件加载器210根据以上结合图4描述的技术激活备份eUICC 固件214,于是方法步骤612-618可以被固件加载器210执行,以试图在eUICC 108内恢复可 操作的主eUICC固件212。
[0048] 现在返回到步骤610,如果固件加载器210确定经更新的主eUICC固件212可用,则 方法600前进到步骤612,其中固件加载器210根据以上结合图3描述的技术获取经更新的主 eUICC固件212。在步骤614,固件加载器210根据以上结合图3描述的技术验证经更新的主 eUICC固件212。在步骤616,固件加载器210根据以上结合图3描述的技术安装经更新的主 eUICC固件212。最后,在步骤618,固件加载器210根据以上结合图3描述的技术激活经更新 的主eUICC固件212。
[0049] 图7示出了根据一些实施例的、可被用来实现本文所描述的各种组件的计算设备 700的详细视图。具体地,该详细视图示出了可以包括在图1中所示的移动设备102中的各种 组件。如图7中所示,计算设备700可以包括表示用于控制计算设备700的整体操作的微处理 器或控制器的处理器702。计算设备700还可以包括允许计算设备700的用户与计算设备700 交互的用户输入设备708。例如,用户输入设备708可以采取多种多样的形式,诸如按钮、小 键盘、拨号盘、触摸屏、音频输入接口、视觉/图像捕获输入接口、传感器数据形式的输入等 等。更进一步,计算设备700可以包括可由处理器702控制以向用户显示信息的显示器710 (屏幕显示)。数据总线716可便于至少存储设备740、处理器702和控制器713之间的数据传 输。控制器713可被用来通过装备控制总线714与不同装备相接口并对其控制。计算设备700 还可以包括耦合到数据链路712的网络/总线接口 711。在无线连接的情况下,网络/总线接 口 711可以包括无线收发器。
[0050] 计算设备700还包括存储设备740,其可以包括单个盘或多个盘(例如,硬驱动),并 且包括管理存储设备740内的一个或多个分区的存储管理模块。在一些实施例中,存储设备 740可以包括闪速存储器、半导体(固态)存储器等。计算设备700还可以包括随机存取存储 器(RAM)720和只读存储器(1^0107224(? 722可以存储要以非易失性方式执行的程序、实用 程序或进程。RAM 720可以提供易失性数据存储,并存储与计算设备700的操作相关的指令。 计算设备700还可以包括安全元件750,其可以表示在图1-2中示出并在本文详细描述的 eUICC 108。
[0051]所描述实施例的各个方面、实施例、实现或特征可以单独地或以任意组合使用。所 描述实施例的各个方面可以通过软件、硬件或硬件和软件的组合来实现。所描述实施例也 可被体现为计算机可读介质上的计算机可读代码。计算机可读介质是可以存储其后由计算 机系统读取的数据的任何数据存储设备。计算机可读介质的例子包括只读存储器、随机存 取存储器、⑶_R〇M、DVD、磁带、硬盘驱动、固态驱动和光学数据存储设备。计算机可读介质还 可以经网络耦合的计算机系统分布,使得计算机可读代码以分布的方式被存储和执行。 [0052]为了解释,前面的描述使用特定的术语来提供对所描述实施例的透彻理解。但是, 对本领域技术人员明显的是,特定细节不是为了实践所描述的实施例而需要的。因此,具体 实施例的以上描述是为了说明和描述而给出的。它们不旨在是详尽的或者要将所描述的实 施例限定到所公开的精确形式。对本领域普通技术人员来说明显的是,鉴于上述示教,许多 修改和变化是可能的。
【主权项】
1. 一种被配置为执行固件恢复过程的嵌入式通用集成电路卡(eUICC),该eUICC包括: 非易失性存储器;及 处理器,被配置为执行包括以下的步骤: 检测eUICC的主固件的故障; 从非易失性存储器获取用于该eUICC的备份固件,其中备份固件被存储在非易失性存 储器的受保护区域内;及 用备份固件替换主固件,其中备份固件使得能够进行不同主固件的后续安装。2. 如权利要求1所述的eUICC,其中所述步骤还包括在用备份固件替换主固件之后: 通过将备份固件相对之前被存储在非易失性存储器中并且基于该备份固件的散列值 进行比较来验证备份固件。3. 如权利要求1所述的eUICC,还包括激活所述备份固件来执行所述不同主固件的后续 安装。4. 如权利要求1所述的eUICC,还包括在检测到主固件的故障之后: 进入到使得能够用主固件替换备份固件的恢复模式中。5. -种包括被配置为执行固件更新的eUICC的移动设备,该移动设备包括: eUICC,其中该eUICC被配置为执行包括以下的步骤: 从固件提供商接收更新的备份固件对该eUICC可用的指示; 响应于该指示,向固件提供商提供(i)与该eUICC相关联的唯一标识符(ID)和(ii)临时 数值; 从固件提供商接收固件更新包,其中固件更新包包括(i)认证信息和(ii)经更新的备 份固件;及 在验证认证信息之后: 将(i)经更新的备份固件和(ii)基于经更新的备份固件的散列值持久保存到移动设备 中所包括的存储器。6. 如权利要求5所述的移动设备,其中,在将散列值持久保存到存储器之后,eUICC继续 操作与经更新的备份固件不同的主固件。7. 如根据权利6所述的移动设备,还包括在将散列值持久保存到存储器之后并且一经 检测到主固件不可操作,则: 在eUICC上安装备份固件;及 在安装备份固件之后,尝试基于散列值验证备份固件。8. 如根据权利7所述的移动设备,还包括当备份固件经过验证时: 激活备份固件,其中备份固件使得能够进行不同主固件的后续检索和安装。9. 如根据权利5所述的移动设备,其中所述存储器是非易失性存储器并且该非易失性 存储器对于eUICC是本地的。10. 如根据权利5所述的移动设备,其中所述认证信息包括由固件提供商产生的并且基 于唯一 ID和临时数值中的一个或多个的数字签名。11. 如权利要求10所述的移动设备,其中所述固件提供商根据公钥/私钥对产生数字签 名,并且eUICC将公钥存储在存储器中并且使用公钥验证数字签名。12. -种包括在移动设备中并且被配置为处理固件更新的电子通用集成电路卡 (eUICC),该 eUICC 包括: 用于从固件提供商接收更新的固件对该eUICC可用的指示的装置; 用于响应于所述指示向固件提供商提供(i)与该eUICC相关联的唯一标识符(ID)和 (ii)临时数值的装置; 用于从固件提供商接收固件更新包的装置,其中固件更新包包括(i)认证信息和(ii) 经更新的固件; 用于将对应于经更新的固件的散列值持久保存到移动设备中所包括的存储器的装置; 及 用于在eUICC上安装经更新的固件的装置。13. 如权利要求12所述的eUICC,还包括: 用于尝试使用被持久保存到存储器的散列值验证经更新的固件的装置。14. 如权利要求13所述的eUICC,还包括: 用于当经更新的固件经过验证时激活该经更新的固件的装置。15. 如权利要求13所述的eUICC,还包括: 用于当经更新的固件未经过验证时(i)从存储器获取备份固件和(ii)在eUICC上安装 备份固件的装置。16. 如权利要求15所述的eUICC,还包括: 用于尝试使用被预先存储在存储器中并且基于备份固件的现有散列值来验证备份固 件的装置。17. 如权利要求16所述的eUICC,还包括: 用于激活备份固件的装置,其中备份固件使得能够进行不同的经更新的固件的后续检 索和安装。18. 如权利要求12所述的eUICC,其中所述存储器是非易失性存储器并且该非易失性存 储器对eUICC是本地的。19. 如权利要求12所述的eUICC,其中所述认证信息包括由固件提供商产生并且基于唯 一 ID和临时数值中的一个或多个的数字签名。20. 如权利要求19所述的eUICC,其中所述固件提供商根据公钥/私钥对产生数字签名, 公钥被预先存储在eUICC的存储器中,并且eUICC使用公钥验证数字签名。
【文档编号】H04W8/18GK105916133SQ201610094809
【公开日】2016年8月31日
【申请日】2016年2月22日
【发明人】李丽, J·V·豪克, N·M·阿布杜拉希曼, A·G·马赛厄斯
【申请人】苹果公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1