首页> 中国专利> 授权在目标计算装置上执行操作的方法

授权在目标计算装置上执行操作的方法

摘要

提供了一种授权在目标计算装置上执行操作的方法。所述方法包括生成在目标计算装置上执行操作的请求,通过第一私钥公钥对中的私钥对所述请求进行签名,将所述请求传输给认证服务器,从认证服务器中接收包括所述请求和认证令牌的授权响应,并且将所述授权响应传输给所述目标计算装置。

著录项

  • 公开/公告号CN105531710A

    专利类型发明专利

  • 公开/公告日2016-04-27

    原文格式PDF

  • 申请/专利权人 波音公司;

    申请/专利号CN201480050437.4

  • 发明设计人 阿隆·J·斯特恩;

    申请日2014-07-01

  • 分类号G06F21/33;G06F21/30;

  • 代理机构北京康信知识产权代理有限责任公司;

  • 代理人梁丽超

  • 地址 美国伊利诺斯州

  • 入库时间 2023-12-18 15:37:44

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-07

    授权

    授权

  • 2016-10-12

    实质审查的生效 IPC(主分类):G06F21/33 申请日:20140701

    实质审查的生效

  • 2016-04-27

    公开

    公开

说明书

技术领域

本公开的领域总体上涉及移动通信装置,并且更具体而言,涉及一种移动通信装置,该移动通信装置能够使得在该移动通信装置上运行的一个或多个单独的虚拟操作系统能够受信任地操作。

背景技术

移动通信装置(例如,智能电话、蜂窝电话以及个人数字助理(PDA))在各种不同类型的用户中的使用和知名度在增加。至少一些已知的装置包括中央处理单元(CPU),其可被虚拟化为在一个装置上同时执行多个操作系统(OS)。例如,称为超级管理器的软件程序可用于通过管理在OS与包含在计算机系统内的硬件装置之间传输的输入/输出(I/O)接入操作来分离不同的OS。更具体而言,超级管理器促进分离基础硬件(例如,CPU和相关联的外围(例如,显示装置、触摸屏以及通信接口))和在硬件上运行的OS。

虽然装置虚拟化可促进在已知的计算装置上分离一组软件和另一组软件,但是基础平台易受各种安全漏洞的影响。正因为如此,所以对于在计算机行业的计算装置,提高已知计算装置的安全性越来越重要。同样,期望在装置虚拟化架构中结合有增强的安全性。

发明内容

在一方面,提供了一种授权在目标计算装置上执行操作的方法。所述方法包括:生成在目标计算装置上执行操作的请求;通过第一私钥公钥对的私钥签名所述请求;将所述请求传输给认证服务器;从认证服务器接收包括所述请求和认证令牌的授权响应;并且将所述授权响应传输给所述目标计算装置。

在另一方面,提供了一种授权在目标计算装置上执行操作的方法。所述方法包括:从请求装置接收在目标计算装置上执行操作的请求;通过第一私钥公钥对的公钥验证所述请求,其中,通过第一私钥公钥对的私钥签名所述请求;形成包括所述请求和所述授权令牌的授权响应;并且将所述授权响应传输给所述请求装置。

在又一方面,提供了一种授权在目标计算装置上执行操作的方法。所述方法包括:从请求装置接收授权响应,所述授权响应包括在目标计算装置上执行操作的请求以及授权令牌;通过私钥公钥对的公钥验证所述授权响应,其中,通过所述私钥公钥对的私钥签名所述授权响应。所述方法还包括在验证所述授权响应之后,同意执行操作的授权。

附图说明

图1是示例性移动通信装置的前透视图;

图2是在图1中示出的移动通信装置的后透视图;

图3是可供在图1中示出的移动通信装置使用的示例性硬件架构的示意图;

图4是可供在图1中示出的移动通信装置使用的示例性软件架构的示意图;

图5是要求可供在图1中示出的移动通信装置使用的个人所有权的示例性方法的流程图;

图6是用于授权在图1中示出的移动通信装置上执行操作的示例性系统的示意图;

图7是可供在图1中示出的移动通信装置使用的更新个人软件的示例性方法的流程图;

图8是可供在图1中示出的移动通信装置使用的转移个人所有权的示例性方法的流程图;

图9是可供在图1中示出的移动通信装置使用的下载新用户角色的示例性方法的流程图。

具体实施方式

在本文中描述的系统和方法可用于操作移动通信装置。在示例性实现方式中,移动通信装置由硬件和软件架构管理,该架构使用密码(例如,基于公钥和私钥的密码)来促进保护其上运行的操作系统。更具体而言,移动通信装置支持同时在该装置上运行并且均具有单独的信任根源的多个虚拟化操作系统。这样,由预定的安全策略强制虚拟化操作系统访问装置上的硬件,以能够使装置受信任地操作。

图1和图2示出了示例性移动通信装置10。在示例性实施中,提供移动通信装置10以用于支持与另一个装置(例如,另一个移动通信装置)进行语音通信。而且,移动通信装置10可包括各种其他功能,包括网络接入、SMS消息传送、一个或多个应用的托管、数据处理、加密和/或其他功能。移动通信装置10可以是智能电话,其被配置为通过一个或多个蜂窝网络进行通信。在替换的实现方式中,移动通信装置10可仅仅通过非蜂窝网络(例如,WiFi和/或卫星网络)进行操作。

如图所示,移动通信装置10包括外壳12以及至少部分设置在外壳12内的多个呈现(presentation,显示)装置14。呈现装置14向用户输出信息,例如但不限于与移动通信装置10的操作相关的数据、命令、请求的数据、消息、一个或多个输入装置(例如,虚拟键盘)和/或其他类型的数据。在几个实例中,呈现装置14可包括(例如)液晶显示器(LCD)、发光二极管(LED)显示器、发光二极管(LED)、相机闪光灯、有机LED(OLED)显示器和/或“电子墨水”显示器。在一些实现方式中,可包括多个呈现装置14,以在视觉上/或听觉上向用户呈现数据。在示例性实施方式中,呈现装置14包括用于语音通信的音频输出。

移动通信装置10进一步包括至少部分设置在外壳12内的多个输入装置16。每个输入装置16可配置为根据在本文中描述的方法和/或处理中的一个或多个,接收选择、请求、命令、信息、数据和/或任何其他类型的输入。输入装置16可包括(例如)按钮、键盘、麦克风、感应、定点装置、手写笔、触敏面板(例如,触摸板或触摸屏)、陀螺仪、加速计、指南针、位置探测器、摄像头、第二摄像头、环境光传感器和/或音频输入装置。在示例性实施方式中,单个元件(例如,触摸屏18)用作呈现装置14和输入装置16两者。

在一个实施方式中,移动通信装置10包括促进移动通信装置10的安全操作的安全特征。安全特征包括输入装置16(例如,安全按钮17)和呈现装置14(例如,多个LED)。更具体而言,移动通信装置10包括第一LED19和第二LED21。如下面更详细地描述的,安全特征可用于改变和/或验证移动通信装置10的操作的可信状态。在替换的实施方式中,移动通信装置10可包括使安全特征能够起在本文中描述的作用的任何类型和/或数量的呈现装置。

移动通信装置10包括与外壳12卡合的后板20。后板20限定与外壳12基本上一致的横截面,从而在与外壳耦合时,与外壳12形成基本上整体的单元。从移动通信装置10中可去除后板20,以提供与移动通信装置10的一个或多个方面的接入。

图3是可供移动通信装置10(在图1中示出的)使用的示例性硬件架构的示意图。在示例性实施方式中,移动通信装置10包括存储器22和处理器24,所述处理器与存储器22耦接以用于执行编程指令。处理器24可包括一个或多个处理单元(例如,多核配置)和/或包括密码加速器(未显示)。移动通信装置10可编程以由编程存储器22和/或处理器24执行在本文中描述的一个或多个操作。例如,通过将操作编码为可执行指令并且在存储器22内提供可执行指令,来编程处理器24。

处理器24可包括但不限于,通用中央处理单元(CPU)、微控制器、精简指令集计算机(RISC)处理器、开放式媒体应用平台(OMAP)、专用集成电路(ASIC)、可编程逻辑电路(PLC)和/或能够执行在本文中描述的功能的任何其他电路或处理器。在本文中描述的方法可被编码作为在计算机可读介质中实施的可执行指令,计算机可读介质包括但不限于,储存装置和/或内存装置。在由处理器24执行时,这种指令促使处理器24执行在本文中描述的功能的至少一部分。以上实例仅仅是示例性的,因此,并非旨在通过任何方式限制术语处理器的定义和/或意义。

如在本文中所述,存储器22是一个或多个装置,所述装置能够储存和检索信息,例如,可执行指令和/或其他数据。存储器22可包括一个或多个计算机可读介质,例如而不限于,动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、静态随机存取存储器(SRAM)、固态硬盘和/或硬盘。存储器22可配置为储存(而不限于)适合于供在本文中描述的方法和系统使用的可执行指令、操作系统、应用、资源、安装脚本和/或任何其他类型的数据。

用于操作系统和应用的指令以功能形式存储于永久性存储器22内,以供处理器24执行从而执行在本文中描述的一个或多个处理。不同实现方式中的这些指令可存储在不同的物理或有形计算机可读介质上,例如,存储器22或另一个存储器,例如,计算机可读介质26,该介质包括而不限于闪存驱动器和/或拇指驱动器。而且,指令以功能形式位于永久性计算机可读介质26上,该介质包括而不限于智能媒体(SM)存储器、紧凑闪速(CF)存储器、安全数字(SD)存储器、记忆棒(MS)存储器、多媒体卡(MMC)存储器、嵌入式多媒体卡(e-MMC)以及微驱动存储器。计算机可读介质26可从移动通信装置10中选择性插入和/或移除,以允许处理器24访问和/或执行。在一些实现方式中,计算机可读介质26是不可移除的。

再次参照图3,移动通信装置10可包括GPS元件30,该元件配置为向处理器24提供位置数据。位置数据允许处理器24确定移动通信装置10的位置和/或根据移动通信装置10的位置,提供功能(例如,以导航功能为例)。在替换的实现方式中,可通过识别附近的802.11和/或蓝牙基站或装置和/或其组合,使用蜂窝网络为移动通信装置10获得位置数据。

在一些实现方式中,移动通信装置10进一步包括至少一个密码处理器。更具体而言,移动通信装置10包括第一可信平台模块(TPM)60和第二TPM62。TPM将处理器24访问的至少一部分数据加密,用于传送给移动通信装置10/从移动通信装置10传送至少一部分数据和/或用于储存至少一部分数据在其内。因此,一些数据可与移动通信装置10的其他应用和/或操作分离,并且保持在比这种应用/或操作更高的安全等级。同样,例如,TPM60和62促进启用可信启动、测量启动、安全启动、远程认证和保护的密钥存储。

进一步,移动通信装置包括安全元件64,其耦接至处理器24。更具体而言,安全元件64可作为通用集成电路卡(UICC)、微SD卡中的至少一个与移动通信装置10整合和/或嵌入移动通信装置10内。安全元件64是防篡改的储存和执行环境,该环境可用作密钥储存装置和/或用作硬件信任锚,用于在移动通信装置10上运行的平台。更具体而言,安全元件64储存数据加密密钥、密码和/或硬件和软件配置信息。进一步,安全元件64生成公钥对并且有利于限制相关联的私钥的输出。在替换的实现方式中,安全元件64可通过TPM实现。

移动通信装置10还包括安全管理存储器66。安全管理存储器66储存可包括多个密钥的防篡改数据,并且可用于包裹(wrap)安全元件64和/或第一TPM60或第二TPM62内的数据。在操作时,在检测到篡改事件时,防篡改数据可被清除为不能恢复隐藏的数据。安全管理存储器66可保持任何数量的防篡改数据,该数据使移动通信装置10能够如在本文中起作用。

移动通信装置10进一步包括蜂窝控制器31,该控制器耦接至处理器24。蜂窝控制器31允许移动通信装置10与一个或多个蜂窝网络(未显示)通信,以提供与蜂窝网络的语音和/或数据通信。在该实例中,移动通信装置10包括与蜂窝控制器31耦接的两个用户身份模块(SIM)卡座33A和33B。通过这种方式,移动通信装置10能够接收与移动通信装置10的用户可选择的两个不同的蜂窝账户相关联的两个SIM卡。例如,移动通信装置10可访问个人蜂窝账户和企业蜂窝账户,允许用户在其间选择以分开个人使用和企业使用。应理解的是,在其他实现方式中,可包括不同数量的SIM卡座。

进一步,移动通信装置10包括耦接至处理器24的USB控制器35。如图3中所示,通过连接器37可接入USB控制器35。通过这种方式,一个或多个不同的装置可与移动通信装置10通信。类似地,移动通信装置10进一步包括高清晰多媒体接口(HDMI)控制器39,其耦接至处理器24并且能够通过连接器41接入。在至少一个实现方式中,连接器37和/或41可提供与移动通信装置10的微USB和/或微HDMI连接。

此外或者可替换地,移动通信装置10可包括蓝牙控制器、ZigBee控制器和/或Wi-Fi控制器中的一个或多个,以提供一个或多个无线通信信道。虽然至少部分以硬件提供GPS元件30、第一TPM60、第二TPM62以及蜂窝控制器31,但是应进一步理解的是,通过与处理器24相关联的软件和/或固件,可提供整合到移动通信装置10内的一个或多个元件。在一个实例中,处理器24提供空中接口防火墙,其配置为分析移动通信装置10的低等级空中接口协议,并且根据批准的网络身份和特征,允许或者拒绝网络传输。在该实例中,来自蜂窝控制器31的包含蜂窝网络身份和特征的空中接口协议数据被提供给处理器24并且由处理器24分析,以确定是否应允许移动通信装置10通过由蜂窝控制器31识别的蜂窝网络进行网络传输。在该实例中,在使处理器24使用蜂窝控制器31的标准蜂窝网络协议认证机制之外,可通过处理器24进一步认证蜂窝控制器31的网络连接,而使所提供的分析等级给移动通信装置10提供增加的网络安全性。应注意的是,移动通信装置10的其他空中接口元件(例如,蓝牙控制器和/或Wi-Fi控制器)还可以由空中接口防火墙监控。在替换的实现方式中,第一TPM60和第二TPM62可以以软件实现。

应理解的是,其他移动通信装置实现方式可包括与处理器24整合或者位于处理器24外面的更多或更少元件。

图4是可供移动通信装置10(在图1中示出的)使用的示例性软件架构100的示意图。在示例性实施方式中,软件架构100包括安装在包括处理器24和存储器22的硬件平台102上的操作系统104。硬件平台102包括上面描述的移动通信装置10的元件。软件架构100还包括虚拟化软件层,例如,在操作系统104的顶层上运行的超级管理器106(即,类型2超级管理器)以及与超级管理器106通信耦接的安全管理器108。在替换的实现方式中,超级管理器106可安装在硬件平台102上并且在硬件平台102上操作(即,类型1超级管理器)。超级管理器106支持多个虚拟机执行空间,以使得可同时实例化并且执行多个虚拟机。

超级管理器106虚拟化可在超级管理器106的顶层上执行和运行的第一用户角色(persona)110和第二用户角色120。第一用户角色110包括第一用户角色操作系统(OS)112和第一可信执行环境(TEE)114,并且第二用户角色120包括第二用户角色操作系统122和第二可信执行环境124。

第一用户角色(persona)110和第二用户角色120均具有定义的信任锚,该信任锚可用于验证信任并且授权由每个用户角色执行的动作。更具体而言,第一用户角色110具有第一信任锚,并且第二用户角色120具有与第一信任锚分开的第二信任锚。在本文中使用的术语“信任锚”表示一个或多个安全加密密钥(即,加密证书),所述安全加密密钥限定用户角色的所有者并且可用于签名用户角色资产(asset,资源)。相反,在本文中使用的术语“所有者”和/或“所有权”表示通过保持信任锚而具有对用户角色的管理控制的人或实体。在一些实现方式中,信任锚根源证书可用于签名中级认证授权,所述中级认证授权机构签名用户角色封包的资产。

每个信任锚追溯到根源证书授权,所述根源证书授权可以是企业组织和/或可在台式电脑上通过轻型方式为单个用户限定。同样,第一用户角色110的资源可与第二用户角色120保持分开,并且可实施每个信任锚同意并且签名的访问策略。根源证书授权可离线并且在安全位置内储存。进一步,信任锚可包括具有特定限定能力的多个中级认证授权。示例性能力包括但不限于限定操作系统的权利、限定TEE的权利、限定安全策略的权利、限定其他中级认证授权和/或用户证书的权利、备份能力、备份策略、更新操作系统的能力、更新TEE的能力、移动装置管理(MDM)功能以及密钥输入和/或输出。

第一用户角色110和第二用户角色120的可信软件均在与其他下层默认条件隔离的背景下运行。更具体而言,如上所述,超级管理器106促进第一TEE114和第二TEE124彼此分开和隔离。这样,每个用户角色不受到在移动通信装置10上运行的其他操作系统的影响。进一步,第一用户角色110和第二用户角色120可配置为在第一TEE114和第二TEE124之间建立相互信任。建立这种相互信任能够在第一用户角色110和第二用户角色120之间形成可信通信路径。第一用户角色110和第二用户角色120的安全策略中的双方协定仅仅可允许在第一TEE114和第二TEE124之间通信。进一步,可实现高保证保护(未显示),以有利于限制在第一用户角色110和第二用户角色120之间流通数据。例如,高保证保护可促进限制敏感和/或分类数据在第一用户角色110和第二用户角色120之间流通,同时允许未分类的数据在其间流通。

虽然下面进一步详细描述第一用户角色110及其元件,但是应理解的是,相同的描述可适用于第二用户角色120及其元件。在示例性实现方式中,第一用户角色OS112是具有资源以及能够运行全操作系统的虚拟装置驱动器的执行环境。示例性全操作系统可包括但不限于开源项目(AOSP)操作系统。第一用户角色OS112可包括库(library),该库使第一用户角色OS112能够与第一TEE114通信。进一步,多个应用130可从外部源(未显示)中获取并且运行在第一用户角色OS112的上层(top)。

第一TEE114是轻型执行环境,该环境与第一用户角色OS112分开并且通信耦接。第一TEE114是安全环境,该环境提供可用于储存敏感数据并且运行敏感应用的区域。在替换的实现方式中,第一TEE114可以是具有资源以及能够运行全操作系统的虚拟装置驱动器的执行环境和/或可在单独的硬件块上运行。进一步,第一用户角色110可包括不止一个可信执行环境。

第一TEE114直接接入ISO7816用户识别模块(SIM)接口和/或TPM。更具体而言,将第一TPM60(在图3中示出的)分配给第一用户角色110,并且将第二TPM62(在图3中示出的)分配给第二用户角色120。这样,第一TPM60可用作第一用户角色110的所有者的硬件信任锚,并且第二TPM62可用作第二用户角色120的所有者的硬件信任锚。进一步,例如,第一TEE114直接接入第一TPM60并且直接访问可信执行环境服务(例如,认证、密钥储存访问、虚拟专用网络(VPN)配置和/或网络电话(VoIP)软件)。在第一TEE114内并且远离第一用户角色OS112隔离这种敏感数据路径,促进确保移动通信装置10的可信操作,同时保持由用户角色所有者控制TEE服务。进一步,允许第一TEE114控制第一TPM60,促进敏感信息与第一用户角色OS112隔离,以便信息处于更安全的并且受保护的环境内。

进一步,第一TEE114可访问加密服务,以便可代表第一用户角色OS112执行加密操作,而不将加密暴露到明文密钥。更具体而言,第一TEE114可使用第一TPM60内的加密模块,所述模块启用未认证的硬件加速密码、套件B和/或FIPS-140-2认证加密。移动通信装置10还可包括VPN模块和/或VoIP模块。VPN模块使第一用户角色110能够认证VPN并且通信有加密,从而认证或加密密钥对不可信代码是不可见的。此外,VoIP模块使第一用户角色110能够建立和认证VoIP呼叫并且通信加密,从而认证或加密密钥对不可信代码是不可见的。

第一用户角色OS112和第二用户角色OS122的信任由平台硬件102加载的每个用户角色的启动图像的完整性限定。例如,在由平台硬件102加载时,第一用户角色OS112的信任由其静态图像的完整性限定,下面更详细地描述。更具体而言,在加载期间,加载入第一TEE114内的代码对照信任锚进行验证,并且一旦被加载,该图像就不可变。由于图像不可变,所以通过在第一TEE114上加载新签名的图像,可仅仅改变第一TEE114。进一步,第一用户角色OS112和第二用户角色OS122可使用在其自身执行环境之外的资源,来管理其完整性。例如,可加密和验证操作系统的加载,并且可通过在其控制之外的配置,限制和实施操作系统对硬件资源的访问。

软件架构100还包括加载操作系统104的主启动加载器140、加载第一用户角色OS112的第一次启动加载器142以及加载第二用户角色OS122的第二次启动加载器144。在示例性实现方式中,移动通信装置10使用处理器,该处理器在启动过程中促进建立平台信任。更具体而言,在每个操作系统的加载期间,处理器使启动加载器的签名验证能够促进建立信任。例如,移动通信装置10使用固定哈希(hash)值和签名验证的组合,以使得在从硬件平台102延伸到第一用户角色110和第二用户角色120时,信任链保持完整。

在操作时,如果由装置制造商的信任根源进行数字签名,那么处理器24加载主启动加载器140。在本文中使用的术语“装置制造商信任根源”表示装置制造商使用的一个或多个加密密钥(即,加密证书),用于签名将安装在移动通信装置10上的资产。信任链通过超级管理器106依然保持完整,以促进建立隔离的执行环境,验证移动通信装置10内的元件,和/或在可信平台模块内储存度量以供用户代码稍后使用,以对照可信状态进行赋值。

将第一TPM60的控制转移给第一用户角色110,并且将第二TPM62的控制转移给第二用户角色120,以便TPM60和62的被测启动方面可由第一用户角色110和第二用户角色120使用。更具体而言,TPM60和62由移动通信装置10的可信启动软件初始化,然后,在加载用户角色之后,将控制转移给每个用户角色,以供其专用。如果用户角色将TPM用于可信启动,那么硬件和/或软件变化可造成不能检索对照原始配置赋值的密钥,以便如果不重置整个装置,用户角色就能不重新启动。

在启动过程中,TPM测量(即,推敲(hash))在移动通信装置10内使用的关键的软件和固件元件。例如,在主启动加载器140、操作系统104、超级管理器106、安全管理器108、启动加载器142以及第一用户角色OS112的管理扩展到第一TPM60内时,可建立用于度量的信任根源。所述度量可储存在位于第一TPM60内的平台配置寄存器(PCR)内,并且可用于在启动时间对照相关联的信任锚验证操作系统的图像。同样,在允许访问可绑定到PCR的敏感信息之前,可验证系统的完整性。

一旦在启动加载期间,控制从装置制造商信任转移,用户角色就可负责其自身的完整性。例如,第一用户角色OS112负责验证安装在第一用户角色OS112上或者在该第一用户角色上运行的应用130。同样,在恶意应用程序(未显示)危害在移动通信装置10上运行的客户操作系统的完整性的情况下,如果与危害的操作系统没有信任关系,那么危害不会影响其他客户操作系统的完整性。

