本发明涉及个人计算机系统,更具体地说,涉及这样一种系统,它具有安全保护特性,能够控制对这种系统中所存数据进行的访问。 一般的个人计算机系统,特别是IBM个人计算机系统,已广泛应用于向当今现代社会的许多部分提供计算机能力。通常,个人计算机系统可以定义为由具有单个系统处理器及关联的易失或非易失存储器的系统单元、显示监视器、键盘、一个或多个软盘驱动器、固定磁盘存储器、以及可选用的打印机组成的桌面式、落地式、或便携式微计算机。这些系统的显著特征之一是使用一块母板(mother board)(也叫做系统板、系统平板或平板,而且在本文中偶而也使用这些叫法),用于将这些部件电连接在一起。这些系统的设计主要是向单个用户提供独立的计算能力,并且价格不贵,以供个人或小企业购买。这类个人用计算机的实例有IBM的个人计算机PERSONAL COMPUTER AT及IBM的个人系统(PERSONAL SYSTEM)/2型25、30、40、L40SX、50、55、57、65、70、80、90及95。
这些系统可以分成两大系列。第一系列通常称作“系列Ⅰ型”,使用以IBM的PERSONAL COMPUTER AT及其他“IBM兼容机”为代表的总线体系结构。第二系列通常称作“系列Ⅱ型”,使用IBM的微通道总线体系结构,以IBM地PERSONAL SYSTEM/2的50型至95型为代表。早期的系列Ⅰ型通常使用流行的INTEL8088或8086微处理器作为系统处理器。一些后来的系列Ⅰ型及系列Ⅱ型通常使用高速INTEL80286、80386及80486微处理器,对一些型号,它们能以实方式(real mode)操作来仿真速度较低的INTEL8086微处理器,或以保护方式(protected mode)操作将寻址范围从1兆字节扩展到4千兆字节。实质上,80286、80386及80486处理器的实模式特性提供了与为8086和8088微处理器所写软件的硬件兼容性。
随着近年来世界上个人计算机的显著增加和应用,越来越多的数据或信息正在收集、保存或存储于这类系统之中。许多这样的数据其性质是敏感的。在错误管理情况下,数据会给个人带来麻烦,一个公司会失掉竞争优势,或者敏感的数据会被用于勒索或对个人造成身体伤害。随着越来越多的用户认识到数据的敏感性及数据的价值,便越发希望防止这种错误的使用。为了保护数据及与所存储数据有关联的个人,用户要求在他们购买的个人用计算机中加入安全保护和完整性性能。
并非只有用户认识到所收集和存储的数据的敏感性。政府也在制定强制保护敏感数据的法律。这样的政府之一便是美利坚合众国政府。它已认识到这一情况的重要性并做出了反应。美国联帮政府已确定了安全等级以及为满足这些等级要采取的相应要求并为生产产品的个人计算机制造商提供了认证机构,以便检查这些产品是否满足制造商宣称的安全等级。“联帮规定”的来源是国防部,可信任的(TRUSTED)计算机系统评价标准,DOD5200.28 STD,12/85,一般称作“橙皮书(Orange Book)”。美国政府已经立法,到1992年1月1日,所有与政府有关的数据必须只由至少达到安全等级C-2的个人计算机进行处理和存储。对于计算机系统硬件,规定的实质包含于“保证部分”的规定6:“可信任机制必须连续地防止窜改和/或非受权改变…”
从最早的系列Ⅰ型个人计算机系统(如IBM个人计算机)开始,便认识到软件兼容性将是极端重要的。为了实现这一目标,在硬件和软件之间建立了一个系统驻留代码构成的隔离层,称作“固件(firmware)”。这个固件提供了用户应用程序/操作系统与设备之间的操作介面,从而使用户不必去关心硬设备的特性。最后,这种代码发展成基本输入/输出系统(BIOS)它允许新的设备加入系统又使应用程序与硬件的特殊隔离。BIOS的重要性立即显示出来,因为它使设备驱动程序不依赖于具体设备硬件特性,同时向设备驱动程序提供了与设备的中间介面。由于BIOS是系统的组成部分,并控制数据进出系统处理器,所以它被驻留在系统板上,放在一个只读存储器(ROM)中提交给用户。例如,在原始的IBM个人计算机中BIOS占有放在系统板上的8K(字节)ROM。
随着新型个人计算机系列的引入,BIOS必须得更新和扩展以便能包括新的硬件和I/O(输入/输出)设备。如人们能够预料的那样,BIOS开始增加在存储器中所占空间。例如,随着IBM PER-SONALCOMPUTER AT的引入,BIOS增长到需要32K字节ROM。
今天,随着新技术的发展,系列Ⅱ型个人用计算机甚至发展得更加复杂,并且更频繁地提供给用户。由于技术的飞速变化和新I/O设备不断增加给个人用计算机系统,在个人计算机系统的发展周期里,对BIOS的修改已成为重要的问题。
例如,随着带有微通道体系结构的IBM Personal System/2的引入,研制出了一个全新的BIOS,称作高级BIOS,或ABIOS。然而为保持软件的兼容性,在系列Ⅱ型中不得不包括来自系列Ⅰ型的BIOS。系列Ⅰ型BIOS已被称作兼容BIOS,或CBIOS。然而,如前面对IBM PERSONAL COMPUTER(个人计算机)AT所作的解释,在系统板上只驻留32K字节ROM。幸好系统能被扩展到96K字节ROM。不幸的是,由于系统限制,这个96K字节ROM成为BIOS能够得到的最大容量。幸运的是,即使增加了ABIOS,ABIOS和CBIOS仍能挤进96K字节的ROM中。然而,在这96K的ROM区中只剩下很小一部分可用于扩展。已经确信,随着未来I/O设备的增加,CBIOS和ABIOS将最终超出ROM空间。这样,新的I/O技术将不能够容易地集中于CBIOS和ABIOS之中。
由于这些问题,加上希望在开发周期中尽可能迟地修改系列ⅡBIOS,于是必须从ROM中卸掉几部分BIOS。实现这一点的办法是将BIOS的若干部分存储于一个大容量存储设备中,例如存于一个固定盘,最好是存于这种磁盘的固定部分,称作系统分区(system partition)。该系统划定区也存储一个系统参照软盘(system refer-ence distette)的映象,它包括了在建立系统配置和类似工作中使用的某些实用程序。由于磁盘提供了写和读的功能,因此可以实现对磁盘上BIOS实际代码的修改。然而,虽然磁盘提供了存储BIOS代码的快速而有效的方式,却极大地增加了使BIOS代码受到损害的可能性。因为BIOS是操作系统的组成部分,受损害的BIOS会导致系统完全故障和不能操作。这样,相当明显,极其需要一种措施来防止对固定磁盘上的BIOS代码进行非受权的修改。这是过去美国专利申请07/398,820号(1989年8月25日提交)及现在于是1991年6月4日发布的美国专利5,022,077号的主题。有兴趣的读者可参考那个专利以得到更多的信息,这可能有助于理解这里披露的发明。同时,这里将那个专利所披露的内容作为参考尽可能地引入到本说明书中,以便充分地理解这里披露的发明。
由于引入了IBM的PS/2微通道系统,从而去掉了I/O适配器卡及系统板上的可开关和跨接线。微通道体系结构提供了可编程寄序器来代替它们。需要实用程序来组合这些可编程寄序器或可编程选择项选择(POS)寄存器。这些实用程序以及改进系统可用性的其他实用程序与系统诊断程序一起放在系统参照软盘上,与每个系统一道提交给用户。
在初始使用之前,每个微道系统要求初始化它的POS。例如,如果在用新的I/O卡引导系统或某一I/O卡的插槽改变了的情况下,则产生一个“配置错误”并停止系统引导过程。然后用户被提示加载系统参照软盘并按F1键。然后可从该系统参照软盘中引入“设定配置实用程序”来配置该系统。该设定配置实用程序将提出用户进行所需操作。如果在系统参照软盘上载有适当的I/O卡描述信息文件,则设定配置实用程序将产生正确的POS或在非易失存储器中产生配置数据。描述信息文件包含该卡与系统的接口信息。
考虑到上述情况,本发明试图使所描述类型的个人计算机在其机器中及在其操作手段中只向那些具有适当特权访问某些关键性数据的用户对这类数据的受限制的访问。为实现本发明的这一目的,提供了一个专用的存储器部件来接收和存储“特权访问口令(Privi-leged Access Password)”(下文中有时称作“PAP”),并用于协调允许各种功能和数据对启动和使用PAP的访问。
本发明进一步试图使用户可以选择是否启动能够得到安全措施,从而使该系统能适应于保护系统使用安全的各种需要或愿望。为实现本发明的这一目的,由本发明试图配置的系统在需要时可以适应于符合政府标准的安全要求,然而也可以在使用环境允许的情况下以基本上无安全保护的方式使用该系统。这样,这类系统的用户在应用系统时得到了极大的灵活性。
前已叙述了本发明的一些目的,其他目的将出现于结合附图所作的描述之中。这些图件是:
图1是实施本发明的个人计算机透视图;
图2是图1所示个人计算机某些部件(包括机架、机盖及系统板)的分解透视图,图中显示出这些部件之间的某些关系。
图3是图1和图2所示个人计算机某些部件的示意图。
图4和图5是图1和图2所示个人计算机中与本发明的安全特性有关的一些部件的示意性表示。
图6是图4和图5所示一些部件的放大尺度透视图;
图7与图6相似,显示出图1、2、4、5所示个人计算机中与本发明的安全特性有关的一些可选部件;以及
图8、9a及9b是涉及根据本发明可得到的可选安全措施的一些功能的示意流程图。
下面将参考示出本发明的一个最佳实施例的附图来更详细地描述本发明。然而,在这一描述的开头应该理解,那些在适当领域的技术人员可以修改这里描述的发明而仍得到本发明的良好结果。因此,下文所做的描述应被理解成针对适当领域的技术人员所作的广泛的讲授性公开而不是作为本发明的限定。
这里可能用到的某些被定义术语如下:
可信任的计算机基础(TRUSTED COMPUTER BASE)(TCB):计算机系统内保护机制的总和-包括硬件、固件及软件-它们的组合对实施安全策略负责。TCB包括一个或多个组成部分,它们共同对产生或系统实施统一的安全策略。TCB正确实施安全策略的能力只取决于TCB内部机制及系统管理人员正确输入与该安全策略有关的参数(如用户通行证)。
受托软件(TRUSTED SOFTW ARE):受托计算基础中的软件部分。
受托程序(TRUSTED PROGRAM):在受托软件中包括的程序。
开型程序(OPEN PROGRAM):在受托计算基础上可运行的程序,并且它不是一个受托程序。
参考监视器概念(REFERENCE MONITOR CONCEPT):一个访问控制概念,是指中介于所有主体对客体的访问的一个抽象机器。
安全核(SECURITY KERNEL):在受托计算基础中实现参考监视器概念的硬件、固件和软件元素。它必须中介所有访问,而且必须被保护免于受到修改并可以被证明是正确的。
受托计算机系统(TRUSTED COMPUTER SYSTEM):利用足够的硬件和软件组合措施从而使其可用于同时处理一定范围的敏感或保密信息的系统。
系统所有者(SYSTEM OWNER):系统所有者是指负责初始配置一系统并使其处于安全方式(secure mode)的用户。系统所有者将在初始时以及每当需要更新时控制系统配置。这个人将控制“特权访问口令”并负责保持其完整性。系统所有者还将保持“能表明窜改的(tamper evident)”机盖锁)的物理安全。系统所有者将负责保持全部系统上的安全日志。系统所有者还将记录所有试图破坏安全的行为。系统所有者可能拥有不只一个系统。系统所有者可被认为是受权用户,也可以是一个普通用户。
安全方式(SECURE MODE):当系统所有者已经成功地在个人计算机系统上安装了特权访问口令从而调用了由安全与完整性部件提供的安全保护时,该系统即处于安全方式。
受权用户(AUTHORIZED USER):任何被允许使用特权访问口令的用户。这个人可以是也可以不是系统所有者。这个人还可以有一个特定系统的或一组系统的钥匙。如果这个人牵涉到从某一违反安全情况恢复一个系统,他们有责任向系统所有者报告这一情况。受权用户还可以是一般用户。
一般用户(NORMAL USER):被授权使用该系统设施的任何用户。为了改变系统配置或解决出现的问题,这个用户需要系统所有者或受权用户的协助。除非该一般用户属于受权用户或系统所有者范畴,否则便没有特权访问口令或“窜改显示(tamper evident)”机盖锁。
未受权用户(UNAUTHORIZED USER):未规定为系统所有者、受权用户互一般用户的任何人。任何未受权用户使用一个受安全保护的个人计算机系统都被认为是一次不同于成功的接通电源的违反安全事件,并且必定存在检查跟踪记录以显示这种违反安全事件。
EEPROM:电可擦可编程只读存储器。这种存储器技术提供了数据的非易失性存储,而且这些数据可在硬件逻辑控制下进行修改。当没有供电时存储内容不会丢失。只有当按预先确定顺序启动模块适当的控制信号时,存储内容才可以被改变。
口令描述(PASSWORD DESCRIPTION):系统有潜在能力受两个口令保护:1.特权访问口令(POP)。这些口令将被此独立地使用。PAP是设计为通过对初始程序加载(IPL)设备引导清单、对口令实用程序的访问以及对系统参照软盘或系统分区的访问进行保护来为系统所有者提供保护的。如果没有装入PAP或者是在加电系列中初始输入PAP,则只是响应POST(通电自检)错误(或在热引导时)才引导系统分区。由软磁盘进行初始BIOS加载(IBL)的保护方式与系统参照软盘引导的保护方式相同。对于使用POP的一般用户而言,PAP的存在是透明的。PAP将被系统参照软盘或系统分区中的实用程序来安装、改变或删除。当正确设置和输入PAP时,它将给予所有者以超越POP的对全部系统的访问权。POP用于防止对DASD上的操作系统或系统实用程序的任何非受权访问,如同它在当前所有PS/2系统上的作用。
现在更具体地参考附图,图中给出实施本发明的一个微计算机,总体用标号10表示(图1)。如前所述,计算机10可以有关联的监视器11、键盘12和打印机或绘图仪14。如图2所示,计算机10有机盖15,它与机架19一起构成一个封闭式的、受屏蔽保护的空间,用于容纳电力驱动的数据处理与存储部件以处理和存储数字数据。在图2所示的结构中,计算机10还有一可选I/O电缆连接盖16,它延伸复盖和保护I/O电缆与计算机系统的连接点。至少有一些系统部件安装在多层平板20(这里也描述为母板或系统板)上,它装在机架19上,为计算机10的各部件提供电连接手段。这些部件包括上文指出的部件以及其他相关部件,诸如软盘驱动器、各种直接存取存储设备、附件卡或板、以及其他类似部件。
机架19有一底座和一后面板(图2,它可以从外部由电缆接头盖16盖住),并固定有至少一个开口间距用于容纳数据存储设备。如磁盘或光盘的盘驱动器、磁带备份驱动器、或其他类似设备。在图示的构造中,上间格22适用于容纳第一尺寸(如3.5英寸驱动器之类)外部驱动器。在这上间格22中可以提供一个软盘驱动器,它是能接受软盘插入其中并利用该软盘来接收、存储和发放数据的一种可取出介质直接存取存储设备,这是一般都已知道的。
在将上述结构与本发明联系起来之前,值得简要回顾一下个人计算机系统10的一般操作。参考图3,那里给出一个个人计算机系统的方框图,说明诸如根据本发明的系统10之类计算机系统的各种部件,包括安装在系统板20上的部件及系统板与个人计算机系统的I/O槽和其他硬件的连接。系统处理器32是连到系统板上的。尽管任何适当微处理理器都能用作为CPU32,一种适宜的微处理器是INTEL公司出售的80386。CPU通过高速CPU局部总线34连到总线接口控制单元35、连到易失性随机存取存储器(RAM36)(这里表示为单列直插式存储模块SIMM))、还连到BIOS ROM38,在此BIOS ROM38中存有与CPU32进行基本输入/输出操作的指令。BIOS ROM38包括用于将各I/O设备与微处理器32的操作系统之间进行接口的BIOS。存储于BIOS ROM38中的指令能被拷贝到RAM36以减少BIOS执行时间。该系统还象通常那样有一个带有由电池支持的非易失存储器(通常上CMOS RAM)的电路部件用与接收和保存关于系统配置的数据,及一个实时钟(RTC)68(图3和4)。
虽然下文中具体参考图3中的系统框图来描述本发明,但在下面的描述开始之前应该理解,以系统板上的其他硬件配置也可以使用根据本发明构成的设备和方法。例如,系统处理器可以是In-tel80286或80486微处理器。
现在回到图3,CPU局部总线34(由数据线、地址线和控制线组成)也提供了微处理器32与数学协处理器39及小型计算机系统接口(SCSI)控制器40的连接。如精通计算机系统设计和操作的人们所知道的那样,SCSI控制器40可以连接于(或能够连接于)只读存储器(ROM)41、RAM42、以及由图右侧指出的I/O连线支持的各类适当的内部或外部设备。SCSI控制器40在控制存储用存储设备中作为存储控制器的工作,这些设备如固定介质或可更换介质的电磁存储设备(也称作硬盘和软盘驱动器)、电-光存储设备、磁带或其他存储设备。
总线接口控制器(BIC)35将CPU局部总线34与I/O总线44耦合。利用总线44,BIC35与一可选特性总线例如微通道总线耦合,微通道总线44包括地址线,数据线和控制线。
与I/O总线44耦合的有多种I/O部件,例如视频信号处理器46,它与用于存储图形信息(在标号48处)和存储图象信息(在标号49处)的 视频RAM(VRAM)相关联。与处理器46交换的视频信号可以通过数字-模式转换器(DAC)50传送到监视器或其他显示设备。还采取措施将VSP46与这里称作自然图象输入/输出的设备相连,它们可以是录相/放相机、摄相机等。I/O总线44还与数字信号处理器(DSP)51相连,它具有关联地指令RAM52和数据RAM54,可用于存储由DSP51处理信号所需软件指令以及这种处理所涉及的数据。借助声音控制器55,DSP51提供声音输入和输出的处理;并借助模拟接口控制器56,DSP51还可处理其他信号。最后,I/O总线与一个输入/输出控制器58相连,它具有一个相关联的电可擦可编程只读存储器(EEPROM)59,利用它可以与通常的外部设备交换输入和输出,这些外部设备包括软盘驱动器、打印机或绘图仪14、键盘12、鼠标器或指点设备(未画出)、以及通过串行端口进行这种交换。在下面描述的安全措施中EEPROM起作用。
为实现下文之中更完全描述的本发明的某些目标,个人计算机系统10有一个可擦存储部件装在系统机壳内,用与有选择地设置成有效状态(active state)或无效状态,并在有效状态时接收与存储特权访问口令(下文中将更充分地定义)。该可擦存储部件最好是上面描述的可擦可编程只读存储器或者称EEPROM59(图3)。系统还有一个选择开关或安全开关装在机箱内并在操作上与可擦存储部件设置成有效状态或无效状态。选择开关(在本说明中也称作安全开关)可以是例如装在系统板20上设置这两种不同状态。在一种状态(也称作写允许状态),EEPROM59被置成有效状态并存储这里描述的一个PAP。在写允许状态,PAP可以被写入EEPROM,可以被改变或被消除。在另一种状态,或者说无状态,EEPROM的PAP存储能力被置成无效的。
如上所述,系统10还有一个具有可擦存储能力的第二个部件,即电池支持的非易失CMOS RAM及关联的实时钟(RTC),图4中用标号68指示。该CMOS RAM存储指示系统配置的数据,根据本发明,包括在系统10通电时成功地输入PAP的有关数据。提供了至少一个窜改检测开关(图4、5、6),装在机箱内并在操作上与CMOS RAM相连,用于检测打开机箱和响应窜改检侧开关的任何切换来清除该存储部件中存储的某些数据。
根据本发明,系统处理器32在操作上与EEPROM59及CMOS RAM68相连,其部分功能是通过区分存储部件的PAP存储能力是否处于有效(active)状态及区分是否输入(entry)了任何有效的已存储的特权访问口令(PAP)来控制对存储于系统内的至少是某些级别数据的访问。通过操纵选择开关,系统操作员(或更具体地说,是负责管理和维护安全的人)可以分别选择EEPROM的有效或无效状态,从而在系统的有关安全保护操作和无安全保护操作之间作出选择。如果希望有安全保护操作并需要生效,那么系统所有者也必需输入PAP。
正如这里所披露的,根据本发明适于安全考虑的系统具有两个分立的非易失可擦存储部件-EEPROM和CMOS RAM。这样做的部分原因是在本发明出现的时候EEPROM在擦写周期次数方面的生命是有限的,而PAP状态的指示和PAP的正确输入,以及至少是潜在的任何非受权打开系统外壳的状态,都可能需要大量次数的擦和写。这样,为了适应于当前可得到的技术,这里所描述的功能已分成第一和第二可擦存储部件。然而,本发明设想,在技术允许或系统设计者愿意接受所造成的限制的情况下,这两种形式的有关数据可以存储于单一的可擦存储部件中。
现在参考图4至图7的示意图,现在将更具体地描述对本发明起作用的某些硬件特征。
图4描绘出通常的电源控制开关(或称“通/断”开关)61、通常的供电电源62、响应机壳盖(如主盖15和电缆连接器盖16)被打开或拿掉而改变其导电状态的开关、以及钥锁开关64之间的某些关系。在本发明的图示结构中,有两个在打开或拿掉机箱盖时改变状态的开关,即响应主盖15被拿掉的开关65(图4、5、6)和响应电缆连接器盖16被拿掉的开关66(图4、5、7)。每个开关有两个组件,一个是常开的(分别为65a和66a),一个是常闭的(分别为65b和66b)。第二个开关66是可选件,这如同电缆连接器盖16是可选件一样。然而,通过仔细考虑这里所披露的内容,将会清楚,可选盖板和开关保证了对系统的更完全的安全控制。
盖板开关65和66的常开触点组与主电源开关61串联,接到电源62上(图4)。结果,如果在拿掉盖板的情况下试图让系统10“通电”,触点组65a和66a将处于打开状态而防止系统操作。当盖板就位时,触点组保持闭合。于是可以开始正常的系统操作。
盖板开关65和66的常闭触点组与钥锁开关64串联,连到RTC和CMOS存储器68。在盖板15和16存在时常闭触点组65b和66b保持打开,而当拿掉这些盖板时将会闭合。钥锁开关64在机壳锁锁住时保持闭合,机壳锁是在计算机系统10上通常提供的。这三个触点组提供了另一条电流接地路径,否则该电流将被用于为RTC与CMOS存储器部分供电,其作用是如果在系统处于机壳锁住状态时非受权拿掉机盖从而断电时使那个存储器的一段置成特殊状态(例如都是成“1”)。当那个存储器被POST检测时,将那一段设置成特殊状态将导致产生一个“配置错误”,它将警告系统所有者已经有人企图(成功地或不成功地)损害系统安全,将存储器的一段置成特殊状态的这种设置使先前存储的任何口令都变成无效,存储这一口令的目的是从任何其他来源而不是从系统参照软盘或系统分区中引导操作系统。就象本描述其它部分中所披露的那样,需要输入有效的PAP才能从刚才提到的后面两个来源之一引导操作系统。
钥锁开关64和主机壳盖开关65最好是装在前卡定位部件69(图2和图6)上,从而使它们与主机壳盖15中提供的锁有适当的相对位置。该前卡定位部件安装在计算机系统框架中,其位置使主机壳盖开关65的启动杆70穿过垂直框架部件中的一个开口,以便在盖板15存在并放置在封闭系统机壳的位置上时由盖板15来启动盖板开关65。
电缆盖开关66最好安装在系统机架的后面板上,位于能被一个锁闩部件启动的部位;该锁闩部件位于电缆盖16上,并可在类似于机壳盖15上面的人工操作钥锁的控制下转动。当使用了选件电缆盖16时(当希望或需要对系统进行完全保护时便是这种情况),将电缆盖闩住或者说锁到后面板上会使锁闩部件将关联的常开触点组66a断开。
上文和下文中描述的这种新的安全与整体性特性是独立于先前提供的个人计算机安全特性即通电口令(POP)而起作用的。这些增加的安全与整体性特性为在诸如橙皮书之类可应用规则下确认操作系统提供了可靠的平台。为将系统置于安全方式需要一个附加的口令。该新口令在这里称作“特权访问口令(PAP)”。为保持与以往个人计算机的兼容性,仍旧支持POP。本说明论及的新的安全与整体性与具有EEPROM、选择开关及能表明窜改的盖的个人计算机系统上所执行的POST和口令实用程序有关。
口令安全是由系统硬件特性实现的,包括EEPROM、安全开关和能表明窜改的盖开关、固件、POST及系统软件口令实用程序。一旦已经装入了PAP,系统则处于安全方式。PAP存于EEPROM中。在EEPROM中还保存PAP的后备拷贝。这样做是为了在安装、改变、或取消PAP过程中发生断电时防止意外丢失PAP。POP以及指出PAP(如果已装入的话)有效性的至少某些位被存储于CMOS RTC。对保存在CMOS RTC和EEPROM中的数据所作的改变是彼此独立的。
在EEPROM中的两位用作为“状态机(state machine)”,它让POST确切知道在更新序列中的何处发生了供电中断,并且,如果可能的话,从系统板更换状况中恢复。口令实用程序维护更新指示字段,这是一个在访问PAP时使用的二位状态机。如果在修改口令过程中发生供电中断,那么当供电恢复时POST检查状态机。(实际上POST是在全部电源接通时进行检查。)如果PAP的更新成功(“00”状态),则POST以正常方式继续进行。如果在掉电之前已开始了更新,(“01”状态),则POST将检查是否存在有效的后备PAP。如果有效,则POST将后备PAP复制到原始PAP的存储器,如果原始PAP已经更新成功(“10”状态),POST将使用该原始PAP(新PAP)去检验使用系统参照软盘或引导系统分区的任何企图的有效性。POST将把原始PAP拷贝到后备PAP。如果选择开关(或者说安全开关)不处于未锁或写允许位置;则显示出错误。系统所有者将不得不介入,解锁机盖并改变安全开关的位置。
如果后备PAP′已经成功地更新(“11”状态),则原始PAP和后备PAP都被认为有效,POST将在确认用户打入的PAP之前先证实原始PAP的有效性。
如上所述,POP保存在CMOS存储器中。有两位将保存在CMOS存储器中用作PAP的口令指示器。一个指示器用于表示系统处于安全方式(装入了PAP)。第二指示器表示在初始通电冷引导过程中已输入了PAP。将只在冷引导时对这两个指示器进行初始化和设置。在IPL之前,这两个指示器将是写保护的,除非引导系统参照软盘或系统分区,这需要成功地输入已装好的PAP。POP及指示器的改变独立于EEPROM存储的PAP的任何改变。然而,CMOS存储器中的变化能指示出现了破坏安全的情况,这需要输入有效的PAP才能恢复允许加载一个操作系统。
为避免对口令的任何非受权访问,在初始程序加载(IPL)引导操作系统之前,IPL设备引导清单、EEPROM CRC、及所有指示器都将被封锁。为封锁这些区域,POST将设置特殊的硬件锁存器,除非系统断电,否则这些硬件锁存器不能被复位。在POST第一阶段(初始通电)的开始,POST将检查EEPROM是否被封锁。如果它是锁住的,POST将显示一个错误并停机,因为此时硬件不能工作。将需要系统所有者进行干预来补救这种情况,这可能需要系统板。在本发明的一种形式中,当系统已被窜改时,与RTC和控制寄存器相关联的CMOS RAM存储器的头14个字节不受影响。CMOS的其后50个字节都被置成1(二进制值1),这在前面已简要描述过。一旦检测到这种状况,POST显示一个适当的错误。在本发明的另一种形式里,可能少到只有一位被置成指示窜改状态。不论在哪种情况下,都将需要系统所有者/受权用户干预,以补救这种状态,这可能需要在从系统参照软盘或系统分区中引导口令提出时输入PAP,或者需要重新配置系统板。
如果系统所有者忘记了PAP,则需要更新受影响的系统板。
如果忘记了POP,系统所有者可以拨动能表明窜改的开关来破坏前述CMOS的内容,然后输入PAP(如果已装入的话)来引导系统参照软盘或系统分区,运行口令实用程序以重新安装POP。
当系统已经通电而没有安装任何一个口令,则POST将不提示要求一个口令。然而,如果不存在系统参照软盘,或者没有要求引导系统分区或系统分区引导不存在,则POST将封锁PAP、后备PAP、IPL设备引导清单、EEPROM CRC、以及所有指示器。这样做是为了防止对这些区域的任何偶然的或恶意的访问。如果存在系统参照软盘或已要求引导系统分区,则这些区域保持不封锁以便允许系统所有者使系统进入安全方式。
当系统已经通电并安装了POP但没有安装PAP时,POST将检查状态机,然后验证POP口令检查和。如果检查和是坏的,POST将抹掉CMOS中的POP并且不提示要求输入口令。否则,POST将提示要求口令。如果系统参照软盘不存在,或者未请示引导分区,那么PAP、后备PAP、IPK设备引导清单、EEPROM CRC、及所有指示器将被封锁以防止任何访问。
当系统已经通电并安装了有效的PAP(安全方式)但没有装入POP时,POST将验证PAP检查和。如果检查和是好的,那么在存在系统参考软盘或请求引导系统分区的情况下,POST将提示用户输入PAP。否则,POST将不提示要求口令,并且PAP、后备PAP、IPL设备引导清单、EEPROM CRC、及所有指示器将被封锁以防止任何访问。如果PAP检查和是坏的,则显示一个错误而且系统停机。这是为了防止这样一种情况:POST会偶然地允许用户无保护地访问一个先前当EEPROM失效时对于安全方式的系统。这将需要系统所有者干预来补救这种情况,这可能需要更换系统板。
当系统已经加电并且装入了有效的PAP和有效的POP时,POST将提示用户输入口令。如果输入了POP,POST将不从系统参照软盘或系统分区中引导。系统只能用现存的IPL设备清单引导。如果在提示时打入了PAP而不是POP,则用户能从系统参照软盘、系统分区、IBL软盘、或通常当IPL设备清单引导。此时设置一指示器,用以表明在初始通电时管成功地输入了PAP,因此,在本次通电对话的晚些时候可以发生系统参照软盘或系统分区的引导。POST将在软的重引导之后不提示要求用户输入口令,因此也不需要“PAP成功打入”指示器及其对该指示器的保护。
简而言之,如果用户能在冷启动时从系统参照软盘或系统分区引导,POP、PAP、后备PAP、IPL常备引导清单、EEPROM CRC、及所有指示器将保持不封锁。这一状况给予可信任软件(即系统参照软盘)和受权用户对系统安全参数的访问,在POST确认两个口令都被正确输入时,它将显示一个确认图符比示承认这一输入。当网络服务器(无人值守的启动)方式有效时,POST将如前所述跳过要求POP的提示。
图8和图9描绘了刚才描述的情况的流程逻辑,那里,为了简化图示,在图9a和9b中所示特定步骤之间的连接由写有单个字母标志的过程块来表示。
安装了网络服务器(无人启动)方式的系统将以能达到目标操作系统的任何方式完成引导过程,但键盘将被锁住不能使用POP。然而,如果存在系统参照软盘或请求了系统分区引导,则将显示口令提示,允许系统所有者输入PAP并得到对系统的控制权。如果系统处于安全方式,而用户想在键盘已被锁住之后从系统参照软盘或系统分区引导,则用户必须使系统断电并在系统参照软盘已插入软盘驱动器情况下从断电状态启动冷引导。
与POST的改变相联系,口令实用程序必须包括对PAP的支持。该实用程序将支持装入、改变和取消PAP,而且将根据选择开关(或者说安全开关)的位置而互锁这三项功能。安全开关应该保持在锁定位置,直至受权用户希望设置PAP时为止。在那时,用户应该打开系统盖,并将安全开关移到不锁定(改变)位置:然后便可设置PAP。当安全开关被置于不锁定位置时,在EEPROM外部的硬件逻辑不允许对EEPROM中的PAP位置作任何改变。当安全开关处于锁定位置时,如果受权用户试图修改PAP,则将出现适当的信息。再有,当PAP被取消之后,将有信息提醒用户使安全开关返回锁定位置。在口令实用程序中还有一个附加安全特性,它禁止受权用户将PAP设置成等于POP。当设置成改变PAP时将进行检查,以保证新的PAP不等于系统地当前POP。再有,当改变或取消PAP时,必须知道当前的PAP。
期望个人计算机系统在初始运交用户时其安全开关处于锁定位置,而且能表明窜改的盖被锁住。这样做是为了防止系统所有者以外的任何人将系统置成安全方式。如果忘记了PAP或者非受权用户将系统置成安全方式,则必须更换系统板。
在附图和说明中已给出了本发明的最佳实施例。虽然使用了特定的术语,但这样给出的描述仅在通用的和描述性的意义上使用术语,并不是为了限定的目的。