CN1017942B - 防止未授权存取基本输入输出系统的方法 - Google Patents

防止未授权存取基本输入输出系统的方法

Info

Publication number
CN1017942B
CN1017942B CN90106879A CN90106879A CN1017942B CN 1017942 B CN1017942 B CN 1017942B CN 90106879 A CN90106879 A CN 90106879A CN 90106879 A CN90106879 A CN 90106879A CN 1017942 B CN1017942 B CN 1017942B
Authority
CN
China
Prior art keywords
bios
boot record
main boot
ibl
rom
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.)
Expired
Application number
CN90106879A
Other languages
English (en)
Other versions
CN1049923A (zh
Inventor
理查德·比尔柯斯基
小约翰·威利·布莱克莱奇
道伊尔·斯坦弗尔·克朗克
理查德·阿兰·大岩
斯科特·杰拉尔德·基尼尔
乔治·D·科瓦奇
小马修·斯蒂芬·帕尔卡
罗伯特·萨奇塞恩梅尔
凯文·马歇尔·兹沃罗斯基
杰利·杜亚恩·迪克逊
安德鲁·鲍伊斯·麦克内尔
爱德华·欧文·沃奇泰尔
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.)
Lenovo Singapore Pte Ltd
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1049923A publication Critical patent/CN1049923A/zh
Publication of CN1017942B publication Critical patent/CN1017942B/zh
Expired legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system

Abstract

本发明提供了保护存储在个人计算机系统中直接存取存储器设备上的BIOS的方法。个人计算机系统包括系统处理器,系统平板,随机存取主存储器,只读存储器,保护机构和至少一个直接存取存储器设备。只读存储器包括BIOS的第一部份和表示系统处理器类型与系统平板I/O配置的数据。BIOS的第一部份初始化系统和直接存取存储器设备,并且复位保护机构,以便从直接存取存储器设备上的可保护分区中将主引导记录读到随机存取存储器中。

Description

