CN115185879A - 控制装置、数据处理的方法、存储系统、soc - Google Patents
控制装置、数据处理的方法、存储系统、soc Download PDFInfo
- Publication number
- CN115185879A CN115185879A CN202210742596.7A CN202210742596A CN115185879A CN 115185879 A CN115185879 A CN 115185879A CN 202210742596 A CN202210742596 A CN 202210742596A CN 115185879 A CN115185879 A CN 115185879A
- Authority
- CN
- China
- Prior art keywords
- memory
- encryption
- bus
- decryption
- write
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 62
- 238000003672 processing method Methods 0.000 title abstract description 11
- 238000000034 method Methods 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 5
- 230000002093 peripheral effect Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000002427 irreversible effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000005336 cracking Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000007723 transport mechanism 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本公开提供了一种控制装置,包括总线接口、存储器接口、一次性写入存储单元,以及安全单元;所述总线接口用于连接片上系统SOC的总线;所述总线接口的个数为一个或多个,至少部分所述总线接口经过所述安全单元连接所述存储器接口;所述存储器接口用于连接所述SOC的存储器:所述一次性写入存储单元中存储有加解密密钥;所述安全单元与所述一次性写入存储单元连接;所述安全单元包括:加解密模块,用于根据所述加解密密钥对经所述安全单元写入所述存储器的数据进行加密,以及对经所述安全单元从所述存储器读出的数据进行解密。本公开还提供了一种数据处理的方法、存储系统、SOC。
Description
技术领域
本公开涉及数据处理技术技术领域,特别涉及控制装置、数据处理的方法、存储系统、SOC。
背景技术
片上系统(SOC,System on Chip)中的存储器(如用于存储片上系统的启动代码、操作系统等固件程序)需配合控制装置使用,即,需要用控制装置控制对存储器的各种操作。
但是,在一些相关技术中,控制装置的安全性不高,导致存储器中的数据容易被窃取或被恶意篡改,进而造成SOC产品的可靠性降低、关键信息泄露(如启动代码、操作系统)等问题。
发明内容
本公开提供一种控制装置、数据处理的方法、存储系统、SOC。
第一方面,本公开实施例提供一种控制装置,包括总线接口、存储器接口、一次性写入存储单元,以及安全单元;
所述总线接口用于连接片上系统SOC的总线;所述总线接口的个数为一个或多个,至少部分所述总线接口经过所述安全单元连接所述存储器接口;
所述存储器接口用于连接所述SOC的存储器:
所述一次性写入存储单元中存储有加解密密钥;
所述安全单元与所述一次性写入存储单元连接;所述安全单元包括:加解密模块,用于根据所述加解密密钥对经所述安全单元写入所述存储器的数据进行加密,以及对经所述安全单元从所述存储器读出的数据进行解密。
在一个可能的实施例中,所述安全单元还包括:
访问认证模块,用于对经所述安全单元向所述存储器发送的访问请求进行访问认证。
在一个可能的实施例中,所述一次性写入存储单元中还存储有签名信息;
所述访问认证模块用于根据所述签名信息对经所述安全单元向所述存储器发送的访问请求进行签名认证。
在一个可能的实施例中,所述访问认证模块还用于根据所述访问认证的结果,确定所述访问请求在所述存储器中能访问的范围。
在一个可能的实施例中,所述安全单元还包括:
加解扰模块,用于对经所述安全单元向所述存储器发送的写入请求中的写入地址进行加扰后作为向所述存储器写入的地址,以及对经所述安全单元向所述存储器发送的读出请求的地址进行解扰后作为从所述存储器读出的地址。
在一个可能的实施例中,所述一次性写入存储单元包括:
电编程熔丝。
在一个可能的实施例中,所述一次性写入存储单元中还存储有加解密计数信息;
所述根据所述加解密密钥对经所述安全单元写入所述存储器的数据进行加密,以及对经所述安全单元从所述存储器读出的数据进行解密包括:根据所述加解密计数信息和所述加解密密钥生成当前密钥,并用所述当前密钥对经所述安全单元写入所述存储器的数据进行加密,以及对经所述安全单元从所述存储器读出的数据进行解密;
所述加解密模块还用于在每次向所述存储器写入数据前,将所述加解密计数信息中的至少一个未写入的位写为1。
在一个可能的实施例中,所述一次性写入存储单元中还存储有解密使能信息;
所述加解密模块还用于根据所述解密使能信息使能解密操作。
在一个可能的实施例中,所述总线接口包括用于与第一总线连接的第一总线接口,以及用于与第二总线连接的第二总线接口;
所述第一总线接口经过所述安全单元连接所述存储器接口;
所述第二总线接口不经所述安全单元连接所述存储器接口。
在一个可能的实施例中,本公开实施例的控制装置还包括范围限定单元;
所述第二总线接口经所述范围限定单元连接所述存储器接口;
所述范围限定单元用于限定经过其向所述存储器发送的访问请求在所述存储器中能访问的范围。
在一个可能的实施例中,所述第一总线接口为用于连接高级高性能总线AHB的AHB接口;
所述第二总线接口为用于连接高级外围总线APB的APB接口。
第二方面,本公开实施例提供一种数据处理的方法,由本公开实施例的任意一种控制装置执行,所述方法包括:
响应于所述安全单元接收到向所述存储器发送的写入请求,所述加解密模块从所述一次性写入存储单元获取所述加解密密钥,并根据所述加解密密钥对写入所述存储器的数据进行加密;
响应于所述安全单元接收到向所述存储器发送的读出请求,所述加解密模块从所述一次性写入存储单元获取所述加解密密钥,并根据所述加解密密钥对从所述存储器读出的数据进行解密。
第三方面,本公开实施例提供一种存储系统,包括本公开实施例的任意一种控制装置,以及片上系统SOC的存储器;
其中,所述SOC的存储器,与所述控制装置的所述存储器接口连接。
在一个可能的实施例中,所述存储器存储有所述SOC的固件程序和/或数据量小于预定值的数据。
第四方面,本公开实施例提供一种片上系统SOC,包括总线、存储器,以及本公开实施例的任意一种控制装置;
其中,所述控制装置的所述总线接口与所述总线连接,所述控制装置的所述存储器接口与所述存储器连接。
本公开实施例中,需要根据加解密密钥对存储器的数据进行加密、解密,从而存储器中存储的数据是加密的,安全性好;而且,加解密密钥存储在一次性写入存储单元中,故加解密密钥不可能被非法修改,这进一步提高了数据的安全性,从而提高了SOC产品的可靠性,避免关键信息泄露。
附图说明
图1为本公开实施例提供的一种控制装置的组成框图;
图2为本公开实施例提供的另一种控制装置的组成框图;
图3为本公开实施例提供的一种数据处理的方法的流程图;
图4为本公开实施例提供的一种数据处理的方法中写入数据时的逻辑过程示意图;
图5为本公开实施例提供的一种数据处理的方法中读出数据时的逻辑过程示意图;
图6为本公开实施例提供的一种数据处理的方法中使用cnt时进行加密/解密的逻辑过程示意图;
图7为本公开实施例提供的一种存储系统的组成框图;
图8为本公开实施例提供的一种SOC的组成框图。
具体实施方式
下面结合附图对本公开提供的控制装置、数据处理的方法、存储系统、SOC进行详细描述。
在下文中将参考附图更充分地描述本公开,但是所示的实施例可以以不同形式来体现,且不应当被解释为限于本公开阐述的实施例。反之,提供这些实施例的目的在于使本公开透彻和完整,并将使本领域技术人员充分理解本公开的范围。
本公开可借助本公开的理想示意图而参考平面图和/或截面图进行描述。因此,可根据制造技术和/或容限来修改示例图示。
在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
本公开所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本公开所使用的术语“和/或”包括一个或多个相关列举条目的任何和所有组合。如本公开所使用的单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。如本公开所使用的术语“包括”,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。
除非另外限定,否则本公开所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本公开明确如此限定。
本公开不限于附图中所示的实施例,而是包括基于制造工艺而形成的配置的修改。因此,附图中例示的区具有示意性属性,并且图中所示区的形状例示了元件的区的具体形状,但并不是旨在限制性的。
第一方面,本公开实施例提供一种控制装置100。
如图1、图8,本公开实施例的控制装置100用于片上系统SOC(System on Chip)500中。
本公开实施例的控制装置100适用的SOC500具体可为用于智慧连接系统中的SOC,例如用于蓝牙、无线保真(WIFI,Wireless Fidelity)等设备中的SOC。
应当理解,本公开实施例的控制装置100适用的SOC500不限于此,如控制装置100也可用于显示驱动系统等中的SOC。
SOC500中通常包括具有数据读写功能的存储器300,以及用于连接存储器300的总线(Bus)200;而本公开实施例的控制装置100可以设于总线200与存储器300之间,用于根据来自总线200的指令控制存储器300。
图1示出了本公开实施例提供的控制装置100的一种可选的实现方式。如图1所示,本公开实施例的控制装置100包括总线接口101、存储器接口103、一次性写入存储单元104,以及安全单元102。
本公开实施例中,总线接口101用于连接片上系统SOC500的总线200;总线接口101的个数为一个或多个,至少部分总线接口101经过安全单元102连接存储器接口103;
存储器接口103用于连接SOC500的存储器300:
一次性写入存储单元104中存储有加解密密钥;
安全单元102与一次性写入存储单元104连接;安全单元102包括:加解密模块1021,用于根据加解密密钥对经安全单元102写入存储器300的数据进行加密,以及对经安全单元102从存储器300读出的数据进行解密。
本公开实施例的控制装置100具有一个或多个用于连接总线200的总线接口101,以及用于连接存储器300的存储器接口103,而所有的总线接口101中有至少部分总线接口101通过安全单元102连接存储器接口103,从而使相应的总线200实际上通过安全单元102连接存储器300,由此,安全单元102可对从相应总线200发出的对存储器300的访问请求进行安全处理。
示例性的,总线接口101的个数可为一个、两个、三个、四个等;而不论总线接口101为多少个,所有的总线接口101中都有至少一个总线接口101是经过安全单元102连接存储器接口103的。例如,当总线接口101的个数为一个时,则该总线接口101必须经过安全单元102连接存储器接口103;而当总线接口101的个数为两个时,则可以是两个总线接口101均经过安全单元102连接存储器接口103,也可以是其中一个总线接口101经过安全单元102连接存储器接口103,而另一个总线接口101不经过安全单元102连接存储器接口103。
本公开实施例中,存储器300可为SOC500中使用的任何具有读写功能的存储器件,其包括但不限于闪存存储器Flash、随机存取存储器RAM、只读存储器ROM等。
控制装置100还包括一次性写入存储单元104,一次性写入存储单元104也可以称为一次写入存储单元或一次性写入存储模块等其他名称。数据只能被写入一次性写入存储单元104中一次,且写入后的数据不可被更改。该一次性写入存储单元104中可以存储有加解密密钥,该加解密密钥即原始密钥(原始Key)。原始密钥的意义后续结合具体实施方式详细描述。
在一个可能的实施例中,一次性写入存储单元104包括电编程熔丝。
电编程熔丝是指通过电子迁移特性产生的可控(可编程)的熔丝结构,而一次性写入存储单元104中可包括电编程熔丝,并利用电编程熔丝的熔断情况记录信息;以上包括电编程熔丝的一次性写入存储单元104称为“一次性可编程存储单元”,也可简写为“eFuse”。
一次性可编程存储单元(eFuse)的特点是,每位数据为0时相当于“未被写入”,而任意一位数据一旦被写入为1,则该位数据就持续为1,不可再被更改。
作为本公开实施例的一种方式,可使用eFuse作为一次性写入存储单元104。
本公开实施例中,安全单元102包括连接一次性写入存储单元104的加解密模块1021,加解密模块1021可从一次性写入存储单元104获取加解密密钥,并根据该加解密密钥对写入存储器300的数据进行加密,以及对从存储器300读出的数据进行解密,也就是保证存储器300中的数据是经过加密的。
本公开实施例中,需要根据加解密密钥对存储器300的数据进行加密、解密,从而存储器300中存储的数据是加密的,安全性好;而且,加解密密钥存储在一次性写入存储单元104中,故加解密密钥不可能被非法修改,这进一步提高了数据的安全性,从而提高了SOC500产品的可靠性,避免关键信息泄露。
本公开实施例中,“根据加解密密钥进行加密/解密”是指加密/解密过程应与加解密密钥相关,而根据加解密密钥进行加密/解密的具体方式包括使用加解密密钥进行加密/解密(即直接使用原始密钥加密/解密),也包括根据加解密密钥按照一定的算法算出实际使用的当前密钥(当前Key),并使用当前密钥进行加密/解密。
在一个可能的实施例中,一次性写入存储单元104中还存储有加解密计数信息;
根据加解密密钥对经安全单元102写入存储器300的数据进行加密,以及对经安全单元102从存储器300读出的数据进行解密包括:根据加解密计数信息和加解密密钥生成当前密钥,并用当前密钥对经安全单元102写入存储器300的数据进行加密,以及对经安全单元102从存储器300读出的数据进行解密;
加解密模块1021还用于在每次向存储器300写入数据前,将加解密计数信息中的至少一个未写入的位写为1。
图2示出了本公开实施例提供的控制装置100的另一种可选的实现方式。作为本公开实施例的一种方式,如图2,当一次性写入存储单元104采用eFuse时,eFuse中还可存储有加解密计数信息(cnt),而此时加解密模块1021实际进行加密/解密过程中实际使用的密钥,是根据加解密密钥(原始key)和当前的cnt按照一定算法计算得到的当前密钥(当前key);显然,虽然加解密密钥(原始密钥)相同,但当cnt不同时,计算得到的当前密钥是不同的,即加密/解密过程中实际使用的密钥(当前密钥)不同。
本公开实施例中,如图6,在每次向存储器300写入数据前,先将cnt中的至少一个未写入的位写为1(如将cnt中未被写入的最低的位写为1,也就是将cnt加1),从而,后续写入中使用的当前密钥是根据变化后的cnt得出的;而每次要读出(可有多次读出)数据时,则不改变cnt,而使用加接密密钥与cnt(即以上写入前变化后的cnt)计算出当前密钥,并用当前密钥对读出的数据进行解密。
而当要“再次”写入前,则应“再次”将cnt中至少一个未写入的位写为1,故再次写入和后续读出使用都的是根据再次变化的cnt得出的新“新”当前密钥。
按照以上方式,每次写入和后续的全部读出的过程基于一个唯一的密钥(当前密钥)进行,而当有新的写入时,当前密钥会变化,从而避免了密钥的重复使用,可有效防止暴力破解,进一步提高了安全性;而且,每个当前密钥都本质上是基于当前的cnt产生的,而由于eFuse中的1无法被改为0,故cnt的变化是“不可逆”的,也就是当前密钥一旦变化,就无法再“找回”之前使用的当前密钥,从而在硬件上确保了密钥的唯一性。
本公开实施例中,存储器300中存储的可以是SOC500的固件程序,固件程序包括但不限于启动代码、操作系统等用于驱动SOC500硬件工作的程序。
可见,以上方式中,cnt的变化是“不可逆”的,从而导致对存储器300的总写入次数有限(最多等于cnt的位数),为此,以上方式适用于“不经常写入”的数据,而固件程序除了版本更新时,一般不会被更改,因此存储器300适用于存储SOC500的固件程序。
应当理解,本公开实施例中,存储器300中存储的也可以是其它任何的数据,例如数据量小于预定值的数据,或者是通用性的常规数据等。
应当理解,本公开实施例中具体可用的加密算法不限于以上例子,例如,也可使用高级加密标准算法(AES,Advanced Encryption Standard)、分组对称密钥算法(SM4)等其它的加密算法。
在一个可能的实施例中,一次性写入存储单元104中还存储有解密使能信息;
加解密模块1021还用于根据解密使能信息使能解密操作。
作为本公开实施例的一种方式,参照如图2,一次性写入存储单元104中还可存储有解密使能信息(en),而加解密模块1021可比较解密使能信息和来自总线200的信息,当来自总线200的信息中包括以上解密使能信息时,才使能(或者说启动、允许)解密操作,从而进一步提高安全性。
在一个可能的实施例中,安全单元102还包括:
访问认证模块1022,用于对经安全单元102向存储器300发送的访问请求进行访问认证。
如图2,作为本公开实施例的一种方式,安全单元102中还可包括访问认证模块1022,用于对经安全单元102向存储器300发送的访问请求(如写入请求、读出请求)进行访问认证,在认证通过的情况下才允许根据该访问请求对存储器300进行操作(如写入、读出),而若认证不通过,则不允许访问请求实际操作存储器300。由此,本公开实施例进一步提高了数据的安全性。
在一个可能的实施例中,一次性写入存储单元104中还存储有签名信息;
访问认证模块1022用于根据签名信息对经安全单元102向存储器300发送的访问请求进行签名认证。
作为本公开实施例的一种方式,如图2,以上访问认证具体可以是签名认证,而且,签名认证用的信息(签名信息)也是存储在一次性写入存储单元104中的,以避免签名信息被篡改。
在一个可能的实施例中,访问认证模块1022还用于根据访问认证的结果,确定访问请求在存储器300中能访问的范围。
作为本公开实施例的一种方式,还可根据访问认证的结果,限定相应访问请求在存储器300中能访问的范围(或区域),以进一步提高数据安全性。
例如,可以是将存储器300的空间划分为“认证区”和“非认证区”,而只有在认证通过的情况下,才允许对“认证区”进行访问。
再如,如图2,也可以是针对不同的用户设置不同的认证信息(如签名信息)和对应的“子认证区”,而认证通过后根据认证信息确定访问请求对应的用户,并允许访问该用户对应的“子认证区”,但不允许访问其它用户的“子认证区”;由此,每个用户的访问请求只能访问特定的“子认证区”。
再如,也可以将访问请求和认证区“分级”,每级的访问请求认证通过后,允许访问本级和更低级的认证区,但不能访问更高级的认证区。
应当理解,本公开实施例还可包括其它与访问认证相关的操作,例如当访问认证(如针对一个用户的访问认证)发生多次错误时,可对认证区(如该用户对应的子认证区)进行锁定,不再允许对认证区进行操作(除非进行特殊的解锁操作)。
在一个可能的实施例中,安全单元102还包括:
加解扰模块1023,用于对经安全单元102向存储器300发送的写入请求中的写入地址进行加扰后作为向存储器300写入的地址,以及对经安全单元102向存储器300发送的读出请求的地址进行解扰后作为从存储器300读出的地址。
如图2,作为本公开实施例的一种方式,安全单元102中还可包括加解扰模块1023,用于对写入请求、读出请求的地址进行加扰、解扰。即,当来自总线200的写入请求要求向存储器300的某地址写入数据时,加解扰模块1023对该地址进行加扰得到加扰后的地址,并实际将数据写入存储器300的加扰后的地址;而当来自总线200的读出请求要求从存储器300的某地址读出数据时,加解扰模块1023对该地址进行解扰得到解扰后的地址(也就是之前对应的写入过程中数据实际写入的地址),并从存储器300的解扰后的地址读出数据。可见,通过设置加解扰模块1023,进一步提高了数据安全性。
在一个可能的实施例中,总线接口101包括用于与第一总线201连接的第一总线接口1011,以及用于与第二总线202连接的第二总线接口1012;
第一总线接口1011经过安全单元102连接存储器接口103;
第二总线接口1012不经安全单元102连接存储器接口103。
作为本公开实施例的一种方式,如图2,在某些特定应用场所(如要求高效率的操作的场所)中,还可能期望不经安全处理即直接对存储器300进行操作,为此,本公开实施例的控制装置100除包括经过安全单元102连接存储器接口103的总线接口101(第一总线接口1011)外,还可设有不经安全单元102而连接存储器接口103的总线接口101(第二总线接口1012)。即,本公开实施例的控制装置100可连接至少两条总线200,其中通过第二总线接口1012(第二总线202)对存储器300进行的操作不用进行加密/解密(也不用进行认证、加扰/解扰)等安全处理。
应当理解,第二总线接口1012是设于控制装置100中的,故第二总线202仍然是通过控制装置100连接存储器300的,而非直接连接存储器300。
应当理解,以上描述的第一总线接口1011、第二总线接口1012并不是限定控制装置100只能连接两条总线200,例如,第一总线接口1011、第二总线接口1012中的每一种的数量也可为多个。
在一个可能的实施例中,第一总线接口1011为用于连接高级高性能总线AHB的AHB接口;
第二总线接口1012为用于连接高级外围总线APB的APB接口。
作为本公开实施例的一种形式,第一总线接口1011可用于连接AHB(AdvancedHigh performance Bus)总线,而第二总线接口1012可用于连接APB(Advanced PeripheralBus)总线。
应当理解,以上总线200、总线接口101的具体类型只是示例性的,而不是对本公开实施例可用范围的限制。
在一个可能的实施例中,本公开实施例的控制装置100还包括范围限定单元105;
第二总线接口1012经范围限定单元105连接存储器接口103;
范围限定单元105用于限定经过其向存储器300发送的访问请求在存储器300中能访问的范围。
如图2,作为本公开实施例的一种方式,第二总线接口1012与存储器接口103之间虽然没有连接安全单元,但需要设置范围限定单元105。范围限定单元105用于限定来自第二总线接口1012(第二总线202)的访问请求在存储器300中能访问的范围,以免来自第二总线接口1012的访问请求对存储器300中经过安全处理的数据产生影响(如获取到经加密的数据,或者将经加密的数据覆盖)。
例如,可以是范围限定单元105限定来自第二总线接口1012的访问请求只能对存储器300的“常规区”进行访问,而安全单元102则限定来自第一总线接口1011的访问请求只能对存储器300的“加密区”进行访问,而“常规区”和“加密区”为存储器300中的不同区域,即经过和未经过安全处理的数据完全对应存储器300的不同区域。
第二方面,本公开实施例提供一种数据处理的方法,由本公开实施例的任意一种控制装置执行。
图3示出了本公开实施例提供的数据处理的方法的一种可选的实现方式。
如图3,本公开实施例的数据处理的方法包括:
S201、响应于安全单元接收到向存储器发送的写入请求,加解密模块从一次性写入存储单元获取加解密密钥,并根据加解密密钥对写入存储器300的数据进行加密。
S202、响应于安全单元接收到向存储器发送的读出请求,加解密模块从一次性写入存储单元获取加解密密钥,并根据加解密密钥对从存储器读出的数据进行解密。
本公开实施例的数据处理的方法由以上的控制装置执行,故当要经安全单元向存储器写入数据时,加解密模块从一次性写入存储单元获取加解密密钥,并根据加解密密钥对要写入的数据进行加密;当要经安全单元从存储器读出数据时,加解密模块则从一次性写入存储单元获取加解密密钥,并根据加解密密钥对读出的数据进行解密。
应当理解,以上方法中步骤的编号,仅表示不同情况(写入、读出)时需要分别进行的操作,而不代表相应步骤的执行顺序。
应当理解,本公开实施例的数据处理的方法的具体过程,是与控制装置100的相应设置对应的。
例如,控制装置中的一次性写入存储单元为一次性可编程存储单元(eFuse),且eFuse中存储有加解密计数信息(cnt)时,则加密、解密可采用cnt和加解密密钥计算得到的当前密钥进行,且在每次写入前还需改变cnt。
再如,如图2,控制装置包括认证模块和/或加解扰模块时,还有相应的认证和/或加解扰步骤。
再如,如图2,控制装置包括第二总线接口时,对来自第二总线接口的访问请求,应不经安全处理直接而直接处理。
图4示出了本公开实施例提供的数据处理的方法中进行数据写入时的一种可选的实现方式。如图4,当安全单元接收到来自总线的写入请求时,首先对写入请求进行认证;若认证不通过则继续等待来自总线的请求,若认证通过则判断当前的加密状态是否为使能;若加密状态为使能,则对待写入存储器的数据进行加密(根据从一次性写入存储单元获取的加解密密钥加密),若加密状态不是使能,则不加密直接进入后续步骤;对写入请求中的地址进行加扰,并根据加扰后的地址将数据(可为加密后的数据)写入存储器。
图5示出了本公开实施例提供的数据处理的方法中进行数据读出时的一种可选的实现方式。如图5,当安全单元接收到来自总线的读出请求时,首先对读出请求进行认证;若认证通过则进入后续步骤,若认证不通过则继续等待来自总线的请求;对读出请求中的地址进行解扰,并根据解扰后的地址从存储器中读出数据;判断当前的是否需要解密(也就是之前写入数据时是否加密):若需要,则对从存储器中读出的数据进行解密(根据从一次性写入存储单元获取的加解密密钥解密)后输出到总线,若不需要,则直接将从存储器中读出的数据输出到总线。
应当理解,以上描述和附图只是对本公开实施例的示例性说明,而非对其可行方式的限定。例如,以上加/解密、加/解扰、认证等操作的顺序可调整,且可仅进行其中的部分操作(如只加/解密,而不加/解扰、认证等)。
第三方面,本公开实施例提供一种存储系统400。
图7示出了本公开实施例提供的存储系统400的一种可选的实现方式。如图7,本公开实施例的存储系统400包括本公开实施例的任意一种控制装置100,以及片上系统SOC的存储器300。
本公开实施例中,SOC的存储器300,与控制装置100的存储器接口连接。
将本公开实施例的控制装置100与存储器300连接,从而形成用于SOC中的存储系统400。
在一个可能的实施例中,存储器300存储有SOC500的固件程序和/或数据量小于预定值的数据。
在一个可能的实施例中,存储器300包括以下至少一种:闪存存储器Flash、随机存取存储器RAM、只读存储器ROM。
第四方面,本公开实施例提供一种片上系统SOC500。
图8示出了本公开实施例提供的SOC500的一种可选的实现方式。如图8,本公开实施例的SOC500包括总线200、存储器300,以及本公开实施例的任意一种控制装置100。
本公开实施例中,控制装置100的总线接口与总线200连接,控制装置100的存储器接口与存储器300连接。
本公开实施例的SOC500中,在总线200与存储器300之间设置有以上的控制装置100。
本公开实施例中,SOC500具体可为用于智慧连接系统中的SOC,例如用于蓝牙、WIFI等设备中的SOC。
应当理解,本公开实施例的SOC500不限于此,如其也可为用于显示驱动系统中的SOC。
应当理解,本公开实施例的SOC500中,还可包括芯片、电源、线路板等其它结构,在此不再详细描述。
本领域普通技术人员可以理解,上文中所公开的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。
某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器(CPU)、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机可读介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机可读介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机可读介质包括但不限于随机存取存储器(RAM,更具体如SDRAM、DDR等)、只读存储器(ROM)、带电可擦可编程只读存储器(EEPROM)、闪存(FLASH)或其它磁盘存储器;只读光盘(CD-ROM)、数字多功能盘(DVD)或其它光盘存储器;磁盒、磁带、磁盘存储或其它磁存储器;可以用于存储期望的信息并且可以被计算机访问的任何其它的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其它传输机制之类的调制数据信号中的其它数据,并且可包括任何信息递送介质。
本公开已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其它实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。
Claims (15)
1.一种控制装置,其特征在于,包括总线接口、存储器接口、一次性写入存储单元,以及安全单元;
所述总线接口用于连接片上系统SOC的总线;所述总线接口的个数为一个或多个,至少部分所述总线接口经过所述安全单元连接所述存储器接口;
所述存储器接口用于连接所述SOC的存储器:
所述一次性写入存储单元中存储有加解密密钥;
所述安全单元与所述一次性写入存储单元连接;所述安全单元包括:加解密模块,用于根据所述加解密密钥对经所述安全单元写入所述存储器的数据进行加密,以及对经所述安全单元从所述存储器读出的数据进行解密。
2.根据权利要求1的控制装置,其特征在于,所述安全单元还包括:
访问认证模块,用于对经所述安全单元向所述存储器发送的访问请求进行访问认证。
3.根据权利要求2的控制装置,其特征在于,
所述一次性写入存储单元中还存储有签名信息;
所述访问认证模块用于根据所述签名信息对经所述安全单元向所述存储器发送的访问请求进行签名认证。
4.根据权利要求2的控制装置,其特征在于,
所述访问认证模块还用于根据所述访问认证的结果,确定所述访问请求在所述存储器中能访问的范围。
5.根据权利要求1的控制装置,其特征在于,所述安全单元还包括:
加解扰模块,用于对经所述安全单元向所述存储器发送的写入请求中的写入地址进行加扰后作为向所述存储器写入的地址,以及对经所述安全单元向所述存储器发送的读出请求的地址进行解扰后作为从所述存储器读出的地址。
6.根据权利要求1的控制装置,其特征在于,所述一次性写入存储单元包括:
电编程熔丝。
7.根据权利要求6的控制装置,其特征在于,所述一次性写入存储单元中还存储有加解密计数信息;
所述根据所述加解密密钥对经所述安全单元写入所述存储器的数据进行加密,以及对经所述安全单元从所述存储器读出的数据进行解密包括:根据所述加解密计数信息和所述加解密密钥生成当前密钥,并用所述当前密钥对经所述安全单元写入所述存储器的数据进行加密,以及对经所述安全单元从所述存储器读出的数据进行解密;
所述加解密模块还用于在每次向所述存储器写入数据前,将所述加解密计数信息中的至少一个未写入的位写为1。
8.根据权利要求1的控制装置,其特征在于,所述一次性写入存储单元中还存储有解密使能信息;
所述加解密模块还用于根据所述解密使能信息使能解密操作。
9.根据权利要求1的控制装置,其特征在于,所述总线接口包括用于与第一总线连接的第一总线接口,以及用于与第二总线连接的第二总线接口;
所述第一总线接口经过所述安全单元连接所述存储器接口;
所述第二总线接口不经所述安全单元连接所述存储器接口。
10.根据权利要求9的控制装置,其特征在于,还包括范围限定单元;
所述第二总线接口经所述范围限定单元连接所述存储器接口;
所述范围限定单元用于限定经过其向所述存储器发送的访问请求在所述存储器中能访问的范围。
11.根据权利要求9的控制装置,其特征在于,
所述第一总线接口为用于连接高级高性能总线AHB的AHB接口;
所述第二总线接口为用于连接高级外围总线APB的APB接口。
12.一种数据处理的方法,其特征在于,所述方法由如权利要求1至11中任意一项所述的控制装置执行,所述方法包括:
响应于所述安全单元接收到向所述存储器发送的写入请求,所述加解密模块从所述一次性写入存储单元获取所述加解密密钥,并根据所述加解密密钥对写入所述存储器的数据进行加密;
响应于所述安全单元接收到向所述存储器发送的读出请求,所述加解密模块从所述一次性写入存储单元获取所述加解密密钥,并根据所述加解密密钥对从所述存储器读出的数据进行解密。
13.一种存储系统,其特征在于,包括如权利要求1至11中任意一项所述的控制装置,以及片上系统SOC的存储器;
其中,所述SOC的存储器,与所述控制装置的所述存储器接口连接。
14.根据权利要求13的存储系统,其特征在于,
所述存储器存储有所述SOC的固件程序和/或数据量小于预定值的数据。
15.一种片上系统SOC,其特征在于,包括总线、存储器,以及如权利要求1至11中任意一项所述的控制装置;
其中,所述控制装置的所述总线接口与所述总线连接,所述控制装置的所述存储器接口与所述存储器连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210742596.7A CN115185879A (zh) | 2022-06-28 | 2022-06-28 | 控制装置、数据处理的方法、存储系统、soc |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210742596.7A CN115185879A (zh) | 2022-06-28 | 2022-06-28 | 控制装置、数据处理的方法、存储系统、soc |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115185879A true CN115185879A (zh) | 2022-10-14 |
Family
ID=83515011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210742596.7A Pending CN115185879A (zh) | 2022-06-28 | 2022-06-28 | 控制装置、数据处理的方法、存储系统、soc |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115185879A (zh) |
-
2022
- 2022-06-28 CN CN202210742596.7A patent/CN115185879A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10361850B2 (en) | Authenticator, authenticatee and authentication method | |
CN108599930B (zh) | 固件加解密系统与方法 | |
US9100187B2 (en) | Authenticator | |
JP3774260B2 (ja) | メモリカードのセキュリティシステム装置及びそのメモリカード | |
US9043610B2 (en) | Systems and methods for data security | |
EP2751732B1 (en) | Authenticator, authenticatee and authentication method | |
US8612774B2 (en) | Secure OTP using external memory | |
US20080107275A1 (en) | Method and system for encryption of information stored in an external nonvolatile memory | |
US7882355B2 (en) | Encryption/decryption methods and devices utilizing the same | |
EP3127273B1 (en) | Cryptographic chip and related methods | |
KR20090007123A (ko) | 보안 부팅 방법 및 그 방법을 사용하는 반도체 메모리시스템 | |
US20120096280A1 (en) | Secured storage device with two-stage symmetric-key algorithm | |
US20120284534A1 (en) | Memory Device and Method for Accessing the Same | |
US10387653B2 (en) | Secure provisioning of semiconductor chips in untrusted manufacturing factories | |
US9076002B2 (en) | Stored authorization status for cryptographic operations | |
US11768963B2 (en) | System and method for validating trust provisioning operation on system-on-chip | |
US20080104396A1 (en) | Authentication Method | |
CN115185879A (zh) | 控制装置、数据处理的方法、存储系统、soc | |
US20070180250A1 (en) | Apparatus and Method for Improving Security Level In Card Authentication System | |
US8095805B2 (en) | Security flash memory, data encryption device and method for accessing security flash memory | |
US10318766B2 (en) | Method for the secured recording of data, corresponding device and program | |
WO2024066533A1 (zh) | 芯片组件及其信息处理的方法、计算机可读介质 | |
US20070174543A1 (en) | High-security mask ROM and data scramble/descramble method thereof | |
CN116361207A (zh) | 保护并管理金钥的方法及装置 | |
CN118114280A (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 |