TW201903601A - Method and system for security verification in a booting sequence with a multi-core processor - Google Patents

Method and system for security verification in a booting sequence with a multi-core processor Download PDF

Info

Publication number
TW201903601A
TW201903601A TW106118282A TW106118282A TW201903601A TW 201903601 A TW201903601 A TW 201903601A TW 106118282 A TW106118282 A TW 106118282A TW 106118282 A TW106118282 A TW 106118282A TW 201903601 A TW201903601 A TW 201903601A
Authority
TW
Taiwan
Prior art keywords
core
memory
booting
core processor
computer system
Prior art date
Application number
TW106118282A
Other languages
Chinese (zh)
Other versions
TWI654559B (en
Inventor
王智昇
Original Assignee
英商鼎通盛股份有限公司
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 英商鼎通盛股份有限公司 filed Critical 英商鼎通盛股份有限公司
Priority to TW106118282A priority Critical patent/TWI654559B/en
Publication of TW201903601A publication Critical patent/TW201903601A/en
Application granted granted Critical
Publication of TWI654559B publication Critical patent/TWI654559B/en

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

The disclosure is related to a method and a system for security verification in a booting sequence of a computer system. A multi-core processor of the computer system is utilized to perform a security verification operation initiated by a UEFI BIOS. The security verification operation is configured to test if the computer system is qualified as a secure system for a specific use. In one aspect, the multi-core processor architecture has the benefit of providing a more efficient way allowing each of the multiple cores to perform one verification task for one of the peripherals of the system. An embodiment shows that the multiple cores can be individually assigned to perform different tasks such as verifying security of various medium in parallel processes when the computer system is in the booting sequence.

Description

應用多核心處理器執行安全確認的開機方法與其系統  Boot method and system for performing security confirmation using multi-core processor  

本發明關於一種電腦系統的安全確認技術,特別是一種應用電腦系統中多核心處理器,並以各核心分別執行不同儲存媒體的安全確認的開機方法與其系統。 The invention relates to a security confirmation technology for a computer system, in particular to a booting method and a system for applying a multi-core processor in a computer system and performing security confirmation of different storage media by each core.

將電腦開啟後,系統準備初始化,首先由基本輸出入系統(BIOS基本輸出入系統)開始,利用BIOS基本輸出入系統所記載的系統硬體資訊分別驅動各種週邊硬體,包括決定開機磁區、記憶體分配、輸出入埠的狀態,並開始進入開機自我檢測程序(POST),包括檢查各連接週邊與設定,如中央處理器、記憶體、鍵盤、滑鼠等裝置的狀態。當根據BIOS基本輸出入系統所載資訊由開機磁區載入作業系統(OS)之後,開始進入作業系統啟動程序。 After the computer is turned on, the system is ready to be initialized. First, the basic input and output system (the BIOS basic input and output system) starts, and the system hardware information recorded in the BIOS is used to drive various peripheral hardware, including determining the boot magnetic area. The memory is allocated, the status of the input and output, and the start of the power-on self-test (POST), including checking the status of each connection and settings, such as the central processing unit, memory, keyboard, mouse and other devices. After loading the operating system (OS) from the boot sector according to the information contained in the BIOS basic input and output system, the system starts to enter the operating system startup program.

為了突破傳統BIOS基本輸出入系統的限制,於是產生了一種稱為可延伸韌體介面(Extensible Firmware Interface,EFI)基本輸出入系統,EFI後來發展為統一可延伸韌體介面(Unified EFI,UEFI),此類BIOS基本輸出入系統除了進行硬體辨識、控制與系統資源掌控外,更有系統地分配儲存空間,其中定義的可延伸韌體介面用以溝通硬體、韌體與作業系統。 In order to break through the limitations of the traditional BIOS basic input and output system, a basic input and output system called Extensible Firmware Interface (EFI) was developed, and EFI was later developed into Unified Extensible Firmware Interface (Unified EFI, UEFI). In addition to hardware identification, control and system resource control, this type of BIOS basic input and output system allocates storage space systematically. The defined extendable firmware interface is used to communicate hardware, firmware and operating system.

此類可延伸韌體介面基本輸出入系統內不可區分為硬體控制 與作業系統管理,其中可設有可延伸韌體介面的驅動程式,作為硬體辨識、控制與系統資源控制,包括可以載有作業系統,甚至可獨立執行作業系統。 The basic output of such extendable firmware interface can not be divided into hardware control and operation system management. The driver of the extendable firmware interface can be provided as hardware identification, control and system resource control, including There is an operating system, and even the operating system can be executed independently.

更者,可延伸韌體介面基本輸出入系統的特性之一是一種具有彈性的驅動程式模組架構,可以擴充其中驅動程式,因此相較於傳統寫入不易改寫的記憶體型態的BIOS基本輸出入系統,此可擴充性使得此類基本輸出入系統可被改寫。 Moreover, one of the characteristics of the basic interface of the extendable firmware interface is a flexible driver module architecture, which can expand the driver, so the BIOS is basically the same as the memory type that is difficult to rewrite. Output to the system, this extensibility allows such basic input and output systems to be rewritten.

不過,這個可修正的特色可能也威脅到電腦系統的安全性,例如若應用在需要高安全性的遊戲系統(或是博奕系統)中,將需要在開機程序中偵測可延伸韌體介面基本輸出入系統是否有被竄改的疑慮。更者,除了防止UEFI BIOS被竄改外,對於要求安全的系統來說,其中的儲存媒體更需要安全確認,特別是在開機程序中需要額外的時間來確認各種儲存媒體是否有安全疑慮。 However, this modifiable feature may also threaten the security of the computer system. For example, if the application is in a game system (or Boao system) that requires high security, it will need to detect the extendable firmware interface in the boot process. Whether the input and output systems have been tampered with. Moreover, in addition to preventing the UEFI BIOS from being tampered with, for a system requiring security, the storage medium therein needs to be securely confirmed, especially in the booting process, which requires additional time to confirm whether various storage media have security concerns.

逐漸成為電腦系統普遍採用的基本輸出入系統的一種可延伸韌體介面基本輸出入系統(UEFI/EFI BIOS基本輸出入系統)具有彈性可擴充的程式特性,但用於需要嚴格安全驗證的電腦系統而言,此類可延伸韌體介面基本輸出入系統的特性可能會導致被不當竄改而有安全上的疑慮,本揭露書提出的應用多核心處理器執行安全確認的開機方法則更應用到整個電腦系統的各種系統,如作業系統與遊戲系統,並在開機程序中以多核心分別執行不同儲存媒體的安全確認。 An extensible firmware interface that is becoming a basic input and output system commonly used in computer systems. The basic input/output system (UEFI/EFI BIOS basic input/output system) has flexible and extensible program features, but is used in computer systems that require strict security verification. In fact, the characteristics of such an extendable firmware interface that is basically imported into the system may lead to suspicion of being tamper-evident and have security concerns. The booting method proposed by the present application for multi-core processor to perform security confirmation is applied to the whole. Various systems of the computer system, such as the operating system and the game system, and perform security confirmation of different storage media by multiple cores in the booting process.

在一實施例中,在應用多核心處理器執行安全確認的開機方法中,在開機程序中先啟始電腦系統的可延伸韌體介面基本輸出入系統,並通過基本輸出入系統中的程序識別電腦系統的硬體,再以此程序偵測電腦系統的多核心處理器,以及依據開機程序中多個任務而啟用多核心處理器的多個核心,接著分配每個啟用的 核心平行處理多個任務的一個,並在在任務完成後,系統將決定是否啟動電腦系統的作業系統。 In an embodiment, in the booting method in which the multi-core processor is used to perform the security confirmation, the extendable firmware interface of the computer system is first started to be input into the system in the booting process, and is identified by the program in the basic input and output system. The hardware of the computer system, which is used to detect the multi-core processor of the computer system, and to enable multiple cores of the multi-core processor according to multiple tasks in the boot process, and then allocate each of the enabled cores to process multiple parallels. One of the tasks, and after the task is completed, the system will decide whether to start the operating system of the computer system.

進一步地,以多核心中的一個核心執行確認UEFI BIOS的任務,先將儲存在電腦系統的一記憶體的一基本輸出入系統特徵值(BIOS digest)取出,以此比對在開機程序中即時運算的一當前基本輸出入系統特徵值(present BIOS digest);同時,可以另一核心執行確認作業系統(OS)的任務,此任務是先取出儲存在記憶體的作業系統特徵值(OS digest),以此比對在開機程序中運算的當前作業系統特徵值(present OS digest);同時,又可以一核心執行確認電腦系統中遊戲系統(gaming system)的任務,此任務先取出儲存在記憶體的一遊戲系統特徵值(gaming-system digest),以此比對在開機程序中運算的當前遊戲系統特徵值(present gaming-system digest)。 Further, performing the task of confirming the UEFI BIOS by one core of the multi-core, first extracting a basic output of a memory stored in the computer system into a system digest value, thereby comparing the instant in the booting process. A current basic output of the operation enters the system feature value (present BIOS digest); at the same time, another core can perform the task of confirming the operating system (OS), which is to first extract the operating system feature value (OS digest) stored in the memory. In order to compare the current operating system feature value (present OS digest) in the booting program; at the same time, the core can perform the task of confirming the gaming system in the computer system, and the task is first taken out and stored in the memory. A gaming-system digest, which compares the current gaming system scores (the present gaming-system digest) that are computed in the boot process.

經比對預先設定的特徵值後,當可延伸韌體介面基本輸出入系統、作業系統與遊戲系統完成確認後,表示沒有被竄改的問題,電腦系統開始啟動而進入作業系統。 After comparing the preset feature values, when the extendable firmware interface is basically input into the system, the operating system and the game system are confirmed, indicating that there is no problem of tampering, the computer system starts to enter and enters the operating system.

所述特徵值(digest)係對儲存於一儲存媒體的可延伸韌體介面基本輸出入系統、作業系統與遊戲系統的程式碼(包括編譯後的程式),以逐位元運算得到各個特徵值,並儲存在電腦系統的記憶體中。以此為比對基礎,與開機程序中即時運算的特徵值比對,可以對各儲存媒體中的系統執行安全確認。 The digest is a program code (including a compiled program) that is basically input into the system, the operating system, and the game system, and is implemented in a bitwise operation on the extensible firmware interface stored in a storage medium. And stored in the memory of the computer system. Based on the comparison, the security value can be performed on the system in each storage medium by comparing with the feature value of the instant operation in the booting process.

在另一實施例中,揭露書描述一種應用多核心處理器執行安全確認的開機系統,系統包括有第一記憶體,用以儲存電腦系統的UEFI BIOS的韌體,有第二記憶體,用以儲存基本輸出入系統特徵值、作業系統特徵值,以及遊戲系統特徵值,有第三記憶體,用以儲存電腦系統的作業系統的程式碼(包括編譯後的程式)。另有實施例顯示電腦系統更包括一遊戲系統,同樣應先儲存遊戲系統特徵值。 In another embodiment, the disclosure describes a booting system that uses a multi-core processor to perform security confirmation. The system includes a first memory for storing a UEFI BIOS firmware of the computer system, and a second memory. In order to store the basic input and output system characteristic values, the operating system characteristic values, and the game system characteristic values, there is a third memory for storing the operating system code of the computer system (including the compiled program). Another embodiment shows that the computer system further includes a game system, and the game system feature values should also be stored first.

系統設有一加密模組,於開機程序中,以此應用多核心處理器執行安全確認的方法,包括啟始開機程序、啟始UEFI BIOS、通過UEFI BIOS,加密模組識別電腦系統的硬體,並偵測得到多核心處理器的資訊,能依據開機程序中多個任務而啟用多核心處理器的多個核心。在一任務中,分配第一核心執行確認UEFI BIOS的韌體,在另一任務中,分配第二核心執行確認作業系統的程式,並在任務完成後,決定是否啟動電腦系統的作業系統。 The system is provided with an encryption module, and in the booting process, the multi-core processor is used to perform the security confirmation method, including starting the booting process, starting the UEFI BIOS, and identifying the hardware of the computer system through the UEFI BIOS. And to detect the information of the multi-core processor, can enable multiple cores of the multi-core processor according to multiple tasks in the boot process. In one task, the first core is assigned to perform firmware verification of the UEFI BIOS, and in another task, the second core is assigned to execute a program for confirming the operating system, and after the task is completed, it is determined whether to start the operating system of the computer system.

在另一實施例中,系統更包括第四記憶體,第四記憶體儲存遊戲系統的程式碼,並在開機程序中分配第三核心執行確認遊戲系統的任務。 In another embodiment, the system further includes a fourth memory that stores the code of the game system and distributes the third core to perform the task of confirming the game system in the boot process.

為了能更進一步瞭解本發明為達成既定目的所採取之技術、方法及功效,請參閱以下有關本發明之詳細說明、圖式,相信本發明之目的、特徵與特點,當可由此得以深入且具體之瞭解,然而所附圖式與附件僅提供參考與說明用,並非用來對本發明加以限制者。 In order to further understand the technology, method and effect of the present invention in order to achieve the intended purpose, reference should be made to the detailed description and drawings of the present invention. The drawings and the annexed drawings are intended to be illustrative and not to limit the invention.

101‧‧‧多核心處理器 101‧‧‧Multicore processor

102‧‧‧記憶體匯流排 102‧‧‧Memory bus

103‧‧‧基本輸出入系統 103‧‧‧Basic input and output system

111‧‧‧加密模組 111‧‧‧Encryption Module

104‧‧‧非揮發性記憶體 104‧‧‧Non-volatile memory

112‧‧‧特徵值 112‧‧‧Characteristic values

105‧‧‧硬碟機 105‧‧‧hard disk drive

113‧‧‧作業系統 113‧‧‧ operating system

201‧‧‧基本輸出入系統 201‧‧‧Basic input and output system

202‧‧‧第一特徵值 202‧‧‧First eigenvalue

203‧‧‧作業系統 203‧‧‧Operating system

204‧‧‧第二特徵值 204‧‧‧second eigenvalue

30‧‧‧第一記憶體 30‧‧‧First memory

32‧‧‧第二記憶體 32‧‧‧Second memory

33‧‧‧第三記憶體 33‧‧‧ third memory

34‧‧‧第四記憶體 34‧‧‧ Fourth memory

301‧‧‧開機區塊 301‧‧‧ boot block

302‧‧‧主區塊 302‧‧‧Main block

303‧‧‧固定變數區塊 303‧‧‧ Fixed variable block

304‧‧‧安全特徵值 304‧‧‧Safety feature values

305‧‧‧剩餘空間 305‧‧‧Remaining space

306‧‧‧作業系統 306‧‧‧Operating system

307‧‧‧遊戲系統 307‧‧‧ Game System

40‧‧‧多核心處理器 40‧‧‧Multicore processor

421‧‧‧基本輸出入系統 421‧‧‧Basic input and output system

423‧‧‧啟動加載程序 423‧‧‧Start loader

425‧‧‧加密模組 425‧‧‧Encryption Module

427‧‧‧特徵值 427‧‧‧Characteristic values

42‧‧‧快閃記憶體 42‧‧‧Flash memory

S501~S515‧‧‧安全確認的開機流程 S501~S515‧‧‧Safely confirmed boot process

圖1顯示電腦系統的架構示意圖;圖2A顯示為由一加密模組產生特徵值的實施例圖;圖2B顯示由一加密模組產生特徵值的另一實施例圖;圖3顯示儲存UEFI BIOS、作業系統與遊戲系統的特徵值的記憶體區塊實施例示意圖;圖4顯示為應用多核心處理器執行安全確認的開機系統的實施例示意圖;圖5顯示的流程圖描述應用多核心處理器執行安全確認的開機方法的流程實施例。 1 is a schematic diagram showing the architecture of a computer system; FIG. 2A is a diagram showing an embodiment of generating feature values by an encryption module; FIG. 2B is a diagram showing another embodiment of generating feature values by an encryption module; and FIG. 3 is a diagram showing the storage of UEFI BIOS. Schematic diagram of a memory block embodiment of the operating system and the feature values of the game system; FIG. 4 is a schematic diagram showing an embodiment of a booting system for performing security confirmation using a multi-core processor; FIG. 5 is a flow chart depicting the application of a multi-core processor A process embodiment of a boot method that performs a security check.

揭露書描述應用電腦系統中多核心處理器(multi-core processor)執行安全確認(security verification)的開機方法與其系統實施例。電腦系統中的統一可延伸韌體介面/可延伸韌體介面基本輸出入系統(Unified Extensible Firmware Interface Basic Input/Output System,UEFI BIOS)為一種可修改的基本輸出入系統,並逐漸廣泛應用在現代的電腦系統中。 The disclosure describes a boot method and a system embodiment thereof for performing security verification using a multi-core processor in a computer system. Unified Extensible Firmware Interface Basic Input/Output System (UEFI BIOS) is a modifiable basic input/output system that is widely used in modern applications. In the computer system.

可延伸韌體介面基本輸出入系統可在電腦系統開機程序中初始化電腦系統中韌體與硬體,然而這類可被修改/編程的UEFI BIOS卻可能為電腦系統帶來風險,使得BIOS或是各種系統有可能被惡意竄改的風險。因此,對於安全性要求高的電腦系統來說,需要對BIOS與系統進行安全確認的措施。 Extendable Firmware Interface The basic input and output system can initialize the firmware and hardware of the computer system in the boot process of the computer system. However, such a modified/programmed UEFI BIOS may pose a risk to the computer system, so that the BIOS or Various systems are at risk of being maliciously tampered with. Therefore, for a computer system with high security requirements, it is necessary to perform security confirmation on the BIOS and the system.

舉例來說,遊戲系統或博奕系統對於安全性的要求極高,不能容忍任何安全上的威脅,各種可能的安全疑慮將可能導致電腦系統被未被授權的人或是惡意程式所攻擊,而處於易受駭的狀態。因此,當電腦系統啟動後進入開機程序時,揭露書提出的安全確認機制將對電腦系統中特定安全性要求高的系統執行安全確認,如其中的作業系統(operating system)、遊戲系統(gaming system)等,應嚴格地對其中程式碼(包括編譯後的程式)執行安全確認。 For example, a gaming system or a gaming system is extremely demanding on security and cannot tolerate any security threats. Various possible security concerns may cause the computer system to be attacked by unauthorized persons or malicious programs. Vulnerable state. Therefore, when the computer system is booted and enters the boot process, the security confirmation mechanism proposed by the disclosure will perform security confirmation on the system with high security requirements in the computer system, such as the operating system and the gaming system. ), etc., should strictly perform security confirmation on the code (including the compiled program).

