Computersystemincludingamainprocessorandaboundsecuritycoprocessor的制作方法

文档序号:6592769阅读:202来源:国知局
专利名称:Computer system including a main processor and a bound security coprocessor的制作方法
技术领域
本发明系关于计算机系统安全,而尤系关于使用安全平台的计算机系统。
背景技术
许多习知的计算机系统和执行于该计算机系统之软件易受到来自于软件和硬件 机构之攻击。端视所需要受保护之资产而定,负责建立系统安全之系统设计者可能面对关 联于保持系统软件各部分可靠性之各种问题。可能包含例如操作系统、应用软件及基本输 入输出系统(BIOS)之系统软件可能受到许多不同方式之危害。操作系统软件可能受到病 毒和其它恶意软件(malware)之攻击。譬如闪存、只读存储器(ROM)或硬盘机之外部储存 器可以独立地操作。从事数字权管理(digital rights management,DRM)之系统可能由于 使用者尝试违反允许事项而受到危害。因为系统软件容易于任何给定之习知计算机系统上受到危害,因此对于如在线银 行、在线秘书、多媒体内容提供者等服务之提供者和使用者而言,于安全之环境运作应用软 件系愈形困难。

发明内容
本说明书揭示计算机系统和方法之各种实施例。于一个实施例中,计算机系统包 含主处理器及耦合到该主处理器并且配置以控制和监视该主处理器的操作状态之安全控 制处理器。为确保计算机系统是可靠的,可以配置安全控制处理器于该安全控制处理器之 初始化期间保持该主处理器于从属模式,使得该主处理器不可操作成从例如主处理器外部 的指令源取得和执行指令。此外,当该主处理器被保持于从属模式时可以配置安全控制处 理器以经由控制接口转移一个或多个指令至该主处理器而初始化该主处理器的操作状态 至预定的状态,并且导致该主处理器执行该一个或多个指令。再者,以例如不同处理器取代安全控制处机机来帮助确保系统未被劫持,可以利 用束缚操作将安全控制处理器和主处理器束缚在一起。于一个特定实施例中,在主处理器 与安全控制处理器彼此承认为有效期间,在安全控制处理器主处理器操作于正常操作模式 之前,安全控制处理器系配置以初始化束缚验证操作。为了响应成功的束缚验证操作,主处 理器被配置以操作于正常操作模式。


图1为采用安全控制处理器的计算机系统之一个实施例之方块图。图2为说明采用安全控制处理器的计算机系统之实施例的操作之流程图。
具体实施例方式现翻至图1,显示计算机系统之一个实施例之方块图。计算机系统100包含经由内 存链路16耦合至系统内存15之主处理器10。主处理器10亦经由I/O链路24耦合至输
3入/输出(I/O)桥接器30。此外,主处理器系经由控制接口 26耦合至安全控制处理器20。 I/O桥接器30系经由周边总线36耦合至安全控制处理器20。I/O桥接器30亦经由周边总 线38耦合至基本输入输出(BIOS)储存器18。应注意的是,虽然BIOS系如所示耦合至I/O 桥接器30,但是应考虑到于其它实施例中,BI0S18可以用其它方式耦合至系统。亦应注意 到为了简化起见,已经省略了许多其它的计算机系统组件。例如,计算机系统100可以包含 譬如键盘、鼠标、显示器之I/O装置和譬如图形配接器之周边装置以及额外的处理器、协同 处理器等等。于一个实施例中,处理器10可以表示实现x86架构之任何种类之处理器。然而, 应注意的是于其它实施例中,主处理器10可以实现任何类型之架构。此外,因为主处理器 10可以是任何类型之范示微处理器,因此主处理器10可以包含许多因简化而被忽略之其 它组件和功能区块(譬如指令和数据缓存、加载和储存单元、获取和译码逻辑以及一个或 多个执行单元)。如所示,主处理器10系经由控制接口 26耦合至安全控制处理器20。如此种情形, 主处理器10包含控制接口逻辑13。如将于下文中更详细说明者,控制接口逻辑13可以包 含使得安全控制处理器20能够一直控制和监视主处理器10的操作状态之功能。主处理器 的操作状态可以藉由数据存储器影像、缓存器设定、将被执行的指令(可能是另一个内存 影像)、其缓存及其它内部处理器状态来说明。举例而言,控制接口逻辑13可以包含测试存 取端口(test access port,TAP)控制器缓存器,该测试存取端口控制器缓存器可以允许安 全控制处理器20具有对主处理器10之其它硬件功能之中的处理器指令缓存I-Cache (未 显示)之直接存取。于一个实施例中,控制接口 26和控制接口逻辑13可以实现为进阶除错 端口,该进阶除错端口可以包含遵从已广为人知的IEEE 1149. 1边界扫描标准(Boundary Scan Standard)(其有时亦称之为接合测试动作群(joint test action group, JTAG)标 准)之功能。边界扫描标准包含具有复数个外部可存取接脚(包含TDI、TD0、TMS、TCK及 TRST)之串联测试接口。然而,控制接口 26和控制接口逻辑13可以包含额外的讯号和 特征使其为IEEE 1149. 1边界扫描标准之超集。举例而言,于一个实施例中,该除错端口 可以藉由超级微装置公司(Advanced Micro Devices, Inc.)实现为专卖的硬件除错工具 (hardware debug tool, HDT)端口。如此,该端口可以包含例如请求接脚(DBRED_L)和除 错预备接脚(DB_RDY)。于此种实施例中,DBRED_L可由外部指定,而当除错HW完成时可以 藉由确认DB_RDY讯号来回答。此外,如例示实施例中所示,主处理器10包含可以硬件实现之监视定时器 (watchdog timer,WDT)电路 11。WDT 电路 11 亦包含抑制机构(disable mechanism) 12。 应该注意的是,于其它实施例中,可以没有WDT电路11,而抑制机构12可以具有独立功能 (亦即,可以使用在没有WDT电路11的情况下使用)。如将于下文中更详细说明者,抑制 机构12可以是所有的或某些的系统组件所参与的分布监视功能(distributed watchdog function)的一部分。于一个实施例中,抑制机构12可以视特定的实现方式而定,而例如藉 由永久或暂时地以及完全或部分地抑制该主处理器10,以对来自任何WDT电路(如WDT电 路11)之讯号作出响应。1/0桥接器30根据特定的实现方式可以实现成为1/0集线器(hub)或南桥。于一 个实施例中,1/0链路24可以实现成为超传输(HyperTransportTM)链路,其中一对单向链路可以在主处理器10与I/O桥接器30之间输送封包。当如此情况,I/O桥接器30可以包 含譬如输入和输出缓冲器之支持逻辑,以及流程控制逻辑以控制该HT链路。此外,I/O桥接 器30可以包含桥接器逻辑以支持至譬如周边总线36之周边总线的通讯。举例而言,于一 个实施例中,周边总线36和总线38可以表示低接脚数(low pin count ;LPC)总线,或者周 边组件互连(peripheral component interconnect ;PCI)总线等。因此,1/0 桥接器 30 可 以包含桥接器逻辑(未显示)以桥接HT协议和LPC或PCI协议间的通讯。应该注意的是, 于其它实施例中,如所期望的,可以使用任何类型的通讯或总线协议以实现1/0链路24。安全控制处理器20可以经由控制接口 26且经由1/0桥接器30透过LPC总线36 通讯至主处理器10。于一个实施例中,控制接口 26为单路接口因为主处理器10可以不经 由控制接口 26初始化至安全控制处理器20的通讯。如上所述,安全控制处理器20可以经 由控制接口 26监视和控制主处理器10之状态。更详言之,使用特定的控制接口指令,安全 控制处理器20可以读取和写入组成主处理器10之CPU状态之所有组件。举例而言,安全 控制处理器20可以加载指令,并且可透过控制接口 26从主处理器10读取和写入系统缓存
ο如所例示,1/0桥接器30亦包含可以硬件实现之WDT电路31。类似于主处理器10 之WDT11,WDT电路31亦包含抑制机构32。然而,如上所述,于其它实施例中,可以没有WDT 电路31,而该抑制机构32可以具有独立的功能,并且可以在没有WDT电路31的情况下使 用。将如下文中更详细之说明,该抑制机构32可以是分布监视功能之一部份,其中所有的 或一些系统组件(例如主处理器10、安全控制处理器20等)可以包含WDT电路硬件并且 可以参与WDT事件。于一个实施例中,抑制机构32可以例如根据特定的实现方式藉由抑制 1/0桥接器30,对来自任何WDT电路(譬如WDT电路11或WDT电路31)之讯号作出响应。于所例示之实施例中,该安全控制处理器20系经由该控制接口 26耦合至该主处 理器10且经由周边总线36 (例如LPC)耦合至该1/0桥接器30。于一个实施例中,该安全 控制处理器20可实现成为特殊用途处理器。如此,该安全控制处理器20 —旦被编程,则可 包含多种特殊安全特征(如不能由该处理器20外部存取的内部存储器25)。此外,于一个 实施例中,可实现安全控制处理器20以避免损害或反向工程。安全控制处理器20也可包 含实施编码功能之能力。于一个实施例中,可以将该安全控制处理器20配置成执行储存在内部存储器25 中之程序指令。一旦执行了程序指令即可以导致安全控制处理器20控制主处理器10和计 算机系统100之启动(boot-up)序列,并且一直控制和监视主处理器10的操作。举例而言, 欲确保系统之安全,可将安全控制处理器20配置成在允许主处理器10加载和执行BIOS码 之前确认BIOS储存器18中之BIOS码有效。此外,可以将安全控制处理器20配置成操纵主处理器10的操作状态,并于允许主 处理器10自从属模式释放之前将指令上载至主处理器10的指令缓存中。举例而言,于一 个实施例中,该安全控制处理器20可以将安全控制处理器20保持于从属模式中。如本文 中所使用者,于从属模式期间,当例如于除错端口之控制下,主处理器可以自其内部指令缓 存以除错或闭锁步骤方式执行指令。此外,当于从属模式中时,在主处理器10中之一些电 路事实上可以保持于传统重设。然而,譬如一些频率电路和一些除错电路之其它电路也许 是操作的。此外,当于从属模式中时,主处理器10可能不能自主地自系统内存15撷取指令并执行这些指令。应该注意的是于运作(runtime)期间,当数据项不须保密时,例如,可以 使用内存而非内部指令缓存。监视器功能、尤其是WDT电路11和31,可配置成监视安全控制处理器20之存在和 正确操作。举例而言,可以将安全控制处理器20配置成于预定的时距(interval)发送譬 如保持活跃(stay alive)或心跳讯息(heartbeam message)至各系统组件。于一个实施 例中,可以将安全控制处理器20配置成于周期性时距或某些预定之最大时距内之某些随 机化(例如不可预测的、拟似随机的、真随机的等)时距发送讯息。在接收到保持活跃讯 息后,可将主处理器10和I/O桥接器30配置成重设抑制机构(例如12、32)。然而,于缺 乏保持活跃讯息之情况下,可将抑制机构配置成抑制或部分地抑制硬件及/或于其中实现 该等抑制机构之个别组件之功能。应该注意的是于一个实施例中,部分地抑制该主处理器 10可以包含使主处理器10(因而系统100)操作于有限功能模式中。于一个实施例中,可将抑制机构配置成纯粹牵引该系统重设,藉此重设主处理器 10、安全控制处理器20及I/O桥接器30之每一者。于另一个实施例中,可将抑制机构配置 成个别地重设主处理器10或I/O桥接器30或安全控制处理器20之其中一者。然而于其它 实施例中,为了防止系统被使用于任何非其所意欲目的之方式,可了解到,可将抑制机构配 置成,藉由例如烧断熔丝(blowing fuse)或永久损害其它内部硬件而更永久地抑制硬件。另一方面,可将抑制机构配置成使主处理器10开始执行程序代码,该码系先前储 存于内存25中或者在安全控制处理器20控制下并转移至主处理器10之另一内存中。此程 序代码可编程主处理器10以及导致系统进入有限功能模式之任何其它计算机系统组件。 于该有限功能模式中,可将主处理器10和计算机系统100之一个或多个组件,予以编程成 操作于相较于正常操作模式而言减低之功能水平。于是,计算机系统之整体功能减少,而使 用者可发现到该计算机有较少用处(或者使用者甚至可能发现该计算机系统全然没有用 处)。举例而言,编程该一个或多个组件以进入有限功能模式系有许多变化。可能之 非详尽无遗的表列(其中之一项或更多项可以任何结合来使用)包含编程该主处理器 10的内存控制器以限制内存之尺寸至最小量(例如足够供LFM码储存使用,但是不会更 多);编程组件以强迫最高有效地址位为0,限制可寻址内存空间;若包含多于一个处理器, 则抑制各处理器;抑制协作处理器、硬件加速器、图形处理器、网络卸载引擎以及其它性能 增强辅助电路;抑制外部中断和除错功能;抑制处理器和系统缓存;降低处理器的操作频 率;降低其它操作频率(例如内存、周边接口、内部接口);减少具有可配置宽度(例如 HyperTransportTM链路)之内部接口之尺寸;将视讯显示模式降低至最低可能分辨率,或 仅有文字;编程NIC(s)24以将网络联机限制在由计算机系统拥有者所授权之仅有位置;以 及抑制一个或多个周边装置(例如除了视讯、键盘、及鼠标以外之所有装置)等等。参照图2,显示说明譬如计算机系统100的计算机系统之实施例的操作之流程图。 由方块200开始,如于电源开启重设期间将系统重设予以初始化。为回应此重设,开始初 始化安全控制处理器20。做为安全控制处理器20之初始化的一部分者,系保持主处理器 10于从属模式(方块205)中。安全控制处理器20存取内部存储器25,其中,该内部存储 器25不能(经由软件或硬件)自安全控制处理器20之集成电路封装件外侧存取。于一个 实施例中,可于制造期间编程内部存储器25。然而,于制造编程后,不能再编程内部存储器
625,且该内部存储器25变成不能由任何其它外部装置存取。于是,于一个实施例中,安全控 制处理器20运作于由制造商所提供之签署的、固定的软件。此软件系在运作所有软件之前 检核其确实性和完善性。此外,于其它实施例中,当安全控制处理器20能够使用例如内部 码(例如SHAI及RSA)和储存器(例如于ROM中之公用金钥)作检核以检核程序代码之 确实性和完善性时,安全控制处理器20可以使用储存于外部内存(例如R0M)中之程序代 码。安全控制处理器20从内部存储器25经由控制接口 26将程序指令转移至主处理 器10。于一个实施例中,安全控制处理器20利用控制接口 26将指令加载主处理器10的指 令缓存(方块210)。此外,安全控制处理器20可以藉由经由控制接口 26发出命令和存取 系统缓存器而初始化该主处理器10中之各种系统缓存器。此外,安全控制处理器20可以 导致主处理器10执行储存在指令缓存中之程序代码(方块215)。于一个实施例中,当执行指令时可初始化主处理器10至已知状态,并初始化结合 验证操作(方块220)。详言之,于计算机系统制造期间,可将安全控制处理器20及主处理 器10结合在一起,使得仅有结合的装置能够彼此通讯。详言之,若结合的装置使用例如AES 加密进行通讯,则仅有拥有金钥之装置能够参与。如此一来,结合程序包含确保结合装置具 有相同的金钥。藉由结合安全控制处理器20和主处理器10,则两者皆不会于稍后被不同的 组件所移除或取代。于一个实施例中,结合验证操作可以包含实施加密功能及/或随机操作之主处理 器10,该加密功能及/或随机操作可以包含在主处理器10内部产生密码或金钥。一旦产生 了该金钥,则主处理器10可以用包含有发送自安全控制处理器20之程序指令之金钥来确 认该所产生之金钥为有效的。类似地,安全控制处理器20可以自主处理器10内预定的缓 存器读取金钥值。安全控制处理器20可以确认金钥值为有效的。于是,结合验证操作可以 使安全控制处理器20确认该主处理器10为其所耦合至的该一个且唯一正确的处理器。同 样地,主处理器10可以确认该安全控制处理器20为其所耦合至的该一个且唯一正确的安 全处理器。考虑到存在以结合二个处理器之许多不同机构。举例而言,其中可以实现公用 /私人金钥之非对称编码解决方法,或者其中以安全方式交换金钥之任何其它的机构,使得 安全控制处理器20和主处理器10能够验证该结合。若结合验证操作失败(方块223),则 安全控制处理器20或主处理器10之其中任一者或二者可以再尝试该操作。且若结合验证 操作再次失败,则系统可以进入闭锁(lock down)模式,于此模式中主处理器10变成不能 操作(方块224)。若结合验证过程成功(方块223),则安全控制处理器20确认BIOS程序指令(方 块225)为有效的。若BIOS未确认为有效(方块226),则安全控制处理器20可以导致系统 进入闭锁模式,于此模式中主处理器10变成不能操作(方块224)。然而,若确认BIOS (方 块226)为有效的,则安全控制处理器20释放主处理器10,并且允许主处理器10开始初始 化和加载及执行BIOS码(方块230),且开始加载和执行操作系统码与应用软件,并且进入 正常操作模式(方块235)。于操作期间,安全控制处理器20经由控制接口持续监视和控制主处理器10的操 作状态(方块240),同时上述之WDT电路可以利用保持活跃讯号监视安全控制处理器20之 存在(方块255)。
若安全控制处理器20视主处理器10的操作为正确(方块245),则安全控制处理 器20持续监视该操作(方块240)。然而,若安全控制处理器20视主处理器10的操作为不 正确(方块245),则安全控制处理器20可以抑制该系统,或者导致该主处理器10为不能操 作(方块250),或者以减少之能力操作。举例而言,于一个实施例中,当执行某个应用软件 时,可以包含储存在特定内存位置或缓存器中之签章值。于一个实施例中,该签章值表示单 向功能之加密结果,将软件之二进制代码全部对映至某数字空间(例如160位数)。换言 之,所得到的数字表示该码。必须不能控制所产生之某数字,且必须不能回推。安全控制处 理器20可以加载并验证该签章。若该金钥匹配,则允许主处理器10继续。若不匹配,则安 全控制处理器20可以暂停主处理器10的操作。于一个实施例中,必须确认执行于主处理 器10之所有的软件皆为有效的,以防止未经授权软件及恶意软件之运作。于是,安全控制 处理器20可以防止计算机系统100被劫持或被重订目的。上述之WDT电路可以利用保持活跃讯号监视安全控制处理器20之存在(方块 255)。若WDT电路持续侦测通知该安全控制处理器20系存在和正在操作的保持活跃讯号 (方块260) JUWDT电路持续利用保持活跃讯号监视安全控制处理器20之存在(方块255)。 然而,若WDT电路在最大可允许停止时间周期内并未侦测到保持活跃讯号,则抑制机构可 以如上述各种不同的方式抑制或部分地抑制计算机系统(方块265)。于是,于系统已经初 始化进入正常模式后,WDT电路可以防止意图取代原始安全控制处理器20之攻击移除和损 害,或以不同的处理器取代该原始安全控制处理器20。虽然已相当详细说明了上述实施例,但是熟悉此项技术者一旦完全了解上述揭示 内容后将可作许多的改变和修饰。下列的申请专利范围将包含所有的此等改变和修饰。虽然本发明可容易作各种之修饰和替代形式,但在此系由图式中之范例显示及详 细说明本发明之特定实施例。然而,应暸解到此处特定实施例之图式及详细说明并非意 图用来限制本发明为所揭示之特定形式,反之,本发明将涵盖所有落于如所附申请专利范 围内所界定之本发明之精神和范围内之修饰、等效和替代内容。应注意的是,指辞“可以〔 may〕”于本申请案中具有宽大的意义〔亦即,具有潜在性(potential to),能够(being able to),而非以命令的意义〔亦即必须(must)〕。产业利用性本发明一般可应用于计算机系统安全。
权利要求
一种计算机系统(100),包括主处理器(10);安全控制处理器(20),耦合至该主处理器以及被配置成控制和监视该主处理器的操作状态;其中,该安全控制处理器被配置成在该安全控制处理器的初始化期间保持该主处理器于从属模式,从而使得该主处理器不能操作成从该主处理器外部的指令源取得和执行指令;其中,当该主处理器保持于该从属模式时进一步将该安全控制处理器配置成经由控制接口(26)转移一个或多个指令至该主处理器,而初始化该主处理器的操作状态至预定的状态,以及使该主处理器执行该一个或多个指令。
2.如权利要求1所述的系统,其中,该安全控制处理器被配置成一直控制和监视该主 处理器的操作状态。
3.如权利要求1所述的系统,其中,该一个或多个指令从由该安全控制处理器所控制 和验证的内存储存器(25)转移至该主处理器中的指令缓存。
4.如权利要求1所述的系统,其中,该控制接口包括除错端口,以及该除错端口包含端 口控制器(13)、一个或多个数据讯号及控制讯号。
5.如权利要求1所述的系统,其中,该控制接口提供该安全控制处理器与该主处理器 之间的通讯,且该通讯仅由该安全控制处理器所初始化。
6.如权利要求1所述的系统,其中,在该安全控制处理器将该主处理器释放到正常操 作模式而操作之前,将该安全控制处理器被配置成确认储存于内存储存器装置(18)内的 基本输入输出系统(BIOS)指令为有效。
7.如权利要求6所述的系统,其中,为了响应该安全控制处理器将该主处理器释放到 该正常操作模式而操作,将该主处理器配置成自该内存储存器装置加载该BIOS指令。
8.如权利要求1所述的系统,其中,在该安全控制处理器将该主处理器释放到该正常 操作模式而操作之前,将该安全控制处理器配置成将结合验证操作予以初始化,其间该主 处理器和该安全控制处理器彼此确认为有效,其中,为了响应成功的结合验证操作,将该主 处理器配置成在该正常操作模式操作。
9.如权利要求1所述的系统,其中,该主处理器包含监视定时器电路(11),该监视定时 器电路配置成在正常操作状态期间监视表示该安全控制处理器存在且可操作的讯号,以及 提供监视时间终止通知至该主处理器,以响应确定现存讯号正表示该安全控制处理器不存 在或不正确操作。
10.如权利要求9所述的系统,其中,该主处理器包含抑制电路(12),该抑制电路配置 成至少部分地抑制该主处理器以响应于接收该监视时间终止通知。
全文摘要
文档编号G06F21/00GK101952831SQ200980103579
公开日2011年1月19日 申请日期2009年1月30日 优先权日2008年1月30日
发明者Garth D Hillman, Findeisen Ralf, Andrew R Rawson, Gary H Simpson, Geoffrey S Strongin 申请人:Advanced Micro Devices Inc
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1