本发明与个人计算机系统有关,它特别阐述了保护存储在个人计算机系统中的海量存储器设备中的BIOS的方法和设备。
通常而言的个人计算机系统,特别是IBM个人计算机在提供计算能力方面已经在今天现代社会的许多部门中获得了广泛的应用。通常可以将个人计算机系统定义为台式的、落地式的或便携式的微计算机。它由具有单个系统处理器的系统部件、显示监视器、键盘、一个或几个软盘驱动器、硬盘存储器及一个可任选的打印机所组成。这些系统的明显的特点之一是使用将这些部件用电连接在一起的母板式系统平板。这些系统的主要的设计目的是给单用户提供独立的计算能力,而且对于个人或者对于小企业而言,购买这些系统的价格是不贵的。这样的个人计算机系统实例有IBM的个人计算机AT(PCAT)和IBM的个人系统/2(PS)/2)的25、30、50、60、70和80型。
这些系统可以分为两大系列。第一个系列,通常叫做系列Ⅰ型,使用的是总线结构,IBM    PC    AT和其它的“IBM兼容”机就是这种例证。而第二个系列,叫做系列Ⅱ型,使用的是IBM的微通道总线结构,IBM的PS/2的50型至80型则是这种例证。
从系列Ⅰ型的最早的个人计算机系统,如IBM    PC开始,人们已经认识到软件兼容性的极端重要性。为了达到该目标,在硬件和软件之间建立了一个系统驻留代码(也叫做“微码”)的隔离层。该代码在用户的应用程序/操作系统与设备之间提供了一个操作接口,这样减轻了用户对硬件设备特性的关注。为了使新的设备能加到系统中,同时又将应用程序和硬件的特性隔离开来,在基本的输入/输出系统(BIOS)中开发了该代码。BIOS的重要性是十分显然的,因为它将设备驱动程序从依赖于专门设备硬件特性中解放出来,同时又把对设备的中间接口提供给设备驱动程序。因为BIOS是系统的不可缺少的部份,它控制了系统处理器数据输入与输出的传送,所以它是驻留在系统平板上的,并且是以只读存储器(ROM)方式送给用户的。例如,在最初的IBM    PC中,占据8K    ROM的BIOS是驻留在平板上的。
当个人计算机系列新的型号提出时,BIOS必须更新及扩充,使其能包括对新的硬件和I/O设备的支持。正如可以预料的那样,BIOS开始增加其存储器的大小。例如,当引入IBM    PC    AT时,BIOS增长到需要32K字节的ROM。
今天,当用新技术开发时,系列Ⅱ型个人计算机系统渐渐变得更复杂了,而且对消费者而言,则可以更经常获得这些个人计算机系统。由于技术在 急剧地变化,且新的输入/输出(I/O)设备在不断增加到个人计算机系统中,因此在个人计算机系统的开发周期中,对BIOS的修改已经成为一个十分重要的问题。
例如,当引入具有微通道结构的IBM    PS/2时,已经开发了一个重要的、新的BIOS,通称为先进的BIOS,或ABIOS。然而,为了维护软件的兼容性,系列Ⅰ型的BIOS必须包括在系列Ⅱ型的BIOS中。于是系列Ⅰ型的BIOS称做为兼容的BIOS或CBIOS。然而,正如前面关于IBM    PCAT解释那样,只有32K字节的ROM驻留在系统平板上。幸运的是系统可以使ROM扩展到96K字节。可惜由于系统的局限性,这96K字节的ROM便是BIOS可以得到的最大容量。幸运的是即使外加了ABIOS,ABIOS和CBIOS仍可以挤在96K字节的ROM中。然而,在96K    ROM区域中只有很小的百分比可以保留为扩充之用。如果将来I/O设备不断增加的话,CBIOS和ABIOS最后将用完ROM的空间。于是,新的I/O技术将不能容量地集成在CBIOS和ABIOS之中。
由于这些问题,再加上希望在开发周期中对尽可能新的系列Ⅱ的BIOS作修改,将BIOS中的部份代码从ROM中卸载下来是很必要的。这是通过将BIOS的部份代码存储在海量存储器设备如硬盘上来实现的。由于磁盘除了可读以外,还提供了写的能力,因此在磁盘上修改实际的BIOS代码是可行的。当磁盘提供快速、有效的方法来存储BIOS代码时,磁盘仍然会大大地增加使BIOS代码变得不纯洁的可能性。由于BIOS是操作系统不可缺少的部份,一个不纯洁的BIOS可能导致毁坏的结果并且在许多情况下,造成系统的故障和不能操作。因此,很明显,提供一种防止未授权的修改硬盘上的BIOS代码的机构是非常需要的。
本发明是为了解决上述问题的。因此,本发明的目的之一是提供一种机构来防止未授权就修改存储在个人计算机系统中的直接存取存储器设备上的BIOS代码。
本发明的另一目的是对加载BIOS的磁盘提供保护。由于BIOS在实现上是化费不多的而且对最终用户又是相当透明的,因此,它并不减损计算机系统的商业上的可接受性。
大体上可认为,按照本发明的个人计算机系统是由系统处理器,随机存取存储器,只读存储器以及至少一个直接存取存储器设备组成的。在系统处理器和直接存取存储器设备之间连接的直接存取存储器设备控制器包括一个保护存储器设备区域的机构。该存储器设备的保护区域包括主引导记录和BIOS映象。为了响应复位信号,该保护机构允许存取保护区域,以使主引导记录加载到随机存取存储器。在操作中,该主引导记录还将BIOS映象加载到随机存取存储器。当执行现在在随机存取存储器中的BIOS时,生成一个第二信号,它激活了保护机构以便禁止存取含有主引导记录和BIOS映象的磁盘上的区域。然后BIOS引导操作系统,以便开始系统的操作。
具体讲,只读存储器包括BIOS的第一部份。BIOS的第一部份对系统处理器和直接存取存储器设备进行初始化,并复位保护机构,以便从直接存取存储器设备上的保护区域或分区中将主引导记录读到随机存取存储器中。该主引导记录包括一个数据段和一个可执行代码段。数据段包括表示系统硬件的数据和表示由主引导记录支持的系统配置数据。BIOS的第一部份通过校验主引导记录的数据段数据与表示系统处理器,系统平板和平板I/O配置的BIOS第一部份中的数据的一致性,来确认主引导记录和系统硬件的兼容性。
如果主引导记录与系统硬件兼容的话,BIOS的第一部份就引导系统处理器来执行主引导记录的可执行代码段。可执行代码段确认系统配置还没有修改的话,就从直接存取存储器设备中将BIOS的剩余部份加载到随机存取存储器中。然后可执行代码段校验BIOS剩余部份的可靠性,再引导系统处理器开始执行现在在随机存取存储器中的BIOS。在随机存取存储器中执行的BIOS,生成一个用于保护具有BIOS剩余部份的磁盘分区的第二信号,并再引导操作系统以便开始个人计算机系统的操作。为了保护BIOS代码的完整性,则要保护拥有BIOS剩余部份的磁盘分区,以便防止存取磁盘上的BIOS代码。
在下述与附图有关的描述中解释了本发明的前景方面和其它的特点。其中:
图1为个人计算机系统的剖面视图,说明了连到许多直接存取存储器设备的系统平板;
图2为图1所示的个人计算机系统的系统框图;
图3为装在系统平板上的ROM    BIOS的存储器映象变换图;
图4为描述从直接存取存储器设备中加载BIOS映象的总的过程的流程图;
图5为主引导记录的记录格式;
图6A为描述IBL程序操作的流程图;
图6B为说明从硬盘中加载BIOS映象的步骤的流程图;
图6C为说明从软盘中加载BIOS映象的步骤的流程图;
图6D为较详细说明检查主引导记录与平板/处理器之间的兼容性的流程图;
图7为说明主引导记录的可执行代码段操作的详细流程图;
图8为直接存取存储器设备的控制器的框图;
图9为说明为了保护存储在磁盘驱动器上IBL介质的磁盘控制器操作的流程图;并且
图10为说明保护BIOS映象的方法的流程图。
为了实现本发明,下述详细描述是目前预期的最好方式。本描述并不打算在限定的意义上加以描述,但本描述只是为了说明本发明的总的原则,因为由附录的专利范围已最好地定义了本发明的范围。
现在参考附图,特别是图1。图1是个人计算机系统10的剖面图。它有许多DASD(直接存取存储器设备)12-16,这些DASD通过许多I/O槽18连到系统板或平板24上。电源22以众所周知方式向系统10提供电能。平板24包括一个系统处理器。系统处理器在计算机指令的控制下操作输入、过程和输出信息。
在使用时,设计个人计算机系统的主要目的是为一小组用户或单个用户提供独立的计算能力,而且对于个人或小企业而言,其购买的价格也是不贵的。在操作时,系统处理器在操作系统,如IBMOS/2操作系统或PC-DOS的控制下运行。这种类型的操作系统包括了DASD12-16和该操作系统之间的BIOS的接口。可以按功能将BIOS分成模块,而BIOS的一部份存储在平板24的ROM上,下文将其称作ROM-BIOS。BIOS在硬件和操作系统软件之间提供了一个接口,使程序员或用户可以对它们的机器编程,而不需具有对特别的设备的深入的操作知识。例如,BIOS的软盘模块可允许程序员对软盘驱动器编程而不需深入了解软盘驱动器的硬件。因此,不同的公司设计和制造的若干种软盘驱动器均可以用在系统中。这不仅降低了系统10的成本,而且使用户可从若干种软盘驱动器中加以选择。
在将上述结构和本发明联系起来之前,对个人计算机系统10一般的操作小结是值得回顾的。考虑图2,图2为个人计算机系统10的框图,它说明了平板24的部件、平板24和I/O槽18的连接及个人计算机系统的其它硬件。由微处理器组成的系统处理器26位于平板24上。局部总线28将微处理器连到存储器控制器30,而该控制器再连到随机存取存储器(RAM)32。虽然任意合适的微处理器均可以使用,但一种恰当的微处理器便是由英特尔公司销售的80386。
尽管在下文描述的本发明是特别参照图2的系统框图加以描述的,但在下面描述开始时就可以被理解为,凡按照本发明所用的设备和方法,均可用在平板(母板)的其它硬件配置上。如系统处理器可以为Imtel    80286或80486微处理器。
处理器可存取平板标识号(平板ID)平板ID对于某特定的平板是唯一的,它可区分所用平板的类型。例如平板ID可以通过硬线连接,由系统处理器通过I/O端口将其读出或通过使用开关将其读出。另外,系统处理器26的另一I/O端口可用来生成使用平板逻辑线路连到磁盘控制器的复位信号。例如,寻址I/O端口的软件和激活平板逻辑来生成复位信号的软件可以用来初始该复位信号。
局部总线28通过总线控制器34再连到平板24上的只读存储器(ROM)。
附加的非易失性存储器(NVRAM)58通过再连到总线控制器34的串行/并行端口的接口40连到微处理器26。该非易失性存储器可以为有电池备份的CMOS电路,使无论何时系统中电源掉电时,仍能保护其上的信息。由于ROM通常是驻留在平板上的,而存储在ROM中的型号和子型号值相应地是用来区分系统处理器和系统平板I/O配置情况。因而,这些值实际上将用来区分 处理器和平板I/O的配置。NVRAM用来存储系统配置的数据。即NVRAM将保持描述系统现在配置的值。例如,NVRAM中具有描述硬盘或软盘的容量,显示的类型,存储器的容量,时间和日期等的信息。此外,每当执行专门的配置程序如SET    Configuration(设置配置)时,存储在ROM中的型号和子型号的值总会复制到NVRAM中。设置配置程序的目的就是将系统配置特点的值存储在NVRAM中。因此,对于配置正确的系统而言,其NVRAM中的型号和子型号的值分别等于存储在ROM中的型号与子型号的值。如果这些值不相等的话,它表明系统的配置已被修改过。请参说图6D,在那儿结合加载BIOS情况,将较详细地予以解释该特点。
参见图2,I/O平板总线43将总线控制器34再连到I/O插槽18,串行/并行接口40和外围控制器42。外围控制器42再连到键盘44,鼠标器46,诊断板47和软盘控制器64。除了NVRAM58以外,串行/并行接口再连到串行端口48和并行端口50,以便将信息输入/输出到打印机,硬拷贝设备等。正如在该技术上众所周知的那样,局部总线也可连到高速缓冲存储器控制器52和高速缓冲存储器的存储器68,协处理器54和DMA控制器56。
系统处理器26除了与个人计算机系统10的其它部件接口外,还控制它的内部操作。例如,可以看到系统处理器26连到一个小计算机系统接口(SCSI)I/O卡60上,该卡又再连到一个DASD上,如硬盘驱动器62。当然,按照本发明,SCSI磁盘驱动器不能用作硬盘。除硬盘62以外,系统处理器26可以和控制软盘驱动器66的软盘控制器64相接口。关于术语方面,术语“硬文件”描述的是硬盘驱动器62,而术语“软盘”描述的则是软盘驱动器66。
在本发明以前,ROM36可能包括操作系统和硬件外围设备接口的全部BIOS的代码。然而,按照本发明的一个方面而言,ROM36只适合存储BIOS的一部份。当系统处理器26执行这一部份时,就会从硬盘62或软盘66中输入BIOS的第二部份或BIOS的余下部份。以下将这部份BIOS称作BIOS的映象。该BIOS映象替代了BIOS的第一部份,并且作为系统中不可缺少的部份。它是驻留在主储器中如RAM32。作为存储在ROM36中的BIOS的第一部份(ROM-BIOS)在图3-4上将作一般的解释,而在图6A-D上将详细地解释。图5将解释BIOS的第二部份(BIOS映象),而图7将解释BIOS映象的加载。从DASD加载BIOS映象的另一好处是能够将BIOS直接加载到系统处理器的RAM32中。由于存取RAM比存取ROM要快得多,所以可以使计算机系统处理速度得到重大的改进。
现在我们着手解释ROM36中的BIOS的操作和从硬盘或软盘中加载BIOS映象的操作。一般说,第一部份程序如ROM-BIOS先检查系统,并且将BIOS的主引导记录加载到RAM中。主引导记录包括具有校验信息的数据段,而且作为加载机构,它还具有可执行代码的代码段。可执行代码使用数据信息来校验硬件的兼容性和系统的配置。当对硬件兼容性和正确的系统配置测试之后,可执行代码就将BIOS映象加载到RAM中,产生一个主存储器驻留程序。BIOS映象继ROM    BIOS之后,加载操作系统并开始机器的操作。为了使叙述更明了,我们将主引导记录的可执行代码段叫做MBR代码,而主引导记录的数据段叫做MBR数据。
图3为包括ROM-BIOS的不同代码模块的存储器映象图。ROM-BIOS包括加电自检(ROST)步骤I模块70,初始BIOS加载(IBL)程序模块72,软盘模块74,硬文件模块76,视频模块78,诊断板模块80和硬件兼容性数据82。简而言之,POST步骤170执行系统的预初始化和测试。IBL程序72决定BIOS映象究竟从硬盘加载还是从软盘加载,检查兼容性及加载主引导记录。软盘模块74提供了软盘驱动器的输入/输出功能。硬文件模块76控制对硬盘或类似东西的输入/输出。视频模块78控制再连到视频显示的视频输入/输出控制器的输出功能。诊断板模块80提供了系统诊断显示设备的控制功能。硬件兼容性数据82包括了系统型号的值和子型号的值。这些值将在以后关于图5的描述中加以说明。
现在再参考图4,它给出了从硬盘或软盘将BIOS映象加载到系统中的处理概况。当系统加电时,将系统处理器引导到POST步骤Ⅰ的输入点,见图4的步骤100。POST步骤Ⅰ初始化系统 并且测试从所选的DASD中加载BIOS映象的所需要的那些系统功能,见步骤102。特别是,如果需要的话,POST步骤Ⅰ会初始化处理器/平板的功能,诊断板,存储器子系统,中断控制器,定时器,DNA子系统,硬盘BIOS程序(硬文件模块76)和软盘BIOST程序(软盘模块74)。
在POST步骤Ⅰ预初始化系统之后,POST步骤Ⅰ引导系统处理器执行包括在初始BIOS加载模块72中的初始BIOS加载(IBL)程序。IBL程序首先决定BIOS映象是否存储在硬盘上或者是否可从软盘加载;其次从所选的介质(硬盘或软盘)将主引导记录加载到RAM中,见步骤104。MBR数据是用于校验目的而执行MBR代码是用来加载BIOS映象的。IBL程序的操作的详述将在关于图6A-D的描述中给出。
继续参考图4,在IBL程序将主引导记录加载到RAM之后,系统处理器引导到MBR代码的起始地址,以便开始执行,见步骤106。MBR执行一系列的校验测试以决定BIOS映象的可靠性并校验系统的配置。为了更好地了解MBR代码的操作,请注意图7,它将更详尽地描述MBR代码。
在这些校验测试的基础上,MBR代码将BIOS映象加载到RAM中,并将控制传送给新加载到主存储器的BIOS映象中,见步骤108。BIOS映象被加载到由ROM-BIOS以前占据的地址空间。即,如ROM-BIOS的地址为EOOOOH至FFFFFH,则BIOS映象也加载到该RAM地址空间,因此,BIOS映象替代了ROM-BIOS,然后控制传送给POST步骤Ⅱ,它包括在新加载的BIOS映象中,于是废弃了ROM-BIOS的控制。为了加载操作系统的引导程序,现在在RAM中的POST步骤Ⅱ则初始化并测试余下的系统。见步骤110-114。在POST步骤Ⅱ将控制传送给操作系统之前,为了防止存取由BIOS映象占据的磁盘分区,POST步骤Ⅱ设置了一个保护机构。为了详细讨论该保护过程,请参阅图8-10。值得注意的是在热起动期间,处理器引导到第108步,并旁路了第100-106步。
为了明确起见,现在来描述表示主引导记录的格式。参考图5,它给出了主引导记录。该引导记录包括可执行代码段120和数据段122-128。MBR代码120包括与DASD有关的代码,负责校验ROM-BIOS的标记,检查IBL引导记录与系统的兼容情况,校验系统配置并从所选的DASD(硬盘或软盘)中加载BIOS映象。数据段122-138包括了用于定义介质、区分并校验主引导记录、定位BIOS映象和加载BIOS映象的信息。
主引导记录由引导记录的特征122加以区分。引导记录特征可以为唯一的位的模式,如字符串“ABC”,它在该记录的开始三个字节中。主引导记录的完整性是由校验和的值132来测试的。该值要和该引导记录加载时的计算的校验和的值相比较。数据段还包括至少一个兼容的平板ID值134,兼容的型号和子型号值136。主引导记录的平板ID的值定义了主引导记录对于哪个平板是有效的。同样,主引导记录的型号和子型号值定义了主引导记录对应于哪个处理器和平板I/O配置是有效的。值得注意的是该引导记录的特征和校验和是区分有效的主引导记录的,而引导记录的平板ID,引导记录的型号和引导记录的子型号的比较是用来区分引导记录和系统的兼容情况并决定系统配置是否有效。另外一个值-引导记录模式124是用来决定ROM-BIOS的有效性。引导记录模式124与存储在ROM中的相应的模式值相比较,如果这两个值相匹配的话,它表明了有效的ROM-BIOS已经从所选的介质中起动了对BIOS映象的加载。
下面将更详细地描述主引导记录的每个值和它们的功能:
MBR标识符(122):IBL引导记录的开始三个字节,它可以由字符组成,如“ABC”。该特征是用来区分引导记录的。MBR代码段(120):该代码通过比较相应的平板ID和型号/子型号值来校验该引导记录与该平板及处理器的兼容性。如果这些值匹配的话。它将从所选择的介质中将BIOS映象加载到系统RAM中。如果系统映象(BIOS映象加载到存储器)的校验和为有效并且没有介质加载错误发生的话,MBR代码将控制传送给系统映象的POST步骤Ⅱ程序。
MBR模式(124):IBL引导记录的数据段的第一个字段包含一个模式,如字符串“ROM-BIOS1989”。通过将引导模式值和相应的存储在ROM中的值(ROM-模式)加以比较的 方法,该字符串可用来校验ROM-BIOS。
MBR版本日期(126):主引导记录包括由更新实用程序所使用的版本日期。
系统分区指针(128):数据段含有由POST步骤Ⅱ使用的,并指向介质系统分区区域开始处的介质指针。该指针在IBL软盘上是以磁道-磁头-肩区格式记录的,而在硬盘上是以相对块地址(RBA)格式记录的。
系统分区类型(130):系统分区类型表明介质系统分区的结构。系统分区可以有三种类型的系统分区结构-完全的,最小的和没有提出的三种类型。完全的系统分区除了具有BIOS映象和主引导记录外,还包括建立实用程序和诊断程序。最小的系统分区只有BIOS映象和主引导记录。它可能发生系统还没有存取具有IBL映象的硬文件的情况,在这种情况下系统分区类型为“没有提出”。此时,将从软盘中产生IBL。这三种类型的系统分区使系统分区在介质上占据多大的空间上具有相当的灵活性。
校验和的值(132):初始化数据段的校验和的值以便产生主引导记录代码的记录长度值(1.5K字节)的有效校验和。
MBR平板ID的值(134):数据段包括一个值,如定义兼容平板ID的字串。每个字由16位的平板ID组成并且该字串以值为0的字结束。如果系统的平板ID和主引导记录的平板ID的值,如该字串中的一个字,相匹配的话,则IBL介质映象和系统平板是兼容的。如果系统的平板ID没有和字串中的任意一个字相匹配的话,则IBL介质映象和系统平板不兼容。
MBR型号和子型号的值(136):数据段包括这样的值,如定义与处理器兼容的字串。每个字由型号和子型号的值组成,并且该字串以值为零的字结束。如果系统的型号和子型号的值(存储在ROM中)和字串中的一个字相匹配的话,则IBL介质映象和系统处理器相兼容。如果ROM型号和ROM子型号值与字串中的任意一个字不相匹配的话,则IBL介质映象和系统处理器不兼容。
MBR映象图的长度(138):初始化IBL映象图的长度为介质映象块的数量。换言之,如BIOS映象分成4个块的话,则该映象图的长度为4,它表明为4个块指针/长度字段。通常,该长度置为1,因为该介质映象是一个连续的128K的块。
MBR介质扇区大小(138):初始化该字值为以每扇区的字节数为单位的介质扇区大小。
介质映象块指针(138):介质映象块指针在介质上定位系统映象块。通常只有一个指针。因为介质映象是作为一个连读块来存储的。指针在IBL软盘上是以磁道-磁头-扇区格式记录的,而在硬盘上是以相对块地址格式记录的。
介质映象块长度(138):介质映象块的长度表示位于对应的映象块指针上的块的大小(以扇区为单位)。在包括BASIC空间的128K连续介质映象情况下,该字段置为256,表明在介质映象块指针地址上开始的BIOS映象块占据256扇区(512字节/扇区)。
图6A-D给出了IBL程序操作的详细流程图。通常情况下,IBL程序从系统硬盘上将主引导记录加载到RAM的指定的地址上,然后,引导系统处理器开始执行主引导记录的代码段。IBL程序也包含了对软盘隐含(缺席)方式的措施,在这种方式下是可以从软盘加载主引导记录。然而,如果系统在系统硬盘上具有IBL介质且在NVRAM中有有效的口令的话,IBL程序不允许执行软盘隐含方式。用户具有在NVRAM中设置口令的任选项。阻止软盘隐含方式有效的目的是防止从软盘中加载未授权的BIOS映象。换言之,软盘隐含方式只是用在当系统硬盘不能操作且用户具有希望能从软盘加载的指示(通过不设置口令)。如果IBL程序不能从两种介质中加载主引导记录的话,则生成错误信息且系统停机。
现在参考图6A,在通常情况下系统具有由IBL程序初始化的系统硬盘,见步骤150。为了描述起见,假设硬盘配置为个人计算机系统的驱动器C。同样,假设驱动器A为软盘驱动器。然后,IBL程序检查驱动器C来决定它是否具有IBL介质,见步骤152。请注意图6B,它详细地描述了该过程。IBL程序从硬盘的最后三个扇区开始读,再将介质指针的值减去一常数,再连续读,直到读了99个扇区或者有效的主引导记录找到为止。如果找到主引导记录,它就检查与系统平板和处理器的兼容性,见步骤156。如果它与平板或处理器不兼容的话,则报告错误信息,见步骤158。再返回来讨论第152步,如果在硬盘(基本的硬文件)的最后99个扇区没有找到主引导记录,则报告错 误信息,见步骤154。
再返回来讨论步骤156,如果主引导记录找到的话,则执行一系列的正确性检查以便决定主引导记录是否与计算机系统兼容。此外,还检查了系统的配置。图6D更详细地揭露了该过程。如果该引导记录与平板ID、型号和子型号兼容的话,并且如果进一步检查系统配置没有修改的话,则加载主引导记录并且执行主引导记录的代码段,见步骤160。
回过来讨论步骤154和158,如果错误发生在从硬盘加载主引导记录时或者系统没有硬盘的话,则IBL程序决定有效的口令是否包括在NVRAM中,见步骤162。该口令决定了BIOS映象是否能从软盘加载。注意,只有当由用户运行设置特点的实用程序来安装系统时,该口令才会存在。如果口令安装在NVRAM中,则阻止从软盘加载BIOS映象,见步骤164。这使用户通过只用硬盘上的BIOS映象来加载系统的方法来保证系统操作的完整性。该口令可以为存储在NVRAM中的字符串的格式。
再回过来讨论162步骤,如果NVRAM中的有效口令不存在的话,就允许从软盘中加载BIOS映象,且IBL程序初始化软盘子系统,见步骤166。然后IBL程序决定驱动器A中的软盘上是否有IBL介质,见步骤168。如果驱动器A中没有IBL介质,就产生错误信息,并通知用户驱动器中已经插入的是无效的软盘,见步骤170。然后系统就停机,见步骤172。请注意图6C,它对第168步骤有更详尽的讨论。
再回来讨论第168步骤,在驱动器A检查了IBL介质之后,就将主引导记录加载到RAM中,并且执行主引导记录中的代码段,见第160步骤。重要的是,对于软盘而言,IBL程序没有包括硬盘系统所用的正确性检查。没有正确性检查的理由是为了从软盘中加载一个不兼容的IBL映象。例如,如将新的处理器加到系统中的话,则新BIOS映象将包括在软盘上。由于当从硬盘加载时,新的处理器会引起正确性错误,所以IBL程序通过用从软盘加载BIOS映象的办法来提供旁路这些测试的能力。
下面扼要地重述一下,通过比较系统平板ID、处理器型号/子型号的值与主引导记录值的匹配性来检查主引导记录与系统的兼容性。对于硬盘而言,该检查首先在IBL程序72中进行的,然后再在IBL引导记录中进行。首先进行的检查(在IBL程序中)是肯定该引导记录是和系统兼容的。其次进行的检查(在引导记录中)是保证兼容的ROM将控制传送给了该引导记录。注意,在硬盘引导记录所进行的检查中,对于兼容的ROM而言是决不会失败的,因为IBL程序已经检查了兼容性。和上面相对比,对于软盘而言是不会进行兼容性检查的。只是在软盘引导记录执行期间,才会检查平板/处理器的兼容性。该方法可以使在从软盘中加载新的BIOS映象中作进一步的修改。
考虑到对图6A的IBL程序的描述,现在将对上面已讨论的正确性测试作一更广泛的和全面理解的解释。参考图6B,它给出了图6A的第152步的详细流程图,以决定有效的主引导记录是否在驱动器C上。通过获取该驱动器参数来使能IBL程序存取驱动器C的方法来开始该过程,见步骤200。将IBL加载地址置为硬盘的最后三个扇区。(通常在最后三个扇区上为主引导记录),见步骤202。将表示要从硬盘读主引导记录次数的加载记数器置为1,见步骤204。在IBL加载地址上读硬盘的三个扇区,见步骤206。只要检测到任意的磁盘驱动器错误的话或者如果发生硬盘驱动器读错误的话,则报告出错信息,见步骤208-210。然后过程以错误标志而返回。见步骤212-214。
返回来讨论第208步,如果没有驱动器错误发生的话,则扫描硬盘记录的主引导记录的特征,见步骤216。将引导记录的特征,如字符“ABC”,和该硬盘记录的开始三个字节相比较,如该硬盘记录确实具有正确的引导记录特征(字符“ABC”)以及从加载到存储器的硬盘记录中计算的校验和等于该引导记录的校验和的话,表明该硬盘记录为无错误的正确的引导记录,然后该过程再返回,见步骤214。
返回来讨论第216步,如果该引导记录特征或校验和是不正确的话,则加载记数器加1,见步骤220。然后,该加载记数器与预置的常数如99相比较,见步骤222。如99次读引导记录得到的结果是失败的话,则表示出错且该过程返回,见步骤224、212和214。如果读引导记录的次数小于99的话,则IBL加载地址减一,且再从新的加载 地址读三个新的扇区,见步骤226和206。因此,如果不能从最后的99扇区(等效于33次)加载有效的IBL引导记录的话,则置错误状态码,且控制返回到IBL程序。
现在讨论图6C,它为从驱动器A的软盘加载主引导记录的详细流程图。首先,检索存取驱动器A的软盘驱动器参数,见步骤230。IBL加载地址置为软盘的最后三个扇区(地址系以柱面,磁头和扇区的格式表示),见步骤232。读最后三个扇区,见步骤234。如检测到软盘驱动器错误的话,就指示出错,见步骤236-238。并置错误状态码再将控制返回给IBL程序,见步骤240-242。
再返回到第236步,如没有检测到驱动器错误的话,则检查软盘记录的引导记录特征且计算校验和,见步骤244。如引导记录特征漏掉的话或者校验和不正确的话,则指示出错,并将控制返回给IBL程序,见步骤244、246、240和242。如检测到正确的引导记录特征与正确的校验和的话,则设置该标志并将控制返回给IBL程序,见步骤248和242。值得注意的是在软盘加载时,IBL程序没有检索整个介质,正如在硬盘加载时那样。因此,在软盘加载时,IBL介质必须存储在软盘的指定的地址上。
最后,图6D给出了IBL程序是如何测试系统平板和处理器的兼容性以及正确的系统配置的。通过将引导记录平板ID的值和由系统处理器读出的系统平板ID值相比较,主引导记录检查与系统平板的兼容性,见步骤260。如果系统平板ID和该引导记录平板ID的值不匹配的话,它表明该主引导记录和该平板不兼容。则指示出错并将控制返回给IBL程序,见步骤262,264和266。
如主引导记录和该平板兼容的话,则主引导记录检查与处理器的兼容性,见步骤268,再将该引导记录的型号值和子型号值与存储在ROM中的相应的型号值和子型号值相比较。如不匹配的话,表明可能已经插入新的处理器且该引导记录和新处理器不兼容。则指示出错并将控制返回给IBL程序,见步骤270、264和266。如主引导记录与平板和处理器兼容的话,则处理器检查并决定NVRAM是否可靠,见步骤272。如NVRAM不可靠的话,则指示出错并将控制返回给IBL程序,见步骤274和266。如NVRAM可靠的话,则检查系统配置,见步骤276,如果存储在NVRAM中的型号和子型号的值与存储在ROM中的相应的值不匹配的话,则表明系统配置已有修改。注意,这最后的比较仅是表明配置的错误。如果指出配置错误的话,则给用户产生错误信息。该错误信息告诉用户,自从上一次运行SET配置程序以来,系统的配置已经有了修改,并通知用户修改的配置并将控制返回给IBL程序,见步骤278、264和266。该错误对它本身而言并不是致命的,但是通知用户必须再执行SET配置(配置程序)。再返回讨论步骤276,如系统型号/子型号值匹配的话,则置兼容标志且该程序返回,见步骤276、274和266。因而,与决定系统配置是否已经被修改一起,测试了主引导记录和系统之间的兼容性。
在IBL程序将主引导记录加载到RAM之后,它将控制传送至MBR代码的开始地址处。参见图7,主引导记录的可执行代码段首先检验该引导记录模式和ROM模式,见步骤300。如果在主引导记录的模式和ROM中的模式不匹配的话,则产生错误信息且系统停机,见步骤302和305。检查ROM和引导记录模式的一致性保证了从硬盘或软盘加载的主引导记录是和平板上的ROM兼容的。再返回讨论第300步,如果ROM中的模式和引导记录中的模式相匹配的话,则MBR代码将系统平板ID值、型号和子型号值与主引导记录中的相应的值加以比较,见步骤304。该过程已经在关于图6D的讨论中进行了较详细的讨论。如果这些值不匹配,则主引导记录和系统平板、处理器不兼容,或者系统配置已经修改,且产生错误信息,见步骤306。当IBL记录与平板、型号或子型号值不兼容的话,系统将停机,见步骤305。
再返回讨论第304步,如果系统平板ID值,型号和子型号的值与主引导记录中对应的值和匹配的话,则MBR代码将从所选出的介质中BIOS映象加载到系统RAM中,见步骤308。如果在读数据中介绍加载错误发生的话,见步骤310,则产生错误且系统停机,见步骤312和305。再返回讨论310步,如果没有介质加载错误发生的话,则计算存储器中的BIOS映象的校验和,见步骤314。如校验和不正确,则产生错误且系统停机,见步骤318和305。再回过来讨论第316步,如校验和正确,则保存系统分区指针,见步骤320,且系统处 理器引导到POST步骤Ⅱ并开始加载系统,见步骤322。
参见图8,它为控制磁盘驱动器351和系统处理器之间的数据传送的智能磁盘控制器框图。当然,磁盘控制器350可以合并到适配器卡60中,而盘驱动器351可以包括在图2的驱动器62中。一种适宜的磁盘控制器350是零年号为33F8740的SCSI适配器,它是由IBM公司生产的。当然磁盘控制器350包括一个在它自己内部时钟操作下的微处理器,除了用于与磁盘子系统的其它部件和系统处理器按口外,还用于控制它的内部操作。指令总线354将微处理器352连到存储指令的只读存储器(ROM)356,而磁盘控制器350执行这些指令来处理和控制磁盘驱动器与系统处理器之间的数据传送。当然也可以说,磁盘控制器350可以包括连到微处理器352并用于存储或检索数据的随机存取存储器。磁盘控制器350与系统处理器之间的数据传送是通过数据总线358与指令总线360来实现的。在线362上的复位信号在加电顺序或系统复位期间复位或初始化磁盘控制器逻辑。复位信号由平板逻辑生成,且它可采用通道复位信号的格式,正如在“IBM    PS/2研讨会会刊”第5卷第3号中描述那样,IBM公司输入系统部1987年5月出版,该通道复位信号是由IBM的微通道结构所提供的。而且通过BIOS将一个特别的位置置输出到连接平板逻辑的系统处理器的I/O端口的办法,可以有效地初始该复位信号。
众所周知,为了实现磁盘驱动器和系统处理器之间的有效的数据传送,微处理器352提供了所有接口和定时信号。为了叙述明了起见,下面只给出了对于理解本发明有重要意义的那些信号。当然,其它的信号和信号线,如数据总线364,在系统中是使用的,但是这儿并没有给出,因为它们对于理解本发明并不重要。当然,图9解释的是那些对于理解本发明有重要意义的存储在ROM356中的程序或例行程序。
现在参考图9,它是由存储在ROM356中的例行程序的操作来实现的磁盘控制器的读、写和保护功能的流程图。在操作中,磁盘指令是由系统处理器初始化的,并传送到磁盘控制器350中。为了执行指定的操作,磁盘控制器接收并解释指令,见步骤400。磁盘控制器首先决定该操作是否为写操作,在写操作中从系统处理器来的数据是存储在磁盘驱动器硬件上,见步骤402。如果该指令为写指令,则从系统处理器接收的数据格式为相对块地址(RBA)格式。
在继续上述讨论之前,简单地解释应用在海量存储器设备如磁盘上的相对块地址格式是值得的。RBA是一种方法,在这种方法中,存储在海量存储器中的数据是以预定大小的块并按照顺序号来寻址的,即按照单个可定义的连续数据块来寻址。例如,假设块的大小为1024字节,对于10兆字节硬盘而言,系统处理器约可寻址10,000块,即系统处理器可以寻址N块的磁盘介质,其中N为0至9999。已经发现,在本发明的个人计算机系统所用的操作系统中,RBA的使用提供了非常快和有效的寻址海量存储器的方法。
为了方便起见,下面假设:第一,磁盘共能支持N块;第二,系统处理器传送K块,其中K为大于等于0且小于等于(N-1);第三,磁盘控制器可以设置最大可寻址块为M;其中,如允许存取数据块,则K为小于M,如拒绝存取数据块,则K大于等于M。注意,通过设置M小于N的办法,则可从M至N-1块中生成一个在磁盘上的保护区域。该特点使IBL介质得到保护,正如下文将要描述的那样。
我们继续讨论图9,从磁盘接收的数据格式为RBA格式,见步骤404。然后磁盘控制器决定接收的块K是否小于最大的块值M,其中M小于N,见步骤406。如果K小于M,则磁盘控制器将RBA格式转换为海量存储器设备的特殊格式,如对硬盘而言的柱面-磁头-扇区(CHS)格式,见步骤408。例如,磁盘控制器通过使用查表的方法可以将RBA地址转换为唯一的柱面-磁头-扇区的地址。另一方法是使用转换公式将RBA转换为CHS。对于具有一个磁头,64个柱面,96扇区的磁盘而言:磁头=0,柱面=RBA/(96)的商,而扇区=RBA/(96)的余数。在将RBA格式转换为CHS格式之后,将数据写到磁盘上已转换的CHS地址上,见步骤410。然后磁盘控制器场待系统处理器的另一指令,见步骤412。
再返回来讨论406步骤,如果接收的RBA大于最大设置的RBA值,就拒绝存取,见步 骤414。即,如果K大于等于M,则不会将K块写到盘中。请注意,如IBL介质存储在M至M-1块中,则会保护IBL介质免受写的破坏。
再返回来讨论402步骤,如果从系统处理器来的指令不是写指令,则测试是否为读指令,见步骤416。如指令为读指令,系统处理器对于所请求的数据发送RBA格式的数据,见步骤418。然后磁盘控制器决定所请求的RBA(K)是否小于最大设置RBA(M)值。如果所请求的RBA(K)小于最大设置RBA(M)值,则磁盘控制器将该RBA转换为相应的CHS格式,并从磁盘中读数据,见步骤422和424。然后再将数据传送到系统处理器,见步骤412。
再返回讨论第420步骤,如所接收的RBA(K)大于或等于最大设置RBA(M)值,则禁止存取,见步骤426。如果IBL介质存储在M块和(N-1)块之间,则禁止存取这个区域。请注意,在这种情况下,也保护了IBL介质以禁止复制其上的数据。
返回讨论第416步骤,如指令不是写指令或读指令的话,则测试它是否为设置最大RBA指令,见步骤428。该指令使磁盘控制器在磁盘驱动器硬件上建立可保护的区域或分区。该指令使磁盘控制器将M设置在0与N块之间,见步骤430。重要的是要注意,当磁盘控制器复位时(通过复位信号),则将M置位,因此可得到最大的块数。即,当磁盘控制器复位时,M=N。基本上,在复位磁盘控制器时会取消对可保护区域的保护,即允许存取该区域。然而,一当执行了设置最大RBA指令以后,只有复位或者另一个设置最大RBA指令将允许存取可保护的区域。从概念上讲,设置最大的RBA可以认为是设置一个围墙,在围墙之上,将保护存取该区域,而在围墙以下则允许存取该区域。然后,磁盘控制器返回去等待另一指令,见步骤412。
返回来讨论第428步骤,如果指令不是读、写或设置最大RBA指令,则将测试它是否为另一个磁盘控制器指令并执行它,见步骤432。这些指令会使用设置最大RBA值,但是对理解本发明是不重要的,并且为了简洁起见,这儿就不再陈述了。然后,磁盘控制器返回去等待另一指令,见步骤412。
考虑到所进行的讨论,现在要进行对加载和保护IBL介质的操作的解释。一般地说,无论是冷起动(加电)还是热起动(同时按ALT-CTRL-DEL键),均令复位具有IBL介质的磁盘控制器。这使最大RBA(M)设置为N,即把围墙除去了,就可存取IBL介质。需要上述过程来允许系统加载IBL介质并开始操作。一当加载并执行IBL介质之后,就建立了围墙(设置最大RBA小于IBL介质的相应值),以便阻止对存储在磁盘上的IBL介质的存取。
现在讨论图10,它为实现对IBL介质保护的流程框图。从加电状态起,初始化系统并且开始平板逻辑上的活动,将复位状态送到磁盘控制器,见步骤450和452。复位信号删除了“围墙”,并且使系统处理器存取以前存储在磁盘M块至N块的区域中的IBL介质。系统则加载IBL介质,就像以前关于图4-7描述的那样。在IBL加载顺序期间,执行POST步骤Ⅱ,见步骤456。POST步骤Ⅱ的任务之一是用最大RBA设置来执行设置最大RBA指令,而指定为M的最大的RBA设置送到IBL介质的第一块,见步骤458。正如以前所解释的那样,M取决于分区的类型(没有,部分或全部)。实际上,这就设置了围墙,不准存取IBL介质而允许存取磁盘的其它的区域。然后操作系统以正常方式引导起来了,见步骤460。
如果系统以热起动方式起动的话,如同时按ALT-CTRL-DEL键,POST步骤Ⅱ命令平板逻辑来复位磁盘控制器,见步骤462和464。这就使围墙被删除掉了。在这种情况下,由于IBL介质经存在于RAM中,所以不再加载IBL介质了。然而,由于对IBL介质的保护被删除了,所以必须执行POST步骤Ⅱ来复位围墙,见步骤456与458。因此围墙建立了,从而保护了IBL介质,然后系统以正常方式重新引导,见步骤460。
因此,已经说明了保护存取存储在海量存储器,如磁盘驱动器上的IBL介质的方法和设备。通过以块的方式寻址海量存储器和设置正常操作期间系统可以存取的最大的块的方法来保护IBL介质。IBL介质是连续存储在最大可存取的块与磁盘驱动器支持的总的块数之间的那些块中。复位信号送到磁盘控制器以删除最大的可存取块,并允许系统寻址IBL介质。在加电状态或热起动状态期 间,产生复位信号来允许存取IBL介质,再引导操作系统。
在优选的具体化的描述中已经说明了本发明后,那些技术上一般熟练的人可对本发明作许多变化,因此本发明的范围只是通过本文所附的本专利范围及高效的范围才予以定义。

