会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 按使用付费 / 计算机主存多安全执行环境

计算机主存多安全执行环境

申请号 CN200780005172.6 申请日 2007-01-19 公开(公告)号 CN101385041A 公开(公告)日 2009-03-11
申请人 微软公司; 发明人 A·法兰克; W·J·威斯特瑞能; T·G·菲力普斯;
摘要 多个安全执行环境可用于将各独立组件和一计算机绑定至该计算机,或者将计算机绑定至给定系统。安全执行环境可用于评价该计算机诸如存储器使用、时钟有效性和按使用付费或订阅购买的数据之类的特性以确定对操作策略的顺应性。每个安全执行环境可以交换有关其自身对操作系统顺应性评价的信息。当一个或多个安全执行环境确定不顺从或者当各安全执行环境之间的通信无法建立时,可以强制实施制裁以限制功能性或禁用计算机。
权利要求

1.一种适于使用包括受限功能操作模式的计算机,包括:

处理器;

通信耦合至所述处理器并用于监视并强制实施对操作策略顺应性的第一 安全执行环境;以及通信耦合至所述第一安全执行环境的第二安全执行环境,所述第二安全执 行环境用于监视并强制实施对所述操作策略的顺应性并且通信耦合至所述第 一安全执行环境,其中所述第二安全执行环境发展对所述操作策略顺应性的估 计并且将包括所述估计的信号发送给所述第一安全执行环境。

2.如权利要求1所述的计算机,其特征在于,所述信号还包括对应于计 量值的值,所述计量值与订阅状态和按使用付费状态之一相关联。

3.如权利要求1所述的计算机,其特征在于,所述第一安全执行环境维 持表示使用可用性的存储值。

4.如权利要求1所述的计算机,其特征在于,所述第一安全执行环境接 收来自所述第二安全执行环境的所述信号并且在所述信号指示不顺应所述策 略时对所述计算机强制实施制裁。

5.如权利要求1所述的计算机,其特征在于,所述第一安全执行环境接 收来自所述第二安全执行环境的所述信号并且在所述信号指示不顺应所述策 略而所述第一安全执行环境确定对所述策略的顺应性时不对所述计算机强制 实施制裁。

6.如权利要求1所述的计算机,其特征在于,所述第一安全执行环境测 量来自所述第二安全执行环境的信号之间的时间间隔并且在所述时间间隔超 出限制时对所述计算机强制实施制裁。

7.如权利要求1所述的计算机,其特征在于,所述第一安全执行环境密 码地验证来自所述第二安全执行环境的所述信号并且在所述信号验证失败时 对所述计算机强制实施制裁。

8.如权利要求1所述的计算机,其特征在于,所述第二安全执行环境在 所述第二安全执行环境确定不顺应所述策略并且没有接收到来自所述第一安 全执行环境的密码可验证否决消息时对所述计算机强制实施制裁。

9.如权利要求1所述的计算机,其特征在于,还包括附加的多个安全执 行环境。

10.如权利要求9所述的计算机,其特征在于,所有安全执行环境的大多 数投票确定何时制裁所述计算机。

11.如权利要求10所述的计算机,其特征在于,所述第一安全执行环境 接收策略更新以从所述大多数投票中排除所述多个安全执行环境之一。

12.如权利要求9所述的计算机,其特征在于,还包括多个功能组件,其 中所述第一、第二和附加的多个安全执行环境中的至少一个被主存在所述计算 机的多个功能组件中的至少一个中。

13.如权利要求12所述的计算机,其特征在于,所述第一、第二和附加 的多个安全执行环境使用它们各自主存的功能组件的数据连接而通信耦合。

14.如权利要求12所述的计算机,其特征在于,所述第一、第二和附加 的多个安全执行环境经由专用数据连接而通信耦合。

15.一种使用多个安全执行环境以监视并强制实施对操作策略的顺应性 的方法,包括:在所述多个安全执行环境之间建立受密码保护的通信;

在所述多个安全执行环境的每一个处监视对各自操作策略的顺应性;

确定所述计算机何时不顺应所述各操作策略中的至少一个;以及

在所述计算机不顺应所述各操作策略中的至少一个时对所述计算机强制 实施制裁。

16.如权利要求15所述的方法,其特征在于,确定所述计算机何时不顺 应所述各操作策略中的至少一个包括接收来自所述多个安全执行环境中至少 一个的投票并且在接收到指示不顺从的投票时根据单个安全执行环境、大多数 安全执行环境以及各安全执行环境一致之一确定所述计算机不顺从。

17.如权利要求15所述的方法,其特征在于,确定所述计算机不顺应所 述操作策略包括接收来自所述多个安全执行环境中每一个的投票并且在来自 所述多个安全执行环境的每一个的投票被加权并且所述总加权票数超过阈值 时确定所述计算机不顺从。

18.如权利要求15所述的方法,其特征在于,还包括将所述安全执行环 境之一指派为主安全执行环境将剩余的指派为从安全执行环境,其中所述主安 全执行环境能够超控由一个或多个所述从安全执行环境做出的不顺应的确定。

19.一种将一组计算机组件绑定至一系统的方法,包括:

在所述一组计算机组件的每一个内安装安全执行环境;

将所述计算机组件的每一个的安全执行环境编目至所述安全执行环境的 每一个中;

周期性地确定各计算机组件的每一个的各经编目的安全执行环境存在;

当安全执行环境确定一个或多个所述其他经编目的安全执行环境不存在 时强制实施制裁。

20.如权利要求19所述的方法,其特征在于,所述计算机组件的每一个 是分开的联网计算机,并且所述系统是计算机的集合。

说明书全文

背景

现用先付(pay-as-you-go)或按使用付费(pay-per-use)商业模型已在从 蜂窝电话到自助洗衣店的许多商业领域中使用。在开发现用先付业务时,例如 蜂窝电话供应商等供应商以低于市场的成本提供对硬件(蜂窝电话)的使用来 交换将订户保持到其网络的承诺。在这一具体示例中,顾客以极少的钱或免费 接收蜂窝电话,作为交换,签署在给定时间段内成为订户的合同。在合同期间, 服务供应商通过向消费者收取使用蜂窝电话的费用来回收硬件的成本。

现用先付商业模型基于所提供的硬件如果离开服务供应商则将只有极少 或没有任何价值或用途的这一概念。为进行说明,假如上述订户停止支付其账 单,则服务供应商停用其账户,且当蜂窝电话开机时,不能进行呼叫,因为服 务供应商不允许呼叫。停用的电话没有任何“折余”价值,因为电话在任何地 方都不能工作且组成部件没有很大的成交价格。当使帐户活动时,服务供应商 将重新允许使用该设备来进行呼叫。

这一模型在服务供应商或具有提供资助硬件的财政风险的其它实体对于 硬件的使用有严格控制且当设备只有极少的折余价值时起良好的作用。该商业 模型在硬件在服务供应商的控制范围之外还有充足用途时不能起良好的作用。 由此,典型的计算机并不满足这些准则,因为计算机可以具有超出原始意图的 充足用途,且例如显示器或磁盘驱动器等计算机的组件可以具有较大的折余价 值。

概述

一种用于计算机或计算机资源,尤其是按使用付费或订阅计算机或组件的 操作策略可以定义关于顺从所设立的与该资源的获取相关联的商业条款的规 则、如何测量对该规则的顺从、以及当测量指示不顺从时要做什么。为监视并 强制实施该操作策略,可采用一安全执行环境。该安全执行环境可以是一单独 的组件,或者可以嵌入在计算机的其它组件之一中。因为单个安全执行环境, 特别是独立的安全执行环境会吸引黑客或者其他想进行欺诈的用户的注意,所 以可以在计算机中使用一个以上的安全执行环境。各安全执行环境之间的通信 有助于确保尚无单个安全执行环境已遭黑客攻击、替换或者以其他方式破坏, 还确保主存各安全执行环境的组件在场并在工作。如下将描述多安全执行环境 的若干示例性配置。每个安全执行环境可以在确定计算机正被攻击或者在操作 策略之外使用之后独立地进行操作并强制实施制裁(impose a sanction)。另一 个实施例允许在相同情境下强制实施制裁之前收集所有安全执行环境的投票。 可以使用更重的权重和否决权,从而向被认为固有地具有更高安全性的某些安 全执行环境给予优先权。

安全执行环境与可信计算基础(TCB)或下一代安全计算基础(NGSCB) 的不同之处在于该安全执行环境并不试图限制计算机的特征或功能,也不试图 保护计算机免遭病毒、恶意软件或可能在使用中出现的其它不合需要的副作用 的攻击。该安全执行环境试图保护承购人或资源所有者的利益以确保满足按使 用付费或订阅条款,并整体或部分地阻碍对计算机的盗窃或偷窃。

附图简述

图1是一计算机的功能框图;

图2是图1的计算机的体系结构框图;

图3是安全执行环境的框图;

图4是图2计算机的一个替换实施例的体系结构框图;以及

图5是带有链接的安全执行环境的计算机网络。

说明性实施例的详细描述

尽管以下正文陈述了众多不同实施例的详细描述,但是应当理解,该描述 的法律范围由本申请公开末尾陈述的权利要求书的言辞来限定。该详细描述应 被解释为仅是示例性的,且不描述每一可能的实施例,因为描述每一可能的实 施例即使不是不可能的也是不切实际的。可使用现有技术或在本申请提交日之 后开发的技术来实现众多替换实施例,而这仍落入权利要求书的范围之内。

还应当理解,除非一术语在本专利中使用语句“如此处所使用的,术语 ‘___’此处被定义为指...”或类似的语句来定义,否则毫无意图将该术语的 含义明确地或隐含地限制在其简单或普通意义之外,且这类术语不应当被解释 为基于本专利的任何一节中所作出的任何陈述(权利要求书的语言除外)而在 范围上有限制。就本专利末尾的权利要求书中引用的任何术语在本专利中以与 单数意义相一致的方式来引用而言,这是为简明起见而如此做的,仅仅是为了 不使读者感到混淆,且这类权利要求术语并不旨在隐含地或以其它方式限于该 单数意义。

许多发明性功能和许多发明性原理最佳地使用或利用软件程序或指令以 及诸如专用IC等集成电路(IC)来实现。期望本领域的普通技术人员虽然可 能要进行大量的工作和由例如可用时间、现有技术以及经济问题促动的许多设 计选择,但是当受到此处所公开的概念和原理的指引时仍能够容易地以最小的 实验来生成这些软件指令和程序以及IC。因此,为了简明以及最小化使根据本 发明的原理和概念晦涩的任何风险,对这些软件和IC(如果有的话)的进一步 讨论将限于对于较佳实施例的原理和概念所必需的那些讨论。

许多现有技术的高价值计算机、个人数字助理、组织器等可能不适用于不 作任何改进的预付或为使用付费商业模型。如上所述,这些设备可具有除需要 服务供应商的价值之外的重大价值。例如,个人计算机可以被拆解并作为组件 来售出,从而对所资助设备的承购人造成可能巨大的损失。在其中因特网服务 供应商以对未来费用的预期来承销个人计算机的成本的情况下,这一“残留价 值”会给欺诈性订阅和盗窃形成机会。其中用户事先为使用所资助的高价值计 算系统环境而付费的预付商业模型具有类似的欺诈和盗窃的风险。

图1示出了具有计算机110形式的计算机设备,该设备可以连接至诸如局 域网171或广域网173的网络,并用于主存安全执行环境的一个或多个实例。 计算机110的组件可包括但不限于,处理单元120、系统存储器130以及将包 括系统存储器的各类系统组件耦合至处理单元120的系统总线121。系统总线 121可以是若干种总线结构中的任一种,包括存储器总线或存储器控制器、外 围总线以及使用各类总线体系结构中的任一种的局部总线。作为示例而非局 限,这类体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA) 总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线、 以及外围部件互连(PCI)总线(也称为小背板(Mezzanine)总线)。

计算机110还包括提供密码服务的密码单元124。这些服务可包括对对称 和非对称密码算法、密钥生成、随机数生成和安全存储的支持。密码服务可由 市场上可购买到的集成电路,例如诸如由Atmel Corporation(爱特梅尔公司)、 Infineon Technologies(英飞凌技术)或ST Microelectronics(ST微电子)提供 的智能芯片来提供。

计算机110可包括安全执行环境125(SEE)。SEE 125可被启用来执行 安全监视、按使用付费和订阅使用管理、以及对于与已付费使用相关联的条款 和条件的策略实施,尤其是在资助购买的商业模型中。安全执行环境125可以 被嵌入在处理单元120中,或如图1所示作为一独立组件。SEE 125可支持的 详细功能以及SEE 125的附加实施例将在以下参考图3来讨论。

