CN103810442A - 保护基本输入输出系统的设备与方法 - Google Patents

保护基本输入输出系统的设备与方法 Download PDF

Info

Publication number
CN103810442A
CN103810442A CN201410084578.XA CN201410084578A CN103810442A CN 103810442 A CN103810442 A CN 103810442A CN 201410084578 A CN201410084578 A CN 201410084578A CN 103810442 A CN103810442 A CN 103810442A
Authority
CN
China
Prior art keywords
mentioned
message digest
basic input
bios
output system
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
CN201410084578.XA
Other languages
English (en)
Inventor
G.G.亨利
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.)
Via Technologies Inc
Original Assignee
Via Technologies 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
Priority claimed from US14/079,087 external-priority patent/US9507942B2/en
Priority claimed from US14/079,021 external-priority patent/US9367689B2/en
Priority claimed from US14/079,145 external-priority patent/US9547767B2/en
Application filed by Via Technologies Inc filed Critical Via Technologies Inc
Publication of CN103810442A publication Critical patent/CN103810442A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself

Abstract

本发明披露了一种保护基本输入输出系统的设备与方法。一只读存储器包括储存为可读文本的基本输入输出系统内容与加密讯息文摘。加密讯息文摘包括对应于基本输入输出系统内容的第一讯息文摘的加密版本。一窜改计时器周期性地产生一中断。回应于该中断,一窜改检测器对基本输入输出系统内容与加密讯息文摘进行存取,并指示一微处理器使用用来产生第一讯息文摘与加密讯息文摘的相同演算法与密钥来产生对应于基本输入输出系统内容的第二讯息文摘与对应于加密讯息文摘的解密讯息文摘。窜改检测器比较第二讯息文摘与解密讯息文摘,以及当第二讯息文摘不相同于解密讯息文摘时,防止微处理器的操作。

Description

保护基本输入输出系统的设备与方法
技术领域
本发明涉及一种微电子技术,特别是涉及能保护计算系统中基本输入/输出系统(basic input/output system,BIOS)的装置与方法。
背景技术
计算平台有各种形式和大小,例如:桌上型计算机、笔记型计算机、平板计算机、个人数字助理(PDA)和智能手机。在这些不同形式的计算平台中,只有少数会采用非常强大的工具。
当计算平台被拆开之后,几乎所有形式的计算平台是共享相同的基本结构或配置。在其核心是一个中央处理单元(通常是微处理器)、用于储存程序的存储器(以硬盘或固态硬盘的形式)、执行程序的更快的存储器(通常为随机存取存储器)以及储存基本输入/输出系统(basic input/outputsystem,BIOS)的存储器。
对这些平台而言,BIOS是分层编程的最底层,其能启动标准的操作系统和应用程序,而使用特定计算平台所配置的硬件来执行操作。BIOS通常与硬件接口有大量的关联性,所以当平台配置有改变时,较高阶层的程序不需要修改就可容纳这些改变。当然,当有改变时,BIOS通常会被升级,这就是为什么BIOS的储存通常与操作系统和应用程序的储存是分离。
BIOS不仅包括了计算平台的基本操作,其亦包括配置数据和安全数据(例如计算系统是否被授权来执行特定的应用程序等)。因为BIOS包含了安全数据,所以其通常是黑客之类的目标。例如,藉由修改系统的BIOS,未授权的使用者便能执行未经授权的程序。因此,对系统设计者极为重要的是,当系统不工作而BIOS正在操作时,BIOS的有效性和完整性能得到保护和保证。
因此,为了能支持升级和/或重新编程以支持系统配置的改变,一方面希望系统的BIOS能容易进行存取。而在另一方面,保护或限制对BIOS的内容进行存取是很重要的,以避免未经授权者的篡改。
实现一个或两个上述目标的一些尝试会导致架构被限制。例如,移动储存的BIOS到类似系统的微处理器的同一芯片上以防止BIOS被篡改,但却完全违背了容易升级的目的,因为BIOS不再是实体存取。其他技术强调BIOS内容的加密,从保护的观点来看这是有利的,但是这会削减系统的性能。因为每次需要使用到无法接受的数量的操作来对BIOS内容进行解密。
因此,需要一种能支持计算系统的BIOS内容的可存取性以及升级,也能保护BIOS内容免遭未经授权篡改的新颖技术。
发明内容
本发明提供较佳的技术,用以解决上述问题并满足其它问题及缺点以及现有的受限。
本发明提供了一种优秀的技术,用于保护计算系统的BIOS免于攻击。在一实施例中,提供了一种设备,用以保护一计算系统内的一基本输入输出系统。上述设备包括:一基本输入输出系统只读存储器,包括:基本输入输出系统内容,其中上述基本输入输出系统内容是储存为可读文本;以及一加密讯息文摘,其中上述加密讯息文摘包括对应于上述基本输入输出系统内容的一第一讯息文摘的一加密版本;一窜改计时器,用以周期性地产生一基本输入输出系统检查中断,以便在一时间间隔中断上述计算系统的正常操作;以及一窜改检测器,耦接于上述基本输入输出系统只读存储器以及上述窜改计时器,用以回应于上述基本输入输出系统检查中断而对上述基本输入输出系统内容以及上述加密讯息文摘进行存取、指示一微处理器使用用来产生上述第一讯息文摘与上述加密讯息文摘的相同演算法与密钥来产生对应于上述基本输入输出系统内容的一第二讯息文摘以及对应于上述加密讯息文摘的一解密讯息文摘、比较上述第二讯息文摘与上述解密讯息文摘,以及当上述第二讯息文摘不相同于上述解密讯息文摘时,防止上述微处理器的操作。
再者,本发明提供另一种设备,用以保护一计算系统内的一基本输入输出系统。上述设备包括:一基本输入输出系统只读存储器,包括:基本输入输出系统内容,其中上述基本输入输出系统内容是储存为可读文本;以及一加密讯息文摘,其中上述加密讯息文摘包括对应于上述基本输入输出系统内容的一第一讯息文摘的一加密版本;以及一微处理器,耦接于上述基本输入输出系统只读存储器,包括:一窜改计时器,用以周期性地产生一基本输入输出系统检查中断,以便在一时间间隔中断上述计算系统的正常操作;以及一窜改检测器,耦接于上述基本输入输出系统只读存储器以及上述窜改计时器,用以回应于上述基本输入输出系统检查中断而对上述基本输入输出系统内容以及上述加密讯息文摘进行存取、指示上述微处理器使用用来产生上述第一讯息文摘与上述加密讯息文摘的相同演算法与密钥来产生对应于上述基本输入输出系统内容的一第二讯息文摘以及对应于上述加密讯息文摘的一解密讯息文摘、比较上述第二讯息文摘与上述解密讯息文摘,以及当上述第二讯息文摘不相同于上述解密讯息文摘时,防止上述微处理器的操作。
再者,本发明提供一种方法,用以保护一计算系统内的一基本输入输出系统。储存基本输入输出系统内容以及一加密讯息文摘至一基本输入输出系统只读存储器,其中上述基本输入输出系统内容是储存为可读文本,以及上述加密讯息文摘包括对应于上述基本输入输出系统内容的一第一讯息文摘的一加密版本。周期性地产生一基本输入输出系统检查中断,以便在一时间间隔中断上述计算系统的正常操作。回应于上述基本输入输出系统检查中断,存取上述基本输入输出系统内容以及上述加密讯息文摘,并使用用来产生上述第一讯息文摘与上述加密讯息文摘的相同演算法与密钥来产生对应于上述基本输入输出系统内容的一第二讯息文摘以及对应于上述加密讯息文摘的一解密讯息文摘。比较上述第二讯息文摘与上述解密讯息文摘。当上述第二讯息文摘不相同于上述解密讯息文摘时,防止一微处理器的操作。
再者,本发明提供另一种设备,用以保护一计算系统内的一基本输入输出系统。上述设备包括:一基本输入输出系统只读存储器,包括:基本输入输出系统内容,其中上述基本输入输出系统内容是储存为可读文本;以及一加密讯息文摘,其中上述加密讯息文摘包括对应于上述基本输入输出系统内容的一第一讯息文摘的一加密版本;以及一窜改检测器,耦接于上述基本输入输出系统只读存储器,用以根据一处理器的重置来存取上述基本输入输出系统内容以及上述加密讯息文摘、指示上述微处理器使用用来产生上述第一讯息文摘与上述加密讯息文摘的相同演算法与密钥来产生对应于上述基本输入输出系统内容的一第二讯息文摘以及对应于上述加密讯息文摘的一解密讯息文摘、比较上述第二讯息文摘与上述解密讯息文摘,以及当上述第二讯息文摘不相同于上述解密讯息文摘时,防止上述微处理器的操作。
再者,本发明提供另一种方法,用以保护一计算系统内的一基本输入输出系统。储存基本输入输出系统内容以及一加密讯息文摘至一基本输入输出系统只读存储器,其中上述基本输入输出系统内容是储存为可读文本,以及上述加密讯息文摘包括对应于上述基本输入输出系统内容的一第一讯息文摘的一加密版本。根据一处理器的重置,存取上述基本输入输出系统内容以及上述加密讯息文摘,并使用用来产生上述第一讯息文摘与上述加密讯息文摘的相同演算法与密钥来产生对应于上述基本输入输出系统内容的一第二讯息文摘以及对应于上述加密讯息文摘的一解密讯息文摘。比较上述第二讯息文摘与上述解密讯息文摘。当上述第二讯息文摘不相同于上述解密讯息文摘时,防止上述微处理器的操作。
再者,本发明提供另一种设备,用以保护一计算系统内的一基本输入输出系统。上述设备包括:一基本输入输出系统只读存储器,包括:基本输入输出系统内容,其中上述基本输入输出系统内容是储存为可读文本;以及一加密讯息文摘,其中上述加密讯息文摘包括对应于上述基本输入输出系统内容的一第一讯息文摘的一加密版本;一事件检测器,用以产生一基本输入输出系统检查中断,以便根据一事件的发生而来中断上述计算系统的正常操作;以及一窜改检测器,耦接于上述基本输入输出系统只读存储器以及上述事件检测器,用以回应于上述基本输入输出系统检查中断而对上述基本输入输出系统内容以及上述加密讯息文摘进行存取、指示一微处理器使用用来产生上述第一讯息文摘与上述加密讯息文摘的相同演算法与密钥来产生对应于上述基本输入输出系统内容的一第二讯息文摘以及对应于上述加密讯息文摘的一解密讯息文摘、比较上述第二讯息文摘与上述解密讯息文摘,以及当上述第二讯息文摘不相同于上述解密讯息文摘时,防止上述微处理器的操作。
再者,本发明提供另一种方法,用以保护一计算系统内的一基本输入输出系统。储存基本输入输出系统内容以及一加密讯息文摘至一基本输入输出系统只读存储器,其中上述基本输入输出系统内容是储存为可读文本,以及上述加密讯息文摘包括对应于上述基本输入输出系统内容的一第一讯息文摘的一加密版本。根据一事件的发生,产生一基本输入输出系统检查中断,以便在一时间间隔中断上述计算系统的正常操作。回应于上述基本输入输出系统检查中断,存取上述基本输入输出系统内容以及上述加密讯息文摘,并使用用来产生上述第一讯息文摘与上述加密讯息文摘的相同演算法与密钥来产生对应于上述基本输入输出系统内容的一第二讯息文摘以及对应于上述加密讯息文摘的一解密讯息文摘。比较上述第二讯息文摘与上述解密讯息文摘。当上述第二讯息文摘不相同于上述解密讯息文摘时,防止一微处理器的操作。
附图说明
图1是显示设置在现今计算系统的主机板的实体元件的方框图;
图2是显示图1中各元件相互连接的方框图,用以说明计算系统如何配置基本输入/输出系统;
图3是显示根据本发明一实施例所述的架构的方框图,用以保护计算系统的基本输入/输出系统;
图4是显示根据本发明一实施例所述的周期性架构的方框图,用以保护计算系统的基本输入/输出系统;
图5是显示根据本发明一实施例所述的基于事件架构的方框图,用以保护计算系统的基本输入/输出系统;
图6是显示根据本发明一实施例所述的基于驱动架构的方框图,用以保护计算系统的基本输入/输出系统;以及
图7是显示根据本发明一实施例所述的安全基本输入/输出系统窜改保护架构的方框图。
具体实施方式
为使本发明的上述和其他目的、特征、和优点能更明显易懂,下文特举出较佳实施例,并结合附图详细说明如下。
本发明的示范以及说明的实施例描述如下。为了清楚起见,并非实际实施的所有特征都描述于此。对于本领域技术人员将会理解,在任何这种实际实施例的开发,许多特定于实现的决策均达到特定目标,例如符合与系统相关以及商业相关的约束,可从一实施方式改变成另一实施方式。此外,将会理解,这种开发成果可能是复杂以及耗时,但是对于具有本发明的优势的本领域的技术人员仍然是例行任务。对本领域技术人员而言,较佳实施例的各种修改是显而易见的,且于此所定义的一般原理可以应用到其他的实施例。因此,本发明并不旨在局限于所示以及本文所描述的具体实施例,而是应被赋予最宽的范围相一致的原则以及所揭示的本发明的新颖特征。
本发明将根据下列附图来描述。描绘在附图中的不同结构、系统和装置仅作为说明,并不会使得本领域的技术人员对本发明难以理解。不过,下列附图是用来叙述与解释本发明的示范例。使用在此的字与词组应该被了解和理解成有与本领域的技术人员所了解的字与词组相一致的意义。用语或词组没有特别的定义,也就是,与平常的及本领域的技术人员所了解的惯例的意义不同的定义的意思是意味着在此使用一致的名称或词组。到了名称或词组意思是有特别意义的程度,也就是,意义与本领域的技术人员所了解的不同,这样的特别定义将明确地列举在直接地与明确地提供特别定义给该名称或词组的定义方式里的详细说明中。
集成电路(Integrated Circuit,IC)是制造在一小块半导体材料(通常是硅)内的一组电子电路。集成电路也被称为芯片、微芯片或晶粒(die)。
中央处理单元(Central Processing Unit,CPU)是执行计算机程序(又称为“计算机应用”或是“应用”)的指令的电子电路(例如“硬件”),其中电子电路是对数据执行包括算术运算、逻辑运算以及输入/输出操作等运算。
微处理器是作为在单一集成电路的中央处理单元的电子元件。微处理器会接收数字数据以作为输入、根据从一存储器(无论是在芯片内或芯片外)所读取的指令来处理该数据,以及产生由指令所规定的运算结果来当作输出。通用的微处理器可以使用在桌上型计算机、移动电话或是平板计算机,并进行如计算、文书编辑、多媒体显示和浏览因特网的使用。微处理器亦可设置在嵌入式系统,以控制各种各样的装置,包括设备、移动电话、智能型手机和工业控制装置。
多核心处理器又称为多核心微处理器,多核心处理器是具有制造在单一集成电路的多个中央处理单元的微处理器。
指令集架构(Instruction Set Architecture,ISA)或是指令集是关于编程的计算机架构的一部分,包括数据类型、指令、寄存器、定址模式、存储器架构、中断与异常管理以及输入/输出。指令集架构包括由特定中央处理单元所实施的一组运算码(opcode,即机器语言指令)以及本机命令的规格。
x86-相容微处理器是能执行计算机应用的微处理器,其中该计算机应用是根据x86指令集架构所编程。
微码(microcode)是多个微指令。微指令(又称为“本机指令”)是由微处理器的子单元所执行的一种指令。示范性的子单元包括整数单元、浮点(floating point)单元、MMX单元以及载入/储存单元。例如,微指令可直接由精简指令集计算机(reduced instruction set computer,RISC)微处理器所执行。对复杂指令集计算机(complex instruction set computer,CISC)微处理器而言,例如x86-相容微处理器,x86指令会被转译(translate)成相关的微指令,以及相关的微指令是直接由CISC微处理器内的一个子单元或多个子单元所执行。
熔丝是一种导电架构,通常安排成细丝。可藉由施加电压于细丝和/或流经细丝的电流而在选定的位置来烧断细丝。可使用现有制造技术来设置熔丝于晶粒上,以便在全部可编程的区域来配置细丝。在制造之后,将熔丝架构烧断(或未烧断),能提供设置在晶粒上的对应元件所需要的程序化。
有鉴于现有技术中关于在可信任的计算系统中保护关键程序以及数据,以及现今系统中的技术来检测和/或防止对这些程序与数据进行窜改,下面图1-图2将描述现今系统中的BIOS。随后,本发明将描述于图3-图7中。
参考图1,方框图100是显示设置在现今计算系统的主机板102(又称为系统板)的实体元件。主机板102的元件包括微处理器104(又称为中央处理单元、处理器、处理器芯片等)、易失性存储器106(又称为随机存取存储器,RAM)、芯片组108(又称为存储器控制器、存储器集线器、输入/输出集线器或桥芯片(例如北桥或是南侨))、通常被插入至插座112的基本输入输出系统(basic input/output system,BIOS)只读存储器(read only memory,ROM)110以及硬盘接口114。主机板102通常跟完成特定计算机配置所需的其他元件(例如电源供应器)被安装在计算机机壳内(例如桌上型计算机或笔记型计算机机壳、移动电话机壳、平板计算机机壳、机上盒机壳)。如本领域的技术人员所知,还有许多额外的元件和零件(例如时钟产生器、风扇、连接器、图形处理器等)被安装在主机板102上,而为了简化描述,这些额外的元件和零件将不显示。此外,图1所显示的元件104、106、114、108、110与112可以不同形式被设置在主机板102上,且值得注意的是,所显示的元件104、106、114、108、110与112是参照他们所公认的名称。在此实施例中,微处理器104是经由主机板102板上的实体接口(未显示)而耦接于元件106、114、108、110与112,通常为金属走线(trace)。值得注意的是,由于BIOS只读存储器110在工厂和/或领域中容易遭受到相当频繁的更换,因此将插座112设置在主机板102上。
参考图2,方框图200是显示图1的元件104、106、114、108、110与112相互连接的示意图,用以说明计算系统如何配置基本输入/输出系统(BasicInput/Output System,BIOS)。方框图200是显示微处理器204,其中微处理器204包括芯片内(on-chip)高速快取存储器230。微处理器204是经由存储器总线216而耦接于低速随机存取存储器206。微处理器204亦经由系统总线218耦接于芯片组208,以及芯片组208分别经由硬盘接口总线224以及只读存储器总线220而耦接于硬盘接口214以及BIOS只读存储器(ROM)210。BIOS只读存储器210可经由BIOS编程总线222而耦接至可选的BIOS编程接口(未显示)。如本领域的技术人员所知,图2所显示的配置的变化可包括芯片组208,其亦提供了接口通过系统总线218而到随机存取存储器206,而不是直接存储器总线216,并可提供其他类型的总线(未显示),用于连接微处理器204到其他类型的周边接口(例如快速周边组件互连(PCI Express)、图形处理器)。
在操作上,如本领域的技术人员所知,应用程序234(例如微软
Figure BDA0000474723540000081
是储存在硬盘(或是固态盘)上(未显示),其经由硬盘接口214所存取。因为硬盘是一个比较缓慢的装置,应用程序234在被执行之前,通常会被传送到外部的随机存取存储器206。然后,部分的应用程序234会被快取以供微处理器204在其内部的快取存储器230内执行。当应用程序234的指令要求微处理器204来执行系统层级的操作(例如储存文件至硬盘)时,来自操作系统软件232的指令(例如储存要求)会被微处理器204所执行,其中来自操作系统软件232的指令亦被从硬盘载入至随机存取存储器206并快取存入内部的快取存储器230。操作系统软件232提供了一种更通用的接口,能致能应用程序234来执行系统层级的功能,而不需要特定已知的系统设定。操作系统软件232亦考虑到微处理器204会同时执行多个应用程序234,并且还执行背景操作以有效管理随机存取存储器206的使用。
然而,操作系统232事实上是在现今计算系统中软件的中间层级。为了实际连接至计算系统的硬件(例如硬盘),操作系统232必须执行储存在BIOS只读存储器210内的BIOS236的指令。BIOS236通常为许多的小程序,其是作为计算系统的最低层级的软件,并用以连接操作系统232至计算系统的硬件。相似于操作系统232,BIOS236会提供通用接口给计算机硬件,以允许操作系统232能存取硬件而不需要特定的接口设计。BIOS236可使系统设计者能改变计算系统的硬件(例如硬盘、芯片组208、随机存取存储器206),而不需要变更到操作系统232或是应用程序234。然而,当系统设定改变时,BIOS236必须被更新,而这就是为什么插座112和/或BIOS编程总线222必须设置在主机板102,其将使得BIOS只读存储器210能容易被更换或是重新被编程。在一些系统设定中,可经由BIOS只读存储器总线220直接重新编程BIOS只读存储器210。因此,为了对BIOS236进行变更,几乎全部现今的计算系统都有提供上面的架构。BIOS只读存储器210是一个独立的元件,以便容易进行重新编程或是更换。
在全部的计算系统设定中,BIOS236是非常必要的特性,因为其指令可以致能应用程序234以及操作系统232来直接连接硬件。除了能提供连接至系统硬件之外,BIOS236会执行其他一些系统上必要的正常功能。例如,当系统开机后,BIOS236内的开机自我检测程序(power-on self test,POST)会被执行,以便进行硬件测试,并对系统的正确设定以及运行进行验证。BIOS236亦包括程序能识别并指派系统资源给新安装的装置。BIOS236还包括程序能从硬盘下载操作系统232至随机存取存储器206,并将系统控制传送给操作系统232。最后,BIOS236包括程序能检测以及防止计算系统的篡改(tampering)。
由于BIOS236在计算系统的安全性以及操作上是重要的,因此常常成为被非法侵入(hack)以及以其他未经授权的形式进行篡改的一个主要目标。例如,许多众所皆知的操作系统具有由设备制造商根据计算系统内的BIOS236所给定的规定,因此允许制造商能贩卖具有预先安装的操作系统的计算系统。通常,制造商会将标记(或“记号”)编程到BIOS236的特定位置,以及当操作系统开机时,会从BIOS236的特定位置读取出标记,以确认是在授权的系统上被开机。如果标记不存在或是不正确,则操作系统将无法开机。
上面的例子是编程现今BIOS236的许多不同类型的安全特性之一,且提供了BIOS安全功能的深入讨论。要注意的是,对系统设计者来说,系统上BIOS236是篡改的主要目标,因此BIOS236的保护是主要关心的事项。在上面的例子中,黑客编辑(或重新编程)BIOS236的目的是为了将计算系统呈现为授权系统给受保护的操作系统,或是修改BIOS,使得操作系统认为其是在授权系统上运作,然而实际上并不是。
如先前所描述,大多数现今的BIOS只读存储器110为主机板102上的单独元件,且被安装在插座112,以便在当系统硬件改变而需要变更BIOS236时能方便进行更换。因此,在缺少其他安全架构的情况下,像先前所描述的非法侵入是有可能。
因此,系统设计人员已经开发出许多不同的技术来对系统以及运作在系统上的应用程序234和/或操作系统232进行检测并防止窜改(tamper)。例如,在美国专利公开号2005/0015749中,Mittal提出藉由提供安全存储器部分以及包括加密技术的逻辑来对程序以及数据进行加密与解密,以保护软件不会被篡改。然而,BIOS是储存在系统软件的独立存储器空间,因此在移动BIOS至如微处理器的相同芯片的情况下,无法防止任何形式的窜改。于是,通过更换芯片能轻易对BIOS进行更新。
在美国专利公告号7,831,839中,Hatakeyama揭示一种安全开机只读存储器以及处理器,其中安全开机只读存储器包括加密开机码(例如BIOS)而处理器包括硬件解密单元。当处理器开机时,已加密的BIOS会被读取至处理器的内部存储器,而解密单元会对BIOS进行解密以及认证。如果成功,则处理器会进入安全处理模式,且全部的BIOS要求之后会从内部存储器被执行。虽然Hatakeyama提供了经由自己内容的加密来保护BIOS的架构,为了能有效执行,必须使用芯片内本地存储器来储存已解密的BIOS。如本领域的技术人员所知,现今BIOS程序(包括系统设定数据)的大小为百万字节(megabytes)。因为提供可储存百万字节数据的芯片内本地存储器会增加微处理器的尺寸以及耗电量,其将降低元件的可靠度而增加全次的成本,因此Hatakeyama的BIOS保护方法是不利的。
已经开发出来的其他技术是对全部或一部份的BIOS内容进行加密,当每次进行BIOS要求时,需进行解密。因此,这样的技术会降低了计算系统的性能,特别是在开机时,因为即使使用了芯片内的加密硬件,解密本质上还是缓慢的过程。因此,从性能上来看,加密BIOS内容是不想要的。
因此,所有上述技术(标记、划分安全存储器、芯片内本地BIOS存储器、加密BIOS内容)不容易对系统BIOS只读存储器进行存取,且同时会降低性能影响。因此,本发明提供新颖的技术来应用于BIOS只读存储器,以克服这些限制,其中这些安装在插座的BIOS只读存储器容易被升级。接着,提供未加密(例如可读文本)的BIOS内容(例如指令和/或设定数据)。然后,在开机后,能检测初始的窜改,而不会明显降低系统的性能。本发明将描述于图3-图7的图中。
参考图3,图3是显示根据本发明一实施例所述的架构的方框图300,用以保护计算系统的BIOS。方框图300是描述设置在单一芯片并被封装以安装在主机板上的微处理器(例如处理器、CPU等),如先前所描述。在一实施例中,微处理器是相容于x86架构,并且能执行x86指令集的全部指令。在另一实施例中,微处理器是设置在单一芯片的多核心处理器。在另一实施例中,微处理器是虚拟处理核心,其表示能共同使用处理器的逻辑部分内操作系统的实体处理器。为了描述本发明,微处理器的必要元件将描述于后,其中如本领域的技术人员所知的许多其他元件(例如载入/储存逻辑、快取存储器、排序逻辑等)将简化。
微处理器包括提取(fetch)逻辑302,其经由总线324而耦接于转译器(translator)304。转译器304经由总线326而耦接于执行逻辑306。执行逻辑306包括密码机(crypto)/散列单元(hash unit)308,其经由总线322而耦接于密钥储存器310。微处理器亦包括总线接口318,用以连接微处理器至芯片组。总线接口318经由总线328而耦接于重置控制器312。重置控制器312会接收重置信号RESET,并产生关机信号SHUTDOWN。重置控制器312包括窜改检测器314,其中窜改检测器314经由总线NOBOOT而耦接于开机载入器316。重置控制器312经由窜改总线TBUS而耦接于执行逻辑306。
在操作上,提取逻辑302用以提取程序指令(来自应用程序、操作系统及存储器中的所快取的BIOS)来执行。程序指令会经由总线324而提供至转译器304。转译器304会将程序指令转译为一个或多个微指令,其中微指令会由执行逻辑306内的一个或多个元件执行,以便执行程序指令所指定的操作。微指令(又称为微码或是固件)是微处理器所特有的,且无法在封装层级(package level)被存取。
在正常操作的情况下,在开机之后,BIOS指令以及设定数据会被纪录且快取于虚拟存储器,并由提取逻辑302进行提取以供执行。然而,微处理器的正常操作是发生在成功的重置以及开机顺序之后。重置控制器312接收重置信号RESET,并指示执行逻辑306来执行微码,以执行自我测试以及启动系统。为了检测BIOS的窜改以及防止设置有微处理器的系统的未被授权的操作,在启动之前,重置控制器312会经由总线接口318来提取BIOS只读存储器(未显示)的全部内容,并经由窜改总线TBUS来提供所提取的内容至执行逻辑306。在一实施例中,BIOS只读存储器的内容包括数字签章(数字签章)(又称为散列(hash)或是讯息文摘(digest)),其储存在BIOS只读存储器的特定位置内。如本领域的技术人员所知,根据所使用的特定散列运算,对应于BIOS只读存储器(尺寸为4百万字节)的散列的数字签章在尺寸上是非常小(例如256位),并且由BIOS只读存储器的特定内容所独有。于是,假如只读存储器的内容被改变,则被改变的内容的散列将导致不同的数字签章。
在储存至BIOS只读存储器之前,微处理器的制造商会使用密钥(cryptographic key)来对数字签章进行加密,其中密钥是由BIOS制造商所提供。在微处理器的制造过程中,密钥会被编程至密钥储存器310,之后会无法经由程序指令进行存取。在一实施例中,密钥是微处理器所独有的。在一实施例中,密钥储存器310的内容仅由密码机/散列单元308在窜改检测微码的控制下进行存取。窜改检测微码会指示重置控制器312来提取BIOS只读存储器的内容,其中内容包括已加密的数字签章,以及所提取的内容会经由窜改总线TBUS而提供至执行逻辑306。同时地,窜改检测微码会指示密码机/散列单元308来根据散列演算法而执行BIOS的散列,其中BIOS制造商是使用散列演算法来产生数字签章。在一实施例中,散列演算法可以是散列(Secure Hash)演算法(例如SHA-0、SHA-1等)。其他实施例是使用任何已知的讯息摘要(message digest)演算法。窜改检测微码亦会指示密码机/散列单元308来使用储存在密钥储存器310的密钥,来对从BIOS只读存储器提取出来的已加密数字签章进行解密。在一实施例中,密码机/散列单元308是使用数字加密标准(Digital Encryption Standard,DES)演算法来对密钥进行解密。在另一实施例中,密码机/散列单元308是使用进阶加密标准(Advanced Encryption Standard,AES)演算法。其他实施例是使用任何已知的密码演算法。密码机/散列单元308所产生的数字签章以及已解密的数字签章会经由窜改总线TBUS提供至窜改检测器314,其中已解密的数字签章的加密版本是储存在BIOS只读存储器的特定位置。
窜改检测器314会对两数字签章进行比较。如果两数字签章是相同的,则窜改检测器314会指示开机载入器316可经由总线NOBOOT,来开始进行微处理器的正常启动顺序(boot sequence)。如果两数字签章是不同的,则窜改检测器314会提供关机信号SHUTDOWN,并指示开机载入器316来停止启动顺序。关机信号SHUTDOWN会指示微处理器中剩下的元件来切断电源或是进入防止(preclude)正常运行的模式。
根据本发明的实施例,每次微处理器被重置,仅需要对储存在BIOS只读存储器的特定位置的加密讯息文摘进行解密,即对256位串进行解密,而不是4百万字节串。此外,本发明的实施例允许使用储存在实体可存取的配置上的可读文本(plaintext)BIOS指令/数据,如图1-图2所描述的配置。BIOS容易被更新,而系统性能不会降低。不需要使用到用来储存已解密BIOS的昂贵的内部本地存储器。此外,储存在BIOS只读存储器内并用来对讯息文摘加密的密钥无法由程序指令所存取。密钥仅能由密码机/散列单元308直接存取。
参考图4,图4是显示根据本发明一实施例所述的周期性架构的方框图400,用以保护计算系统的BIOS。图3的架构是在启动时对系统的BIOS进行保护,但是当系统正常操作时,BIOS有可能会被窜改。因此,在系统的操作期间与上电时,需要能保护BIOS不被非法侵入。因此,提出了周期性的架构来完成这个目的。
方框图400是描述设置在单一芯片并被封装以安装在主机板上的微处理器,如先前所描述。在一实施例中,微处理器是相容于x86架构,并且能执行x86指令集的全部指令。在另一实施例中,微处理器是设置在单一芯片的多核心处理器。在另一实施例中,微处理器是虚拟处理核心,其表示能共同使用处理器的逻辑部分内操作系统的实体处理器。为了描述本发明,微处理器的必要元件将描述于后,其中如本领域的技术人员所知的许多其他元件(例如载入/储存逻辑、快取存储器、排序逻辑等)将简化。
微处理器包括提取逻辑402,其是经由总线424而耦接于转译器404。转译器404是经由总线426而耦接于执行逻辑406。执行逻辑406包括密码机/散列单元408,其是经由总线422而耦接于密钥储存器410。执行逻辑406亦包括乱数产生器430。微处理器亦包括总线接口418,用以连接微处理器至芯片组。总线接口418经由总线428而耦接于重置控制器412。重置控制器412会接收重置信号RESET,并产生关机信号SHUTDOWN。重置控制器412包括窜改检测器414,其中窜改检测器414经由总线NOBOOT而耦接于开机载入器416。窜改检测器414包括窜改计时器432。重置控制器412经由窜改总线TBUS以及乱数总线RBUS而耦接于执行逻辑406。
在操作上,图4的架构内元件所执行的方式大体上相似于图3的架构内的相同名字元件。然而,除了在重置开机顺序的期间检测BIOS的窜改,图4的架构亦包括能周期性地检查BIOS的窜改检测微码以及元件,以判断计算系统在操作时BIOS是否被窜改。对密钥而言,窜改计时器432无法被程序指令所存取,而是专门由窜改检测器414以及窜改检测微码所存取。在一实施例中,窜改计时器432在一时间间隔中对系统的正常操作进行中断,其中时间间隔是由窜改检测微码所设定。在一实施例中,时间间隔为1毫秒,其是足够时间来检测在被非法入侵的BIOS只读存储器中欲取代BIOS只读存储器的实体攻击。1毫秒的时间间隔亦足够来检测欲对现有的BIOS只读存储器进行重新编程的攻击。当时间间隔被中断时,重置控制器412会经由总线接口418来提取BIOS只读存储器(未显示)的全部内容,并经由窜改总线TBUS而提供所提取的内容至执行逻辑406。窜改检测微码会指示重置控制器412来提取BIOS只读存储器的内容,其中内容包括已加密的数字签章,以及所提取的内容会经由窜改总线TBUS而提供至执行逻辑406。同时地,窜改检测微码会指示密码机/散列单元408来根据散列演算法而执行BIOS的散列,其中BIOS制造商是使用散列演算法来产生数字签章。窜改检测微码亦指示密码机/散列单元408可使用储存在密钥储存器410的密钥来对从BIOS只读存储器提取出来的已加密数字签章进行解密。密码机/散列单元408所产生的数字签章以及已解密的数字签章会经由窜改总线TBUS提供至窜改检测器414,其中已解密的数字签章的加密版本是储存在BIOS只读存储器的特定位置。
窜改检测器414会对两数字签章进行比较。如果两数字签章是相同的,则窜改检测器414会在计时器中断发生时的时间点来恢复微处理器的控制。如果两数字签章是不同的,则窜改检测器414会提供关机信号SHUTDOWN。关机信号SHUTDOWN会指示微处理器中剩下的元件来切断电源或是进入防止正常运行的模式。
在另一个实施例中,窜改计时器432不是使用固定的时间间隔。在完成周期性的BIOS非法入侵的检查,窜改检测微码指示乱数产生器430来产生乱数,其输入至窜改计时器432,以产生下一次BIOS非法入侵检查的下一个时间间隔。在此方式中,执行入侵检查的时间是无法预期与预料的。
相似于图3的架构,根据本发明的实施例,图4的周期性架构执行操作仅需要对储存在BIOS只读存储器的特定位置的加密讯息文摘进行解密,即对256位串进行解密,而不是4百万字节串。此外,在系统的正常操作期间,周期性的架构会保护安全系统远离BIOS的非法入侵。
参考图5,图5是显示根据本发明一实施例所述的基于事件(event-based)架构的方框图500,用以保护计算系统的BIOS。当计算系统在正常操作时,图4的架构可当作另一实施例来保护系统BIOS,但是其中一个是基于事件的发生,而非时间的流逝。这些事件可包括(但并非用以限定):硬盘存取(或是其他形式的输入/输出存取)、改变至虚拟存储器映射(mapping)(此架构可使用在虚拟处理系统的系统设定)、改变至速度以及通常发生在现今计算系统的其他种类的事件。因此,提供基于事件架构来完成这个目的。
方框图500是描述设置在单一芯片并被封装以安装在主机板上的微处理器,如先前所描述。在一实施例中,微处理器是相容于x86架构,并且能执行x86指令集的全部指令。在另一实施例中,微处理器是设置在单一芯片的多核心处理器。在另一实施例中,微处理器是虚拟处理核心,其表示能共同使用处理器的逻辑部分内操作系统的实体处理器。为了描述本发明,微处理器的必要元件将描述于后,其中如本领域的技术人员所知的许多其他元件(例如载入/储存逻辑、快取存储器、排序逻辑等)将简化。
微处理器包括提取逻辑502,其中提取逻辑502经由总线524而耦接于转译器504。转译器504是经由总线526而耦接于执行逻辑506。执行逻辑506包括密码机/散列单元508,其是经由总线522而耦接于密钥储存器510。执行逻辑506亦包括乱数产生器530。微处理器亦包括总线接口518,用以连接微处理器至芯片组。总线接口518是经由总线528而耦接于重置控制器512。重置控制器512接收重置信号RESET,并产生关机信号SHUTDOWN。重置控制器512包括窜改检测器514,其是经由总线NOBOOT而耦接于开机载入器516。窜改检测器514包括事件检测器542,其接收输入/输出存取信号I/O ACCESS、虚拟存储器映射改变信号VMMAP、处理器速度改变信号SPEED、以及其他事件信号OTHER。重置控制器512是经由窜改总线TBUS以及乱数总线RBUS而耦接于执行逻辑506。
在操作上,图5的架构内元件所执行的方式大体上相似于图3与图4的架构内的相同名字元件。然而,除了在重置开机顺序的期间检测BIOS的窜改,图4的架构亦包括能检查BIOS的窜改检测微码以及元件,以判断当计算系统在操作时BIOS是否被窜改。BIOS的有效性检查是根据事件的发生,而不是根据时间。申请人注意到在现今计算系统中,微处理器会执行一些规律地发生的事件,例如I/O存取(即硬盘、快速周边组件互连(PCI Express))、核心时钟速度改变、操作系统呼叫、系统状态改变等。因此,事件检测器542所接收的信号仅是个例子,并非用以限定方框图500中能用来触发BIOS检查的事件的类型。
相似于密钥,无法经由执行程序指令来对事件检测器542进行存取,而事件检测器542仅能由窜改检测器514以及窜改检测微码所存取。在一实施例中,当上述事件的一者发生时,事件检测器542会中断系统的正常操作,即信号I/O ACCESS、VMMAP、SPEED与OTHER的一者存在时。在另一实施例中,当多个上述事件的一者发生时,事件检测器542会中断系统的正常操作。在另一实施例中,当多个事件发生时(例如I/O存取以及核心时钟速度改变),事件检测器542会中断系统的正常操作。所选择的事件以及发生的次数是由窜改检测微码所设定。当中断发生时,重置控制器512会经由总线接口518来提取BIOS只读存储器(未显示)的全部内容,并经由窜改总线TBUS而提供所提取的内容至执行逻辑506。窜改检测微码会指示重置控制器512来提取BIOS只读存储器的内容,其中内容包括已加密的数字签章,以及所提取的内容会经由窜改总线TBUS而提供至执行逻辑506。窜改检测微码会指示密码机/散列单元508来根据散列演算法而执行BIOS的散列,其中BIOS制造商是使用散列演算法来产生数字签章。窜改检测微码亦指示密码机/散列单元508,使用储存在密钥储存器510的密钥来对从BIOS只读存储器提取出来的已加密数字签章进行解密。密码机/散列单元508所产生的数字签章以及已解密的数字签章会经由窜改总线TBUS提供至窜改检测器514,其中已解密的数字签章的加密版本是储存在BIOS只读存储器的特定位置。
窜改检测器514会对两数字签章进行比较。如果两数字签章是相同的,则窜改检测器514会在事件触发中断发生时的时间点来恢复微处理器的控制。如果两数字签章是不同的,则窜改检测器514会提供关机信号SHUTDOWN。关机信号SHUTDOWN会指示微处理器中剩下的元件来切断电源或是进入防止正常运行的模式。
在另一实施例中,在完成BIOS非法侵入检查时,窜改检测微码会指示乱数产生器530来产生乱数,而不是使用事件发生的次数。乱数会被输入至事件检测器542,以便设定发生在执行下一次BIOS非法侵入检查设定之前的接续事件的数量。在此实施例中,触发非法侵入检查的事件的数量无法经由微处理器所执行的秘密应用来预测及预期。在另一实施例中,乱数是用来改变触发下一次BIOS非法侵入检查的事件的类型。
相似于图3与图4的架构,根据本发明的实施例,图5的事件触发架构执行操作仅需要对储存在BIOS只读存储器的特定位置的加密讯息文摘进行解密,即对256位串(即已加密的讯息文摘)进行解密,而不是4百万字节串(即全部的BIOS)。此外,在系统的正常操作期间,事件触发架构会保护安全系统远离BIOS的非法入侵,其中触发非法入侵检查的事件的数量以及类型无法被决定以及强迫。
参考图6,图6是显示根据本发明一实施例所述的基于分区(partition-based)架构的方框图600,用以保护计算系统的BIOS。当计算系统在正常操作时,图6的架构可当作另一实施例来保护系统BIOS,但是其中一个是当窜改计时器中断(例如图3的实施例)或是系统事件所触发(例如图4的实施例)时,仅对BIOS的子集(subset)进行检查。因此,基于分区机制提供了一种用于性能是相当关键的设定,因为在每个触发点仅有一部份的BIOS被检查,于是对系统性能的影响较少。
在图6的实施例中,BIOS空间被划分为多个分区,其中每一分区具有对应的讯息文摘,其中讯息文摘是已加密并储存在BIOS只读存储器内所对应的位置。在一实施例中,对多个分区的每一分区来说,分区尺寸是相同的。在另一实施例中,多个分区具有不同的尺寸。在一实施例中,回应于BIOS检查触发(例如事件发生的计时器中断),多个分区中仅有一个分区会被检查。回应于BIOS检查触发,多个分区中的多个分区会被检查。在另一实施例中,回应于BIOS检查触发,多个分区中会被检查的分区数量是由窜改检测微码所决定(例如一个重复的周期1-3-1-2)。
方框图600是描述设置在单一芯片并被封装以安装在主机板上的微处理器,如先前所描述。在一实施例中,微处理器是相容于x86架构,并且能执行x86指令集的全部指令。在另一实施例中,微处理器是设置在单一芯片的多核心处理器。在另一实施例中,微处理器是虚拟处理核心,其表示能共同使用处理器的逻辑部分内操作系统的实体处理器。为了描述本发明,微处理器的必要元件将描述于后,其中如本领域的技术人员所知的许多其他元件(例如载入/储存逻辑、快取存储器、排序逻辑等)将简化。
微处理器包括提取逻辑602,其中提取逻辑602是经由总线624而耦接于转译器604。转译器604是经由总线626而耦接于执行逻辑606。执行逻辑606包括密码机/散列单元608,其是经由总线622而耦接于密钥储存器610。执行逻辑606亦包括乱数产生器630。微处理器亦包括总线接口618,用以连接微处理器至芯片组。总线接口618是经由总线628而耦接于重置控制器612。重置控制器612接收重置信号RESET,并产生关机信号SHUTDOWN。重置控制器612包括窜改检测器614,其是经由总线NOBOOT而耦接于开机载入器616。窜改检测器614包括分区选择器652。重置控制器612是经由窜改总线TBUS以及乱数总线RBUS而耦接于执行逻辑606。
在操作上,图6的架构内元件所执行的方式大体上相似于图3-图5的架构内的相同名字元件。然而,除了在重置开机顺序的期间检测BIOS的窜改,图6的架构亦包括能检查BIOS的窜改检测微码以及元件,以判断当计算系统在操作时BIOS是否被窜改。BIOS的有效性检查是根据如先前所描述的触发的发生。根据触发的发生,分区选择器652会有效地选择BIOS的一个或多个分区来进行检查。
相似于密钥,无法经由执行程序指令来对分区选择器652进行存取,而分区选择器652仅能由窜改检测器614以及窜改检测微码所存取。当BIOS检查触发发生时,计算系统的正常操作被中断,而分区选择器652会指示控制器612经由总线接口618来提取BIOS只读存储器(未显示)的一个或多个分区的内容,并经由窜改总线TBUS而提供所提取的内容至执行逻辑606。包括一个或多个所对应的已加密的数字签章的内容会经由窜改总线TBUS提供至执行逻辑606。窜改检测微码会指示密码机/散列单元608来根据散列演算法而执行一个或多个分区的散列,其中BIOS制造商是使用散列演算法来产生一个或多个数字签章。窜改检测微码亦指示密码机/散列单元608,使用储存在密钥储存器610的密钥来对从BIOS只读存储器提取出来的所对应的一个或多个已加密数字签章进行解密。密码机/散列单元608所产生的一个或多个数字签章以及已解密的一个或多个数字签章会经由窜改总线TBUS提供至窜改检测器614,其中已解密的一个或多个数字签章的加密版本是储存在BIOS只读存储器的一个或多个特定位置。
窜改检测器614会对一对或多对的数字签章进行比较。如果全部的比较是相同的,则窜改检测器614会在事件触发中断发生时的时间点来恢复微处理器的控制。如果数字签章是不同的,则窜改检测器614会提供关机信号SHUTDOWN。关机信号SHUTDOWN会指示微处理器中剩下的元件来切断电源或是进入防止正常运行的模式。
在另一实施例中,在完成BIOS非法侵入检查时,窜改检测微码会指示乱数产生器630来产生乱数,而不是检查固定或是循环数字的多个分区。乱数会被输入至分区选择器652,以便设定发生在执行下一次BIOS非法侵入检查设定之前的接续事件的数量。在此实施例中,在检查点触发时有效的分区的数量无法经由微处理器所执行的秘密应用来预测及预期。在不同实施例中,乱数是用来指示欲检查的多个分区的下一分区。
参考图7图,图7是显示根据本发明一实施例所述的BIOS窜改保护架构的方框图700。图7的实施例提供了完整的配置,不仅在开机时以及重置时执行计算系统的BIOS的全面检查,并且在结合参考图4-图6的技术所使用的操作,亦能对系统的BIOS提供全面的保护。
方框图700是描述设置在单一芯片并被封装以安装在主机板上的微处理器,如先前所描述。在一实施例中,微处理器相容于x86架构,并且能执行x86指令集的全部指令。在另一实施例中,微处理器是设置在单一芯片的多核心处理器。在另一实施例中,微处理器是虚拟处理核心,其表示能共同使用处理器的逻辑部分内操作系统的实体处理器。为了描述本发明,微处理器的必要元件将描述于后,其中如本领域的技术人员所知的许多其他元件(例如载入/储存逻辑、快取存储器、排序逻辑等)将简化。
微处理器包括提取逻辑702,其中提取逻辑702经由总线724而耦接于转译器704。转译器704经由总线726而耦接于执行逻辑706。执行逻辑706包括密码机/散列单元708,其是经由总线722而耦接于密钥储存器710。执行逻辑706亦包括乱数产生器730。微处理器亦包括总线接口718,用以连接微处理器至芯片组。总线接口718经由总线728而耦接于重置控制器712。重置控制器712接收重置信号RESET,并产生关机信号SHUTDOWN。重置控制器712包括窜改检测器714,其经由总线NOBOOT而耦接于开机载入器716。窜改检测器714包括窜改计时器732、事件检测器742以及分区选择器752。事件检测器742接收输入/输出存取信号I/O ACCESS、虚拟存储器映射改变信号VMMAP、处理器速度改变信号SPEED以及其他事件信号OTHER。重置控制器712经由窜改总线TBUS以及乱数总线RBUS而耦接于执行逻辑706。
在操作上,图7的架构内元件所执行的方式大体上相似于图3-图6的架构内的相同名字元件。然而,除了在重置开机顺序的期间检测BIOS的窜改,图7的架构亦包括能检查BIOS的窜改检测微码以及元件,以判断当计算系统在操作时BIOS是否被窜改。BIOS的有效性检查是根据来自窜改计时器732的计时器中断以及如图5所描述的事件触发的发生。根据计时器中断或是事件触发的发生,分区选择器752会有效地选择BIOS的一个或多个分区来检查,如图6所描述。
窜改计时器732、事件检测器742以及分区选择器752无法经由执行程序指令来进行存取,而分区选择器752仅能由窜改检测器714以及窜改检测微码所存取。当计时器中断或是事件触发发生时,计算系统的正常操作被中断,而分区选择器752会指示控制器712经由总线接口718来提取BIOS只读存储器(未显示)的一个或多个分区的内容,并经由窜改总线TBUS而提供所提取的内容至执行逻辑706。包括一个或多个所对应的已加密的数字签章的内容会经由窜改总线TBUS提供至执行逻辑706。窜改检测微码会指示密码机/散列单元708来根据散列演算法而执行一个或多个分区的散列,其中BIOS制造商使用散列演算法来产生一个或多个数字签章。窜改检测微码亦指示密码机/散列单元708,使用储存在密钥储存器710的密钥来对从BIOS只读存储器提取出来的所对应的一个或多个已加密数字签章进行解密。密码机/散列单元708所产生的一个或多个数字签章以及已解密的一个或多个数字签章会经由窜改总线TBUS提供至窜改检测器714,其中已解密的一个或多个数字签章的加密版本是储存在BIOS只读存储器的一个或多个特定位置。
窜改检测器714会对一个或多对的数字签章进行比较。如果全部的比较是相同的,则窜改检测器714会在事件触发中断发生时的时间点来恢复微处理器的控制。如果数字签章是不同的,则窜改检测器714会提供关机信号SHUTDOWN。关机信号SHUTDOWN会指示微处理器中剩下的元件来切断电源或是进入防止正常运行的模式。
在一实施例中,计时器中断以及事件触发的组合顺序是由窜改检测微码所决定。在另一实施例中,由乱数产生器730在BIOS检查结束时所产生的乱数会指示是否下一BIOS检查会根据计时器中断或是事件触发而启动。如图4-图5所显示,在部分实施例中,乱数产生器730会随机地改变时间间隔和/或事件类型以及事件的数量。
在另一实施例中,在完成BIOS非法侵入检查时,窜改检测微码会指示乱数产生器730来产生乱数,而不是检查固定或是循环数字的多个分区。乱数会被输入至分区选择器752,以便设定在下一次BIOS非法侵入检查期间欲检查的分区的下一个数量。在此实施例中,在检查点触发时有效的分区的数量无法经由微处理器所执行的秘密应用来预测及预期。在不同实施例中,乱数是用来指示欲检查的多个分区的下一分区。
根据本发明实施例,微处理器的元件被配置来执行先前所描述的功能以及操作。元件包括逻辑、电路、设备或微码(即微指令或是本机指令)或其组合,或者被用来执行根据本发明所述的功能与操作的等效元件。微处理器内使用来完成功能与操作的元件可以与微处理器中用来执行其它功能和/或操作的其他电路、微码等共用。根据本发明的应用,微码是用来表示一个或多个微指令。微指令(又称为本机指令)是由一个单元所执行的指令。例如,微指令可直接由精简指令集计算机(RISC)微处理器所执行。对于复杂指令集计算机(CISC)微处理器而言,比如x86-相容微处理器,x86指令会被转译成相关的微指令,且相关的微指令会直接CISC微处理器中的一个或多个单元所执行。
本发明及相对应叙述内容所提供的软件或是演算法及符号是表示一计算机存储器里的数据位的操作。这些内容及附图可使本领域的技术人员有效地表达相关内容予本领域的其它技术人员。使用上述的演算法是用以表达自我前后一致的顺序。这些步骤需要物理量的物理级操作。一般而言,这些物理量可能是光、电或是磁信号,其可被储存、转换、整合、比较及其它操作。有些为了方便,这些信号会被称为位、值、元件、符号、特性、项目、数量或其它相关内容。
然而,需注意的是,这些相似的术语是与物理量有关,并且只是用以方便说明这些物理量。除非另外特别说明,不然上述的术语(如处理、估算、计算、判断、显示、或其它相关术语)指的是一计算机系统、一微处理器、一中央处理单元或相似的电子计算机装置的动作及处理,其操作并转换数据,其表示物理性、计算机系统的寄存器及存储器的数量,用以得到其它相似计算机系统的存储器、寄存器或其它相似的信息储存装置、或显示装置的物理量的数据。
需注意到的是,本发明实现软件的方法是在程序储存媒体或其它相似型态的传送媒体上进行编码。程序储存媒体可能是电子式(如只读存储器、快闪只读存储器、电子擦除式只读存储器)、随机存取存储器磁性装置(如软盘或硬盘)或光学式(如只读光盘存储器CD ROM)、以及其它只读或随机存取元件。同样地,传送媒体可能是金属导线、双绞线、同轴电缆、光纤、或其它已知的相似的传送媒体。本发明并不限制在这些实施例。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,本领域的技术人员,在不脱离本发明的精神和范围的前提下,可作些许的更动与润饰,因此本发明的保护范围是以本发明的权利要求为准。

Claims (52)

1.一种设备,用以保护一计算系统内的一基本输入输出系统,包括:
一基本输入输出系统只读存储器,包括:
基本输入输出系统内容,其中上述基本输入输出系统内容是储存为可读文本;以及
一加密讯息文摘,其中上述加密讯息文摘包括对应于上述基本输入输出系统内容的一第一讯息文摘的一加密版本;
一窜改计时器,用以周期性地产生一基本输入输出系统检查中断,以便在一时间间隔中断上述计算系统的正常操作;以及
一窜改检测器,耦接于上述基本输入输出系统只读存储器以及上述窜改计时器,用以回应于上述基本输入输出系统检查中断而对上述基本输入输出系统内容以及上述加密讯息文摘进行存取、指示一微处理器使用用来产生上述第一讯息文摘与上述加密讯息文摘的相同演算法与密钥来产生对应于上述基本输入输出系统内容的一第二讯息文摘以及对应于上述加密讯息文摘的一解密讯息文摘、比较上述第二讯息文摘与上述解密讯息文摘,以及当上述第二讯息文摘不相同于上述解密讯息文摘时,防止上述微处理器的操作。
2.如权利要求1所述的设备,其中上述基本输入输出系统只读存储器设置在上述计算系统的一系统板上,且分离于上述窜改计时器与上述窜改检测器。
3.如权利要求1所述的设备,其中上述微处理器是使用一安全散列演算法来产生上述第二讯息文摘。
4.如权利要求1所述的设备,其中上述微处理器是使用一进阶加密标准演算法来产生上述解密讯息文摘。
5.如权利要求1所述的设备,其中上述微处理器包括设置在一执行逻辑内的一密码机/散列单元,以及上述第二讯息文摘以及上述解密讯息文摘由上述密码机/散列单元所产生,其中上述密钥仅能由上述密码机/散列单元进行存取。
6.如权利要求5所述的设备,其中上述微处理器还包括设置在上述执行逻辑内的一乱数产生器,其中在完成了一目前基本输入输出系统检查之后,上述乱数产生器产生一乱数,其中上述窜改计时器是使用上述乱数来设定下一个时间间隔,以及上述时间间隔是可随机改变的。
7.如权利要求5所述的设备,其中上述微处理器所执行的程序指令是无法存取上述密钥以及上述窜改计时器。
8.一种设备,用以保护一计算系统内的一基本输入输出系统,包括:
一基本输入输出系统只读存储器,包括:
基本输入输出系统内容,其中上述基本输入输出系统内容是储存为可读文本;以及
一加密讯息文摘,其中上述加密讯息文摘包括对应于上述基本输入输出系统内容的一第一讯息文摘的一加密版本;以及
一微处理器,耦接于上述基本输入输出系统只读存储器,包括:
一窜改计时器,用以周期性地产生一基本输入输出系统检查中断,以便在一时间间隔中断上述计算系统的正常操作;以及
一窜改检测器,耦接于上述基本输入输出系统只读存储器以及上述窜改计时器,用以回应于上述基本输入输出系统检查中断而对上述基本输入输出系统内容以及上述加密讯息文摘进行存取、指示上述微处理器使用用来产生上述第一讯息文摘与上述加密讯息文摘的相同演算法与密钥来产生对应于上述基本输入输出系统内容的一第二讯息文摘以及对应于上述加密讯息文摘的一解密讯息文摘、比较上述第二讯息文摘与上述解密讯息文摘,以及当上述第二讯息文摘不相同于上述解密讯息文摘时,防止上述微处理器的操作。
9.如权利要求8所述的设备,其中上述基本输入输出系统只读存储器是设置在上述计算系统的一系统板上,且分离于上述窜改计时器与上述窜改检测器。
10.如权利要求8所述的设备,其中上述微处理器是使用一安全散列演算法来产生上述第二讯息文摘。
11.如权利要求8所述的设备,其中上述微处理器是使用一进阶加密标准演算法来产生上述解密讯息文摘。
12.如权利要求8所述的设备,其中上述微处理器还包括:
一密码机/散列单元,设置在一执行逻辑内,用以产生上述第二讯息文摘以及上述解密讯息文摘,其中上述密钥仅能由上述密码机/散列单元进行存取。
13.如权利要求12所述的设备,其中上述微处理器还包括:
一乱数产生器,设置在上述执行逻辑内,用以在完成了一目前基本输入输出系统检查之后,产生一乱数,
其中上述窜改计时器是使用上述乱数来设定下一个时间间隔,以及上述时间间隔是可随机改变的。
14.如权利要求12所述的设备,其中上述微处理器所执行的程序指令是无法存取上述密钥。
15.一种方法,用以保护一计算系统内的一基本输入输出系统,包括:
储存基本输入输出系统内容以及一加密讯息文摘至一基本输入输出系统只读存储器,其中上述基本输入输出系统内容是储存为可读文本,以及上述加密讯息文摘包括对应于上述基本输入输出系统内容的一第一讯息文摘的一加密版本;
周期性地产生一基本输入输出系统检查中断,以便在一时间间隔中断上述计算系统的正常操作;
回应于上述基本输入输出系统检查中断,存取上述基本输入输出系统内容以及上述加密讯息文摘,并使用用来产生上述第一讯息文摘与上述加密讯息文摘的相同演算法与密钥来产生对应于上述基本输入输出系统内容的一第二讯息文摘以及对应于上述加密讯息文摘的一解密讯息文摘;
比较上述第二讯息文摘与上述解密讯息文摘;以及
当上述第二讯息文摘不相同于上述解密讯息文摘时,防止一微处理器的操作。
16.如权利要求15所述的方法,还包括:
分别地设置上述基本输入输出系统只读存储器在上述计算系统的一系统板上。
17.如权利要求15所述的方法,其中上述使用用来产生上述第一讯息文摘与上述加密讯息文摘的相同演算法与密钥来产生对应于上述基本输入输出系统内容的上述第二讯息文摘以及对应于上述加密讯息文摘的上述解密讯息文摘的步骤还包括:
使用一安全散列演算法来产生上述第二讯息文摘。
18.如权利要求15所述的方法,其中上述使用用来产生上述第一讯息文摘与上述加密讯息文摘的相同演算法与密钥来产生对应于上述基本输入输出系统内容的上述第二讯息文摘以及对应于上述加密讯息文摘的上述解密讯息文摘的步骤还包括:
使用一进阶加密标准演算法来产生上述解密讯息文摘。
19.如权利要求15所述的方法,其中上述微处理器包括设置在一执行逻辑内一密码机/散列单元,以及上述第二讯息文摘以及上述解密讯息文摘是由上述密码机/散列单元所产生,其中上述密钥仅能由上述密码机/散列单元进行存取。
20.如权利要求15所述的方法,其中上述微处理器还包括设置在上述执行逻辑内的一乱数产生器,以及在完成了一目前基本输入输出系统检查之后,上述乱数产生器产生一乱数,其中上述乱数是用来设定下一个时间间隔,以及上述时间间隔是可随机改变的。
21.如权利要求19所述的方法,其中上述微处理器所执行的程序指令是无法存取上述密钥。
22.一种设备,用以保护一计算系统内的一基本输入输出系统,包括:
一基本输入输出系统只读存储器,包括:
基本输入输出系统内容,其中上述基本输入输出系统内容是储存为可读文本;以及
一加密讯息文摘,其中上述加密讯息文摘包括对应于上述基本输入输出系统内容的一第一讯息文摘的一加密版本;以及
一窜改检测器,耦接于上述基本输入输出系统只读存储器,用以根据一微处理器的重置来存取上述基本输入输出系统内容以及上述加密讯息文摘、指示上述微处理器使用用来产生上述第一讯息文摘与上述加密讯息文摘的相同演算法与密钥来产生对应于上述基本输入输出系统内容的一第二讯息文摘以及对应于上述加密讯息文摘的一解密讯息文摘、比较上述第二讯息文摘与上述解密讯息文摘,以及当上述第二讯息文摘不相同于上述解密讯息文摘时,防止上述微处理器的操作。
23.如权利要求22所述的设备,其中上述基本输入输出系统只读存储器以及上述窜改检测器是分别设置在上述计算系统的一系统板上。
24.如权利要求22所述的设备,其中上述微处理器是使用一安全散列演算法来产生上述第二讯息文摘。
25.如权利要求22所述的设备,其中上述微处理器是使用一进阶加密标准演算法来产生上述解密讯息文摘。
26.如权利要求22所述的设备,其中上述微处理器包括设置在一执行逻辑内的一密码机/散列单元,以及上述第二讯息文摘以及上述解密讯息文摘是由上述密码机/散列单元所产生,其中上述密钥仅能由上述密码机/散列单元进行存取。
27.如权利要求26所述的设备,其中上述微处理器所执行的程序指令是无法存取上述密钥。
28.如权利要求22所述的设备,其中上述微处理器包括一x86相容微处理器。
29.如权利要求22所述的设备,其中上述微处理器为该设备的一部份,且耦接于上述基本输入输出系统只读存储器,并且该微处理器包括上述窜改检测器。
30.如权利要求29所述的设备,其中上述基本输入输出系统只读存储器以及上述微处理器是分别设置在上述计算系统的一系统板上。
31.一种方法,用以保护一计算系统内的一基本输入输出系统,包括:
储存基本输入输出系统内容以及一加密讯息文摘至一基本输入输出系统只读存储器,其中上述基本输入输出系统内容是储存为可读文本,以及上述加密讯息文摘包括对应于上述基本输入输出系统内容的一第一讯息文摘的一加密版本;
根据一微处理器的重置,存取上述基本输入输出系统内容以及上述加密讯息文摘,并使用用来产生上述第一讯息文摘与上述加密讯息文摘的相同演算法与密钥来产生对应于上述基本输入输出系统内容的一第二讯息文摘以及对应于上述加密讯息文摘的一解密讯息文摘;
比较上述第二讯息文摘与上述解密讯息文摘;以及
当上述第二讯息文摘不相同于上述解密讯息文摘时,防止上述微处理器的操作。
32.如权利要求31所述的方法,还包括:
分别地设置上述基本输入输出系统只读存储器以及上述微处理器在上述计算系统的一系统板上。
33.如权利要求31所述的方法,其中上述使用用来产生上述第一讯息文摘与上述加密讯息文摘的相同演算法与密钥来产生对应于上述基本输入输出系统内容的上述第二讯息文摘以及对应于上述加密讯息文摘的上述解密讯息文摘的步骤还包括:
使用一安全散列演算法来产生上述第二讯息文摘。
34.如权利要求31所述的方法,其中上述使用用来产生上述第一讯息文摘与上述加密讯息文摘的相同演算法与密钥来产生对应于上述基本输入输出系统内容的上述第二讯息文摘以及对应于上述加密讯息文摘的上述解密讯息文摘的步骤还包括:
使用一进阶加密标准演算法来产生上述解密讯息文摘。
35.如权利要求31所述的方法,其中上述微处理器包括设置在一执行逻辑内的一密码机/散列单元,以及上述第二讯息文摘以及上述解密讯息文摘是由上述密码机/散列单元所产生,其中上述密钥仅能由上述密码机/散列单元进行存取。
36.如权利要求35所述的方法,其中上述微处理器所执行的程序指令是无法存取上述密钥。
37.如权利要求31所述的方法,其中上述微处理器包括一x86相容微处理器。
38.一种设备,用以保护一计算系统内的一基本输入输出系统,包括:
一基本输入输出系统只读存储器,包括:
基本输入输出系统内容,其中上述基本输入输出系统内容是储存为可读文本;以及
一加密讯息文摘,其中上述加密讯息文摘包括对应于上述基本输入输出系统内容的一第一讯息文摘的一加密版本;
一事件检测器,用以产生一基本输入输出系统检查中断,以便根据一事件的发生而来中断上述计算系统的正常操作;以及
一窜改检测器,耦接于上述基本输入输出系统只读存储器以及上述事件检测器,用以回应于上述基本输入输出系统检查中断而对上述基本输入输出系统内容以及上述加密讯息文摘进行存取、指示一微处理器使用用来产生上述第一讯息文摘与上述加密讯息文摘的相同演算法与密钥来产生对应于上述基本输入输出系统内容的一第二讯息文摘以及对应于上述加密讯息文摘的一解密讯息文摘、比较上述第二讯息文摘与上述解密讯息文摘,以及当上述第二讯息文摘不相同于上述解密讯息文摘时,防止上述微处理器的操作。
39.如权利要求38所述的设备,其中上述事件包括选自下列事件的一者的一个或多个发生:
一输入/输出存取;
一处理器速度的改变;以及
一虚拟存储器映射的改变。
40.如权利要求38所述的设备,其中上述微处理器是使用一安全散列演算法来产生上述第二讯息文摘。
41.如权利要求38所述的设备,其中上述微处理器是使用一进阶加密标准演算法来产生上述解密讯息文摘。
42.如权利要求38所述的设备,其中上述微处理器包括设置在一执行逻辑内的一密码机/散列单元,以及上述第二讯息文摘以及上述解密讯息文摘是由上述密码机/散列单元所产生,其中上述密钥仅能由上述密码机/散列单元进行存取。
43.如权利要求42所述的设备,其中上述微处理器还包括设置在上述执行逻辑内的一乱数产生器,以及在完成了一目前基本输入输出系统检查之后,上述乱数产生器产生一乱数,其中上述事件检测器使用上述乱数来随机地设定在下一个基本输入输出系统检查之前所发生的上述事件的发生数量。
44.如权利要求42所述的设备,其中上述微处理器还包括设置在上述执行逻辑内的一乱数产生器,以及在完成了一目前基本输入输出系统检查之后,上述乱数产生器产生一乱数,其中上述事件检测器使用上述乱数来随机地设定在下一个基本输入输出系统检查之前所发生的上述事件的种类。
45.如权利要求38所述的设备,其中上述微处理器为该设备的一部份,且耦接于上述基本输入输出系统只读存储器,并且该微处理器包括上述窜改检测器及上述事件检测器。
46.一种方法,用以保护一计算系统内的一基本输入输出系统,包括:
储存基本输入输出系统内容以及一加密讯息文摘至一基本输入输出系统只读存储器,其中上述基本输入输出系统内容是储存为可读文本,以及上述加密讯息文摘包括对应于上述基本输入输出系统内容的一第一讯息文摘的一加密版本;
根据一事件的发生,产生一基本输入输出系统检查中断,以便在一时间间隔中断上述计算系统的正常操作;
回应于上述基本输入输出系统检查中断,存取上述基本输入输出系统内容以及上述加密讯息文摘,并使用用来产生上述第一讯息文摘与上述加密讯息文摘的相同演算法与密钥来产生对应于上述基本输入输出系统内容的一第二讯息文摘以及对应于上述加密讯息文摘的一解密讯息文摘;
比较上述第二讯息文摘与上述解密讯息文摘;以及
当上述第二讯息文摘不相同于上述解密讯息文摘时,防止一微处理器的操作。
47.如权利要求46所述的方法,其中上述事件包括选自下列事件的一者的一个或多个发生:
一输入/输出存取;
一处理器速度的改变;以及
一虚拟存储器映射的改变。
48.如权利要求46所述的方法,其中上述使用用来产生上述第一讯息文摘与上述加密讯息文摘的相同演算法与密钥来产生对应于上述基本输入输出系统内容的上述第二讯息文摘以及对应于上述加密讯息文摘的上述解密讯息文摘的步骤还包括:
使用一安全散列演算法来产生上述第二讯息文摘。
49.如权利要求46所述的方法,其中上述使用用来产生上述第一讯息文摘与上述加密讯息文摘的相同演算法与密钥来产生对应于上述基本输入输出系统内容的上述第二讯息文摘以及对应于上述加密讯息文摘的上述解密讯息文摘的步骤还包括:
使用一进阶加密标准演算法来产生上述解密讯息文摘。
50.如权利要求46所述的方法,其中上述微处理器包括设置在一执行逻辑内的一密码机/散列单元,以及上述第二讯息文摘以及上述解密讯息文摘是由上述密码机/散列单元所产生,其中上述密钥仅能由上述密码机/散列单元进行存取。
51.如权利要求50所述的方法,其中上述微处理器还包括设置在上述执行逻辑内的一乱数产生器,以及在完成了一目前基本输入输出系统检查之后,上述乱数产生器产生一乱数,其中上述事件检测器使用上述乱数来随机地设定在下一个基本输入输出系统检查之前所发生的上述事件的发生数量。
52.如权利要求50所述的方法,其中上述微处理器还包括设置在上述执行逻辑内的一乱数产生器,以及在完成了一目前基本输入输出系统检查之后,上述乱数产生器产生一乱数,其中上述事件检测器使用上述乱数来随机地设定在下一个基本输入输出系统检查之前所发生的上述事件的种类。
CN201410084578.XA 2013-11-13 2014-03-10 保护基本输入输出系统的设备与方法 Pending CN103810442A (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US14/079,087 US9507942B2 (en) 2013-11-13 2013-11-13 Secure BIOS mechanism in a trusted computing system
US14/079,087 2013-11-13
US14/079,021 US9367689B2 (en) 2013-11-13 2013-11-13 Apparatus and method for securing BIOS in a trusted computing system
US14/079,021 2013-11-13
US14/079,145 2013-11-13
US14/079,145 US9547767B2 (en) 2013-11-13 2013-11-13 Event-based apparatus and method for securing bios in a trusted computing system during execution

Publications (1)

Publication Number Publication Date
CN103810442A true CN103810442A (zh) 2014-05-21

Family

ID=50707191

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410084578.XA Pending CN103810442A (zh) 2013-11-13 2014-03-10 保护基本输入输出系统的设备与方法

Country Status (2)

Country Link
CN (1) CN103810442A (zh)
TW (1) TWI560611B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106941478A (zh) * 2016-01-05 2017-07-11 精品科技股份有限公司 数据验证方法
CN107273770A (zh) * 2016-10-31 2017-10-20 威盛电子股份有限公司 基本输入输出系统的保护设备与方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL242717A0 (en) * 2015-11-23 2016-02-29 Nuvoton Technology Corp Systems and methods for authentication of cache memory
TWI655555B (zh) * 2016-10-31 2019-04-01 威盛電子股份有限公司 基本輸入輸出系統之保護設備與方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6625729B1 (en) * 2000-03-31 2003-09-23 Hewlett-Packard Company, L.P. Computer system having security features for authenticating different components
US20050015749A1 (en) * 2000-05-17 2005-01-20 Claude Brassac Multiprocessor application interface requiring no utilization of a multiprocessor operating system
US20060156008A1 (en) * 2005-01-12 2006-07-13 Microsoft Corporation Last line of defense ensuring and enforcing sufficiently valid/current code
US7831839B2 (en) * 2005-02-07 2010-11-09 Sony Computer Entertainment Inc. Methods and apparatus for providing a secure booting sequence in a processor

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005026951A1 (en) * 2003-09-18 2005-03-24 Aristocrat Technologies Australia Pty Ltd Bios protection device
US7711965B2 (en) * 2004-10-20 2010-05-04 Intel Corporation Data security
CA2618544C (en) * 2007-01-16 2015-07-21 Bally Gaming, Inc. Rom bios based trusted encrypted operating system
DE102008011925B4 (de) * 2008-02-29 2018-03-15 Globalfoundries Inc. Sicheres Initialisieren von Computersystemen

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6625729B1 (en) * 2000-03-31 2003-09-23 Hewlett-Packard Company, L.P. Computer system having security features for authenticating different components
US20050015749A1 (en) * 2000-05-17 2005-01-20 Claude Brassac Multiprocessor application interface requiring no utilization of a multiprocessor operating system
US20060156008A1 (en) * 2005-01-12 2006-07-13 Microsoft Corporation Last line of defense ensuring and enforcing sufficiently valid/current code
US7831839B2 (en) * 2005-02-07 2010-11-09 Sony Computer Entertainment Inc. Methods and apparatus for providing a secure booting sequence in a processor

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106941478A (zh) * 2016-01-05 2017-07-11 精品科技股份有限公司 数据验证方法
CN107273770A (zh) * 2016-10-31 2017-10-20 威盛电子股份有限公司 基本输入输出系统的保护设备与方法
CN107273770B (zh) * 2016-10-31 2020-08-11 威盛电子股份有限公司 基本输入输出系统的保护设备与方法

Also Published As

Publication number Publication date
TW201519097A (zh) 2015-05-16
TWI560611B (en) 2016-12-01

Similar Documents

Publication Publication Date Title
US10089470B2 (en) Event-based apparatus and method for securing BIOS in a trusted computing system during execution
US9183394B2 (en) Secure BIOS tamper protection mechanism
EP2874091B1 (en) Partition-based apparatus and method for securing bios in a trusted computing system during execution
US6996710B1 (en) Platform and method for issuing and certifying a hardware-protected attestation key
US9507942B2 (en) Secure BIOS mechanism in a trusted computing system
US9367689B2 (en) Apparatus and method for securing BIOS in a trusted computing system
US10049217B2 (en) Event-based apparatus and method for securing bios in a trusted computing system during execution
CN103810442A (zh) 保护基本输入输出系统的设备与方法
US9779242B2 (en) Programmable secure bios mechanism in a trusted computing system
US9798880B2 (en) Fuse-enabled secure bios mechanism with override feature
US20170046516A1 (en) Fuse-enabled secure bios mechanism in a trusted computing system
US10055588B2 (en) Event-based apparatus and method for securing BIOS in a trusted computing system during execution
CN103810443A (zh) 保护基本输入输出系统的设备与方法
CN107273770B (zh) 基本输入输出系统的保护设备与方法
TWI655555B (zh) 基本輸入輸出系統之保護設備與方法
US9767288B2 (en) JTAG-based secure BIOS mechanism in a trusted computing system
EP3316167A1 (en) Programmable secure bios mechanism in a trusted computing system
US10095868B2 (en) Event-based apparatus and method for securing bios in a trusted computing system during execution
EP3316169A1 (en) Jtag-based secure bios mechanism in a trusted computing system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20140521

RJ01 Rejection of invention patent application after publication