TWI684887B - 自動驗證方法與系統 - Google Patents

自動驗證方法與系統 Download PDF

Info

Publication number
TWI684887B
TWI684887B TW107121954A TW107121954A TWI684887B TW I684887 B TWI684887 B TW I684887B TW 107121954 A TW107121954 A TW 107121954A TW 107121954 A TW107121954 A TW 107121954A TW I684887 B TWI684887 B TW I684887B
Authority
TW
Taiwan
Prior art keywords
verification
electronic device
values
system information
host
Prior art date
Application number
TW107121954A
Other languages
English (en)
Other versions
TW202001651A (zh
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 TW107121954A priority Critical patent/TWI684887B/zh
Priority to JP2019079246A priority patent/JP6846457B2/ja
Priority to US16/393,821 priority patent/US11443043B2/en
Priority to EP19171353.6A priority patent/EP3588354B1/en
Publication of TW202001651A publication Critical patent/TW202001651A/zh
Application granted granted Critical
Publication of TWI684887B publication Critical patent/TWI684887B/zh

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
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions

Abstract

一種自動驗證方法與系統,方法運行於電子裝置主機的開機程序中,於啟動電子裝置主機時,在開機程序中,針對系統資訊演算取得一組驗證值,根據預設條件,比對該組驗證值中的驗證值與一組預設驗證值中的預設驗證值,並取得比對結果,當比對結果符合時,解封密鑰,用於取代人為輸入密碼的步驟,並以此密鑰解密電子裝置主機,以完成開機程序。若欲變更系統資訊,需要藉由代理裝置根據變更後的系統資訊重新演算取得新的一組驗證值取代原有的預設驗證值,並以新的一組驗證值重新封裝密鑰,並需要變更電子裝置主機中的系統資訊。

Description

自動驗證方法與系統
一種驗證方法與系統,特別是指運行於電子裝置主機的開機程序中自動執行驗證的自動驗證方法與系統。
用於電子裝置系統的安全驗證機制中,為了確保電子裝置系統的安全性,習知技術為將電子裝置系統中磁碟數據進行加密,並設定密碼。當重新啟動電子裝置系統時,需要使用者手動輸入密碼才能解密後順利啟動電子裝置系統。如此,沒有此密碼的人無法啟動電子裝置系統。因此習知技術至少無法提供藉由自動驗證方法以取得密碼進入系統的功能。
根據一實施例,自動驗證方法運行於一電子裝置主機的一開機程序中,自動驗證方法包括在啟動電子裝置主機時,在開機程序中針對至少一系統資訊演算出一組驗證值,再根據一事先設定的預設條件比對該組驗證值中的至少一驗證值與一組預設驗證值中的至少一預設驗證值,並取得一比對結果;若該比對結果為符合,解封一密鑰,若比對結果符合,則解封密鑰,之後以此密鑰解密電子裝置主機,藉此完成開機程序。
當完成開機程序後,若欲變更電子裝置主機中的至少一系統 資訊之前,則需要在一代理裝置中根據變更後的系統資訊重新演算取得新的一組預設驗證值,提供新的一組預設驗證值至電子裝置主機,取代原有的該組預設驗證值,並以新的一組預設驗證值重新封裝密鑰,再進行變更電子裝置主機中至少一系統資訊。因此,當重新開機後,進入開機程序時,系統驗證模組會根據變更後的系統資訊演算取得一組驗證值,並與新的一組預設驗證值比對,取得一比對結果,若比對結果為符合,同樣解封密碼,而完成開機程序。
根據所述系統的實施例,系統主要包括有執行安全驗證的電子裝置主機,電子裝置主機設有系統驗證模組、至少一系統資訊,該至少一系統資訊包括至少一系統元件與至少一系統程式,且系統驗證模組、至少一系統元件及至少一系統程式彼此互相耦接,在其開機程序中執行自動驗證方法。
本發明公開一種自動驗證方法與系統,系統利用系統驗證模組儲存的預設驗證值進行安全驗證,並以通過驗證後解封的密鑰取代傳統在開機時要求使用者人為輸入密碼才能進入系統的驗證機制,因此可以達到在開機程序中自動驗證而進入系統的功效。
為了能更進一步瞭解本發明為達成既定目的所採取之技術、方法及功效,請參閱以下有關本發明之詳細說明、圖式,相信本發明之目的、特徵與特點,當可由此得以深入且具體之瞭解,然而所附圖式僅提供參考與說明用,並非用來對本發明加以限制者。
1‧‧‧系統
10‧‧‧電子裝置主機
20‧‧‧系統驗證模組
21‧‧‧演算單元
22‧‧‧記憶單元
30‧‧‧系統資訊
31‧‧‧系統元件
32‧‧‧系統程式
40‧‧‧代理裝置
步驟S201~S215‧‧‧自動驗證方法步驟
步驟S301~S309‧‧‧變更系統資訊步驟
圖1顯示應用自動驗證方法的系統的示意圖;圖2顯示自動驗證方法的流程圖;圖3顯示變更系統資訊的流程圖。
圖1顯示為應用自動驗證方法的系統的實施例示意圖,在此實施例中,系統1包括電子裝置主機10,電子裝置主機10包括系統驗證模組20、至少一系統資訊30。其中系統驗證模組20例如為一信賴平台模組(Trusted Platform Module,TPM),本案不以此為限。至少一系統資訊30包括至少一系統元件31與一系統程式32,且系統驗證模組20、至少一系統元件及系統程式彼此互相耦接,其中系統元件31包括一基本輸入輸出系統(BIOS)、一啟動載入器(BOOT LOADER)與一韌體的至少其中之一,至少一系統程式32包括一作業系統與一應用程式的至少其中之一。
當啟動電子裝置主機10後,在開機程序中啟動基本輸入輸出系統,在初始化過程時,也在執行啟動載入器(boot loader)時,執行一系統服務管理器,例如一種systemd的管理程式,此自動驗證方法即在此系統服務管理器中運行一自動開機的程序。
在啟動基本輸入輸出系統(BIOS)時,同時啟動系統驗證模組20,系統驗證模組20針對至少一系統資訊30演算(例如以特定加密演算法,也可以是一種雜湊演算法,hashing algorithm)取得一組驗證值,再根據預先儲存的一預設條件,以前述該組驗證值中的至少一驗證值比對系統驗證模組20中預先儲存的一組預設驗證值中的至少一預設驗證值,並取得一比對結果,若比對結果為符合,則解封系統驗證模組20中預設用來解密電子裝置主機的密鑰,以密鑰解密例如系統程式32,完成開機程序。
系統驗證模組20可以軟體或是硬體實現,若為軟體元件,可以儲存於系統中的某一區塊內;若為硬體元件,則可以為電子裝置裝置中主機板上的晶片,藉由一特殊應用積體電路(Application-specific integrated circuit,ASIC)實現,具有獨立數據處理能力和數據儲存能力。
圖1中顯示的系統驗證模組20可為具有運算處理能力與儲存媒體的晶片,主要功能元件分為演算單元21與記憶單元22,記憶 單元22儲存的預設條件可為比對該組驗證值的至少一驗證值的一排列組合方式,例如全部或部分驗證值的排列順序。記憶單元22用以儲存預設驗證值,演算單元21則針對至少一系統資訊30演算取得一組驗證值,再根據預先儲存的一預設條件,以前述該組驗證值中的至少一驗證值比對記憶單元22中預先儲存的一組預設驗證值中的至少一預設驗證值,並取得一比對結果,藉此驗證電子裝置主機中磁碟、BIOS、作業系統、韌體、應用程式等部分是否被竄改。
自動驗證方法的實施例流程可參考圖2。自動驗證方法至少包括以下步驟:開啟電子裝置主機10(步驟S201)後,即進入開機程序(步驟S203),此時,在開機程序中針對至少一系統資訊30演算取得一組驗證值,此組演算值如即時演算驗證值,實施例之一為驅動所述系統驗證模組20針對至少一系統資訊30演算取得一組驗證值,如步驟S205,系統驗證模組20可以根據一預設條件,比對前述即時演算驗證值與預設驗證值(步驟S207),並取得一比對結果,於本實施例可依據演算單元21的演算法針對特定系統資訊30演算取得一組驗證值(即即時演算驗證值),用以比對系統驗證模組20中記憶單元22所預先儲存的預設驗證值。
接著,判斷比對結果是否符合?(步驟S209),若不符合(否),則無法解封儲存於系統驗證模組20內的一密鑰,因此無法完成開機程序(步驟S211)。
當比對結果為符合(是),則解封儲存於系統驗證模組20內的一密鑰,因此完成開機程序(步驟S213),並以此密鑰解密電子裝置主機10,以完成開機程序(步驟S215)。
本實施例所提出的自動驗證方法中,能在開機程序中取代原本在開機程序中要求使用者人為鍵入密碼的程序,而保護的層面除了基本輸入輸出系統與電子裝置系統儲存器(如硬碟)外,還可用於對韌體、作業系統、應用程式等系統資訊30進行安全保護。
電子裝置主機10中所述的系統資訊30常有更新或升級等變更系統資訊30的需求,在所述自動驗證的機制下,一旦有變更,將無法通過自動驗證,以至於無法順利開機,因此,當需驗證的系統資訊30如基本輸入輸出系統、啟動載入器(boot loader)、韌體、作業系統、應用程式等有刪減、增加、版本更新、升級,或內容有變更時,本實施例提出的自動驗證的方法更提供一種自動驗證機制,可以根據變更後的電子裝置系統,重新演算一組新的預設驗證值,並依據新的一組預設驗證值重新封裝系統驗證模組20中儲存的密鑰,以便通過下次開機時的自動驗證程序。
在所述的自動驗證方法中,系統1更包括一代理裝置40,代理裝置40耦接系統驗證模組20,當系統完成開機程序並進入作業系統後,系統1處於一個被解密開啟的狀態,此時,若有任何系統資訊30欲進行變更,所述變更的情形例如系統資訊30的增減、更新、升級、修補與取代等,須先透過代理裝置40根據變更後的至少一系統資訊30重新演算取得新的一組預設驗證值,並傳送至系統驗證模組20中,以取代原有的該組預設驗證值,並以新的一組預設驗證值重新封裝密鑰,再進行變更該電子裝置主機10中該至少一系統資訊30。針對上述內容可參考圖1所示電子裝置主機10與代理裝置40的示意圖。
通過代理裝置40提供根據變更後的至少一系統資訊30重新演算取得新的一組預設驗證值,並傳送至系統驗證模組20中,以取代原有的該組預設驗證值,並以新的一組預設驗證值重新封裝密鑰的方法,能解決習知技術針對系統1升級的狀況無法提出對應的新的一組預設驗證碼的問題。
針對欲變更系統資訊30的流程圖如圖3所示。
欲變更系統資訊30的流程中,在電子裝置主機10取得系統資訊30變更需求(步驟S301),在代理裝置40中根據變更後的系統資訊30重新演算取得新的一組預設驗證值(步驟S303),代理 裝置40將新的一組預設驗證值提供至系統驗證模組20中的記憶單元22(步驟S305),取代原有的該組預設驗證值,作為下次開機的安全驗證的依據,並以該新的一組預設驗證值重新封裝密鑰(步驟S307),電子裝置主機10再依據系統資訊30變更需求進行變更電子裝置主機10中至少一系統資訊30的變更流程(步驟S309)。
如此,當電子裝置主機10完成系統資訊30變更後,再次執行開機程序時,由於系統驗證模組20儲存的預設驗證碼為新的預設驗證碼,且新的預設驗證碼係對應系統驗證模組20針對變更後的系統資訊30演算取得的驗證值,故即便電子裝置主機10的系統資訊30已作變更,比對結果仍為符合,同樣能夠依照圖2所述之自動驗證方法的實施例流程解封儲存於系統驗證模組20內的密鑰,並以此密鑰解密電子裝置主機10,完成開機程序。
綜上所述,以上實施例說明自動驗證方法以及系統的運作,在此方法中,不僅提出針對至少一系統資訊演算取得用於驗證的一組驗證值的驗證方法,更取代傳統需要輸入密碼的驗證流程。再者,此自動驗證的機制仍可用在經過更新、升級或修補的各種系統中。
以上所述僅為本發明之較佳可行實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
1‧‧‧系統
10‧‧‧電子裝置主機
20‧‧‧系統驗證模組
21‧‧‧演算單元
22‧‧‧記憶單元
30‧‧‧系統資訊
31‧‧‧系統元件
32‧‧‧系統程式
40‧‧‧代理裝置

Claims (9)

  1. 一種自動驗證方法,運行於一電子裝置主機的一開機程序中,包括:於啟動該電子裝置主機時,在該開機程序中針對至少一系統資訊演算取得一組驗證值;根據一預設條件,比對該組驗證值中的至少一驗證值與一組預設驗證值中的至少一預設驗證值,並取得一比對結果;若該比對結果為符合,解封一密鑰;以及以該密鑰解密該電子裝置主機,完成該開機程序;其中,於完成該開機程序後,若欲變更該電子裝置主機中的該至少一系統資訊之前,在一代理裝置中,根據變更後的該至少一系統資訊重新演算取得一新的一組預設驗證值;提供該新的一組預設驗證值至該電子裝置主機,以取代原有的該組預設驗證值;以該新的一組預設驗證值重新封裝該密鑰;以及變更該電子裝置主機中該至少一系統資訊。
  2. 如請求項1所述的自動驗證方法,其中由該電子裝置主機中的一系統驗證模組針對該至少一系統資訊演算取得該組驗證值,以及儲存該組預設驗證值。
  3. 如請求項2所述的自動驗證方法,其中該預設條件為該組驗證值的至少一驗證值的一排列組合方式。
  4. 如請求項1所述的自動驗證方法,其中所述的系統資訊包括至少一系統元件,該至少一系統元件包括一基本輸入輸出系統、一啟動載入器與一韌體的至少其中之一。
  5. 如請求項1所述的自動驗證方法,其中該系統資訊包括至少一系統程式,該至少一系統程式包括該電子裝置主機運行的一作業系統與一應用程式的至少其中之一。
  6. 一種自動驗證系統,包括: 一電子裝置主機,包括一系統驗證模組及至少一系統資訊,該至少一系統資訊包括至少一系統元件及至少一系統程式,且該系統驗證模組、該至少一系統元件及該系統程式彼此互相耦接,且該系統驗證模組內儲存一組預設驗證值,於啟動該電子裝置主機時,運行一自動驗證的方法,包括:在一開機程序中,該系統驗證模組針對至少一系統資訊演算取得一組驗證值;該系統驗證模組根據一預設條件,比對該組驗證值中的至少一驗證值與該組預設驗證值中的至少一驗證值,並取得一比對結果;若該比對結果為符合,解封儲存於該系統驗證模組內的一密鑰;以及以該密鑰解密該電子裝置主機,完成該開機程序;一代理裝置,該代理裝置耦接該系統驗證模組,其中,於完成該開機程序後,若欲變更該電子裝置主機中的該至少一系統資訊之前,在該代理裝置中,根據變更後的該至少一系統資訊重新演算取得一新的一組預設驗證值;提供該新的一組預設驗證值至該系統驗證模組,以取代原有的該組預設驗證值;以該新的一組預設驗證值重新封裝該密鑰;以及變更該電子裝置主機中該至少一系統資訊。
  7. 如請求項6所述的自動驗證系統,其中所述的系統資訊包括至少一系統元件,該至少一系統元件包括一基本輸入輸出系統、一啟動載入器與一韌體的至少其中之一。
  8. 如請求項6所述的自動驗證系統,其中該系統資訊包括至少一系統程式,該至少一系統程式包括一作業系統與一應用程式的至少其中之一。
  9. 如請求項6所述的自動驗證系統,其中該預設條件為該組驗證 值的至少一驗證值的一排列組合方式。
TW107121954A 2018-06-26 2018-06-26 自動驗證方法與系統 TWI684887B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
TW107121954A TWI684887B (zh) 2018-06-26 2018-06-26 自動驗證方法與系統
JP2019079246A JP6846457B2 (ja) 2018-06-26 2019-04-18 自動検証方法及びシステム
US16/393,821 US11443043B2 (en) 2018-06-26 2019-04-24 Automatic verification method and system
EP19171353.6A EP3588354B1 (en) 2018-06-26 2019-04-26 Automatic verification method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW107121954A TWI684887B (zh) 2018-06-26 2018-06-26 自動驗證方法與系統

Publications (2)

Publication Number Publication Date
TW202001651A TW202001651A (zh) 2020-01-01
TWI684887B true TWI684887B (zh) 2020-02-11

Family

ID=66290298

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107121954A TWI684887B (zh) 2018-06-26 2018-06-26 自動驗證方法與系統

Country Status (4)

Country Link
US (1) US11443043B2 (zh)
EP (1) EP3588354B1 (zh)
JP (1) JP6846457B2 (zh)
TW (1) TWI684887B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110677250B (zh) 2018-07-02 2022-09-02 阿里巴巴集团控股有限公司 密钥和证书分发方法、身份信息处理方法、设备、介质
CN110795774B (zh) 2018-08-02 2023-04-11 阿里巴巴集团控股有限公司 基于可信高速加密卡的度量方法、设备和系统
CN110795742B (zh) 2018-08-02 2023-05-02 阿里巴巴集团控股有限公司 高速密码运算的度量处理方法、装置、存储介质及处理器
CN110874478B (zh) 2018-08-29 2023-05-02 阿里巴巴集团控股有限公司 密钥处理方法及装置、存储介质和处理器
DE102020211346A1 (de) * 2020-09-10 2022-03-10 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Booten einer elektronischen Vorrichtung

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201324225A (zh) * 2011-12-01 2013-06-16 Htc Corp 用於電子裝置之暫時安全開機流程之系統與方法
TW201510767A (zh) * 2013-09-11 2015-03-16 Quixant Plc 安全認證電子裝置、安全開機方法與電腦可存取儲存裝置
TW201635081A (zh) * 2015-03-25 2016-10-01 環鴻科技股份有限公司 基本輸入輸出系統設定方法以及開機方法
US20170053111A1 (en) * 2014-03-28 2017-02-23 Hewlett-Packard Development Company, L.P. Allowing Use of a Test Key for a BIOS Installation

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7725703B2 (en) * 2005-01-07 2010-05-25 Microsoft Corporation Systems and methods for securely booting a computer with a trusted processing module
JP4769608B2 (ja) * 2006-03-22 2011-09-07 富士通株式会社 起動検証機能を有する情報処理装置
EP2291740A4 (en) * 2008-06-16 2012-03-07 Nokia Siemens Networks Oy SOFTWARE LOADING PROCESS AND DEVICE
US20100082960A1 (en) * 2008-09-30 2010-04-01 Steve Grobman Protected network boot of operating system
JP4947239B2 (ja) * 2009-03-31 2012-06-06 富士通株式会社 構成変更の検証機能を有した情報処理装置及びその制御方法
US8296579B2 (en) 2009-11-06 2012-10-23 Hewlett-Packard Development Company, L.P. System and method for updating a basic input/output system (BIOS)
TW201516742A (zh) 2013-09-27 2015-05-01 Hon Hai Prec Ind Co Ltd 密鑰更新方法及系統
TWI525470B (zh) 2015-01-30 2016-03-11 Insyde Software Corp A method and a system for updating the sensitive variables of a computer, a computer-readable recording medium, and a computer program product

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201324225A (zh) * 2011-12-01 2013-06-16 Htc Corp 用於電子裝置之暫時安全開機流程之系統與方法
TW201510767A (zh) * 2013-09-11 2015-03-16 Quixant Plc 安全認證電子裝置、安全開機方法與電腦可存取儲存裝置
US20170053111A1 (en) * 2014-03-28 2017-02-23 Hewlett-Packard Development Company, L.P. Allowing Use of a Test Key for a BIOS Installation
TW201635081A (zh) * 2015-03-25 2016-10-01 環鴻科技股份有限公司 基本輸入輸出系統設定方法以及開機方法

Also Published As

Publication number Publication date
US11443043B2 (en) 2022-09-13
US20190392151A1 (en) 2019-12-26
JP2020004390A (ja) 2020-01-09
EP3588354A1 (en) 2020-01-01
EP3588354B1 (en) 2021-01-20
JP6846457B2 (ja) 2021-03-24
TW202001651A (zh) 2020-01-01

Similar Documents

Publication Publication Date Title
TWI684887B (zh) 自動驗證方法與系統
US10931451B2 (en) Securely recovering a computing device
US8826405B2 (en) Trusting an unverified code image in a computing device
US8254568B2 (en) Secure booting a computing device
TWI607376B (zh) 用於處理改變依照統一可延伸韌體介面計算裝置中之系統安全資料庫及韌體儲存區請求的系統及方法
US8732445B2 (en) Information processing device, information processing method, information processing program, and integrated circuit
US8789037B2 (en) Compatible trust in a computing device
TWI498813B (zh) 受信賴構件更新系統與方法
JP5014726B2 (ja) 無許可のブートローダの実行を防止することによって安全性を高めた実行環境
US20140250290A1 (en) Method for Software Anti-Rollback Recovery
TWI570591B (zh) 允許測試金鑰用於bios安裝之技術
US11397815B2 (en) Secure data protection
CN108595981B (zh) 加密安卓系统的方法
US20240037216A1 (en) Systems And Methods For Creating Trustworthy Orchestration Instructions Within A Containerized Computing Environment For Validation Within An Alternate Computing Environment
CN113051579A (zh) 一种控制方法及装置
JP2023026017A (ja) 起動検証プログラム、情報処理装置および起動検証方法
CN116776317A (zh) 系统合法性验证方法、装置及电子设备