Claims (3)

1、保护个人计算机系统中的BIOS的方法,该系统包括系统处理器,只读存储器,随机存取存储器和直接存取存储器设备,所说的方法包括下述步骤:
(a)在只读存储器中存储BIOS的第一部分,BIOS的第一部分包括用于初始化系统的机构;
(b)在直接存取存储器设备上的可保护分区存储主引导记录和BIOS的剩余部分,在个人计算机系统的正常操作期间BIOS的剩余部分驻留在随机存取存储器中;
(c)初始化系统和起动送到直接存取存储器设备的复位信号的生成;
(d)取消对可保护区的保护,以允许系统处理器存取主引导记录和BIOS的剩余部分,响应复位响号取消保护;
(e)将主引导记录加载到随机存取储器中,主引导记录包括一个可执行代码段;
(f)将控制传送给可执行代码段,以便将BIOS的剩余部分加载到随机存取存储器中;并且
(g)将控制传送给随机存取存储器中的BIOS剩余部分,BIOS的剩余部分在可保护分区上设置保护,以防止未授权地存取存储在直接存取存储器设备上的可保护分区中的主引导记录和BIOS的剩余部分。
2、权利要求1的方法,还包括通过将存储在BIOS的第一部分中的数据与存储在主引导记录中相应数据相比较的方法,来校验主引导记录与系统兼容性的步骤(h)。
3、权利要求1的方法,还包括通过将存储在只读存储器中的数据与包括在主引导记录中的相应数据相比较的方法,来校验主引导记录与系统处理器的兼容性步骤(i)。
CN90106879A 1989-08-25 1990-08-11 防止未授权存取基本输入输出系统的方法 Expired CN1017942B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US398,820 1989-08-25
US07/398,820 US5022077A (en) 1989-08-25 1989-08-25 Apparatus and method for preventing unauthorized access to BIOS in a personal computer system

Publications (2)

Publication Number Publication Date
CN1049923A CN1049923A (zh) 1991-03-13
CN1017942B true CN1017942B (zh) 1992-08-19

Family

ID=23576925

Family Applications (1)

Application Number Title Priority Date Filing Date
CN90106879A Expired CN1017942B (zh) 1989-08-25 1990-08-11 防止未授权存取基本输入输出系统的方法

Country Status (17)

Country Link
US (1) US5022077A (zh)
EP (1) EP0417889B1 (zh)
JP (1) JPH0754463B2 (zh)
KR (1) KR930004902B1 (zh)
CN (1) CN1017942B (zh)
AT (1) ATE138748T1 (zh)
AU (1) AU635551B2 (zh)
BR (1) BR9004199A (zh)
CA (1) CA2020520C (zh)
DE (2) DE69027165T2 (zh)
GB (1) GB9012948D0 (zh)
HK (1) HK203196A (zh)
IL (1) IL95229A0 (zh)
MX (1) MX171879B (zh)
MY (1) MY106706A (zh)
NZ (1) NZ234712A (zh)
SG (1) SG44409A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1053507C (zh) * 1994-10-07 2000-06-14 邵通 计算机硬盘读写控制装置
CN100416448C (zh) * 2005-08-25 2008-09-03 深圳市研祥智能科技股份有限公司 计算机系统及其配置方法

