TWI875821B - 用於認證軟體映像檔的系統和方法以及用於產生經簽章的軟體映像檔的方法 - Google Patents
用於認證軟體映像檔的系統和方法以及用於產生經簽章的軟體映像檔的方法 Download PDFInfo
- Publication number
- TWI875821B TWI875821B TW109133260A TW109133260A TWI875821B TW I875821 B TWI875821 B TW I875821B TW 109133260 A TW109133260 A TW 109133260A TW 109133260 A TW109133260 A TW 109133260A TW I875821 B TWI875821 B TW I875821B
- Authority
- TW
- Taiwan
- Prior art keywords
- key
- image file
- software
- software image
- hard
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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 involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
一種系統包括:處理電路系統;以及系統記憶體,被配置成儲存至少一個軟體映像檔。所述至少一個軟體映像檔包括至少一程式映像檔及與所述至少一個軟體映像檔相關聯的密鑰鏈映像檔,密鑰鏈映像檔包括至少一個軟密鑰。處理電路系統被配置成:基於所述至少一個軟體映像檔中所包括的密鑰資訊,自密鑰鏈映像檔獲得與所述至少一個軟體映像檔相關聯的期望的軟密鑰;以及基於所獲得的軟密鑰來認證所述至少一個軟體映像檔。
Description
本申請案主張優先於在2020年1月8日在韓國智慧財產局提出申請的韓國專利申請案第10-2020-0002691號的權益,所述韓國專利申請案的揭露內容全文併入本案供參考。
本發明概念的各種示例性實施例是有關於系統安全,且更具體而言,是有關於一種用於軟體的認證的裝置、系統、非暫態電腦可讀取媒體、及/或方法。
可能以各種方式嘗試對包括軟體及硬體的系統的攻擊。舉例而言,攻擊者可拆解系統且自被拆解的系統提取所需的資訊。另外,攻擊者可改變系統的軟體的至少一部分且使系統能夠實行攻擊者意圖進行的操作。儘管可採用各種類型的系統安全技術來保護系統或儲存於系統中的資料免受高級攻擊,但系統安全技術仍可能會給系統的製造、操作、擴展及成本帶來負擔(overhead)。因此,期望及/或需要一種在減少負擔及/或使負擔最
小化的同時能夠保護系統免受高級攻擊的系統安全技術。
本發明概念的各種示例性實施例提供一種用於軟體的安全及高效認證的裝置、系統、非暫態電腦可讀取媒體、及/或方法。
根據本發明概念的至少一個示例性實施例的態樣,提供一種用於認證軟體映像檔的系統,所述系統包括:系統記憶體,被配置成儲存至少一個軟體映像檔,所述至少一個軟體映像檔包括至少一程式映像檔及與所述至少一個軟體映像檔相關聯的密鑰鏈映像檔,所述密鑰鏈映像檔包括至少一個軟密鑰。所述系統可更包括:處理電路系統,被配置成基於所述至少一個軟體映像檔中所包括的密鑰資訊,自所述密鑰鏈映像檔獲得與所述至少一個軟體映像檔相關聯的期望的軟密鑰,以及基於所獲得的所述軟密鑰來認證所述至少一個軟體映像檔。
根據本發明概念的至少一個示例性實施例的另一態樣,提供一種認證加載於系統記憶體中的軟體映像檔的方法。所述方法由處理電路系統實行。所述方法包括:認證第一軟體映像檔,所述第一軟體映像檔包括第一密鑰資訊及至少一個軟密鑰;認證第二軟體映像檔,所述第二軟體映像檔包括第二密鑰資訊,所述認證所述第二軟體映像檔包括:自所述第二軟體映像檔獲得所述第二密鑰資訊,基於所述第二密鑰資訊,自經認證的所述第一軟體映像檔獲得第一軟密鑰,以及基於所述第一軟密鑰來驗證所述第二軟體映像檔的數位簽章。
根據本發明概念的至少一個示例性實施例的另一態樣,提供一種產生經簽章的軟體映像檔以在系統中執行軟體的認證的方法,所述系統包括處理電路系統。所述方法包括:產生程式映像檔作為所述經簽章的軟體映像檔,所述程式映像檔將由所述系統執行;以及產生密鑰鏈映像檔作為所述經簽章的軟體映像檔,所述密鑰鏈映像檔包括至少一個軟密鑰,所述產生所述密鑰鏈映像檔包括:獲得第一二元映像檔,所述第一二元映像檔包括電腦可讀取指令,產生第一簽章,所述第一簽章是基於第一軟密鑰進行驗證,以及產生第一經簽章的程式映像檔,所述第一經簽章的程式映像檔包括所述第一二元映像檔及所述第一簽章。
10:系統
12、60a:處理器
12_1、62a:核
12_2:隨機存取記憶體(RAM)
12_3:唯讀記憶體(ROM)
12_4、64a:安全記憶體
12_5:記憶體控制器
12_6:儲存器控制器
14、20、60b:系統記憶體
16:系統儲存器
30:密鑰鏈映像檔
81、91、101:第一狀態
82、92、102:第二狀態
83、93、103:第三狀態
84、94:第四狀態
85、95:第五狀態
110:映像檔簽章系統
111:處理電路系統
112:密鑰產生器
114:緩衝器
116:簽章產生器
118:經簽章的映像檔產生器
BIN:二元映像檔
BL、IMG0:引導加載程式
GEN:映像檔產生資訊
HEA:標頭
IMG:軟體映像檔
IMG1:第一軟體映像檔
IMG2:第二軟體映像檔
IMG3:第三軟體映像檔
IMG4:第四軟體映像檔
KCH:密鑰鏈
KEYH:硬密鑰
KEYS:密鑰區
KEYS:軟密鑰
KEY1S:第一軟密鑰
KEY2S:第二軟密鑰
KEYnS:第n軟密鑰
KNF:密鑰資訊
KNF1:第一密鑰資訊
KNF2:第二密鑰資訊
MET1:第一元資料段
METn:第n元資料段
META:元區
PRVH:硬私鑰
PRVS:軟私鑰
S10、S10'、S11、S12、S13、S14、S15、S16、S17、S30、S30'、S31、32、33、34、35、36、S37、S50、S70、S70'、S72、S74、S76、S76'、S76_2、S76_4、S90:操作
SIG:數位簽章
SIG1:第一數位簽章
SIG2:第二數位簽章
ZPD:零填充區
藉由結合附圖理解以下詳細說明,將更清楚地理解本發明概念的各種示例性實施例,在附圖中:圖1是根據至少一個示例性實施例的系統的實例的方塊圖。
圖2是根據至少一個示例性實施例的被配置成儲存軟體映像檔的系統記憶體的實例的圖。
圖3是根據至少一個示例性實施例的密鑰鏈映像檔的結構的實例的圖。
圖4是根據至少一個示例性實施例的認證軟體的方法的實例的流程圖。
圖5是根據至少一個示例性實施例的認證軟體的方法的實例的流程圖。
圖6A及圖6B是根據一些示例性實施例的獲得硬密鑰的操作的實例的方塊圖。
圖7是根據至少一個示例性實施例的認證軟體的方法的實例的流程圖。
圖8是根據至少一個示例性實施例的認證軟體映像檔的操作的實例的圖。
圖9是根據至少一個示例性實施例的認證軟體映像檔的操作的實例的圖。
圖10是根據至少一個示例性實施例的認證軟體映像檔的操作的實例的圖。
圖11是根據至少一個示例性實施例的映像檔簽章系統的實例的方塊圖。
圖12是根據至少一個示例性實施例的認證軟體的方法的實例的流程圖。
圖13是根據至少一個示例性實施例的認證軟體的方法的實例的流程圖。
圖14是根據至少一個示例性實施例的認證軟體的方法的流程圖。
圖1是根據至少一個示例性實施例的系統(例如,用於認證軟體映像檔的系統)10的實例的方塊圖。在一些示例性實施例中,系統10的非限制性實例可包括固定計算系統(stationary
computing system)(例如,伺服器、桌上電腦及/或資訊站等)或其子系統。在一些示例性實施例中,系統10的非限制性實例可包括可攜式計算系統(例如,行動電話、可穿戴元件、智慧型元件、遊戲控制台、平板電腦及/或膝上型電腦等)及其子系統。在一些示例性實施例中,系統10的非限制性實例可包括與獨立計算系統不同的任意系統中所包括的子系統,例如家用電器、物聯網(internet of things,IoT)元件、工業設備及/或運輸車輛等。
參照圖1,系統10可包括至少一個處理器12、系統記憶體14及/或系統儲存器16等,但示例性實施例並非僅限於此。舉例而言,在其他示例性實施例中,可存在二或更多個處理器、系統記憶體、系統儲存元件及/或其他系統組件等。在一些示例性實施例中,處理器12、系統記憶體14及系統儲存器16中的每一者可使用半導體製程製造,且處理器12、系統記憶體14及系統儲存器16中的至少兩者可包括於同一封裝中。在一些示例性實施例中,處理器12、系統記憶體14及系統儲存器16可安裝於板上且藉由形成於板上的圖案連接至彼此。
處理器12可包括至少一個核12_1、隨機存取記憶體(random access memory,RAM)12_2、唯讀記憶體(read-only memory,ROM)12_3、安全記憶體12_4、記憶體控制器12_5及/或儲存器控制器12_6,但示例性實施例並非僅限於此。根據至少一個示例性實施例,處理器12可被稱為處理電路系統且可包括:硬體,例如邏輯電路;硬體/軟體組合,例如執行軟體及/或執行任
何指令集的至少一個處理器核;或者其組合。舉例而言,處理電路系統更具體而言可包括但不限於中央處理單元(central processing unit,CPU)、算術邏輯單元(arithmetic logic unit,ALU)、數位訊號處理器(digital signal processor,DSP)、圖形處理單元(graphic processing unit,GPU)、通訊處理器(communication processor,CP)、微型電腦、現場可程式閘陣列(field programmable gate array,FPGA)、系統晶片(System-on-Chip,SoC)、可程式邏輯單元、微處理器、專用積體電路(application-specific integrated circuit,ASIC)等,且根據一些示例性實施例,可更包括以下中的一或多者:介面、匯流排、記憶體及/或控制器等。在一些實施例中,所述至少一個核12_1、隨機存取記憶體(RAM)12_2、唯讀記憶體(ROM)12_3、安全記憶體12_4、記憶體控制器12_5及儲存器控制器12_6中的至少兩者可彼此進行通訊。舉例而言,處理器12可使用被配置成提供用於存取系統記憶體14的介面的記憶體控制器12_5來存取系統記憶體14。另外,處理器12可使用被配置成提供用於存取系統儲存器16的介面的儲存器控制器12_6來存取系統儲存器16。在一些示例性實施例中,處理器12可更包括至少一個匯流排,所述至少一個核12_1、RAM 12_2、ROM 12_3、安全記憶體12_4、記憶體控制器12_5及/或儲存器控制器12_6、或者其組合或子組合藉由所述至少一個匯流排連接在一起。在一些示例性實施例中,處理器12可更包括硬體加速器及輸入/輸出(input/output,I/O)介面,所述硬體加速器被設計成以
高速實行期望的及/或預定的操作,所述輸入/輸出(I/O)介面被配置成在處理器12與其外部組件之間提供通訊通道。在一些示例性實施例中,處理器12的組件可整合於單個晶片或單個晶粒中,且處理器12可被稱為系統晶片(SoC)。在一些示例性實施例中,處理器12的組件可整合於一個封裝中所包括的至少兩個晶片中,且處理器12可被稱為系統級封裝(System-in-Package,SiP)。在一些示例性實施例中,處理器12亦可被稱為應用處理器等,但並非僅限於此。
所述至少一個核12_1可指被配置成執行指令(例如,電腦可讀取指令及/或機器可執行指令等)的任意處理部件。在一些示例性實施例中,所述至少一個核12_1可執行程式映像檔中所包含的指令,所述程式映像檔是儲存於系統記憶體14中的軟體映像檔。舉例而言,可將儲存於系統記憶體14中的程式映像檔中所包含的指令中的至少一些指令複製至處理器12的記憶體(例如RAM 12_2或所述至少一個核12_1中所包括的高速緩存),且所述至少一個核12_1可執行複製的指令,但示例性實施例並非僅限於此。在一些示例性實施例中,所述至少一個核12_1可包括多個同質核及/或多個異質核,所述核中的每一者可獨立地執行指令。舉例而言,所述多個同質核及/或所述多個異質核中的每一者可包括低效能處理器及/或高效能處理器,或者包括非安全處理器及/或安全處理器等。
RAM 12_2可儲存(例如暫時地儲存)處理器12的所述
至少一個核12_1及/或另一組件使用的資料。舉例而言,RAM 12_2可暫時地儲存自系統記憶體14及/或系統儲存器16讀取的資料,及/或暫時地儲存將寫入至系統記憶體14及/或系統儲存器16的資料。另外,RAM 12_2可暫時地儲存由所述至少一個核12_1執行的指令。在一些示例性實施例中,RAM 12_2可包括以相對高的速度操作的揮發性記憶體(例如,靜態RAM(static RAM,SRAM)等)。
ROM 12_3可以非揮發性方式儲存由所述至少一個核12_1執行的程式映像檔。舉例而言,如圖1中所示,ROM 12_3可儲存包含指令(例如,電腦可讀取指令等)的引導加載程式(bootloader)IMG0,當對處理器12的電源供應被初始化或處理器12被重置時,首先由所述至少一個核12_1執行所述指令,但並非僅限於此。ROM 12_3可被稱為引導ROM。在一些示例性實施例中,ROM 12_3可進一步儲存不可變資料(例如,唯讀資料等),在指令的執行期間,所述至少一個核12_1參考所述不可變資料。
安全記憶體12_4可以非揮發性方式儲存處理器12的資料(例如,唯一資料等)。在一些示例性實施例中,安全記憶體12_4可儲存資料(包括至少一個硬體密鑰或其摘要等),所述資料用於對處理器12中的資料進行加密及/或解密且具有處理器12的唯一值(例如,對應於處理器12的唯一辨識符、與處理器12相關聯的唯一值等)。舉例而言,摘要可用於驗證密鑰。如本文中所使用,
摘要可指基於演算法獲得的由源資訊加密驗證以驗證源資訊的資訊。與不同源資訊對應的摘要亦可彼此不同。舉例而言,硬體密鑰的摘要可指基於散列演算法(例如,源散列演算法(source hash algorithm,SHA)等)自硬體密鑰導出的散列,但示例性實施例並非僅限於此,且可使用自硬體密鑰產生摘要的其他方法。在一些示例性實施例中,安全記憶體12_4可儲存用於認證加載於系統記憶體14中的軟體映像檔的資訊。舉例而言,如以下參照圖6A所述,安全記憶體12_4可儲存用於驗證軟體映像檔中所包括的簽章(例如,數位簽章、電子簽章等)的密鑰及/或密鑰的摘要(例如散列)。如本文中所使用,儲存於處理器12中並用於驗證軟體映像檔中所包括的簽章的密鑰或其摘要可被稱為硬密鑰或元件密鑰,且處理器12可被稱為包括硬密鑰。在一些示例性實施例中,安全記憶體12_4可包括一次可程式(one-time-programmable,OTP)記憶體,例如反熔絲陣列,但並非僅限於此。在一些示例性實施例中,上述硬密鑰可儲存於ROM 12_3中。舉例而言,如以下參照圖6B所述,硬密鑰可包括於引導加載程式IMG0中或者獨立地儲存於ROM 12_3的與對應於引導加載程式IMG0的區不同的區中,但示例性實施例並非僅限於此。
系統記憶體14可儲存至少一個軟體映像檔,但並非僅限於此。在一些示例性實施例中,系統記憶體14的非限制性實例可包括揮發性記憶體元件,例如動態隨機存取記憶體(DRAM)及/或靜態RAM(SRAM)等。在一些示例性實施例中,系統記憶體
14的非限制性實例可包括非揮發性記憶體元件,例如快閃記憶體、電性可抹除可程式化唯讀記憶體(electrically erasable programmable read-only memory,EEPROM)、矽-氧化物-氮化物-氧化物-矽(silicon-oxide-nitride-oxide-silicon,SONOS)記憶體、聚合物記憶體、磁性RAM(magnetic RAM,MRAM)、相變RAM(phase-change RAM,PRAM)及/或電阻式RAM(resistive RAM,RRAM)等。
處理器12可執行儲存於ROM 12_3中的至少一個軟體映像檔中所包含的程式代碼(例如,電腦可讀取指令、機器可讀取指令等)及/或將儲存於系統儲存器16中的至少一個軟體映像檔加載至系統記憶體14中等,並執行加載的程式代碼。舉例而言,儲存於ROM 12_3中的引導加載程式IMG0可由所述至少一個核12_1執行,且因此,可將第一軟體映像檔IMG1自系統儲存器16加載至系統記憶體14中。另外,可由所述至少一個核12_1執行第一軟體映像檔IMG1(即,第一軟體映像檔IMG1中所包含的指令),且因此,可將第二軟體映像檔IMG2自系統儲存器16加載至系統記憶體14中。類似地,可將第三軟體映像檔IMG3加載至系統記憶體14中等,但示例性實施例並非僅限於此,且可將更多或更少數目的軟體映像檔加載至系統記憶體14中。在一些示例性實施例中,在引導加載程式IMG0之後被加載至系統記憶體14中的至少一個軟體映像檔(例如,第一軟體映像檔IMG1及第二軟體映像檔IMG2等)亦可被稱為引導加載程式。如本文中所使用,
當所述至少一個核12_1是指藉由執行軟體映像檔中所包含的指令來實行操作時,處理器12可被解釋為藉由執行軟體映像檔來實行對應的操作,或者處理器12可被簡單地解釋為實行軟體映像檔的對應操作及/或軟體映像檔中所包含的對應操作。
攻擊者可能嘗試藉由改變加載於系統記憶體14中的軟體映像檔及/或將改變的軟體映像檔加載至系統記憶體14中等來入侵系統10。因此,在使用加載於系統記憶體14中的軟體映像檔之前,系統10可對加載的軟體映像檔進行認證(例如,驗證等),並使用經認證的軟體映像檔。軟體映像檔的認證可包括確定軟體映像檔的真實性且可指確定軟體映像檔已由經認證的實體產生。因此,在系統10上認證的軟體映像檔可指可靠的軟體映像檔,及/或自經認證的實體產生及/或獲得的經驗證的軟體映像檔等。舉例而言,引導加載程式IMG0可在第一軟體映像檔IMG1被加載至系統記憶體14中之後認證第一軟體映像檔IMG1。處理器12可執行經認證的第一軟體映像檔IMG1。類似地,經認證的第一軟體映像檔IMG1可認證第二軟體映像檔IMG2,且經認證的第二軟體映像檔IMG2可認證第三軟體映像檔IMG3等,但示例性實施例並非僅限於此。在一些示例性實施例中,引導加載程式IMG0可認證第二軟體映像檔IMG2或第三軟體映像檔IMG3,且經認證的第一軟體映像檔IMG1可認證第三軟體映像檔IMG3等,或者換言之,可由引導加載程式IMG0及/或先前認證的軟體映像檔來認證軟體映像檔中的每一者。因此,加載、認證及執行軟體映像檔的程序可
被稱為安全引導。在一些示例性實施例中,未成功認證的軟體映像檔可能不由系統10執行(例如,未被正確認證及/或驗證的軟體映像檔被禁止由系統10及/或處理器12執行等)。
如上所述,硬密鑰可用作認證軟體映像檔的資訊。各種軟體映像檔可在系統10中使用(即,可由處理器12執行)且由多個主體產生。舉例而言,處理器12的製造商、系統10的製造商、系統10的提供商、系統10的管理員、軟體提供商及/或類似者可產生儲存於系統記憶體14中的軟體映像檔。使用處理器12中所包括的硬密鑰,如上所述對由所述多個主體產生的各種軟體映像檔的認證不僅可限制及/或減少由各種主體產生未經認證及/或修改的軟體映像檔,亦可限制及/或減少硬密鑰或導出硬密鑰的私鑰的暴露。另外,處理器12可包括有限數目的硬密鑰,且因此,稍後修改儲存於安全記憶體12_4及/或ROM 12_3中的硬密鑰可能不容易及/或更困難。此外,在系統10的維護期間,使用有限的硬密鑰對系統10中更新及/或新安裝的軟體映像檔的連續認證不僅可能有關於連續地管理私鑰(硬密鑰自所述私鑰導出),亦可導致硬密鑰的不希望的及/或不期望的暴露,藉此會增大將硬密鑰暴露於惡意方的風險。
如以下參照圖式所述,根據至少一個示例性實施例的能夠保護系統免受高級攻擊的改善的系統安全方法可包括將軟體映像檔加載於系統記憶體14中,系統記憶體14不僅包括包含由處理器12執行的指令(例如,電腦可讀取指令等)的程式映像檔,
亦包括密鑰鏈映像檔,密鑰鏈映像檔包括用於認證軟體映像檔的至少一個密鑰(及/或其摘要)。在一些示例性實施例中,密鑰鏈映像檔亦可被稱為密鑰儲存映像檔。根據至少一個示例性實施例,系統10不僅可認證程式映像檔,亦可認證密鑰鏈映像檔,且因此,可使用經認證的密鑰鏈映像檔安全地擴展用於認證軟體映像檔的密鑰。因此,可解決由將軟體映像檔的認證限制為硬密鑰引起的問題,且可降低及/或減少暴露出硬密鑰的風險。如本文中所使用,密鑰鏈映像檔中所包括的且用於認證軟體映像檔的密鑰或其摘要可被稱為軟密鑰,且密鑰鏈映像檔可被指包括至少一個軟密鑰,但並非僅限於此。以下將參照圖2闡述程式映像檔及密鑰鏈映像檔。
根據一些示例性實施例,即使系統10的電源供應被中斷,系統儲存器16亦不會丟失儲存於其中的資料。舉例而言,系統儲存器16可包括非揮發性記憶體元件及/或儲存媒體,例如磁帶、磁盤及/或光盤等。處理器12可處理儲存於系統儲存器16中的資料或者產生資料並將資料儲存於系統儲存器16中。另外,處理器12可將儲存於系統儲存器16中的軟體映像檔加載至系統記憶體14中。
圖2是根據至少一個示例性實施例的被配置成儲存軟體映像檔的系統記憶體20的實例的圖。如圖2中所示,系統記憶體20可儲存例如第一軟體映像檔IMG1及第二軟體映像檔IMG2,但並非僅限於此。儲存於系統記憶體20中的軟體映像檔可動態地改
變,且圖2示出系統記憶體20在特定時間點處的狀態。舉例而言,系統記憶體20可同時地儲存至少兩個軟體映像檔,且第一軟體映像檔IMG1及第二軟體映像檔IMG2中的至少一者可由於新軟體映像檔的加載而被替換或無效,但示例性實施例並非僅限於此,且儲存於系統記憶體20中的軟體映像檔的數目可大於或小於二。在下文中,將參照圖1闡述圖2。
系統記憶體20可儲存至少一個程式映像檔及至少一個密鑰鏈映像檔等作為一或多個軟體映像檔,但並非僅限於此。舉例而言,如圖2中所示,作為程式映像檔的第一軟體映像檔IMG1可包括二元映像檔BIN、第一密鑰資訊KNF1及/或第一數位簽章SIG1等,但示例性實施例並非僅限於此。另外,作為密鑰鏈映像檔的第二軟體映像檔IMG2可包括密鑰鏈KCH、第二密鑰資訊KNF2及/或第二數位簽章SIG2等。在一些示例性實施例中,如圖2中所示,程式映像檔與密鑰鏈映像檔可具有相同的結構且可由以下參照圖11闡述的公共系統產生,但示例性實施例並非僅限於此,且根據其他示例性實施例,程式映像檔與密鑰鏈映像檔可使用不同的系統產生及/或可具有不同的結構。
第一軟體映像檔IMG1中所包括的二元映像檔BIN可包含由至少一個核12_1執行的一系列指令。舉例而言,可藉由編譯及/或解釋以程式語言寫的源代碼來產生二元映像檔BIN。在一些示例性實施例中,二元映像檔BIN不僅可包含指令,亦可包含由指令參考、與指令相關聯及/或由指令使用的資料。二元映像檔BIN
可被稱為二元資料、二元代碼、二元代碼映像檔等。
第二軟體映像檔IMG2中所包括的密鑰鏈KCH可包括至少一個軟密鑰,但並非僅限於此。舉例而言,密鑰鏈KCH可包括用於認證軟體映像檔且不同於第二軟體映像檔IMG2的多個軟密鑰或其摘要。以下將參照圖3闡述密鑰鏈KCH的實例。
程式映像檔及密鑰鏈映像檔二者可包括密鑰資訊。密鑰資訊可為關於用於認證軟體映像檔(例如,對應的軟體映像檔、相關聯的軟體映像檔等)的密鑰的資訊。舉例而言,第一密鑰資訊KNF1可指示關於用於認證第一軟體映像檔IMG1的密鑰的資訊,且第二密鑰資訊KNF2可指示關於用於認證第二軟體映像檔IMG2的密鑰的資訊等。密鑰資訊可包括指示硬密鑰或軟密鑰的值(例如,指示硬密鑰類型或是軟密鑰類型將被用於認證對應的軟體映像檔的值等),且可更包括用於辨識多個硬密鑰及/或多個軟密鑰中的一者的密鑰索引(例如,密鑰索引將辨識將用於實行對應的軟體映像檔的認證/驗證的期望的及/或特定的硬密鑰或軟密鑰等)。
程式映像檔及密鑰鏈映像檔二者可各自包括數位簽章,但示例性實施例並非僅限於此,且單個數位簽章可用於程式映像檔及相關聯的密鑰鏈映像檔二者。可藉由密鑰來驗證用於認證軟體映像檔(即,驗證軟體映像檔的真實性)的數位簽章,且成功驗證的軟體映像檔可被稱為經認證的軟體映像檔。舉例而言,可基於第一密鑰資訊KNF1藉由儲存於處理器12中的硬密鑰或者密
鑰鏈映像檔中所包括的軟密鑰來驗證第一軟體映像檔IMG1中所包括的第一數位簽章SIG1。另外,可基於第二密鑰資訊KNF2藉由儲存於處理器12中的硬密鑰或密鑰鏈映像檔中所包括的軟密鑰來驗證第二軟體映像檔IMG2中所包括的第二數位簽章SIG2。包括簽章的軟體映像檔(例如第一軟體映像檔IMG1及第二軟體映像檔IMG2)可被稱為經簽章的軟體映像檔。如本文中所使用,經簽章的軟體映像檔可簡單地被稱為軟體映像檔。以下將參照圖11至圖14闡述產生軟體映像檔的方法的實例,但並非僅限於此。
圖3是根據至少一個示例性實施例的密鑰鏈映像檔30的結構的實例的圖。密鑰鏈映像檔30可包括如以上參照圖2所述的密鑰鏈KCH、密鑰資訊KNF及/或數位簽章SIG,且可更包括標頭HEA,但示例性實施例並非僅限於此。在一些示例性實施例中,密鑰鏈映像檔可具有以下結構:其中組件以不同於圖3中所示的方式排列、僅包括圖3中所示的組件中的一些組件、或者更包括圖3中未示出的附加組件。在下文中,將省略與圖2中所示結構中相同的說明。
標頭HEA可包括關於密鑰鏈映像檔30的資訊。舉例而言,標頭HEA的非限制性實例可包括以下中的至少一者:指示密鑰鏈映像檔30的辨識符、密鑰鏈映像檔30的版本、標頭HEA的長度、密鑰鏈KCH中所包括的軟密鑰的數目、密鑰鏈映像檔30的產生資訊(例如,產生日期及/或產生器)及/或密鑰鏈KCH中所包括的有效資料的長度(例如,元區META及密鑰區KEYS),
但示例性實施例並非僅限於此。處理器12及/或軟體開發者可基於標頭HEA中所包括的資訊來辨識密鑰鏈映像檔30及/或相關聯的軟體映像檔。
密鑰鏈KCH可包括元區META、密鑰區KEYS及/或零填充區ZPD等,但並非僅限於此。元區META可包括關於密鑰區KEYS中所包括的軟密鑰的元資料(例如,元資料可對應於密鑰區KEYS中所包括的軟密鑰及/或可與密鑰區KEYS中所包括的軟密鑰相關聯等)。舉例而言,如圖3中所示,元區META可包括與密鑰區KEYS中所包括的第一軟密鑰KEY1S至第n軟密鑰KEYnS對應的第一元資料段MET1至第n元資料段METn(此處,n是大於0的整數)。元資料可包括關於與元資料對應的軟密鑰的資訊。舉例而言,元資料的非限制性實例可包括以下中的至少一者:軟密鑰的名稱、軟密鑰所屬的組資訊、關於將由軟密鑰認證的軟體映像檔的資訊(例如,軟體映像檔資訊等)、及/或軟密鑰的辨識符(例如,軟密鑰的唯一辨識符)等。密鑰區KEYS可包括至少一個軟密鑰。舉例而言,如圖3中所示,密鑰區KEYS可包括第一軟密鑰KEY1S至第n軟密鑰KEYnS。如上所述,密鑰區KEYS中所包括的軟密鑰可用於驗證軟體映像檔中所包括的數位簽章。在一些示例性實施例中,密鑰區KEYS中所包括的軟密鑰可為與私鑰一起及/或基於私鑰產生的公鑰,或者為公鑰的摘要(例如,散列等)。零填充區ZPD可根據密鑰鏈KCH中所包括的軟密鑰的數目及/或密鑰鏈KCH中所包括的軟密鑰的長度而具有可變的長度。零填充
區ZPD可包括任意資料(例如,全零資料、全一資料、隨機產生的資料等)。
如以上參照圖2所述,密鑰資訊KNF可包括關於用於認證密鑰鏈映像檔30(即,用於驗證數位簽章SIG的簽章密鑰)的密鑰(例如,簽章密鑰等)的資訊。另外,如以上參照圖2所述,可藉由由密鑰資訊KNF指定的密鑰(例如,簽章密鑰)來驗證數位簽章SIG,且當數位簽章SIG的驗證成功時,可認證密鑰鏈映像檔30。
圖4是根據至少一個示例性實施例的認證軟體的方法的實例的流程圖。具體而言,圖4所示流程圖示出認證軟體映像檔的方法。在一些示例性實施例中,圖4所示方法可由圖1所示系統10來實行,但示例性實施例並非僅限於此且可使用其他硬體來實行示例性方法的操作。舉例而言,軟體映像檔的認證可由引導加載程式IMG0或先前認證的軟體映像檔(即,程式映像檔)來實行。認證軟體映像檔的方法可包括如圖4中所示的多個操作S50、S70及S90,且可假設由圖1所示處理器12實行,但並非僅限於此。將參照圖1闡述圖4中所示的方法。
在一些示例性實施例中,圖4中所示的認證軟體映像檔的方法可由安全處理器(例如,專用安全處理電路系統等)等來實行。舉例而言,如在包括安全處理器及非安全處理器的積體電路(integrated circuit,IC)中,圖1所示處理器12可包括安全處理器及非安全處理器,且圖4中所示的認證軟體映像檔的方法可
由處理器12中所包括的安全處理器來實行,所述積體電路已在由本申請人在韓國智慧財產局與本申請案在同一日提出申請的、名稱為「用於安全管理密鑰的裝置及方法(APPARATUS AND METHOD FOR SECURELY MANAGING KEYS)」的韓國專利申請案第10-2020-0002692號中所揭露,所述韓國專利申請案的揭露內容全文併入本案供參考。
在操作S50中,可實行獲得軟體映像檔的密鑰資訊及/或數位簽章的操作。舉例而言,處理器12可自系統記憶體14讀取軟體映像檔中所包括的密鑰資訊及/或數位簽章。在一些示例性實施例中,與圖4中所示不同,操作S70之後可為獲得數位簽章的操作,或者換言之,可在與數位簽章分離的時間及/或在與數位簽章分離的讀取操作期間獲得密鑰資訊。
在操作S70中,可實行獲得硬密鑰或軟密鑰的操作。舉例而言,處理器12可基於在操作S50中獲得的密鑰資訊來判斷用於認證軟體映像檔的密鑰是硬密鑰或是軟密鑰,且可基於判斷結果來獲得硬密鑰或軟密鑰。以下將參照圖5闡述操作S70的實例。
在操作S90中,可實行驗證數位簽章的操作。舉例而言,處理器12可使用在操作S70中獲得的密鑰來驗證例如在操作S50中獲得的數位簽章。在一些示例性實施例中,在操作S70中獲得的密鑰(即,硬密鑰或軟密鑰)可對應於包括私鑰及公鑰的密鑰對中的公鑰(或公鑰的摘要),且可自私鑰導出及/或使用私鑰產生數位簽章,但示例性實施例並非僅限於此。因此,當由經認證的
實體產生軟體映像檔時,可基於硬密鑰或軟密鑰成功地驗證數位簽章。
圖5是根據至少一個示例性實施例的認證軟體的方法的實例的流程圖。具體而言,圖5所示流程圖示出圖4所示操作S70的實例。如以上參照圖4所述,可在圖5所示操作S70'中實行獲得硬密鑰或軟密鑰的操作。如圖5中所示,操作S70'可包括多個操作S72、S74及S76。在下文中,將參照圖1闡述圖5所示流程圖。
在操作S72中,可實行確定密鑰類型的操作。舉例而言,處理器12可基於密鑰資訊中所包括的指示密鑰類型的值來判斷是獲得硬密鑰或軟密鑰。如圖5中所示,當密鑰資訊包括指示硬密鑰的值(例如,所述值指示使用硬密鑰類型)時,可在操作S74中實行獲得硬密鑰的操作,但示例性實施例並非僅限於此。在一些示例性實施例中,密鑰資訊可包括密鑰類型字段,所述密鑰類型字段可包括指示硬密鑰或軟密鑰的值。在一些示例性實施例中,處理器12可包括多個硬密鑰。密鑰資訊可包括用於自所述多個硬密鑰中辨識期望的硬密鑰的密鑰索引,且處理器12可基於密鑰索引自所述多個硬密鑰中獲得期望的硬密鑰。以下將參照圖6A及圖6B闡述在操作S74中獲得硬密鑰的操作的實例。
作為另一實例,當密鑰資訊包括指示軟密鑰的值(例如,所述值指示軟密鑰類型的使用)時,可在操作S76中實行獲得對應於密鑰索引的軟密鑰的操作。舉例而言,處理器12可提取密鑰
資訊中所包括的密鑰索引且自密鑰鏈映像檔中所包括的多個軟密鑰中獲得對應於密鑰索引的期望的軟密鑰。密鑰索引可包括能夠在密鑰鏈映像檔中辨識期望的軟密鑰的任意資訊。舉例而言,密鑰索引可包括密鑰鏈映像檔(或者,例如,圖3所示密鑰鏈KCH)的其中儲存有軟密鑰的區的位址偏移。另外,密鑰索引可包括能夠辨識軟密鑰的辨識符,例如,軟密鑰的循環冗餘檢查(cyclic redundancy check,CRC)、校驗及或非加密散列,及/或由用於產生搜索密鑰的任意演算法產生的搜索密鑰等,但示例性實施例並非僅限於此。以下將參照圖7闡述操作S76的實例。
圖6A及圖6B是根據一些示例性實施例的獲得硬密鑰的操作的實例的方塊圖。如以上參照圖5所述,當軟體映像檔中所包括的密鑰資訊(例如,密鑰類型資訊)包括指示硬密鑰的值(例如,指示硬密鑰類型的使用的值)時,圖1所示處理器12可基於密鑰類型資訊獲得硬密鑰KEYH。將省略與以上參照先前論述的圖式給出的說明相同的對圖6A及圖6B的各態樣的說明。
參照圖6A,可將硬密鑰KEYH儲存於安全記憶體64a中,但示例性實施例並非僅限於此。舉例而言,如圖6A中所示,處理器60a(例如,處理電路系統等)可包括至少一個核62a及安全記憶體64a,且安全記憶體64a可儲存硬密鑰KEYH。所述至少一個核62a(即,被加載至所述至少一個核62a中並且由所述至少一個核62a執行並容許所述至少一個核62a實行至少一個示例性實施例的軟體認證的程式映像檔)可存取安全記憶體64a並獲得硬密
鑰KEYH。在一些示例性實施例中,在製造處理器60a的製程期間,可將硬密鑰KEYH程式化至安全記憶體64a中所包括的不可重寫非揮發性記憶體,但示例性實施例並非僅限於此。在一些示例性實施例中,安全記憶體64a可儲存包括硬密鑰KEYH的多個硬密鑰,但示例性實施例並非僅限於此。
參照圖6B,根據其他示例性實施例,可將硬密鑰KEYH包括於程式映像檔中。舉例而言,如圖6B中所示,引導加載程式BL可包括二元映像檔BIN、密鑰資訊KNF及數位簽章SIG,且引導加載程式BL可作為程式映像檔被加載至系統記憶體60b中。可將硬密鑰KEYH包括於引導加載程式BL的二元映像檔BIN中。因此,可將處理器及/或處理電路系統(例如圖1所示處理器12)或者程式映像檔加載至處理器中並由處理器執行,藉此將處理器轉換成用於實行至少一個示例性實施例的軟體認證的處理器,處理器及/或處理電路系統可存取儲存於系統記憶體60b中的引導加載程式BL並獲得硬密鑰KEYH。
圖7是根據至少一個示例性實施例的認證軟體的方法的實例的流程圖。具體而言,圖7所示流程圖示出圖5所示操作S76的實例。如以上參照圖5所述,可在圖7所示操作S76'中實行獲得對應於密鑰索引的軟密鑰的操作。如圖7中所示,操作S76'可包括操作S76_2及操作S76_4。在下文中,將在獲得圖3所示密鑰鏈映像檔30中所包括的第一軟密鑰KEY1S至第n軟密鑰KEYnS中的一者的假設下闡述圖7,但示例性實施例並非僅限於此。將參
照圖1及圖3闡述圖7所示流程圖,但示例性實施例並非僅限於此。
在操作S76_2中,可實行獲得密鑰鏈中所包括的軟密鑰的辨識符的操作。舉例而言,處理器12可獲得密鑰鏈映像檔30的密鑰鏈KCH中所包括的第一軟密鑰KEY1S至第n軟密鑰KEYnS的辨識符。在一些示例性實施例中,第一元資料段MET1至第n元資料段METn可分別包括第一軟密鑰KEY1S至第n軟密鑰KEYnS的辨識符,且處理器12可自第一元資料段MET1至第n元資料段METn獲得辨識符。在一些示例性實施例中,處理器12可自第一軟密鑰KEY1S至第n軟密鑰KEYnS產生辨識符,但示例性實施例並非僅限於此。在一些示例性實施例中,如參照圖10所述,處理器12可獲得多個密鑰鏈映像檔中所包括的軟密鑰的辨識符。
在操作S76_4中,可實行獲得對應於匹配密鑰索引的辨識符(例如,期望的密鑰辨識符等)的軟密鑰的操作。舉例而言,密鑰資訊中所包括的密鑰索引可為軟密鑰的辨識符,且處理器12可自在操作S76_2中獲得的辨識符中確定與密鑰索引匹配的辨識符,且獲得對應於所確定的辨識符的軟密鑰。
圖8是根據至少一個示例性實施例的認證軟體映像檔的操作的實例的圖。具體而言,圖8示出在認證軟體映像檔的過程期間圖1所示系統記憶體14的第一狀態81至第五狀態85,但示例性實施例並非僅限於此。在下文中,將參照圖1闡述圖8,但示例性實施例並非僅限於此。
在第一狀態81中,系統記憶體14可儲存第一軟體映像檔IMG1作為經認證的程式映像檔。舉例而言,第一軟體映像檔IMG1可在加載第一軟體映像檔IMG1之前由加載於系統記憶體14中的程式映像檔認證,及/或可由儲存於ROM 12_3中的引導加載程式IMG0認證,但示例性實施例並非僅限於此。
在第二狀態82中,可將第二軟體映像檔IMG2作為程式映像檔加載至系統記憶體14中。舉例而言,經認證的第一軟體映像檔IMG1可將第二軟體映像檔IMG2自系統儲存器16加載至系統記憶體14中且可嘗試認證加載的第二軟體映像檔IMG2,但示例性實施例並非僅限於此,且例如,第二軟體映像檔IMG2可由引導加載程式IMG0認證等。
在第三狀態83中,可認證第二軟體映像檔IMG2,且可將第三軟體映像檔IMG3作為密鑰鏈映像檔加載至系統記憶體14中。舉例而言,可基於與第二軟體映像檔IMG2相關聯的密鑰資訊,使用硬密鑰來認證第二軟體映像檔IMG2,但示例性實施例並非僅限於此。另外,經認證的第一軟體映像檔IMG1或經認證的第二軟體映像檔IMG2可將第三軟體映像檔IMG3自系統儲存器16加載至系統記憶體14中,並嘗試認證所加載的第三軟體映像檔IMG3等。
在第四狀態84中,可認證第三軟體映像檔IMG3,且第四軟體映像檔IMG4可作為程式映像檔被加載至系統記憶體14中。舉例而言,可基於與第三軟體映像檔IMG3相關聯的密鑰資
訊等,使用硬密鑰或軟密鑰來認證第三軟體映像檔IMG3。另外,經認證的第一軟體映像檔IMG1或經認證的第二軟體映像檔IMG2可將第四軟體映像檔IMG4自系統儲存器16加載至系統記憶體14中,且可嘗試認證所加載的第四軟體映像檔IMG4等。
在第五狀態85中,可認證第四軟體映像檔IMG4。舉例而言,可基於與第四軟體映像檔IMG4相關聯的密鑰資訊等,使用第三軟體映像檔IMG3中所包括的硬密鑰或軟密鑰來認證第四軟體映像檔IMG4。因此,系統記憶體14可儲存順序認證的軟體映像檔,且處理器12可執行儲存的軟體映像檔中的程式映像檔。然而,示例性實施例並非僅限於此,且儲存於系統記憶體14中的軟體映像檔的數目可大於或小於四等。
圖9是根據至少一個示例性實施例的認證軟體映像檔的操作的實例的圖。具體而言,圖9示出在認證軟體映像檔的操作期間圖1所示系統記憶體14的第一狀態91至第五狀態95。在下文中,將參照圖1闡述圖9。
參照圖9,在第一狀態91中,系統記憶體14可儲存第一軟體映像檔IMG1作為經認證的程式映像檔。舉例而言,第一軟體映像檔IMG1可在加載第一軟體映像檔IMG1之前由加載於系統記憶體14中的程式映像檔認證,及/或可由儲存於ROM 12_3中的引導加載程式IMG0認證,但示例性實施例並非僅限於此。
在第二狀態92中,可將第二軟體映像檔IMG2作為密鑰鏈映像檔加載至系統記憶體14中。舉例而言,經認證的第一軟體
映像檔IMG1可將第二軟體映像檔IMG2自系統儲存器16加載至系統記憶體14中且可嘗試認證所加載的第二軟體映像檔IMG2等。
在第三狀態93中,可認證第二軟體映像檔IMG2,且可將第三軟體映像檔IMG3作為程式映像檔加載至系統記憶體14中。舉例而言,可基於與第二軟體映像檔IMG2相關聯的密鑰資訊,使用硬密鑰來認證第二軟體映像檔IMG2。另外,經認證的第一軟體映像檔IMG1可將第三軟體映像檔IMG3作為程式映像檔自系統儲存器16加載至系統記憶體14中且可嘗試認證所加載的第三軟體映像檔IMG3。
在第四狀態94中,可認證第三軟體映像檔IMG3,且可將第四軟體映像檔IMG4作為密鑰鏈映像檔加載至系統記憶體14中。舉例而言,可基於與第三軟體映像檔IMG3相關聯的密鑰資訊,使用硬密鑰或軟密鑰來認證第三軟體映像檔IMG3。當例如第三軟體映像檔IMG3的密鑰資訊指示期望的軟密鑰時,可辨識第二軟體映像檔IMG2中所包括的與第三軟體映像檔IMG3相關聯的期望的軟密鑰,且可使用期望的軟密鑰(例如,辨識的軟密鑰)來認證第三軟體映像檔IMG3。另外,經認證的第一軟體映像檔IMG1或經認證的第三軟體映像檔IMG3可將第四軟體映像檔IMG4作為密鑰鏈映像檔自系統儲存器16加載至系統記憶體14中且可嘗試認證所加載的第四軟體映像檔IMG4。
在第五狀態95中,可認證第四軟體映像檔IMG4。舉例
而言,可基於與第四軟體映像檔IMG4相關聯的密鑰資訊,使用硬密鑰或軟密鑰來認證第四軟體映像檔IMG4。當例如第四軟體映像檔IMG4的密鑰資訊指示期望的軟密鑰時,可辨識與第二軟體映像檔IMG2中所包括的第四軟體映像檔IMG4相關聯的期望的軟密鑰,且可使用期望的軟密鑰(例如,辨識的軟密鑰)來認證第四軟體映像檔IMG4。
圖10是根據至少一個示例性實施例的認證軟體映像檔的操作的實例的圖。具體而言,圖10示出在認證軟體映像檔的操作期間圖1所示系統記憶體14的第一狀態101至第三狀態103。在下文中,將參照圖1闡述圖10,但示例性實施例並非僅限於此。
參照圖10,在第一狀態101中,系統記憶體14可儲存第一軟體映像檔IMG1作為經認證的密鑰鏈映像檔、儲存第二軟體映像檔IMG2作為經認證的密鑰鏈映像檔、以及儲存第三軟體映像檔IMG3作為經認證的程式映像檔,但示例性實施例並非僅限於此。
第二狀態102中,可將第四軟體映像檔IMG4作為程式映像檔加載至系統記憶體14中。舉例而言,經認證的第三軟體映像檔IMG3可將第四軟體映像檔IMG4自系統儲存器16加載至系統記憶體14中,且可嘗試認證所加載的第四軟體映像檔IMG4。可基於與第四軟體映像檔IMG4相關聯的密鑰資訊使用例如軟密鑰來嘗試認證第四軟體映像檔IMG4。亦即,第四軟體映像檔IMG4的密鑰資訊可包括指示期望的軟密鑰的值。在一些示例性實施例
中,處理器12可基於第四軟體映像檔IMG4的密鑰資訊中所包括的密鑰索引,將第一軟體映像檔IMG1及第二軟體映像檔IMG2中所包括的軟密鑰中的一者辨識為與第四軟體映像檔IMG4相關聯的期望的軟密鑰,且可嘗試使用期望的軟密鑰(例如,辨識的軟密鑰)來認證第四軟體映像檔IMG4。舉例而言,處理器12可以順序次序(或以相反次序)存取第一軟體映像檔IMG1及第二軟體映像檔IMG2,且獲得第一軟體映像檔IMG1及第二軟體映像檔IMG2的軟密鑰的辨識符,且確定與匹配密鑰索引的辨識符對應的軟體密鑰,但示例性實施例並非僅限於此。
在第三狀態103中,可認證第四軟體映像檔IMG4。舉例而言,第一軟體映像檔IMG1可包括與第四軟體映像檔IMG4的密鑰資訊中所包括的密鑰索引對應的軟密鑰,且可使用對應的軟密鑰成功驗證第四軟體映像檔IMG4中所包括的數位簽章,但示例性實施例並非僅限於此。
圖11是根據至少一個示例性實施例的映像檔簽章系統110的實例的方塊圖。如圖11中所示,映像檔簽章系統110可產生軟體映像檔IMG,軟體映像檔IMG可儲存於圖1所示系統儲存器16中,但示例性實施例並非僅限於此。
映像檔簽章系統110可被實施成任意計算系統,但示例性實施例並非僅限於此。舉例而言,映像檔簽章系統110的組件中的每一者可被實施成由邏輯合成設計的專用硬體模組、由至少一個處理器核及/或處理電路系統等執行的專用軟體模組、包括至
少一個處理器核及專用軟體模組的處理單元、及/或其任意組合。映像檔簽章系統110可接收映像檔產生資訊GEN。舉例而言,映像檔產生資訊GEN可包括軟體映像檔IMG的類型(即,程式映像檔或密鑰鏈映像檔)(例如,映像檔類型資訊)、以及用於相關聯的及/或對應的軟體映像檔IMG的認證的密鑰的密鑰類型(例如,密鑰類型資訊)。映像檔產生資訊GEN可被提供至映像檔簽章系統110中所包括的組件,但示例性實施例並非僅限於此。如圖11中所示,映像檔簽章系統110可包括處理電路系統111,且處理電路系統111可包括至少一個專用硬體或軟體模組,例如密鑰產生器112、緩衝器114、簽章產生器116及/或經簽章的映像檔產生器118等,但示例性實施例並非僅限於此。舉例而言,處理電路系統111更具體而言可包括但不限於中央處理單元(CPU)、算術邏輯單元(ALU)、數位訊號處理器(DSP)、圖形處理單元(GPU)、通訊處理器(CP)、微型電腦、現場可程式閘陣列(FPGA)、系統晶片(SoC)、可程式邏輯單元、微處理器、專用積體電路(ASIC)等,且根據一些示例性實施例,可更包括以下中的一或多者:介面、匯流排、記憶體及/或控制器等。
根據至少一個示例性實施例,密鑰產生器112可產生包括私鑰及公鑰的密鑰對。舉例而言,密鑰產生器112可包括隨機數產生器且可基於隨機數(例如,種子數目)產生密鑰對。如圖11中所示,密鑰產生器112可向緩衝器114提供與密鑰對的公鑰對應的軟密鑰KEYS、且可向簽章產生器116提供與密鑰對的私鑰
對應的軟私鑰PRVS。在一些示例性實施例中,如圖11中的虛線箭頭所示,密鑰產生器112不僅可產生軟密鑰KEYS,亦可產生與密鑰對中的公鑰對應的硬密鑰KEYH、且可向簽章產生器116提供與硬密鑰KEYH對應的硬私鑰PRVH。在一些示例性實施例中,可省略密鑰產生器112,且映像檔簽章系統110可自外部(例如,外部源、使用者等)接收密鑰對。
緩衝器114可自密鑰產生器112接收軟密鑰KEYS。緩衝器114可包括記憶體,但並非僅限於此。緩衝器114可收集軟密鑰KEYS、可產生密鑰鏈KCH、且可將密鑰鏈KCH提供至經簽章的映像檔產生器118。在一些示例性實施例中,緩衝器114可基於映像檔產生資訊GEN產生標頭HEA、且可將標頭HEA與密鑰鏈KCH一起提供至經簽章的映像檔產生器118。在一些示例性實施例中,可將緩衝器114與密鑰產生器112一起省略,且映像檔簽章系統110可自外部(例如,外部源等)接收密鑰鏈KCH。
根據至少一個示例性實施例,簽章產生器116可自密鑰產生器112接收軟私鑰PRVS且可產生自軟私鑰PRVS導出的數位簽章SIG,但並非僅限於此。因此,數位簽章SIG可由密鑰對中所包括的軟鑰密KEYS以及導出數位簽章SIG的軟私鑰PRVS來驗證。可基於任意簽章演算法產生數位簽章SIG,但並非僅限於此。舉例而言,可基於橢圓曲線數位簽章演算法(elliptic curve digital signature algorithm,ECDSA)等自軟私鑰PRVS產生數位簽章SIG。另外,如圖11中所示,簽章產生器116可自外部源接收硬私鑰
PRVH,且不僅可產生由軟密鑰KEYS驗證的數位簽章SIG,亦可產生由硬密鑰KEYH驗證的數位簽章SIG等。
根據至少一個示例性實施例,經簽章的映像檔產生器118可接收二元映像檔BIN、密鑰鏈KCH及數位簽章SIG等,且可產生軟體映像檔IMG。舉例而言,經簽章的映像檔產生器118可基於映像檔產生資訊GEN產生密鑰資訊且可產生包括二元映像檔BIN、數位簽章SIG及密鑰資訊的軟體映像檔IMG作為程式映像檔等。另外,經簽章的映像檔產生器118可基於映像檔產生資訊GEN產生密鑰資訊且可產生包括密鑰鏈KCH、數位簽章SIG及密鑰資訊的軟體映像檔IMG作為密鑰鏈映像檔等。除軟體映像檔IMG中所包括的資料是二元映像檔BIN或密鑰鏈KCH外,經簽章的映像檔產生器118可以相同的方式產生程式映像檔及密鑰鏈映像檔,但示例性實施例並非僅限於此。
圖12是根據至少一個示例性實施例的認證軟體的方法的實例的流程圖。具體而言,圖12所示流程圖示出根據至少一個示例性實施例的產生經簽章的軟體映像檔的方法的實例。在一些示例性實施例中,圖12所示方法可由圖11所示映像檔簽章系統110來實行。如圖12中所示,產生經簽章的軟體映像檔的方法可包括操作S10及操作S30。在一些示例性實施例中,可以不同於圖12中所示的次序來實行操作S10及操作S30及/或可並行實行操作S10與操作S30。在下文中,將參照圖11闡述圖12。
在一些示例性實施例中,圖12所示方法可由被配置成執
行包括對應於每一操作的電腦可讀取指令的程式代碼的至少一個處理器(例如,處理電路系統等)來實行。指令可儲存於記憶體中。用語「處理器」可指硬體實施的資料處理元件,所述硬體實施的資料處理元件包括實體地結構化的電路以實行包括由程式中包含的指令及代碼表示的操作的期望的及/或預定的操作。在一些示例性實施例中,硬體實施的資料處理元件的非限制性實例可包括微處理器(MP)、中央處理單元(CPU)、處理器核、多核處理器、多處理器、專用積體電路(ASIC)及/或現場可程式閘陣列(FPGA)等。
在操作S10中,可實行產生經簽章的程式映像檔的操作。舉例而言,映像檔簽章系統110可產生包括二元映像檔BIN等的經簽章的程式映像檔。以下將參照圖13闡述操作S10的實例,但示例性實施例並非僅限於此。
在操作S30中,可實行產生經簽章的密鑰鏈映像檔的操作。舉例而言,映像檔簽章系統110可產生包括密鑰鏈KCH的經簽章的程式映像檔,所述密鑰鏈KCH包括至少一個軟密鑰等。以下將參照圖14闡述操作S30的實例,但示例性實施例並非僅限於此。
圖13是根據至少一個示例性實施例的認證軟體的方法的實例的流程圖。具體而言,圖13所示流程圖示出圖12所示操作S10的實例,但示例性實施例並非僅限於此。如以上參照圖12所述,可在圖13所示操作S10'中實行產生經簽章的程式映像檔的操
作,但示例性實施例並非僅限於此。如圖13中所示,操作S10'可包括多個操作S11至操作S17,但示例性實施例並非僅限於此。在下文中,將參照圖11闡述圖13,但示例性實施例並非僅限於此。
在操作S11中,可實行獲得二元映像檔BIN的操作。舉例而言,映像檔簽章系統110可自外部(例如,外部源)等接收包含一系列指令的二元映像檔BIN。
在操作S12中,可實行確定與所獲得的二元映像檔BIN相關聯的密鑰類型的操作。舉例而言,映像檔簽章系統110可基於映像檔產生資訊GEN來確定與所獲得的二元映像檔BIN相關聯的密鑰類型。如圖13中所示,當與所獲得的二元映像檔BIN相關聯的密鑰類型是硬密鑰時,可隨後實行操作S13。否則,若與所獲得的二元映像檔BIN相關聯的密鑰類型是軟密鑰,則可順序地實行操作S15。
當密鑰類型是硬密鑰時,可在操作S13中實行產生由硬密鑰驗證的簽章的操作。舉例而言,簽章產生器116可基於映像檔產生資訊GEN接收對應於硬密鑰KEYH的硬私鑰PRVH、且可產生由硬密鑰KEYH驗證的數位簽章SIG,但示例性實施例並非僅限於此。接下來,在操作S14中,可實行產生包括指示硬密鑰的值的密鑰資訊的操作。舉例而言,經簽章的映像檔產生器118可基於映像檔產生資訊GEN產生包括指示及/或辨識期望的硬密鑰的值的密鑰資訊以用於驗證軟體映像檔。在一些示例性實施例中,當使用至少兩個硬密鑰來認證軟體映像檔時,密鑰資訊不僅
可包括指示用於驗證軟體映像檔的密鑰類型的值(例如,指示硬密鑰的使用的值等),但亦包括用於辨識與軟體映像檔相關聯的期望的硬密鑰的密鑰索引。
當密鑰類型資訊指示與軟體映像檔相關聯的期望的密鑰是軟密鑰時,可在操作S15中實行產生由軟密鑰驗證的簽章的操作。舉例而言,簽章產生器116可基於映像檔產生資訊GEN自密鑰產生器112或映像檔簽章系統110外部(例如,外部源等)接收對應於軟密鑰KEYS的軟私鑰PRVS,且可產生由軟密鑰KEYS驗證的數位簽章SIG。接下來,在操作S16中,可實行產生密鑰資訊的操作,所述密鑰資訊包括指示軟密鑰類型的值及與軟體映像檔相關聯的期望的軟密鑰的索引。舉例而言,基於映像檔產生資訊GEN,經簽章的映像檔產生器118可產生包括指示軟密鑰類型的值及能夠在包括軟密鑰的密鑰鏈映像檔中辨識與軟體映像檔相關聯的期望的軟密鑰的索引(例如,密鑰索引等)的密鑰資訊。
在操作S17中,可實行產生經簽章的程式映像檔的操作。舉例而言,經簽章的映像檔產生器118可產生包括二元映像檔BIN、密鑰資訊及數位簽章SIG等的經簽章的程式映像檔,但並非僅限於此。
圖14是根據至少一個示例性實施例的認證軟體的方法的流程圖。具體而言,圖14所示流程圖示出圖12所示操作S30的實例,但示例性實施例並非僅限於此。如以上參照圖12所述,可在圖14所示操作S30'中實行產生經簽章的密鑰鏈映像檔的操作,
但示例性實施例並非僅限於此。如圖14中所示,操作S30'可包括多個操作S31至操作S37,但示例性實施例並非僅限於此。在下文中,將參照圖11闡述圖14所示流程圖,且在圖14中將省略先前參照圖13闡述的相同態樣。
在操作S31中,可實行獲得密鑰鏈的操作。舉例而言,映像檔簽章系統110可如圖11中所示產生其中包括至少一個軟密鑰的密鑰鏈KCH,或者自外部(例如,外部源等)接收密鑰鏈KCH,但示例性實施例並非僅限於此。
在一些示例性實施例中,圖14所示操作S32至S36可分別與圖13所示操作S12至S16相同,但示例性實施例並非僅限於此。因此,除程式映像檔中所包括的資料(即,二元映像檔BIN或密鑰鏈KCH)外,程式映像檔可具有與密鑰鏈映像檔相同的結構。
在操作S37中,可實行產生經簽章的密鑰鏈映像檔的操作。舉例而言,經簽章的映像檔產生器118可產生包括密鑰鏈KCH、密鑰資訊及數位簽章SIG等的經簽章的密鑰鏈映像檔。
以上參照圖式闡述的方法的各種操作可由能夠實行操作的任意合適的單元(例如,由硬體電路系統、專門設計的電路及/或專門設計的模組等執行的各種硬體或軟體組件)來實行。軟體可包括用於實施邏輯功能的一系列可執行電腦可讀取指令。所述軟體可由指令執行系統、裝置或元件(例如,單核或多核處理器或者包含處理器的系統)使用或者可在與其相關的任意「處理器
可讀取媒體」中實施。
已參照示例性實施例闡述的方法或演算法及功能的操作及方塊可被直接實施成硬體、由硬體(例如,處理器、處理電路系統等)執行的軟體模組、或者其組合。當示例性實施例的操作及方塊被實施成軟體時,可將所述功能作為至少一個電腦可讀取指令或代碼儲存於非暫態電腦可讀取記錄媒體上或傳輸所述功能。軟體模組可處於任意類型的儲存媒體中。
儘管已參照本發明概念的示例性實施例具體示出及闡述了本發明概念的各種示例性實施例,但應理解,在不背離以下申請專利範圍的精神及範圍的條件下,可在本文中在形式及細節方面進行各種改變。
10:系統
12:處理器
12_1:核
12_2:隨機存取記憶體(RAM)
12_3:唯讀記憶體(ROM)
12_4:安全記憶體
12_5:記憶體控制器
12_6:儲存器控制器
14:系統記憶體
16:系統儲存器
IMG0:引導加載程式
IMG1:第一軟體映像檔
IMG2:第二軟體映像檔
IMG3:第三軟體映像檔
Claims (20)
- 一種用於認證軟體映像檔的系統,包括:系統記憶體,被配置成儲存至少一個軟體映像檔,所述至少一個軟體映像檔包括與所述至少一個軟體映像檔相關聯的密鑰鏈映像檔,所述密鑰鏈映像檔包括與所述至少一個軟體映像檔相關聯的至少一個軟密鑰,所述至少一個軟密鑰是對應於所述至少一個軟體映像檔的公鑰;以及處理電路系統,包括至少一個硬密鑰,所述至少一個硬密鑰包括與所述處理電路系統相關聯的唯一值,所述處理電路系統被配置成,基於指示包括在至少一個軟體映像檔中包含的密鑰資訊中的密鑰類型的值,確定是否使用至少一個軟密鑰或至少一個硬密鑰來認證所述至少一個軟體映像檔;基於所述密鑰資訊,自所述密鑰鏈映像檔獲得期望的軟密鑰或自所述處理電路系統獲得期望的硬密鑰,以及基於所獲得的所述軟密鑰或所獲得的所述硬密鑰來認證所述至少一個軟體映像檔。
- 如請求項1所述的系統,其中所述處理電路系統包括用以儲存所述至少一個硬密鑰的唯讀記憶體。
- 如請求項2所述的系統,其中所述處理電路系統被配置成基於所述密鑰資訊,基於所述至少一個硬密鑰來認證所述密鑰鏈映像檔。
- 如請求項2所述的系統,其中所述處理電路系統包括被配置成儲存多個硬密鑰,所述多個硬密鑰包括所述至少一個硬密鑰的安全記憶體。
- 如請求項2所述的系統,其中所述處理電路系統被配置成自被加載於所述系統記憶體中的第二軟體映像檔獲得所述至少一個硬密鑰。
- 如請求項2所述的系統,其中所述處理電路系統被配置成:基於所述密鑰資訊,自多個硬密鑰所包括的所述至少一個硬密鑰中辨識與所述至少一個軟體映像檔相關聯的期望的硬密鑰;以及基於期望的所述硬密鑰來認證所述至少一個軟體映像檔。
- 如請求項1所述的系統,其中所述處理電路系統被配置成藉由基於所獲得的所述軟密鑰對所述至少一個軟體映像檔中所包括的數位簽章進行驗證來認證所述至少一個軟體映像檔。
- 如請求項1所述的系統,其中所述處理電路系統被配置成基於所述密鑰資訊中所包括的密鑰索引來辨識所述密鑰鏈映像檔中的與所述至少一個軟體映像檔相關聯的期望的所述軟密鑰。
- 如請求項1所述的系統,其中所述系統記憶體被配置成儲存多個密鑰鏈映像檔,所述多個密鑰鏈映像檔包括多個軟密鑰;且 所述處理電路系統被配置成基於所述密鑰資訊自所述多個軟密鑰獲得期望的所述軟密鑰。
- 如請求項1所述的系統,更包括:系統儲存元件,被配置成儲存多個軟體映像檔,所述多個軟體映像檔包括所述至少一個軟體映像檔,且其中所述處理電路系統被配置成將所述至少一個軟體映像檔自所述系統儲存元件加載至所述系統記憶體。
- 一種認證加載於系統記憶體中的軟體映像檔的方法,其中所述方法由處理電路系統實行,所述處理電路系統包括至少一個硬密鑰,所述至少一個硬密鑰包括與所述處理電路系統相關聯的唯一值,所述方法包括:認證第一軟體映像檔,所述第一軟體映像檔包括與所述第一軟體映像檔相關聯的第一密鑰資訊及至少一個軟密鑰,所述至少一個軟密鑰是對應於所述至少一個軟體映像檔的公鑰;以及認證第二軟體映像檔,所述第二軟體映像檔包括第二密鑰資訊,認證所述第二軟體映像檔包括:自所述第二軟體映像檔獲得所述第二密鑰資訊;基於指示包括在所述第二密鑰資訊中的密鑰類型的值,自經認證的所述第一軟體映像檔獲得第一軟密鑰或自所述處理電路系統獲得第一硬密鑰;以及基於所獲得的所述第一軟密鑰或所獲得的所述第一硬密鑰來驗證所述第二軟體映像檔的數位簽章。
- 如請求項11所述的方法,其中認證所述第一軟體映像檔包括:自所述第一軟體映像檔獲得所述第一密鑰資訊;基於所述第一密鑰資訊獲得所述處理電路系統中所包括的所述第一硬密鑰;以及基於所獲得的所述第一硬密鑰來驗證所述第一軟體映像檔的數位簽章。
- 如請求項11所述的方法,更包括:認證第三軟體映像檔,所述第三軟體映像檔包括第三密鑰資訊,所述第三密鑰資訊不同於所述第二密鑰資訊;且其中認證所述第三軟體映像檔包括:自所述第三軟體映像檔獲得所述第三密鑰資訊,基於所述第三密鑰資訊自所述第一軟體映像檔獲得第二軟密鑰,所述第二軟密鑰不同於所述第一軟密鑰;以及基於所述第二軟密鑰來驗證所述第三軟體映像檔的數位簽章。
- 如請求項11所述的方法,更包括:認證第四軟體映像檔,所述第四軟體映像檔包括第四密鑰資訊;以及其中認證所述第四軟體映像檔包括:自所述第四軟體映像檔獲得所述第四密鑰資訊,基於所述第四密鑰資訊自經認證的所述第二軟體映像檔 獲得第三軟密鑰,以及基於所述第三軟密鑰來驗證所述第四軟體映像檔的數位簽章。
- 如請求項11所述的方法,其中所述第二密鑰資訊包括用於自所述第一軟體映像檔中所包括的所述至少一個軟密鑰辨識所述第一軟密鑰的密鑰索引。
- 一種產生經簽章的軟體映像檔以在系統中執行軟體的認證的方法,所述系統包括處理電路系統,所述方法包括:產生程式映像檔作為所述經簽章的軟體映像檔,所述程式映像檔將由所述系統執行;以及產生密鑰鏈映像檔作為所述經簽章的軟體映像檔,所述密鑰鏈映像檔包括與所述經簽章的軟體映像檔相關聯的密鑰資訊以及至少一個軟密鑰,所述密鑰資訊包括指示密鑰類型的值,所述至少一個軟密鑰是對應於所述至少一個軟體映像檔的公鑰,產生所述程式映像檔包括:獲得第一二元映像檔,所述第一二元映像檔包括電腦可讀取指令,產生第一簽章,所述第一簽章是基於第一軟密鑰或包括在所述處理電路系統中的第一硬密鑰進行驗證,所述第一硬密鑰包括與所述處理電路系統相關聯的唯一值,以及產生第一經簽章的程式映像檔,所述第一經簽章的程式映像檔包括所述第一二元映像檔及所述第一簽章。
- 如請求項16所述的方法,其中產生所述第一經簽章的程式映像檔包括產生所述密鑰資訊,所述密鑰資訊包括第一密鑰類型值及第一密鑰索引,所述第一密鑰類型值指示用於認證的軟密鑰或硬密鑰的使用,所述第一密鑰索引自多個軟密鑰辨識所述第一軟密鑰。
- 如請求項16所述的方法,其中產生所述密鑰鏈映像檔包括:獲得包括於所述處理電路系統中的所述第一硬密鑰;獲得第一密鑰鏈,所述第一密鑰鏈包括所述第一軟密鑰;產生第二簽章,所述第二簽章是基於所述硬密鑰進行驗證;以及產生第一經簽章的密鑰鏈映像檔,所述第一經簽章的密鑰鏈映像檔包括所述第一密鑰鏈及所述第二簽章。
- 如請求項16所述的方法,其中產生所述程式映像檔更包括:獲得所述處理電路系統中所包括的所述第一硬密鑰;獲得第二二元映像檔,所述第二二元映像檔包括電腦可讀取指令;產生第三簽章,所述第三簽章是基於所述硬密鑰進行驗證;以及產生第二經簽章的程式映像檔,所述第二經簽章的程式映像檔包括所述第二二元映像檔及所述第三簽章。
- 如請求項16所述的方法,其中產生所述密鑰鏈映像檔包括:獲得第二軟密鑰;獲得第二密鑰鏈,所述第二密鑰鏈包括所述第二軟密鑰;產生第四簽章,所述第四簽章是基於所述第二軟密鑰進行驗證;以及產生第二經簽章的密鑰鏈映像檔,所述第二經簽章的密鑰鏈映像檔包括所述第二密鑰鏈及所述第四簽章。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2020-0002691 | 2020-01-08 | ||
| KR1020200002691A KR102864752B1 (ko) | 2020-01-08 | 2020-01-08 | 소프트웨어의 인증을 위한 장치 및 방법 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW202127283A TW202127283A (zh) | 2021-07-16 |
| TWI875821B true TWI875821B (zh) | 2025-03-11 |
Family
ID=76432442
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW109133260A TWI875821B (zh) | 2020-01-08 | 2020-09-25 | 用於認證軟體映像檔的系統和方法以及用於產生經簽章的軟體映像檔的方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US11829464B2 (zh) |
| KR (1) | KR102864752B1 (zh) |
| CN (1) | CN113094690A (zh) |
| DE (1) | DE102020121075A1 (zh) |
| TW (1) | TWI875821B (zh) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114208110B (zh) * | 2019-08-28 | 2024-05-24 | 索尼半导体解决方案公司 | 信息处理装置、信息处理方法和程序 |
| KR102864753B1 (ko) | 2020-01-08 | 2025-09-24 | 삼성전자주식회사 | 키를 안전하게 관리하기 위한 장치 및 방법 |
| US11811948B2 (en) * | 2021-04-08 | 2023-11-07 | Micron Technology, Inc. | Flexible security enclave for protecting data at rest and in motion |
| TWI829250B (zh) * | 2022-07-19 | 2024-01-11 | 群聯電子股份有限公司 | 簽章驗證方法、記憶體儲存裝置及記憶體控制電路單元 |
| TWI826287B (zh) * | 2023-03-10 | 2023-12-11 | 神雲科技股份有限公司 | 管理平台系統及其映像檔修復與除錯方法 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20120166781A1 (en) * | 2008-04-15 | 2012-06-28 | De Cesare Joshua | Single security model in booting a computing device |
| CN105407079A (zh) * | 2015-09-25 | 2016-03-16 | 中城智慧科技有限公司 | 一种新型的终端安全软密钥管理方法 |
| TW201706898A (zh) * | 2015-04-15 | 2017-02-16 | 高通公司 | 安全軟體認證及驗證 |
| US20170286665A1 (en) * | 2016-03-30 | 2017-10-05 | Qualcomm Incorporated | Devices and methods for facilitating software signing by more than one signing authority |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7530065B1 (en) * | 2004-08-13 | 2009-05-05 | Apple Inc. | Mechanism for determining applicability of software packages for installation |
| KR100746012B1 (ko) * | 2005-11-07 | 2007-08-06 | 삼성전자주식회사 | 코드 이미지를 안전하게 갱신하고 부팅하는 방법 및 장치 |
| US8254568B2 (en) * | 2007-01-07 | 2012-08-28 | Apple Inc. | Secure booting a computing device |
| KR101393307B1 (ko) | 2007-07-13 | 2014-05-12 | 삼성전자주식회사 | 보안 부팅 방법 및 그 방법을 사용하는 반도체 메모리시스템 |
| KR20090037712A (ko) | 2007-10-12 | 2009-04-16 | 삼성전자주식회사 | 보안 부트-업되는 전자 장치, 그것의 해쉬값 계산 방법 및부트-업 방법 |
| KR20120092222A (ko) | 2011-02-11 | 2012-08-21 | 삼성전자주식회사 | 보안 부팅 방법 및 보안 부트 이미지 생성 방법 |
| US9141802B2 (en) | 2012-09-25 | 2015-09-22 | Intel Corporation | Computing device boot software authentication |
| US9152794B1 (en) | 2013-09-05 | 2015-10-06 | Xilinx, Inc. | Secure key handling for authentication of software for a system-on-chip |
| CN104156659B (zh) * | 2014-08-14 | 2017-02-01 | 电子科技大学 | 一种嵌入式系统的安全启动方法 |
| US9887848B2 (en) * | 2015-07-02 | 2018-02-06 | Gn Hearing A/S | Client device with certificate and related method |
| KR101782378B1 (ko) | 2016-11-03 | 2017-09-27 | 시큐리티플랫폼 주식회사 | 서명된 공개 키를 이용한 시큐어 부트 방법 |
| WO2018132211A1 (en) * | 2017-01-12 | 2018-07-19 | Google Llc | Verified boot and key rotation |
| EP3382590B1 (en) | 2017-03-31 | 2019-10-16 | OMRON Corporation | Method for initializing a computerized system and computerized system against rollback attacks |
| CN110655922B (zh) | 2018-06-29 | 2024-02-27 | 昭荣化学工业株式会社 | 使用In3+盐作为掺杂剂的ZnSe量子点的波长调谐 |
| US11011614B2 (en) | 2018-06-29 | 2021-05-18 | Taiwan Semiconductor Manufacturing Company, Ltd. | High electron mobility transistor (HEMT) device and method of forming same |
| CN109542518B (zh) * | 2018-10-09 | 2020-12-22 | 华为技术有限公司 | 芯片和启动芯片的方法 |
| CN110362427A (zh) * | 2019-06-26 | 2019-10-22 | 苏州浪潮智能科技有限公司 | 一种镜像文件的处理方法、系统、bmc及可读存储介质 |
-
2020
- 2020-01-08 KR KR1020200002691A patent/KR102864752B1/ko active Active
- 2020-08-11 DE DE102020121075.2A patent/DE102020121075A1/de active Pending
- 2020-09-04 CN CN202010919976.4A patent/CN113094690A/zh active Pending
- 2020-09-11 US US17/018,237 patent/US11829464B2/en active Active
- 2020-09-25 TW TW109133260A patent/TWI875821B/zh active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20120166781A1 (en) * | 2008-04-15 | 2012-06-28 | De Cesare Joshua | Single security model in booting a computing device |
| TW201706898A (zh) * | 2015-04-15 | 2017-02-16 | 高通公司 | 安全軟體認證及驗證 |
| CN105407079A (zh) * | 2015-09-25 | 2016-03-16 | 中城智慧科技有限公司 | 一种新型的终端安全软密钥管理方法 |
| US20170286665A1 (en) * | 2016-03-30 | 2017-10-05 | Qualcomm Incorporated | Devices and methods for facilitating software signing by more than one signing authority |
Also Published As
| Publication number | Publication date |
|---|---|
| US11829464B2 (en) | 2023-11-28 |
| DE102020121075A1 (de) | 2021-07-08 |
| KR102864752B1 (ko) | 2025-09-24 |
| US20210209219A1 (en) | 2021-07-08 |
| KR20210089485A (ko) | 2021-07-16 |
| CN113094690A (zh) | 2021-07-09 |
| TW202127283A (zh) | 2021-07-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI875821B (zh) | 用於認證軟體映像檔的系統和方法以及用於產生經簽章的軟體映像檔的方法 | |
| TWI851820B (zh) | 積體電路、用於安全地管理用於資料安全的多個密鑰的系統以及由積體電路執行的方法 | |
| US9842212B2 (en) | System and method for a renewable secure boot | |
| US12061702B2 (en) | Identity and root keys derivation scheme for embedded devices | |
| JP7406013B2 (ja) | 構成設定の安全な署名 | |
| US12229272B2 (en) | Secure computation environment | |
| CN111723383A (zh) | 数据存储、验证方法及装置 | |
| KR20060108710A (ko) | 신뢰성 있는 이동 플랫폼 구조 | |
| CN117561699A (zh) | 安全计算机制 | |
| CN113647050B (zh) | 基于块链的存储器命令验证 | |
| CN113728582B (zh) | 中间装置和网络之间的安全通信 | |
| US20250117141A1 (en) | External memory data integrity validation | |
| US8844024B1 (en) | Systems and methods for using tiered signing certificates to manage the behavior of executables | |
| CN115062330B (zh) | 基于tpm的智能密码钥匙密码应用接口的实现方法 | |
| CN119907974A (zh) | 用于保护执行环境的机制 | |
| CN112639783B (zh) | 同时的镜像测量和执行 | |
| CN111783072A (zh) | Linux系统下的安全控制方法和装置 | |
| US12346448B2 (en) | Storage controller, storage system, and method of operating storage device | |
| CN112597458B (zh) | 基于可信认证进行身份认证的方法、装置及相关产品 | |
| KR20240158217A (ko) | 전자 디바이스의 소유권 관리 | |
| TW202424741A (zh) | 所有者撤銷模擬容器 | |
| CN117150496A (zh) | 装置标识符组合引擎3层架构 |