专利名称:封装了处理单元的操作系统的制作方法
封装了处理单元的操作系统北旦 冃尔使用具有主存软件操作平台或操作系统的硬件处理平台的体系结构的计 算机目前正在使用中。该操作系统被设计成独立于处理平台(至少在宽泛的参 数内),而相反,处理平台是独立于操作系统来设计的(在一般同样宽泛的参数内)。例如,Linux或Microsoft Windows可在大多数版本的Intel x86处理器 上运行。通过使用虚拟机监控程序(VMM)或系统管理程序(hypervisor), 有可能并发地运行两个操作系统。类似地,诸如UNIX等某些操作系统可在一 种以上处理器上运行,例如1MB PowerPC和Sun Sparc处理器。处理平台和操作系统之间的这一独立性引入了可能被冒充的黑客恶意利 用的安全风险,这部分是由于在处理器和操作系统之间,即在计算机的硬件和 软件之间建立信任的困难。当前的微处理器进入一 "取出并执行"循环,该循 环盲目地执行给予其的指令,并且不关注所执行的指令的内容或分支,也不参 与与使用电子设备有关的策略决策。概述具有嵌入式系统功能的处理单元提供了一种用于强制实施安全和/或操作 策略,例如用于实施诸如计算机、蜂窝电话、个人数字助理、媒体播放器等电 子设备的按使用付费、即用即付或其它计量操作的安全基础。该处理单元可包 括在大多数或所有现代微处理器中找到的特征和功能支持,并且还支持提供硬 件标识符、防篡改时钟和安全存储的附加功能。诸如密码单元等其它功能能力 也可存在。结果是不依赖于任何外部组件,尤其是操作系统软件、可信计算模 块(TCM)或安全引导BIOS来建立能够遵循使用策略来操作的计算机的基础 的处理单元。当被引导时,该处理单元确定什么策略是活动的,并根据该策略来设置系 统配置,例如对可用存储器、外围设备的数目或类型、或网络通信设置限制。该时钟提供在诸如在一段时间内使用等计量使用中使用的可信时间,并且作为 检测对系统时钟的篡改的基准。附图简述
图1是计算机网络的简化的代表性框图;图2是可连接到图1的网络的计算机的框图;图3是示出处理单元的细节的计算机的框图;以及图4是示出图3的处理单元的替换实施例的细节的计算机的框图。各实施例的详细描述尽管下文阐明了众多不同实施例的详细描述,但是应当理解,本说明书的 法定范围是由本专利开头所述的权利要求书的文字来定义的。该详细描述应被 解释为仅是示例性的,而未描述每一可能的实施例,因为描述每一可能的实施 例即使不是不可能的也是不切实际的。使用现有技术或在本专利的提交日之后 幵发的技术,可实现众多替换实施例,这仍落入权利要求书的范围之内。还应当理解,除非一术语在本专利中使用语句"如此处所使用的,术语 '_'此处被定义为指……"或类似的语句来明确地定义,否则毫无意图将 该术语的含义明确地或隐含地限制在其简单或普通意义之外,且这类术语不应 当被解释为基于本专利的任何一节中所作出的任何陈述(权利要求书的语言除 外)而在范围上有限制。就本专利末尾的权利要求书中引用的任何术语在本专 利中以与单数意义相一致的方式来引用而言,这是为清楚起见而如此做的,仅仅是为了不使读者感到混淆,且这类权利要求术语并不旨在隐含地或以其它方 式限于该单数意义。最后,除非一权利要求要素是通过叙述单词"装置"和功 能而没有叙述任何结构来定义的,否则任何权利要求要素的范围并不旨在基于 35 U.S.C. § 112第6段的应用来解释。许多发明性功能和许多发明性原理最佳地使用或利用软件程序或指令以 及诸如专用集成电路(IC)等IC来实现。期望本领域的普通技术人员虽然可 能要进行大量的工作和由例如可用时间、现有技术以及经济问题促动的许多设 计选择,但是当受到此处所公开的概念和原理的指引时仍能够容易地以最小的6实验来生成这些软件指令和程序以及IC。因此,为了简明以及最小化使根据本 发明的原理和概念晦涩的任何风险,对这些软件和IC (如果有的话)的进一步 讨论将限于对于较佳实施例的原理和概念所必需的那些讨论。图1示出了可用于实现按使用付费计算机系统的网络10。网络IO可以是因特网、虚拟专用网(VPN)、或允许一个或多个计算机、通信设备、数据库 等通信上彼此连接的任何其它网络。网络10可经由以太网16和路由器18以 及陆线20连接到个人计算机12和计算机终端14。另一方面,网络10可以经 由无线通信站26和无线链路28无线地连接到膝上型计算机22和个人数据助 理24。类似地,服务器30可使用通信链路32连接到网络10,而大型机34可 使用另一通信链路36连接到网络10。图2示出了可连接到网络10并可用于实现动态软件供应系统的一个或多 个组件的计算机110形式的计算设备。计算机110的组件可包括但不限于,处 理单元120、系统存储器130以及将包括系统存储器的各类系统组件耦合至处 理单元120的系统总线121。系统总线121可以是若干种总线结构类型中的任 一种,包括存储器总线或存储器控制器、外围总线以及使用各类总线体系结构 中的任一种的局部总线。作为示例而非局限,这类体系结构包括工业标准体系 结构(ISA)总线、微通道体系结构(MCA)总线、增强ISA (EISA)总线、 视频电子技术标准协会(VESA)局部总线以及外围部件互连(PCI)总线,也 称为Mezzanine总线。处理单元120可以是如本领域中已知的诸如可从英特尔公司或其它公司 获得的微处理器等微处理器。处理单元可以是单个芯片,或者可以是多处理器 芯片,.并且可包括相关联的外围芯片(未描绘)或功能块(未描绘)。这些相 关联的芯片可包括预处理器、流水线芯片、简单缓冲区和驱动程序、或者可包 括诸如某些现有技术计算机体系结构中已知的"北桥"和"南桥"芯片等更复 杂的芯片/芯片组。处理单元120还可包括安全执行环境125,其或者与微处理 器在同一硅上,或者是作为总体处理单元的一部分的相关芯片。安全执行环境 125及其与处理单元120或等效设备的交互将参考图3和图4来更详细讨论。计算机110通常包括各种计算机可读介质。计算机可读介质可以是可由计 算机110访问的任一可用介质,并包括易失性和非易失性介质、可移动和不可移动介质。作为示例而非局限,计算机可读介质可包括计算机存储介质和通信 介质。计算机存储介质包括以用于储存诸如计算机可读指令、数据结构、程序 模块或其它数据等信息的任一方法或技术实现的易失性和非易失性,可移动和不可移动介质。计算机存储介质包括但不限于,RAM、 ROM、 EEPROM、闪 存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁 盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由 计算机110访问的任一其它介质。通信介质通常具体化为诸如载波或其它传输 机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据, 并包括任何信息传送介质。术语"已调制数据信号"指以对信号中的信息进行 编码的方式设置或改变其一个或多个特征的信号。作为示例而非局限,通信介 质包括有线介质,如有线网络或直接连线连接,以及无线介质,如声学、射频、 红外和其它无线介质。上述任一的组合也应当包括在计算机可读介质的范围之 内。系统存储器130包括以易失性和/或非易失性存储器形式的计算机存储介 质,如只读存储器(ROM) 131和随机存取存储器(RAM) 132。基本输入/ 输出系统133 (BIOS)包括如在启动时帮助在计算机110内的元件之间传输信 息的基本例程,通常储存在ROM 131中。RAM 132通常包含处理单元120立 即可访问和/或当前正在操作的数据和/或程序模块。作为示例而非局限,图2 示出了操作系统134、应用程序135、其它程序模块136和程序数据137。计算机110也可包括其它可移动/不可移动、易失性/非易失性计算机存储 介质。仅作示例,图2示出了对不可移动、非易失性磁介质进行读写的硬盘驱 动器140、对可移动、非易失性磁盘152进行读写的磁盘驱动器151以及对可 移动、非易失性光盘156,如CD ROM或其它光介质进行读写的光盘驱动器 155。可以在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性 计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、 固态RAM、固态ROM等等。硬盘驱动器141通常通过不可移动存储器接口, 如接口 140连接到系统总线121,磁盘驱动器151和光盘驱动器155通常通过 可移动存储器接口,如接口 150连接到系统总线121。上文讨论并在图2示出的驱动器及其关联的计算机存储介质为计算机110提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图2中,示出硬盘驱动器141储存操作系统144、应用程序145、其它程序模块 146和程序数据147。注意,这些组件可以与操作系统134、应用程序135、其 它程序模块136和程序数据137相同,也可以与它们不同。这里对操作系统144、 应用程序145、其它程序模块146和程序数据147给予不同的标号来说明至少 它们是不同的副本。用户可以通过输入设备,如键盘162和定点设备161 (通 常指鼠标、跟踪球或触摸垫)向计算机20输入命令和信息。另一输入设备可 以是用于通过因特网发送图像的照相机,被称为网络摄像头163。其它输入设 备(未示出)可包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。 这些和其它输入设备通常通过耦合至系统总线的用户输入接口 160连接至处理单元120,但是也可以通过其它接口和总线结构连接,如并行端口、游戏端口 或通用串行总线(USB)。监视器191或其它类型的显示设备也通过接口,如 视频接口 190连接至系统总线121。除监视器之外,计算机也可包括其它外围 输出设备,如扬声器197和打印机196,它们通过输出外围接口 195连接。计算机110可以使用到一台或多台远程计算机,如远程计算机180的逻辑 连接在网络化环境中操作。远程计算机180可以是个人计算机、服务器、路由 器、网络PC、对等设备或其它常见的网络节点,并通常包括许多或所有以上 相对于计算机110所描述的元件,尽管在图2中仅示出了存储器存储设备181。 图2描述的逻辑连接包括局域网(LAN) 171和广域网(WAN) 173,但也可 包括其它网络。这类网络环境常见于办公室、企业范围计算机网络、内联网以 及因特网。当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连 接至LAN 171。当在WAN网络环境中使用时,计算机IIO通常包括调制解调 器172或用于通过WAN173,如因特网建立通信的其它装置。调制解调器172 可以是内置或外置的,它通过用户输入接口 160或其它适当的机制连接至系统 总线121。在网络化环境中,相对于计算机110所描述的程序模块或其部分可 储存在远程存储器存储设备中。作为示例而非局限,图2示出远程应用程序185 驻留在存储器设备181上。可以理解,所示的网络连接是示例性的,并且可使 用在计算机之间建立通信链路的其它手段。图3描绘了计算机300的简化框图。该计算机包括处理单元302,它可以 与处理单元120相同或相似。该框图还描绘了具有通过接口应用程序接口 (API) 306耦合到处理单元302的操作系统和应用程序304的计算机300。 API 306可以与处理单元302中的通信接口 308通信。通信接口 308可采用中 断处理程序或消息处理程序、语法分析单元等的形式。如可在常规微处理器中 找到的,处理单元302可包括使用通用微码集312来处理通过通信接口 308接 收到的通用指令的通用处理单元(GPU)核心310。 GPU核心310的操作及其 与通用微码312的关系在本行业中是普遍证明并理解的,并且其示例有诸如 Intel PentiumTM系列、来自先进Rise机器有限公司的ARMTM处理器、以及IBM 的PowerPCTM处理器等处理器。安全执行环境314可补充由GPU核心310和微码312提供的通用处理能 力。安全执行环境314可包括保留的执行存储器316。该保留的执行存储器316 可为处理单元302内具有提升的特权级别的指令的执行提供高度安全的位置。 该提升特权级别的操作可允许处理单元302执行不能从处理单元302外部直接 访问的代码。例如,特定的中断向量可将处理单元302置于安全操作中,或者 可评估指令以找到需要安全资源的内容。当在这一提升特权的模式中操作时, 处理单元302担当全子系统,并且不需要任何外部资产,例如BIOS资源、程 序存储器或TCM来构建安全处理环境。安全存储器318可用防篡改方式来储存与计算机302的安全操作有关的代 码和数据。通信接口 308可确定进入处理器302的哪些指令应被定向到安全存 储器318,并且随后在保留的执行存储器316中执行。安全存储器318中的数 据可包括标识标记或硬件标识符320,以及可指定诸如计量、报告、更新要求 等策略相关操作指示的策略数据322。安全存储器318还可包括实现各种功能 324所需的代码或数据。功能324可包括实现时钟功能的时钟326或定时器、 强制实施功能328、计量330、策略管理332、密码334、私密性336、生物测 定验证338以及存储值340等。时钟326可提供用于时间测量的可靠基础,并且可用作对由操作系统134 维护的系统时钟的检查,以帮助防止通过更改系统时钟来欺诈地使用计算机 300的企图。时钟326也可结合策略管理332来使用,例如用于要求与主机服务器的通信验证升级可用性。强制实施功能328可被加载到保留的执行存储器316中,并且在确定计算机300没有遵从策略322的一个或多个要素时执行。 这些动作可包括通过指示处理单元302分配一般可供安全执行环境314使用的 可用系统存储器来限制系统存储器132。通过将系统存储器134重新分配给安 全执行环境314,基本上使得系统存储器314不可用于用户目的。另一功能324可以是计量330。计量330可包括各种技术和测量,例如在 共同待决的美国专利申请第11/006,837号中讨论的那些。是否计量以及要测量 什么特定项可以由策略322来决定,并且由策略管理功能332来实现。密码功 能334可用于数字签名验证、数字签署、随机数生成、以及加密/解密。任何或 所有这些能力都可用于验证对安全存储器318的更新,或与处理单元302外部 的实体(不论是在计算机300内部还是外部)建立信任。安全执行环境314可允许开发并使用几个专用功能。私密性管理器336 可用于管理用户或感兴趣一方的个人信息。例如,私密性管理器336可用于实 现用于保持在在线购物时使用的地址和信用卡数据的"钱包"功能。生物测定 验证功能338可与外部生物测定传感器一起使用来验证个人身份。这一身份验 证可用于例如更新私密性管理器336中的个人信息,或者在应用数字签名时使 用。如上所述,密码功能334可用于建立到外部生物测定传感器(未描绘)的 信任和安全通道。存储值功能340也可被实现用于在按使用付费计算机上为时间付费,或在 进行外部购买时,例如在线股票买卖交易时实现。使用来自安全存储器318的数据和功能在保留的执行存储器316中执行允 许呈现一安全硬件接口 342 。安全硬件接口 342允许对外围设备344或BIOS 346 的受限制的或受监控的访问。另外,功能324可用于允许包括操作系统134在 内的外部程序经由安全硬件接口 342和GPU 310之间的逻辑连接348来访问诸 如硬件ID和随机数生成等安全设施。另外,以代码实现并被储存在安全存储 器318中的上述每一功能可用逻辑来实现并被实例化为物理电路。映射硬件和 软件之间的功能行为的操作在本领域中是公知的,并且无需在此详细描述。在操作中,指定的中断可由通信接口 308处理,使得数据或一个或多个功 能从安全存储器318加载到保留的执行存储器316中。GPU310可从保留的执行存储器316中执行,以实现该功能。在一个实施例中,可用的功能324可补 充或替代操作系统134中可用的标准功能。当以此方式配置时,相应的操作系 统134仅在与处理单元302配对时才操作。将该概念带到另一层上,处理单元 302的另一实施例可被编程为捕获外部操作系统功能,除非是从保留的执行存 储器316中执行的。例如,由外部操作系统134分配存储器的尝试可被拒绝或 被重定向到内部储存的功能。当以此方式配置时,仅特别为处理单元302配置 的操作系统将正确操作。在又一实施例中,策略数据322和策略管理功能332 可测试操作系统134、应用程序135和硬件参数来确保授权的软件和硬件存在。
在一个实施例中,计算机300使用正常的BIOS启动过程来引导。在操作 系统134被激活的点处,处理单元302可将策略管理功能332加载到保留的执 行存储器316中以供执行,以便根据策略数据322来配置计算机300。该配置 过程可包括存储器分配、处理容量、外围设备可用性和使用率、以及计量要求。 当强制实施计量时,可激活与计量有关的策略,诸如要采取什么度量,例如按 照CPU使用率或在一段时间内。另外,当每一周期或按照活动对使用收费时, 存储值余额可使用存储值功能340来维护。当计算机300根据策略322来配置 时,正常引导进程可通过激活并实例化操作系统134和其它应用程序135来继 续。在其它实施例中,可向引导进程或正常操作循环中的不同点应用策略。
如果发现不遵循策略,则可激活强制实施功能328。对强制实施策略和动 作的讨论可在共同待决的美国专利申请第11/152,214中找到。强制实施功能 328可在将计算机还原到遵循策略322的所有尝试都失败时将计算机置于一备 选操作模式。例如,在一个实施例中,可通过将存储器从用作系统存储器130 重新分配并将其指定为安全存储器318来实施制裁。由于安全存储器318不可 被包括操作系统134在内的外部程序寻址,因此计算机的操作可由这一存储器 分配来甚至更严厉地限制。
由于策略和强制实施功能是在处理单元302内维护的,因此对系统的某些 典型攻击是困难或不可能的。例如,策略可以不会通过替换外部存储器的策略 存储器部分而被"欺骗"。类似地,策略和强制实施功能可以不会通过阻断执 行周期及其各自的地址范围而"饿死"。
为使计算机300回退到正常操作,可能需要从许可授权机构或服务供应商(未描述)获取恢复代码并输入到计算机300中。恢复代码可包括硬件ID 320、 存储值补给、以及用于验证时钟326的"不早于"时间。恢复代码通常被加密 并被签署,以供处理单元302确认。
对安全存储器318中的数据的其它更新可仅在满足特定准则时,例如当更 新通过数字签名验证时才允许。
图4是示出图3所示的处理单元302的替换实施例的计算机400的框图。 计算机400具有处理单元402、操作系统404以及微处理器操作系统接口应用 程序接口 (API) 406。处理单元402包括可按类似于通信接口 308的方式、通 过基于诸如中断特性或地址范围等准则将数据通信定向到适当的微处理器功 能来操作的通信接口 408。处理单元402可具有常规的通用处理单元(GPU) 410以及相应的通用微码412。安全执行环境414可包括在安全执行环境314 中找到的相同或相似的功能,并且另外还有一单独的安全核心处理器416。安 全核心处理器416可允许与GPU核心410独立的附加级别,以及处理单元402 的安全性的相应提高。
安全存储器418除如上参考图3讨论地操作的通用功能424 (例如时钟 426、强制实施428、计量430、策略管理432和密码434)之外还可包括硬件 ID420和策略数据422。另外,可存在诸如私密性管理436、生物测定验证438 和存储值440等专用功能。通用和专用功能424是作为示例而非限制给出的, 因为普通技术人员可容易地想到其它功能。
设备对诸如设备接口 144和BIOS接口 446等安全硬件接口 442的呈现, 以及诸如可靠时钟和随机数生成器等功能的呈现可通过虚拟连接448来作出。 GPU核心410和安全核心处理器416之间的通信可通过通信总线450来进行。 在一个实施例中,通信总线450可通过安全通道来发送数据,以将可信关系从 安全核心处理器416扩展到GPU 410。
以上所描述的是包括用于计算机使用的精密计量的硬件和软件实施例在 内的几个具体实施例。通过监控并评估计算机110的一个或多个组件的活动级 别并应用适当的商业规则,公开了确定和测量有益使用的更公平且准确的方 法。这有益于各种各样的家庭、办公室和企业按使用付费或计量使用的应用。 然而,本领域的普通技术人员将理解,可对这些实施例进行各种修改和改变,包括但不限于使用硬件或软件的不同组合来进行活动监控、多费率时刻表、以 及与确定适当使用时刻表相关联的复杂程度更高或更低的规则。因此,说明书 和附图应在说明而非限制的意义上考虑,并且所有这些修改都旨在包括在本发 明的范围之内。
权利要求
1.一种在电子设备中使用的处理单元,包括指令处理单元;通信接口;标识标记;策略管理电路;强制实施电路;提供单调递增时基的时钟电路;以及储存对应于一使用策略的数据的防篡改存储器,所述使用策略遵循所述使用策略来调节所述电子设备的操作。
2. 如权利要求1所述的处理单元,其特征在于,所述使用策略指定了对 应于所述电子设备中的资源使用的系统设置。
3. 如权利要求1所述的处理单元,其特征在于,所述使用策略包括对应 于按时间计量和按使用计量中的至少一个的操作值。
4. 如权利要求1所述的处理单元,其特征在于,还包括储存在所述防篡 改存储器内的、实现一私密性功能的软件代码,所述私密性功能用于保护对应 于用户数据的信息的安全。
5. 如权利要求1所述的处理单元,其特征在于,所述通信接口向应用程 序接口提供数据以传递策略更新。
6. 如权利要求1所述的处理单元,其特征在于,所述策略管理电路确定 何时计量所述电子设备的使用。
7. 如权利要求1所述的处理单元,其特征在于,所述强制实施电路在所 述策略管理电路确定操作不遵循所述策略时限制所述电子设备的操作。
8. 如权利要求1所述的处理单元,其特征在于,还包括储存在所述防篡 改存储器内、用于实现生物测定认证功能的软件代码。
9. 如权利要求1所述的处理单元,其特征在于,还包括储存在所述防篡 改存储器内、用于实现密码功能的软件代码,由此在安装之前用密码方法来验 证策略更新。
10. 如权利要求9所述的处理单元,其特征在于,所述密码功能可用于建 立与所述电子设备的另一组件的可信关系。
11. 如权利要求1所述的处理单元,其特征在于,所述策略定义硬件配置。
12. 如权利要求1所述的处理单元,其特征在于,所述策略定义通过将外部存储器分配给所述防篡改存储器来将所述外部系统存储器排除在一般使用 之外的存储器配置。
13. 如权利要求1所述的处理单元,其特征在于,还包括储存在所述防篡 改存储器内、用于实现存储值功能的软件代码。
14. 一种适用于遵循对应于存储器配置、处理容量、计量要求和外围设备 授权中的至少一个的策略来使用的计算机,所述计算机包括易失性存储器; 非易失性存储器; 输入接口; 通信接口;以及耦合到所述易失性存储器、所述非易失性存储器、所述输入接口和所述输出接口的处理单元,所述处理单元包括 指令处理单元;数据总线接口; 策略管理功能; 强制实施功能; 防篡改时钟;以及 储存所述策略的安全存储器; 其中所述计算机根据储存在所述安全存储器中的策略来操作。
15. 如权利要求14所述的计算机,其特征在于,对应于所述策略的数据 是通过所述输入接口和所述通信接口之一来接收的。
16. 如权利要求14所述的计算机,其特征在于,所述处理单元还包括密 码功能。
17. —种操作具有带防篡改存储器的处理单元的计算机的方法,所述方法包括执行引导所述计算机的计算机指令;执行从所述防篡改存储器中读取策略的计算机指令,所述策略对应于存储 器配置、处理容量、计量要求、以及外围设备授权中的至少一个;以及执行根据所述策略来操作所述计算机的计算机指令。
18. 如权利要求17所述的方法,其特征在于,还包括 将所述计算机置于受限制的使用模式; 接收包括时间指示的恢复代码;以及 将所述时间指示与内部时钟功能进行比较。
19. 如权利要求17所述的方法,其特征在于,还包括 确定所述策略何时需要所述计算机的计量使用; 根据所述策略计量所述使用。
20. 如权利要求17所述的方法,其特征在于,执行根据所述策略来操作 所述计算机的计算机指令还包括执行将系统存储器重新分配给所述防篡改存储器以使其不可供所述计算机一般使用的计算机指令。
全文摘要
一种在电子设备中使用的处理单元包括标准指令处理和通信接口,并且还包括除操作系统中找到的功能能力之外或作为其替代的功能能力。该处理单元内的安全存储器可包含硬件标识符、策略数据、以及诸如安全时钟、策略管理和策略强制实施等子系统功能。该安全存储器内的功能中的数据不可从该处理单元外部来访问。
文档编号G06F15/78GK101263473SQ200680033204
公开日2008年9月10日 申请日期2006年9月2日 优先权日2005年9月12日
发明者A·福兰克, C·A·斯蒂伯, I·P·阿杜特, J·S·杜弗斯, M·H·豪尔, T·菲利普斯, Z·徐 申请人:微软公司