计算机110通常包括各种计算机可读介质。计算机可读介质可以是可由计 算机110访问的任何可用介质,且包括易失性和非易失性介质、可移动和不可 移动介质。作为示例,而非限制,计算机可读介质可以包括计算机存储介质和 通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、 程序模块或其它数据这样的信息的任意方法或技术来实现的易失性和非易失 性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、 EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它 光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需 信息且可以由计算机110访问的任何其它介质。通信介质通常具体化为诸如载 波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模 块或其它数据,且包含任何信息传递介质。术语“已调制数据信号”指的是其 一个或多个特征以在信号中编码信息的方式被设定或更改的信号。作为示例而 非局限,通信介质包括有线介质,如有线网络或直接连线连接,以及无线介质, 如声学、RF、红外和其它无线介质。上述中任一组合也应包括在计算机可读介 质的范围之内。

系统存储器130包括易失性和/或非易失性存储器形式的计算机存储介质, 如只读存储器(ROM)131和随机存取存储器(RAM)132。基本输入/输出系 统133(BIOS)包含有助于诸如启动时在计算机110中元件之间传递信息的基 本例程,它通常存储在ROM 131中。RAM 132通常包含处理单元120可以立 即访问和/或目前正在操作的数据和/或程序模块。作为示例,而非限制,图1 示出了操作系统134、应用程序135、其它程序模块136和程序数据137。

计算机110也可以包括其它可移动/不可移动、易失性/非易失性计算机存 储介质。仅作为示例,图1示出了对不可移动、非易失性磁介质读写的硬盘驱 动器140,对可移动、非易失性磁盘152读写的磁盘驱动器151,以及对诸如 CD ROM或其它光学介质等可移动、非易失性光盘156读写的光盘驱动器155。 可以在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算 机存储介质包括,但不限于,盒式磁带、闪存卡、数字多功能盘、数字录像带、 固态RAM、固态ROM等。硬盘驱动器141通常由不可移动存储器接口,诸 如接口140连接至系统总线121,磁盘驱动器151和光盘驱动器155通常由可 移动存储器接口,诸如接口150连接至系统总线121。

以上描述和在图1中示出的驱动器及其相关联的计算机存储介质为计算 机110提供了对计算机可读指令、数据结构、程序模块和其它数据的存储。例 如,在图1中,硬盘驱动器141被示为存储操作系统144、应用程序145、其 它程序模块146和程序数据147。注意,这些组件可以与操作系统134、应用 程序135、其它程序模块136和程序数据137相同或不同。操作系统144、应 用程序145、其它程序模块146和程序数据147在这里被标注了不同的标号是 为了说明至少它们是不同的副本。用户可以通过输入设备,诸如键盘162和定 点设备161(通常指鼠标、跟踪球或触摸垫)向计算机20输入命令和信息。其 它输入设备(未示出)可以包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、 扫描仪等。这些和其它输入设备通常由耦合至系统总线的用户输入接口160连 接至处理单元120,但也可以由其它接口或总线结构,诸如并行端口、游戏端 口或通用串行总线(USB)连接。监视器191或其它类型的显示设备也经由诸 如视频接口190等接口连接到系统总线121。除监视器以外,计算机也可以包 括其它外围输出设备,诸如扬声器197和打印机196,它们可以通过输出外围 接口190连接。

计算机110可使用至一个或多个远程计算机,诸如远程计算机180的逻辑 连接在网络化环境中操作。远程计算机180可以是个人计算机、服务器、路由 器、网络PC、对等设备或其它常见网络节点,且通常包括上文相对于计算机 110描述的许多或所有元件,尽管在图1中只示出存储器存储设备181。图1 中所示逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可以包 括其它网络。这样的网络环境在办公室、企业范围计算机网络、内联网和因特 网中是常见的。

当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连 接至LAN 171。当在WAN网络环境中使用时,计算机110通常包括调制解调 器172或用于通过WAN 173,如因特网建立通信的其它装置。调制解调器172 可以是内置或外置的,它可以通过用户输入接口160或其它合适的机制连接至 系统总线121。在网络化环境中,相对于计算机110所描述的程序模块或其部 分可以存储在远程存储器存储设备中。作为示例,而非限制,图1示出了远程 应用程序185驻留在存储器设备181上。可以理解,示出的网络连接是示例性 的,并且可以使用在计算机之间建立通信链路的其它手段。

图2是与图1的计算机相同或相似的计算机200的体系结构框图。图2 的计算机200的体系结构可以是广泛销售且当前正在使用中的通用计算机的代 表。处理器202可以耦合到图形和存储器接口204。图形和存储器接口204可 以是“北桥”控制器,或是较新的体系结构中的其功能替换,诸如“图形和 AGP存储器控制器集线器”(GMCH)。图形和存储器接口204可以经由诸如 “前端总线”(FSB)等计算机体系结构中已知的高速数据总线耦合到处理器 202。图形和存储器接口204可以耦合到系统存储器206以及本身可连接到显 示器(未描绘)的图形处理器208。处理器202还可直接或通过图形和存储器 接口204连接到输入/输出接口210(I/O接口)。I/O接口210可以耦合到由(但 不限于)以下讨论的组件所表示的各种设备。I/O接口210可以是“南桥”芯 片,或是诸如“I/O控制器集线器”(ICH)等功能上相似的电路。几个厂商 都生产现有技术的北桥和南桥电路及其功能等效产品,包括英特尔公司。

各种功能电路可耦合到图形和存储器接口204或I/O接口210中的任一个。 图形和存储器接口204可以耦合到系统存储器206以及本身可连接到显示器 (未描绘)的图形处理器208。鼠标/键盘212可以耦合到I/O接口210。通用 串行总线(USB)214可以用于连接外部的外围设备,包括闪存、照相机、网 络适配器等等(未描绘)。板槽216可以容纳任何数量的本领域已知和常见的 插入设备。诸如以太网板等局域网接口(LAN)218可以连接到I/O接口210。 诸如基本输入输出系统(BIOS)220等固件可以经由I/O接口210来访问。诸 如硬盘驱动器等非易失性存储器222也可耦合到I/O接口210。

安全执行环境224可以嵌入处理器202内。作为替换,或者对安全执行环 境224的补充,第二安全执行环境226可以经由I/O接口210耦合至计算机。 如下将结合图3更为详尽地讨论与SEE 224、226相同或相似的一般的安全执 行环境。

图3是诸如可在图2的计算机200中找到的示例性安全执行环境302的框 图。安全执行环境302可包括处理器310、安全存储器318和接口342。

安全存储器318可用防篡改方式储存与计算机302的安全操作相关的代码 和数据,诸如硬件标识符320和策略信息322。策略信息322可包括涉及与计 算机200的操作相关联的特定条款和条件的数据。安全存储器318还可包括实 现各种功能324所需的代码或数据。功能324可以包括时钟326或实现时钟功 能的定时器、强制实施功能328、计量330、策略管理332、密码334、隐私336、 生物测定验证338、存储值340以及顺应性监视341等等。

时钟326可以提供用于时间测量的可靠基础,并且可以用作对于由操作系 统134维护的系统时钟的检验以帮助防止通过更改系统时钟来欺诈性地使用计 算机200的尝试。时钟326还可结合策略管理332来使用,例如要求与主机服 务器的通信以验证升级的可用性。强制实施功能328可以在确定计算机200不 顺从策略322的一个或多个要素时执行。这些动作可以包括通过重新分配一般 可用的系统存储器206以供安全执行环境302使用来限制系统存储器132,从 而阻止处理器202对它的使用。通过将系统存储器206重新分配给安全执行环 境302,系统存储器206实质上就不可用于用户目的。

另一功能324可以是计量330。计量330可包括各种技术和测量,例如在 共同待审的美国专利申请第11/006,837号中所讨论的那些。是否计量以及要测 量什么特定项目可以由策略322来决定。对适当策略的选择和对策略的更新管 理可以由策略管理功能332来实现。

密码功能334可用于数字签名验证、数字签署、随机数生成、以及加密/ 解密。这些密码能力的任一个或全部可用于验证对安全存储器318的更新,或 建立与不论是在计算机200的内部还是外部的安全执行环境302外部的实体的 信任。

安全执行环境302可允许开发并使用若干专用功能。隐私管理器336可用 于管理用户或感兴趣一方的个人信息。例如,隐私管理器336可用于实现用于 保持在在线购物中使用的地址和信用卡数据的“钱包”功能。生物测定验证功 能338可与外部生物测定传感器(未描绘)一起使用以验证个人身份。这一身 份验证可用于例如更新隐私管理器336中的个人信息,或在应用数字签名时使 用。密码功能334可用于建立对外部生物测定传感器的信任和安全通道。

存储值功能340也可被实现以用于为按使用付费的计算机上的时间付费, 或在进行外部购买,例如在线股票交易时使用。

对来自安全存储器318的数据和功能的使用允许呈现受保护的硬件接口 342以供计算机200中的其它系统访问。受保护硬件接口342可允许经由系统 总线348对外围设备344或BIOS 346的受限的或受监控的访问。另外,功能 324可以用于允许包括操作系统134在内的外部程序经由受保护硬件接口342 来访问诸如硬件ID 356和密码功能334的随机数生成功能352。可经由系统总 线348访问的其它能力可包括安全存储354和可靠(单调递增)时钟350。

以代码实现并储存在安全存储器318中的上述每一功能可以用逻辑来实 现并被实例化为物理电路。在硬件和软件之间映射功能行为的操作是本领域中 公知的,并且不在此详细讨论。

在一个实施例中,计算机200可使用正常BIOS启动过程来引导。在操作 系统134被激活的时刻,处理器310可执行策略管理功能332。策略管理功能 332可确定当前策略322是有效的,然后加载策略数据322。策略可在配置过 程中用于设置计算机200以便操作。配置过程可以包括存储器分配、处理容量、 外围设备可用性和使用情况以及计量要求。当强制实施计量时,可激活涉及计 量的策略,诸如要采取什么测量。例如,按照CPU使用(按使用付费)以及 一段时间内的使用(订阅)的测量可能需要不同的测量。另外,当按时段或按 活动对使用收费时,可使用存储值功能340来维护存储值余额。当计算机300 根据策略322来配置时,正常引导过程可通过激活并实例化操作系统134和其 它应用程序135来继续。在其它实施例中,可在引导进程或正常操作周期的不 同点处应用策略。如果发现了不顺从策略,则可激活强制实施功能328。对强 制实施策略和动作的讨论可以在共同待审的美国专利申请第11/152,214中找 到。强制实施功能328在将计算机还原到顺从策略322的状态的所有尝试失败 时可以将计算机300置于备选操作模式。例如,在一个实施例中,可通过将存 储器从用作系统存储器130来重新分配并指定其由安全执行环境302使用来强 制施加制裁。由于安全执行环境中的存储器不能被包括操作系统134在内的外 部程序寻址,因此计算机的操作可通过这一存储器分配甚至严重地受到限制。

由于策略和强制实施功能是在安全执行环境302中维护的,因此对系统的 某些典型攻击是困难或不可能的。例如,策略不会通过替换外部存储器的策略 存储器部分而被“欺骗”。类似地,策略和强制实施功能不会因阻断执行周期 或其相应的地址范围而变得“极缺”。

为使计算机300回复到正常操作,需要从许可授权机构或服务供应商(未 描绘)获得恢复代码并将其输入到计算机300中。该恢复代码可包括硬件ID 320、存储值补充、以及用于验证时钟326的“不早于”日期。恢复代码通常 可被加密并签署,以便由处理单元302确认。

图4示出了具有多个安全执行环境的计算机400的体系结构。在一个实施 例中,当有一个以上安全执行环境存在时,主安全执行环境可用于管理系统配 置而其他安全执行环境可用于冗余计量、计量配置、配置证实、策略验证、以 及平衡管理。在另一实施例中,每个安全执行环境都可以是其他安全执行环境 的对等体。

计算机400,类似于图3的计算机300,可具有处理器402、图形和存储 器接口404以及I/O接口406。图形和存储器接口404可以耦合至图形处理器 408和系统存储器410。I/O接口406可以耦合至一个或多个输入设备412,诸 如鼠标和键盘。I/O接口406尤其还可耦合至通用串行总线(USB)414、局域 网416、外围板槽418、BIOS存储器420、硬盘422或者其他非易失性存储。 在一个示例性实施例中,包括处理器402、图形和存储器接口404、I/O接口 406以及它们各自的功能组件的各个组件可以分别具有一安全执行环境。例如, 处理器402、图形和存储器接口404、图形处理器408、I/O接口406、USB端 口414、BIOS存储器420和硬盘422分别可以具有相应的安全执行环境424、 426、428、430、432、434和436。每个安全执行环境424-436出于确定对操 作策略顺从性的目的可以访问不同的数据或者具有测量各分开的性能区域的 能力。在某些情况下,当对操作策略的顺从性做出一综合评定时一些安全执行 环境可以比其他安全执行环境具有更重的权重。相应的,每个安全执行环境可 以按不同方式强制实施制裁。例如,USB接口414中的安全执行环境432能够 对所有的USB设备强制实施制裁并且能够具有波及I/O接口406的连锁反应, 但是可以允许计算机的继续操作。相反地,处理器402中的安全执行环境424 其制裁能力大幅提高从而能够停止所有处理器功能,藉此完全禁用计算机400。

