TW202234272A - 系統單晶片及其操作方法以及安全元件電路的操作方法 - Google Patents
系統單晶片及其操作方法以及安全元件電路的操作方法 Download PDFInfo
- Publication number
- TW202234272A TW202234272A TW111105635A TW111105635A TW202234272A TW 202234272 A TW202234272 A TW 202234272A TW 111105635 A TW111105635 A TW 111105635A TW 111105635 A TW111105635 A TW 111105635A TW 202234272 A TW202234272 A TW 202234272A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- key
- seed
- soc
- seed table
- Prior art date
Links
- 238000011017 operating method Methods 0.000 title claims 6
- 238000000034 method Methods 0.000 claims abstract description 32
- 230000000873 masking effect Effects 0.000 claims abstract description 17
- 238000012545 processing Methods 0.000 claims description 23
- 238000013486 operation strategy Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 10
- 230000036962 time dependent Effects 0.000 claims description 8
- 101100257262 Caenorhabditis elegans soc-1 gene Proteins 0.000 description 31
- 238000010586 diagram Methods 0.000 description 25
- 238000004364 calculation method Methods 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 2
- 241000124892 Barbus Species 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/781—On-chip cache; Off-chip memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/54—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- 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/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/107—License processing; Key processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
- Saccharide Compounds (AREA)
Abstract
本發明提供一種包含安全元件的系統單晶片(SoC)。SoC的方法包括:在電力接通時產生隨機數;基於種子表操作策略,根據隨機數產生種子表;藉由對應於種子表中的目標位址的第一資料種子值遮罩第一資料;藉由種子表中的第一類型第一加密密鑰加密經遮罩的第一資料以及將首先加密的第一資料寫入至外部記憶體的目標位址,其中資料種子值或第一類型第一加密密鑰中的一者動態地改變。
Description
一些實例實施例是關於一種系統單晶片及/或操作方法,且更特定言之,是關於用於在包含安全元件的系統單晶片上執行資料的加密/解密的方法及/或設備。
大體而言,如圖1中所繪示,在系統單晶片中,使用對應於共同資料傳輸線的匯流排BUS連接中央處理器單元(central processor unit;CPU)、記憶體以及其他周邊設備。近來,為了單晶片的擴展性,系統單晶片的內部匯流排信號已連接至外部,使得記憶體或周邊設備可添加至系統單晶片。
另一方面,隨著電力及電子技術的發展,比過去更有價值的資訊已數位化且對資訊的安全及/或版權方面的關注已增加。舉例而言,若使用者的個人資訊(諸如用於電子交易的ID、密碼以及憑證中的任一個)洩漏,則可能出現因使用者的姓名的非法或不適當或未經授權使用而導致的損害,且當特定裝置的韌體洩漏時,由於韌體可經由洩漏的韌體用於除製造商的意圖以外的目的,因此主動地進行用於防止或解決此等難題的關於安全及/或版權的研究。
已提供一些安全技術以保護前述的重要資訊。舉例而言,提供用於以軟體位準加密及儲存重要資訊的技術、用於針對實體可存取的外部記憶體及/或周邊設備使用專用加密介面的技術、用於內部設計雙重結構以防止或減小因多處理器而導致的內部記憶體的資訊擷取的可能性的技術,以及用於以匯流排位準控制對每一區域的存取的技術。
在系統單晶片中,使用單獨的CPU及內部記憶體,實施需要高安全級別的應用。然而,由於內部記憶體的容量限制,可能存在對可實施的應用的限制。
當藉由利用外部記憶體擴展應用的容量時,一些實例實施例提供安全的或相對於自外部的攻擊更安全的系統單晶片及其操作方法。
具體而言,一些實例實施例提供以硬體位準加密及解密資訊的系統單晶片及/或其操作方法。
一些實例實施例亦提供系統單晶片及其操作方法,所述系統單晶片取決於記憶體位置及時間變化而動態地改變用於加密的種子以提供改良的資料完整性。
根據一些實例實施例,包含安全元件的系統單晶片(System on Chip;SoC)的操作方法包含:回應於SoC的電力接通產生隨機數;基於隨機數產生種子表,產生種子表是基於種子表操作策略;藉由對應於種子表的目標位址的第一資料種子值遮罩第一資料;藉由種子表的第一類型第一加密密鑰加密經遮罩的第一資料;以及將首先加密的第一資料寫入至外部記憶體的目標位址。一旦SoC接通,則重置資料種子值或第一類型第一加密密鑰中的至少一者。
根據一些實例實施例,連接至外部記憶體的系統單晶片(SoC)包含安全元件電路,所述安全元件電路包含CPU及經組態以輸出目標位址及寫入命令的處理電路。處理電路經組態以:藉由對應於資料種子表的目標位址的資料種子值遮罩第一資料,自密鑰種子表擷取對應於目標位址的密鑰種子值以產生第一類型加密密鑰,藉由第一類型加密密鑰加密經遮罩的第一資料,以及將經加密的第一資料儲存在外部記憶體中。資料種子值或第一類型加密密鑰中的至少一者經組態以基於種子表操作策略而動態地改變。
根據一些實例實施例,安全元件的操作方法包含:以時間相依方式產生隨機數及設定資料種子表策略,設定種子表回應於安全元件的電力接通;根據資料種子表策略設定對應於隨機數的資料種子表;自非揮發性記憶體裝置讀取第一資料;藉由對應於外部記憶體的目標位址的資料種子值遮罩第一資料;以及將遮罩的第一資料寫入至外部記憶體的目標位址。
根據一些實例實施例,系統單晶片(SoC)包含安全元件電路,所述安全元件電路經組態以遮罩自非揮發性記憶體裝置讀取的第一資料,藉由第一類型加密密鑰首先加密第一資料,以及將第一資料傳輸至外部記憶體。外部記憶體經組態以在目標位址處儲存第一加密資料,且安全元件電路經組態以藉由對應於目標位址的資料種子值及第一類型加密密鑰遮罩第一資料。
替代地或另外,一些實例實施例提供系統單晶片及/或其操作方法,所述系統單晶片取決於記憶體位置及時間變化而動態地改變用於加密的種子,以防止或減小外部預期攻擊的可能性。
可實施一些實例實施例以遵守智慧卡的規則,例如智慧安全平台ETSI TS 103 465,尤其是103-666-1及103-666-2。替代地或另外,可實施一些實例實施例以遵守全球平台虛擬主平台的規則。
儘管諸如第一及第二的術語用以描述各種元件或組件,但理所當然此等元件或組件不受此等術語限制。舉例而言,加密密鑰可描述為第一類型、第二類型及類似者。此等術語僅用以區分單一元件或組件與其他元件或組件。因此,下文描述的第一元件或組件可為本發明的技術理念內的第二元件或組件。
下文中,將參考隨附圖式描述根據實例實施例的技術理念的實施例。
圖1為繪示根據一些實例實施例的系統單晶片的圖式。
參考圖1,系統單晶片1包含執行環境REE 10及TEE 20、主機硬體30以及安全元件(secure element;SE) 100。
舉例而言,系統單晶片(下文稱為SoC)1可實施為應用程式處理器且可包含於電子裝置1000中。SoC 1可控制電子裝置的總體操作且控制至少一個其他組件。SoC 1驅動作業系統(Operating System;OS)及應用程式,且可執行各種計算及資料處理。SoC 1可為或包含用於執行特定操作的專用處理器(例如嵌入式處理器)及/或可藉由執行儲存於記憶體裝置中的一或多個軟體程式而執行操作的通用處理器。舉例而言,SoC 1可實施為中央處理單元(CPU)、微處理器或通信處理器(Communication Processor;CP)中的至少一者。在一些實例實施例中,SoC 1可包含用於執行通用計算的區域及用於執行與處理安全相關資料相關聯的處理的區域。區域中的一者可與其他區域分離、包含於其他區域中或包含其他區域的部分。
根據一些實例實施例,包含SoC 1的電子裝置可為但不限於智慧型電話、平板PC、PC、智慧型TV、行動電話、個人數位助理(personal digital assistant;PDA)、膝上型電腦、媒體播放器、微型伺服器、全球定位系統(global positioning system;GPS)裝置、電子書終端、數位廣播終端、導航、查詢一體機、MP3播放器、數位攝影機、家用電器以及其他行動或非行動計算裝置中的至少一者。另外,電子裝置可為或包含諸如手錶、眼鏡、髮帶或具有資料處理功能的環的穿戴式裝置中的至少一者。然而,電子裝置不限於此,且可包含使用處理器基於OS操作的所有類型的裝置。
根據一些實例實施例,SoC 1可連接至非揮發性記憶體裝置(non-volatile memory device,NVM)200及外部記憶體(external memory,eMEMORY)300。SoC 1可更包含可介接非揮發性記憶體裝置200及外部記憶體300的資料傳輸及接收的主機硬體模組30。
根據一些實例實施例,SoC 1可連接或直接連接至已連接或直接連接至iSE 100以儲存安全性資料的專用記憶體(dedicated memory,SE NVM)400。專用記憶體400不可連接至主機硬體模組30。
根據一些實例實施例,SoC 1可包含富執行環境處理器(下文稱為REE)10及信任執行環境處理器(下文稱為TEE)20。根據一些實例實施例,在SoC 1中,REE 10及TEE 20可經實施以實體地隔離(例如可具有基於硬體的隔離度)。
REE 10為或包含非信任執行環境(non-trusted execution environment;NTEE)且可在富作業系統中針對應用程式執行非安全操作。舉例而言,REE 10可執行不需要或不使用安全性的通用計算,控制不與安全性相關聯的組件以及傳輸及接收並不安全且可開放的通用資料。
TEE 20在信任實行環境(亦即安全實行環境)中針對應用程式執行安全操作。舉例而言,TEE 20可執行需要或使用安全性的操作,控制安全相關組件以及傳輸及接收安全性資料。安全性資料可包含例如關於安全應用程式的資訊或與財務付款服務相關聯的資訊中的至少一者以及與嵌入式服務相關聯的資訊。關於安全應用程式的資訊可包含諸如使用者驗證資訊的生物識別資訊,然而,實例實施例不限於此。TEE 20可為或可包含具有與iSE 100相同的安全級別的安全區域,且可充當iSE 100的驅動器。
取決於TEE 20的驅動力,內部安全元件(internal Secure Element;iSE)100可安裝及/或驅動安全應用程式及/或可儲存安全性資料。iSE 100可包含硬體、軟體、介面以及協定中的至少一者,所述協定提供用於安全儲存及付款、驗證或各種其他服務的應用程式的執行。
根據一些實例實施例,iSE 100可以可插入至SoC 1的狹槽中的通用積體電路卡(universal integrated circuit card;UICC)的形式及/或以埋入於SoC 1中的形式安裝。
根據一些實例實施例,iSE 100可經由安全通道自TEE 20接收資料且將資料傳輸至TEE 20。iSE 100經由安全通道解密自TEE 20接收的經加密資訊,且可將經加密資訊儲存在iSE 100的內部記憶體(internal memory,iMemory)170、外部記憶體300或連接至iSE 100的專用外部記憶體400中的至少一者中。
內部記憶體170儲存安全性資料、藉由iSE 100執行的程式碼及/或類似者。此時,嵌入式內部記憶體170的容量可受到限制。實例實施例可在連接至SoC 1的外部記憶體300中實施安全的或相對於諸如實體攻擊的外部攻擊更安全的單獨區域,且可克服或部分地克服內部記憶體170的限制。
根據一些實例實施例,外部記憶體300可實施為諸如動態隨機存取記憶體(dynamic random access memory;DRAM)及靜態隨機存取記憶體(static random access memory;SRAM)中的至少一者的揮發性記憶體。外部記憶體300可包含對應於REE 10及TEE 20中的每一者的普通區域及安全區域。儲存於外部記憶體300的安全區域中的資料需要或應維持機密性及/或完整性。即使當外部攻擊者獲取儲存於外部記憶體300中的資料時,iSE 100可藉由以時間相依方式(下文將更詳細地描述)改變D加密密鑰或用於資料機密性的種子值而將資料完整性維持為無效資料。
根據一些實例實施例,iSE 100可包含CPU(中央處理單元,下文稱為CPU)110、內部記憶體iMemory 170以及安全硬體模組(iSE H/W)190。舉例而言,iSE 100的組態及操作將在下文圖2中進行描述。
非揮發性記憶體裝置200可包含對應於REE 10及TEE 20中的每一者的普通區域及安全區域。普通區域及安全區域可不具有任何重疊的公用區域。非揮發性記憶體裝置200的安全區域可儲存程式碼及/或資料以及反重放計數器(下文稱為ARC)。每當程式碼及/或資料經傳輸時,反重放計數器可增加計數值,從而檢驗程式碼及/或資料的完整性。非揮發性記憶體裝置200可藉由F加密密鑰加密及儲存程式碼或資料。主機硬體模組30可使用F加密密鑰加密自SoC 1傳輸至非揮發性記憶體裝置200的資料及將自SoC 200接收的資料解密至非揮發性記憶體裝置200。
專用外部記憶體400可實施為諸如快閃記憶體、相變記憶體(phase change memory;PCRAM)、電阻改變記憶體(resistance change memory;ReRAM)、鐵電記憶體(ferroelectric memory;FeRAM)以及磁阻記憶體(magnetoresistive memory;MRAM)中的至少一者的非揮發性記憶體。專用外部記憶體400可儲存例如ARC計數值、至少兩個F加密密鑰(F_key 1至F_key N)以及安全性資料Data中的至少一者。
圖2為繪示根據一些實例實施例的安全元件的特定組態的方塊圖,圖3為繪示圖2中繪示的資料區塊的特定組態的方塊圖,且圖4為繪示圖2中繪示的密鑰區塊的特定組態的方塊圖。
參考圖2,iSE 100可包含CPU 110、隨機數產生器120、資料區塊(DUD)130、加密引擎140、密鑰區塊(DUK)150以及密鑰暫存器160。作為實例,隨機數產生器120、資料區塊130、加密引擎140、密鑰區塊150以及密鑰暫存器160可包含在安全硬體模組190中。作為另一實例,隨機數產生器120、資料區塊130、加密引擎140、密鑰區塊150以及密鑰暫存器160中的至少一者可與安全硬體模組190分開實施。
iSE100的每一組件,例如,隨機數產生器120、資料區塊(DUD)130、加密引擎140、密鑰區塊(DUK)150、密鑰暫存器160以及類似者可實施為分離的處理電路,且根據一些實例實施例可實施為單一處理電路。此處,處理電路可為基於演算法的諸如程式碼的軟體類型,可實施為執行具體操作的硬體,且可以軟體及硬體的組合形式實施。
CPU 110控制iSE 100的總體操作。舉例而言,CPU 110可接收自TEE 30接收的控制命令及將控制命令解碼為iSE內部命令及目標位址,且可根據iSE內部命令控制iSE 100的組件的操作。舉例而言,CPU 110可讀取儲存於非揮發性記憶體200、外部記憶體300以及專用記憶體400中的一者的目標位址中的資料,且可執行對應於iSE內部命令的計算。
隨機數產生器120可產生隨機數。根據一些實例實施例,隨機數產生器120可取決於某些條件,例如某些預定的條件,不定期地及/或定期地產生隨機數。舉例而言,每當SoC 1的電力接通時,隨機數產生器120可分別產生隨機數。替代地或另外,例如,隨機數產生器120可在預定週期下以時間相依方式產生隨機數。替代地或另外,例如,隨機數產生器120可取決於諸如預定觸發條件的觸發條件不定期地產生隨機數。
資料區塊130及密鑰區塊140可基於隨機數及目標位址產生種子值及D加密密鑰。
參考圖2及圖3,資料區塊130可遮罩/去遮罩所傳輸及接收的資料。
如本文中使用,「遮罩」及「去遮罩」可指布爾型遮罩及布爾型去遮罩,且可包含例如諸如下文將更詳細地描述的邏輯XOR操作的操作。
根據一些實例實施例,資料區塊130基於目標位址Address及iSE內部命令(下文稱為命令)自CPU 110接收資料(經解密資料),且可將資料傳輸至外部記憶體300。資料區塊130可藉由種子值遮罩資料(經解密資料),且可將資料傳輸至外部記憶體300。
替代地或另外,根據一些實例實施例,資料區塊130可基於iSE內部命令(下文稱為命令)將資料(經加密資料)自外部記憶體300傳輸至CPU 110。資料區塊130可藉由種子值去遮罩經加密資料及將資料傳輸至CPU 110。
資料區塊130可根據設定的資料種子表操作策略產生,例如,可回應於SoC 1的通電產生對應於隨機數的資料種子表。資料種子表可包含映射至多個位址中的每一者的多個種子值。前述位址可為用於執行加密/解密的資料的位址,例如外部記憶體300的位址。根據一些實例實施例,可存在多個資料種子表操作策略,且至少一個資料種子表操作策略可根據使用者的設定及系統設定而設定。
資料區塊130可藉由參考目標位址而自所產生的資料種子表擷取種子值中的一者,且可儲存所擷取的種子值。
根據一些實例實施例,資料區塊130可包含資料種子表管理器131、資料種子表儲存單元132、資料種子饋線133以及遮罩電路135及遮罩電路137。資料種子表管理器131可設定至少一個資料種子表操作策略。作為實例,取決於使用者的設定及/或取決於系統設定,資料種子表管理器131可設定至少一個操作策略。操作策略可包含例如記憶體區塊大小、位址以及資料種子表的更新週期中的至少一者的策略。
資料種子表管理器131可基於隨機數根據操作策略產生資料種子表。在一些實例實施例中,資料種子表管理器131亦可基於操作策略改變用於外部記憶體300的整個安全區域350的表元素,可改變用於安全區域350的一部分的表元素或可藉由操作策略改變變化位置或變化週期。舉例而言,種子表操作策略可對應於表元素的可變範圍方案、可變位置方案或變化週期中的至少一者。
資料種子表儲存單元132儲存產生自資料種子表管理器131的資料種子表。資料種子表可為或可包含映射至多個位址(Address 1至Address N)中的每一者的多個資料種子值(Seed Value D1至Seed Value DN)。
當資料種子饋線133自CPU 110接收目標位址時,資料種子饋線133自儲存於資料種子表儲存單元132中的資料種子表擷取對應於目標位址(Address k)的種子值(Seed Value Dk)。
遮罩電路135及遮罩電路137可基於自資料種子饋線133擷取的種子值而遮罩及/或去遮罩資料。作為實例,遮罩電路135及遮罩電路137可藉由XOR計算產生資料及種子值作為遮罩資料,及/或執行遮罩資料及種子值的XOR計算以產生去遮罩資料。作為實例,遮罩電路135及遮罩電路137可分別在傳輸路徑及接收路徑中的每一者中實施為XOR電路。替代地,作為另一實例,遮罩電路135及遮罩電路137可實施為單一XOR電路以針對傳輸路徑及接收路徑共同執行遮罩及/或去遮罩計算。
舉例而言,遮罩電路135可執行自CPU 110接收的資料DATA以及種子值的XOR計算,且可將遮罩資料DATA輸出至加密引擎140。舉例而言,遮罩電路137執行自加密引擎140接收的遮罩資料DATA以及種子值的XOR計算,且將去遮罩資料DATA輸出至CPU 110。
加密引擎140藉由D加密密鑰加密遮罩資料(經解密資料),將經加密資料傳輸至外部記憶體300,以及藉由D加密密鑰解密自外部記憶體300接收的資料(經加密資料)且將經解密資料傳輸至資料區塊130。
根據一些實例實施例,D加密密鑰可儲存於密鑰暫存器160中。
密鑰區塊150可儲存多個D加密密鑰。密鑰區塊150可根據一些實例實施例儲存多個特定(或替代地,預定的)D加密密鑰;且可根據其他實施例儲存以時間相依方式改變的多個加密密鑰。多個D加密密鑰可為或對應於密鑰種子表。
根據設定的密鑰種子表操作策略,密鑰區塊150可產生對應於隨機數的密鑰種子表。密鑰種子表可包含映射至多個位址中的每一者的多個密鑰種子值。前述位址可為用於執行加密/解密的資料的位址,例如外部記憶體300的位址。根據一些實例實施例,可存在多個密鑰種子表操作策略,且至少一個密鑰種子表操作策略可取決於使用者的設定及/或系統設定而設定。
密鑰區塊150可藉由參考目標位址自產生的密鑰種子表擷取密鑰種子值中的一者,且可將擷取的密鑰種子值作為D加密密鑰儲存在密鑰暫存器160中。
密鑰區塊150可包含密鑰種子表管理器151、密鑰種子表儲存單元152以及密鑰種子饋線153。密鑰種子表管理器151可設定至少一個密鑰種子表操作策略。作為實例,取決於使用者的設定及/或系統設定,密鑰種子表管理器151可設定至少一個操作策略。操作策略可包含例如記憶體區塊大小、位址以及密鑰種子表的更新週期中的至少一者的策略。
在一些實例實施例中,密鑰種子表管理器151可基於操作策略改變用於外部記憶體300的整個安全區域350的表元素。替代地,密鑰種子表管理器151可改變用於安全區域350的一部分的表元素,及/或可藉由操作策略改變變化位置或改變變化週期。
舉例而言,密鑰種子表的更新週期可具有與資料種子表相同的更新週期,且作為另一實例,取決於分離條件,二者可具有彼此不同的更新週期。密鑰種子表管理器151可基於隨機數根據操作策略產生密鑰種子表。
密鑰種子表儲存單元152儲存自密鑰種子表管理器151產生的密鑰種子表。密鑰種子表可為映射至多個位址(Address 1至位址Address N)中的每一者的多個密鑰種子值(Seed Value K1至Seed Value KN)。
當密鑰種子饋線153自CPU 110接收目標位址時,密鑰種子饋線153自儲存於資料種子表儲存單元152中的資料種子表擷取對應於目標位址(Address k)的密鑰種子值(Seed Value Kk)。
密鑰暫存器160可儲存擷取的密鑰種子值(Seed Value K)作為D加密密鑰。
舉例而言,資料區塊130遮罩(一次加密)待傳輸至iSE 100外部及/或自iSE 100外部接收的資料,且加密引擎140藉由D加密密鑰加密(二次加密)遮罩資料DATA,從而進一步改良資料的機密性及完整性。然而,儘管有多種程度的加密,由於種子值或D加密密鑰可能洩漏至外部攻擊,種子值或D加密密鑰中的至少一者仍可具有以時間相依方式改變的值。
根據一些實例實施例,由於資料藉由D加密密鑰加密及/或解密且傳輸至外部記憶體300及自外部記憶體300接收,資料的機密性可能或更可能得以維持。替代地或另外,根據一些實例實施例,藉由基於特定或預定操作策略改變及使用D加密密鑰及/或資料種子值,或許有可能使得攻擊者難以預測儲存於外部記憶體300中的資料的內容,且完整性更有可能得以維持。
圖5為具體地繪示圖1中繪示的外部記憶體的圖式,且圖6為具體地繪示圖1中繪示的內部記憶體的圖式。
參考圖1及圖5,外部記憶體300可分成用於儲存不需要安全性的資料的普通區域310及用於儲存安全性資料的安全區域350。在普通區域310與安全區域350之間可存在或可不存在公用區域。
如上文所描述,例如,安全性資料可包含關於安全應用程式的資訊、與財務付款服務相關聯的資訊或與嵌入式服務相關聯的資訊中的至少一者。關於安全應用程式的資訊可包含例如諸如使用者驗證資訊的生物識別資訊。
替代地或另外,安全性資料可包含提供用於安全儲存及付款、驗證或各種其他服務的應用程式的執行所必需的軟體、程式碼及/或資料。
參考圖1及圖6,內部記憶體170為包含於iSE 100中的記憶體,且可包含ROM(唯讀記憶體,下文稱為ROM)171、RAM(隨機存取記憶體,下文稱為RAM)172以及OTP(單次可程式化記憶體,下文稱為OTP)173中的至少一者。
根據一些實例實施例,ROM 171可儲存與iSE 100的操作相關聯的設定程式碼。作為實例,設定程式碼可管理iSE 100與周邊設備10、周邊設備20、周邊設備30以及周邊設備400之間的資料存取操作或類似者。替代地或另外,ROM 171可儲存圖2至圖4中描述的用於資料種子表操作策略或密鑰種子表操作策略的設定碼。
當SoC 1通電時或在SoC 1通電後或回應於SoC 1通電,iSE 100將與儲存於ROM 171中的資料種子表操作策略相關聯的第一設定碼傳輸至資料種子表管理器131,且資料種子表管理器131基於第一設定碼設定資料種子表操作策略。當SoC 1通電時或在SoC 1通電後或回應於SoC 1通電,iSE 100將與儲存於ROM 171中的密鑰種子表操作策略相關聯的第二設定碼傳輸至密鑰種子表管理器151,且密鑰種子表管理器151基於第二設定碼設定密鑰種子表操作策略。
RAM 172可為或可包含iSE 100的操作記憶體。舉例而言,RAM 172可儲存圖2至圖4中描述的種子表132及種子表152。
根據一些實例實施例,OTP 173可包含隨機數產生器120。iSE 100可基於儲存於OTP 173中的隨機數產生器120產生隨機數,且隨機數可用於在資料區塊130中產生資料種子表及/或可用於在密鑰區塊150中產生密鑰種子表。
圖7為根據一些實例實施例的用於解釋SoC的操作方法的概念圖。
參考圖7,當SoC 1通電時或在SoC 1通電後或回應於SoC 1通電,SoC 1讀取儲存於非揮發性記憶體裝置200中的程式碼及/或資料(為方便解釋,下文稱為第一資料)。iSE 100自專用外部記憶體400讀取F加密密鑰(F_key1),且主機硬體模組30藉由F加密密鑰解密藉由非揮發性記憶體裝置200接收的第一資料,且將第一資料儲存在iSE 100的內部記憶體170中。此時,所傳輸的第一資料的ARC增加。
CPU 110處理儲存於內部記憶體170中的第一資料,且將處理中出現的第二資料儲存在快取記憶體111中。第二資料可為例如iSE 100中所要的應用程式碼及/或設定碼。
CPU 110將儲存於快取記憶體111中的第二資料傳輸至外部記憶體300的目標位址。iSE 100藉由種子值遮罩(例如布爾型遮罩)第二資料(Code 1、Code 2以及Code 3),藉由D加密密鑰(D_key1)加密第二資料,且將第二資料傳輸至外部記憶體300。外部記憶體300將第二經加密資料儲存在安全區域350中。此時,種子值或D加密密鑰中的至少一者可動態地變化。儲存於外部記憶體300中的第二資料載入至內部記憶體170中且可用於CPU 110的處理操作。
如本文中使用,種子值及/或D加密密鑰的動態變化可指種子值或加密密鑰為時間相依的,例如基於產生時間。動態地變化的種子值及/或D加密密鑰不可自先前通電事件重複及/或不可在另一通電事件中再次重複。
藉由CPU 110的處理操作產生的安全性資料可儲存於專用外部記憶體400中。
若嘗試自外部進行攻擊的攻擊者獲取且使用儲存於外部記憶體300中的資料,則由於在攻擊時使用的D加密密鑰(D_key2)不同於在儲存資料時的D加密密鑰(D_key1),基於D加密密鑰(D_key2)的第二資料(Code H)成為無效資料。
當SoC 1斷電時,或當SoC將根據例如使用者命令斷電或斷開時,iSE 100可在斷電前或作為斷電操作的部分將儲存於內部記憶體170及/或快取記憶體111中的第二資料傳輸至非揮發性記憶體200。此時,第二資料藉由以時間相依方式動態地變化的D加密密鑰及/或種子值解密且去遮罩,且隨後藉由F加密密鑰加密且可儲存於非揮發性記憶體裝置200中。
圖8及圖9為根據一些實例實施例的用於解釋SoC的操作方法的流程圖。
參考圖8及圖9,當SoC 1通電(S100)時或回應於SoC 1通電,iSE 100產生隨機數(S11),且設定資料種子表操作策略及密鑰種子表操作策略(S12,S51)。iSE 100根據設定的資料種子表操作策略基於隨機數產生資料種子表(S13);且根據設定的密鑰種子表操作策略基於隨機數產生密鑰種子表(S52)。
iSE 100讀取儲存於非揮發性記憶體裝置200中的第一資料(程式碼及/或資料)(S14,S15),且藉由F加密密鑰解密讀取的第一資料(S16,S17)。此時(S15)非揮發性記憶體裝置200不可將對應於與ARC結合的程式碼及/或資料的散列的散列值發送至iSE 100;然而,實例實施例不限於此。F加密密鑰可為儲存於iSE 100的專用外部記憶體400中的值。
iSE 100處理第一資料以產生第二資料,且使用D加密密鑰加密第二資料以將第二資料儲存在外部記憶體300中(S18)。 此時,第二資料可為或可包含資料,其中藉由種子值遮罩經解密的第一資料。在此情況下,種子值可為或可包含對應於目標位址的資料種子值,其中第一資料儲存於S13的資料種子表中。D加密密鑰可為或可包含對應於目標位址的密鑰種子值,其中第一資料儲存於S52(S53)的密鑰種子表中。藉由D加密密鑰加密的第二資料傳輸至外部記憶體300且可儲存於外部記憶體300中(S19,S20)。
根據一些實例實施例,可維持資料種子表及/或密鑰種子表直至隨機數改變,隨機數目可保持恆定,例如,自通電的時間至斷電的時間(S100至S200),且作為另一實例,隨機數可不定期地及/或定期地改變。
取決於iSE 100的操作,外部記憶體300可接收所儲存資料的讀取命令(S21)。外部記憶體300根據讀取命令讀取目標位址的第三資料(S22),且將第三資料傳輸至iSE 100(S23)。iSE 100可基於目標位址藉由D加密密鑰解密第三資料,且基於目標位址藉由種子值去遮罩第三資料(S24)。
若SoC 1斷電(S25),例如在使用者的命令下及/或根據突發斷電事件,則iSE 100讀取出現於內部記憶體170、快取記憶體111或外部記憶體300中的第四資料(S26,S27,S28)。iSE 100可藉由F加密密鑰加密讀取的第四資料(S29),將第四資料儲存在非揮發性記憶體裝置200中(S30,S31),且隨後可切斷電力。
圖10至圖14繪示根據一些實例實施例的SoC。將不提供重複解釋,且將主要描述與上述實施例的差異。
圖10為具體地繪示根據一些實例實施例的SoC的方塊圖。
參考圖10,根據一些實例實施例的iSE 100'可包含CPU 110、隨機數產生器121、種子表管理器122、資料區塊130'、密鑰區塊150'、加密引擎140以及密鑰暫存器160。
不同於圖3及圖4,在圖10的iSE 100'中,種子表管理器122可與資料區塊130'及密鑰區塊150'分別實施。在此情況下,資料區塊130'可包含資料種子表儲存單元132、資料種子饋線133以及遮罩電路135及遮罩電路137。另外,密鑰區塊150'可包含密鑰種子表儲存單元152及密鑰種子饋線153。
種子表管理器122可包含資料種子表操作策略及密鑰種子表操作策略中的每一者。種子表管理器122可基於隨機數根據資料種子表操作策略產生資料種子表,且可將資料種子表儲存在資料種子表儲存單元132中。種子表管理器122可基於隨機數根據密鑰種子表操作策略產生密鑰種子表,且將其儲存在密鑰種子表儲存單元152中。
圖11為具體地繪示根據一些實例實施例的SoC的方塊圖,且圖12為具體地繪示圖11中繪示的密鑰區塊的方塊圖。
參考圖11,根據一些實例實施例的iSE 100可包含CPU 110、隨機數產生器120、資料區塊130、密鑰區塊150、加密引擎140以及密鑰暫存器160。不同於圖2,隨機數僅可輸入至資料區塊130且可不輸入至密鑰區塊150。
參考圖12,在根據一些實例實施例的資料區塊130中,資料種子值根據隨機數的改變而改變,且資料種子值可作為經遮罩值儲存於外部記憶體300中。密鑰區塊130包含無需參考隨機數而事先定的密鑰種子表152。密鑰種子饋線153可自密鑰種子表152擷取對應於目標位址(位址k)的密鑰種子值(種子值k)且使用密鑰種子值作為加密密鑰。
圖13為具體地繪示根據一些實例實施例的SoC的方塊圖,且圖14為具體地繪示圖13中繪示的資料區塊的方塊圖。
參考圖13,根據一些實例實施例的iSE 100可包含CPU 110、隨機數產生器120、資料區塊130、密鑰區塊150、加密引擎140以及密鑰暫存器160。不同於如圖2中,隨機數可不輸入至資料區塊130且僅可輸入至密鑰區塊150。
參考圖14,根據一些實例實施例的資料區塊130自預設定及儲存的資料種子表132擷取對應於目標位址的種子值且遮罩/去遮罩資料。密鑰區塊130可自藉由參考隨機數產生的密鑰種子表152擷取對應於目標位址的密鑰種子值,且可使用密鑰種子值作為加密密鑰。
舉例而言,在圖11至圖14的實例實施例中,資料區塊及密鑰區塊中的僅一者可基於隨機數改變。當種子值及密鑰中的僅一者動態地改變時,由於種子表產生且比在圖2至圖5的實施例中更快地使用,操作速度可進一步提高。
上文所揭露的任何元件可包含及/或實施於諸如包含邏輯電路的硬體的處理電路、諸如處理器執行軟體的硬體/軟體組合或其組合中。舉例而言,更特定言之,處理電路可包含但不限於中央處理單元(CPU)、算術邏輯單元(arithmetic logic unit;ALU)、數位信號處理器、微型電腦、場可程式化閘陣列(field programmable gate array;FPGA)、系統單晶片(SoC)、可程式化邏輯單元、微處理器、特殊應用積體電路(application-specific integrated circuit;ASIC)等。
上文所描述的實例實施例中無一者必須彼此互斥。舉例而言,一些實例實施例可包含參考一或多個圖式描述的特徵,且亦可包含參考其他圖式描述的特徵。實例實施例不限於此。
雖然已參考本發明概念的實施例特定繪示及描述本發明概念,但將理解,可在不脫離以下申請專利範圍的精神及範疇的情況下對其形式及細節作出各種改變。
1:系統單晶片
10:富執行環境處理器
20:信任執行環境處理器
30:主機硬體
100、100':內部安全元件
110:中央處理單元
111:快取記憶體
120、121:隨機數產生器
122:種子表管理器
130、130':資料區塊
131:資料種子表管理器
132:資料種子表儲存單元
133:資料種子饋線
135、137:遮罩電路
140:加密引擎
150、150':密鑰區塊
151:密鑰種子表管理器
152:密鑰種子表儲存單元
153:密鑰種子饋線
160:密鑰暫存器
170:內部記憶體
171:唯讀記憶體
172:隨機存取記憶體
173:單次可程式化記憶體
190:安全硬體模組
200:非揮發性記憶體裝置
300:外部記憶體
310:普通區域
350:安全區域
400:專用記憶體
1000:電子裝置
S11、S12、S13、S14、S15、S16、S17、S18、S19、S20、S21、S22、S23、S24、S25、S26、S27、S28、S29、S30、S31、S51、S52、S53、S100、S200:操作
圖1為繪示根據一些實例實施例的系統單晶片的圖式。
圖2為繪示根據一些實例實施例的安全元件的特定組態的方塊圖。
圖3為繪示圖2中繪示的資料區塊的特定組態的方塊圖。
圖4為繪示圖2中繪示的密鑰區塊的特定組態的方塊圖。
圖5為具體地繪示圖1中繪示的外部記憶體的圖式。
圖6為具體地繪示圖1中繪示的內部記憶體的圖式。
圖7為根據一些實例實施例的用於解釋SoC的操作方法的概念圖。
圖8及圖9為根據一些實例實施例的用於解釋SoC的操作方法的流程圖。
圖10為具體地繪示根據一些實例實施例的SoC的方塊圖。
圖11為具體地繪示根據一些實例實施例的SoC的方塊圖。
圖12為具體地繪示圖11中繪示的密鑰區塊的方塊圖。
圖13為具體地繪示根據一些實例實施例的SoC的方塊圖。
圖14為具體地繪示圖13中繪示的資料區塊的方塊圖。
100:內部安全元件
110:中央處理單元
111:快取記憶體
120:隨機數產生器
130:資料區塊
140:加密引擎
150:密鑰區塊
160:密鑰暫存器
300:外部記憶體
Claims (20)
- 一種包含安全元件的系統單晶片(SoC)的操作方法,所述操作方法包括: 回應於所述系統單晶片的電力的接通而產生隨機數; 基於所述隨機數產生種子表,產生所述種子表是基於種子表操作策略; 藉由對應於所述種子表的目標位址的第一資料種子值遮罩第一資料; 藉由所述種子表的第一類型第一加密密鑰加密經遮罩的所述第一資料;以及 將首先加密的所述第一資料寫入至外部記憶體的所述目標位址, 其中所述第一資料種子值或所述第一類型第一加密密鑰中的至少一者動態地改變。
- 如請求項1所述的系統單晶片的操作方法,其中產生所述隨機數包含動態地產生所述隨機數。
- 如請求項1所述的系統單晶片的操作方法,其中所述種子表操作策略包含可變範圍方案、可變位置方案或所述種子表中包含的表元素的變化週期中的至少一者。
- 如請求項1所述的系統單晶片的操作方法,更包括: 藉由使用第一類型第二加密密鑰解密自所述外部記憶體接收的第二資料;以及 藉由對應於所述第二資料的位址值的第二資料種子值來去遮罩經解密的所述第二資料。
- 如請求項4所述的系統單晶片的操作方法,其中所述第一類型第二加密密鑰或所述第二資料種子值中的至少一者基於與所述第一類型第一加密密鑰及所述第一資料種子值兩者不同的隨機數而產生。
- 如請求項1所述的系統單晶片的操作方法,其中所述第一資料是自非揮發性記憶體裝置讀取且藉由第二類型加密密鑰解密的資料。
- 一種連接至外部記憶體的系統單晶片(SoC),所述系統單晶片包括: 安全元件電路,包含中央處理單元及經組態以輸出目標位址及寫入命令的處理電路, 其中所述處理電路經組態以, 藉由對應於資料種子表的所述目標位址的資料種子值遮罩第一資料, 自密鑰種子表擷取對應於所述目標位址的密鑰種子值以產生第一類型加密密鑰, 藉由所述第一類型加密密鑰加密經遮罩的所述第一資料,以及 將加密的所述第一資料儲存在所述外部記憶體中, 其中所述資料種子值或所述第一類型加密密鑰中的至少一者經組態以基於種子表操作策略而動態地改變。
- 如請求項7所述的系統單晶片,其中所述外部記憶體包含揮發性記憶體,所述揮發性記憶體包含經組態以儲存加密的所述第一資料的安全區域,及經組態以儲存未加密的通用資料的普通區域。
- 如請求項7所述的系統單晶片,其中所述資料種子表及所述密鑰種子表根據動態改變的隨機數而產生,以及 所述安全元件電路包含: 資料區塊電路,經組態以擷取所述資料種子值且遮罩所述第一資料; 密鑰區塊電路,經組態以擷取對應於所述目標位址的所述密鑰種子值; 密鑰暫存器,經組態以儲存所述密鑰種子值作為所述第一類型加密密鑰;以及 加密引擎電路,經組態以藉由儲存的所述第一類型加密密鑰加密經遮罩的所述第一資料且將加密的經遮罩的所述第一資料輸出至所述外部記憶體。
- 如請求項7所述的系統單晶片,其中所述資料種子表根據動態改變的隨機數而產生,且所述密鑰種子表為預定表,以及 所述安全元件電路包含: 資料區塊電路,經組態以藉由所述資料種子值遮罩所述第一資料; 密鑰區塊電路,經組態以擷取對應於所述目標位址的所述密鑰種子值; 密鑰暫存器,經組態以儲存所述密鑰種子值作為所述第一類型加密密鑰;以及 加密引擎電路,經組態以藉由儲存的所述第一類型加密密鑰加密經遮罩的所述第一資料且將加密的經遮罩的所述第一資料輸出至所述外部記憶體。
- 如請求項7所述的系統單晶片,其中所述資料種子表包含第一表,且所述密鑰種子表根據動態改變的隨機數而產生,以及 所述安全元件電路包含: 資料區塊電路,經組態以擷取對應於所述目標位址的所述資料種子值且藉由所述資料種子值遮罩所述第一資料; 密鑰區塊電路,經組態以擷取所述密鑰種子值; 密鑰暫存器,儲存所述密鑰種子值作為所述第一類型加密密鑰;以及 加密引擎電路,經組態以藉由儲存的所述第一類型加密密鑰加密經遮罩的所述第一資料且將加密的經遮罩的所述第一資料輸出至所述外部記憶體。
- 如請求項7所述的系統單晶片,其中所述種子表操作策略包含可變範圍方案、可變位置方案或所述種子表中包含的表元件的變化週期中的至少一者。
- 如請求項7所述的系統單晶片,其中所述系統單晶片經組態以將所述種子表操作策略應用於所述資料種子表或所述密鑰種子表中的至少一者。
- 如請求項7所述的系統單晶片,其中所述系統單晶片連接至專用記憶體及非揮發性記憶體中的每一者,所述非揮發性記憶體經組態以儲存至少一個第二類型加密密鑰, 所述處理電路進一步經組態以, 藉由自所述專用記憶體接收的第二類型加密密鑰加密第二資料,以及 將加密的所述第二資料寫入至所述非揮發性記憶體。
- 如請求項14所述的系統單晶片,其中所述系統單晶片經組態以回應於所述系統單晶片的電力斷開,加密儲存於所述安全元件的內部記憶體或所述外部記憶體中的所述第二資料,且將所述第二資料寫入至所述非揮發性記憶體。
- 一種安全元件電路的操作方法,所述操作方法包括: 以時間相依方式產生隨機數且設定資料種子表策略,設定所述資料種子表策略回應於所述安全元件電路的電力接通; 根據所述資料種子表策略設定對應於所述隨機數的資料種子表; 自非揮發性記憶體裝置讀取第一資料; 藉由對應於外部記憶體的目標位址的資料種子值遮罩所述第一資料;以及 將經遮罩的所述第一資料寫入至所述外部記憶體的所述目標位址。
- 如請求項16所述的安全元件電路的操作方法,其中所述資料種子表策略包含可變範圍方案、可變位置方案或所述資料種子表中包含的表元素的變化週期中的至少一者。
- 如請求項16所述的安全元件電路的操作方法,其中遮罩所述第一資料包含: 使用用於所述非揮發性記憶體裝置的第一類型加密密鑰解密讀取的所述第一資料; 自設定的所述資料種子表擷取對應於所述目標位址的所述資料種子值; 使用所述資料種子值遮罩經解密的所述第一資料;以及 使用第二類型加密密鑰加密經遮罩的所述第一資料。
- 如請求項18所述的安全元件電路的操作方法,更包括: 讀取儲存於所述外部記憶體中的第二資料; 使用所述第二類型加密密鑰解密所述第二資料;以及 藉由所述資料種子值去遮罩經解密的所述第二資料。
- 如請求項18所述的安全元件電路的操作方法,其中當所述安全元件電路的所述電力接通時,所述操作方法更包含 回應於所述電力接通,設定密鑰種子表策略; 根據所述密鑰種子表策略設定對應於所述隨機數的密鑰種子表;以及 自所述密鑰種子表擷取第二類型加密密鑰,所述第二類型加密密鑰對應於所述目標位址。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0026097 | 2021-02-26 | ||
KR1020210026097A KR20220122009A (ko) | 2021-02-26 | 2021-02-26 | 시스템 온 칩 및 그 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202234272A true TW202234272A (zh) | 2022-09-01 |
Family
ID=82799381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111105635A TW202234272A (zh) | 2021-02-26 | 2022-02-16 | 系統單晶片及其操作方法以及安全元件電路的操作方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220277088A1 (zh) |
KR (1) | KR20220122009A (zh) |
CN (1) | CN114968905A (zh) |
DE (1) | DE102021128459A1 (zh) |
TW (1) | TW202234272A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024049141A1 (ko) * | 2022-09-02 | 2024-03-07 | 삼성전자주식회사 | 암호화된 데이터를 비휘발성 메모리 내에 저장하기 위한 전자 장치 및 그 방법 |
CN118013595B (zh) * | 2024-02-01 | 2024-07-26 | 广东全芯半导体有限公司 | 一种主控芯片随机缓存保密方法及系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9111122B2 (en) * | 2007-07-02 | 2015-08-18 | Freescale Semiconductor, Inc. | Asymmetric cryptographic device with local private key generation and method therefor |
US9881161B2 (en) * | 2012-12-06 | 2018-01-30 | S-Printing Solution Co., Ltd. | System on chip to perform a secure boot, an image forming apparatus using the same, and method thereof |
KR102466412B1 (ko) * | 2016-01-14 | 2022-11-15 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
KR102419505B1 (ko) * | 2016-03-09 | 2022-07-08 | 삼성전자주식회사 | 스토리지 디바이스의 인증 방법 및 시스템 |
US20210367769A1 (en) * | 2018-08-17 | 2021-11-25 | Hewlett-Packard Development Company, L.P. | Ephemeral regions within non-volatile memory devices |
CN111010266B (zh) * | 2019-12-09 | 2023-04-07 | 广州市百果园信息技术有限公司 | 消息的加解密、读写方法、装置、计算机设备和存储介质 |
WO2022132184A1 (en) * | 2020-12-20 | 2022-06-23 | Intel Corporation | System, method and apparatus for total storage encryption |
-
2021
- 2021-02-26 KR KR1020210026097A patent/KR20220122009A/ko unknown
- 2021-11-02 DE DE102021128459.7A patent/DE102021128459A1/de active Pending
- 2021-11-03 US US17/518,013 patent/US20220277088A1/en active Pending
-
2022
- 2022-02-15 CN CN202210139559.7A patent/CN114968905A/zh active Pending
- 2022-02-16 TW TW111105635A patent/TW202234272A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
US20220277088A1 (en) | 2022-09-01 |
CN114968905A (zh) | 2022-08-30 |
DE102021128459A1 (de) | 2022-09-01 |
KR20220122009A (ko) | 2022-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI631482B (zh) | 計算記憶體中可執行指令之加密之方法及設備 | |
US10097349B2 (en) | Systems and methods for protecting symmetric encryption keys | |
TWI556106B (zh) | 具完整性檢查和防護重播攻擊之用於記憶體加密的方法及設備 | |
US9081724B2 (en) | Method and device for protecting memory content using first and second addressable storage regions and first and second encryption keys | |
TW202234272A (zh) | 系統單晶片及其操作方法以及安全元件電路的操作方法 | |
US20090282261A1 (en) | Management of a trusted cryptographic processor | |
US20070186117A1 (en) | Secure processor-based system and method | |
WO2017058433A1 (en) | Hardware enforced one-way cryptography | |
KR20080074848A (ko) | 마이크로제어기 내의 데이터 보안 처리를 위한 방법 및장치 | |
WO2013012437A1 (en) | Cryptographic information association to memory regions | |
WO2012047200A1 (en) | Scrambling an address and encrypting write data for storing in a storage device | |
EP3788536B1 (en) | Cryptographic key distribution | |
US10142303B2 (en) | Separation of software modules by controlled encryption key management | |
US11533172B2 (en) | Apparatus and method for securely managing keys | |
US11019098B2 (en) | Replay protection for memory based on key refresh | |
US10452565B2 (en) | Secure electronic device | |
US20130198528A1 (en) | Modifying a Length of an Element to Form an Encryption Key | |
JP2021190081A (ja) | 機密データを保護することが可能な電子機器 |