CN107861892B - 一种实现数据处理的方法及终端 - Google Patents
一种实现数据处理的方法及终端 Download PDFInfo
- Publication number
- CN107861892B CN107861892B CN201710881680.6A CN201710881680A CN107861892B CN 107861892 B CN107861892 B CN 107861892B CN 201710881680 A CN201710881680 A CN 201710881680A CN 107861892 B CN107861892 B CN 107861892B
- Authority
- CN
- China
- Prior art keywords
- data
- encrypted
- key
- decrypted
- unit
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- 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/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1064—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1056—Simplification
Abstract
一种实现数据处理的方法及装置,包括:将写入高速缓存(Cache)的数据以字节为单位进行拆分,获得一个或一个以上待加密单位数据;按照预设的加密算法对拆分获得的各待加密单位数据分别进行加密,以获得加密数据。本发明实施例降低了对写入Cache进行加密处理的复杂度,减少了进行安全性保护的时间代价。
Description
技术领域
本文涉及但不限于嵌入式技术,尤指一种实现数据处理的方法及终端。
背景技术
随着嵌入式系统的发展,嵌入式处理器的主频不断提高,而由于工艺发展的局限,存储器(Memory)读出速度相对较慢。目前在国内典型55纳米工艺线上,闪存(Flash)读出速度能达到20纳秒(ns)就已经非常快了。这就导致出现了慢速系统存储器不能匹配高速中央处理器(CPU)处理能力的情况。为解决这一问题,许多高性能的嵌入式处理器内部集成了高速缓存(Cache)。
参照相关技术,一般芯片都会对Memory进行安全防护,但当数据从Memory进入到Cache后,Cache中的数据就失去了防护措施,容易被非法攻击窃取,造成信息泄露。所以,Cache中信息的安全性和完整性也至关重要;其中,数据的安全性是指数据对未授权个体、实体或者流程不可用或者不被泄露的属性。数据的完整性是指数据不受未经许可的方法变更或破坏的属性。图1为相关技术对Cache进行防护处理的示意图,如图1所示,数据进出Cache时,会通过预先设置的加解密算法、完全性算法及密钥进行逻辑加密;保证了数据的安全及完整。目前,对Cache中的数据进行加密和完整性保护的技术往往都需要进行较为复杂的运算(例如高级加密标准(AES)算法),造成了系统的时间和空间效率的损失。损失的时间及空间效率影响到了Cache的设计。
对大多数微控制单元(MCU)芯片而言,系统的频率在逐渐提高,主流芯片基本已经在200兆赫兹(MHz)左右;因此,每个周期的时间只有5ns左右,时序非常紧张。为尽可能的减小加密和完整性保护的时间代价,Cache每次取出的数据往往都会大于CPU所需;也因为这个原因,大部分Cache都是集成在处理器内部。而Cache与处理器紧密结合的方式使其成为CPU的“专属部件”;如果处理器更换,就需要重新设计Cache,影响Cache的可移植性。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例提供一种实现数据处理的方法及终端,能够减少进行安全性和完整性保护的时间代价。
本发明实施例提供了一种实现数据处理的方法,包括:
将写入高速缓存Cache的数据以字节为单位进行拆分,获得一个或一个以上待加密单位数据;
按照预设的加密算法对拆分获得的各待加密单位数据分别进行加密,以获得加密数据。
可选的,所述对拆分获得的各待加密单位数据分别进行加密包括:
通过预先存储的密钥key、所述待加密单位数据自身、和/或所述待加密单位数据的写入地址进行异或运算,分别对各所述待加密单位数据进行加密。
可选的,所述对拆分获得的各待加密单位数据分别进行加密包括:
将每一个所述待加密单位数据,等分为大小为4比特的数据第一部分和数据第二部分;
将预先存储的密钥等分为大小为4比特的一个或一个以上密钥子部分,并将等分获得的密钥子部分拆分至密钥子部分个数相等的密钥第一组和密钥第二组;
将各所述待加密单位数据的写入地址分别等分为地址第一部分和地址第二部分;
对所述密钥第一组中包含的密钥子部分进行异或处理,获得第一密钥数据;
将获得的所述第一密钥数据、当前待加密单位数据对应的所述地址第一部分、当前待加密单位数据进行异或,获得当前待加密单位数据加密后的数据高位;
将获得的所述当前待加密单位数据加密后的数据高位、所述密钥第二组中包含的密钥子部分、当前待加密单位数据对应的所述地址第二部分及当前待加密单位数据的所述数据第一部分进行异或,获得当前待加密单位数据加密后的数据低位;
将所有待加密单位数据的加密数据进行汇总,获得整条高速缓存行的加密数据。
可选的,所述方法还包括:
读取Cache中存储的所述加密数据时,基于所述加密算法以字节为单位对读取的所述加密数据进行解密。
可选的,所述方法还包括:
读取Cache中存储的所述加密数据时,将所述加密数据以字节为单位进行拆分,获得一个或一个以上待解密单位数据
将每一个所述待解密单位数据,等分为大小为4比特的数据第三部分和数据第四部分;
对所述密钥第二组中包含的密钥子部分进行异或处理,获得第二密钥数据;
将获得的所述第二密钥数据、所述地址第二部分及当前待解密单位数据进行异或,获得当前待解密单位数据解密后的数据高位;
将获得的所述当前待解密单位数据解密后的数据高位、所述密钥第一组中包含的密钥子部分、当前待解密单位数据对应的所述地址第一部分及当前待解密单位数据的所述数据第四部分进行异或,获得当前待解密单位数据的数据低位;
将所有待解密单位数据的解密数据进行汇总,获得整条高速缓存行的解密数据。
可选的,该方法还包括:
写入所述加密数据之前,以字节为单位对每一字节的加密数据分别增加相应的校验位;
解密从Cache中读取的所述加密数据之前,以字节为单位对读取的每一字节的加密数据进行校验。
可选的,所述对读取的每一字节的加密数据进行校验时,所述方法还包括:
若校验结果为数据异常时,则发送告警信号,并基于预设处理策略及告警信号进行系统复位或数据重读处理。
可选的,所述方法还包括:
预先在所述Cache的所属芯片的选项字节区域存储所述密钥,并设置存储的密钥仅可进行一次读取;
其中,存储在不同芯片的密钥不同。
可选的,所述Cache与存储器和处理器采用高级高性能总线AHB标准接口连接。
另一方面,本发明实施例还提供一种实现数据处理的装置,包括:拆分单元和加密处理单元;其中,
拆分单元用于:将写入高速缓存Cache的数据以字节为单位进行拆分,获得一个或一个以上待加密单位数据;
加密处理单元用于:按照预设的加密算法对拆分获得的各待加密单位数据分别进行加密,以获得加密数据。
可选的,所述加密处理单元具体用于:通过预先存储的密钥key、所述待加密单位数据自身、和/或所述待加密单位数据的写入地址进行异或运算,分别对各所述待加密单位数据进行加密。
可选的,所述加密处理单元具体用于:
将每一个所述待加密单位数据,等分为大小为4比特的数据第一部分和数据第二部分;
将预先存储的密钥等分为大小为4比特的一个或一个以上密钥子部分,并将等分获得的密钥子部分拆分至密钥子部分个数相等的密钥第一组和密钥第二组;
将各所述待加密单位数据的写入地址分别等分为地址第一部分和地址第二部分;
对所述密钥第一组中包含的密钥子部分进行异或处理,获得第一密钥数据;
将获得的所述第一密钥数据、当前待加密单位数据对应的所述地址第一部分、当前待加密单位数据进行异或,获得当前待加密单位数据加密后的数据高位;
将获得的所述当前待加密单位数据加密后的数据高位、所述密钥第二组中包含的密钥子部分、当前待加密单位数据对应的所述地址第二部分及当前待加密单位数据的所述数据第一部分进行异或,获得当前待加密单位数据加密后的数据低位;
将所有待加密单位数据的加密数据进行汇总,获得整条高速缓存行的加密数据。
可选的,所述装置还包括第一解密处理单元,用于读取Cache中存储的所述加密数据时,基于所述加密算法以字节为单位对读取的所述加密数据进行解密。
可选的,所述装置还包括第二解密处理单元,用于:
读取Cache中存储的所述加密数据时,将所述加密数据以字节为单位进行拆分,获得一个或一个以上待解密单位数据
将每一个所述待解密单位数据,等分为大小为4比特的数据第三部分和数据第四部分;
对所述密钥第二组中包含的密钥子部分进行异或处理,获得第二密钥数据;
将获得的所述第二密钥数据、所述地址第二部分及当前待解密单位数据进行异或,获得当前待解密单位数据解密后的数据高位;
将获得的所述当前待解密单位数据解密后的数据高位、所述密钥第一组中包含的密钥子部分、当前待解密单位数据对应的所述地址第一部分及当前待解密单位数据的所述数据第四部分进行异或,获得当前待解密单位数据的数据低位;
将所有待解密单位数据的解密数据进行汇总,获得整条高速缓存行的解密数据。
可选的,该装置还包括校验单元,用于:
写入所述加密数据之前,以字节为单位对每一字节的加密数据分别增加相应的校验位;
解密从Cache中读取的所述加密数据之前,以字节为单位对读取的每一字节的加密数据进行校验。
可选的,该装置还包括异常处理单元,用于所述对读取的每一字节的加密数据进行校验时,若校验结果为数据异常时,则发送告警信号,并基于预设处理策略及告警信号进行系统复位或数据重读处理。
可选的,所述装置还包括设置单元,用于预先在所述Cache的所属芯片的选项字节区域存储所述密钥,并设置存储的密钥仅可进行一次读取;
其中,存储在不同芯片的密钥不同。
可选的,所述Cache与存储器和处理器采用高级高性能总线AHB标准接口连接。
再一方面,本发明实施例还提供一种计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于执行上述实现数据处理的方法。
与相关技术相比,本申请技术方案包括:将写入高速缓存(Cache)的数据以字节为单位进行拆分,获得一个或一个以上待加密单位数据;按照预设的加密算法对拆分获得的各待加密单位数据分别进行加密,以获得加密数据。本发明实施例降低了对写入Cache进行加密处理的复杂度,减少了进行安全性保护的时间代价。另外,本发明实施例以字节为单位进行数据的校验,进一步降低了完整性保护的时间代价。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为相关技术对Cache进行防护处理的示意图;
图2为本发明实施例实现数据处理的方法的流程图;
图3为本发明实施例实现数据处理的装置的结构框图;
图4本发明应用示例装置的结构框图;
图5为本发明应用示例进行数据加密的方法流程图;
图6为本发明应用示例解密数据的方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图2为本发明实施例实现数据处理的方法的流程图,如图2所示,包括:
步骤200、将写入高速缓存(Cache)的数据以字节为单位进行拆分,获得一个或一个以上待加密单位数据;
步骤201、按照预设的加密算法对拆分获得的各待加密单位数据分别进行加密,以获得加密数据。
可选的,本发明实施例对拆分获得的各待加密单位数据分别进行加密包括:
通过预先存储的密钥(key)、所述待加密单位数据自身、和/或所述待加密单位数据的写入地址进行异或运算,分别对各所述待加密单位数据进行加密。
可选的,本发明实施例对拆分获得的各待加密单位数据分别进行加密包括:
将每一个所述待加密单位数据,等分为大小为4比特的数据第一部分和数据第二部分;
将预先存储的密钥等分为大小为4比特的一个或一个以上密钥子部分,并将等分获得的密钥子部分拆分至密钥子部分个数相等的密钥第一组和密钥第二组;
将各所述待加密单位数据的写入地址分别等分为地址第一部分和地址第二部分;
对所述密钥第一组中包含的密钥子部分进行异或处理,获得第一密钥数据;
将获得的所述第一密钥数据、当前待加密单位数据对应的所述地址第一部分、当前待加密单位数据进行异或,获得当前待加密单位数据加密后的数据高位;
将获得的所述当前待加密单位数据加密后的数据高位、所述密钥第二组中包含的密钥子部分、当前待加密单位数据对应的所述地址第二部分及当前待加密单位数据的所述数据第一部分进行异或,获得当前待加密单位数据加密后的数据低位;
将所有待加密单位数据的加密数据进行汇总,获得整条高速缓存行的加密数据。
可选的,本发明实施例方法还包括:
读取Cache中存储的所述加密数据时,基于所述加密算法以字节为单位对读取的所述加密数据进行解密。
可选的,本发明实施例方法还包括:
读取Cache中存储的所述加密数据时,将所述加密数据以字节为单位进行拆分,获得一个或一个以上待解密单位数据
将每一个所述待解密单位数据,等分为大小为4比特的数据第三部分和数据第四部分;
对所述密钥第二组中包含的密钥子部分进行异或处理,获得第二密钥数据;
将获得的所述第二密钥数据、所述地址第二部分及当前待解密单位数据进行异或,获得当前待解密单位数据解密后的数据高位;
将获得的所述当前待解密单位数据解密后的数据高位、所述密钥第一组中包含的密钥子部分、当前待解密单位数据对应的所述地址第一部分及当前待解密单位数据的所述数据第四部分进行异或,获得当前待解密单位数据的数据低位;
将所有待解密单位数据的解密数据进行汇总,获得整条高速缓存行的解密数据。
需要说明的是,本发明实施例密钥的位数可以由本领域技术人员根据数据的安全性和复杂性要求进行分析确定。
可选的,本发明实施例方法还包括:
写入所述加密数据之前,以字节为单位对每一字节的加密数据分别增加相应的校验位;
解密从Cache中读取的所述加密数据之前,以字节为单位对读取的每一字节的加密数据进行校验。
可选的,对读取的每一字节的加密数据进行校验时,本发明实施例方法还包括:
若校验结果为数据异常时,则发送告警信号,并基于预设处理策略及告警信号进行系统复位或数据重读处理。
可选的,本发明实施例方法还包括:
预先在所述Cache的所属芯片的选项字节区域存储所述密钥,并设置存储的密钥仅可进行一次读取;
其中,存储在不同芯片的密钥不同。
需要说明的是,本发明实施例不同芯片的密钥不同,可以保证数据的加密安全。
可选的,本发明实施例Cache与存储器和处理器采用高级高性能总线(AHB)标准接口连接。
需要说明的是,本发明实施例采用AHB标准接口可以提升Cache的可移植性。
与相关技术相比,本申请技术方案包括:将写入高速缓存(Cache)的数据以字节为单位进行拆分,获得一个或一个以上待加密单位数据;按照预设的加密算法对拆分获得的各待加密单位数据分别进行加密,以获得加密数据。本发明实施例降低了对写入Cache进行加密处理的复杂度,减少了进行安全性保护的时间代价。另外,本发明实施例以字节为单位进行数据的校验,进一步降低了完整性保护的时间代价。
图3为本发明实施例实现数据处理的装置的结构框图,如图3所示,包括:拆分单元和加密处理单元;其中,
拆分单元用于:将写入高速缓存Cache的数据以字节为单位进行拆分,获得一个或一个以上待加密单位数据;
加密处理单元用于:按照预设的加密算法对拆分获得的各待加密单位数据分别进行加密,以获得加密数据。
可选的,本发明实施例加密处理单元具体用于:通过预先存储的密钥key、所述待加密单位数据自身、和/或所述待加密单位数据的写入地址进行异或运算,分别对各所述待加密单位数据进行加密。
可选的,本发明实施例加密处理单元具体用于:
将每一个所述待加密单位数据,等分为大小为4比特的数据第一部分和数据第二部分;
将预先存储的密钥等分为大小为4比特的一个或一个以上密钥子部分,并将等分获得的密钥子部分拆分至密钥子部分个数相等的密钥第一组和密钥第二组;
将各所述待加密单位数据的写入地址分别等分为地址第一部分和地址第二部分;
对所述密钥第一组中包含的密钥子部分进行异或处理,获得第一密钥数据;
将获得的所述第一密钥数据、当前待加密单位数据对应的所述地址第一部分、当前待加密单位数据进行异或,获得当前待加密单位数据加密后的数据高位;
将获得的所述当前待加密单位数据加密后的数据高位、所述密钥第二组中包含的密钥子部分、当前待加密单位数据对应的所述地址第二部分及当前待加密单位数据的所述数据第一部分进行异或,获得当前待加密单位数据加密后的数据低位;
将所有待加密单位数据的加密数据进行汇总,获得整条高速缓存行的加密数据。
可选的,本发明实施例装置还包括第一解密处理单元,用于读取Cache中存储的所述加密数据时,基于所述加密算法以字节为单位对读取的所述加密数据进行解密。
可选的,本发明实施例装置还包括第二解密处理单元,用于:
读取Cache中存储的所述加密数据时,将所述加密数据以字节为单位进行拆分,获得一个或一个以上待解密单位数据
将每一个所述待解密单位数据,等分为大小为4比特的数据第三部分和数据第四部分;
对所述密钥第二组中包含的密钥子部分进行异或处理,获得第二密钥数据;
将获得的所述第二密钥数据、所述地址第二部分及当前待解密单位数据进行异或,获得当前待解密单位数据解密后的数据高位;
将获得的所述当前待解密单位数据解密后的数据高位、所述密钥第一组中包含的密钥子部分、当前待解密单位数据对应的所述地址第一部分及当前待解密单位数据的所述数据第四部分进行异或,获得当前待解密单位数据的数据低位;
将所有待解密单位数据的解密数据进行汇总,获得整条高速缓存行的解密数据。
可选的,本发明实施例装置还包括校验单元,用于:
写入所述加密数据之前,以字节为单位对每一字节的加密数据分别增加相应的校验位;
解密从Cache中读取的所述加密数据之前,以字节为单位对读取的每一字节的加密数据进行校验。
可选的,本发明实施例装置还包括异常处理单元,用于所述对读取的每一字节的加密数据进行校验时,若校验结果为数据异常时,则发送告警信号,并基于预设处理策略及告警信号进行系统复位或数据重读处理。
可选的,本发明实施例装置还包括设置单元,用于预先在所述Cache的所属芯片的选项字节区域存储所述密钥,并设置存储的密钥仅可进行一次读取;
其中,存储在不同芯片的密钥不同。
可选的,本发明实施例Cache与存储器和处理器采用高级高性能总线AHB标准接口连接。
本发明实施例还提供一种计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于执行上述实现数据处理的方法。
以下通过应用示例对本发明实施例方法进行清楚详细的说明,应用示例仅用于陈述本发明,并不用于限定本发明的保护范围。
图4本发明应用示例装置的结构框图,如图4所示,本发明应用示例装置包括:中央处理器、存储器及高速缓存(Cache),Cache与中央处理器、存储器通过AHB标准接口连接,密钥被存储于芯片的选项字节区。可以在芯片出厂时向该区域写入密钥,芯片上电时系统自动从该区域加载密钥。为了保证安全性,密钥不可以重复读取。本应用示例,每一颗芯片都有单独的密钥,数值随机。
本应用示例Cache的加密及校验都是以字节为基本单位,字节内乱序加密进行的。校验是奇偶校验。数据完整性实现是通过对数据增加奇偶校验位来实现的。当向Cache写入数据,即更新高速缓存行(Cache Line)时,需要先对数据进行加密,再增加校验位,之后存入Cache中。当从Cache中读取数据时,对从Cache中读取的数据先进行数据校验,然后再解密数据。
本应用示例假设密钥为32比特,图5为本发明应用示例进行数据加密的方法流程图,如图5所示,包括:
步骤500、将写入Cache的数据以字节为单位进行拆分,获得一个或一个以上待加密单位数据;
步骤501、将每一个待加密单位数据,等分为大小为4比特的数据第一部分和数据第二部分;
步骤502、将预先存储的密钥等分为大小为4比特的一个或一个以上密钥子部分,并将等分获得的密钥子部分拆分至密钥子部分个数相等的密钥第一组和密钥第二组;
假设密钥被等分为包括KEY[3:0]、KEY[7:4]、KEY[11:8]、KEY[15:12]、KEY[19:16]、KEY[23:20]、KEY[27:24]、KEY[31:28]在内的八个密钥子部分,则可以将密钥子部分任意拆分为密钥第一组和密钥第二组;例如,将KEY[7:4]、KEY[15:12]、KEY[23:20]、KEY[31:28]拆分至密钥第一组,将属于密钥子部分拆分至密钥第二组;
步骤503、将各待加密单位数据的写入地址分别等分为地址第一部分和地址第二部分;
本应用示例,步骤501~503的顺序可以调整。
步骤504、对密钥第一组中包含的密钥子部分进行异或处理,获得第一密钥数据;即对KEY[7:4]、KEY[15:12]、KEY[23:20]、KEY[31:28]进行异或处理。
步骤505、将获得的第一密钥数据、当前待加密单位数据对应的地址第一部分、当前待加密单位数据进行异或,获得当前待加密单位数据加密后的数据高位;
步骤506、将获得的当前待加密单位数据加密后的数据高位、密钥第二组中包含的密钥子部分、当前待加密单位数据对应的地址第二部分及当前待加密单位数据的数据第一部分进行异或,获得当前待加密单位数据加密后的数据低位;
步骤507、将所有待加密单位数据的加密数据进行汇总,获得整条高速缓存行的加密数据。
本应用示例,对加密后的数据按字节进行增加奇偶校验位,并把生成的奇偶校验位放置在数据高位;按照此流程对整条Cache Line进行增加奇偶校验位操作。最后得到真正要写入Cache的整条Cache Line数据。
对从Cache中读出的数据以字节为单位按位异或得到校验结果。如果校验确定数据异常,则认为数据完整性遭到破坏。本发明实施例给出报警信号。如果数据正常,将校验位删除之后,进行解密。
图6为本发明应用示例解密数据的方法流程图,如图6所示,包括:
步骤600、读取Cache中存储的加密数据时,将加密数据以字节为单位进行拆分,获得一个或一个以上待解密单位数据
步骤601、将每一个待解密单位数据,等分为大小为4比特的数据第三部分和数据第四部分;
步骤602、对密钥第二组中包含的密钥子部分进行异或处理,获得第二密钥数据;
步骤603、将获得的第二密钥数据、地址第二部分及当前待解密单位数据进行异或,获得当前待解密单位数据解密后的数据高位;
步骤604、将获得的当前待解密单位数据解密后的数据高位、密钥第一组中包含的密钥子部分、当前待解密单位数据对应的地址第一部分及当前待解密单位数据的数据第四部分进行异或,获得当前待解密单位数据的数据低位;
步骤605、将所有待解密单位数据的解密数据进行汇总,获得整条高速缓存行的解密数据。
本发明应用示例通过简易的加解密算法,以字节为单位实现数据加解密,降低了时间和空间开销,在极小的性能代价下、极大地提高Cache数据的安全性和完整性;简易的加解密算法,在保证数据安全性的基础上对数据延迟的影响很小;灵活的告警处理机制。当检测到数据异常时,发送告警信号,可以根据用户需求或安全要求配置是复位芯片还是重新读取数据。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件(例如处理器)完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的每个模块/单元可以采用硬件的形式实现,例如通过集成电路来实现其相应功能,也可以采用软件功能模块的形式实现,例如通过处理器执行存储于存储器中的程序/指令来实现其相应功能。本发明不限制于任何特定形式的硬件和软件的结合。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (17)
1.一种实现数据处理的方法,其特征在于,包括:
将写入高速缓存Cache的数据以字节为单位进行拆分,获得一个或一个以上待加密单位数据;
按照预设的加密算法对拆分获得的各待加密单位数据分别进行加密,以获得加密数据;
所述对拆分获得的各待加密单位数据分别进行加密包括:
将每一个所述待加密单位数据,等分为大小为4比特的数据第一部分和数据第二部分;
将预先存储的密钥等分为大小为4比特的一个或一个以上密钥子部分,并将等分获得的密钥子部分拆分至密钥子部分个数相等的密钥第一组和密钥第二组;
将各所述待加密单位数据的写入地址分别等分为地址第一部分和地址第二部分;
对所述密钥第一组中包含的密钥子部分进行异或处理,获得第一密钥数据;
将获得的所述第一密钥数据、当前待加密单位数据对应的所述地址第一部分、当前待加密单位数据进行异或,获得当前待加密单位数据加密后的数据高位;
将获得的所述当前待加密单位数据加密后的数据高位、所述密钥第二组中包含的密钥子部分、当前待加密单位数据对应的所述地址第二部分及当前待加密单位数据的所述数据第一部分进行异或,获得当前待加密单位数据加密后的数据低位;
将所有待加密单位数据的加密数据进行汇总,获得整条高速缓存行的加密数据。
2.根据权利要求1所述的方法,其特征在于,所述对拆分获得的各待加密单位数据分别进行加密包括:
通过预先存储的密钥key、所述待加密单位数据自身和所述待加密单位数据的写入地址进行异或运算,分别对各所述待加密单位数据进行加密。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
读取Cache中存储的所述加密数据时,基于所述加密算法以字节为单位对读取的所述加密数据进行解密。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
读取Cache中存储的所述加密数据时,将所述加密数据以字节为单位进行拆分,获得一个或一个以上待解密单位数据
将每一个所述待解密单位数据,等分为大小为4比特的数据第三部分和数据第四部分;
对所述密钥第二组中包含的密钥子部分进行异或处理,获得第二密钥数据;
将获得的所述第二密钥数据、所述地址第二部分及当前待解密单位数据进行异或,获得当前待解密单位数据解密后的数据高位;
将获得的所述当前待解密单位数据解密后的数据高位、所述密钥第一组中包含的密钥子部分、当前待解密单位数据对应的所述地址第一部分及当前待解密单位数据的所述数据第四部分进行异或,获得当前待解密单位数据的数据低位;
将所有待解密单位数据的解密数据进行汇总,获得整条高速缓存行的解密数据。
5.根据权利要求1~4任一项所述的方法,其特征在于,该方法还包括:
写入所述加密数据之前,以字节为单位对每一字节的加密数据分别增加相应的校验位;
解密从Cache中读取的所述加密数据之前,以字节为单位对读取的每一字节的加密数据进行校验。
6.根据权利要求5所述的方法,其特征在于,所述对读取的每一字节的加密数据进行校验时,所述方法还包括:
若校验结果为数据异常时,则发送告警信号,并基于预设处理策略及告警信号进行系统复位或数据重读处理。
7.根据权利要求1或4所述的方法,其特征在于,所述方法还包括:
预先在所述Cache的所属芯片的选项字节区域存储所述密钥,并设置存储的密钥仅可进行一次读取;
其中,存储在不同芯片的密钥不同。
8.根据权利要求1~4任一项所述的方法,其特征在于,所述Cache与存储器和处理器采用高级高性能总线AHB标准接口连接。
9.一种实现数据处理的装置,其特征在于,包括:拆分单元和加密处理单元;其中,
拆分单元用于:将写入高速缓存Cache的数据以字节为单位进行拆分,获得一个或一个以上待加密单位数据;
加密处理单元用于:按照预设的加密算法对拆分获得的各待加密单位数据分别进行加密,以获得加密数据;
所述加密处理单元具体用于:
将每一个所述待加密单位数据,等分为大小为4比特的数据第一部分和数据第二部分;
将预先存储的密钥等分为大小为4比特的一个或一个以上密钥子部分,并将等分获得的密钥子部分拆分至密钥子部分个数相等的密钥第一组和密钥第二组;
将各所述待加密单位数据的写入地址分别等分为地址第一部分和地址第二部分;
对所述密钥第一组中包含的密钥子部分进行异或处理,获得第一密钥数据;
将获得的所述第一密钥数据、当前待加密单位数据对应的所述地址第一部分、当前待加密单位数据进行异或,获得当前待加密单位数据加密后的数据高位;
将获得的所述当前待加密单位数据加密后的数据高位、所述密钥第二组中包含的密钥子部分、当前待加密单位数据对应的所述地址第二部分及当前待加密单位数据的所述数据第一部分进行异或,获得当前待加密单位数据加密后的数据低位;
将所有待加密单位数据的加密数据进行汇总,获得整条高速缓存行的加密数据。
10.根据权利要求9所述的装置,其特征在于,所述加密处理单元具体用于:通过预先存储的密钥key、所述待加密单位数据自身和所述待加密单位数据的写入地址进行异或运算,分别对各所述待加密单位数据进行加密。
11.根据权利要求9所述的装置,其特征在于,所述装置还包括第一解密处理单元,用于读取Cache中存储的所述加密数据时,基于所述加密算法以字节为单位对读取的所述加密数据进行解密。
12.根据权利要求9所述的装置,其特征在于,所述装置还包括第二解密处理单元,用于:
读取Cache中存储的所述加密数据时,将所述加密数据以字节为单位进行拆分,获得一个或一个以上待解密单位数据
将每一个所述待解密单位数据,等分为大小为4比特的数据第三部分和数据第四部分;
对所述密钥第二组中包含的密钥子部分进行异或处理,获得第二密钥数据;
将获得的所述第二密钥数据、所述地址第二部分及当前待解密单位数据进行异或,获得当前待解密单位数据解密后的数据高位;
将获得的所述当前待解密单位数据解密后的数据高位、所述密钥第一组中包含的密钥子部分、当前待解密单位数据对应的所述地址第一部分及当前待解密单位数据的所述数据第四部分进行异或,获得当前待解密单位数据的数据低位;
将所有待解密单位数据的解密数据进行汇总,获得整条高速缓存行的解密数据。
13.根据权利要求9~12任一项所述的装置,其特征在于,该装置还包括校验单元,用于:
写入所述加密数据之前,以字节为单位对每一字节的加密数据分别增加相应的校验位;
解密从Cache中读取的所述加密数据之前,以字节为单位对读取的每一字节的加密数据进行校验。
14.根据权利要求13所述的装置,其特征在于,该装置还包括异常处理单元,用于所述对读取的每一字节的加密数据进行校验时,若校验结果为数据异常时,则发送告警信号,并基于预设处理策略及告警信号进行系统复位或数据重读处理。
15.根据权利要求10或12所述的装置,其特征在于,所述装置还包括设置单元,用于预先在所述Cache的所属芯片的选项字节区域存储所述密钥,并设置存储的密钥仅可进行一次读取;
其中,存储在不同芯片的密钥不同。
16.根据权利要求9~12任一项所述的装置,其特征在于,所述Cache与存储器和处理器采用高级高性能总线AHB标准接口连接。
17.一种计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于执行如权利要求1~8任一项所述实现数据处理的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710881680.6A CN107861892B (zh) | 2017-09-26 | 2017-09-26 | 一种实现数据处理的方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710881680.6A CN107861892B (zh) | 2017-09-26 | 2017-09-26 | 一种实现数据处理的方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107861892A CN107861892A (zh) | 2018-03-30 |
CN107861892B true CN107861892B (zh) | 2021-08-03 |
Family
ID=61699646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710881680.6A Active CN107861892B (zh) | 2017-09-26 | 2017-09-26 | 一种实现数据处理的方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107861892B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582646A (zh) * | 2018-09-14 | 2019-04-05 | 唐学军 | 一种用于文件拆分的冗余和恢复方法及系统 |
CN113849866B (zh) * | 2021-09-17 | 2022-09-16 | 重庆思骑科技有限公司 | 一种一线通自解密的方法、装置、存储介质和设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222509A (zh) * | 2008-01-22 | 2008-07-16 | 中兴通讯股份有限公司 | 一种点对点网络的数据保护传输方法 |
CN102693398A (zh) * | 2012-05-09 | 2012-09-26 | 深圳大学 | 一种数据加密方法及系统 |
CN104022865A (zh) * | 2014-04-29 | 2014-09-03 | 云南电网公司 | 一种网络数据加密传输方法 |
CN204156899U (zh) * | 2014-11-12 | 2015-02-11 | 成都安慧科技有限公司 | 一种内网安全防护系统 |
US9026717B2 (en) * | 2011-09-30 | 2015-05-05 | SanDisk Technologies, Inc. | Apparatus, system, and method for a persistent object store |
CN106599735A (zh) * | 2017-02-13 | 2017-04-26 | 珠海格力电器股份有限公司 | 数据保护装置、方法以及存储控制器 |
CN106598882A (zh) * | 2016-12-09 | 2017-04-26 | 武汉斗鱼网络科技有限公司 | 一种安全的内存数据保护方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9519540B2 (en) * | 2007-12-06 | 2016-12-13 | Sandisk Technologies Llc | Apparatus, system, and method for destaging cached data |
JP5984625B2 (ja) * | 2012-10-31 | 2016-09-06 | ルネサスエレクトロニクス株式会社 | 半導体装置及び暗号鍵書き込み方法 |
-
2017
- 2017-09-26 CN CN201710881680.6A patent/CN107861892B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222509A (zh) * | 2008-01-22 | 2008-07-16 | 中兴通讯股份有限公司 | 一种点对点网络的数据保护传输方法 |
US9026717B2 (en) * | 2011-09-30 | 2015-05-05 | SanDisk Technologies, Inc. | Apparatus, system, and method for a persistent object store |
CN102693398A (zh) * | 2012-05-09 | 2012-09-26 | 深圳大学 | 一种数据加密方法及系统 |
CN104022865A (zh) * | 2014-04-29 | 2014-09-03 | 云南电网公司 | 一种网络数据加密传输方法 |
CN204156899U (zh) * | 2014-11-12 | 2015-02-11 | 成都安慧科技有限公司 | 一种内网安全防护系统 |
CN106598882A (zh) * | 2016-12-09 | 2017-04-26 | 武汉斗鱼网络科技有限公司 | 一种安全的内存数据保护方法及装置 |
CN106599735A (zh) * | 2017-02-13 | 2017-04-26 | 珠海格力电器股份有限公司 | 数据保护装置、方法以及存储控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN107861892A (zh) | 2018-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9037875B1 (en) | Key generation techniques | |
KR102013841B1 (ko) | 데이터의 안전한 저장을 위한 키 관리 방법 및 그 장치 | |
KR101863143B1 (ko) | 메모리 무결성 | |
US9811478B2 (en) | Self-encrypting flash drive | |
CN100403281C (zh) | 一种基于动态密钥的硬盘数据加密方法及其装置 | |
US20130013934A1 (en) | Infinite Key Memory Transaction Unit | |
US20080016127A1 (en) | Utilizing software for backing up and recovering data | |
CN107908574B (zh) | 固态盘数据存储的安全保护方法 | |
WO2007091492A1 (ja) | セキュア処理装置、方法、プログラム | |
KR20110020326A (ko) | 보안 유에스비 저장매체 생성방법 및 이용방법, 그리고 보안 유에스비 저장매체 생성을 위한 프로그램이 기록된 매체 | |
US9152576B2 (en) | Mode-based secure microcontroller | |
EP2990953B1 (en) | Periodic memory refresh in a secure computing system | |
US8898807B2 (en) | Data protecting method, mobile communication device, and memory storage device | |
CN110245466B (zh) | 软件完整性保护和验证方法、系统、设备及存储介质 | |
CN107861892B (zh) | 一种实现数据处理的方法及终端 | |
CN111539042A (zh) | 一种基于核心数据文件可信存储的安全操作方法 | |
CN110826099A (zh) | 适用于嵌入式实时操作系统的安全存储方法及系统 | |
CN105512560A (zh) | 一种一次性可编程存储器芯片和及其的控制方法 | |
US20220123932A1 (en) | Data storage device encryption | |
CN114237492A (zh) | 非易失性存储器保护方法及装置 | |
CN109583196B (zh) | 一种密钥生成方法 | |
CN110837627A (zh) | 一种基于硬盘序列号的软件版权认证方法、系统和设备 | |
US10992453B2 (en) | System architecture for encrypting external memory | |
CN110443070A (zh) | 多主机共享存储系统及数据完整性保护方法 | |
US20160299854A1 (en) | Techniques for preventing physical attacks on contents of memory |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |