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

分解的安全执行环境

申请号 CN200780005035.2 申请日 2007-01-25 公开(公告)号 CN101595500B 公开(公告)日 2013-11-06
申请人 微软公司; 发明人 A·富兰克; C·A·斯蒂伯; I·P·阿道特; R·B·汤普森; T·G·菲利普斯; W·J·威斯特瑞能; Z·徐;
摘要 诸如计算机等电子设备可适用于自我监控对操作策略的遵守。该操作策略可指定按使用付费或订阅商业模型,以及与遵守使用相关联的测量。一安全执行环境可根据该商业模型来测量使用,以及监控并强制实施对操作策略的遵守。为增加攻击的难度或以其它方式禁用安全执行环境,可分布该安全执行环境的元件。分布点可包括计算机的其它功能元件,诸如接口电路,或甚至可以通过网络位于远程。还公开了用于分解安全执行环境的实现方法。
权利要求

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

多个功能电路;以及

被分解到所述多个功能电路中的至少一个中的安全执行环境电路,所述安全执行环境电路具有分解的元件,所述元件包括:用于确定根据一策略的使用的计量功能电路;以及

用于在所述计量功能电路确定使用不遵守所述策略时激活一有限功能模式的强制实施功能电路,所述强制实施功能电路是位于图形/存储器接口中的存储器总线缩减功能电路、位于所述图形/存储器接口中的图形显示限制功能电路、位于输入/输出接口中的输入/输出限制功能电路、位于所述输入/输出接口中的外围设备过滤功能电路、位于处理器中的处理器减速功能电路、以及位于所述处理器中的处理器能力缩减功能电路中的至少一个。

2.如权利要求1所述的计算机,其特征在于,所述安全执行环境电路还具有分解的元件,所述元件包括:至少储存硬件标识符的安全存储器;

提供单调递增时间的时钟;

密码功能电路;以及

用于更新所述策略的策略管理功能电路。

3.如权利要求1所述的计算机,其特征在于,所述安全执行环境电路的每一分解的元件包括通信上耦合所述安全执行环境电路的分解的元件的至少一个通信功能电路。

4.如权利要求3所述的计算机,其特征在于,每一所述分解的元件通过与所述多个功能电路中的一个或多个共用的相应的共享数据总线在通信上耦合。

5.如权利要求3所述的计算机,其特征在于,每一所述分解的元件通过专用于所述安全执行环境电路的通信上耦合的分解的元件的专用数据总线在通信上耦合到所述分解的元件中的至少一个其它元件。

6.如权利要求3所述的计算机,其特征在于,所述安全执行环境电路还包括用于管理所述分解的元件之间的通信的核心电路。

7.如权利要求6所述的计算机,其特征在于,所述多个功能电路包括处理器,并且所述核心电路是所述处理器的一部分。

8.如权利要求6所述的计算机,其特征在于,所述多个功能电路包括支持存储器访问的接口芯片,并且所述核心电路是所述接口芯片的一部分。

9.如权利要求6所述的计算机,其特征在于,所述多个功能电路包括支持外围组件访问的接口芯片,并且所述核心电路是所述接口芯片的一部分。

10.如权利要求6所述的计算机,其特征在于,所述核心电路是独立的智能芯片。

11.一种具有被分解在计算机可访问的、可在所述计算机的计量操作中使用资源中的功能元件的安全执行环境电路,所述功能元件包括:用于测量对于对应于计量使用的策略的遵守的核心电路;

用于响应于来自所述核心电路的限制所述计算机的功能的指令来限制对所述计算机的使用的强制实施电路,所述强制实施功能电路是位于图形/存储器接口中的存储器总线缩减功能电路、位于所述图形/存储器接口中的图形显示限制功能电路、位于输入/输出接口中的输入/输出限制功能电路、位于所述输入/输出接口中的外围设备过滤功能电路、位于处理器中的处理器减速功能电路、以及位于所述处理器中的处理器能力缩减功能电路中的至少一个。

12.如权利要求11所述的安全执行环境电路,其特征在于,还包括:储存对应于可用计量使用的标记的安全存储器;

提供单调递增时间值的时钟;

用于以更改所述安全存储器中的策略数据或所述安全存储器中的标记中的至少一个的指令来处理供应分组的密码单元。

13.如权利要求11所述的安全执行环境电路,其特征在于,对所述计算机可访问的、具有所述安全执行环境电路的功能元件的资源中的至少一个经由因特网连接来访问。

14.如权利要求11所述的安全执行环境电路,其特征在于,所述功能元件中的至少一个支持与至少一个其它功能元件的密码认证以及安全通信。

15.如权利要求11所述的安全执行环境电路,其特征在于,对所述计算机可访问的资源包括非易失性存储器、存储器接口电路、外围接口电路和远程服务器中的至少一个。

16.一种分布用于计量并强制实施计算机的操作的安全执行环境电路的功能组件的方法,包括:激活所述计算机的第一资源中的核心功能电路,所述核心功能电路包括计量能力电路以及安全通信能力电路;

激活所述计算机的第二资源中的强制实施功能电路,所述强制实施功能电路包括限制或暂停所述计算机的操作的能力电路,所述强制实施功能电路是位于图形/存储器接口中的存储器总线缩减功能电路、位于所述图形/存储器接口中的图形显示限制功能电路、位于输入/输出接口中的输入/输出限制功能电路、位于所述输入/输出接口中的外围设备过滤功能电路、位于处理器中的处理器减速功能电路、以及位于所述处理器中的处理器能力缩减功能电路中的至少一个;

在通信上至少耦合到所述核心功能电路的存储器位置处储存使用数据和策略,其中所述核心功能电路根据储存在所述存储器位置处的使用数据和策略计量计算机使用,并在所述核心功能电路确定不遵守所述策略时经由所述强制实施功能电路来强制实施策略。

17.如权利要求16所述的方法,其特征在于,在存储器位置处储存所述数据包括在储存所述数据之前创建所述数据的散列。

18.如权利要求16所述的方法,其特征在于,在存储器位置处储存所述数据包括在储存所述数据之前加密所述数据。

19.如权利要求16所述的方法,其特征在于,还包括:

在所述安全环境的每一相应功能组件处安装一密钥,以便在功能组件之间的安全通信和认证中使用。

说明书全文

分解的安全执行环境

[0001] 背景
[0002] 现用先付(pay-as-you-go)或按使用付费(pay-per-use)商业模型已在从蜂窝电话到商业自助洗衣店的许多商业领域中使用。在开发现用先付业务时,例如蜂窝电话供应商等供应商以低于市场的成本提供对硬件(蜂窝电话)的使用来交换将订户保持到其网络的承诺。在这一具体示例中,顾客以极少的钱或免费接收蜂窝电话,作为交换,签署在给定时间段内成为订户的合同。在合同期间,服务供应商通过向消费者收取使用蜂窝电话的费用来回收硬件的成本。
[0003] 现用先付商业模型基于所提供的硬件如果离开服务供应商则将只有极少或没有任何价值或用途的这一概念。为进行说明,假如上述订户停止支付其帐单,则服务供应商停用其帐户,且当蜂窝电话开机时,不能进行呼叫,因为服务供应商不允许呼叫。停用的电话没有任何“折余”价值,因为电话在任何地方都不能工作且组成部件没有很大的成交价格。当使帐户活动时,服务供应商将重新允许使用该设备来进行呼叫。
[0004] 这一模型在服务供应商或具有提供资助硬件的财政风险的其它实体对于硬件的使用有严格控制且当设备只有极少的折余价值时起良好的作用。该商业模型在硬件在服务供应商的控制范围之外还有充足用途时不能起良好的作用。由此,典型的计算机并不满足这些准则,因为计算机可以具有超出原始意图的充足用途,且例如显示器或磁盘驱动器等计算机的组件可以具有较大的折余价值。
[0005] 概述
[0006] 一种用于计算机或计算机资源,尤其是现用先付或订阅计算机或组件的操作策略可以定义关于遵守所设立的与该资源的获取相关联的商业条款的规则、如何测量对该规则的遵守、以及当测量指示不遵守时要做什么。为监控并强制实施该操作策略,可采用一安全执行环境。该安全执行环境可以是一单独的组件,或者可以嵌入在计算机的其它组件之一中。由于该安全执行环境可能会吸引黑客以及带有欺诈动机的其他人的注意力,因此代替整体式安全执行环境,可将安全执行环境的功能分解在计算机的各组件之中。核心和各种功能可被放置在不同的组件中,从而得到至少两个可能的好处。一个好处是分散了攻击目标,从而需要更多资源和能量来禁用或绕开该安全执行环境。另一个好处涉及要求主存该安全执行环境功能的组件存在且工作的能力,从而减小了个别组件的价值且因此阻碍“解体出售(chop shop)”攻击。
[0007] 安全执行环境与可信计算基础(TCB)或下一代安全计算基础(NGSCB)的不同之处在于该安全执行环境并不试图限制计算机的特征或功能,也不试图保护计算机免遭病毒、恶意软件或可能在使用中出现的其它不合需要的副作用的攻击。该安全执行环境试图保护承销商或资源所有者的利益以确保满足诸如现用先付或订阅等商业条款,并阻碍对计算机的整体或部分的盗窃或偷窃。
[0008] 附图简述
[0009] 图1是一计算机的功能框图;
[0010] 图2是图1的计算机的体系结构框图。
[0011] 图3是安全执行环境的框图;
[0012] 图4是图2的计算机的带有分解的SEE的一个替换实施例的体系结构框图。
[0013] 图5是带有分解的SEE的计算机的另一实施例。
[0014] 图6是带有分解的SEE的计算机的又一实施例;以及
[0015] 图6A是图6的计算机的另一实施例。
[0016] 各实施例的详细描述
[0017] 尽管以下正文陈述了众多不同实施例的详细描述,但是应当理解,该描述的法律范围由本申请公开末尾陈述的权利要求书的言辞来限定。该详细描述应被解释为仅是示例性的,且不描述每一可能的实施例,因为描述每一可能的实施例即使不是不可能的也是不切实际的。可使用现有技术或在本申请提交日之后开发的技术来实现众多替换实施例,而这仍落入权利要求书的范围之内。
[0018] 还应当理解,除非一术语在本专利中使用语句“如此处所使用的,术语‘____’此处被定义为指……”或类似的语句来明确地定义,否则毫无意图将该术语的含义明确地或隐含地限制在其简单或普通意义之外,且这类术语不应当被解释为基于本专利的任何一节中所作出的任何陈述(权利要求书的语言除外)而在范围上有限制。就本专利末尾的权利要求书中引用的任何术语在本专利中以与单数意义相一致的方式来引用而言,这是为简明起见而如此做的,仅仅是为了不使读者感到混淆,且这类权利要求术语并不旨在隐含地或以其它方式限于该单数意义。
[0019] 许多发明性功能和许多发明性原理最佳地使用或利用软件程序或指令以及诸如专用IC等集成电路(IC)来实现。期望本领域的普通技术人员虽然可能要进行大量的工作和由例如可用时间、现有技术以及经济问题促动的许多设计选择,但是当受到此处所公开的概念和原理的指引时仍能够容易地以最小的实验来生成这些软件指令和程序以及IC。因此,为了简明以及最小化使根据本发明的原理和概念晦涩的任何风险,对这些软件和IC(如果有的话)的进一步讨论将限于对于较佳实施例的原理和概念所必需的那些讨论。
[0020] 许多现有技术的高价值计算机、个人数字助理、组织器等可能不适用于不作任何改进的预付或现用先付商业模型。如上所述,这些设备可具有除需要服务供应商的价值之外的重大价值。例如,个人计算机可以被拆解并作为组件来售出,从而对所资助设备的承销商造成可能巨大的损失。在其中因特网服务供应商以对未来费用的预期来承销个人计算机的成本的情况下,这一“残留价值”会给欺诈性订阅和盗窃形成机会。其中用户事先为使用所资助的高价值计算系统环境而付费的预付商业模型具有类似的欺诈和盗窃的风险。
[0021] 图1示出了可连接到网络10并用于实现动态软件供应系统的一个或多个组件的计算机110形式的计算设备。计算机110的组件可包括但不限于,处理单元120、系统存储器130以及将包括系统存储器的各类系统组件耦合至处理单元120的系统总线121。系统总线121可以是若干种总线结构中的任一种,包括存储器总线或存储器控制器、外围总线以及使用各类总线体系结构中的任一种的局部总线。作为示例而非局限,这类体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线、以及外围部件互连(PCI)总线(也称为小背板(Mezzanine)总线)。
[0022] 计算机110还包括提供密码服务的密码单元124。这些服务可包括对对称和非对称密码算法、密钥生成、随机数生成和安全存储的支持。密码服务可由市场上可购买到的集TM TM成电路,例如诸如由Seimens 或ST Microelectronics 提供的智能芯片来提供。
[0023] 计算机110可包括安全执行环境125(SEE)。SEE 125可被启用来执行安全监控、按使用付费和订阅使用管理、以及对于与已付费使用相关联的条款和条件的策略强制实施,尤其是在资助购买的商业模型中。安全执行环境125可以被嵌入在处理单元120中,或如图1所示作为一独立组件。SEE 125可支持的详细功能以及SEE 125的附加实施例将在以下参考图3来讨论。
[0024] 计算机110通常包括各种计算机可读介质。计算机可读介质可以是可由计算机110访问的任何可用介质,且包括易失性和非易失性介质、可移动和不可移动介质。作为示例,而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据这样的信息的任意方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由计算机110访问的任何其它介质。通信介质通常以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,且包含任何信息传递介质。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被设定或更改的信号。作为示例而非局限,通信介质包括有线介质,如有线网络或直接连线连接,以及无线介质,如声学、RF、红外和其它无线介质。上述中任一组合也应包括在计算机可读介质的范围之内。
[0025] 系统存储器130包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)131和随机存取存储器(RAM)132。基本输入/输出系统133(BIOS)包含有助于诸如启动时在计算机110中元件之间传递信息的基本例程,它通常存储在ROM 131中。RAM 132通常包含处理单元120可以立即访问和/或目前正在操作的数据和/或程序模块。
作为示例,而非限制,图1示出了操作系统134、应用程序135、其它程序模块136和程序数据137。
[0026] 计算机110也可以包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图1示出了对不可移动、非易失性磁介质读写的硬盘驱动器140,对可移动、非易失性磁盘152读写的磁盘驱动器151,以及对诸如CD ROM或其它光学介质等可移动、非易失性光盘156读写的光盘驱动器155。可以在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括,但不限于,盒式磁带、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器141通常由不可移动存储器接口,诸如接口140连接至系统总线121,磁盘驱动器151和光盘驱动器155通常由可移动存储器接口,诸如接口150连接至系统总线121。
[0027] 以上描述和在图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连接。
[0028] 计算机110可使用至一个或多个远程计算机,诸如远程计算机180的逻辑连接在网络化环境中操作。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其它常见网络节点,且通常包括上文相对于计算机110描述的许多或所有元件,尽管在图1中只示出存储器存储设备181。图1中所示逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可以包括其它网络。这样的网络环境在办公室、企业范围计算机网络、内联网和因特网中是常见的。
[0029] 当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连接至LAN171。当在WAN网络环境中使用时,计算机110通常包括调制解调器172或用于通过WAN
173,如因特网建立通信的其它装置。调制解调器172可以是内置或外置的,它可以通过用户输入接口160或其它合适的机制连接至系统总线121。在网络化环境中,相对于计算机
110所描述的程序模块或其部分可以存储在远程存储器存储设备中。作为示例,而非限制,图1示出了远程应用程序185驻留在存储器设备181上。可以理解,示出的网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其它手段。
[0030] 图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)等功能上相似的电路。几个厂商都生产现有技术的北桥和南桥电路及其功能等效产品,包括英特尔公司。
[0031] 各种功能电路可耦合到图形和存储器接口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。
[0032] 图3是诸如可在图2的计算机200中找到的示例性安全执行环境302的框图。安全执行环境302可包括处理器310、安全存储器318和接口342。
[0033] 安全存储器3 18可用防篡改方式储存与计算机302的安全操作相关的代码和数据,诸如硬件标识符320和策略信息322。策略信息322可包括涉及与计算机200的操作相关联的特定条款和条件的数据。安全存储器318还可包括实现各种功能324所需的代码或数据。功能324可以包括时钟326或实现时钟功能的定时器、强制实施功能328、计量330、策略管理332、密码334、隐私336、生物测定验证338、存储值340以及遵守监控341等等。
[0034] 时钟326可以提供用于时间测量的可靠基础,并且可以用作对于由操作系统134维护的系统时钟的检验以帮助防止通过更改系统时钟来欺诈性地使用计算机200的尝试。时钟326还可结合策略管理332来使用,例如要求与主机服务器的通信以验证升级的可用性。强制实施功能328可以在确定计算机200不遵守策略322的一个或多个要素时执行。
实际的强制实施机制可以位于计算机200的不同功能块中,如在图4-6的各示例性实施例中所示。强制实施机制可以基于强制实施功能的位置而变化,即强制实施功能宿主设备可用于实现强制实施功能。
[0035] 简要地参考图4,当强制实施功能438位于图形/存储器接口404中时,强制实施功能可以是存储器总线缩减机制或图形显示限制机制。存储器总线缩减机制可以用于将系统存储器重新分配给不可寻址区域,使得其对于处理器402不可用。类似地,存储器总线缩减机制可放慢存储器访问以限制计算机400的有用性。图形显示限制可采用限制所显示的像素或显示的色深度的形式,以限制高级特征的操作。
[0036] 当位于诸如I/O接口406等输入/输出接口中时,外围设备过滤强制实施功能可限制对某些外围设备的访问,或降低接口数据速率,从而使得与外围设备或网络连接的通信处于恼人和不可能之间的某一状态。当强制实施功能位于处理器402中时,可使用处理器减速功能来通过放慢指令处理以强制实施有限功能模式。在另一实施例中,强制实施机制可以是减少可用于处理命令的指令集。诸如使用一组受限指令来执行来自一有限存储器范围的程序等组合可能是有效的。
[0037] 返回到图3,另一功能324可以是计量330。计量330可包括各种技术和测量,例如在共同待审的美国专利申请第11/006,837号中所讨论的那些。是否计量以及要测量什么特定项目可以由策略322来决定。对适当策略的选择和对策略的更新管理可以由策略管理功能332来实现。
[0038] 密码功能334可用于数字签名验证、数字签署、随机数生成、以及加密/解密。这些密码能力的任一个或全部可用于验证对安全存储器318的更新,或建立与不论是在计算机200的内部还是外部的安全执行环境302外部的实体的信任。
[0039] 安全执行环境302可允许开发并使用若干专用功能。隐私管理器336可用于管理用户或感兴趣一方的个人信息。例如,隐私管理器336可用于实现用于保持在在线购物中使用的地址和信用卡数据的“钱包”功能。生物测定验证功能338可与外部生物测定传感器(未描绘)一起使用以验证个人身份。这一身份验证可用于例如更新隐私管理器336中的个人信息,或在应用数字签名时使用。密码功能334可用于建立对外部生物测定传感器的信任和安全通道。
[0040] 存储值功能340也可被实现以用于为按使用付费的计算机上的时间付费,或在进行外部购买,例如在线股票交易时使用。
[0041] 对来自安全存储器318的数据和功能的使用允许呈现受保护的硬件接口342以供计算机200中的其它系统访问。受保护硬件接口342可允许经由系统总线348对外围设备344或BIOS 346的受限的或受监控的访问。另外,功能324可以用于允许包括操作系统134在内的外部程序经由受保护硬件接口342来访问诸如硬件ID 356和密码功能334的随机数生成功能352的安全设备。可经由系统总线348访问的其它能力可包括安全存储354和可靠(单调递增)时钟350。
[0042] 以代码实现并储存在安全存储器318中的上述每一功能可以用逻辑来实现并被实例化为物理电路。在硬件和软件之间映射功能行为的操作是本领域中公知的,并且不在此详细讨论。
[0043] 在一个实施例中,计算机200可使用正常BIOS启动过程来引导。在操作系统134被激活的时刻,处理器310可执行策略管理功能332。策略管理功能332可确定当前策略322是有效的,然后加载策略数据322。策略可在配置过程中用于设置计算机200以便操作。
配置过程可以包括存储器分配、处理容量、外围设备可用性和使用情况以及计量要求。当强制实施计量时,可激活涉及计量的策略,诸如要采取什么测量。例如,按照CPU使用(按使用付费)以及一段时间内的使用(订阅)的测量可能需要不同的测量。另外,当按时段或按活动对使用收费时,可使用存储值功能340来维护存储值余额。
[0044] 当计算机300根据策略322来配置时,正常引导过程可通过激活并实例化操作系统134和其它应用程序135来继续。在其它实施例中,可在引导进程或正常操作周期的不同点处应用策略。如果发现了不遵守策略,则可激活强制实施功能328。对强制实施策略和动作的讨论可以在共同待审的美国专利申请第11/152,214中找到。强制实施功能328在将计算机恢复到遵守策略322的状态的所有尝试失败时可以将计算机300置于备选操作模式。例如,在一个实施例中,可通过将存储器从用作系统存储器130来重新分配并指定其由安全执行环境302使用来施加制裁。由于安全执行环境中的存储器不能被包括操作系统134在内的外部程序寻址,因此计算机的操作可通过这一存储器分配非常严重地受到限制。
[0045] 由于策略和强制实施功能是在安全执行环境302中维护的,因此对系统的某些典型攻击是困难或不可能的。例如,策略可以不会通过替换外部存储器的策略存储器部分而被“欺骗”。类似地,策略和强制实施功能可以不会因阻断执行周期或其相应的地址范围而变得“极缺”。
[0046] 为使计算机300回复到正常操作,需要从许可授权机构或服务供应商(未描绘)获得恢复代码并将其输入到计算机300中。该恢复代码可包括硬件ID320、存储值补充、以及用于验证时钟326的“不早于”日期。恢复代码通常可被加密并签署,以便由处理单元302确认。
[0047] 图4是示出了具有分解功能的安全执行环境的另一实施例的计算机400的体系结构框图。计算机400可以与图2的计算机200相同或相似。计算机400可具有处理器402、图形和存储器接口404以及I/O接口406。耦合到图形和存储器接口104的可以是图形处理器408和系统存储器410。耦合到I/O接口406的可以是诸如键盘和鼠标等一个或多个输入设备412、用于容纳各种接口板(未描绘)的板槽414、局域网接口416、诸如基本输入输出系统418(BIOS)等固件、诸如硬盘420等非易失性存储、以及通用串行总线422(USB)等等。
[0048] 安全执行环境可被分解到计算机400的两个或更多元件之中。取决于对系统工程师或设计师可用的设计选择中给定组件内可用的资源,与关于图3所示并描述的安全执行环境相关联的功能可以被分解到任何数量的配置和组合中。在图4所示的示例性实施例中,安全执行环境(SEE)核心430被示为嵌入在I/O接口406中。SEE核心430可包括硬件ID 432、计量功能434、以及策略管理功能436。SEE核心430可用作用于运作分解的安全执行环境的集线器或控制器。图形和存储器接口404中的强制实施功能438以及图形处理器408中的强制实施功能440可以具有在其各自的宿主中实现一定范围的制裁的能力。例如,强制实施功能438可以具有限制系统存储器410并影响计算机400的整体性能的能力。强制实施功能440能够减小图形处理器408支持的大小、速度或色深度。诸如强制实施438和密码456等基于处理器和图形/存储器接口的安全执行环境组件可经由现有前端总线上支持的标准存储器或I/O映射接口来通信。诸如外围组件互连(PCI)等用于现有总线上的机载通信的其它选项可要求修改现有实现以插入用于路由元件间分组的软件处理程序。给定分解的元件之间的通信的特性,可维护各个对等连接,尤其是在SEE核心430和诸如存储值448和各种示例性强制实施模块438、440、452等其它单独元件之间的对等连接。
[0049] 生物测定验证442和时钟444可以在BIOS 418中实现。与安全执行环境功能相关联的仅有数据的值可以被储存在常规的非易失性存储器中。例如,策略信息446、存储值448和隐私信息450可被储存在硬盘420中。与实现这些功能相关联的可执行码也可被储存在硬盘420中。USB接口422也可以是可放置强制实施功能425的另一位置。USB接口
422处的强制实施可以限制对诸如其它非易失性存储器、照相机或数字媒体设备等各种外围设备的访问。诸如密码456等处理密集型功能可位于处理器402中,然而尽管密码功能
456可使用处理器402的本机处理能力,密码功能456也可被实现为主宿在该芯片中的独立功能。
[0050] 安全执行环境的功能的分布可能需要某些额外的开销来支持这些分开功能之间的通信和验证。例如,每一分解的功能可能需要某一通信能力以及某一确定所接收的消息为真实的能力。为此,每一分解的功能可具有其自己的标识符和密钥。诸如策略446或存储值448信息等分布式数据可以不需要这些额外测量。
[0051] 当储存诸如策略446或存储值448等分布式数据时,SEE核心430可具有若干选项。如果SEE核心430具有加密能力,则分布式数据可以被本地加密并被远程储存。如果SEE核心430仅有散列能力,即对加密密钥没有本地安全存储,则SEE核心430可保持散列并远程地储存明文数据。
[0052] SEE核心430和安全执行环境的分解功能之间的通信可使用耦合每一宿主组件的现有总线结构来实现。例如,强制实施功能440中的SEE核心之间的通信可通过将图形和存储器接口404与图形处理器408相耦合的总线来实现。在另一实施例中,可实现分开的总线458以连接SEE核心430以及安全执行环境的分解功能组件438-456。相对慢的、窄的2
总线可能对这一通信是合适的。例如,称为互集成电路总线(IIC或IC)的双线总线可适用于这一互连。
[0053] 图5描绘了分解安全执行环境的另一实施例。计算机500可以具有大部分在图4中描绘的组件。可以有处理器502、图形和存储器接口504以及I/O接口506。图形和存储器接口可支持图形处理器508和系统存储器510。I/O接口可支持诸如输入设备(如鼠标和键盘)512、板槽514、BIOS存储器518、如硬盘520等非易失性存储器、USB端口522和如LAN接口516等网络接口等设备或外围接口。LAN接口516可以与能提供附加的非易失性数据存储的远程服务器560进行通信。
[0054] 在图5所描绘的实施例中,安全执行环境可具有设置在图形和存储器接口504中的安全执行环境核心530。诸如硬件标识符532和计量功能534等与SEE的操作相关联的其它数据和功能可以与SEE核心530位于同处。诸如策略管理536和强制实施538等附加功能可以被设置在I/O接口506中,而另一强制实施功能540可以位于图形处理器508中。生物测定验证542和时钟功能可以位于BIOS固件518中,而硬盘520可以主存存储值功能和数据548以及隐私信息550。USB接口可以主存另一强制实施功能552。
[0055] 为示出将SEE分解到本地计算机之外,图5的实施例示出了储存在远程服务器560上的策略信息546。策略信息546可以对计算机500是专用的,或者可以由其它组件(未描绘)共享,从而使得全局策略改变可用于给定的一组计算机。SEE的其它元件也可位于远程,例如,存储值、生物测定验证或两者可在给定适当保护的通信机制的情况下位于远程。
[0056] 图6是分解的安全执行环境的另一替换配置的框图。如上所述,计算机的基本元件可包括处理器602、图形和存储器接口604以及I/O接口606。图形和存储器接口604可支持图形处理器608。I/O接口可支持诸如输入设备(如鼠标和键盘)616、板槽610、BIOS存储器614、如硬盘613等非易失性存储器、USB端口618和如LAN接口612等网络接口等设备或外围接口。
[0057] 与以上图4和5的实施例不同,图6的系统存储器安排被修改为支持单独的SEE核心632。在所示的实施例中,系统存储器624通过存储器缓冲区620、622的组合被耦合到图形和存储器接口606。在一个实施例中,存储器缓冲区620、622可以是高级存储器缓冲区(AMB),它是本领域已知并可从诸如日本的NEC公司等制造商获得的件号为uPD720900的标准电路。存储器缓冲区620、622的一种应用是将高速串行接口转换成普通的计算机存储器芯片(DRAM)所支持的并行接口。然而,使用这一存储器缓冲区来接口到SEE核心632允许与图形和存储器接口604的直接交互而没有对图形和存储器接口604的高数据速率要求,也没有对接口626的进一步加载。存储器缓冲区620将高速并行接口626转换成串行接口628。为接口到现有的、普通的存储器,可使用另一存储器缓冲区622来将存储器信号转换回在接口626处找到的原始格式,以便耦合到系统存储器624。在一个实施例中,存储器缓冲区620、622可以是高级存储器缓冲区(AMB),它是本领域已知并可从诸如日本的NEC公司等制造商获得的件号为uPD720900的标准电路。在其它实施例中,存储器缓冲区620、622可以是专用集成电路。
[0058] 该配置允许独立SEE核心632与用于存储值634、硬件ID 636、策略管理 638和计量640、以及分布在其它组件之中的其它功能的混和实现。例如,一个实施例可在处理器602中具有密码功能642,在I/O接口606中主存强制实施644和时钟646,在BIOS固件614中具有隐私648和生物测定验证650,并在系统存储器624中具有策略数据652。
[0059] 图6A示出了图6的计算机600的另一实施例,具体示出了将SEE核心632耦合到图形和存储器接口604的另一种方法。可使用单个缓冲区654来代替图6的成对的缓冲区620和622。缓冲区654可以简单地执行允许SEE核心632位于存储器总线626上所必需的阻抗匹配,或者可具有与计量和/或强制实施相关联的附加功能。
[0060] 以上示例性实施例示出了用于将安全执行环境的功能分布在计算机的不同元件中的若干配置。其效果是将风险以及攻击点分布在整个计算机中并帮助确保原始设备组件不被除授权服务人员之外的任何人移除或更改。这帮助保护可能对保护计算机免遭逻辑和物理攻击有重大金融利益的承销商的投资。
[0061] 尽管以上正文陈述了本发明的众多不同实施例的详细描述,但是应当理解,本发明的范围由本专利末尾陈述的权利要求书的言辞来定义。该详细描述应被解释为仅是示例性的,且不描述本发明的每一可能的实施例,因为描述每一可能的实施例即使不是不可能的也是不切实际的。可使用现有技术或在本专利提交日之后开发的技术来实现众多替换实施例,这仍将落入定义本发明的权利要求书的范围之内。
[0062] 由此,可在此处所描述和示出的技术和结构上作出许多修改和变化而不脱离本发明的精神和范围。因此,应当理解,此处所描述的方法和装置仅是说明性的,且不限制本发明的范围。