CN117009284A - 系统单芯片架构及其数据保护方法 - Google Patents
系统单芯片架构及其数据保护方法 Download PDFInfo
- Publication number
- CN117009284A CN117009284A CN202210891248.6A CN202210891248A CN117009284A CN 117009284 A CN117009284 A CN 117009284A CN 202210891248 A CN202210891248 A CN 202210891248A CN 117009284 A CN117009284 A CN 117009284A
- Authority
- CN
- China
- Prior art keywords
- encryption
- code
- decryption
- encrypted
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 19
- 230000015654 memory Effects 0.000 claims abstract description 153
- 238000010438 heat treatment Methods 0.000 claims description 2
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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
-
- 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/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/602—Providing cryptographic facilities or services
-
- 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
-
- 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
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- 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/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Storage Device Security (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明为一种系统单芯片架构,包括:一非易失性存储器;以及一系统单芯片。所述系统单芯片包括:一中央处理器、一易失性存储器、一系统总线、一即时加解密电路、一存储器接口、一计时器与一密钥库。所述中央处理器、所述易失性存储器与所述即时加解密电路连接至所述系统总线。所述存储器接口连接于所述即时加解密电路与所述非易失性存储器之间。所述即时加解密电路连接至所述密钥库,用以选择所述密钥库中的多个密钥来进行一加密动作或一解密动作。于一电源开启后,当所述计时器未被禁能时,所述计时器于一特定时间后暖重置所述中央处理器,使得所述中央处理器将所述非易失性存储器的存储格式由一初始格式改变为一工作格式。
Description
技术领域
本发明是有关于一种电路架构及其数据保护方法,且特别是有关于一种外接非易失性存储器的系统单芯片(system on a chip,简称SoC)架构及其相关数据保护方法。
背景技术
众所周知,嵌入式系统(embedded system)中通常会使用系统单芯片(system ona chip,简称SoC)用来作为嵌入式系统的控制中心(control center)。一般来说,嵌入式系统中的系统单芯片架构是由系统单芯片以及外部(external)非易失性存储器(Non-volatile memory)所构成。也就是说,在系统单芯片架构中,系统单芯片会连接至一外部非易失性存储器(Non-volatile memory),而外部非易失性存储器中存储系统单芯片所需执行的程序码(program code)。基本上,竞争者可以很轻易的窥探外部非易失性存储器中的程序码并得知系统单芯片的运行方式。
对于注重安全相关(security-related)的嵌入式系统中,会先将程序码进行加密动作成为密文(ciphertext),并存储至外部非易失性存储器。也就是说,进行加密动作之后的加密程序码(encrypted program code)可视为密文(ciphertext),而进行解密动作之后的解密程序码(decrypted program code)可视为明文(plaintext)。而由于外部非易失性存储器中存储密文,所以就算竞争者由外部非易失性存储器中窃取密文后也无法得知系统单芯片的运行方式。
请参照图1,其所绘示为现有嵌入式系统的系统单芯片架构。系统单芯片架构190包括系统单芯片100以及非易失性存储器160。系统单芯片100包括一中央处理器(CPU)110、内嵌式快闪存储器(embedded Flash,简称eFlash)120、系统总线(system bus)130、即时加解密电路(On-The-Fly Decryption,以下简称OTFDEC电路)140、存储器接口(memoryinterface)150。其中,内嵌式快闪存储器120中存储开机码(boot code)。另外,系统单芯片100经由存储器接口150连接至外部非易失性存储器160。
如图1所示,当电源开启时,系统单芯片100根据内嵌式快闪存储器120中的开机码开始进行初始化程序(initialization)。首先,中央处理器110的指令指标(instructionpointer,简称IP)指向(point to)内嵌式快闪存储器120的地址。中央处理器110经由系统总线130读取并执行内嵌式快闪存储器120中的开机码,并完成初始化程序。
当初始化程序完成后系统单芯片100即可正常运行。于嵌入式系统正常运行时,中央处理器110的指令指标(instruction pointer)指向非易失性存储器160,使得中央处理器110存取非易失性存储器160中的密文。然而,由于中央处理器110无法直接执行密文中的加密程序码(encrypted programcode)。因此,OTFDEC电路140利用密钥(Key)142来进行加密动作与解密动作。
举例来说,OTFDEC电路140经由存储器界面150读取非易失性存储器160中的密文,并利用密钥(Key)142对密文进行解密动作。转换为明文(plaintext)后,中央处理器110即可执行明文中的解密程序码。另外,当中央处理器110将数据存储至非易失性存储器160时,OTFDEC电路140先对存储数据进行加密动作,并转换为密文,经由存储器界面150存至非易失性存储器160。
由以上的说明可知,现有系统单芯片架构190中,在OTFDEC电路140、存储器接口150、非易失性存储器160之间传递的都是密文。在中央处理器110、内嵌式快闪存储器120、OTFDEC电路140之间传递的都是明文。因此,现有系统单芯片架构可以达到数据保护的目的。
再者,因为中央处理器110需要即时存取外接非易失性存储器160的数据,如果存取延迟(access latency)太长将会造成系统单芯片100的效能降低。所以OTFDEC电路140中的加解密演算法必须拥有低延迟特性。也就是说,OTFDEC电路140无法使用复杂加解密演算法。如果OTFDEC电路140使用复杂的加解密演算法,将会造成存取延迟(access latency)太长。
另外,为了防止竞争者观察明文与密文之间的关系,而破解出密钥(Key)142。所以不同的系统单芯片架构190中,每一个OTFDEC电路140所使用的密钥皆不同。并且,每一个OTFDEC电路140所使用的密钥是无法被读取的唯一密钥。
请参照图2,其所绘示为现有n个相同的嵌入式系统的示意图。n个相同的嵌入式系统有相同的系统单芯片架构。再者,每一个系统单芯片201~20n连接至对应的非易失性存储器261~26n。其中,每一个系统单芯片201~20n皆相同于图1的系统单芯片100,其内部连接关系不再赘述。
基本上,系统单芯片201~20n内部的中央处理器都是根据相同的明文来运行。亦即,系统单芯片201~20n内部的中央处理器都是根据相同解密程序码来运行。再者,由于每个系统单芯片201~20n搭配的不相同的密钥Key1~Keyn来进行加密动作与解密动作,所以完全不相同的密文ciphertext1~密文ciphertextn会存储于对应的非易失性存储器216~26n中。
举例来说,系统单芯片201根据密钥Key1对密文ciphertext1进行解密动作,并转换为明文,使得系统单芯片201中的中央处理器可执行明文中的解密程序码。再者,系统单芯片201中的中央处理器将数据存储至非易失性存储器261时,系统单芯片201根据密钥Key1将存储数据进行加密动作,并转换为密文ciphertext1,并存至非易失性存储器261。
由以上的说明可知,每个系统单芯片201~20n必须搭配对应的密钥Key1~Keyn才能正常运行。如果嵌入式系统在生产的过程中,系统单芯片201~20n连接至错误的非易失性存储器261~26n,则系统单芯片架构将无法运行。举例来说,系统单芯片201连接至存储密文ciphertext2的非易失性存储器262。明显地,系统单芯片201根据密钥Key1对密文ciphertext2进行解密动作后的内容根本不是为明文,将导致系统单芯片201无法执行解密程序码,造成系统当机(crash)而无法正常运行。
由以上的说明可知,现有嵌入式系统在生产的过程中,将密钥Key1所产生的密文ciphertext1存储至非易失性存储器261后,还必须进一步确认非易失性存储器261连接至系统单芯片201。否则,一旦系统单芯片连接至错误的非易失性存储器时,嵌入式系统仍无法运行。也就是说,在现有嵌入式系统量产的过程中,必须非常仔细的确认系统单芯片201~20n与非易失性存储器261~26n之间的连接关系,这样会让制造商在生产过程中增加额外的管理成本。
另外,现有的嵌入式系统中,皆是以系统单芯片100中内嵌式快闪存储器120作为开机区(boot area),并进行外接非易失性存储器160的加密、解密的管理。
发明内容
本发明为一种系统单芯片架构,包括:一非易失性存储器;以及一系统单芯片。所述系统单芯片连接至所述非易失性存储器。所述系统单芯片包括:一中央处理器、一易失性存储器、一系统总线、一即时加解密电路、一存储器接口、一计时器与一密钥库。所述中央处理器、所述易失性存储器与所述即时加解密电路连接至所述系统总线。所述存储器接口连接于所述即时加解密电路与所述非易失性存储器之间。所述即时加解密电路连接至所述密钥库,用以选择所述密钥库中的多个密钥来进行一加密动作或一解密动作。于一电源开启后,当所述计时器未被禁能时,所述计时器于一特定时间后暖重置所述中央处理器,使得所述中央处理器将所述非易失性存储器的存储格式由一初始格式改变为一工作格式。
本发明为一种关于上述系统单芯片架构的数据保护方法,包括下列步骤:(a)于所述电源开启后,所述即时加解密电路为一正常模式;(b)所述中央处理器执行所述非易失性存储器中的一加密开机码,其中所述加密开机码中包括一禁能指令用以所述禁能所述计时器;(c)当所述计时器被禁能时,所述中央处理器执行所述非易失性存储器中的一加密程序码,使得所述系统单芯片架构正常运行;(d)当所述计时器未被禁能时,于所述特定时间后改变所述即时加解密电路为一通透模式,并暖重置所述中央处理器;(e)于暖重置所述中央处理器后,所述中央处理器执行所述非易失性存储器中的一初始开机码,其中所述初始开机码中包括所述禁能指令用以所述禁能所述计时器;(f)当所述计时器未被禁能时,回到所述步骤(d);(g)当所述计时器被禁能时,所述中央处理器将所述非易失性存储器中的所述初始开机码复制到所述易失性存储器,并执行所述易失性存储器中的所述初始开机码;(h)所述中央处理器根据所述易失性存储器中的所述初始开机码,改变所述即时加解密电路为一双密钥模式;(i)所述中央处理器根据所述易失性存储器中的所述初始开机码,将所述非易失性存储器中的一加密数据读取至所述系统单芯片,并再次存储至所述非易失性存储器;以及,(j)执行一系统重置。
为了对本发明的上述及其他方面有更佳的了解,下文特举实施例,并配合所附图式详细说明如下:
附图说明
图1为现有嵌入式系统的系统单芯片架构;
图2为现有n个相同的嵌入式系统的示意图;
图3A为本发明的系统单芯片架构;
图3B与图3C为本发明非易失性存储器中的存储格式示意图;以及
图4为运用于本发明系统单芯片架构的数据保护方法流程图。
其中,附图标记说明如下:
100,201~20n,300:系统单芯片
110,310:中央处理器
120:内嵌式快闪存储器
130,330:系统总线
140,340:即时加解密电路
142:密钥
150,350:存储器接口
160,261~26n,380:非易失性存储器
190,390:系统单芯片架构
320:易失性存储器
360:计时器
370:密钥库
S401~S422:步骤流程
具体实施方式
请参照图3A,其所绘示为本发明的系统单芯片架构。系统单芯片架构390包括系统单芯片300以及非易失性存储器380,且系统单芯片300连接至外部非易失性存储器380。
系统单芯片300包括一中央处理器310、易失性存储器(volatile memory)320、系统总线(systembus)330、即时加解密电路(On-The-Fly Decryption,简称OTFDEC电路)340、存储器接口(memory interface)350、计时器(timer)360、密钥库(key bank)370。其中,易失性存储器320可为动态随机存取存储器(DRAM)或者静态随机存取存储器(SRAM)。
中央处理器310、易失性存储器320、OTFDEC电路340连接至系统总线330。存储器接口350连接于OTFDEC电路340与非易失性存储器380之间。再者,OTFDEC电路340连接至密钥库370,并可选择密钥库370所提供的多个密钥来进行加密动作与解密动作。其中,密钥库370中至少包括一初始密钥KeyI与一主密钥KeyM。基本上,多个相同系统单芯片架构390中的密钥库370中皆有相同的初始密钥KeyI,可由制造商所输入。再者,每个系统单芯片架构390中的主密钥KeyM都不相同,且主密钥KeyM仅能被OTFDEC电路340读取的唯一主密钥KeyM。
再者,OTFDEC电路340有多种操作模式(operation mode)。举例来说,正常模式(normal mode)、通透模式(bypass mode,旁路模式)与双密钥模式(two keys mode)。于正常模式时,OTFDEC电路340根据主密钥KeyM来进行加密动作与解密动作。于通透模式时,OTFDEC电路340不会利用密钥来进行加密动作与解密动作,OTFDEC电路340将非易失性存储器380的内容直接传递至中央处理器310。于双密钥模式时,OTFDEC电路340根据初始密钥KEYI来进行解密动作,且OTFDEC电路340根据主密钥KeyM来进行加密动作。
根据本发明的实施例,系统单芯片300中的计时器360于供应电源或者重置(reset)时,计时器360开始计时。当计时器360被禁能(disable)时,计时器360停止计时。当计时器360持续地计时到一特定时间之后,会产生一设定信号S,用以改变OTFDEC电路340的操作模式(operation mode)。另外,计时器360也会产生一暖重置(warm reset)信号RstW至中央处理器310。
请参照图3B与图3C,其所绘示为本发明非易失性存储器中的存储格式(dataformat)示意图。根据本发明的实施例,非易失性存储器390中的存储格式可区分为初始格式(initial format)以及工作格式(operation format)。
如图3B所示,非易失性存储器390中的初始格式包括:开机区存储的初始开机码,以及程序区存储的加密数据(encrypted data)。其中,初始开机码为明文,加密数据为利用初始密钥KeyI进行加密动作后的内容。基本上,系统单芯片架构390于制造完成时,非挥性存储器380中的存储格式皆为初始格式。
如图3C所示,非易失性存储器390中的工作格式包括:开机区存储的加密开机码,以及程序区存储的加密程序码。其中,加密开机码与加密程序码皆为利用主密钥KeyM进行加密动作后的内容。
根据本发明的实施例,当系统单芯片架构390第一次电源开启后,系统单芯片300会将非易失性存储器380中的存储格式由初始格式转换为工作格式。以下详细说明之。
请参照图4,其所绘示为运用于本发明系统单芯片架构的数据保护方法流程图。当电源开启时,OTFDEC电路340为正常模式(normal mode)(步骤S401)。此时,OTFDEC电路340读取密钥库270中的主密钥KeyM,并根据主密钥KeyM来进行加密动作与解密动作。
接着,在OTFDEC电路340为正常模式下,中央处理器310执行非易失性存储器380中开机区的加密开机码(步骤S403)。其中,加密开机码中包括一禁能指令(disable command)用以禁能计时器360。
当计时器360被禁能时(步骤S405),代表非易失性存储器380中的存储格式为图3C所示的工作格式(operation format),而OTFDEC电路340成功利用主密钥KeyM将非易失性存储器380中的加密开机码解密成为中央处理器310可执行的明文。而中央处理器310执行明文(亦即,解码后的开机码)的过程会禁能(disable)计时器360,并完成初始化程序(initialization)。
之后,系统单芯片架构可正常运行(步骤S407)。亦即,中央处理器310利用OTFDEC电路340的解密动作与加密动作来执行非易失性存储器380中程序区的加密程序码。
基本上,步骤S401至步骤S407为系统单芯片架构正常运行的流程。此时,非易失性存储器308中存储的内容为工作格式(operation format)。也就是说,于正常运行时,OTFDEC电路340皆是利用主密钥KeyM来进行加密动作与解密动作。
另外,当计时器360未被禁能时(步骤S405),代表OTFDEC电路340无法成功将非易失性存储器380中的内容解密成为中央处理器310可执行的明文,造成系统单芯片300当机(crash)而无法禁能计时器360。此时,非易失性存储器380的存储格式并不是工作格式(operation format),而是如图3B所示的初始格式(initial format),代表本发明的系统单芯片架构390第一次开启电源。
由于中央处理器310无法禁能计时器360,计时器360经过一特定时间后,改变OTFDEC电路340为一通透模式(bypass mode),并对中央处理器310触发一暖重置(步骤S410)。换句话说,经过一特定时间后,计时器360产生一设定信号S,将OTFDEC电路340改变为通透模式。另外,计时器360也会产生一暖重置(warm reset)信号RstW至中央处理器310,使得系统单芯片架构390被暖重置。
根据本发明实施例,于暖重置之后,中央处理器310执行非易失性存储器380中开机区的初始开机码(步骤S412)。也就是说,OTFDEC电路340于通透模式时,OTFDEC电路340不需要任何密钥进行加密动作或者解密动作。因此,在OTFDEC电路340不进行解密动作的情况下,中央处理器310直接执行非易失性存储器380中的初始开机码。
相同地,初始开机码中包括一禁能指令(disable command)用以禁能计时器360。也就是说,当系统单芯片架构390被暖重置后,计时器360再次重新计时。当计时器360被禁能时(步骤S414),代表中央处理器310成功执行初始开机码,并禁能(disable)计时器360。反之,当计时器360无法被禁能时(步骤S414),代表中央处理器310无法成功执行初始开机码,并回到步骤S410。
接着,中央处理器310继续执行非易失性存储器380中的初始开机码,并将非易失性存储器390中的初始开机码复制(copy)至易失性存储器320中,并执行易失性存储器320中的初始开机码(步骤S416)。也就是说,当初始开机码由非易失性存储器380复制到易失性存储器320后,中央处理器310的指令指标(instruction pointer)指向易失性存储器320的地址,使得中央处理器310执行易失性存储器320中的初始开机码。
接着,中央处理器310根据易失性存储器320中的初始开机码,将OTFDEC电路340改变双密钥模式(步骤S418)。亦即,OTFDEC电路340根据初始密钥KEYI来进行解密动作,且OTFDEC电路340根据主密钥KeyM来进行加密动作。
接着,中央处理器310根据易失性存储器320中的初始开机码,将非易失性存储器380中程序区的加密数据读取至系统单芯片300并再次存储至非易失性存储器380(步骤S420)。由于OTFDEC电路340为双密钥模式,所以加密数据读取至系统单芯片300时,OTFDEC电路340利用初始密钥KeyI将加密数据解密成为明文。
另外,中央处理器310将明文存储至非易失性存储器380时,OTFDEC电路340利用主密钥KeyM将明文加密成为加密开机码与加密程序码,并且覆写(overwrite)至非易失性存储器380中。因此,非易失性存储器380中的存储格式会由图3B所示的初始格式(initialformat)改变为图3C所示的工作格式(operation format)。
当上述步骤S420完成后,中央处理器310执行易失性存储器320内,初始开机码中的系统重置指令(system reset command)。因此,本发明的单芯片系统架构390进行系统重置,并再次回到步骤S401。
于系统单芯片架构390进行系统重置之后,由于非易失性存储器380中的存储格式已经改为工作格式(operation format),所以系统单芯片架构390会执行步骤S401至步骤S407,不会跳至步骤S410至步骤S422。
由以上的说明可知,本发明的系统单芯片架构390于第一次开启电源时,计时器360未被禁能,使得计时器360于一特定时间后控制中央处理器310被暖重置。之后,中央处理器310再控制所述OTFDEC电路340根据所述密钥库370中的初始密钥KeyI以及主密钥KeyM将非易失性存储器380中的存储格式由初始格式改变为工作格式。
再者,当系统单芯片架构390被系统重置或者再次开启电源之后,OTFDEC电路340会根据主密钥KeyM来进行解密动作与加密动作,而中央处理器310可成功地执行非易失性存储器380中的加密开机码并完成初始化程序,并接着执行非易失性存储器380中的加密程序码,进而让系统单芯片架构390正常运行。
由于系统单芯片架构390于出厂时非易失性存储器380中的存储格式皆为相同的初始格式,所以在系统单芯片架构390生产的过程中,不需要另外管理系统单芯片300与非易失性存储器380之间的搭配。因此,可以节省生产管理的成本。
再者,由于每个系统单芯片300中有不相同的主密钥KeyM。于第一次开启电源并将非易失性存储器380的存储格式改为工作格式之后,多个系统单芯片架构中的非易失性存储器380中将会存储不相同的密文。
另外,相较于现有的系统单芯片架构,本发明的系统单芯片架构390中并未有内嵌式快闪存储器来存储开机码,而是将开机码存储于外接非易失性存储器380的开机区。也就是说,本发明系统单芯片架构390中适用于未内建内嵌式快闪存储器的系统单芯片300。
综上所述,虽然本发明已以实施例公开如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种更动与润饰。因此,本发明的保护范围当视后附的权利要求书所界定者为准。
Claims (9)
1.一种系统单芯片架构,包括:
一非易失性存储器;以及
一系统单芯片,连接至所述非易失性存储器,所述系统单芯片包括:一中央处理器、一易失性存储器、一系统总线、一即时加解密电路、一存储器接口、一计时器与一密钥库;
其中,所述中央处理器、所述易失性存储器与所述即时加解密电路连接至所述系统总线;所述存储器接口连接于所述即时加解密电路与所述非易失性存储器之间;所述即时加解密电路连接至所述密钥库,用以选择所述密钥库中的多个密钥来进行一加密动作或一解密动作;
其中,于一电源开启后,当所述计时器未被禁能时,所述计时器于一特定时间后暖重置所述中央处理器,使得所述中央处理器将所述非易失性存储器的存储格式由一初始格式改变为一工作格式。
2.如权利要求1所述的系统单芯片架构,其中当所述中央处理器被暖重置后,所述中央处理器控制所述即时加解密电路根据一初始密钥进行所述解密动作以及一主密钥进行所述加密动作,并将所述非易失性存储器中的所述存储格式由所述初始格式改变为所述工作格式。
3.如权利要求2所述的系统单芯片架构,其中所述非易失性存储器的所述初始格式包括一初始开机码与一加密数据;所述非易失性存储器的所述工作格式包括一加密开机码与一加密程序码;所述中央处理器执行所述初始开机码,使得所述即时加解密电路根据所述初始密钥将所述加密数据解密成为一明文,且所述即时加解密电路再根据所述主密钥将所述明文加密成为所述加密开机码与所述加密程序码,并覆写至所述非易失性存储器。
4.如权利要求3所述的系统单芯片架构,其中当所述计时器被禁能时,所述即时加解密电路根据所述主密钥进行所述加密动作与所述解密动作,所述中央处理器执行所述非易失性存储器中的所述加密开机码以及所述加密程序码。
5.一种数据保护方法,用于如权利要求1所述的系统单芯片架构,所述数据保护方法包括下列步骤:
(a)于所述电源开启后,所述即时加解密电路为一正常模式;
(b)所述中央处理器执行所述非易失性存储器中的一加密开机码,其中所述加密开机码中包括一禁能指令用以所述禁能所述计时器;
(c)当所述计时器被禁能时,所述中央处理器执行所述非易失性存储器中的一加密程序码,使得所述系统单芯片架构正常运行;
(d)当所述计时器未被禁能时,于所述特定时间后改变所述即时加解密电路为一通透模式,并暖重置所述中央处理器;
(e)于暖重置所述中央处理器后,所述中央处理器执行所述非易失性存储器中的一初始开机码,其中所述初始开机码中包括所述禁能指令用以所述禁能所述计时器;
(f)当所述计时器未被禁能时,回到步骤(d);
(g)当所述计时器被禁能时,所述中央处理器将所述非易失性存储器中的所述初始开机码复制到所述易失性存储器,并执行所述易失性存储器中的所述初始开机码;
(h)所述中央处理器根据所述易失性存储器中的所述初始开机码,改变所述即时加解密电路为一双密钥模式;
(i)所述中央处理器根据所述易失性存储器中的所述初始开机码,将所述非易失性存储器中的一加密数据读取至所述系统单芯片,并再次存储至所述非易失性存储器;以及
(j)执行一系统重置。
6.如权利要求5所述的数据保护方法,其中所述即时加解密电路为所述正常模式时,所述即时加解密电路根据所述密钥库的一主密钥进行所述加密动作与所述解密动作。
7.如权利要求6所述的数据保护方法,其中所述即时加解密电路为所述通透模式时,所述即时加解密电路不进行所述加密动作与所述解密动作。
8.如权利要求7所述的数据保护方法,其中所述即时加解密电路为所述双密钥模式时,所述即时加解密电路根据所述密钥库的所述主密钥进行所述加密动作,并根据所述密钥库的一初始密钥进行所述解密动作。
9.如权利要求6所述的数据保护方法,其中,步骤(h)中,所述中央处理器执行所述初始开机码,使得所述即时加解密电路根据所述初始密钥将所述加密数据解密成为一明文,且所述即时加解密电路再根据所述主密钥将所述明文加密成为所述加密开机码与所述加密程序码,并覆写至所述非易失性存储器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111116008A TWI805341B (zh) | 2022-04-27 | 2022-04-27 | 系統單晶片架構及其資料保護方法 |
TW111116008 | 2022-04-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117009284A true CN117009284A (zh) | 2023-11-07 |
Family
ID=87802925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210891248.6A Pending CN117009284A (zh) | 2022-04-27 | 2022-07-27 | 系统单芯片架构及其数据保护方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230351055A1 (zh) |
CN (1) | CN117009284A (zh) |
TW (1) | TWI805341B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8555015B2 (en) * | 2008-10-23 | 2013-10-08 | Maxim Integrated Products, Inc. | Multi-layer content protecting microcontroller |
WO2013128273A1 (en) * | 2012-03-01 | 2013-09-06 | Ologn Technologies Ag | Systems, methods and apparatuses for the secure transmission and restricted use of media content |
WO2014052750A2 (en) * | 2012-09-27 | 2014-04-03 | Interdigital Patent Holdings, Inc. | End-to-end architecture, api framework, discovery, and access in a virtualized network |
US11431494B2 (en) * | 2018-03-15 | 2022-08-30 | Atakama LLC | Passwordless security system for data-at-rest |
-
2022
- 2022-04-27 TW TW111116008A patent/TWI805341B/zh active
- 2022-07-27 CN CN202210891248.6A patent/CN117009284A/zh active Pending
- 2022-08-31 US US17/899,653 patent/US20230351055A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
TWI805341B (zh) | 2023-06-11 |
US20230351055A1 (en) | 2023-11-02 |
TW202343289A (zh) | 2023-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11615035B2 (en) | Storage system and method for performing and authenticating write-protection thereof | |
TWI584305B (zh) | 分割成包括元資料區域之多個區域的位元組可定址非依電性讀寫主記憶體 | |
JP3881942B2 (ja) | 暗号化部を有する半導体装置 | |
US8589669B2 (en) | Data protecting method, memory controller and memory storage device | |
JP6902584B2 (ja) | ブートプログラム、情報処理装置、情報処理システム、情報処理方法、半導体装置、およびプログラム | |
US10354073B2 (en) | Information processor device verifying software and method of controlling information processor device | |
US8886963B2 (en) | Secure relocation of encrypted files | |
JP2021118370A (ja) | メモリシステム、情報処理装置、および情報処理システム | |
CN111931190B (zh) | 一种基于xip处理器系统的启动方法 | |
US20210103653A1 (en) | Memory system | |
CN112231777A (zh) | 一种单调计数器及其单调计数方法 | |
CN117009284A (zh) | 系统单芯片架构及其数据保护方法 | |
CN110908597A (zh) | 适应性锁定范围管理的方法、数据存储装置及其控制器 | |
US20230091431A1 (en) | Memory system and random number generation device | |
WO2019087309A1 (ja) | 情報処理装置、情報処理装置の制御方法及びプログラム | |
US11113399B2 (en) | Electronic apparatus and control method of electronic apparatus | |
KR20220091955A (ko) | 메모리 시스템 폐기 방법 및 그 메모리 시스템 | |
JP2000250818A (ja) | 記憶システム、記憶装置及び記憶データ保護方法 | |
CN1997961A (zh) | 用于引导计算机系统的方法和装置 | |
CN116540947B (zh) | 数据擦写的方法、装置、存储介质和单片机 | |
US11061587B2 (en) | Memory system switching between a locked and unlocked state and memory control method | |
CN114731272B (zh) | 一种安全处理装置、安全处理方法及相关设备 | |
JP4336690B2 (ja) | 外部インターフェースを有する半導体装置 | |
JP2004118937A (ja) | 不揮発性メモリおよびこれを有したデータ記憶装置 | |
CN118282630A (zh) | 避免使用不完整密钥的密钥管理装置、处理器芯片及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |