CN101118583A - 用于个人计算机存储器区域的外部锁固机构 - Google Patents

用于个人计算机存储器区域的外部锁固机构 Download PDF

Info

Publication number
CN101118583A
CN101118583A CN 200710004315 CN200710004315A CN101118583A CN 101118583 A CN101118583 A CN 101118583A CN 200710004315 CN200710004315 CN 200710004315 CN 200710004315 A CN200710004315 A CN 200710004315A CN 101118583 A CN101118583 A CN 101118583A
Authority
CN
China
Prior art keywords
memory
smm
request
internal memory
square frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN 200710004315
Other languages
English (en)
Inventor
F·D·韦伯
D·E·古利克
G·S·斯特劳金
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GlobalFoundries Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of CN101118583A publication Critical patent/CN101118583A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明针对存储器区域提供外部锁固机制的一种方法和系统。存储器包括与基本输入/输出系统(BIOS)数据相组合的多个第一储存位置和多个第二储存位置。多个第二储存位置包含仅在系统管理模式(SMM)可读的多个第一区块以及在SMM与除了SMM以外的至少一个操作模式可读取的多个第二区块。计算机系统包括一总线、与该总线相连接的一存储器和与该总线相连接并通过总线访问该存储器的一装置。该存储器包括多个储存位置,分成多个存储器单元。该装置包括一个或更多个锁固结构,用以控制访问一个或更多的多个存储器单元。

Description

用于个人计算机存储器区域的外部锁固机构
本发明是中国专利申请号为02812487.1,国际申请日为2002年4月17日的进入中国的PCT专利申请的分案申请。
技术领域
本发明涉及计算机系统,特别是涉及用来在一个人计算机系统中控制访问内存区域的外部锁固机制。
背景技术
本申请书是2001年5月10日所提出审查中美国专利申请第09/852,372号名称为″安全执行箱和其方法″的一部分延续申请,其发明者为Dale E.Gulick和Geoffrey S.Strongin。此申请书也是2001年5月10日所提出审查中美国专利申请第09/852,942号名称为″用以加强安全性与易处理性的计算机系统结构″的一部分延续申请,其发明者为Geoffrey S.Strongin和Dale E.Gulick。
图1A显示一示范计算机系统100。计算机系统100包括一处理器102、一北桥104、一内存106、一高等图形端口(Advanced Graphics Port,AGP)内存108、一周边组件(Pefipheral Component Interconnect,PCI)总线110、一南桥112、一电池、一AT附加装置(AT Attachment,ATA)接口114(一般称为IDE(Integrated Drive Electronics,IDE)接口)、一通用串行总线(universal serial bus,USB)接口116、一低接脚计数(Low PinCount,LPC)总线118、一输入/输出控制芯片(SuperI/OTM)120以及基本输入/输出系统(BIOS)122。值得注意的是北桥104和南桥112可仅包括单一芯片或多个芯片,而称为集合名词″芯片组(chipset)″。另外也值得注意的是其它总线、装置和/或者子系统若有需要也可包括于计算机系统100中,举例而言高速缓存、调制解调器、并行或串行接口、小型计算机系统(SCSI)接口、网络接口卡片等等。[SuperI/O为位于加州圣塔克拉拉的国家半导体股份有限公司的寄存器商标]
处理器102连接至北桥104。北桥104提供一接口于处理器102、内存106、AGP内存108和PCI总线110之间。南桥112提供一接口于PCI总线110和连接至IDE接口114、通用串行总线接口116和低接脚计数总线118的周边、装置和子系统之间。电池113显示为与南桥112相连接。SuperI/OTM芯片120连接至低接脚计数总线118。
北桥104在处理器102、内存106、AGP内存108、与PCI总线110相连接的装置以及与南桥112相连接的装置和子系统中间和/或提供通讯访问。一般而言,可拆卸的PCI装置是插入PCI″槽″(未显示),该PCI″槽″系连接至PCI总线110,以与计算机系统100相连接。另外,置于主机板上的装置可直接连接于PCI总线110上。
南桥112在PCI总线110和各种装置和子系统如调制解调器、打印机、键盘、鼠标等等之间提供一接口,此些装置和子系统通常通过低接脚计数总线118(或其早期技术,举例而言一X总线或一ISA总线)与计算机系统100相连接。南桥112包括通过IDE接口114、通用串行总线接口116和低接脚计数总线118来接合装置至计算机系统100其它部分的逻辑电路。
图1B显示已知南桥112的一外观,  包括用以提供储备电力的电池113,也就是所谓″实时时钟(RTC)电池槽″125。南桥112包括南桥(SB)随机存取内存126和时钟电路128,两者均位于实时时钟电池槽125内。南桥随机存取内存126B包括互补式金属氧化半导体随机存取内存(CMOS RAM)126A和实时时钟(RTC)随机存取内存126B。实时时钟随机存取内存126B包括时钟数据129和核对和(checksum)数据127。在实时时钟电池槽125外,南桥112也包括一中央处理器接口132、电源和系统管理单元133、PCI总线接口逻辑134A、通用串行总线接口逻辑134C、IDE接口逻辑134B和LPC接口逻辑134D。
时钟电路128的时间和日期数据系以时钟数据129储存于实时时钟随机存取内存126B中。实时时钟随机存取内存126B中的核对和数据127可基于CMOS内存126A数据被计算且在启动期间由基本输入/输出系统(BIOS)所储存,如下所述,在图2A中的方框148。CPU接口132可包括中断信号控制器和处理器信号控制器。电源和系统管理单元133可包括一高等配置和电源接口(Advanced Configuration and Power Interfac,ACPI)控制器。
系统管理模式(System Management Mode,SMM)是计算机系统中的一个操作模式,用以执行以保存电力。SMM被设计用于第四代x86处理器。随着更新一代的x86处理器出现,SMM对操作系统而言已变得较易懂。亦即计算机系统在操作系统内进入与离开SMM,仅会带来极少甚至不会有任何影响。
请参考图2A,显示初始使用代码储存在基本输入/输出系统(BIOS)122的计算机系统的一已知方法的流程图。在电力供应的初期,电源供应器对北桥产生一电力良好信号,如方框136所示。当从电源供应器得到该电力良好信号时,南桥(或北桥)停止显示来自处理器的复位信号,如方框138所示。
在初始期间,处理器读取缺省跳转位置,如方框140所示。内存中的缺省跳转位置通常是在如FFFF0h的位置。在只读存储器基本输入/输出系统(BIOS)中,处理器对适当基本输入/输出系统(BIOS)程序代码位置执行一跳转(如FFFF0h),并复制基本输入/输出系统(BIOS)程序代码到随机存取内存存储范围,再从随机存取内存存储范围开始处理基本输入/输出系统(BIOS)程序代码指令,如方框142所示。由处理器处理的基本输入/输出系统(BIOS)程序代码执行一启动自检(power-on self test,POST),如方框144所示。
基本输入/输出系统(BIOS)程序代码接着寻找附加的基本输入/输出系统(BIOS)程序代码,例如从一视讯控制器、IDE控制器、小型计算机系统接口控制器等等,并显示一启动(start-up)信息屏幕,如方框146所示。举例而言,视讯控制器基本输入/输出系统(BIOS)经常在C000h被找到,而IDE控制器基本输入/输出系统(BIOS)程序代码则经常在C800h被找到。而IDE控制器基本输入/输出系统(BIOS)程序代码可执行附加系统检测如一随机存取内存存储范围计数测验,和一系统详细目录,附加系统检测包括确认计算机输出COM(串行)端口和LinePrinT打印机(并行)端口,如方框148所示。基本输入/输出系统(BIOS)程序代码也识别即插即用(plug-and-play)装置和其它的类似装置,然后显示已确认装置的汇总在屏幕上,如方框150所示。
基本输入/输出系统(BIOS)程序代码确认启动位置和相对应的启动区段,如方框152所示。启动位置可能位在一软盘磁盘驱动器、一硬盘磁盘驱动器、一只读型光盘(CDROM)、一远程位置上等等。基本输入/输出系统(BIOS)程序代码接着在启动位置调用启动区段程序代码,以使计算机系统启动,如利用一操作系统,如方框154所示。
值得注意的是对于一冷式启动(cold boot)或一硬式(重)启动(hard(re)boot),如方框136至154所示所提出的所有或大多数描述可能会发生。而在一热启动或一软式(重)启动中,基本输入/输出系统(BIOS)程序代码通常从方框142跳到方框148而略过启动自检、内存测试等等。
在图2B中显示在SMM中使用储存于基本输入/输出系统122中的程序代码操作计算机系统的一已知方法的流程图。一中断控制器接收对SMM的一请求,如方框172所示。中断控制器通过对处理器发出一系统管理中断(SMI#)信号以对SMM发出请求信号,如方框174所示。
处理器确认对SMM的请求并显示一SMI ACTive(SMIACT#)信号,如方框176所示。系统确认SMLACT#信号,而使到系统随机存取内存的通路无法进入,并使系统管理随机存取内存(SMRAM)空间的通路可进入,如方框178所示。
当前处理器状态储存于系统管理随机存取内存,如方框180中。处理器复位SMM缺省状态并进入SMM,如方框182所示。处理器接着读取缺省指针并跳转至系统管理随机存取内存空间中的适当地方,如方框184所示。如方框186所示,确认系统管理中断请求的来源和/或性质。
系统管理中断管理器维护系统管理中断请求,如方框188所示。在接受系统管理中断请求以后,系统管理中断管理器从SMM(RSM)指令发出一个响应至处理器,如方框190所示。在操作RSM指令时,处理器恢复所存盘的状态信息并继续正常的操作,如方框192所示。
从硬件的观点,x86操作环境并未提供足够的用户隐私保护、以及公司秘密和资产安全或内容供应者的所有权的保护。所有这些目标、隐私(privacy)、安全(security)和所有权(ownership)(通称为PSO)在如此的因特网连接的计算机时代变得十身重要。原始个人计算机并未预先设计PSO的需要。
从软件的观点,就PSO而言x86操作环境也是十分的不足。通过软件直接访问硬件或直接打开个人计算机机盖此类简易访问方式使得入侵者或窃贼可克服大多数的安全软件和装置。个人计算机使用方式的简易化仅为PSO增加了更多的问题。
发明内容
在本发明的一个例子中,一个计算机系统被提供。该计算机系统包括总线、与该总线相连接的内存和与该总线相连接并通过总线存入该内存的一个装置。该内存包括多个储存位置,分成多个内存单元。该装置包括一个或更多个锁固结构,用以控制访问一个或多个的内存单元。在各种实施例中,这些锁可包括多个寄存器。在多个寄存器中的一个或更多入口可显示一个或更多内存单元的访问控制设定。
在本发明的另一个例子中,内存被提供。该内存包括与基本输入/输出系统(BIOS)数据相组合的多个第一储存位置;和多个第二储存位置。该多个第二储存位置包括仅在SMM下可读取的多个第一区块(blocks)以及在SMM与除了SMM以外的至少一个操作模式下可读取的多个第二区块。
在本发明的另一个例子中,运行计算机系统的一种方法被提供。该方法包括为一个或更多的内存地址请求一个内存处理和为该地址确定一个锁固状态。该方法也包括对该内存地址回复锁固状态,并确定如果锁固状态显示对该内存地址的内存处理不被准许时则该地址的锁固状态是否可更改。该方法也包括如果该内存地址的锁固状态能被更改时,来改变该地址的锁固状态以允许内存处理。
在本发明的另一个例子中,运行计算机系统的另一种方法被提供。该方法包括从一个第一装置发出对内存区域的内存处理的请求并在一个第二装置接收该请求,该第二装置不包括内存区域或内存区域内容的拷贝。该方法也包括响应来自该第二装置的一个响应至发出该内存处理请求的第一装置。
附图说明
本发明可参考下列描述与其所附图标加以了解,图标以参考数字定义相近的元素。
图1A显示一已知计算机系统的方框图,而图1B显示一已知南桥的方框图;
图2A与图2B显示利用在只读存储器中储存的程序代码以操作一计算机系统的一已知方法的流程图;
图3是根据本发明的一个例子显示在具有一安全执行盒的一计算机系统中数据与指令传送的一个实施例的流程图;
图4是根据本发明的一个例子显示在南桥中具有安全硬件以及密码机处理器的一计算机系统的一个实施例的方框图;
图5A和图5B是根据本发明的各种例子显示包括用以控制SMM的安全硬件的一南桥实施例的方框图;,
图6系根据本发明的一个例子显示包括用以稳固SMM的安全硬件的一南桥的实施例的方框图;
图7A和图7B是根据本发明的各种例子显示安全内存的实施例;
图8A和图8B是根据本发明的各种例子分别显示用以稳固SMM操作的一基本输入/输出系统(BIOS)只读存储器与一SMM只读存储器的实施例的方框图;
图9A、图9B、图9C、图9D、图9E、图9F和图9G是根据本发明的各种例子显示用以访问安全硬件(可能被锁住)的方法的实施例的流程图;
图10A、图10B和图10C是系根据本发明的各种例子显示在图6中的访问锁460的实施例的方框图,而图10D是根据本发明的各种例子显示变更寄存器的的一个实施例的方框图;
图11A、图11B、图12和图13是根据本发明的各种例子显示安全访问储存器的方法的实施例的流程图。
具体实施方式
图示的实施例将在下面详细地描述。为达到简单清楚的目的,在说明书中并不会完全描述实际执行中的所有特性。
当然,我们应了解,在开发任何实际实施例时,许多特定执行决策需被作出以达到开发者的特定目标,例如符合系统或商业上的各种限制,这些特定目标在每一个实施例上都不同,此外,我们应了解此类开发工作都是复杂且耗时的,但仍是对此技艺了解者由本发明的揭示可进行的例行开发工作。
此处与参考数字相连的用字是为了能显示该项对象的不同实施例或者范例。
图3是根据本发明的一个例子显示在具有安全执行盒260的一个计算机系统中数据指令传送的实施例的流程方框图。用户输入和输出(I/O)数据和/或指令205提供给一个或更多的应用程序210并同时从其中接收。在计算机系统(举例而言计算机系统100或者任何其它计算机系统)内应用程序210与密码服务提供器215交换数据和指令。此密码服务提供器215可使用应用程序接口(Application Programming Interface,API)调用220以与提供通路至硬件230的驱动程序225相互作用。
根据本发明的一个例子,驱动程序225和硬件230是在安全执行模式(SEM)260下操作的安全执行盒的一部分。信托隐私、安全和所有权(PSO)的操作,全部简化为安全操作,可于计算机系统在安全执行模式260时发生。从用户输入/输出205和/或应用程序210传送的软件调用可通过一SMM启动注册器425B(或SMM启动器425A)置于SMM260的安全执行盒里如图5B的描述(或者图5A)。参数可通过一访问保护信箱随机存取内存415进入和离开安全执行模式260中的安全执行盒,亦如图5A和图5B所示。这些软件调用具有由安全执行模式260中的安全执行盒至不同安全硬件来源的通路,如下文所描述。
图4根据本发明的一个例子显示一个改良的计算机系统100的一部分实施例的方框图,该计算机系统100在南桥330中包括安全硬件370以及密码机处理器305。南桥330包括安全硬件370、一中断控制器(interruptcontroller,IC)365、通用串行总线接口逻辑134C和LPC接口逻辑(LPCbus interface logic,LPC BIL)134D。中断控制器365系与处理器102相连接。而通用串行总线接口逻辑134C系与一可任选通用串行总线集线器315相连接。LPC118通过LPC接口逻辑134D与南桥330相连接。密码机处理器305也与LPC118相连接。密码机处理器305内的一内存许可表310提供地址映像和/或内存范围容许信息。在一非挥发内存中可包括内存许可表310。基本输入/输出系统(BIOS)355,即某种存储器(只读存储器或闪存(flash memory)为较佳),与密码机处理器305相连接。
南桥330中的安全硬件370为可操作以提供系统管理中断的中断请求至处理器102的中断控制器365。安全硬件370也可与密码机处理器305相互作用。基本输入/输出系统(BIOS)355的访问路径是安排通过密码机处理器305。密码机处理器305设置用以接受和传送至基本输入/输出系统(BIOS)355的访问请求。因此,密码机处理器305可理解基本输入/输出系统(BIOS)305的地址映像。根据本发明的一个例子,安全硬件370使计算机系统100成为在图3中所显示的安全执行盒260的一个实施例。
需注意的是,中断控制器365可被包括在处理器而不是在南桥330。中断控制器365也可被视作为一个分离单元或者是与计算机系统100的另一部分相关。另外也需注意的是,LPC118的操作可与1997年9月29日的已知低接脚计数接口规格修订版1.0相符合。另外,可与LPCBIL134D相连接的通用串行总线接口逻辑134C是许多常见在一个桥接器中与不同总线接口逻辑相连接的技术之一。
图5A和图5B是根据本发明的各种例子显示包括安全硬件370的南桥330的实施例的方框图。在图5A中,南桥330A包括安全硬件370A和中断控制器365。安全硬件370A包括子装置,如SMM访问控制器402A和控制逻辑420A。这些子装置被称作计算机系统100的安全硬件或安全资产。SMM访问控制器402A包括SMM访问过滤器410、信箱随机存取内存415和SMM启动器425A。
如图5A所示,控制逻辑420与SMM访问控制器402A的控制操作和SMM启动器425A相连接。对安全硬件370A的输入和输出(I/O)通过SMM访问过滤器410与控制逻辑420A。
SMM访问控制器402A包括SMM访问过滤器410,此系设置以为安全硬件370A内的子装置接收输入请求。当计算机系统100在SMM时,SMM访问过滤器系设置来传递对控制逻辑420A和/或目标子装置的访问请求(如读取和写入)。当计算机系统100不是在SMM时,SMM访问过滤器则系设置为以一预定值对所有访问请求作出响应,如所有均以′1′响应。SMM访问控制器402A也包括信箱随机存取内存415。在一个实施例中,信箱随机存取内存415包括两排随机存取内存,举例而言每个均具有512个字节,用以传递参数进入并离开安全执行盒260。经传递进入或离开安全硬件370所包括的子装置的参数在信箱随机存取内存415中被交换。一排随机存取内存415(一目录)在大多数计算机系统的多数操作模式中是只能被写入的。因此,经传递进入安全硬件370所包括的子装置的参数可被写进目录中。在所选择的操作模式期间(如SMM),目录可容许读取和写入访问。另一排随机存取内存415,一外接信息盒,在大多数计算机系统的多数操作模式中是只可读取的。因此,从安全硬件370所包括的子装置收到的参数便可从外接信息盒中被读取。在所选择的操作模式(安全模式更佳)期间,如SMM,外接信息盒可容许读取和写入访问。
SMM启动器425A有助于提供一方便方法以请求计算机系统100进入SMM。一信号可越过请求(REQ)线被提供给SMM启动器425A。信号应该在SMM内存中提供跳转位置的一指示。SMM启动器425A系设置以越过SMM请求(SMMREQ)线对SMM产生一请求,例如通过传递一个系统管理中断#(SMI#)至中断控制器365。SMM启动器425A也设置用以通知控制逻辑420A该对SMM的请求已经收到并传送至中断控制器365。
图5B中,南桥330B包括安全硬件370B。中断控制器365并不是南桥330B的一部份。安全硬件370B包括一SMM访问控制器402B和控制逻辑420B。SMM访问控制器402B包括SMM访问过滤器410和信箱随机存取内存415。一SMM启动注册器425B不是南桥330B的一部份。
如图5B所示,控制逻辑420B系与SMM访问控制器402B的控制操作相连接。对安全硬件370B的输入和输出(I/O)信号系通过SMM访问过滤器410并安排经过控制逻辑420B。控制逻辑420B也因相连接而从SMM启动注册器425B得到对SMM请求的一指示。
SMM访问控制器402B包括SMM访问过滤器410,而SMM访问过滤器410设置为安全硬件370B内的子装置接受输入请求。当计算机系统100是在SMM时,SMM访问过滤器被设置用以通过对控制逻辑420B和/或目标子装置的访问请求(如读取和写入)。当计算机系统100不是在SMM时,SMM访问过滤器被设置用以利用一预定值对所有访问请求作出响应,如所有均以′1′响应。SMM访问控制器402B也包括信箱随机存取内存415,如上述的图5A所示。
SMM启动注册器425B可有助于提供一种方便方法以请求计算机系统100进入SMM,信号越过请求(REQ)线被提供给SMM启动注册器425B。一信号应该在SMM内存中提供跳转位置的一个指示。该SMM启动注册器425B被设置用以提供指示至控制逻辑420B。控制逻辑420B被设置用以越过SMM请求(SMMREQ)线而对SMM生成一个请求,例如通过传递一个系统管理中断#至中断控制器365。
需注意的是,在图5A的实施例中,SMM启动器425A包括内部逻辑以处理SMM请求。在图5B中的实施例,SMM启动注册器425B依赖控制逻辑420B来处理SMM请求。也需注意的是,SMM启动器425A是安全硬件370A的一部分,而SMM启动注册器425B不是安全硬件370B的一部分。
图6根据本发明的一个例子显示包括安全硬件370C的南桥330C的一个实施例的方框图。如图所示,安全硬件370C包括子装置,举例而言如SMM访问控制器402、控制逻辑420、TCO计数器430、便笺式随机存取内存440,随机数产生器455、安全系统(或SMM)管理寄存器470、OAR(复位开启,Open At Reset)锁450以及OAR过荷寄存器445。SMM访问控制器402包括一个或更多的在SMM访问过滤器410内的访问锁460。SMM访问控制器402的一些实施例的特征与控制逻辑420被描述于上文的图5A和图5B。
在图6所显示的SMM访问控制器402的实施例中包括一个或更多的在SMM访问过滤器410之内的访问锁460。这些访问锁460提供防止(或锁住)并允许(或开锁)访问在安全硬件370C内的一个或更多装置的方法。在图10A、图10B和图10C中展示了一个或更多的访问锁460的各种实施例,并提供了相关的描述。
在一个实施例中,访问锁460是在复位时开启(OAR),容许基本输入/输出系统(BIOS)软件访问安全硬件370。此时在调用启动区段程序代码前基本输入/输出系统(BIOS)软件即关闭访问锁460,如图2A的方框154中显示。在各种实施例中,这些访问锁460可由软件或者硬件打开以访问进入安全硬件370。举例而言,这些访问锁460可由来自中断控制器365或处理器102或控制逻辑420的信号所打开。这些访问锁460也可响应系统管理中断#或响应处理器进入102SMM而被打开。这些访问锁460上的附加信息可从下述的图9A、图9B与图9C的一个或更多的方法900A至900C而获得。
TCO计数器(或定时器)430可包括一可编程定时器,举例而言如一倒数定时器,用以侦查计算机系统100的锁固状态。锁固状态可定义为计算机系统100的一种状态,其中一个或更多的子系统或部件不对超过一预定时间的输入信号作出响应。输入信号可包括来自计算机系统100内部或外部的信号,举例而言来自用户输入装置(如键盘、鼠标、轨迹球、生物测定装置等等)。也需注意的是,锁固状态本质上也许是软件或硬件。根据本发明的各种例子,TCO计数器430可在SMM中设计程序和从中读取。TCO计数器430较理想地被编程设计成具备比退出(Kick-out)定时器407的缺省持续时间更小的数值。在一个实施例中,TCO定时器430在TCO定时器430的第一次时间期满后立即产生一个系统管理中断#,然后TCO定时器430在TCO定时器430后续的第二次时间期满后对计算机系统产生一个复位信号。
在一个实施例中,当计算机系统不是SMM下时,可由计算机系统100和在计算机系统100中运作的软件访问TCO定时器430,以使计算机系统100从锁固状态中恢复。在另一个实施例中,TCO定时器430均可被在SMM之中或之外的计算机系统100所访问。
便笺式随机存取内存440包括的一个或更多的内存区块仅当计算机系统100在某些操作模式中时有效,举例而言如SMM。也需考虑的是,安全硬件370的其它子装置也可将便笺式随机存取内存440视作为一私有的内存。便笺式随机存取内存440的一个实施例包括1千字节的内存,虽然其它数量的内存也可考虑。在一个实施例中,便笺式随机存取内存对所有或大多数计算机系统100在复位时是打开的,然而在另一个实施例中,当计算机系统在启动时,便笺式随机存取内存是难以访问的。
随机数字产生器(random number generator,RNG)455被设置用以在一预定的范围内提供具有一些位的一随机数字。在一个实施例中,具有1到32位长度的一新随机数字提供以响应对一随机数字的请求。需注意的是,  考虑到安全性增加和简化硬件设计限制,对软件访问随机数字产生器的限制访问(如仅可在SMM之中)可有助于迫使软件通过一标准应用程序接口(application programming interface,API)访问随机数字产生器。
复位开启锁450可包括多个内存单元(如寄存器),该内存单元包括相关程序位(或锁固位)锁住用以储存基本输入/输出系统(BIOS)信息或其它数据的内存(或内存组),例如图7A与图7B所示的基本输入/输出系统(BIOS)只读存储器355和SMM只读存储器550。通过例子说明,每一个内存单元都可具有与其相关的三个锁固位。在一个实施例中,四个8位寄存器可为每一个512KB只读存储器页储存这些锁固位,而一个寄存器则用于每二个64KB数据段。对于四个寄存器的十六个区块,只读存储器的最大值可锁住8MB字节。寻址可如下所示:
    64KB数据段     寄存器     地址
    0,12,34,56,7     寄存器0寄存器1寄存器2寄存器3     FFBx,E000hFFBx,E001hFFBx,E002hFFBx,E003h
每一个物理只读存储器芯片可包括四个识别接脚(ID[3:0]),称为约束接脚。这些约束接脚可用来组成十六个每个64KB的空间。在地址中的′X′可表示这些约束接脚的译码或反转。
来自复位开启锁450的锁固寄存器可包括:
    寄存器\位     7     OAR锁6:4     3     OAR锁2:0
    寄存器0寄存器1寄存器2寄存器3     反转反转反转反转     数据段1数据段3数据段5数据段7     反转反转反转反转     数据段0数据段2数据段4数据段6
在一个实施例中,一位控制写入的访问,一位控制读取的访问,而一位防止另外两位改变。在一个实施例中,一旦设定锁固位(亦即锁固状态),写入访问位与读取访问位是无法重新程序设计的,直到内存收到一个复位信号。每个寄存器的设计布局可能包括:
  位值   7   6   5   4   3   2   1   0
  反转   锁2   锁1   锁0   反转   锁2   锁1   锁0
具有一个译码的三个锁固位包含:
译码   读锁位(数据2)   锁住位(数据1)   写锁位(数据0) 状态
  0x00   0   0   0   完全访问
  0x01   0   0   1   写加锁(缺省)
  0x02   0   1   0   锁打开(完全访问锁住)
  0x03   0   1   1   写加锁锁住
  0x04   1   0   0   读加锁
  0x05   1   0   1   读和写加锁
  0x06   1   1   0   读加锁锁住
  0x07   1   1   1   读和写加锁锁住
显示于图6中的安全硬件370C的实施例也包括复位开启锁变更寄存器445。复位开启锁变更寄存器445提供一机制用以允许(或开锁)和阻断(或锁住)对安全硬件370C内一个或更多装置的访问。复位开启锁变更寄存器445也提供一机制用以变更访问锁460。在一个实施例中,复位开启锁变更寄存器445包括一个第一指示器将会忽略访问锁460,而由这些访问锁460锁住的对安全硬件的访问不是总是可用便是从不可使用(视执行情形)。复位开启锁变更寄存器445也可包括一第二指示器,而第一指示器的状态可能会被改变亦可能不会。如果第二指示器显示该第一指示器可能不被改变,则包括复位开启锁变更寄存器445的装置最好需要复位以为将被改变的第二指示器。换句话说,该第二指示器应是复位时开启为较佳,而与访问锁460的一个实施例相类似。
包括使用这些访问锁460和/或复位开启锁变更指示器的方法将在下文中描述并参考图9A至图9F。一个或更多的访问锁460的各种实施例将显示于图10A至图10C中,并伴随相关的说明,而在图10D中展示复位开启锁变更寄存器445的一个实施例并伴随相关的说明。
在一个实施例中的启动锁460为复位时开启(OAR),允许基本输入/输出系统(BIOS)软件访问安全硬件370。此时基本输入/输出系统(BIOS)软件在调用启动区段程序代码之前关闭访问锁460如图2A中的方框154所示。在各种实施例中,这些访问锁460可由软件或硬件所开启以访问安全硬件370。举例而言,这些访问锁460可被来自中断控制器365或处理器102或控制逻辑420的一信号所开启。这些访问锁460可通过响应系统管理中断#或响应处理器102进入SMM而被开启。在(这些)访问锁上460的附加信息可从图9A至图9C中所显示的一个或更多的方法900A至900C当中而获得。
值得注意的是在一个实施例中,所有安全硬件370(和SMM启动注册器425B)都在实时时钟电池槽125内。在其它实施例中,所选择的安全硬件370的子装置将从实时时钟电池槽125中排除。在一个实施例中,只有一部份的便笺式随机存取内存440是在实时时钟电池槽125内而其它的部分则在该电池槽125外。举例而言,在一个实施例中,信箱随机存取内存415是在实时时钟电池槽125之外。
图7A与图7B是根据本发明的各种例子显示扩展基本输入/输出系统(BIOS)安全的实施例。在图7A中,基本输入/输出系统(BIOS)只读存储器355和SMM只读存储器550系与LPC118相连接。如图所示,包括一密码610A的一密码机处理器305连接于基本输入/输出系统(BIOS)只读存储器355和LPC之间118。在图7B中,扩展的基本输入/输出系统(BIOS)只读存储器555系与LPC118相连接。扩展的基本输入/输出系统(BIOS)只读存储器555包括基本输入/输出系统(BIOS)只读存储器355与SMM只读存储器550。
基本输入/输出系统(BIOS)的只读存储器355在计算机系统100中的内存空间可包括从128KB至4兆字节的任何一种,并分成64KB数据段。SMM只读存储器550的附加一个或更多的4兆字节内存空间可通过一编页码机制而被寻址,举例而言只读存储器存储范围空间的第二页在分离芯片之内且由一组外加识别选择接脚(identifcation select,IDSEL)所选择。基本输入/输出系统(BIOS)只读存储器355内存空间和SMM只读存储器550内存空间的每一个数据段都可被锁住,并在复位时开启。在一个实施例中,访问保护机制(即访问锁)并非实施于基本输入/输出系统(BIOS)只读存储器355或SMM只读存储器550,而是在例如安全硬件370C中的南桥330C,如图6所示。
在一个实施例中,基本输入/输出系统(BIOS)只读存储器355包括4兆字节的内存空间。对基本输入/输出系统(BIOS)只读存储器355内存空间的读取访问在任何时候都可能是不受限制的。在基本输入/输出系统(BIOS)只读存储器355内存空间上的写入锁可以是复位时开启并在LPC145上的32位地址空间中覆盖内存空间从FFFF,FFFFh到FFC0,0000h。
在一个实施例中,密码机处理器305是一种包括专业密码硬件的专业处理器。在另一个实施例中,密码机处理器305包括与密码固件或软件一同程序设计成的一般用途处理器。在另一个实施例中,密码机处理器305包括利用专业密码硬件修改的一个一般用途处理器。
接着,考虑到其它实施例。举例而言,基本输入/输出系统(BIOS)只读存储器355可与LPC118相连接,而密码机处理器305可相连接于SMM只读存储器550和LPC118之间。同理而言,密码机处理器305可相连接于扩展的基本输入/输出系统(BIOS)只读存储器555和LPC118之间。
图8A与图8B根据本发明的各种例子分别显示用于安全SMM操作的一个基本输入/输出系统(BIOS)只读存储器355与SMM操作只读存储器550的实施例的方框图。如图8A所示,基本输入/输出系统(BIOS)只读存储器355可包括数据储存器608B,一密码610C和私有内存606。
如图8B所示,SMM只读存储器550可被分成多个SMM只读存储器区块615至617、一储存密码610D、多个公用只读存储器区块625至30、一个或更多的反转只读存储器区块635以及一个或更多的寄存器640。
多个SMM只读存储器区块615至617可包括一SMM只读存储器0区块615、一SMM只读存储器1区块616和一SMM只读存储器2区块617。多个公用只读存储器区块625至30可包括一公用只读存储器区块0 625和一公用只读存储器区块1 630。访问权利、锁固状态和在LPC118空间中的32位地址范围的一个实施例在此以表格形式描述。
ROM区块    读访问    写锁        地址范围
SMM ROM0   SMM       写一次      FFBx,1FFFh:FFBx,0000h
615        Only
SMM ROM1   SMM       从不删除    FFBx,3FFFh:FFBx,2000h
616        Only
SMM ROM2   SMM       None        FFBx,5FFFh:FFBx,4000h
618        Only
公共0      非反转    在SMM       FFBx,9FFFh:FFBx,8000h
620                  写一次
公共1      非反转    从不删除    FFBx,BFFFh:FFBx,A000h
630                  在SMM写
反转       N/A       N/A         FFBx,DFFFh:FFBx,C000h
635
寄存器     N/A       N/A         FFBx,FFFFh:FFBx,E000h
640
在表格地址范围中的′x′可表示约束接脚译码或其反转。在一个实施例中,表格中每一个只读存储器区块615至617和625至630的尺寸是64KB。在一个实施例中,计算机系统可支持扩展的基本输入/输出系统(BIOS)只读存储器555储存至8兆字节,分成每一个包含512KB的十六页。在另一个实施例中,内存地址范围从FFBx,FFFFh至FFBx,0000h,并包括多个SMM只读存储器的区块615至617、多个公用只读存储器区块625至630和一个或更多的寄存器640。一个或更多的反转只读存储器区块635可用于将来的扩展。若有需要时一个或更多的寄存器640可储存附加数据。
图9A至图9G是根据本发明的各种例子显示试图访问可被锁住的安全硬件370的方法900A至900G的实施例的流程图,图9A显示以一锁住安全硬件370的方法900A作为一启动(或冷启动)过程的一部分。图9B显示以一解锁和后续锁住安全硬件370的方法900B作为再次启动(或者热启动)过程的一部分。图9C显示用以检查锁住或解锁安全硬件370的权利和对使权利无法改变的变更位进行检查的一方法900C。图9D显示当计算机系统100不在SMM时,试图使用安全硬件370的一方法900D。图9E显示用以检查和/或设定锁于复位时间启访问锁460上并对使权利无法改变的变更位进行检查的方法900E。图9F显示当计算机系统100在SMM时,用以解锁和后续锁住安全硬件370的一方法900F。图9G显示当计算机系统100在SMM时,检查解锁或后续锁住安全硬件370的权利的一方法900G。
请参考图9A,方法900A包括由处理器执行来自随机存取内存内的SMM空间的基本输入/输出系统(BIOS)程序代码指令,如方框920所示。由处理器所执行的基本输入/输出系统(BIOS)程序代码,执行一启动自检(POST),如方框925所示。方法900A包括访问安全硬件370,如方框930所示。访问计算机硬件370可启动安全硬件370的解锁,如果安全硬件370不是以复位方式开启的。对安全硬件370的访问可以通过基本输入/输出系统(BIOS)程序代码或是在计算机系统100中其它的装置或子系统,或从计算机系统100的外面(如果许可)。方法900A可自由选择是否包括进入基本输入/输出系统(BIOS)管理模式,如方框932所示。基本输入/输出系统(BIOS)管理模式能允许例如远程启动指令,远程或安全许可以继续启动序列,亦可允许其它远程操作或远程硬件访问、设定或者可在启动选项之间或之中作选择:举例而言像是硬件配置和/或操作系统或是其它的软件选择。
基本输入/输出系统(BIOS)程序代码接着寻找附加基本输入/输出系统(BIOS)程序代码,如从一视讯控制器、IDE控制器、小型计算机系统接口控制器等等,并显示一启动信息屏幕,如方框935所示。举例而言,视讯控制器基本输入/输出系统(BIOS)经常在C000h被找到,而IDE控制器基本输入/输出系统(BIOS)程序代码则经常在C800h被找到。基本输入/输出系统(BIOS)程序代码可执行附加系统测试,例如一随机存取内存的内存计数测验,与一系统详细目录,包括确认COM(串行)口与LPT(并)口,如方框940所示。基本输入/输出系统(BIOS)程序代码也识别即插即用装置和其它类似装置,然后显示已确认装置的一汇总画面,如方框945所示。
该方法包括锁上访问安全硬件的访问锁,如方框950所示。基本输入/输出系统(BIOS)程序代码或者计算机系统100中的另一个装置或力量可关闭这些访问锁。基本输入/输出系统(BIOS)程序代码确认启动位置和相对应的启动区段,如方框955所示。启动位置可在一软盘磁盘驱动器、一硬盘磁盘驱动器、一只读型光盘(CDROM)、一远程位置等等。基本输入/输出系统(BIOS)程序代码接着在启动位置调用启动区段程序代码以使计算机系统启动,例如利用一操作系统,如方框960所示。
请参考图9B,方法900B包括打开安全硬件的访问锁,如方框915所示。处理器执行来自随机存取内存中的SMM空间的基本输入/输出系统(BIOS)程序代码指令,如方框920所示。计算机系统当启动时在SMM下会访问安全硬件370,如方框930所示。方法900B可选择是否包括进入一基本输入/输出系统(BIOS)管理模式,如方框932所示。
基本输入/输出系统(BIOS)程序代码接着寻找附加基本输入/输出系统(BIOS)程序代码,如从一视讯控制器、IDE控制器、小型计算机系统接口控制器等等,并显示一启动信息屏幕,如方框935所示。举例而言,视讯控制器基本输入/输出系统(BIOS)经常在C000h被找到,而IDE控制器基本输入/输出系统(BIOS)程序代码则经常在C800h被找到。基本输入/输出系统(BIOS)程序代码也识别即插即用装置和其它类似装置,然后显示已确认装置的总结在画面上,如方框945所示。
基本输入/输出系统(BIOS)代码锁住安全硬件的访问锁,如方框950所示。该程序代码确认启动位置和相对应的启动区段,如方框955所示。启动位置可在一软盘磁盘驱动器上、一硬盘磁盘驱动器、一只读型光盘(CDROM)、一远程位置等等。基本输入/输出系统(BIOS)程序代码接着在启动位置调用启动区段程序代码以使计算机系统启动,例如利用一操作系统,如方框960所示。
请参考图9C,方法900C包括决定是否设置复位开启锁,在判定方框946中。判定方框946中的复位开启锁可与上述的图6中的第一指示器相对应。判定方框946中的复位开启锁也可与下文所述的图10D中的设定复位开启锁变更位1050相对应。如果所做出的决定是要设置复位开启锁,则根据一个实施例,到安全硬件370的所有通路将均被锁住,如方框947所示。如果所做出的决定是不要设置复位开启锁,则方法900C会移至判定方框948。在判定方框948中,方法900C决定是否设置复位开启锁变更位。判定方框948中的复位开启锁变更位可与上述的图6中的第二个指示器相对应。判定方框948中的复位开启锁变更位也可也可与下文所述的图10D中的设定变化复位开启锁变更位1055相对应。如果所做出的决定是设置复位开启锁变更位,在判定方框948中,则根据一个实施例,将不能改变复位开启锁,之后复位开启锁将改变成被锁在外面,如方框949所示。
请参考图9D,方法900D包括一处理器(如处理器102等等)在一个非SMM的模式中运行,如方框904所示。如方框906所示,由处理器所处理的程序代码试图访问安全硬件370的任何一部分,或其它需要进行与访问锁460类似的访问锁检查的硬件。在判定方框907中,此方法进行检查以察看安全硬件370是否可使用。如果安全硬件370不可使用,在判定方框907中,方法900D退出或返回。如果安全硬件370在判定方框907是可使用的,则方法960D便访问安全硬件370,如方框930所示。此方法可选择是否关闭通往安全硬件的访问锁(如有必要),如方框950所示。
请参考图9E,方法900E包括图9D中的判定方框907的一个实施例。方法900E包括检查是否对所有安全硬件的访问是被锁定的(即被禁止),在判定方框990中。如果对所有安全硬件的访问是被锁定的,则在判定方框990中方法900E将移动至方框992。如果对所有安全硬件的访问并未被锁定,则方法900E将移至判定方框991。在判定方框991中,方法900E将检查是否所请求的安全硬件已被锁定(例如分别使用一个或更多的访问锁)。
如果所请求的安全硬件被锁定,则方法960E转到判定方框992。如果所请求的安全硬件未被锁定,则方法960E将直接转至方框993。在判定方框992中,方法960E检查所请求安全硬件访问锁是否可能被改变,例如解锁。如果不能改变所请求安全硬件的访问锁,则在判定方框992中方法900E将中止访问安全硬件。如果能够改变所请求安全硬件的访问锁,则在判定方框992中方法900E将请求授权,例如从一客户端,以改变所请求安全硬件的访问锁,在判定方框993中。如果改变所请求安全硬件访问锁的授权没提供,则方法900E将中止通往安全硬件的通路。如果提供了改变所请求安全硬件访问锁的授权,则方法900E将转至方框994并改变锁以允许访问请求安全硬件。
需注意的是,任何授权方法均可用于判定方框993中。在技术领域常见具有安全性质的任何授权方法均可使用。
请参考图9F,方法900F包括由处理器下载程序代码指令到随机存取内存记忆内的SMM空间,如方框905所示。举例而言,下载程序代码指令到SMM空间内可能产生一响应以响应系统管理中断#。用于安全硬件的访问锁如方框915所示是开启的。这些访问锁的开启可能是通过SMM程序代码指令或是通过一硬件机制,或者二者一起。
处理器处理来自随机存取内存记忆内的SMM空间里的程序代码指令,如方框920所示。方法900F包括访问安全硬件370,如方框930所示。由于计算机系统是在SMM下且访问锁已经被打开,如方框915所示,像所希望的那样,安全硬件可用于大多数的计算机系统100或所有的子系统。
方法900F包括关闭用于安全硬件370的访问锁,如方框950所示。处理器再加载以前的状态并继续运行,如方框965所示。需注意的是,如方框920所示,SMM程序代码指令的处理在如方框930所描述的动作发生时可继续运行。更佳的做法是,如方框950所描述的动作发生在如方框920所示的SMM程序代码指令的处理已经中止之后。
请参考图9G,方法900G包括由处理器下载程序代码指令到随机存取内存内的SMM空间,如方框905所示。举例而言,下载程序代码指令到SMM空间内可产生一响应以响应一系统管理中断#。方法900G接着检查安全硬件是否是可使用的,在判定方框907中。如果安全硬件是不可使用的,则在判定方框907中方法900G将中止访问安全硬件。如果安全硬件是可使用的,则方法900G将继续方框920。
处理器执行来自随机存取内存存储范围内的SMM空间的程序代码指令,如方框920所示。方法900F包括访问安全硬件370,如方框930所示。当计算机系统是在SMM模式下,而访问锁是打开的,如在判定方框907中所判定,则安全硬件可使用于大多数的计算机系统100或所有子系统,如所希望的那样。
方法900G包括关闭对安全硬件370的访问,如方框950所示。处理器再加载以前的状态并继续运行,如方框965所示。需注意的是,如方框920所示,SMM程序代码指令的处理在如方框930所描述的动作发生时可继续运行。更佳的做法是,如方框950所描述的动作发生在如方框920所示的SMM程序代码指令的处理已经中止之后。
需注意的是,除了访问锁之外,安全硬件370的其它锁定与解锁处理都是可以使用的。方法900A至900G试图扩展至其它过程。
为达到本发明的目的,计算机系统被视为具有两个操作模式,分别为正常模式和SMM。启动阶段是不在SMM下的,但是就定义而言他们应被视为如SMM一样值得信任,因此在这里被认为相当于SMM。这些启动程序代码将设置和安排SMM如何工作。使SMM从启动程序代码的可信任度得到可信任度。需考虑的是标准的启动顺序可被改变。这种改变包括用户可能有机会输入参数的一种设定环境的改变。举例而言,这些输入参数可修改基本输入/输出系统(BIOS)程序代码。多数设定环境在下载操作系统和以正常模式运行之前被复位。这是一种交互式加载操作系统的一种维护模式的形式,而非正常模式的一部分。如所预期,这些访问锁将不会被设置于这种模式当中。它会是启动过程的一部分并如同SMM般值得信任,虽然如果设定环境里远程访问被允许时安全评估将会被使用。
图10A、图10B和图10C显示图6的访问锁460的实施例460A、460B和460C的方框图。在图10D中,则显示图6的复位开启锁变更寄存器455的一个实施例的方框图。在图10A所显示的实施例460A中,一个或更多的访问锁460包括一隔离位寄存器1005。隔离位寄存器1005所储存的位作为一旗标(flag)可被设定或清除。在图10B所显示的实施例460B中,一个或更多的访问锁460包括二个或以上的隔离寄存器被设置用以储存二个或以上的隔离位,以使安全硬件370之内的所有装置锁住或解锁。在隔离寄存器1005中所储存的隔离位之外的附加位分别地容许用于特权的锁住和解锁的旗标位。举例而言,当一读取特权是解锁时,一写入特权可被锁住。在图10C所显示的实施例中,一个或更多的访问锁460包括一个或更多隔离寄存器1015A至1015N用于安全硬件370C内的每一个装置。
在图10D中,复位开启锁变更445包括储存至少一个复位开启锁变更位的复位开启锁变更寄存器1050,与储存至少一个变化复位开启锁变更位的一变化复位开启锁变更寄存器1055。根据本发明的一个实施例,如果复位开启锁变更位未设定,则由这些访问锁460的设定来决定对安全硬件370的访问。如果复位开启锁变更位已设定,则这些访问锁460被忽略并取决于实际执行情况以支持任一个可使用或不可用的安全硬件370。较佳的做法是,除非复位开启锁变更位的改变已设定,否则此变更位的设定可能在SMM(或已授权)之下被改变,而当复位开启锁变更位已设定,此时安全硬件是不可用的。更佳的做法是,变化复位开启锁变更位成复位时开启,类似于访问锁460的一个实施例,也可以各个不同的实施例的方式,与这些访问锁460一同在启动时被设置,如方框950所示。
图11A、图11B、图12和图13根据本发明的各种例子显示用以访问存储器的方法1100A、1100B、1110A,和1120的实施例的流程图。图11A根据本发明的一个例子显示方法1100A的流程图,其中在一安全装置维持对一储存装置的安全访问。图11B根据本发明的一个例子显示方法1100B的流程图,其中一密码机处理器维持对一内存的安全访问。图12根据本发明的一个例子显示方法1110A的流程图,其中一防护装置利用一质疑-响应鉴定规则对一储存装置提供安全访问控制。图13显示方法1120的流程图,其中一密码被用于对一安全储存装置解锁数据的访问。
回到第11A图,方法1100A包括安全装置用以接收相对于与安全装置连接的存储装置的一个储存位置的一个处理请求(方框1105A)。安全装置提供该储存装置的访问控制(方框1110A)。如方框1110A所示的访问控制的一个实施例由图11B所表示的方法1100B说明。
根据方法1100A,安全装置根据储存装置的地址映像映像在处理请求中的储存位置(方框1115A)。安全装置向储存装置提出处理请求(方框1120A)。在正常的环境下,储存装置将执行所请求的处理(方框1125A)。
在各种实施例中,与方法1100A相关的安全装置可包括一密码机处理器或设置用来为储存装置提供防护的一逻辑方框。储存装置可包括一电子储存媒体像一内存或一磁性或光学的储存媒体像一硬盘机或一光学磁盘驱动器。内存可包括一随机存取内存、一只读存储器或一闪存。硬磁盘驱动器或光学磁盘驱动器可为固定式或可拆除式的。举例而言,处理请求可包括一读取请求、一写入请求或者读取和写入请求的结合。需注意的是,在各种实施例中,内存(或储存装置)可能进一步地包括自己的安全硬件。
回到图11B,方法1100B包括密码机处理器用以接收对于与密码机处理器连接的储存装置的相关储存位置的一个处理请求(方框1105B)。密码机处理器提供对该储存装置的访问控制(方框1110B)。如方框1110B所示的访问控制的一个实施例由图11B所表示的方框1100B说明。
根据方法1100B,密码机处理器根据储存装置的地址映像映像在处理请求中的储存位置(方框1115B)。密码机处理器向储存装置提出处理请求(方框1120B)。在正常的环境下,储存装置将执行所请求的处理(方框1125B)。
回到图12,方法1110A包括安全装置,该装置判定对储存位置而言一锁是否在锁区域置(方框1205)。也许储存位置的处理请求已被接收。如果锁并未锁上(方框1210),方法1110A跨过鉴定部分。如果锁已锁上(方框1210),则安全装置对储存位置提出一质疑(方框1215),此质疑可能与储存位置或与包括储存位置的储存装置相关联。质疑可能是对处理请求的响应。其次,安全装置接收到对该质疑的一回应(方框1220)。安全装置借着比较响应与预期响应以评估该响应(方框1225)。如果评估是不正确的(方框1230),则此方法结束。如果评估是正确的(方框1230),则此方法继续进行安全装置向储存装置提出处理请求(方框1235)。
在各种实施例中,与方法1110A相关的安全装置可包括一密码机处理器或设置用来为储存装置提供防护的一逻辑方框。储存装置可包括一电子储存媒体像一内存或一磁性或光学的储存媒体像一硬盘机或一光学磁盘驱动器。内存可包括一随机存取内存、一只读存储器或一闪存。硬磁盘驱动器或光学磁盘驱动器可为固定式或可拆除式的。举例而言,处理请求可包括一读取请求、一写入请求或者读取和写入请求的结合。
请参考图13,方法1120包括储存一密码在储存装置中(方框1305)。储存装置可仅包括一实体装置的一部份。储存装置本身可被技术领域常见的任何储存装置具体化。方法1120也可包括保存存储装置中的数据(方框1310)和保存存储装置中的程序代码(方框1315)。方法1120也可包括提供一锁(如一个或多个锁区域)以确保储存在储存装置的数据或储存装置本身(方框1315)。需注意的是,上面所述方法1120的步骤(方框1305至1320)可在相当接近的时间中被执行,例如当储存装置被制造、安装或启动时。
方法1120也包括读取来自储存装置的密码(方框1325),例如当包括储存装置或连结至储存装置的计算机系统被开启时。为了维持密码的安全,密码的读取最好发生于储存装置在防护或可信任的架构中之时。方法1120也可读取来自储存装置的程序代码(方框1330)。方法1120储存密码在一防护位置(方框1325)并也可储存程序代码于防护位置(方框1330)。如先前所述防护位置可位于SMM内存空间中,或是在一安全内存、寄存器或计算机系统100中的其它储存位置,例如在处理器102中或南桥330中。
在各种实施例中,与方法1120相关的储存装置可包括一电子储存媒体像一内存或一磁性或光学的储存媒体像一硬盘机或一光学磁盘驱动器。内存可包括一随机存取内存、一只读存储器或一闪存。硬磁盘驱动器或光学磁盘驱动器可为固定式或可拆除式的。方法1120中可能描述了任何的处理请求如一读取请求、一写入请求或者读取和写入请求的结合。
为达到本发明的目的,对只读存储器的参考将解释成运用闪存与其它本质上非易失性的内存类型。需注意的是,此处所提出的本发明的方法已利用流程图说明,而流程图的各种元素在各种实施例中皆可被省略或以不同次序执行。也应注意的是此处所提出的本发明的方法应可适用于各种执行的变化。
上述本发明的一些例子可在硬件或软件中执行。因此,此处所提供的部分详细描述会以硬件执行过程的形式表示,也会以包含计算机系统或计算机装置中内存内数据位的操作符号的软件执行过程的形式来表示。这些描述和说明是技术领域中传达其工作主旨至其它技术领域中擅长使用硬件和软件人员的最有效方式。过程和运作皆需要物理量的物理操作。而软件中通常(虽然不一定)除了操作以外,这些实体量尚可利用电、磁或光学信号的形式被储存、传送、结合和比较。有时这已被证实是十分方便的,主要是因为这些信号常被用诸如位、数值、元素、符号、特性、名称、数字或此类形式来表示。
然而应被牢记的是,所有这些名称和类似名称都是与物理量相关并仅为方便使用的符号。除非有特别描述或是在本发明中十分明显易见,否则这些描述均属电子装置的行为和程序,操纵并转变某种电子装置内以物理(电子、磁性或光学)量储存的数据以成为其它物理量表示的近似资料(或是在传送或显示装置中)。表示此类描述的范例尚有″处理″、″计算机运作″、″计算″、″判定″、″显示″等等(并非仅局限于这些)。
也需注意的是,本发明的软件实施例子通常被编译成程序储存媒体的形式,或者以一些传送媒介的形式被执行。此类程序储存媒体可能是磁性(例如软、硬盘机)或光学式(例如只读式光盘″CDROM″),且为只读或任意的访问格式。同理,上述传送媒介可能是双绞电缆、同轴电缆、光纤或熟悉此技艺者知晓的其它合适传送媒介。本发明的例子并不仅局限于上述提及的执行例。
上文仅描述本发明特别的实施例,本发明尚可修正且实施在不同的均等例子,例如熟悉此项技艺者明显由本发明的指导发展出的均等方法,更进一步而言,除了以下所述的申请专利范围外,任何此处所提的详细建构或设计均不应被视为对本专利范围的解释限制。因此,上文所揭露的特别实施例显然是可被改变与修正的,而此类变动均将被视为本发明的范围,因此,下文的申请专利范围将是前述发明所寻求的保护。
虽然本发明易于作出各种修改及替代形式,但是图示举行的方式已详细说明了其一些特定实施例。应被了解的是,此处的特别实施例描述并非在使本发明限于所揭示特定形式,相反地,其用意是在涵盖最后的申请专利范围所界定的本发明范围内的所有修改、均等物及替代方式。

Claims (8)

1.一种操作一个计算机系统的方法,该方法至少包括以下步骤:
从一个第一装置发出对一个内存区域的内存处理的一个请求;
在一个第二装置接收该内存处理请求,该第二装置不包括内存区域或内存区域内容的拷贝;以及
返回来自该第二装置的响应至发出该内存处理请求的第一装置。
2.根据权利要求1所述的方法,其中返回来自该第二装置的响应的步骤包括在没有内存处理到达内存区域的情况下中止内存处理。
3.根据权利要求2所述的方法,进一步包括步骤:在没有内存处理到达内存区域的情况下中止对内存处理的请求。
4.根据权利要求1所述的方法,其中第二个装置包括一个相连在第一装置和内存区域之间的桥接器,其中返回来自该第二装置的响应至发出该内存处理请求的第一装置的步骤包括返回来自桥接器的回应至发出该内存处理请求的第一装置。
5.根据权利要求4所述的方法,其中返回来自该桥接器的回应至发出该内存处理请求的第一装置的步骤包括在计算机系统运行于第一运行模式时,响应由该桥接器中的访问过滤器以一根据内存区域的内存处理请求的接收的预定值。
6.根据权利要求5所述的方法,其中从第一装置发出对一内存区域的内存处理请求的步骤包括在内存、只读存储器或闪存中从第一装置发出对内存区域的内存处理请求。
7.根据权利要求1所述的方法,其中该第一装置包括安全硬件,其中在第二装置接收对内存处理的请求,而该第二装置不包括内存区域或内存区域内容的拷贝,此步骤包括在第一装置的安全硬件中接收对内存处理的请求;以及其中返回来自该第二装置的回应至发出该内存处理请求的第一装置,此步骤包括返回来自该安全硬件的响应至发出该内存处理请求的第一装置。
8.根据权利要求1所述的方法,进一步包括步骤:
在返回回应之前读取来自该第二装置内的存储位置的第一数值,其中该第二装置内的内存区域不同于内存处理的内存区域。
CN 200710004315 2001-05-10 2002-04-17 用于个人计算机存储器区域的外部锁固机构 Pending CN101118583A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US85294201A 2001-05-10 2001-05-10
US09/852,372 2001-05-10
US09/852,942 2001-05-10
US09/870,889 2001-05-30

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CNB028124871A Division CN100533330C (zh) 2001-05-10 2002-04-17 用于个人计算机存储器区域的外部锁固机构

Publications (1)

Publication Number Publication Date
CN101118583A true CN101118583A (zh) 2008-02-06

Family

ID=39054695

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200710004315 Pending CN101118583A (zh) 2001-05-10 2002-04-17 用于个人计算机存储器区域的外部锁固机构

Country Status (1)

Country Link
CN (1) CN101118583A (zh)

Similar Documents

Publication Publication Date Title
CN100533330C (zh) 用于个人计算机存储器区域的外部锁固机构
JP2755828B2 (ja) 複数のマイクロプロセッサ間でアプリケーション・データおよび手続きを共用するための安全なアプリケーション・カード
US5287519A (en) LAN station personal computer system with controlled data access for normal and unauthorized users and method
TW393599B (en) Method and apparatus for controlling access to a register mapped an I/O address space of a computer system
TW550501B (en) Apparatus, method, and system for an access transaction
US5432939A (en) Trusted personal computer system with management control over initial program loading
US9202059B2 (en) Methods, systems, and apparatuses for managing a hard drive security system
CN103294946B (zh) 用于控制安全环境中的处理器执行的设备
US6052781A (en) Multiple user computer including anti-concurrent user-class based disjunctive separation of plural hard drive operation
CN100530209C (zh) 用于限制安全执行环境的硬件失败信息泄漏的系统和方法
KR970006392B1 (ko) 보안 기능을 갖는 퍼스널 컴퓨터 시스템
JP2509438B2 (ja) セキュリティ機構を有するコンピュ―タ・システム
US5742758A (en) Password protecting ROM based utilities in an adapter ROM
US8370923B2 (en) Access to a processing device
RU2538329C1 (ru) Устройство создания доверенной среды для компьютеров информационно-вычислительных систем
US20060259674A1 (en) Apparatus and method for granting access to a hardware interface shared between multiple software entities
BRPI0615811A2 (pt) sistema operacional encerrado em unidade de processamento
CN102053925A (zh) 硬盘数据加密实现方法
KR100831468B1 (ko) Nodma 캐시
KR100368288B1 (ko) 컴퓨터의 사용권 부여방법
CN110472443A (zh) 一种数据安全方法和带开关的本地设备
CN101118583A (zh) 用于个人计算机存储器区域的外部锁固机构
JP4017149B2 (ja) プログラムの不正実行防止機能付きプロセッサ
JP2004046756A (ja) ライセンス管理方法、ライセンス管理システム、ライセンス管理プログラム
JP2002538532A (ja) Icカードのアプリケーションに対するアクセス保護装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: ADVANCED MICRO DEVICES INC

Free format text: FORMER OWNER: ADVANCED MICRO DEVICES INC.

Effective date: 20100709

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: CALIFORNIA, USA TO: GRAND CAYMAN ISLAND RITISH CAYMAN ISLANDS

TA01 Transfer of patent application right

Effective date of registration: 20100709

Address after: Grand Cayman, Cayman Islands

Applicant after: Globalfoundries Semiconductor Inc.

Address before: American California

Applicant before: Advanced Micro Devices Inc.

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20080206