安全管理器108与第一用户角色OS112和第二用户角色OS122通信耦接。安全管理器108是促进供移动通信装置10的操作使用的安全策略的储存和执行的操作系统。安全管理器108在隔离的环境中运行,并且可访问平台资源、额外接口和/或额外能力。在一些实现方式中,第一用户角色110和第二用户角色120通过可信机构(即,CPU虚拟化)分开,使得用户角色所有者不能配置该用户角色所有者拥有的用户角色的安全策略。例如,第一用户角色110的安全策略可仅仅由第一用户角色所有者配置,并且第二用户角色120的安全策略可仅仅由第二用户角色所有者配置。更具体而言,每个安全策略可由用户角色所有者的私钥签名,并且在安全管理器108向相关联的用户角色应用安全策略之前,该签名可由移动通信装置10使用用户角色所有者的相应公钥验证。第一用户角色110和第二用户角色120的所有权和安全策略储存在可由安全管理器108保持的配置文件内。进一步,所有权和安全策略由加密证书验证。这样,每个用户角色所有者可限定其拥有的用户角色的操作系统、可信执行环境以及安全策略。

第一用户角色110和第二用户角色120的安全策略可由用户角色所有者限定,并且可与用户角色代码隔离开限定、储存和实施。安全策略限定每个相关联的用户角色可如何访问移动通信装置10上的物理装置。例如,安全策略将用户角色的访问限于一个或多个物理装置,限定用户角色对一个或多个物理装置的专有访问的指导原则,和/或限定第一用户角色110和第二用户角色120的共享装置访问的指导原则。更具体而言,访问共享装置的指导原则可能够共享装置,使得仅仅控制用户接口的用户角色访问共享装置。进一步,用于访问共享装置的一个或多个安全策略内的特定规则使得能够共享装置,以便在后台内运行的用户角色可依然访问共享装置。这样,由安全策略限定的规则使用户角色所有者能够修改处于各种配置的移动通信装置10,以适合其需求。

第一用户角色110的基线图像和/或文件系统可被加密和储存在内部和/或可移除介质上。进一步,第一用户角色110的启动卷可被加密,以便在第一用户角色110可启动和访问储存在其上的敏感数据之前,需要可信启动过程的预先启动认证。更具体而言,在可信启动过程中,在允许第一用户角色110启动之前,可提示用户输入证书。在输入其证书之前,用户可希望验证移动通信装置10的状态。例如,在输入密码和/或个人识别号码(PIN)之前,用户可请求验证移动通信装置10处于可信状态中,以确保输入屏幕是真实的。如上所述,移动通信装置10包括安全特征,例如,安全按钮17和/或LED19和21(在图1中显示)。安全特征是硬件隔离的,从在移动通信装置10上运行的不可信代码中不可访问该硬件,以促进验证输入屏幕是真实的。

在操作时,在验证对话出现在触摸屏18(在图1中显示)上之前,用户可激活安全按钮17。激活安全按钮17,显示移动通信装置10的信任根源信息和/或显示请求认证对话出现的软件的信任根源信息。例如,信任根源信息可包括移动通信装置10的和/或在移动通信装置10上运行的用户角色的信任根源信息。这样,用户可验证信任根源信息,并且安全地输入请求的证书。在替换的实施方式中,以预定的配置激活LED19和21时,可验证认证对话。

在一个实施方式中,用户可希望改变移动通信装置的操作状态。更具体而言,用户可期望在移动通信装置10上运行的用户角色之间转移移动通信装置10的焦点。例如,激活安全按钮17,促进在第一用户角色110和第二用户角色120之间转移焦点。而且,将第一LED19分配给第一用户角色110,并且将第二LED21分配给第二用户角色120。在第一用户角色110处于焦点时,可激活第一LED19,并且可停用第二LED21,并且在第二用户角色120处于焦点时,可激活第二LED21,并且可停用第一LED19。这样,基于移动通信装置10的操作状态,第一LED19和第二LED21给用户提供视觉反馈。

TPM60和62中的至少一个具有物理呈现特征,该特征提示用户验证其相对于移动通信装置10的存在。例如,可实施物理存在特征,以验证不远程执行在移动通信装置10上运行的操作。这样,可按压安全按钮17,以验证用户的物理存在。

图5是可供移动通信装置10使用的要求用户角色的所有权的示例性方法的流程图。在示例性实现方式中,移动通信装置10使用加密的信任根源来限定第一用户角色110和第二用户角色120的所有权。例如,第一用户角色110可配置为由一个实体使用,并且第二用户角色120可配置为由另一个实体使用。移动通信装置10的发行者()可给用户(例如,客户和/或员工)发行一个或多个移动通信装置10。在这种实现方式中,第一用户角色110可配置为供企业使用,并且第二用户角色120可配置为供个人使用。在替换的实现方式中,移动通信装置10可配置为通过分配单独的SIM、单独的服务和/或隔离第一用户角色110和第二用户角色120的数据、操作系统以及蜂窝通信,来分离用户角色。

使用加密的信任根源,使移动通信装置10能够验证用户角色配置的完整性,并且将用户角色的修改权利限制为授权方。例如,可将移动通信装置10提供给在其上安装了至少一个默认用户角色(即,没有限定的所有权的用户角色)的终端用户。默认用户角色由制造商通过默认信任锚签名,这表示用户角色未修改并且给其分配了默认策略。然后,终端用户可以使用默认用户角色,但是如果不首先通过限定信任根源来获得所有权,那么就不能自定义该用户角色。

通过在用户角色管理员(PM)202的工作站上创建212用户角色的信任根源,操作者200要求用户角色的所有权,例如,第二用户角色120。在一些实现方式中,PM202也可使操作者200编辑和/或限定用户角色的安全策略,和/或更新用户角色和/或可信执行环境的图像,例如,第二TEE124。操作者200请求装置管理员(DM)204生成214要求票证,以要求操作系统(例如,第二用户角色OS122)将所有权从默认信任锚转移给创建212的信任根源。然后,对转移进行授权216,并且重新启动218移动通信装置10。

在重新启动218期间,操作者200在DM204与移动通信装置10之间耦接通用串行总线(USB)电缆,并且移动通信装置10检测USB连接,并且进入编程模式,以便用户角色操作系统不加载。然后,操作者200从工作站请求220DM204运行软件,以将用户角色转移给新所有者。该请求被导向222安全管理器206并且可限定新用户角色信任锚。然后,安全管理器206使用生成214的要求票证,来请求224操作者200授权验证其身份,并且操作者200响应于授权请求224输入226预定的装置密码。请求224还可由创建212的信任根源签名。

然后,移动通信装置10将来自安全管理器206的授权请求228呈现给用户,以输入其证书,来开启安全元件208。如果用户角色由默认信任锚确认为无主,那么旧用户角色资产变成哈希(hash),并且签名转移234给DM204。DM204验证签名并且通过新用户角色签名密钥重新签名哈希,授权该密钥以签名相关资产。进一步,允许访问用户角色媒体密钥的用户角色密钥改变。然后,更换签名从DM204中传输236给移动通信装置10,并且移动通信装置10验证签名,并且使用新签名更换用户角色资产上的旧签名。

然后,创建238用户角色过渡文件,并且检查用户角色的配置文件的有效性,并且该配置文件与已经存在于移动通信装置10上的其他配置文件冲突。如果验证了配置文件,那么该过程继续,并且如果在配置文件之间具有冲突,那么软件更新停止。在授权继续时,更新240用户的用户角色认证,以便媒体密钥由新信任根源访问并且返回242到DM204。

DM204签名正在更新的资产并且返回签名的哈希。例如,正在更新的资产可具有通过重新签名的哈希更新的签名和/或可由新签名更新246。在每次更新之后,抽点检查244用户角色过渡文件,以使该处理从中断的状态重新启动。在更新完成之后,缓冲数据转储248到闪速存储器210中,删除250用户角色过渡文件,并且重新启动252移动通信装置10。

图6是用于授权在移动通信装置10上执行操作的示例性系统300的示意图。在示例性实现方式中,在允许修改安装在目标计算装置(例如,移动通信装置10)上的软件之前,实体需要得到授权。例如,一旦在移动通信装置10上装载用户角色,装置持有者就保留去除和/或更新该用户角色的授权,但是用户角色所有者具有修改该用户角色的授权。这样,代表用户角色所有者的实体需要被授权为具有由用户角色所有者批准的修改用户角色的预定许可。在本文中使用的术语“装置持有者”表示使用默认用户角色操作移动通信装置10的实体。

管理员计算机(例如,装置管理员(DM)302)可生成请求并且将请求传输给授权服务器304,用于授权在移动通信装置10上执行操作。请求是规定在移动通信装置10上执行操作的参数的文件。示例性参数包括但不限于目标计算装置(例如,移动通信装置10)的标识、在目标计算装置上执行的操作、执行操作的时间段以及目标计算装置的地理位置。而且,请求由分配给管理员的私钥公钥对的第一私钥签名。在一些实现方式中,可通过可移动媒体(未显示)传输请求。

授权服务器304接收DM302的请求,并且通过第一私钥公钥对的公钥验证DM302的签名。授权服务器304还确定要执行的操作的参数是否与移动通信装置10的安全策略一致。授权参数可储存在授权服务器304可访问的授权数据库306内。然后,如果请求得到授权,那么授权服务器304生成授权响应。授权响应可包括来自DM302的请求以及由授权服务器304创建的授权令牌。授权令牌可用于授权请求的操作。在一些实施方式中,授权令牌可具有请求的操作可被执行的预定的授权周期,可限于同意授权特定目标计算装置,和/或可授权在移动通信装置10上执行单个或多个操作。仅仅作为一个实例,授权令牌可包括授权在预定的目标计算装置上执行操作和/或授权在目标计算装置上执行预定的操作。而且,在接收用于在移动通信装置10上执行操作的请求之前和响应于对在移动通信装置10上执行操作的请求进行验证中的至少一个,可生成授权令牌。然后,授权响应可由与授权服务器计算机相关联的私钥公钥对的第二私钥签名,并且传输给管理员计算机。在替换的实现方式中,授权响应可由授权操作者签名。例如,请求可排队并且由授权操作者签名、同意或者拒绝。在一些实现方式中,授权响应可通过可移动介质(未显示)传输。

DM302接收授权响应,并且确定授权令牌是否对请求的操作进行了授权。例如,DM302可通过第二私钥公钥对的公钥验证授权响应,其中,通过第二私钥公钥对的私钥签名授权响应。然后,如果授权了请求,那么DM302将授权响应文件传输给移动通信装置10,以请求执行操作。传输授权响应,可包括通过第一私钥公钥对的私钥签名授权响应。移动通信装置10接收授权响应并且通过与管理员计算机相关联的第一私钥公钥对的公钥验证签名,并且确定在授权响应中规定的参数是否与移动通信装置10的安全策略一致。如果签名得到验证并且参数一致,那么移动通信装置10允许请求的操作继续。然后,可在移动通信装置10上执行特权操作。在替换的实现方式中,授权响应可包括到授权信任根源的证书链。进一步,在替换的实现方式中,可生成并且通过人工后备网(sneaker-net)传输授权令牌。

图7是可供移动通信装置10使用的更新用户角色软件的示例性方法的流程图。在示例性实现方式中,通过使源自装置管理员(DM)工作站402的USB电缆与移动通信装置10耦接,操作者400可更新现有用户角色OS,例如,第二用户角色120。运行装置管理软件,并且操作者400引导移动通信装置10重新启动410。在重新启动410期间,移动通信装置10检测USB连接,并且进入编程模式,以便用户角色操作系统不加载。然后,操作者400引导DM软件412请求414更新移动通信装置10上的用户角色OS。DM工作站402与授权服务器联系,以获得授权令牌。可从离线资源中高速缓存和/或加载授权令牌。然后,安全管理器404可授权416请求414,并且用户角色更新418可继续。在一些实现方式中,如果不存在有效的授权令牌,那么DM软件警告操作者400并且拒绝执行更新处理。

DM工作站402包括可用于开启安全元件406的共享密钥。可使用由共享密钥提供的授权,从安全元件406中检索仅仅与授权的用户角色相关的储存加密密钥。然后,移动通信装置10验证授权令牌,以确认操作者400具有执行请求的操作的特权。用户由安全元件406认证420,并且如果操作者400没有合适的证书,那么操作终止。

然后,DM软件从移动通信装置10请求422用户角色的装置几何数据。装置几何数据可包括但不限于,用户角色的OS和TEE元件的大小。如果用户角色几何与装置几何匹配,那么软件更新继续,并且如果失配,那么软件更新停止并且指示错误。在替换的实现方式中,还可以提供修订数量的用户角色封包,因此,用户角色所有者可验证更新的兼容性。

通过传输424软件以为移动通信装置10更新,DM软件开始加载处理。在一个实现方式中,如果包含在更新内,那么通过传输426用户角色的配置,开始软件更新。然后,安全管理器404检查和评估配置文件的几何、信任根源以及签名,以确定与已经加载在移动通信装置10上的其他配置文件是否发生冲突。如果配置文件得到验证428和/或如果未更新配置文件,那么软件更新继续,并且如果在配置文件之间具有冲突,那么软件更新停止。进一步,可在移动通信装置10上加载430和432更新的操作系统和/或可信执行环境。

传输的软件更新可储存在闪速存储器408上并且对照信任锚进行验证。然后,创建434用户角色过渡文件,以指示要更新哪个软件,在闪速存储器408上写入软件,并且在每次更新之后,在过渡文件中创建检查点。例如,在闪速存储器408上写入436新配置文件,并且抽点检查438过渡文件,在闪速存储器408上写入440新用户角色OS文件系统,并且抽点检查442过渡文件,并且在闪速存储器408上写入444新用户角色TEE文件系统,并且抽点检查446过渡文件。在示例性实现方式中,目标闪速文件系统从更早储存的存储器内容编程,并且在传输期间使用配置文件的储存密钥加密。在更新完成之后,缓冲数据被转储448到闪速存储器408中,删除450用户角色过渡文件,并且重新启动452移动通信装置10。

图8是可供移动通信装置10使用的转移用户角色的所有权的示例性方法的流程图。加载在移动通信装置10上的用户角色的所有权可被转移至新所有者,而不更新用户角色数据。在示例性实现方式中,新所有者在装置管理员(DM)(新RoT)502内生成510转移票证。转移票证是详细说明要被转移的特定装置以及预期的当前信任根源的数据块。然后,将数据块发送给当前用户角色所有者,并且当前用户角色所有者验证在当前用户角色所有者(DM)(新RoT)502内的信息。

然后,代表当前用户角色所有者的操作者500获得授权令牌,以表示操作者和当前用户角色所有者是否由(DM)(旧RoT)503授权512和514,以转移用户角色。然后,授权令牌附加到转移票证中并且签名转移票证,并且签名的转移票证被传输给闪速存储器508并且储存516在闪速存储器508上。签名的转移票证还可与安全元件506内的用户角色插槽的认证密钥一起返回预期的新用户角色所有者。在这种实现方式中,可使用附接至转移票证的新用户角色所有者的DM操作者公钥,包装认证密钥。然后,代表新用户角色所有者的操作者可使用包装的转移票证来启动转移处理。更具体而言,移动通信装置10可验证新用户角色所有者的证书,并且对转移进行授权。

然后,操作者500将源自(DM)(新RoT)502的工作站的USB电缆耦接至移动通信装置10。运行装置管理软件,并且操作者500引导移动通信装置10重新启动518。在重新启动518期间,移动通信装置10检测USB连接,并且进入编程模式,以便用户角色操作系统不加载。然后,操作者500指示DM软件将当前用户角色所有者拥有的用户角色转移到新用户角色所有者。转移票证包括认证需要的信息以及用于认证由转移的用户角色的先前所有者的信任根源签名的请求的操作者500的公钥基础设施(PKI)证书。

DM软件使用操作者500的密钥打开转移票证的认证密钥。然后,认证密钥可用于520请求522用户角色转移,并且认证524操作者,以开启移动通信装置10上的安全元件506。在这种实现方式中,认证524仅仅能够从安全元件506中检索与授权的用户角色相关的储存加密密钥。

转移进一步包括将旧用户角色资源哈希值(assethashes)转移530至DM502。DM502验证签名并且通过授权签名相关资产的新用户角色签名密钥重新签名哈希。进一步,允许访问用户角色媒体密钥的用户角色密钥改变,并且新值转移至DM502。然后,更换签名从DM502中传输236给移动通信装置10,并且移动通信装置10验证签名,并且使用新签名更换用户角色资产上的旧签名。

然后,创建534用户角色过渡文件,并且检查用户角色的配置文件的有效性,并且该配置文件与已经装载在移动通信装置10上的其他配置文件冲突。如果配置文件得到验证,那么该过程继续,并且如果在配置文件之间具有冲突,那么软件更新停止。在授权继续时,更新536用户用户角色认证,以便媒体密钥可由新信任根源访问并且返回538到DM502。

DM502签名正在更新的资产并且返回签名的哈希。例如,正在更新的资产可具有通过重新签名的哈希更新的签名和/或可由新签名更新542。在每次更新之后,抽点检查540用户角色过渡文件,以使该处理从中断的状态重新启动。在更新完成之后,缓冲数据被转储544到闪速存储器508中,删除546用户角色过渡文件,并且重新启动548移动通信装置10。

在用户角色所有权转移给新用户角色所有者之后,需要在转移的用户角色与和先前的用户角色所有者具有信任关系的任何用户角色之间建立新的信任关系。更具体而言,在移动通信装置10上运行的其他用户角色的用户角色配置需要被更新,以和新用户角色所有者建立信任关系,以保持与先前用户角色所有者相同的功能。

图9是可供移动通信装置10使用的下载新用户角色的示例性方法的流程图。

在示例性实现方式中,操作者600使源自装置管理员(DM)工作站602的USB电缆与移动通信装置10耦接。运行装置管理软件,并且操作者600引导移动通信装置10重新启动612。在重新启动612期间,移动通信装置10检测USB连接,并且进入编程模式,以便用户角色操作系统不加载。然后,提示614操作者600用装置所有者保持的装置密码授权USB连接,并且输入616和认证618装置密码,以开启安全元件606。在替换的实现方式中,移动通信装置10可被重新初始化和重新设置为出厂配置。

然后,DM软件向移动通信装置10请求620用户角色的装置几何数据,并且操作者600引导DM工作站602将用户角色封包载入622特定的用户角色插槽内。装置几何数据可包括但不限于,用户角色的OS和TEE元件的尺寸。如果用户角色几何与装置几何匹配,那么软件更新继续,并且如果失配,那么软件更新停止并且指示错误。在替换的实现方式中,还可以提供修订数量的用户角色拥有的封包,因此,用户角色所有者可验证更新的兼容性。

通过传输软件以加载在移动通信装置10上,DM软件开始加载处理。在一个实现方式中,通过将用户角色的配置文件传输624至移动通信装置10,软件加载开始。然后,安全管理器604检查和评估配置文件的几何、信任根源以及签名,以确定与已经加载在移动通信装置10上的其他配置文件是否发生冲突。如果配置文件得到验证626,那么软件加载继续,并且如果在配置文件之间具有冲突,那么软件加载停止。在一些实现方式中,可在移动通信装置10上加载628和630新的用户角色OS以及新的TEE。

传输的软件对照信任锚储存在闪速存储器608上并且被验证。然后,创建632并且写入用户角色过渡文件,以指示重写。重写指示是以持久的方式写入的标记值,以便如果更新处理中断,那么可采取适当的恢复措施,来从故障中恢复。更具体而言,删除634用户角色的安全元件606内的储存媒体密钥,清除636旧用户角色配置文件,清除638用户角色闪存文件系统,并且强制清除640可信平台模块(TPM)610。

然后,通过持续的方式在移动通信装置10上加载新用户角色。更具体而言,在闪速存储器608上写入642新配置文件,由安全管理器604读取644用户认证数据,并且认证646用户,以开启安全元件606。然后,私钥公钥对的公开加密密钥(PEK)可被创建648并且从安全元件606输出650给用户角色所有者。用户角色所有者用其证书授权签名PEK,并且如果配置文件得到验证652,那么软件加载654继续。然后,PEK被返回并且储存在安全元件606内。

在安全元件606内储存和保护PEK私钥公钥对的密钥,以便不从安全元件606中输出。这使用户角色所有者通过由私钥签名的响应,来验证执行来自授权装置的服务的请求。例如,PEK可在限定用户角色所有权时创建并且可用于认证软件更新、请求和/或封包。在替换的实现方式中,第二私钥公钥对可被创建和用于加密,以便用户角色所有者可以加密针对特定装置的数据,并且以便其他装置不能将数据解密。

然后,在闪速存储器608上写入658新用户角色OS文件系统,在闪速存储器608上写入660新用户角色TEE文件系统,并且创建662新用户角色数据分区。目标闪速存储器文件系统从更早储存的存储器内容编程,并且使用配置文件的储存密钥在传输期间加密。在完成更新之后,删除664用户角色过渡文件,并且重新启动666移动通信装置10。

进一步,本公开包括根据以下项的实施方式:

项1:一种授权在目标计算装置上执行操作的方法,所述方法包括:

从请求装置中接收在目标计算装置上执行操作的请求;

通过第一私钥公钥对的公钥验证所述请求,其中,通过第一私钥公钥对的私钥签名所述请求;

形成包括所述请求和所述授权令牌的授权响应;并且

将所述授权响应传输给所述请求装置。

项2.根据项1所述的方法,进一步包括基于所述目标计算装置的安全策略,确定是否同意请求。

项3.根据项2所述的方法,其中,确定是否同意请求包括确定要执行的操作的参数是否与所述目标计算装置的安全策略一致。

项4.根据项1所述的方法,进一步包括在接收在所述目标计算装置上执行操作的请求之前和响应于验证在所述目标计算装置上执行操作的请求中的至少一个,创建所述授权令牌。

项5.根据项1所述的方法,其中,形成授权响应包括创建授权令牌,以具有预定的授权周期、在预定的目标计算装置上执行操作的授权以及在目标计算装置上执行预定的操作的授权中的至少一个。

项6.根据项1所述的方法,进一步包括通过第二私钥公钥对的私钥签名授权响应。

项7.根据项1所述的方法,传输所述授权响应包括通过可移除介质将所述请求传送给请求装置。

项8.根据项1所述的方法,其中,接收请求包括接收具有以下项中的至少一个的请求:目标计算装置的标识、在目标计算装置上执行操作、执行操作的时间段以及目标计算装置的地理位置。

项9.一种授权在目标计算装置上执行操作的方法,所述方法包括:

从请求装置中接收授权响应,所述授权响应包括在目标计算装置上执行操作的请求以及授权令牌;

通过私钥公钥对的公钥验证所述授权响应,其中,通过所述私钥公钥对的私钥签名所述授权响应;并且

在验证所述授权响应时,同意授权执行操作。

项10.根据项9所述的方法,其中,接收授权响应包括接收所述授权响应,所述授权响应包括具有以下项中的至少一个的请求:目标计算装置的标识、在目标计算装置上执行操作、执行操作的时间段以及目标计算装置的地理位置。

项11.根据项9所述的方法,接收授权响应包括接收所述授权响应,所述授权响应包括授权令牌,所述授权令牌具有预定的授权周期、在预定的目标计算装置上执行操作的授权以及在目标计算装置上执行预定的操作的授权中的至少一个。

项12.根据项9所述的方法,其中,验证所述授权响应包括确定要执行的操作的参数是否与所述目标计算装置的安全策略一致。

该书面描述使用实例公开各种实现方式,包括最佳模式,并且也使本领域的技术人员能够实践各种实现方式,包括构成和使用任何装置或系统并且执行任何包含的方法。本公开的可取得专利的范围由权利要求限定,并且可包括本领域的技术人员想起的其他实例。如果具有与权利要求的字面语言不同的结构元件,或者如果包括与权利要求的字面语言具有非实质性差异的等效结构元件,那么这种其他实例旨在权利要求的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号