CN114969794A - SoC***及数据加密方法 - Google Patents
SoC***及数据加密方法 Download PDFInfo
- Publication number
- CN114969794A CN114969794A CN202210636886.3A CN202210636886A CN114969794A CN 114969794 A CN114969794 A CN 114969794A CN 202210636886 A CN202210636886 A CN 202210636886A CN 114969794 A CN114969794 A CN 114969794A
- Authority
- CN
- China
- Prior art keywords
- data
- bus
- ciphertext
- transmitted
- encryption engine
- 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
Images
Classifications
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- 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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Storage Device Security (AREA)
Abstract
一种SoC***及数据加密方法,SoC***包括:处理器、内存管理单元、第一总线加密引擎、总线以及存储器,其中:处理器输出待传输数据以及控制内存管理单元以及第一总线加密引擎;内存管理单元与处理器以及第一总线加密引擎连接,内存管理单元用于根据待传输数据的地址确定存储器中对应的目标存储空间,若目标存储空间允许访问,将待传输数据发送至第一总线加密引擎;第一总线加密引擎根据第一加密密钥对待传输数据进行加密,得到第一密文并发送至总线;总线将第一密文写入目标存储空间。通过设置的第一总线加密引擎对待传输数据进行加密,使得在总线上传输的是加密之后得到第一密文,从而可以提高SoC***中经总线传输的数据的安全性。
Description
技术领域
本发明实施例涉及数据加密领域,尤其涉及一种SoC***及数据加密方法。
背景技术
***级芯片(System on Chip,SoC)中,通常包括一个或多个处理器、存储器和众多的各种各样的设备,通常配置有用于数据传输的高性能的片上总线(简称为总线),以使各个部件高速度并且高效率地工作高性能的片上总线可以使得SoC具有更小的面积、更低的功耗和更高的性能,从而使产品能以更低的成本获得更优异的性能。
现有的SoC***经总线传输的数据有可能被窃取、恶意篡改或替换,导致数据泄露或数据传输错误,甚至可能导致程序信息被篡改,***被恶意启动或修改,从而数据的安全性较低。
发明内容
本发明实施例解决的技术问题是现有的SoC芯片总线中传输的数据的安全性较低。
为解决上述技术问题,本发明实施例提供一种SoC***,包括:处理器、内存管理单元、第一总线加密引擎、总线以及存储器,其中:所述处理器,用于输出待传输数据以及控制所述内存管理单元以及第一总线加密引擎;所述内存管理单元,与所述处理器以及所述第一总线加密引擎连接,所述内存管理单元用于根据所述待传输数据的地址确定所述存储器中对应的目标存储空间,若所述目标存储空间允许访问,将所述待传输数据发送至所述第一总线加密引擎;所述第一总线加密引擎,用于根据第一加密密钥对所述待传输数据进行加密,得到第一密文,并将所述第一密文发送至所述总线;所述总线,用于将所述第一密文写入所述目标存储空间。
可选的,所述第一总线加密引擎采用如下方式得到所述第一密文:根据第一真随机数、第一加密密钥以及所述待传输数据的地址得到第一明文数据;采用所述第一加密密钥对所述第一明文数据进行加密,得到第一加密数据;对所述待传输数据与所述第一加密数据进行异或运算,将异或运算结果作为所述第一密文。
可选的,所述第一总线加密引擎基于对称加密算法并采用所述第一加密密钥对所述第一明文数据进行加密,得到第一加密数据。
可选的,所述第一总线加密引擎还用于根据所述第一真随机数、第一加密密钥以及所述待传输数据的地址得到第一循环冗余校验码,将所述第一循环冗余校验码随同所述第一密文传输至所述总线。
可选的,所述第一总线加密引擎对所述第一真随机数、所述第一加密密钥以及所述待传输数据的地址进行异或运算,根据所述异或运算结果得到所述第一明文数据。
可选的,所述处理器的数目为多个,每个处理器分别对应一个第一总线加密引擎,或者多个处理器对应一个第一总线加密引擎。
可选的,所述SoC***还包括第二总线加密引擎以及***设备,其中:所述***设备与所述第二总线加密引擎连接,向所述第二总线加密引擎发送读取数据;所述第二总线加密引擎用于采用第二加密密钥对所述读取数据进行加密,得到第二密文,将所述第二密文传输至所述总线;所述第一总线加密引擎,还用于采用解密密钥对所述第二密文进行解密,得到所述读取数据,将所述读取数据传输至所述内存管理单元,所述解密密钥与所述第二加密密钥对应;所述内存管理单元,还用于将所述读取数据发送至所述处理器。
可选的,所述第二总线加密引擎采用如下方式得到所述第二密文:根据第二真随机数、第二加密密钥以及所述读取数据的地址得到第二明文数据;采用所述第二加密密钥对所述第二明文数据进行加密,得到第二加密数据;将所述待传输数据与所述第二加密数据进行异或运算,将异或运算结果作为所述第二密文。
可选的,所述第二总线加密引擎对所述第二真随机数、所述第二加密密钥以及所述读取数据的地址进行异或运算,根据异或运算结果得到所述第二明文数据。
可选的,所述第二总线加密引擎还用于根据所述第二真随机数、所述第二加密密钥以及所述读取数据的地址得到第二循环冗余校验码,将所述第二循环冗余校验码随同所述第二密文传输至所述总线。
可选的,所述总线还用于将所述存储器发送的第三密文发送至所述第一总线加密引擎;所述第一总线加密引擎还用于采用与所述第三密文的加密密钥对应的解密密钥对所述第三密文进行解密,得到解密后的数据,并将解密后的数据发送至所述内存管理单元;所述内存管理单元还用于将所述解密后的数据发送至所述处理器。
可选的,所述总线包括AMBA总线。
本发明实施例还提供一种基于上述任一种SoC***的数据加密方法,所述数据加密方法包括:输出待传输数据至所述内存管理单元;控制所述内存管理单元根据所述待传输数据的地址确定对应的目标存储空间,若所述目标存储空间允许访问,将所述待传输数据发送至所述第一总线加密引擎;控制所述第一总线加密引擎根据第一加密密钥对所述待传输数据进行加密,得到第一密文,并将所述第一密文发送至所述总线;将所述第一密文经所述总线写入所述目标存储空间。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
在本发明实施例中,SoC***包括处理器、内存管理单元、第一总线加密引擎、总线以及存储器,内存管理单元与所述处理器以及所述第一总线加密引擎连接,可以根据待传输数据的地址确定存储器中对应的目标存储空间,若目标存储空间允许访问,将待传输数据发送至第一总线加密引擎。第一总线加密引擎根据第一加密密钥对待传输数据进行加密,得到第一密文,将第一密文传输至总线,经总线写入至存储器中的目标存储空间内。通过设置的第一总线加密引擎对待传输数据进行加密,使得在总线上传输的是加密之后得到第一密文,从而可以提高SoC***中经总线传输的数据的安全性。
进一步,第一总线加密引擎通过使用CRC校验算法对第一真随机数、第一加密密钥以及所述待传输数据的地址进行CRC校验,得到第一循环冗余校验码,所得到的第一循环冗余校验码可以用于对数据的完整性进行校验,通过对总线传输数据的完整性进行验证,可以发现及抵御攻击者恶意篡改或替换总线传输的数据,确保数据传输安全。
附图说明
图1是本发明实施例中的一种SoC***的结构示意图;
图2是本发明实施例中的一种第一总线加密引擎对待传输数据的加密原理图;
图3是本发明实施例中的一种基于SoC***的数据加密方法的流程图。
附图标记说明:
10-处理器;20-内存管理单元;30-第一总线加密引擎;40-总线;51-RAM;52-ROM;60-第二总线加密引擎;70-***设备。
具体实施方式
如上所述,现有的SoC***经总线传输的数据有可能被窃取、恶意篡改或替换,导致数据泄露或数据传输错误,甚至可能导致程序信息被篡改,***被恶意启动或修改,从而数据的安全性较低。
在本发明实施例中,SoC***包括处理器、内存管理单元、第一总线加密引擎、总线以及存储器,内存管理单元与所述处理器以及所述第一总线加密引擎连接,可以根据待传输数据的地址确定存储器中对应的目标存储空间,若目标存储空间允许访问,将待传输数据发送至第一总线加密引擎。第一总线加密引擎根据第一加密密钥对待传输数据进行加密,得到第一密文,将第一密文传输至总线,经总线写入至存储器中的目标存储空间内。通过设置的第一总线加密引擎对待传输数据进行加密,使得在总线上传输的均是加密之后得到第一密文,从而可以提高SoC***中经总线传输的数据的安全性。
为使本发明实施例的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
本发明实施例提供一种SoC***,SoC***可以包括处理器、内存管理单元、第一总线加密引擎、总线以及存储器。参照图1,给出了本发明实施例中的一种SoC***的结构示意图,下面结合图1,对SoC***的结构进行说明。
处理器10可以输出待传输数据至内存管理单元(Memory Management Unit,MMU)20。处理器10可以控制内存管理单元20以及第一总线加密引擎(Scramble Bus Engine,SBE)30。
处理器10可以包括中央处理器(Central Processing Unit,CPU),也可以包括图形处理器(Graphics Processing Unit,GPU)等处理器。
内存管理单元20与处理器10以及第一总线加密引擎30连接。内存管理单元20接收处理器10发送的待传输数据。内存管理单元20可以根据待传输数据的地址确定存储器中对应的目标存储空间。存储器可以包括一个或多个存储空间,不同的存储空间可以配置有对应的地址。待传输数据中可以包括待传输数据的地址,地址用于指示待传输数据的去向哪个存储空间。
内存管理单元20根据待传输数据的地址确定目标储存空间之后,可以根据目标存储空间的安全属性,确定目标存储空间是否允许访问。若目标存储空间允许访问,则将待传输数据发送至第一总线加密引擎30。相应地,若目标存储空间不允许访问,则拦截待传输数据。
需要说明的是,本发明实施例中的存储器指SoC***中的具有存储功能的存储器件的总称,存储器中的存储空间指具体的存储器件,如随机存取存储器(Random AccessMemory,RAM)51,也可以为只读存储器(Read-Only Memory,ROM)52等。RAM51的数目可以为一个,也可以为多个,多个RAM51时,各RAM51的地址可以不同。ROM的数目可以为一个,也可以为多个,多个ROM52的地址可以不同。
第一总线加密引擎30可以根据第一加密密钥对所述待传输数据进行加密,得到第一密文,并将所述第一密文发送至所述总线40。
所述总线40将所述第一密文写入所述目标存储空间。具体而言,可以基于第一密文的地址写入目标存储空间。
由上可知,SoC***包括处理器、内存管理单元、第一总线加密引擎、总线以及存储器,内存管理单元与所述处理器以及所述第一总线加密引擎连接,可以根据待传输数据的地址确定存储器中对应的目标存储空间,若目标存储空间允许访问,将待传输数据发送至第一总线加密引擎。第一总线加密引擎根据第一加密密钥对待传输数据进行加密,得到第一密文,将第一密文传输至总线,经总线写入至存储器中的目标存储空间内。通过设置的第一总线加密引擎对待传输数据进行加密,使得在总线上传输的均是加密之后得到第一密文,从而可以提高SoC***中经总线传输的数据的安全性。
在具体实施中,参照图2,给出了本发明实施例中的一种第一总线加密引擎对待传输数据的加密原理图。结合图2,第一总线加密引擎30采用如下方式得到所述第一密文。根据第一真随机数(Trng)、第一加密密钥(Key)以及所述待传输数据的地址(Address)得到第一明文数据;采用所述第一加密密钥对所述第一明文数据进行加密,得到第一加密数据;对所述待传输数据与所述第一加密数据进行异或运算,将异或运算结果作为所述第一密文。
在一些实施例中,第一总线加密引擎30可以对所述第一真随机数、所述第一加密密钥以及所述待传输数据的地址进行异或运算,根据所述异或运算结果得到所述第一明文数据。
在另一些实施例中,第一总线加密引擎30可以对第一真随机数、所述第一加密密钥以及所述待传输数据的地址进行移位运算,根据移位运算后的结果得到第一明文数据。
所述第一总线加密引擎30基于对称加密算法并采用所述第一加密密钥对所述第一明文数据进行加密,得到第一加密数据。其中,对称加密算法可以包括AES、SM4算法等。
在具体实施中,继续参照图2,所述第一总线加密引擎30还可以根据所述第一真随机数、第一加密密钥以及所述待传输数据的地址得到第一循环冗余校验码,将所述第一循环冗余校验码随同所述第一密文传输至所述总线40。
第一总线加密引擎30通过使用CRC校验算法对第一真随机数、第一加密密钥以及所述待传输数据的地址进行CRC校验,得到第一循环冗余校验码,通过CRC校验可以对总线40传输数据的完整性进行校验,以验证总线40传输数据的完整性,抵御攻击者恶意篡改或替换总线40传输的数据,确保数据传输安全。
在一些实施中,处理器10的数目可以为一个,也可以为多个。当处理器10的数目为多个时,每个处理器10可以对应一个第一总线加密引擎30,也即每个处理器10分别采用各自对应的第一总线加密引擎30对待传输数据进行加密。当处理器10的数目为多个时,多个处理器10可以对应一个第一总线加密引擎30,也即多个处理器10均采用所对应的同一个第一总线加密引擎30对待传输数据进行加密。
在另一些实施例中,当第一总线加密引擎30的数目为多个时,第一总线加密引擎30可以与指定地址的存储空间对应。
第一加密密钥可以存储于第一总线加密引擎30中。当第一总线加密引擎30的数目为多个时,每个第一总线加密引擎30加密时采用的第一加密密钥可以相同,也可以不同。
在一些实施例中,当第一总线加密引擎30的数目为多个,各个第一总线加密引擎30分别存储有对应的第一加密密钥,并建立各个第一总线加密引擎30与自身存储的第一加密密钥之间的关联,以便于解密时获知对应的解密密钥。
在另一些实施例中,第一总线加密引擎30可以存储由多个不同的第一加密密钥,各个第一加密密钥可以与地址关联,根据待传输数据的地址选择对应的第一加密密钥。不同地址可以采用不同的第一加密密钥,也可以采用相同的第一加密密钥。后续解密时根据解密数据的地址获取对应的解密密钥,解密密钥与第一加密密钥相对应。
在具体实施中,待传输数据可以为待写入存储器的数据,待传输数据可以包括地址及待写数据,此时,处理器10向存储器写入数据。待传输数据也可以为地址信息,此时,处理器10从存储器读取数据。其中,地址信息用于指示待传输数据的传输地址。
在具体实施中,存储器还可以向总线40发送第三密文。将第三密文发送至第一总线加密引擎30。第一总线加密引擎30对采用解密密钥对第三密文进行解密,得到解密后的数据,将解密后的数据发送至内存管理单元20。内存管理单元20将解密后的发送至处理器10。第一总线加密引擎30对第三密文解密采用的解密密钥与第三密文的加密密钥相对应。所述第三密文可以与第一密文相同,与可以不同。
在具体实施中,SoC***还可以包括第二总线加密引擎60以及***设备70。所述***设备70与所述第二总线加密引擎60连接,向所述第二总线加密引擎60发送读取数据;所述第二总线加密引擎60采用第二加密密钥对所述读取数据进行加密,得到第二密文,将所述第二密文传输至所述总线40;所述第一总线加密引擎30采用解密密钥对所述第二密文进行解密,得到所述读取数据,将所述读取数据传输至所述内存管理单元20,所述解密密钥与所述第二加密密钥对应;所述内存管理单元20将所述读取数据发送至所述处理器10。
在一些非限制性实施例中,所述第二总线加密引擎60采用如下方式得到所述第二密文:根据第二真随机数、第二加密密钥以及所述读取数据的地址得到第二明文数据;采用所述第二加密密钥对所述第二明文数据进行加密,得到第二加密数据;将所述待传输数据与所述第二加密数据进行异或运算,将异或运算结果作为所述第二密文。
在一些实施例中,所述第二总线加密引擎60对所述第二真随机数、所述第二加密密钥以及所述读取数据的地址进行异或运算,根据异或运算结果得到所述第二明文数据。
在另一些实施例中,第二总线加密引擎60还可以对第二真随机数、所述第二加密密钥以及所述读取数据的地址进行移位运算,根据移位运算结果得到第二明文数据。
进一步,所述第二总线加密引擎60还用于根据所述第二真随机数、所述第二加密密钥以及所述读取数据的地址得到第二循环冗余校验码,将所述第二循环冗余校验码随同所述第二密文传输至所述总线40。所述第二总线加密引擎60通过采用CRC校验算法对第二真随机数、所述第二加密密钥以及所述读取数据的地址进行CRC校验,得到第二循环冗余校验码,所得到的第二循环冗余校验码可以用于对数据的完整性进行校验,通过对总线传输数据的完整性进行验证,可以发现及抵御攻击者恶意篡改或替换总线传输的数据,确保数据传输安全。
在具体实施中,第二加密密钥与第一加密密钥可以相同,也可以不同,具体根据具体应用场景进行配置即可。
所述总线40包括高级微控制器总线架构(Advanced Microcontroller BusArchitecture,AMBA)总线。
本发明实施例还提供一种基于上述任一实施例提供的SoC***的数据加密方法,数据加密方法可以由处理器执行,也可以由包括处理器的终端、控制芯片、处理芯片、基带芯片等芯片或者其他各种恰当的元器件等。
参照图3,给出了本发明实施例中的一种数据加密方法的流程图,具体可以包括如下步骤:
步骤S31,输出待传输数据至所述内存管理单元;
步骤S32,控制所述内存管理单元根据所述待传输数据的地址确定对应的目标存储器空间,若所述目标存储器空间允许访问,将所述待传输数据发送至所述第一总线加密引擎;
步骤S33,控制所述第一总线加密引擎根据第一加密密钥对所述待传输数据进行加密,得到第一密文,并将所述第一密文发送至所述总线;
步骤S34,将所述第一密文经所述总线写入所述目标存储器空间,所述目标存储器来自于所述存储器。
在具体实施中,关于数据加密方法的具体工作原理及工作流程,可以参见上述任一实施例提供的SoC中的具体描述,此处不再赘述。
具体地,在本发明实施例中,所述处理器可以为中央处理单元(centralprocessing unit,简称CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,简称DSP)、专用集成电路(application specificintegrated circuit,简称ASIC)、现场可编程门阵列(field programmable gate array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,简称ROM)、可编程只读存储器(programmable ROM,简称PROM)、可擦除可编程只读存储器(erasable PROM,简称EPROM)、电可擦除可编程只读存储器(electricallyEPROM,简称EEPROM)或闪存。易失性存储器可以是随机存取存储器(random accessmemory,简称RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,简称RAM)可用,例如静态随机存取存储器(staticRAM,简称SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronousDRAM,简称SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,简称DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,简称ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,简称SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,简称DR RAM)。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机程序可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和***,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的;例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,表示前后关联对象是一种“或”的关系。
本申请实施例中出现的“多个”是指两个或两个以上。
本申请实施例中出现的第一、第二、第三等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本申请实施例中对设备个数的特别限定,不能构成对本申请实施例的任何限制。
需要指出的是,本实施例中各个步骤的序号并不代表对各个步骤的执行顺序的限定。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (13)
1.一种SoC***,其特征在于,包括:处理器、内存管理单元、第一总线加密引擎、总线以及存储器,其中:
所述处理器,用于输出待传输数据以及控制所述内存管理单元以及第一总线加密引擎;
所述内存管理单元,与所述处理器以及所述第一总线加密引擎连接,所述内存管理单元用于根据所述待传输数据的地址确定所述存储器中对应的目标存储空间,若所述目标存储空间允许访问,将所述待传输数据发送至所述第一总线加密引擎;
所述第一总线加密引擎,用于根据第一加密密钥对所述待传输数据进行加密,得到第一密文,并将所述第一密文发送至所述总线;
所述总线,用于将所述第一密文写入所述目标存储空间。
2.如权利要求1所述的SoC***,其特征在于,所述第一总线加密引擎采用如下方式得到所述第一密文:
根据第一真随机数、第一加密密钥以及所述待传输数据的地址得到第一明文数据;
采用所述第一加密密钥对所述第一明文数据进行加密,得到第一加密数据;对所述待传输数据与所述第一加密数据进行异或运算,将异或运算结果作为所述第一密文。
3.如权利要求2所述的SoC***,其特征在于,所述第一总线加密引擎基于对称加密算法并采用所述第一加密密钥对所述第一明文数据进行加密,得到第一加密数据。
4.如权利要求2所述的SoC***,其特征在于,所述第一总线加密引擎还用于根据所述第一真随机数、第一加密密钥以及所述待传输数据的地址得到第一循环冗余校验码,将所述第一循环冗余校验码随同所述第一密文传输至所述总线。
5.如权利要求2所述的SoC***,其特征在于,所述第一总线加密引擎对所述第一真随机数、所述第一加密密钥以及所述待传输数据的地址进行异或运算,根据所述异或运算结果得到所述第一明文数据。
6.如权利要求2所述的SoC***,其特征在于,所述处理器的数目为多个,每个处理器分别对应一个第一总线加密引擎,或者多个处理器对应一个第一总线加密引擎。
7.如权利要求1所述的SoC***,其特征在于,还包括第二总线加密引擎以及***设备,其中:
所述***设备与所述第二总线加密引擎连接,向所述第二总线加密引擎发送读取数据;
所述第二总线加密引擎用于采用第二加密密钥对所述读取数据进行加密,得到第二密文,将所述第二密文传输至所述总线;
所述第一总线加密引擎,还用于采用解密密钥对所述第二密文进行解密,得到所述读取数据,将所述读取数据传输至所述内存管理单元,所述解密密钥与所述第二加密密钥对应;
所述内存管理单元,还用于将所述读取数据发送至所述处理器。
8.如权利要求7所述的SoC***,其特征在于,所述第二总线加密引擎采用如下方式得到所述第二密文:
根据第二真随机数、第二加密密钥以及所述读取数据的地址得到第二明文数据;
采用所述第二加密密钥对所述第二明文数据进行加密,得到第二加密数据;
将所述待传输数据与所述第二加密数据进行异或运算,将异或运算结果作为所述第二密文。
9.如权利要求8所述的SoC***,其特征在于,所述第二总线加密引擎对所述第二真随机数、所述第二加密密钥以及所述读取数据的地址进行异或运算,根据异或运算结果得到所述第二明文数据。
10.如权利要求8所述的SoC***,其特征在于,所述第二总线加密引擎还用于根据所述第二真随机数、所述第二加密密钥以及所述读取数据的地址得到第二循环冗余校验码,将所述第二循环冗余校验码随同所述第二密文传输至所述总线。
11.如权利要求1所述的SoC***,其特征在于,
所述总线还用于将所述存储器发送的第三密文发送至所述第一总线加密引擎;
所述第一总线加密引擎还用于采用与所述第三密文的加密密钥对应的解密密钥对所述第三密文进行解密,得到解密后的数据,并将解密后的数据发送至所述内存管理单元;
所述内存管理单元还用于将所述解密后的数据发送至所述处理器。
12.如权利要求1所述的SoC***,其特征在于,所述总线包括AMBA总线。
13.一种基于如权利要求1至12任一项所述的SoC***的数据加密方法,其特征在于,所述数据加密方法包括:
输出待传输数据至所述内存管理单元;
控制所述内存管理单元根据所述待传输数据的地址确定对应的目标存储空间,若所述目标存储空间允许访问,将所述待传输数据发送至所述第一总线加密引擎;
控制所述第一总线加密引擎根据第一加密密钥对所述待传输数据进行加密,得到第一密文,并将所述第一密文发送至所述总线;
将所述第一密文经所述总线写入所述目标存储空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210636886.3A CN114969794A (zh) | 2022-06-07 | 2022-06-07 | SoC***及数据加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210636886.3A CN114969794A (zh) | 2022-06-07 | 2022-06-07 | SoC***及数据加密方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114969794A true CN114969794A (zh) | 2022-08-30 |
Family
ID=82958800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210636886.3A Pending CN114969794A (zh) | 2022-06-07 | 2022-06-07 | SoC***及数据加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114969794A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024094137A1 (zh) * | 2022-11-03 | 2024-05-10 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据传输方法、装置、***及电子设备和存储介质 |
-
2022
- 2022-06-07 CN CN202210636886.3A patent/CN114969794A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024094137A1 (zh) * | 2022-11-03 | 2024-05-10 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据传输方法、装置、***及电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11088846B2 (en) | Key rotating trees with split counters for efficient hardware replay protection | |
CN108475237B (zh) | 存储器操作加密 | |
US8843767B2 (en) | Secure memory transaction unit | |
US9537656B2 (en) | Systems and methods for managing cryptographic keys in a secure microcontroller | |
EP3274850B1 (en) | Protecting a memory | |
US9418027B2 (en) | Secure boot information with validation control data specifying a validation technique | |
CN108345806B (zh) | 一种硬件加密卡和加密方法 | |
US10261854B2 (en) | Memory integrity violation analysis method and apparatus | |
EP3721367A1 (en) | Storage apparatus and method for address scrambling | |
CN112887077B (zh) | 一种ssd主控芯片随机缓存保密方法和电路 | |
CN209803788U (zh) | 一种pcie可信密码卡 | |
EP2990953B1 (en) | Periodic memory refresh in a secure computing system | |
US9602281B2 (en) | Parallelizable cipher construction | |
CN112088376A (zh) | 一种文件存储方法、装置及存储介质 | |
CN114969794A (zh) | SoC***及数据加密方法 | |
US9946662B2 (en) | Double-mix Feistel network for key generation or encryption | |
US11886624B2 (en) | Crypto device, integrated circuit and computing device having the same, and writing method thereof | |
CN114579337A (zh) | 用于在用户设备中生成核心转储的方法和*** | |
CN109583196B (zh) | 一种密钥生成方法 | |
KR20170138412A (ko) | 장치의 시스템 온 칩의 보안 모듈로의 복수의 액세스를 관리하기 위한 디바이스 | |
CN114978714B (zh) | 基于risc-v的轻量级数据总线加密安全传输方法 | |
US11244066B2 (en) | System on chip | |
US20230208821A1 (en) | Method and device for protecting and managing keys | |
CN115906116A (zh) | 数据加密方法、数据解密方法及装置、存储介质、终端 | |
CN114996735A (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 |