每个安全执行环境424-436可以具有图3所示安全执行环境302的全部元 件。多个安全执行环境可用于至少两个通用目的。首先,每个安全执行环境 424-436可以监视计算机400的一般状态并且参与确定计算机400正进行的操 作是否顺从管理其使用的操作策略。其次,置于处理器、接口或功能组件内的 安全执行环境可用于确保每个主存SEE的组件在此并正进行操作,并且尚未被 移除或以其他方式禁用。实践中,这两个目的关联进行。

在使用多个安全执行环境以顺从操作策略的第一实施例中,每个安全执行 环境424-436可以维持操作策略322的副本、存储值余额340(如果使用过)。 策略管理功能332可以指定每个安全执行环境的角色。在一个变体中,例如 SEE424的一个安全执行环境可以被指派为主SEE,可以负责整个策略管理、 存储值管理,并且可以具有否决任何其他安全执行环境的不顺从投票的能力。 主SEE还能够禁用来自另一组件的SEE,或者至少忽略来自已被指派为禁用 的SEE的输入。例如,与硬盘驱动器422的一特定型号相关联的SEE436可 能被泄露,并且可以将来自系统所有者或者系统承购人的消息发送给主SEE 以指示与硬盘驱动器422相关联的SEE436要被禁用和/或忽略。包括主SEE 的每个SEE可以具有不同的操作策略,以便从其自身的角度来确定该计算机是 否顺从。例如,USB端口414中的安全执行环境432可以访问不同的数据并且 可以与位于处理器402内的安全执行环境424不同地“观察世界”。主SEE 可以接收来自每个其他安全执行环境的周期性信号并且可以基于由信号内的 信息所确定的“投票”来确定是否顺从操作策略。因为每个安全执行环境可以 根据其自身的操作策略,基于其观点进行投票,所以投票可以按不同方式进行: 需要大多数得票以强制实施制裁,单张得票就足以强制实施制裁,或者诸如图 形和存储器接口SEE 426的某些组件在投票中可以比其另一SEE具有更重的 权重。

在使用多个安全执行环境以顺从操作策略的另一变体中,每个安全执行环 境424-436可被认为是一对等体并且周期性地从每个其他安全执行环境接收状 态信息。可以维持独立的对等连接以为这类通信提供方便。在一个实施例中, 每个安全执行环境可以被编目至每个其他安全执行环境中,诸如在装配之时。 编目可以包括将对应于每个安全执行环境的标识符和加密密钥放在存在的每 个安全执行环境(在此示例中为安全执行环境424-436)的安全存储器318中。 加密密钥是对所有方已知的对称密钥,或者可以使用公钥基础结构密钥,其中 用于每个安全执行环境的公钥可以在其他安全执行环境之中共享。信息的加密 验证是已知的并且不做更为详细地讨论。

信号可以沿着每个安全执行环境424-436之间闭合的或预定的路由发送。 在路由上的每个站点处,可以对时间、顺从状态或者投票、以及安全执行环境 的标识符进行签名或者加密,添加至信号,或者转发给该路由上的下一个安全 执行环境。如果没有接收到确认,信号可被转发给路由内中的下一个SEE。如 果信号没有在预定时间量内完成路由并返回,或者如果信号已过期或者未命中 对应于其他安全执行环境的元件,就可以强制实施制裁。如果信号返回但包括 来自另一安全执行环境的制裁投票,则基于其自身规则的接收者也可以强制实 施制裁并将该信号转发给路由上的下一个安全执行环境。可以监视安全执行环 境之间的延迟以确定信号在返回之前没有被路由至电子欺骗的网络目的地。在 一个实施例中,网络接口416在信号正在各安全执行环境之间路由时可被临时 关闭以排除板外路由。

为了示例,安全执行环境424-436可以被逻辑地组织成环状。周期性地, 在一个随机间隔的实施例中,信号可以从SEE之一发射。出于示例的考虑, SEE 424向SEE 426发射一信号。信号可以包括一组数据,该组数据包括由从 共享的主密钥导出的密钥签名的SEE 424的时间、状态和标识符。对于这一示 例,导出的密钥可以是基于时间或现时的,而其随后也不受阻碍地被包括在信 号中。当信号到达SEE 426时,可以推导出密钥,并且可以验证引入信号的时 间和正确的标识符。时钟失配可以指示问题,虽然小的累积改变可以被忽略或 者校正。如果正确,则SEE 426可以添加其本身签名的时间、状态和标识符。 信号可以以此方式经过所有的安全执行环境直到其再次到达SEE 424。SEE 424 可以针对时间、状态和标识符来对每个附加的数据组进行验证。最后,可以检 查其自身的原始数据组存在于该信号中并已在指定的限制内返回。未命中的 SEE数据组或者不顺从的状态/投票可以引起附加的询问。获取投票数,其中 将较高的权重给予如此编程时指派的安全执行环境。如果不顺从的投票达到预 定阈值,则强制实行制裁。信号可以传播至其他安全执行环境以激活通用或专 用制裁,正如情况所保证的。在通信中使用现时或随机数的另一好处是限制可 能是对一个或多个独立安全执行环境的整个攻击的一部分的重放攻击。

其他实施例可以使用星形配置或其他机制来不同地发射信号并验证结果。 在主/从环境中,主SEE负责发射询问,虽然从SEE可被编程以在来自主SEE 的询问迟到时触发一询问。

各安全执行环境之间的通信可以按各种方式实现。安全执行环境并且嵌入 在组件内的可以使用组件现有的通信机制而在各安全执行环境之间转发信号。 例如,SEE 436可以经由将硬盘422连接至I/O接口406与SEE 430通信。这 对于与在图形和存储器接口404或I/O接口406中的安全执行环境通信尤为有 效。基于处理器和图形/存储器接口的安全执行环境424、426可经由前端总线 上支持的标准存储器或I/O映射接口来通信。诸如外围组件互连(PCI)等用 于现有总线上的机载通信的其它选项可要求修改现有协议以插入用于路由 SEE间分组的软件处理程序。在另一个实施例中,专用的总线结构438可用于 将每个安全执行环境424-436彼此耦合。对于这类通信,相对较低的数据率是 可以接受的。在一个实施例中,可以使用集成电路间(IIC或I2C)总线。IIC 总线是业界周知的简单双线总线,并且适于作为安全执行环境之间的专用总线 结构438。

为了实现第二通用目的,以上讨论的相同或相似路由可用于各组件的彼此 绑定,而无需考虑对操作策略的顺应性。也就是说,为了阻止计算机分崩离析, 组件可被编程为仅在用相关于该计算机编目的其他组件的可验证的存在时正 确操作。可使用上面的查询过程,区别是可丢弃或忽略状态。当所有组件都不 报告时,可以进行测量以定位组件,包括经由用户界面对用户发送消息。如果 组件不能够被定位,则通过剩余组件的一个或多个安全执行环境来强制实施制 裁。

类似地,如图5所示,这一相同的编目技术可用于将各计算机一起绑定至 系统500。例如,多个计算机504、506、508、510和512可以被指派为由给定 网络502上的一特定实体使用。被指派以包含在该系统内的每个计算机504-512 可以具有相应的安全执行环境514、516、518、520和522被安装,并且每个 安全执行环境514-522可以被编目至该系统中每个其他安全执行环境中。周期 性地,每个安全执行环境可以例如使用上述信令技术来确定每个其他安全执行 环境仍然存在,并且暗示地其相关联的计算机仍然存在。当报告的SEE/计算 机数落到阈值之下时,每个安全执行环境可以在其主机计算机上强制实施制 裁。

尽管以上正文陈述了本发明的众多不同实施例的详细描述,但是应当理 解,本发明的范围由本专利末尾陈述的权利要求书的言辞来定义。该详细描述 应被解释为仅是示例性的,且不描述本发明的每一可能的实施例,因为描述每 一可能的实施例即使不是不可能的也是不切实际的。可使用现有技术或在本专 利提交日之后开发的技术来实现众多替换实施例,这仍将落入定义本发明的权 利要求书的范围之内。

由此,可在此处所描述和示出的技术和结构上作出许多修改和变化而不脱 离本发明的精神和范围。因此,应当理解,此处所描述的方法和装置仅是说明 性的,且不限制本发明的范围。