在開機程序中的安全確認目的是防止程式碼被不當竄改,免得程式當中被埋下隱藏的程式碼,所述的應用多核心處理器執行安全確認的開機方法即僅允許通過安全確認的系統繼續運作,如遊戲系統/博奕系統,只有在開機程序中完成安全確認才能在沒有安全威脅下被正常啟動。 The purpose of the security check in the boot process is to prevent the code from being improperly falsified, so as to avoid hidden code in the program. The boot method of the application multi-core processor to perform security confirmation is only allowed to continue through the system of security confirmation. Operation, such as the game system/Boao system, can only be started normally without security threats by completing the security confirmation in the boot process.

然而,開機程序將因為執行了安全確認而延長了開機時間,在一實施方案中,在具有多核心處理器的電腦系統中,多個處理核心將可被有效應用在開機程序中,避免安全確認運行而延遲過長的開機時間。多核心處理器是指電腦系統中一個具有兩個以上處理核心的單一運算元件,而多個處理核心為實際處理數據的運 算單元。 However, the boot process will extend the boot time by performing a security check. In an embodiment, in a computer system with a multi-core processor, multiple processing cores can be effectively applied in the boot process to avoid security confirmation. Runs and delays the boot time that is too long. A multi-core processor is a single computing component in a computer system that has more than two processing cores, and multiple processing cores are operational units that actually process data.

當具有多核心處理器的電腦系統在開機程序中被初始化,多核心處理器的多核心處理程序將被啟始,並同時啟用其中處理核心,讓處理核心處於運作狀態。在電腦系統開機程序中,開機程序先偵測多核心處理器的多個處理核心,多個處理核心分別運行多核心處理程序,並在一多核心服務協定(MP-service protocol)規範下管理多處理核心的處理程序。通過此多核心服務協定,多個處理核心可被選擇性地啟用(enabled)或停用(disabled)。 When a computer system with a multi-core processor is initialized in the boot process, the multi-core processor of the multi-core processor will be started, and the processing core is enabled at the same time to keep the processing core in operation. In the computer system boot process, the boot process first detects multiple processing cores of the multi-core processor, and multiple processing cores respectively run multi-core processing programs and manage multiple under a multi-core protocol (MP-service protocol) specification. Handle the core handlers. Through this multi-core service agreement, multiple processing cores can be selectively enabled or disabled.

多核心服務協定定義了兩類處理器,多個處理核心之一被定義為啟動處理器(bootstrap processor,BSP),其餘核心則為應用處理器(application processors,APs)。當具有多核心處理器的電腦系統開機,或是被重置(reset)之後,開機程序中將有一程序運行此多核心服務協定,此時,動態地,有一個處理核心被選定為啟動處理器(BSP),核心編號可為核心‘0’,其餘處理核心則被選為應用處理器(AP),核心編號可為核心1、核心2、核心3等。 The multi-core service agreement defines two types of processors. One of the multiple processing cores is defined as a bootstrap processor (BSP), and the other cores are application processors (APs). When a computer system with a multi-core processor is powered on or reset, there will be a program running the multi-core service protocol in the boot process. At this point, dynamically, a processing core is selected as the boot processor. (BSP), the core number can be core '0', the remaining processing cores are selected as application processors (AP), and the core numbers can be core 1, core 2, core 3, and so on.

揭露出提出的系統採用了安全確認機制,在開機程序中確認電腦系統是否為安全,特別是能確保UEFI BIOS不被不當竄改。安全確認的措施可適用於UEFI BIOS記憶體以外的各種儲存媒體中的內容。根據揭露書描述的實施例,應用電腦系統中多核心處理器執行安全確認的開機方法特別是利用了多核心處理器中多個處理程序可以平行運行在不同儲存媒體的安全確認程序的優點,讓電腦系統可以在特定服務協定下平行處理開機程序中的多個任務,藉此在開機程序執行安全確認程序,為一種高安全性的解決方案。 It is revealed that the proposed system adopts a security confirmation mechanism to confirm whether the computer system is safe in the booting process, in particular to ensure that the UEFI BIOS is not improperly tampered with. The security confirmation measures can be applied to content in various storage media other than UEFI BIOS memory. According to the embodiment described in the disclosure, the booting method for executing the security confirmation by the multi-core processor in the computer system, in particular, utilizes the advantages of the multi-core processor in which the plurality of processing programs can run the security confirmation program in different storage media in parallel, so that The computer system can process multiple tasks in the boot process in parallel under a specific service agreement, thereby implementing a security confirmation procedure in the boot process, which is a highly secure solution.

參考圖1顯示的實施例示意圖,其中描述了電腦系統的架構,電腦系統包括有幾種儲存媒體,分別儲存UEFI BIOS韌體、相關特徵值(digests)與作業系統。 Referring to the schematic diagram of the embodiment shown in FIG. 1, the architecture of the computer system is described. The computer system includes several storage media for storing UEFI BIOS firmware, related digests and operating systems.

在此實施例示意圖中,顯示電腦系統中的多核心處理器101, 而作為電腦系統的中央處理器,電腦系統不排除可以採用兩個或以上的多核心處理器。多核心處理器101為一個封裝有多個處理核心的晶片,此例顯示為四核心處理器(quad-core processor),其中有四個獨立的處理核心,示意圖顯示核心編號分別為核心0(core 0)、核心1(core 1)、核心2(core 2)與核心3(core 3),各處理核心運行的程序用以讀取與執行中央處理器的指令。 In the schematic diagram of this embodiment, the multi-core processor 101 in the computer system is shown, and as the central processing unit of the computer system, the computer system does not exclude that two or more multi-core processors can be employed. The multi-core processor 101 is a chip packaged with a plurality of processing cores. This example is shown as a quad-core processor with four independent processing cores. The schematic shows that the core numbers are core 0 (core 0), core 1 (core 1), core 2 (core 2) and core 3 (core 3), each processing core running program is used to read and execute the instructions of the central processing unit.

電腦系統使用了一記憶體匯流排(memory I/O bus)102經一前側匯流排(front-side bus)連結系統中的多核心處理器101,並通過此記憶體匯流排與其他記憶體通訊。記憶體匯流排102提供多核心處理器101存取系統資源的通道,每個處理核心更可個別獨立存取系統資源。如此,多個處理核心可以同時執行多個指令。 The computer system uses a memory I/O bus 102 via a front-side bus to connect the multi-core processor 101 in the system and communicates with other memory through the memory bus. . The memory bus 102 provides a channel for the multi-core processor 101 to access system resources, and each processing core can individually access system resources individually. As such, multiple processing cores can execute multiple instructions simultaneously.

在此實施例中,示意圖顯示有多種形式的儲存媒體,例如第一記憶體103,用以記載UEFI BIOS的韌體程式碼;第二記憶體104用以儲存各種特徵值(digests)112;以及一個硬碟機105,用以儲存至少有作業系統113的程式碼。為了實現在開機過程中執行安全確認程序,根據實施例之一,在UEFI BIOS的第一記憶體103中安裝有一指令集,以一加密模組(cryptography module)111為例,加密模組111可以是一個內嵌在UEFI BIOS韌體中的程式集。當UEFI BIOS啟始,連帶加密模組111被啟動。 In this embodiment, the schematic diagram shows various forms of storage media, such as a first memory 103 for recording the firmware code of the UEFI BIOS, and a second memory 104 for storing various feature values 112; A hard disk drive 105 for storing at least the code of the operating system 113. In order to implement the security verification procedure during the boot process, according to one of the embodiments, an instruction set is installed in the first memory 103 of the UEFI BIOS. Taking a cryptography module 111 as an example, the encryption module 111 can Is a set of programs embedded in the UEFI BIOS firmware. When the UEFI BIOS starts, the associated encryption module 111 is activated.

在一實施方案中,前述用以儲存UEFI BIOS韌體程式的第一記憶體103可以為一種串列週邊介面(serial peripheral interface,SPI)快閃記憶體,但不排除可以其他形式的儲存媒體實現。第二記憶體104為非揮發性記憶體,亦同樣可為串列週邊介面(SPI)快閃記憶體,亦可為一種電子抹除式可複寫唯讀記憶體(Electrically Erasable Programmable Read-Only Memory,EEPROM),電子連接第一記憶體103。第二記憶體104用以儲存特徵值112,特徵值主要為自UEFI BIOS以及作業系統運算得出用以執行安全確認的一種數位資訊,例如對BIOS的韌體程式碼與 作業系統程式碼以一特定演算法逐位元運算得到各個特徵值。前述第一記憶體103與第二記憶體104可為電腦系統中裝載於主機板上的記憶體晶片。 In an embodiment, the foregoing first memory 103 for storing the UEFI BIOS firmware may be a serial peripheral interface (SPI) flash memory, but may not be implemented by other forms of storage media. . The second memory 104 is a non-volatile memory, and can also be a serial peripheral interface (SPI) flash memory, or an electronically erasable readable memory (Electrically Erasable Programmable Read-Only Memory). , EEPROM), electronically connecting the first memory 103. The second memory 104 is configured to store the feature value 112. The feature value is mainly a digital information obtained from the UEFI BIOS and the operating system to perform security confirmation, for example, the firmware code of the BIOS and the operating system code. A specific algorithm is operated bit by bit to obtain individual feature values. The first memory 103 and the second memory 104 may be memory chips mounted on a motherboard in a computer system.

電腦系統運行時,電腦系統仍可以提供額外的儲存裝置儲存作業系統113的程式碼,作業系統113在開機程序的最後程序中載入主記憶體中,也可載入到硬碟機105。更者,多核心處理器101通過記憶體匯流排102存取硬碟機105。硬碟機105可以為一或多個邏輯或實體磁碟分割區,也就是電腦系統可以包括兩個或多個分開的邏輯或實體磁碟分割區,提供給不同的作業程序。舉例來說,系統可以預備作業系統的磁碟,或有其他用途的磁碟,如遊戲系統。 While the computer system is running, the computer system can still provide an additional storage device to store the code of the operating system 113. The operating system 113 is loaded into the main memory in the last program of the booting process, and can also be loaded into the hard disk drive 105. Furthermore, the multi-core processor 101 accesses the hard disk drive 105 through the memory bus 102. The hard disk drive 105 can be one or more logical or physical disk partitions, that is, the computer system can include two or more separate logical or physical disk partitions for different operating programs. For example, the system can prepare a disk for the operating system, or a disk for other purposes, such as a gaming system.

根據一實施例,記載於第一記憶體103的UEFI BIOS安裝的加密模組111如一種韌體驅動程式(firmware-based driver),加密模組111為一執行安全確認的開機程序之一,其目的之一係為檢查UEFI BIOS是否被不當竄改,加密模組111的另一目的是要確保硬碟機105或其他儲存媒體中的程式的安全。 According to an embodiment, the UEFI BIOS installed encryption module 111 of the first memory 103 is a firmware-based driver, and the encryption module 111 is one of the booting programs for performing security confirmation. One of the purposes is to check whether the UEFI BIOS has been improperly tampered with. Another purpose of the encryption module 111 is to ensure the security of the program in the hard disk drive 105 or other storage medium.

進一步地,運行於開機程序中的安全確認程序需要先取得連結一特定記憶區塊的映像(image)的特徵值,特徵值包括自UEFI BIOS的初始狀態(initial state)或是前一次經確認的狀態(previous approved state)下的映像運算得到的簽章值(signature value)。同樣地,作業系統也形成自己的特徵值,也可為由作業系統的初始狀態或是前次(或某一次)經確認的狀態下的映像運算得到的簽章值。對於具有遊戲系統的電腦系統而言,遊戲系統特徵值可為由遊戲系統的初始狀態或是前次經確認的狀態下的映像運算得到的簽章值。對於儲存於一儲存媒體的可延伸韌體介面基本輸出入系統、作業系統與遊戲系統的程式碼,系統係以逐位元運算(bit-to-bit computation)得到各個特徵值,並儲存在電腦系統的記憶體中,其中事先運算得到的特徵值是作為安全確認比對的參 考值,也包括在開機程序中當下運算得到特徵值。此類以特徵值為比對基礎的安全確認方案,可以用來檢查是否這些比對對象(特定儲存位置的內容)有被不當竄改的疑慮。 Further, the security verification program running in the booting process needs to obtain the feature value of the image linked to a specific memory block, and the feature value includes the initial state of the UEFI BIOS or the previously confirmed image. The signature value obtained from the image operation under the previously approved state. Similarly, the operating system also forms its own feature value, and may also be a signature value obtained from the initial state of the operating system or the image operation in the previous (or some) confirmed state. For a computer system having a game system, the game system feature value may be a signature value obtained from an initial state of the game system or an image operation in a previously confirmed state. For the executable code of the extensible firmware interface stored in a storage medium, which is basically input into the system, the operating system and the game system, the system obtains each feature value by bit-to-bit computation and stores it in the computer. In the memory of the system, the feature value obtained by the prior calculation is used as a reference value for the security confirmation comparison, and also includes the feature value obtained by the current operation in the boot process. Such a security confirmation scheme based on the comparison of eigenvalues can be used to check whether these comparison objects (contents of specific storage locations) have been misunderstood.

可參考圖2A,其中顯示由加密模組運算產生的特徵值的概圖,基於UEFI BIOS為可修改的特性,系統在開機程序中對基本輸出入系統201執行安全確認,由加密模組111先行對初始狀態或是經確認的狀態下的基本輸出入系統201運算第一特徵值202,加密模組111於是可在開機程序中執行安全確認程序,用以檢查基本輸出入系統201是否被竄改。加密模組111可為硬體或軟體實現的程序,程式部分可以載於系統的任何儲存空間中,包括載於UEFI BIOS相關的快閃記憶區塊中。 Referring to FIG. 2A, an overview of the feature values generated by the encryption module operation is displayed. Based on the UEFI BIOS being a modifiable feature, the system performs a security confirmation on the basic input and output system 201 in the boot process, and is preceded by the encryption module 111. The first feature value 202 is calculated for the basic input/output system 201 in the initial state or the confirmed state, and the encryption module 111 can then execute a security confirmation program in the boot process to check whether the basic input/output system 201 has been tampered with. The encryption module 111 can be a hardware or software implemented program, and the program portion can be carried in any storage space of the system, including in a UEFI BIOS related flash memory block.

以上所述安全確認程序主要是用以確認UEFI BIOS中的可變區塊是否被竄改,先是由載於UEFI BIOS中的加密模組111運算得到第一特徵值202,第一特徵值202作為比對的參考值,用以對照開機程序中由加密模組111即時運算得到的UEFI BIOS當下的特徵值,藉由此安全確認程序,根據比對的結果,系統可以判斷出UEFI BIOS是否有被竄改的問題。 The above-mentioned security confirmation procedure is mainly used to confirm whether the variable block in the UEFI BIOS has been tampered with. First, the first feature value 202 is calculated by the encryption module 111 carried in the UEFI BIOS, and the first feature value 202 is used as a ratio. The reference value of the pair is used to compare the current feature value of the UEFI BIOS obtained by the encryption module 111 in the booting procedure, and by using the security confirmation program, according to the comparison result, the system can determine whether the UEFI BIOS has been tampered with. The problem.

同樣地,安全確認機制可應用在電腦系統的其他儲存媒體所儲存的系統上,如作業系統的程式碼,以及特定系統的程式指令等。實施例可參考圖2B所示,其中第二特徵值204為加密模組111根據作業系統203的初始狀態或前次經確認的狀態運算得到的特徵值,在安全確認程序中,加密模組111在開機程序中被啟動,以即時運算當下作業系統203的特徵值,與預先運算的第二特徵值204比對,藉此確認儲存於特定儲存媒體中的作業系統203是否有被竄改的問題。 Similarly, the security confirmation mechanism can be applied to systems stored in other storage media of the computer system, such as the operating system code, and program instructions for specific systems. For example, the second feature value 204 is a feature value calculated by the encryption module 111 according to the initial state of the operating system 203 or the previously confirmed state. In the security verification program, the encryption module 111 is used. It is activated in the booting process to instantly calculate the feature value of the current operating system 203 and compare it with the pre-calculated second feature value 204, thereby confirming whether the operating system 203 stored in the specific storage medium has been tampered with.

同樣的安全確認機制也應用在遊戲系統上,例如,為了確保遊戲系統的安全性,由加密模組111啟始的安全確認程序先自遊戲系統的初始狀態或前次確認過的狀態運算得到特徵值,再於開 機程序中即時從遊戲系統的特定記憶區塊中運算得到當下的特徵值,經由比對得到是否被竄改的結果。 The same security confirmation mechanism is also applied to the game system. For example, in order to ensure the security of the game system, the security confirmation program initiated by the encryption module 111 first obtains features from the initial state of the game system or the previously confirmed state operation. The value is then calculated from the specific memory block of the game system in the booting process to obtain the current feature value, and the result of the falsification is obtained through the comparison.

最後,系統可以根據特徵值的比對結果來判斷作業系統或是遊戲系統有被竄改的疑慮。 Finally, the system can judge whether the operating system or the game system has been tampered with based on the comparison result of the feature values.

以上描述的安全確認機制使用了由UEFI BIOS與作業系統/遊戲系統運算得出的安全特徵值(第一特徵值202、第二特徵值204),以及在開機程序中即時自UEFI BIOS與作業系統/遊戲系統運算得到的當下的特徵值,兩者比對的結果將反映出安全確認的記憶區塊是否有被竄改的問題。而所述儲存於特定記憶區塊的安全特徵值(202,204)可以被更新,特別是舊的特徵值可以最新已被確認內容的UEFI BIOS、作業系統/遊戲系統重新運算得到的特徵值所取代。例如,當電腦系統的管理者同意或授權修改BIOS或作業系統的內容,更新後的內容將重新運算得到新的特徵值,用以取代原本的特徵值。 The security confirmation mechanism described above uses the security feature values (first feature value 202, second feature value 204) computed by the UEFI BIOS and the operating system/game system, and from the UEFI BIOS and operating system in the boot process. / The current eigenvalue obtained by the game system operation, the result of the comparison will reflect whether the safely confirmed memory block has been tampered with. The security feature values (202, 204) stored in the specific memory block may be updated, in particular, the old feature values may be replaced by the feature values of the UEFI BIOS and the operating system/game system recalculated by the latest confirmed content. For example, when the administrator of the computer system agrees or authorizes to modify the contents of the BIOS or the operating system, the updated content will be recalculated to obtain a new feature value to replace the original feature value.

儲存在特定記憶區塊的安全特徵值(202,204)本身應該安全地儲存在電腦系統中的特定記憶區塊,安全特徵值(202,204)也應具備防止被盜取或竄改的措施。例如,可以特定加密演算法對安全特徵值(202,204)運算後才儲存在特定記憶區塊中。在開機程序中,加密模組111應重新解密被加密的安全特徵值(202,204)來比對即時運算的特徵值。 The security feature values (202, 204) stored in a particular memory block should themselves be securely stored in a particular memory block in the computer system, and the security feature values (202, 204) should also be protected against theft or tampering. For example, a security algorithm value (202, 204) may be computed by a particular encryption algorithm before being stored in a particular memory block. In the boot process, the encryption module 111 should re-decrypt the encrypted security feature values (202, 204) to compare the feature values of the instant operations.

參考圖3顯示的各記憶區塊與特徵值的關係概圖。其中顯示有第一記憶體30,用以儲存UEFI BIOS的韌體程式,為了確保UEFI BIOS未被竄改,可以將UEFI BIOS的記憶區塊設定為防寫保護。原本第一記憶體30為可重複寫入的快閃記憶體,或是其他非揮發性記憶體;第二記憶體32可以為另一快閃記憶體或其他非揮發記憶體,如EEPROM,用以記載特徵值。第二記憶體32可以如硬碟機或特定形式的儲存媒體。作業系統306的程式碼儲存在第三記憶體33、硬碟機,或是特定儲存媒體。遊戲系統307儲存 在第四記憶體34中,同樣可以為硬碟機或其他形式儲存媒體。 Refer to Figure 3 for an overview of the relationship between each memory block and the eigenvalues. The first memory 30 is displayed for storing the UEFI BIOS firmware. To ensure that the UEFI BIOS has not been tampered with, the memory block of the UEFI BIOS can be set to write protection. The first memory 30 is a rewritable flash memory or other non-volatile memory; the second memory 32 can be another flash memory or other non-volatile memory such as an EEPROM. To record the feature values. The second memory 32 can be, for example, a hard disk drive or a particular form of storage medium. The code of the operating system 306 is stored in the third memory 33, the hard disk drive, or a specific storage medium. The game system 307 is stored in the fourth memory 34 and can also be a hard disk drive or other form of storage medium.

進一步地,如本實施例圖所示,第一記憶體30中的UEFI BIOS設有開機區塊(boot block)301、主區塊(main block)302與固定變數區塊(fixed variable block)303。開機區塊301為基本輸出入系統定義的一個區塊,在開機程序中轉換到程式段(code section),然而,開機區塊301在轉換到程式段前的程式碼應該在安全確認程序中保持不變。主區塊302用以儲存UEFI BIOS的主程式碼,也可以為加密模組儲存的記憶區塊,但實際實施時加密模組也不限於儲存在此記憶區塊中。這個固定變數區塊303一般為UEFI BIOS儲存基本輸出入系統變數的記憶區塊。UEFI BIOS的變數可以在每次開機程序中被修改,因此,此固定變數區塊303特別為一種防止寫入的記憶區塊,以確保UEFI BIOS符合安全的要求。 Further, as shown in the figure of the embodiment, the UEFI BIOS in the first memory 30 is provided with a boot block 301, a main block 302 and a fixed variable block 303. . The boot block 301 is a block defined by the basic input and output system, and is converted to a code section in the boot process. However, the code of the boot block 301 before being converted to the block should be maintained in the security confirmation program. constant. The main block 302 is used to store the main code of the UEFI BIOS, and may also be a memory block stored by the encryption module. However, the actual implementation of the encryption module is not limited to being stored in the memory block. This fixed variable block 303 is typically a memory block in which the UEFI BIOS stores basic input and output system variables. The UEFI BIOS variable can be modified in each boot process, so this fixed variable block 303 is specifically a memory block that prevents writes to ensure that the UEFI BIOS meets security requirements.

在一般實施例中,以上所述第二記憶體、第三記憶體與第四記憶體可以為同一個儲存裝置,或是一個儲存裝置中的三個不同分割區,或是三個獨立的儲存裝置。進一步地,作業系統306的相關作業程式可以儲存在第三記憶體33的一個分割區中,遊戲系統307的程式可以儲存在第四記憶體34的一個分割區中。在一範例中,遊戲系統不一定為一獨立的系統,而可以為作業系統306的一部分,也就是第三記憶體33與第四記憶體34可以為一個硬碟機中的兩個分別的分割區,或是兩個分開的實際硬碟機,亦可以為其他特定形式的儲存媒體。 In a general embodiment, the second memory, the third memory, and the fourth memory may be the same storage device, or three different partitions in one storage device, or three independent storages. Device. Further, the related operating program of the operating system 306 can be stored in a partition of the third memory 33, and the program of the gaming system 307 can be stored in a partition of the fourth memory 34. In one example, the gaming system is not necessarily a separate system, but may be part of the operating system 306, that is, the third memory 33 and the fourth memory 34 may be two separate partitions in a hard disk drive. Zones, or two separate actual hard drives, can also be other specific forms of storage media.

安全確認的機制讓本揭露書提出的系統分割第二記憶體32為多個記憶空間,用以通過記憶體匯流排儲存安全特徵值304,可以為多個特徵值。第二記憶體32用以儲存由第一記憶體31、第三記憶體33與第四記憶體34中的內容運算所得到的安全特徵值304。 The security confirmation mechanism allows the system to divide the second memory 32 proposed by the disclosure into a plurality of memory spaces for storing the security feature values 304 through the memory bus, which may be a plurality of feature values. The second memory 32 is configured to store the security feature values 304 obtained by the content operations in the first memory 31, the third memory 33, and the fourth memory 34.

在此實施例中,安全特徵值304包括有第一特徵值,第一特徵值為由第一記憶體30中UEFI BIOS的固定變數區塊303以一特 定加密演算法運算得到。安全特徵值304包括有第二特徵值,第二特徵值由第三記憶體33的作業系統306以一演算法運算得出。安全特徵值304包括有第三特徵值,第三特徵值由第四記憶體34中的遊戲系統307以一演算法運算得到。圖中虛線表示安全特徵值304通過加密模組運算儲存在第二記憶體32的固定變數區塊303,以及儲存在特定儲存媒體中的作業系統306與遊戲系統307的特徵值。所述特定演算法主要是對UEFI BIOS、作業系統或遊戲系統逐位元、位元組運算得到特徵值。 In this embodiment, the security feature value 304 includes a first feature value, and the first feature value is obtained by a fixed encryption algorithm of the UEFI BIOS fixed variable block 303 in the first memory 30. The security feature value 304 includes a second feature value that is computed by the operating system 306 of the third memory 33 in an algorithmic operation. The security feature value 304 includes a third feature value that is computed by the game system 307 in the fourth memory 34 in an algorithmic operation. The dashed line in the figure indicates that the security feature value 304 is calculated by the encryption module to be stored in the fixed variable block 303 of the second memory 32, and the feature values of the operating system 306 and the game system 307 stored in the specific storage medium. The specific algorithm is mainly for computing the feature value of the UEFI BIOS, the operating system or the game system bit by bit and byte.

在一實施例中,UEFI BIOS中載有在安全確認程序中得出特徵值的程式,可以將儲存安全特徵值304以外的空間,也就是第二記憶體32的剩餘空間305,設為空值(void),以符合UEFI BIOS規格。並設有指向器(pointer),用以指出儲存安全特徵值304的記憶體位址,使得處理器可以根據記憶體位址得出特徵值。 In an embodiment, the UEFI BIOS carries a program for deriving a feature value in the security confirmation program, and the space other than the stored security feature value 304, that is, the remaining space 305 of the second memory 32, may be set to a null value. (void) to comply with the UEFI BIOS specification. A pointer is also provided to indicate the memory address at which the security feature value 304 is stored, so that the processor can derive the feature value based on the memory address.

在一實施例中,加密模組安裝於UEFI BIOS的某個記憶區塊中,加密模組用以執行加密演算法,可以對UEFI BIOS韌體與特定儲存媒體中的程式碼(或程式)運算得出特徵值,所述加密演算法可為一種安全散列演算法(SHA,Secure Hash Algorithm),用以執行加密雜湊演算(cryptographic hash algorithm),以能對加密對下逐位元運算得出特徵值。其中係對儲存於儲存媒體的可延伸韌體介面基本輸出入系統、作業系統與遊戲系統的程式碼,以逐位元運算得到各個特徵值,並儲存在電腦系統的記憶體中。 In one embodiment, the encryption module is installed in a memory block of the UEFI BIOS, and the encryption module is used to perform an encryption algorithm, and can perform operations on the UEFI BIOS firmware and the code (or program) in the specific storage medium. The eigenvalue is obtained. The cryptographic algorithm can be a Secure Hash Algorithm (SHA) for performing a cryptographic hash algorithm to calculate the bitwise operation of the cryptographic pair. Eigenvalues. The executable code of the extensible firmware interface stored in the storage medium is basically input into the system, the operating system and the game system, and each feature value is obtained by bit-by-bit operation and stored in the memory of the computer system.

另一加密演算法如一種1977年開發的RSA(Ron Rivest,Adi Shamir and Leonard Adleman),用以執行非對稱加密演算,應用在本揭露書提出的安全確認的開機方法中,包括運算安全特徵值,以及開機程序中當下的特徵值。 Another encryption algorithm, such as an RSA (Ron Rivest, Adi Shamir and Leonard Adleman) developed in 1977, is used to perform asymmetric cryptographic calculus, and is applied in the boot method of security confirmation proposed in the present disclosure, including computing security feature values. , and the current feature values in the boot process.

所述執行於開機程序中的安全確認運算同時應用在UEFI BIOS與儲存媒體中的程式碼,相較於以一個處理核心在開機程序中執行安全確認的方式(包括僅有一個核心的處理器,或是多核 心處理器但僅喚起一個核心處理的方式),本揭露書提出的應用多核心處理器執行安全確認的開機方法更採用了多核心處理器,能夠根據任務需求啟用多個處理核心,並在開機程序中實現平行處理任務的處理程序,相關系統描述可參考圖4。 The security confirmation operation performed in the boot process is simultaneously applied to the code in the UEFI BIOS and the storage medium, compared to the manner in which a processing core performs security confirmation in the boot process (including only one core processor, Or a multi-core processor but only evokes a core processing method. The boot method proposed by the present application for multi-core processor to perform security confirmation uses a multi-core processor, and can enable multiple processing cores according to task requirements. And the parallel processing task processing program is implemented in the booting process, and the related system description can refer to FIG. 4.

圖中顯示電腦系統中的多核心處理器40包括封裝了兩個以上的核心在一個晶片(IC)中,此例顯示為四個處理核心,在開機程序中,這些獨立的處理核心可以分別處理各自的執行緒(threads),並且是平行運行。多核心處理器40中的核心分別編號為核心0、核心1、核心2與核心3。開機程序可以是重新啟動電腦系統,或是重開機的程序。 The figure shows that the multi-core processor 40 in the computer system includes more than two cores packaged in one chip (IC). This example is shown as four processing cores. In the boot process, these independent processing cores can be processed separately. The respective threads are running in parallel. The cores in the multi-core processor 40 are numbered as core 0, core 1, core 2, and core 3. The boot process can be a program to restart the computer system or reboot.

在開機程序中,多核心處理器40經一初始化程序後,當偵測到有一個核心適格成為啟動處理器(BSP),即選定此核心為啟動處理器(BSP),其餘的核心則為應用處理器(AP)。啟動處理器將執行UEFI BIO中的啟動碼(boot-strap code),以設定出一個系統環境(systematic environment),並設定資料結構(data structures),以開始初始化應用處理器(AP)。舉例來說,前述核心編號為核心0,核心0的暫存器(register)產生一個啟動處理器旗幟(BSP flag),即選定為啟動處理器。前述加密模組425的程式安裝於一快閃記憶體42,快閃記憶體42用於儲存UEFI BIOS 421的韌體程式碼。 In the boot process, after an initialization process, the multi-core processor 40 detects that there is a core suitable as a boot processor (BSP), that is, the core is selected as a boot processor (BSP), and the remaining cores are applications. Processor (AP). The boot processor will execute the boot-strap code in the UEFI BIO to set up a systemic environment and set the data structures to begin initializing the application processor (AP). For example, the aforementioned core number is core 0, and the register of core 0 generates a boot processor flag (BSP flag), which is selected as the boot processor. The program of the encryption module 425 is installed in a flash memory 42, and the flash memory 42 is used to store the firmware code of the UEFI BIOS 421.

當系統被開機,UEFI BIOS 421初始化多核心處理器40以及電腦系統的周邊,並依據多核心服務協定設定多核心處理器40的啟動處理器(BSP)與應用處理器(APs)。在開機程序中,UEFI BIOS讀取啟動加載程序(boot loader)423,啟動加載程序423為安裝於快閃記憶體42中的程序,用以載入作業系統以及開機程序需要的軟體程式至系統記憶體。開機程序同時運行一個開機自我測試程序(power-on self-test process)。 When the system is powered on, the UEFI BIOS 421 initializes the multi-core processor 40 and the periphery of the computer system and sets the boot processor (BSP) and application processors (APs) of the multi-core processor 40 in accordance with the multi-core service protocol. In the booting process, the UEFI BIOS reads a boot loader 423, which is a program installed in the flash memory 42 for loading the operating system and the software program required for booting the program into the system memory. body. The boot program runs a power-on self-test process at the same time.

UEFI BIOS 421初始化多核心處理器40,其中應用處理器 (AP)啟始,並進入休眠模式,等待啟動處理器(BSP)啟動這些應用處理器(AP)開始執行分派的指令,例如揭露書所描述的安全確認程序。此時,加密模組425分派多個處理核心(包括BSP與AP)分別執行不同的安全確認任務。 The UEFI BIOS 421 initializes the multi-core processor 40, wherein the application processor (AP) starts and enters a sleep mode, waiting for the boot processor (BSP) to start the application processors (APs) to start executing the dispatched instructions, such as exposing the book The security verification procedure described. At this time, the encryption module 425 dispatches a plurality of processing cores (including the BSP and the AP) to perform different security confirmation tasks.

在UEFI BIOS被啟始後,加密模組425特別用於判斷UEFI BIOS的韌體程式是否有被不當修改,同時亦用於判斷作業系統或是遊戲系統的程式是否有被竄改。在此之前,系統先預備各個儲存媒體中程式的安全特徵值,包括初始狀態或前次經確認狀態下的基本輸出入系統特徵值,形成系統多個特徵值427之一,在本範例中,特徵值427儲存在快閃記憶體42中。另包括作業系統特徵值以及/或遊戲系統特徵值。系統初始計算各個儲存媒體的特徵值,以上各種特徵值都是涵蓋在圖示中特徵值427中。 After the UEFI BIOS is started, the encryption module 425 is specifically used to determine whether the UEFI BIOS firmware has been improperly modified, and is also used to determine whether the operating system or the game system program has been tampered with. Prior to this, the system first prepares the security feature values of the programs in each storage medium, including the initial state or the basic input and output system feature values in the previous confirmed state, to form one of the system's plurality of feature values 427, in this example, The feature value 427 is stored in the flash memory 42. Also included are operating system feature values and/or game system feature values. The system initially calculates the feature values of the respective storage media, and the above various feature values are included in the feature values 427 in the illustration.

圖4示意描述著利用多核心處理器40中多個核心(核心0、核心1、核心2與核心3),包括啟動處理器與應用處理器,分別運行開機程序中的多個任務。 4 schematically illustrates the use of multiple cores (core 0, core 1, core 2, and core 3) in a multi-core processor 40, including a boot processor and an application processor, each running multiple tasks in the boot process.

核心0可以被選定為啟動處理器(BSP),其餘核心1、核心2與核心3被選定為應用處理器(AP),初始狀態下,應用處理器的初始值與啟動處理器同步。加密模組425運作如多核心處理器40的控制器,先取得各種安全特徵值427,加密模組425對UEFI BIOS 421、作業系統與/或遊戲系統執行安全確認運算,加密模組425應用多核心服務協定分配各核心執行各自對應的任務,如圖示的任務1、任務2、任務3等。 Core 0 can be selected as the boot processor (BSP), and the remaining core 1, core 2 and core 3 are selected as application processors (APs). In the initial state, the initial value of the application processor is synchronized with the boot processor. The encryption module 425 operates as a controller of the multi-core processor 40, and first obtains various security feature values 427. The encryption module 425 performs security confirmation operations on the UEFI BIOS 421, the operating system, and/or the game system, and the encryption module 425 is applied. The core service agreement assigns each core to perform its respective tasks, such as task 1, task 2, task 3, and so on.

多核心處理器40在本揭露書提出的發明中擔負重要的工作。在一任務中,在開機程序中啟始的加密模組425將指示個別的處理核心即時運算得到當前基本輸出入系統特徵值,其中記載的資訊即反映了基本輸出入系統的現狀,加密模組425取出預先儲存於特定記憶區塊的安全特徵值之一的基本輸出入系統特徵值,接著比對基本輸出入系統特徵值與當前基本輸出入系統特徵值,加 密模組425將依據比對結果判斷是否UEFI BIOS有被變動的問題。 The multi-core processor 40 plays an important role in the invention proposed by the present disclosure. In a task, the encryption module 425 initiated in the booting process will instruct the individual processing cores to obtain the current basic input and output system feature values in real time, wherein the recorded information reflects the current status of the basic input and output system, and the encryption module. 425. The basic input and output system feature values of one of the security feature values pre-stored in the specific memory block are retrieved, and then the basic input and output system feature values are compared with the current basic input and output system feature values, and the encryption module 425 is based on the comparison result. Determine if the UEFI BIOS has been changed.

在另一任務中,加密模組425指示另一處理核心即時運算得到當前作業系統特徵值,此特徵值記載的資訊反映作業系統當下的狀態,加密模組425更取出預先儲存的作業系統特徵值,並比對當前作業系統特徵值與作業系統特徵值。加密模組425能夠根據比對結果判斷作業系統是否有被不當修改的問題。根據一實施例,加密模組425繼續在另一任務中指示不同的處理核心計算特定儲存媒體中特定系統的當下的特徵值,如針對遊戲系統/博奕系統的程式碼(某個關鍵記憶區塊)運算得到當前遊戲系統特徵值,其中資訊即反映遊戲系統的當前狀態,加密模組425於是比對當前遊戲系統特徵值與預先儲存在特定記憶區塊的遊戲系統特徵值,比對結果將反映出遊戲系統是否有被不當修改。 In another task, the encryption module 425 instructs another processing core to calculate the current operating system feature value in real time. The information recorded by the feature value reflects the current state of the operating system, and the encryption module 425 further extracts the pre-stored operating system feature value. And compare the current operating system feature values with the operating system feature values. The encryption module 425 can determine whether the operating system has been improperly modified based on the comparison result. According to an embodiment, the encryption module 425 continues to indicate in another task that the different processing cores calculate the current feature values of the particular system in the particular storage medium, such as the code for the game system/blog system (a key memory block) The operation obtains the current game system feature value, wherein the information reflects the current state of the game system, and the encryption module 425 then compares the current game system feature value with the game system feature value pre-stored in the specific memory block, and the comparison result will reflect Whether the game system has been improperly modified.

在開機程序中,本範例中四個核心分別處理被分配到的任務,可以順序或是非順序地處理個別被分配的任務,可參考圖5顯示的流程圖,流程圖描述了以多核心處理器執行的安全確認的開機方法,方法由電腦系統實現。 In the boot process, the four cores in this example process the assigned tasks separately, and the individual assigned tasks can be processed sequentially or non-sequentially. Referring to the flowchart shown in FIG. 5, the flowchart depicts the multi-core processor. The method of booting the security confirmation is performed by a computer system.

電腦系統提供了多樣的儲存媒體、記憶體給不同的用途,系統包括有第一記憶體,如一種快閃記憶體,以儲存UEFI BIOS的韌體程式;系統提供第二記憶體,用以儲存基本輸出入系統特徵值、作業系統特徵值與遊戲系統特徵值。第二記憶體可以為一種非揮發性記憶體,如快閃記憶體或硬碟機,其中儲存的特徵值記載的資訊反映出各系統的初始狀態或是前次經過確認的狀態。系統提供第三記憶體,這是儲存作業系統程式/程式碼的記憶區塊,或可再提供第四記憶體,用以儲存特定系統,如遊戲系統/博奕系統,的程式或程式碼。在開機程序中被啟動的加密模組將啟始多核心處理器的個別核心,平行處理不同的任務。 The computer system provides a variety of storage media and memory for different purposes. The system includes a first memory, such as a flash memory, to store the UEFI BIOS firmware; the system provides a second memory for storing Basic input and output system feature values, operating system feature values, and game system feature values. The second memory may be a non-volatile memory such as a flash memory or a hard disk drive, wherein the information stored in the stored feature values reflects the initial state of each system or the previously confirmed state. The system provides a third memory, which is a memory block for storing operating system programs/codes, or a fourth memory for storing programs or programs of a specific system, such as a game system/blog system. The cryptographic module that is activated during the boot process will initiate individual cores of the multi-core processor and process different tasks in parallel.

根據方法實施例,當電腦啟動而開機,如步驟S501,接著如步驟S503,UEFI BIOS被啟始與初始化,如步驟S505,基本輸出 入系統(如UEFI BIOS)啟始後,同時啟動其中的加密模組,由加密模組識別電腦系統的硬體資訊,如步驟S507,加密模組於是可以取得多核心處理器的資訊,包括偵測得到的多個核心,如步驟S509。同時,加密模組也根據設定的資訊,知悉多個開機程序中的任務,如步驟511,根據欲執行的任務啟用多個核心,並分配各啟用的核心執行個別執行緒,用以處理被分配的任務,如步驟S513。 According to the method embodiment, when the computer is booted and powered on, as in step S501, then as in step S503, the UEFI BIOS is started and initialized. In step S505, after the basic input/output system (such as UEFI BIOS) is started, the encryption is started at the same time. The module identifies the hardware information of the computer system by the encryption module. In step S507, the encryption module can obtain the information of the multi-core processor, including the detected multiple cores, as in step S509. At the same time, the encryption module also knows the tasks in the plurality of booting programs according to the set information. For example, in step 511, multiple cores are enabled according to the task to be executed, and each enabled core is executed to execute an individual thread for processing the assigned. The task is as in step S513.

例如,在第一任務中,分配第一核心確認UEFI BIOS的韌體;在第二任務,分配第二核心確認作業系統的程式、程式碼,或特定記憶區塊的內容;在第三任務中,分配第三核心確認遊戲系統的程式、程式碼或特定記憶區塊的內容。當這些任務完成後,系統將可判斷是否要啟動而進入作業系統,如步驟S515。 For example, in the first task, the first core is allocated to confirm the firmware of the UEFI BIOS; in the second task, the second core confirms the program, the code of the operating system, or the content of the specific memory block; in the third task The third core is assigned to confirm the program, code or content of the specific memory block of the game system. When these tasks are completed, the system will determine whether to start and enter the operating system, as in step S515.

在開機程序中,若經上述各個核心執行的安全確認程序確認所指派的各種確認動作都符合安全標準,即可順利進入作業系統。舉例來說,若確認延伸韌體介面基本輸出入系統、作業系統與遊戲系統的內容特徵值都符合預先儲存的安全特徵值,即可起動作頁系統。 In the booting process, if the security confirmation program executed by each of the above cores confirms that the various confirmation actions assigned are in compliance with the safety standards, the operating system can be smoothly entered. For example, if it is confirmed that the content of the extended firmware interface into the system, the operating system and the game system meet the pre-stored security feature values, the action page system can be activated.

綜上所述,在本揭露書提出的開機程序中的安全確認的開機方法與系統中,多個開機程序的任務特別由多核心處理器的多個核心處理,以特定程序通過多核心服務協定指示個別的核心平行處理不同的任務,不同於習知技術僅以單一核心處理器,或是多核心處理器的單一核心處理開機程序中的多個任務的方式,本揭露書提出的方法將可提供更有效率的方式來執行高安全性要求的系統的安全確認步驟。 In summary, in the booting method and system for security confirmation in the booting procedure proposed in the present disclosure, the tasks of the plurality of booting programs are specifically processed by multiple cores of the multi-core processor, and the multi-core service agreement is passed through the specific program. Instructing individual cores to process different tasks in parallel, unlike the conventional technique of processing a plurality of tasks in a boot process with a single core processor or a single core of a multi-core processor, the method proposed by the present disclosure will be Provides a more efficient way to perform security confirmation steps for systems with high security requirements.

以上所述僅為本發明之較佳可行實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。 The above are only the preferred embodiments of the present invention, and all changes and modifications made to the scope of the present invention should be within the scope of the present invention.

Claims (17)

一種應用多核心處理器執行安全確認的開機方法,包括:啟始一開機程序;啟始一電腦系統的一可延伸韌體介面基本輸出入系統;通過該可延伸韌體介面基本輸出入系統,識別該電腦系統的硬體;偵測該電腦系統的多核心處理器,以及依據該開機程序中多個任務而啟用該多核心處理器的多個核心;分配每個啟用的核心平行處理一任務;以及在任務完成後,決定是否啟動該電腦系統的作業系統。  A booting method for performing a security confirmation using a multi-core processor, comprising: initiating a booting process; starting a basic firmware input and output system of a scalable firmware interface of a computer system; and substantially importing and outputting the system through the extendable firmware interface, Identifying hardware of the computer system; detecting a multi-core processor of the computer system, and enabling multiple cores of the multi-core processor according to multiple tasks in the boot process; assigning each enabled core parallel processing task And, after the task is completed, decide whether to start the operating system of the computer system.   如請求項1所述的應用多核心處理器執行安全確認的開機方法,其中該分配任務給該多個核心的步驟中,更包括:分配一第一核心執行確認該可延伸韌體介面基本輸出入系統的韌體的任務;以及分配一第二核心執行確認該電腦系統的作業系統的任務。  The method of claim 1, wherein the applying the multi-core processor to perform the security confirmation, wherein the step of assigning the task to the plurality of cores further comprises: assigning a first core to perform confirmation of the extendable firmware interface basic output. The task of entering the firmware of the system; and assigning a second core to perform the task of confirming the operating system of the computer system.   如請求項2所述的應用多核心處理器執行安全確認的開機方法,更包括:分配一第三核心執行確認該電腦系統中的一遊戲系統的任務。  The booting method for applying the security confirmation by the multi-core processor according to claim 2, further comprising: assigning a third core to perform a task of confirming a game system in the computer system.   如請求項3所述的應用多核心處理器執行安全確認的開機方法,其中確認該可延伸韌體介面基本輸出入系統的任務是比對在該開機程序中運算的一當前基本輸出入系統特徵值與儲存在該電腦系統的一記憶體的一基本輸出入系統特徵值;確認該作業系統的任務是比對在該開機程序中運算的一當前作業系統特徵值與儲存在該記憶體的一作業系統特徵值;確認該遊戲系統的任務是比對在該開機程序中運算的一當前遊戲系統特徵值與儲存在該記憶體的一遊戲系統特徵值。  The booting method for performing security verification by the application multi-core processor according to claim 3, wherein the task of confirming that the extendable firmware interface is basically input into the system is to compare a current basic input and output system characteristic calculated in the booting program. And a value of a basic input and output system characteristic value stored in a memory of the computer system; confirming that the task of the operating system is to compare a current operating system characteristic value calculated in the booting program with a stored in the memory The operating system feature value; confirming that the game system's task is to compare a current game system feature value calculated in the boot process with a game system feature value stored in the memory.   如請求項4所述的應用多核心處理器執行安全確認的開機方 法,其中,當該可延伸韌體介面基本輸出入系統、該作業系統與該遊戲系統完成確認後,該電腦系統開始啟動該作業系統。  The booting method of applying the security confirmation by the multi-core processor according to claim 4, wherein the computer system starts to start after the extendable firmware interface is basically input into the system, and the operating system and the gaming system complete the confirmation. working system.   如請求項5所述的應用多核心處理器執行安全確認的開機方法,其中,係對儲存於一儲存媒體的該可延伸韌體介面基本輸出入系統、該作業系統與該遊戲系統的程式碼,以逐位元運算得到各個特徵值,並儲存在該電腦系統的記憶體中。  The booting method for performing security verification by the application multi-core processor according to claim 5, wherein the extendable firmware interface stored in a storage medium is basically input into the system, the operating system, and the code of the game system. Each feature value is obtained in a bitwise operation and stored in the memory of the computer system.   如請求項5所述的應用多核心處理器執行安全確認的開機方法,其中,以一加密模組執行識別該電腦系統硬體、偵測該多核心處理器、啟用該多個核心,以及分配各啟用的核心執行多個任務之一。  The booting method for performing a security confirmation by the application multi-core processor according to claim 5, wherein the identifying the computer system hardware, detecting the multi-core processor, enabling the multiple cores, and allocating by using an encryption module Each enabled core performs one of several tasks.   如請求項7所述的應用多核心處理器執行安全確認的開機方法,其中該加密模組為內嵌於該可延伸韌體介面基本輸出入系統的程式,當該可延伸韌體介面基本輸出入系統啟始後,啟動該加密模組。  The booting method for performing a security confirmation by the multi-core processor according to claim 7, wherein the encryption module is a program embedded in the basic output system of the extendable firmware interface, when the extendable firmware interface basic output After the system is started, the encryption module is started.   如請求項1所述的應用多核心處理器執行安全確認的開機方法,其中該多個核心係以一多核心服務協定選擇地啟用或停止,通過該多核心服務協定,於該開機程序中取得該多核心處理器的核心數量。  The booting method for performing a security confirmation by the application multi-core processor according to claim 1, wherein the plurality of cores are selectively enabled or stopped by a multi-core service agreement, and the multi-core service agreement is obtained in the booting process. The number of cores of this multi-core processor.   一種應用多核心處理器執行安全確認的開機系統,包括:一第一記憶體,用以儲存一電腦系統的一可延伸韌體介面基本輸出入系統的韌體;一第二記憶體,用以儲存一基本輸出入系統特徵值、一作業系統特徵值,以及一遊戲系統特徵值;一第三記憶體,用以儲存該電腦系統的一作業系統的程式碼;一加密模組,於一開機程序中,應用該多核心處理器執行安全確認的方法,該方法包括:啟始該開機程序;啟始該可延伸韌體介面基本輸出入系統; 通過該可延伸韌體介面基本輸出入系統,識別該電腦系統的硬體;偵測該電腦系統的多核心處理器,以及依據該開機程序中多個任務而啟用該多核心處理器的多個核心;在一任務中,分配一第一核心執行確認該可延伸韌體介面基本輸出入系統的韌體;在另一任務中,分配一第二核心執行確認該作業系統的程式碼;以及在任務完成後,決定是否啟動該電腦系統的作業系統。  A booting system for performing security verification using a multi-core processor includes: a first memory for storing a firmware of a computer system and a basic firmware input and output system; and a second memory for Storing a basic input and output system feature value, an operating system feature value, and a game system feature value; a third memory for storing a code of an operating system of the computer system; and an encryption module for booting In the program, applying the multi-core processor to perform a security verification method, the method comprising: initiating the booting process; starting the basic output of the extendable firmware interface into the system; and substantially importing and outputting into the system through the extendable firmware interface, Identifying hardware of the computer system; detecting a multi-core processor of the computer system, and enabling multiple cores of the multi-core processor according to multiple tasks in the boot process; assigning a first core in a task Performing to confirm that the extendable firmware interface is basically outputted into the firmware of the system; in another task, assigning a second core to execute the code for confirming the operating system And, after the task is completed, decide whether to start the operating system of the computer system.   如請求項10所述的應用多核心處理器執行安全確認的開機系統,更包括一第四記憶體,該第四記憶體儲存一遊戲系統的程式碼,並分配一第三核心執行確認該遊戲系統的任務。  The booting system for performing security confirmation by the application multi-core processor according to claim 10, further comprising a fourth memory, wherein the fourth memory stores a program code of the game system, and assigns a third core to perform the confirmation of the game. The task of the system.   如請求項11所述的應用多核心處理器執行安全確認的開機系統,其中確認該可延伸韌體介面基本輸出入系統的任務是比對在該開機程序中運算的一當前基本輸出入系統特徵值與儲存在該電腦系統的一記憶體的一基本輸出入系統特徵值;確認該作業系統的任務是比對在該開機程序中運算的一當前作業系統特徵值與儲存在該記憶體的一作業系統特徵值;確認該遊戲系統的任務是比對在該開機程序中運算的一當前遊戲系統特徵值與儲存在該記憶體的一遊戲系統特徵值。  The booting system for performing security verification by the application multi-core processor according to claim 11, wherein the task of confirming that the extendable firmware interface is basically input into the system is to compare a current basic input and output system feature calculated in the booting program. And a value of a basic input and output system characteristic value stored in a memory of the computer system; confirming that the task of the operating system is to compare a current operating system characteristic value calculated in the booting program with a stored in the memory The operating system feature value; confirming that the game system's task is to compare a current game system feature value calculated in the boot process with a game system feature value stored in the memory.   如請求項12所述的應用多核心處理器執行安全確認的開機系統,其中,當該可延伸韌體介面基本輸出入系統、該作業系統與該遊戲系統完成確認後,該電腦系統開始啟動該作業系統。  The booting system that performs the security confirmation by the application multi-core processor according to claim 12, wherein the computer system starts to start after the extendable firmware interface is basically input into the system, and the operating system and the gaming system complete the confirmation. working system.   如請求項13所述的應用多核心處理器執行安全確認的開機系統,其中,係對儲存於一儲存媒體的該可延伸韌體介面基本輸出入系統、該作業系統與該遊戲系統的程式碼,以逐位元運算得到各個特徵值,並儲存在該電腦系統的記憶體中。  The booting system for performing security confirmation by the multi-core processor according to claim 13, wherein the executable file of the executable system stored in a storage medium is input into the system, the operating system and the game system. Each feature value is obtained in a bitwise operation and stored in the memory of the computer system.   如請求項13所述的應用多核心處理器執行安全確認的開機系 統,其中該第二記憶體、該第三記憶體與該第四記憶體係在一相同的儲存裝置中、一個儲存裝置的三個分割區,或是三個分開的儲存裝置。  The booting system of claim 13, wherein the second memory, the third memory, and the fourth memory system are in the same storage device and three in a storage device. One partition, or three separate storage devices.   如請求項10所述的應用多核心處理器執行安全確認的開機系統,其中該加密模組為內嵌於該可延伸韌體介面基本輸出入系統的程式,當該可延伸韌體介面基本輸出入系統啟始後,啟動該加密模組。  The booting system for performing security verification by the multi-core processor according to claim 10, wherein the encryption module is a program embedded in the basic output system of the extendable firmware interface, and the basic output of the extendable firmware interface is After the system is started, the encryption module is started.   如請求項10所述的應用多核心處理器執行安全確認的開機系統,其中該多個核心係以一多核心服務協定選擇地啟用或停止,通過該多核心服務協定,於該開機程序中取得該多核心處理器的核心數量。  The booting system as claimed in claim 10, wherein the plurality of core systems are selectively enabled or disabled by a multi-core service agreement, and the multi-core service agreement is obtained in the booting process. The number of cores of this multi-core processor.  
TW106118282A 2017-06-02 2017-06-02 Method and system for security verification in a booting sequence with a multi-core processor TWI654559B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW106118282A TWI654559B (en) 2017-06-02 2017-06-02 Method and system for security verification in a booting sequence with a multi-core processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW106118282A TWI654559B (en) 2017-06-02 2017-06-02 Method and system for security verification in a booting sequence with a multi-core processor

Publications (2)

Publication Number Publication Date
TW201903601A true TW201903601A (en) 2019-01-16
TWI654559B TWI654559B (en) 2019-03-21

Family

ID=65803469

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106118282A TWI654559B (en) 2017-06-02 2017-06-02 Method and system for security verification in a booting sequence with a multi-core processor

Country Status (1)

Country Link
TW (1) TWI654559B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110716756A (en) * 2019-10-15 2020-01-21 上海兆芯集成电路有限公司 Multi-grain multi-core computer platform and starting method thereof
TWI724424B (en) * 2019-05-17 2021-04-11 英商鼎通盛股份有限公司 Method for accelerating verification process in a booting procedure and computer system thereof

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200743027A (en) 2006-05-11 2007-11-16 Insyde Software Corp Computer boot method using a multi-core/hyper-threading processor
TW201319827A (en) 2011-11-04 2013-05-16 Inventec Corp Method for executing multiple operating systems and electronic apparatus
TW201510767A (en) 2013-09-11 2015-03-16 Quixant Plc Electronic apparatus with security-approved bios, security-approved booting method and computer-accessible storage
US9128729B1 (en) 2014-09-08 2015-09-08 Quanta Computer Inc. System and method for automatically configuring bios performance profiles

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI724424B (en) * 2019-05-17 2021-04-11 英商鼎通盛股份有限公司 Method for accelerating verification process in a booting procedure and computer system thereof
CN110716756A (en) * 2019-10-15 2020-01-21 上海兆芯集成电路有限公司 Multi-grain multi-core computer platform and starting method thereof
CN110716756B (en) * 2019-10-15 2023-03-14 上海兆芯集成电路有限公司 Multi-grain multi-core computer platform and starting method thereof

Also Published As

Publication number Publication date
TWI654559B (en) 2019-03-21

Similar Documents

Publication Publication Date Title
US7721341B2 (en) Method and system for allowing code to be securely initialized in a computer
US11042644B2 (en) Method and system for security verification in a booting process with a multi-core processor
US10185828B2 (en) Systems and methods using virtual UEFI path for secure firmware handling in multi-tenant or server information handling system environments
US9230116B2 (en) Technique for providing secure firmware
US9881162B2 (en) System and method for auto-enrolling option ROMS in a UEFI secure boot database
US8607216B2 (en) Verifying firmware
US10216936B2 (en) Method of preventing computer malfunction, computer program, and computer
JP5643901B2 (en) Platform firmware armoring technology
US9658858B2 (en) Multi-threaded low-level startup for system boot efficiency
US7865712B2 (en) Method and apparatus for booting a processing system
US9208292B2 (en) Entering a secured computing environment using multiple authenticated code modules
TW201535145A (en) System and method to store data securely for firmware using read-protected storage
US9047491B2 (en) Encryption acceleration
US8886955B2 (en) Systems and methods for BIOS processing
GB2421612A (en) Providing a secure execution mode in a pre-boot environment
JP6925542B2 (en) Software verification device, software verification method and software verification program
US8108905B2 (en) System and method for an isolated process to control address translation
TW201510767A (en) Electronic apparatus with security-approved bios, security-approved booting method and computer-accessible storage
TWI654559B (en) Method and system for security verification in a booting sequence with a multi-core processor
US11500787B2 (en) Enforcing code integrity using a trusted computing base
US11531760B1 (en) Baseboard management controller (BMC)-based security processor
TWI743480B (en) Computer system and a booting method for the same
KR20220070462A (en) secure buffer for bootloader
TWI724424B (en) Method for accelerating verification process in a booting procedure and computer system thereof
US20220342996A1 (en) Information processing apparatus, method of controlling the same, and storage medium