Families Citing this family (219)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9012949D0 (en) * 1989-08-25 1990-08-01 Ibm An apparatus and method for loading bios from a diskette in a personal computer system
US5210875A (en) * 1989-08-25 1993-05-11 International Business Machines Corporation Initial bios load for a personal computer system
US5136713A (en) * 1989-08-25 1992-08-04 International Business Machines Corporation Apparatus and method for decreasing the memory requirements for bios in a personal computer system
GB9003890D0 (en) * 1990-02-21 1990-04-18 Rodime Plc Method and apparatus for controlling access to and corruption of information in computer systems
JPH03276337A (ja) * 1990-03-27 1991-12-06 Toshiba Corp マイクロコントローラ
EP0449242A3 (en) * 1990-03-28 1992-10-28 National Semiconductor Corporation Method and structure for providing computer security and virus prevention
US5128995A (en) * 1990-07-23 1992-07-07 International Business Machines Corp. Apparatus and method for loading a system reference diskette image from a system partition in a personal computer system
US5193174A (en) * 1990-07-23 1993-03-09 International Business Machines Corporation System for automatically redirecting information to alternate system console in response to the comparison of present and default system configuration in personal computer system
US5214695A (en) * 1990-07-23 1993-05-25 International Business Machines Corporation Apparatus and method for loading a system reference diskette image from a system partition in a personal computer system
FR2671205B1 (fr) * 1990-12-27 1995-01-20 Telemecanique Procede de controle de l'utilisation d'un poste de travail informatique par mot de passe et poste de travail informatique mettant en óoeuvre ce procede.
US5432946A (en) * 1991-04-11 1995-07-11 International Business Machines Corp. LAN server personal computer with unattended activation capability
US5598531A (en) * 1991-05-13 1997-01-28 William Stanley Hill Method and apparatus for preventing "disease" damage in computer systems
US5388267A (en) * 1991-05-29 1995-02-07 Dell Usa, L.P. Method and apparatus for updating and restoring system BIOS functions while maintaining BIOS integrity
JP2637310B2 (ja) * 1991-06-19 1997-08-06 富士通株式会社 システムインストール制御装置
DE4123126C1 (zh) * 1991-07-12 1992-06-25 Man Roland Druckmaschinen Ag, 6050 Offenbach, De
US5291585A (en) * 1991-07-29 1994-03-01 Dell Usa, L.P. Computer system having system feature extension software containing a self-describing feature table for accessing I/O devices according to machine-independent format
US5257379A (en) * 1991-09-04 1993-10-26 International Business Machines Corporation Establishing synchronization of hardware and software I/O configuration definitions
US5826075A (en) * 1991-10-16 1998-10-20 International Business Machines Corporation Automated programmable fireware store for a personal computer system
US5388266A (en) * 1992-03-30 1995-02-07 International Business Machines Corporation Management of data objects used intain state information for shared data at a local complex
US5421006A (en) * 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
US5432939A (en) * 1992-05-27 1995-07-11 International Business Machines Corp. Trusted personal computer system with management control over initial program loading
US5408664A (en) * 1992-06-19 1995-04-18 Silicon Graphics, Incorporated System and Method for booting computer for operation in either of two byte-order modes
US5379342A (en) * 1993-01-07 1995-01-03 International Business Machines Corp. Method and apparatus for providing enhanced data verification in a computer system
US6357000B1 (en) 1993-01-29 2002-03-12 Microsoft Corporation Method and system for specified loading of an operating system
JPH06242957A (ja) * 1993-02-16 1994-09-02 Fujitsu Ltd プログラム実行制御装置
US5542077A (en) * 1993-09-10 1996-07-30 Compaq Computer Corporation Personal computer with CMOS memory not having a separate battery
US5651139A (en) * 1993-12-23 1997-07-22 International Business Machines Corporation Protected system partition read/write access on a SCSI controlled DASD
US5768568A (en) * 1994-04-29 1998-06-16 International Business Machines Corp. System and method for initializing an information processing system
US5864698A (en) * 1994-08-24 1999-01-26 Packard Bell Nec Disk based bios
US5537540A (en) * 1994-09-30 1996-07-16 Compaq Computer Corporation Transparent, secure computer virus detection method and apparatus
US6421776B1 (en) * 1994-10-14 2002-07-16 International Business Machines Corporation Data processor having BIOS packing compression/decompression architecture
US5819306A (en) * 1995-02-14 1998-10-06 General Magic Shadow mechanism for a modifiable object oriented system
US5692187A (en) * 1995-02-14 1997-11-25 General Magic Shadow mechanism having masterblocks for a modifiable object oriented system
US5835594A (en) 1996-02-09 1998-11-10 Intel Corporation Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage
US5712973A (en) * 1996-05-20 1998-01-27 International Business Machines Corp. Wireless proximity containment security
US6330648B1 (en) * 1996-05-28 2001-12-11 Mark L. Wambach Computer memory with anti-virus and anti-overwrite protection apparatus
US5822614A (en) * 1996-05-31 1998-10-13 Unisys Corporation Self-identifying peripheral device
US6530019B1 (en) * 1996-06-12 2003-03-04 Dell U.S.A., L.P. Disk boot sector for software contract enforcement
US5778070A (en) * 1996-06-28 1998-07-07 Intel Corporation Method and apparatus for protecting flash memory
US5819087A (en) * 1996-07-19 1998-10-06 Compaq Computer Corporation Flash ROM sharing between processor and microcontroller during booting and handling warm-booting events
US5937063A (en) * 1996-09-30 1999-08-10 Intel Corporation Secure boot
US5844986A (en) * 1996-09-30 1998-12-01 Intel Corporation Secure BIOS
US5892943A (en) * 1996-12-30 1999-04-06 Standard Microsystems Corp. Shared bios ROM warm boot
US6560701B1 (en) 1997-02-10 2003-05-06 International Business Machines Corporation Alternate boot record
US5953502A (en) * 1997-02-13 1999-09-14 Helbig, Sr.; Walter A Method and apparatus for enhancing computer system security
JPH11143718A (ja) * 1997-11-05 1999-05-28 Nec Corp Bios格納並びに制御方法
KR100441171B1 (ko) * 1998-02-20 2004-10-14 삼성전자주식회사 플래쉬롬과램을이용한펌웨어구현방법
US6269374B1 (en) * 1998-05-26 2001-07-31 International Business Machines Corporation Method and apparatus for updating checksums of data structures
WO1999066383A2 (en) * 1998-06-15 1999-12-23 Dmw Worldwide, Inc. Method and apparatus for assessing the security of a computer system
US6138240A (en) * 1998-06-19 2000-10-24 Compaq Computer Corporation Secure general purpose input/output pins for protecting computer system resources
JP3937598B2 (ja) * 1998-07-14 2007-06-27 株式会社デンソー 電子制御装置
US6401208B2 (en) 1998-07-17 2002-06-04 Intel Corporation Method for BIOS authentication prior to BIOS execution
US6735696B1 (en) * 1998-08-14 2004-05-11 Intel Corporation Digital content protection using a secure booting method and apparatus
US6493749B2 (en) * 1998-08-17 2002-12-10 International Business Machines Corporation System and method for an administration server
US6327660B1 (en) 1998-09-18 2001-12-04 Intel Corporation Method for securing communications in a pre-boot environment
US7380140B1 (en) * 1998-12-30 2008-05-27 Spyrus, Inc. Providing a protected volume on a data storage device
US6546489B1 (en) 1999-03-04 2003-04-08 Western Digital Ventures, Inc. Disk drive which provides a secure boot of a host computer system from a protected area of a disk
US6618810B1 (en) 1999-05-27 2003-09-09 Dell Usa, L.P. Bios based method to disable and re-enable computers
US6647494B1 (en) 1999-06-14 2003-11-11 Intel Corporation System and method for checking authorization of remote configuration operations
CN1091903C (zh) * 1999-06-28 2002-10-02 李增胜 防止cih等病毒破坏计算机主板bios的方法
US6487465B1 (en) * 1999-11-01 2002-11-26 International Business Machines Corporation Method and system for improved computer security during ROM Scan
TW452733B (en) * 1999-11-26 2001-09-01 Inventec Corp Method for preventing BIOS from viruses infection
US7231513B1 (en) * 1999-12-17 2007-06-12 Intel Corporation Dynamically linked basic input/output system
US6711675B1 (en) * 2000-02-11 2004-03-23 Intel Corporation Protected boot flow
US7073071B1 (en) 2000-03-31 2006-07-04 Intel Corporation Platform and method for generating and utilizing a protected audit log
US6990579B1 (en) 2000-03-31 2006-01-24 Intel Corporation Platform and method for remote attestation of a platform
US7089418B1 (en) 2000-03-31 2006-08-08 Intel Corporation Managing accesses in a processor for isolated execution
US7356817B1 (en) 2000-03-31 2008-04-08 Intel Corporation Real-time scheduling of virtual machines
US6769058B1 (en) 2000-03-31 2004-07-27 Intel Corporation Resetting a processor in an isolated execution environment
US6633963B1 (en) 2000-03-31 2003-10-14 Intel Corporation Controlling access to multiple memory zones in an isolated execution environment
US6760441B1 (en) 2000-03-31 2004-07-06 Intel Corporation Generating a key hieararchy for use in an isolated execution environment
US6957332B1 (en) 2000-03-31 2005-10-18 Intel Corporation Managing a secure platform using a hierarchical executive architecture in isolated execution mode
US7111176B1 (en) 2000-03-31 2006-09-19 Intel Corporation Generating isolated bus cycles for isolated execution
US6934817B2 (en) * 2000-03-31 2005-08-23 Intel Corporation Controlling access to multiple memory zones in an isolated execution environment
US7194634B2 (en) 2000-03-31 2007-03-20 Intel Corporation Attestation key memory device and bus
US7082615B1 (en) 2000-03-31 2006-07-25 Intel Corporation Protecting software environment in isolated execution
US6795905B1 (en) 2000-03-31 2004-09-21 Intel Corporation Controlling accesses to isolated memory using a memory controller for isolated execution
US6996710B1 (en) 2000-03-31 2006-02-07 Intel Corporation Platform and method for issuing and certifying a hardware-protected attestation key
US7013481B1 (en) 2000-03-31 2006-03-14 Intel Corporation Attestation key memory device and bus
US7013484B1 (en) 2000-03-31 2006-03-14 Intel Corporation Managing a secure environment using a chipset in isolated execution mode
US6678825B1 (en) 2000-03-31 2004-01-13 Intel Corporation Controlling access to multiple isolated memories in an isolated execution environment
US6507904B1 (en) 2000-03-31 2003-01-14 Intel Corporation Executing isolated mode instructions in a secure system running in privilege rings
US6754815B1 (en) 2000-03-31 2004-06-22 Intel Corporation Method and system for scrubbing an isolated area of memory after reset of a processor operating in isolated execution mode if a cleanup flag is set
US6880048B1 (en) * 2000-06-08 2005-04-12 Palm, Source, Inc. Method and apparatus for fault-tolerant update of flash ROM contents
US6976162B1 (en) * 2000-06-28 2005-12-13 Intel Corporation Platform and method for establishing provable identities while maintaining privacy
US6678833B1 (en) 2000-06-30 2004-01-13 Intel Corporation Protection of boot block data and accurate reporting of boot block contents
US7069452B1 (en) * 2000-07-12 2006-06-27 International Business Machines Corporation Methods, systems and computer program products for secure firmware updates
US6976163B1 (en) 2000-07-12 2005-12-13 International Business Machines Corporation Methods, systems and computer program products for rule based firmware updates utilizing certificate extensions and certificates for use therein
GB0020371D0 (en) 2000-08-18 2000-10-04 Hewlett Packard Co Apparatus and method for establishing trust
GB0020438D0 (en) 2000-08-18 2000-10-04 Hewlett Packard Co Security apparatus
US7793111B1 (en) 2000-09-28 2010-09-07 Intel Corporation Mechanism to handle events in a machine with isolated execution
US7389427B1 (en) 2000-09-28 2008-06-17 Intel Corporation Mechanism to secure computer output from software attack using isolated execution
US6414513B1 (en) 2000-10-03 2002-07-02 International Business Machines Corporation Customized system-readable hardware/firmware integrated circuit version information
US7215781B2 (en) * 2000-12-22 2007-05-08 Intel Corporation Creation and distribution of a secret value between two devices
US7035963B2 (en) * 2000-12-27 2006-04-25 Intel Corporation Method for resolving address space conflicts between a virtual machine monitor and a guest operating system
US7225441B2 (en) * 2000-12-27 2007-05-29 Intel Corporation Mechanism for providing power management through virtualization
US6907600B2 (en) 2000-12-27 2005-06-14 Intel Corporation Virtual translation lookaside buffer
US7818808B1 (en) 2000-12-27 2010-10-19 Intel Corporation Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor
US6976172B2 (en) * 2000-12-28 2005-12-13 Intel Corporation System and method for protected messaging
US7117376B2 (en) * 2000-12-28 2006-10-03 Intel Corporation Platform and method of creating a secure boot that enforces proper user authentication and enforces hardware configurations
US7028184B2 (en) * 2001-01-17 2006-04-11 International Business Machines Corporation Technique for digitally notarizing a collection of data streams
US6990444B2 (en) 2001-01-17 2006-01-24 International Business Machines Corporation Methods, systems, and computer program products for securely transforming an audio stream to encoded text
US6691213B1 (en) * 2001-02-28 2004-02-10 Western Digital Ventures, Inc. Computer system and method for accessing a protected partition of a disk drive that lies beyond a limited address range of a host computer's BIOS
US20020144121A1 (en) * 2001-03-30 2002-10-03 Ellison Carl M. Checking file integrity using signature generated in isolated execution
US7272831B2 (en) * 2001-03-30 2007-09-18 Intel Corporation Method and apparatus for constructing host processor soft devices independent of the host processor operating system
US7096497B2 (en) * 2001-03-30 2006-08-22 Intel Corporation File checking using remote signing authority via a network
US20030037237A1 (en) * 2001-04-09 2003-02-20 Jean-Paul Abgrall Systems and methods for computer device authentication
US6976136B2 (en) 2001-05-07 2005-12-13 National Semiconductor Corporation Flash memory protection scheme for secured shared BIOS implementation in personal computers with an embedded controller
AU2002315565B2 (en) * 2001-06-29 2007-05-24 Secure Systems Limited Security system and method for computers
US6862681B2 (en) 2001-07-16 2005-03-01 International Business Machines Corporation Method and system for master boot record recovery
US6549980B2 (en) 2001-07-19 2003-04-15 Dell Pruducts L.P. Manufacturing process for software raid disk sets in a computer system
US7036020B2 (en) * 2001-07-25 2006-04-25 Antique Books, Inc Methods and systems for promoting security in a computer system employing attached storage devices
US7925894B2 (en) * 2001-07-25 2011-04-12 Seagate Technology Llc System and method for delivering versatile security, digital rights management, and privacy services
US7165137B2 (en) * 2001-08-06 2007-01-16 Sandisk Corporation System and method for booting from a non-volatile application and file storage device
US7191440B2 (en) * 2001-08-15 2007-03-13 Intel Corporation Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor
DE10142537A1 (de) * 2001-08-30 2003-03-20 Adp Gauselmann Gmbh Verfahren zur Aktivierung einer in einem Gehäuse angeordneten Steuereinheit, die gegen ein Ausspähen von Daten geschützt ist
US7237126B2 (en) * 2001-09-28 2007-06-26 Hewlett-Packard Development Company, L.P. Method and apparatus for preserving the integrity of a management subsystem environment
US20040054952A1 (en) * 2002-09-13 2004-03-18 Morrow James W. Device verification system and method
US7024555B2 (en) 2001-11-01 2006-04-04 Intel Corporation Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment
US7103771B2 (en) * 2001-12-17 2006-09-05 Intel Corporation Connecting a virtual token to a physical token
US20030126454A1 (en) * 2001-12-28 2003-07-03 Glew Andrew F. Authenticated code method and apparatus
US20030126453A1 (en) * 2001-12-31 2003-07-03 Glew Andrew F. Processor supporting execution of an authenticated code instruction
US7308576B2 (en) * 2001-12-31 2007-12-11 Intel Corporation Authenticated code module
US7480806B2 (en) * 2002-02-22 2009-01-20 Intel Corporation Multi-token seal and unseal
US7124273B2 (en) * 2002-02-25 2006-10-17 Intel Corporation Method and apparatus for translating guest physical addresses in a virtual machine environment
US7631196B2 (en) 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
US7028149B2 (en) * 2002-03-29 2006-04-11 Intel Corporation System and method for resetting a platform configuration register
US7069442B2 (en) 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US20030191943A1 (en) * 2002-04-05 2003-10-09 Poisner David I. Methods and arrangements to register code
US20030196096A1 (en) * 2002-04-12 2003-10-16 Sutton James A. Microcode patch authentication
US7058807B2 (en) * 2002-04-15 2006-06-06 Intel Corporation Validation of inclusion of a platform within a data center
US7076669B2 (en) * 2002-04-15 2006-07-11 Intel Corporation Method and apparatus for communicating securely with a token
US20030196100A1 (en) * 2002-04-15 2003-10-16 Grawrock David W. Protection against memory attacks following reset
US7127548B2 (en) * 2002-04-16 2006-10-24 Intel Corporation Control register access virtualization performance improvement in the virtual-machine architecture
US7139890B2 (en) * 2002-04-30 2006-11-21 Intel Corporation Methods and arrangements to interface memory
US7114051B2 (en) * 2002-06-01 2006-09-26 Solid State System Co., Ltd. Method for partitioning memory mass storage device
US20030229794A1 (en) * 2002-06-07 2003-12-11 Sutton James A. System and method for protection against untrusted system management code by redirecting a system management interrupt and creating a virtual machine container
US6820177B2 (en) 2002-06-12 2004-11-16 Intel Corporation Protected configuration space in a protected environment
US7142674B2 (en) * 2002-06-18 2006-11-28 Intel Corporation Method of confirming a secure key exchange
US7392415B2 (en) * 2002-06-26 2008-06-24 Intel Corporation Sleep protection
US20040003321A1 (en) * 2002-06-27 2004-01-01 Glew Andrew F. Initialization of protected system
US7124327B2 (en) * 2002-06-29 2006-10-17 Intel Corporation Control over faults occurring during the operation of guest software in the virtual-machine architecture
US6996748B2 (en) * 2002-06-29 2006-02-07 Intel Corporation Handling faults associated with operation of guest software in the virtual-machine architecture
US7296267B2 (en) * 2002-07-12 2007-11-13 Intel Corporation System and method for binding virtual machines to hardware contexts
EP1795993B1 (en) * 2002-07-30 2018-02-28 Fujitsu Limited Method and apparatus for reproducing information using a security module
US20040064457A1 (en) * 2002-09-27 2004-04-01 Zimmer Vincent J. Mechanism for providing both a secure and attested boot
US7082525B2 (en) * 2002-10-02 2006-07-25 Sandisk Corporation Booting from non-linear memory
US20040078497A1 (en) * 2002-10-17 2004-04-22 Nalawadi Rajeev K. Method and apparatus for detecting configuration change
US7165181B2 (en) * 2002-11-27 2007-01-16 Intel Corporation System and method for establishing trust without revealing identity
US7073042B2 (en) 2002-12-12 2006-07-04 Intel Corporation Reclaiming existing fields in address translation data structures to extend control over memory accesses
US7318235B2 (en) * 2002-12-16 2008-01-08 Intel Corporation Attestation using both fixed token and portable token
US20040117318A1 (en) * 2002-12-16 2004-06-17 Grawrock David W. Portable token controlling trusted environment launch
US7318141B2 (en) 2002-12-17 2008-01-08 Intel Corporation Methods and systems to control virtual machines
US7793286B2 (en) * 2002-12-19 2010-09-07 Intel Corporation Methods and systems to manage machine state in virtual machine operations
US20040128345A1 (en) * 2002-12-27 2004-07-01 Robinson Scott H. Dynamic service registry
US7900017B2 (en) * 2002-12-27 2011-03-01 Intel Corporation Mechanism for remapping post virtual machine memory pages
US20040128465A1 (en) * 2002-12-30 2004-07-01 Lee Micheil J. Configurable memory bus width
US7076802B2 (en) * 2002-12-31 2006-07-11 Intel Corporation Trusted system clock
US7415708B2 (en) * 2003-06-26 2008-08-19 Intel Corporation Virtual machine management using processor state information
US20050044292A1 (en) * 2003-08-19 2005-02-24 Mckeen Francis X. Method and apparatus to retain system control when a buffer overflow attack occurs
US7287197B2 (en) * 2003-09-15 2007-10-23 Intel Corporation Vectoring an interrupt or exception upon resuming operation of a virtual machine
US7424709B2 (en) * 2003-09-15 2008-09-09 Intel Corporation Use of multiple virtual machine monitors to handle privileged events
US7739521B2 (en) * 2003-09-18 2010-06-15 Intel Corporation Method of obscuring cryptographic computations
US7610611B2 (en) * 2003-09-19 2009-10-27 Moran Douglas R Prioritized address decoder
US7177967B2 (en) 2003-09-30 2007-02-13 Intel Corporation Chipset support for managing hardware interrupts in a virtual machine system
US7237051B2 (en) * 2003-09-30 2007-06-26 Intel Corporation Mechanism to control hardware interrupt acknowledgement in a virtual machine system
US20050080934A1 (en) 2003-09-30 2005-04-14 Cota-Robles Erik C. Invalidating translation lookaside buffer entries in a virtual machine (VM) system
US7366305B2 (en) * 2003-09-30 2008-04-29 Intel Corporation Platform and method for establishing trust without revealing identity
US7636844B2 (en) 2003-11-17 2009-12-22 Intel Corporation Method and system to provide a trusted channel within a computer system for a SIM device
US20050108534A1 (en) * 2003-11-19 2005-05-19 Bajikar Sundeep M. Providing services to an open platform implementing subscriber identity module (SIM) capabilities
US8156343B2 (en) 2003-11-26 2012-04-10 Intel Corporation Accessing private data about the state of a data processing machine from storage that is publicly accessible
US8037314B2 (en) 2003-12-22 2011-10-11 Intel Corporation Replacing blinded authentication authority
US20050133582A1 (en) * 2003-12-22 2005-06-23 Bajikar Sundeep M. Method and apparatus for providing a trusted time stamp in an open platform
US20050152539A1 (en) * 2004-01-12 2005-07-14 Brickell Ernie F. Method of protecting cryptographic operations from side channel attacks
US7178015B2 (en) * 2004-01-12 2007-02-13 Hewlett-Packard Development Company, L.P. Security measures in a partitionable computing system
US7802085B2 (en) 2004-02-18 2010-09-21 Intel Corporation Apparatus and method for distributing private keys to an entity with minimal secret, unique information
US20050216920A1 (en) * 2004-03-24 2005-09-29 Vijay Tewari Use of a virtual machine to emulate a hardware device
US7356735B2 (en) * 2004-03-30 2008-04-08 Intel Corporation Providing support for single stepping a virtual machine in a virtual machine environment
US7620949B2 (en) * 2004-03-31 2009-11-17 Intel Corporation Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment
US20050257016A1 (en) * 2004-05-17 2005-11-17 Brian Boles Digital signal controller secure memory partitioning
US7490070B2 (en) 2004-06-10 2009-02-10 Intel Corporation Apparatus and method for proving the denial of a direct proof signature
US20050288056A1 (en) * 2004-06-29 2005-12-29 Bajikar Sundeep M System including a wireless wide area network (WWAN) module with an external identity module reader and approach for certifying the WWAN module
US7305592B2 (en) * 2004-06-30 2007-12-04 Intel Corporation Support for nested fault in a virtual machine environment
US7694121B2 (en) * 2004-06-30 2010-04-06 Microsoft Corporation System and method for protected operating system boot using state validation
US7343496B1 (en) 2004-08-13 2008-03-11 Zilog, Inc. Secure transaction microcontroller with secure boot loader
US7840962B2 (en) * 2004-09-30 2010-11-23 Intel Corporation System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time
US8146078B2 (en) 2004-10-29 2012-03-27 Intel Corporation Timer offsetting mechanism in a virtual machine environment
US8924728B2 (en) 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
US8533777B2 (en) * 2004-12-29 2013-09-10 Intel Corporation Mechanism to determine trust of out-of-band management agents
US7395405B2 (en) * 2005-01-28 2008-07-01 Intel Corporation Method and apparatus for supporting address translation in a virtual machine environment
US7809957B2 (en) 2005-09-29 2010-10-05 Intel Corporation Trusted platform module for generating sealed data
CN100421075C (zh) * 2006-01-25 2008-09-24 英业达股份有限公司 Bios程序启始区更新系统以及方法
US8014530B2 (en) 2006-03-22 2011-09-06 Intel Corporation Method and apparatus for authenticated, recoverable key distribution with no database secrets
US8028166B2 (en) * 2006-04-25 2011-09-27 Seagate Technology Llc Versatile secure and non-secure messaging
US8429724B2 (en) 2006-04-25 2013-04-23 Seagate Technology Llc Versatile access control system
US7539890B2 (en) * 2006-04-25 2009-05-26 Seagate Technology Llc Hybrid computer security clock
KR20080004773A (ko) * 2006-07-06 2008-01-10 삼성전자주식회사 하드 디스크의 액세스 타임 자동 설정 방법 및 그 장치
US8037291B2 (en) * 2007-01-29 2011-10-11 Hewlett-Packard Development Company, L.P. Master boot record management
US8132253B2 (en) * 2008-04-21 2012-03-06 Dell Products L.P. Memory security override protection for manufacturability of information handling systems
CN102467426B (zh) * 2010-11-08 2015-01-28 英业达股份有限公司 在bios中禁止外接卡选项只读内存的方法
JP6070115B2 (ja) * 2012-11-28 2017-02-01 日本電気株式会社 情報処理装置、bmcおよびbiosアップデート方法
US9036284B1 (en) * 2013-09-16 2015-05-19 Seagate Technology Llc Isolated shingled bands of fractional tracks
US9507942B2 (en) 2013-11-13 2016-11-29 Via Technologies, Inc. Secure BIOS mechanism in a trusted computing system
US9779242B2 (en) 2013-11-13 2017-10-03 Via Technologies, Inc. Programmable secure bios mechanism in a trusted computing system
US10049217B2 (en) 2013-11-13 2018-08-14 Via Technologies, Inc. Event-based apparatus and method for securing bios in a trusted computing system during execution
US9183394B2 (en) 2013-11-13 2015-11-10 Via Technologies, Inc. Secure BIOS tamper protection mechanism
US10055588B2 (en) 2013-11-13 2018-08-21 Via Technologies, Inc. Event-based apparatus and method for securing BIOS in a trusted computing system during execution
US9798880B2 (en) 2013-11-13 2017-10-24 Via Technologies, Inc. Fuse-enabled secure bios mechanism with override feature
US9367689B2 (en) 2013-11-13 2016-06-14 Via Technologies, Inc. Apparatus and method for securing BIOS in a trusted computing system
US9129113B2 (en) 2013-11-13 2015-09-08 Via Technologies, Inc. Partition-based apparatus and method for securing bios in a trusted computing system during execution
US9547767B2 (en) 2013-11-13 2017-01-17 Via Technologies, Inc. Event-based apparatus and method for securing bios in a trusted computing system during execution
US9767288B2 (en) 2013-11-13 2017-09-19 Via Technologies, Inc. JTAG-based secure BIOS mechanism in a trusted computing system
US9779243B2 (en) 2013-11-13 2017-10-03 Via Technologies, Inc. Fuse-enabled secure BIOS mechanism in a trusted computing system
US10095868B2 (en) 2013-11-13 2018-10-09 Via Technologies, Inc. Event-based apparatus and method for securing bios in a trusted computing system during execution
CN107220553A (zh) * 2017-05-25 2017-09-29 郑州云海信息技术有限公司 一种保护bios芯片中存储的内容的装置及控制芯片
US10623432B2 (en) 2017-06-21 2020-04-14 International Business Machines Corporation Mitigating security risks utilizing continuous device image reload with data integrity
US11221841B2 (en) 2018-08-03 2022-01-11 Hewlett-Packard Development Company, L.P. BIOS personalities
US11574060B2 (en) 2019-04-24 2023-02-07 International Business Machines Corporation Secure initial program load
CN111258617B (zh) * 2019-12-31 2022-03-25 联想(北京)有限公司 一种电子设备

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3931504A (en) * 1972-02-07 1976-01-06 Basic Computing Arts, Inc. Electronic data processing security system and method
US3996449A (en) * 1975-08-25 1976-12-07 International Business Machines Corporation Operating system authenticator
US4446519A (en) * 1981-05-26 1984-05-01 Corban International, Ltd. Method and apparatus for providing security for computer software
US4593353A (en) * 1981-10-26 1986-06-03 Telecommunications Associates, Inc. Software protection method and apparatus
JPS5897724A (ja) * 1981-12-04 1983-06-10 Mitsubishi Electric Corp 初期プログラムロ−ド方法
US4525599A (en) * 1982-05-21 1985-06-25 General Computer Corporation Software protection methods and apparatus
US4785361A (en) * 1982-11-08 1988-11-15 Vault Corporation Method and apparatus for frustrating the unauthorized copying of recorded data
JPS59167873A (ja) * 1983-03-14 1984-09-21 Toshiba Corp 磁気デイスク装置のデ−タ保護機構
US4562306A (en) * 1983-09-14 1985-12-31 Chou Wayne W Method and apparatus for protecting computer software utilizing an active coded hardware device
US4577289A (en) * 1983-12-30 1986-03-18 International Business Machines Corporation Hardware key-on-disk system for copy-protecting magnetic storage media
US4748561A (en) * 1984-05-14 1988-05-31 Mark Brown Method of protecting computer software
US4747139A (en) * 1984-08-27 1988-05-24 Taaffe James L Software security method and systems
CA1238427A (en) * 1984-12-18 1988-06-21 Jonathan Oseas Code protection using cryptography
JPS61201357A (ja) * 1985-03-02 1986-09-06 Nec Corp 情報処理装置
US4688169A (en) * 1985-05-30 1987-08-18 Joshi Bhagirath S Computer software security system
US4685056A (en) * 1985-06-11 1987-08-04 Pueblo Technologies, Inc. Computer security device
US4685055A (en) * 1985-07-01 1987-08-04 Thomas Richard B Method and system for controlling use of protected software
US4757533A (en) * 1985-09-11 1988-07-12 Computer Security Corporation Security system for microcomputers
US4817140A (en) * 1986-11-05 1989-03-28 International Business Machines Corp. Software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor
US4796220A (en) * 1986-12-15 1989-01-03 Pride Software Development Corp. Method of controlling the copying of software
JPH01154226A (ja) * 1987-12-10 1989-06-16 Nec Corp Bios内蔵ハードディスク装置システム
FR2629231A1 (fr) * 1988-03-24 1989-09-29 Salzmann Jean Loup Dispositif de protection des ordinateurs contre les programmes malveillants appeles " virus "
JPH0223427A (ja) * 1988-07-13 1990-01-25 Toshiba Corp パーソナルコンピュータ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1053507C (zh) * 1994-10-07 2000-06-14 邵通 计算机硬盘读写控制装置
CN100416448C (zh) * 2005-08-25 2008-09-03 深圳市研祥智能科技股份有限公司 计算机系统及其配置方法

Also Published As

Publication number Publication date
DE69027165T2 (de) 1996-12-12
SG44409A1 (en) 1997-12-19
AU5999390A (en) 1991-02-28
KR910005162A (ko) 1991-03-30
MX171879B (es) 1993-11-22
IL95229A0 (en) 1991-06-10
JPH0391838A (ja) 1991-04-17
CA2020520C (en) 1995-08-15
NZ234712A (en) 1993-04-28
JPH0754463B2 (ja) 1995-06-07
AU635551B2 (en) 1993-03-25
KR930004902B1 (ko) 1993-06-10
EP0417889B1 (en) 1996-05-29
ATE138748T1 (de) 1996-06-15
CN1049923A (zh) 1991-03-13
EP0417889A3 (en) 1992-03-18
DE4026912A1 (de) 1991-02-28
CA2020520A1 (en) 1991-02-26
US5022077A (en) 1991-06-04
GB9012948D0 (en) 1990-08-01
EP0417889A2 (en) 1991-03-20
MY106706A (en) 1995-07-31
HK203196A (en) 1996-11-15
BR9004199A (pt) 1991-09-03
DE69027165D1 (de) 1996-07-04

Similar Documents

Publication Publication Date Title
CN1017942B (zh) 防止未授权存取基本输入输出系统的方法
CN1049730A (zh) 在个人计算机系统中从软盘加载基本输入/输出系统的设备和方法
KR950002945B1 (ko) 퍼스널 컴퓨터 시스템내의 시스템 유틸리티 보호 장치
KR930007679B1 (ko) 개인용 컴퓨터 시스템과, 이 시스템에 bios를 적재하기 위한장치 및 방법
KR920008445B1 (ko) 퍼스널 컴퓨터 시스템에서 bios용 메모리를 감축시키기 위한 장치 및 방법
US5509120A (en) Method and system for detecting computer viruses during power on self test
US5634137A (en) Method and apparatus for updating system configuration based on open/closed state of computer housing cover
EP0909416B1 (en) Method and apparatus for providing improved diagnostic functions in a computer system
US7134006B2 (en) Method and system for changing software access level within or outside a host protected area
US7627464B2 (en) Bootable solid state floppy disk drive
US7246038B2 (en) Method, system, and article of manufacture for running diagnostics related to a device
CN100498710C (zh) 自储存装置上读取选择只读存储器程序代码的方法
EP0449758A2 (en) Computer determination of operating system or data technical field
JPS6336019B2 (zh)
KR100251919B1 (ko) 고밀도 저장장치 구동방법
KR19980046409A (ko) 씨디롬드라이브에 의한 부팅 방법 및 그 장치

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C13 Decision
GR02 Examined patent application
C14 Grant of patent or utility model
GR01 Patent grant
C15 Extension of patent right duration from 15 to 20 years for appl. with date before 31.12.1992 and still valid on 11.12.2001 (patent law change 1993)
OR01 Other related matters
ASS Succession or assignment of patent right

Owner name: LIAN XIANG(SINGAPORE)PRIVATE LTD.

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINE CORP.

Effective date: 20061027

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20061027

Address after: Singapore Changi

Patentee after: Lenovo (Singapore) Pte. Ltd.

Address before: American New York

Patentee before: International Business Machines Corp.

C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee