CN105335659B - 计算机系统以及计算机系统操作方法 - Google Patents
计算机系统以及计算机系统操作方法 Download PDFInfo
- Publication number
- CN105335659B CN105335659B CN201510890878.1A CN201510890878A CN105335659B CN 105335659 B CN105335659 B CN 105335659B CN 201510890878 A CN201510890878 A CN 201510890878A CN 105335659 B CN105335659 B CN 105335659B
- Authority
- CN
- China
- Prior art keywords
- authentication procedure
- startup
- computer system
- procedure code
- code module
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
Abstract
组件程序代码更新。计算机系统的中央处理单元在上电后执行微码,以自非挥发式存储器将启动用认证程序代码模块加载至中央处理单元中的认证程序代码执行区、并对其进行认证。该中央处理单元执行通过认证的该启动用认证程序代码模块连线服务器,并自该服务器取得该计算机系统上组件的程序代码更新文件。
Description
技术领域
本发明涉及计算机系统上组件的程序代码更新。
背景技术
计算机系统上许多组件都有程序代码更新需求;包括对中央处理单元(CPU)的微码(microcode)打补丁、芯片组(chipset)的控制器固件更新、基本输入输出系统(BIOS)更新等。
如何安全升级计算机系统上组件的程序代码而防止恶意攻击为本技术领域重要课题。
发明内容
根据本发明令一种实施方式实现的一种计算机系统操作方法,包括:在计算机系统的中央处理单元内提供认证程序代码执行区,该中央处理单元系根据微码操作;以非挥发式存储器储存启动用认证程序代码模块;执行所述微码,以自该非挥发式存储器将该启动用认证程序代码模块加载至该认证程序代码执行区并进行认证;以及执行通过认证的该启动用认证程序代码模块,以连线服务器,并自该服务器取得该计算机系统上组件的程序代码更新文件。
由于中央处理单元内的认证程序代码执行区不能被中央处理单元以外的设备访问,故得以确保执行启动用认证程序代码模块Startup_ACM的安全性。与现有技术经由易被攻击的基本输入输出系统(BIOS)或者经由更易被攻击的操作系统(Operating System,OS)获取该程序代码更新文件相比较,本发明技术大大提高计算机系统组件的程序代码更新的安全性。
下文特举实施例,并配合所附图示,详细说明本发明内容。
附图说明
图1图解根据本发明一种实施方式实现的计算机系统100;且
图2为流程图,图解根据本发明一种实施方式所实现的一种计算机系统操作方法,特别有关于计算机系统的开机程序。
具体实施方式
以下叙述列举本发明的多种实施例。以下叙述介绍本发明的基本概念,且并非意图限制本发明内容。实际发明范围应依照申请专利范围界定之。
图1图解根据本发明一种实施方式实现的计算机系统100。计算机系统100包括中央处理单元102以及非挥发式存储器104。该中央处理单元102根据微码(microcode)114操作,且包括认证程序代码执行区(authenticated code execution area,缩写ACEA)108。该非挥发式存储器104储存启动用认证程序代码模块(startup authenticated codemodule,缩写Startup ACM)Startup_ACM。该中央处理单元102在上电后执行微码114,以自该非挥发式存储器104将该启动用认证程序代码模块Startup_ACM加载至该认证程序代码执行区108进行认证。该中央处理单元102经由在该认证程序代码执行区108上执行通过认证的启动用认证程序代码模块Startup_ACM,以连线服务器116(如,透过网络接口控制器118)。该服务器116提供计算机系统100上组件的程序代码更新文件120─例如,该中央处理单元102的微码114的更新文件(microcode patch)、芯片组106的控制器固件(chipsetcontroller firmware)的更新文件或者基本输入输出系统(basic input and outputsystem,简称BIOS)的更新文件。服务器116提供的该程序代码更新文件可载至挥发式存储器124如编号120’。
在一种实施方式中,计算机系统100还包括芯片组106,该芯片组106包括缓存器110,对应该启动用认证程序代码模块Startup_ACM储存密钥认证信息112,举例而言,如果该中央处理单元102对加载的启动用认证程序代码模块Startup_ACM进行认证时采用的是非对称加密算法(asymmetric encryption algorithm),则该密钥认证信息举例而言为加解密所用的公共密钥(public key)的哈希摘要值(hash value);而自该非挥发式存储器104加载的启动用认证程序代码模块Startup_ACM自带加密签名(cryptographicsignature),其包括加解密所用的公共密钥(public key)的信息。该中央处理单元102执行微码114对加载的启动用认证程序代码模块Startup_ACM进行认证时,先从加载的启动用认证程序代码模块Startup_ACM取出签名中的公共密钥,计算其哈希摘要值,并与缓存器110中预存的密钥认证信息112中的哈希摘要值比对,若一致,则认证通过,继续后续的连线服务器116以取得程序代码更新文件120的流程。
在本发明中,中央处理单元102除了对启动用认证程序代码模块Startup_ACM通过前述的认证方式进行验证以保证其安全性以外,中央处理单元102会在其本身内部的认证程序代码执行区108中执行通过验证的启动用认证程序代码模块Startup_ACM,该认证程序代码执行区108不能被中央处理单元102以外的设备访问以进一步确保执行启动用认证程序代码模块Startup_ACM的安全性。与现有技术经由易被攻击的基本输入输出系统(BIOS)128或者经由更易被攻击的操作系统(Operating System,OS)获取该程序代码更新文件120相比较,安全性大大提高。
在一种实施方式中,中央处理单元102除了确保启动用认证程序代码模块Startup_ACM本身及其执行环境的安全性以外,还通过执行启动用认证程序代码模块Startup_ACM与该服务器116在双向认证下相连。如此一来,服务器116提供的程序代码更新文件120可信度更高。一种实施方式中,该启动用认证程序代码模块Startup_ACM还储存与服务器116进行双向认证的双向认证信息123。中央处理单元102执行该启动用认证程序代码模块Startup_ACM以连线该服务器116时,还提供该服务器116该双向认证信息123,以与服务器116进行双向认证。一种实施方式中,在认证程序代码执行区108中执行的启动用认证程序代码模块Startup_ACM经由网络接口控制器118与服务器116通讯。
一种实施方式中,该启动用认证程序代码模块Startup_ACM还储存系统证书122。该中央处理单元102在本身内部的认证程序代码执行区108安全地执行该启动用认证程序代码模块Startup_ACM以连线该服务器116时,还提供该服务器116上述系统证书122,使该服务器116提供的上述程序代码更新文件120符合该计算机系统上100的该组件。上述系统证书122可包括该组件的型号、或该组件的序列号等信息。
计算机系统100的挥发式存储器(如,动态随机存取存储器DRAM)124缓存取自该服务器116的程序代码更新文件120’。如图所示实施方式,该芯片组106还包括硬件组态保护模块(hardware configuration protect module)126,用以对该挥发式存储器124上缓存的上述程序代码更新文件120’进行保护使其仅能被中央处理单元102访问和撷取。中央处理单元102再自该挥发式存储器124上撷取程序代码更新文件120’进行认证,以通过认证的程序代码更新文件更新对应组件的程序代码。举例而言,该组件为中央处理单元102,该程序代码更新文件120’为微码114的更新文件,则中央处理单元102会将程序代码更新文件120’自该挥发式存储器124撷取至中央处理单元102内部进行认证,以通过认证的程序代码更新文件120’更新微码114。在一种实施方式中,程序代码更新文件120’的认证信息也可以存储在缓存器110中,程序代码更新文件120’认证操作也可以在受保护的认证码程序区108中进行。
如图所示,启动用认证程序代码模块Startup_ACM同基本输入输出系统(BIOS)程序代码128载于非挥发式存储器104上。该中央处理单元102在经由启动用认证程序代码模块Startup_ACM对基本输入输出系统的进行认证(BIOS phase 1 to phase 3)之前在自身内部安全环境(如认证程序代码执行区108)执行该启动用认证程序代码模块Startup_ACM与服务器116连线获得该程序代码更新文件120。本发明在计算机系统100上电开机过程中,在基本输入输出系统128被认证和加载之前,通过执行启动用认证程序代码模块Startup_ACM获得该程序代码更新文件120,与现有技术需要在更新基本输入输出系统128的同时甚至进入操作系统(operating system,OS)之后才能获得该程序代码更新文件120相比较,更加及时。
在一种实施方式中,该中央处理单元102在上电后执行上述微码114中的硬件基础核心度量根微码(H-CRTM)130,以执行对应该启动用认证程序代码模块Startup_ACM的撷取指令(GETSEC leaf instruction)132,以自该非挥发式存储器104将该启动用认证程序代码模块Startup_ACM加载该认证程序代码执行区108,并执行之。
此段落特别说明中央处理单元102的微码114。微码114为中央处理器102内部的硬件接线固件(hardwired firmware),用以执行多组微操作(micro-operations),以组合成汇编语言指令与中央处理器内部功能。硬件基础核心度量根微码(H-CRTM)130是中央处理单元102在上电后、在基本输入输出系统的认证(BIOS phase 1 to phase 3)前会执行的微码。
此段落说明上述启动用认证程序代码模块Startup_ACM,属于认证程序代码模块(authenticated code modules,简称ACM)的一种。认证程序代码模块(ACM)由中央处理器102实行,操作如同微码114的扩充(extensions)。经硬件基础核心度量根微码130认证通过的认证程序代码模块(ACM)才能在中央处理单元102规划的安全空间─如,认证程序代码执行区(ACEA)108─执行。认证程序代码执行区(ACEA)108如此中央处理单元102内部存储器设计将使得认证程序代码模块(ACM)的运行受保护,不仅避开安全性低的直接存储器存取(DMA)、还避免认证程序代码模块(ACM)的程序代码以及数据外泄。缓存器110内储存的密钥认证信息112即是用来比对加载认证程序代码执行区(ACEA)108的认证程序代码模块Startup_ACM是否握有正确密钥。认证程序代码模块Startup_ACM是在中央处理单元102上电时执行微码114(如,硬件基础核心度量根微码(H-CRTM)130)呼叫撷取指令(GETSEC leafinstruction)132获得。认证程序代码模块Startup_ACM的执行将启动静态信任度量核心(static root of trust measure,简写SRTM),包括测量基本输入输出系统开机区块(BIOSboot block)。本发明是在高安全性的认证程序代码模块Startup_ACM执行过程中与服务器116建立连结,以如此高安全性的架构自服务器116获得计算机系统100上组件的程序代码更新文件。相比较,将计算机系统100上组件的程序代码更新文件与基本输入输出(BIOS)/统一可扩展固件接口(UEFI)打包在一起做更新的传统技术较为被动;传统技术将承担组件程序代码没有实时更新的风险。另有一种传统技术是在操作系统(OS)下进行计算机系统组件的程序代码更新,其安全性依赖操作系统,也有其风险。英特尔发行的信任执行平台(TXTplatform)可应用来实现本发明技术内容。
图2为流程图,图解根据本发明一种实施方式所实现的一种计算机系统操作方法,特别有关于计算机系统的开机程序。以下对应图1进行说明。步骤S202执行微码114,例如微码114的硬件基础核心度量根微码(H-CRTM)130,以自非挥发式存储器104加载中央处理单元102内部的认证程序代码执行区108并认证(例如基于密钥认证信息112)该启动用认证程序代码模块Startup_ACM。步骤S204判断加载该认证程序代码执行区108的该启动用认证程序代码模块的认证是否通过。如果该启动用认证程序代码模块Startup_ACM认证通过,则执行步骤S206,执行通过认证的该启动用认证程序代码模块Startup_ACM,以连线服务器116,基于双向认证(例如,基于系统证书128及双向认证信息123)自该服务器116取得该计算机系统100上组件的程序代码更新文件120。步骤S208将取自该服务器116的程序代码更新文件120缓存于挥发式存储器124(呈编号120’)。步骤S210,程序代码更新文件120’将在挥发式存储器124内被中央处理单元102撷取并验证,如前所述,挥发式存储器124由硬件组态保护模块126控制,使其不能被中央处理单元102之外的设备修改,在这种被保护的状态下执行上述撷取和验证。步骤S211,以通过认证的程序代码更新文件120’更新对应组件的程序代码(例如微码114)。特别注意的是,以上程序更新码的下载是安排在步骤S212基本输入输出系统128的认证之前。步骤S214进入基本输入输出系统128的操作。倘若步骤S204该启动用认证程序代码模块Startup_ACM不通过认证,开机程序略过步骤S206~S214而结束,使得未经授权的启动用认证程序代码模块Startup_ACM不会进行后续步骤S206的与服务器116连线取得程序代码更新文件120以及步骤S212认证BIOS128的操作,以防止恶意攻击,在一种实施方式中,系统会报错以通知用户。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何熟悉此项技艺者,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当视权利要求书所界定的为准。
Claims (11)
1.一种计算机系统操作方法,其特征在于包括:
在计算机系统的中央处理单元内提供认证程序代码执行区,该中央处理单元根据微码操作;
以非挥发式存储器储存启动用认证程序代码模块;
执行所述微码,以自该非挥发式存储器将该启动用认证程序代码模块加载至该认证程序代码执行区并进行认证;以及
当该启动用认证程序代码模块通过认证后,执行通过认证的该启动用认证程序代码模块,以连线服务器,并自该服务器取得该计算机系统上组件的程序代码更新文件。
2.根据权利要求1所述的计算机系统操作方法,其特征在于,还包括:
以芯片组的缓存器储存该启动用认证程序代码模块的密钥认证信息;以及
根据所述密钥认证信息对该启动用认证程序代码模块进行认证。
3.根据权利要求1所述的计算机系统操作方法,其特征在于,所述执行通过认证的该启动用认证程序代码模块,以连线所述服务器的步骤还包括:
执行该启动用认证程序代码模块与该服务器在双向认证下相连。
4.根据权利要求1所述的计算机系统操作方法,其特征在于,该启动用认证程序代码模块还储存系统证书,其中执行通过认证的该启动用认证程序代码模块以连线该服务器的步骤还包括:
提供该服务器所述系统证书,使该服务器提供的所述程序代码更新文件符合该计算机系统上的该组件。
5.根据权利要求4所述的计算机系统操作方法,其特征在于:
所述系统证书包括该组件的型号、或该组件的序列号。
6.根据权利要求1所述的计算机系统操作方法,其特征在于:
该启动用认证程序代码模块还储存与该服务器进行双向认证的认证信息。
7.根据权利要求1所述的计算机系统操作方法,其特征在于,还包括:
对所述程序代码更新文件进行认证,以通过认证的所述程序代码更新文件更新该组件的程序代码。
8.根据权利要求1所述的计算机系统操作方法,其特征在于:
以芯片组的缓存器储存所述程序代码更新文件组的密钥信息;以及
根据所述密钥认证信息对所述程序代码更新文件组进行认证。
9.根据权利要求1所述的计算机系统操作方法,其特征在于:
在进行基本输入输出系统的认证前执行该启动用认证程序代码模块。
10.根据权利要求1所述的计算机系统操作方法,其特征在于,所述执行所述微码,以自该非挥发式存储器将该启动用认证程序代码模块加载该认证程序代码执行区并进行认证的步骤还包括:
在上电后执行所述微码中的硬件基础核心度量根微码,以执行对应该启动用认证程序代码模块的撷取指令,以自该非挥发式存储器将该启动用认证程序代码模块加载该认证程序代码执行区并进行认证。
11.根据权利要求1所述的计算机系统操作方法,其特征在于:
该认证程序代码执行区只能被该中央处理单元访问,以确保所述执行通过认证的该启动用认证程序代码模块以连线该服务器的步骤的安全性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510890878.1A CN105335659B (zh) | 2015-12-04 | 2015-12-04 | 计算机系统以及计算机系统操作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510890878.1A CN105335659B (zh) | 2015-12-04 | 2015-12-04 | 计算机系统以及计算机系统操作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105335659A CN105335659A (zh) | 2016-02-17 |
CN105335659B true CN105335659B (zh) | 2018-09-14 |
Family
ID=55286178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510890878.1A Active CN105335659B (zh) | 2015-12-04 | 2015-12-04 | 计算机系统以及计算机系统操作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105335659B (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8209542B2 (en) * | 2006-12-29 | 2012-06-26 | Intel Corporation | Methods and apparatus for authenticating components of processing systems |
US8522322B2 (en) * | 2010-09-22 | 2013-08-27 | Intel Corporation | Platform firmware armoring technology |
US9189225B2 (en) * | 2012-10-16 | 2015-11-17 | Imprivata, Inc. | Secure, non-disruptive firmware updating |
-
2015
- 2015-12-04 CN CN201510890878.1A patent/CN105335659B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN105335659A (zh) | 2016-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhao et al. | Providing root of trust for ARM TrustZone using on-chip SRAM | |
US8863309B2 (en) | Selectively unlocking a core root of trust for measurement (CRTM) | |
US8856544B2 (en) | System and method for providing secure virtual machines | |
CN104982005B (zh) | 实施虚拟化环境中的特权加密服务的计算装置及方法 | |
KR101402509B1 (ko) | 사용자 인증에 기초하여 무결성을 수정하는 방법 및 컴퓨터시스템 | |
CN109669734A (zh) | 用于启动设备的方法和装置 | |
US9465943B2 (en) | Extension of a platform configuration register with a known value | |
EP3706019B1 (en) | Hardware-enforced access protection | |
US20170093582A1 (en) | Secure boot devices, systems, & methods | |
US11182469B2 (en) | Application security authentication method, terminal and storage medium | |
CN106156635A (zh) | 终端启动方法和装置 | |
WO2017133559A1 (zh) | 安全启动方法及装置 | |
US20200178080A1 (en) | Key generation apparatus and key update method | |
CN105468964B (zh) | 计算机系统以及计算机系统操作方法 | |
US10019577B2 (en) | Hardware hardened advanced threat protection | |
CN101377803A (zh) | 一种实现开机保护的方法和系统 | |
CN101359354A (zh) | 一种实现开机保护的方法和系统 | |
EP3338214B1 (en) | Secure computation environment | |
Prünster et al. | Fides: Unleashing the Full Potential of Remote Attestation. | |
CN105335659B (zh) | 计算机系统以及计算机系统操作方法 | |
CN112269980A (zh) | 处理器架构 | |
Niemi et al. | Platform attestation in consumer devices | |
Reineh et al. | Enabling secure and usable mobile application: revealing the nuts and bolts of software TPM in todays mobile devices | |
US20240089259A1 (en) | Remote authorization control system, resource access apparatus, authentication apparatus, remote authorization control method and program | |
JPWO2018092289A1 (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: Room 301, 2537 Jinke Road, Zhangjiang High Tech Park, Pudong New Area, Shanghai 201203 Patentee after: Shanghai Zhaoxin Semiconductor Co.,Ltd. Address before: Room 301, 2537 Jinke Road, Zhangjiang High Tech Park, Pudong New Area, Shanghai 201203 Patentee before: VIA ALLIANCE SEMICONDUCTOR Co.,Ltd. |