CN118350063A - 数据安全处理系统、扰码器和数据安全处理方法 - Google Patents

数据安全处理系统、扰码器和数据安全处理方法 Download PDF

Info

Publication number
CN118350063A
CN118350063A CN202410525989.1A CN202410525989A CN118350063A CN 118350063 A CN118350063 A CN 118350063A CN 202410525989 A CN202410525989 A CN 202410525989A CN 118350063 A CN118350063 A CN 118350063A
Authority
CN
China
Prior art keywords
key
target
data
memory
address
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
Application number
CN202410525989.1A
Other languages
English (en)
Inventor
裘柏强
崔晓夏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Damo Institute Hangzhou Technology Co Ltd
Original Assignee
Alibaba Damo Institute Hangzhou Technology Co Ltd
Filing date
Publication date
Application filed by Alibaba Damo Institute Hangzhou Technology Co Ltd filed Critical Alibaba Damo Institute Hangzhou Technology Co Ltd
Publication of CN118350063A publication Critical patent/CN118350063A/zh
Pending legal-status Critical Current

Links

Abstract

本申请公开了一种数据安全处理系统、扰码器和数据安全处理方法,涉及指令集架构领域、数据安全领域。其中,该系统包括:存储器,用于存储数据;处理组件,用于生成数据访问请求,其中,数据访问请求用于访问存储器中存储的目标数据;扰码器,跨接在存储器和处理组件之间,用于基于数据访问请求,从存储器对应的多个地址段中确定目标数据对应的目标地址段,并基于目标地址段对应的目标密钥对目标数据进行加密或解密操作,其中,多个地址段是对存储器对应的地址空间进行划分得到的地址段,不同地址段对应的密钥不同。本申请解决了相关技术中数据存储的安全性较低的技术问题。

Description

数据安全处理系统、扰码器和数据安全处理方法
技术领域
本申请涉及处理器领域,具体而言,涉及一种数据安全处理系统、扰码器和数据安全处理方法。
背景技术
目前,随着信息技术的飞速发展,数据安全问题愈发凸显,个人隐私和企业机密信息面临着巨大的威胁。恶意攻击者若得以窃取物理内存的访问权限,便能够复原并窃取其中存储的敏感数据。更为严峻的是,随着攻击技术的日益精进,包括利用探针、实施冷启动等高级手段的内存攻击变得更加常见,导致目前的数据存储安全性较低。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种数据安全处理系统、扰码器和数据安全处理方法,以至少解决相关技术中数据存储的安全性较低的技术问题。
根据本申请实施例的一个方面,提供了一种数据安全处理系统,包括:存储器,用于存储数据;处理组件,用于生成数据访问请求,其中,数据访问请求用于访问存储器中存储的目标数据;扰码器,跨接在存储器和处理组件之间,用于基于数据访问请求,从存储器对应的多个地址段中确定目标数据对应的目标地址段,并基于目标地址段对应的目标密钥对目标数据进行加密或解密操作,其中,多个地址段是对存储器对应的地址空间进行划分得到的地址段,不同地址段对应的密钥不同。
根据本申请实施例的一个方面,提供了一种扰码器,包括:密钥库,用于存储多个地址段对应的密钥,多个地址段是对存储器对应的地址空间进行划分得到的地址段,不同地址段对应的密钥不同;加解密引擎,用于基于输入数据的存储信息,从多个地址段中确定输入数据对应的目标地址段,基于目标地址段对应的目标密钥标识从密钥库获取目标地址段对应的目标密钥,并基于目标密钥对输入数据进行加密或解密操作,得到输出数据,其中,输入数据用于表征输入至扰码器的数据,输出数据用于表征从扰码器输出的数据,存储信息包括如下至少之一:输入数据在存储器中存储的内存地址、输入数据在存储器中存储所占用的内存单元的数量。
根据本申请实施例的一个方面,提供了一种数据安全处理方法,包括:接收数据访问请求,其中,数据访问请求用于访问存储器中存储的目标数据;基于数据访问请求,从存储器对应的多个地址段中确定目标数据对应的目标地址段,其中,多个地址段是对存储器对应的地址空间进行划分得到的地址段;基于目标地址段对应的目标密钥对目标数据进行加密或解密操作,其中,不同地址段对应的密钥不同。
根据本申请实施例的一个方面,提供了一种片上系统,包括:上述实施例中任意一项的数据安全处理系统。
根据本申请实施例的另一方面,还提供了一种计算机终端,包括:存储器,存储有可执行程序;处理器,用于运行程序,其中,程序运行时执行本申请各个实施例中的方法。
根据本申请实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的可执行程序,其中,在可执行程序运行时控制计算机可读存储介质所在设备执行本申请各个实施例中的方法。
根据本申请实施例的另一方面,还提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现本申请各个实施例中的方法。
根据本申请实施例的另一方面,还提供了一种计算机程序产品,包括非易失性计算机可读存储介质,非易失性计算机可读存储介质存储计算机程序,计算机程序被处理器执行时实现本申请各个实施例中的方法。
根据本申请实施例的另一方面,还提供了一种计算机程序,计算机程序被处理器执行时实现本申请各个实施例中的方法。
在本申请实施例中,存储器,用于存储数据;处理组件,用于生成数据访问请求,其中,数据访问请求用于访问存储器中存储的目标数据;扰码器,跨接在存储器和处理组件之间,用于基于数据访问请求,从存储器对应的多个地址段中确定目标数据对应的目标地址段,并基于目标地址段对应的目标密钥对目标数据进行加密或解密操作,其中,多个地址段是对存储器对应的地址空间进行划分得到的地址段,不同地址段对应的密钥不同,实现了提高数据存储的安全性;容易注意到的是,可以在存储器和处理组件之间跨接扰码器,对存储器中的地址空间进行划分,得到多个地址段,并且为不同地址段设置有不同的密钥,通过为地址空间中不同的地址段设置独立的密钥,由于不同的地址段设置有独立的密钥,在某个密钥遭到破坏时,也不会影响到其他密钥的安全性,从而保护其他密钥对应地址段的数据,可以极大程度的提高对存储器中数据的安全性,进而解决了相关技术中数据存储的安全性较低的技术问题。
容易注意到的是,上面的通用描述和后面的详细描述仅仅是为了对本申请进行举例和解释,并不构成对本申请的限定。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种用于实现数据安全处理方法的RISC-V系统的硬件结构框图;
图2是根据本申请实施例的一种片上系统的示意图;
图3是根据本申请实施例1的一种数据安全处理系统的结构示意图;
图4是根据本申请实施例的一种加解密引擎的示意图;
图5是根据本申请实施例的一种数据安全处理系统的系统结构图;
图6是根据本申请实施例2的一种扰码器的结构示意图;
图7是根据本申请实施例3的一种数据安全处理方法的流程图;
图8是根据本申请实施例4的一种数据安全处理装置的示意图;
图9是根据本申请实施例的一种电子设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
加解密引擎(Crypto Engine):是一种用于加密和解密数据的软件或硬件模块,通常使用特定的算法和密钥来确保数据的安全性和隐私性。
动态随机存储器(Dynamic Random-Access Memory,DDR):是一种用于存储数据的高速内存,可以快速读取和写入数据,通常用于计算机系统中作为主内存使用。
DDR扰码器(DDR Scrambler,DDR SRC):用于在数据传输过程中对数据进行扰乱处理,以提高数据传输的安全性和稳定性。
电子熔断器(Electronic Fuse,eFuse):是一种可编程的电子器件,用于在电路中实现短路或开路的功能,通常用于保护电路或存储设备的安全性。
密钥派生函数(Key Derivat ion Funct ion,KDF):是一种用于从一个或多个输入密钥派生出另一个密钥的算法,通常用于增强密钥的安全性和隐私性。
物理随机数生成器(True Random Number Generator,TRNG):是一种用于生成真正随机数的设备或算法,通常利用物理过程或现象来产生随机数,用于确保数据的安全性和隐私性。
密钥生成器(Key Generator,Key gen):是一种用于生成密钥的过程或设备,通常使用特定的算法和工具来生成符合特定安全标准的密钥。
密钥存储(Key Store,Key store):是一种用于安全存储密钥的设备或系统,通常需要采取特定的措施来保护密钥的安全性,防止被未经授权的访问或使用。
目前数据存储的遇到多方攻击背景下,为了提升数据保护的层级并大幅提高潜在攻击的门槛,采用DDR加密技术以确保关键信息的安全性变得尤为关键。在此过程中,确保密钥本身的保密性,对防御这些先进攻击手段起到了至关重要的作用。在行业内,常规的加密实践通常为通过处理器(Central Process ing Unit,简称为CPU)设定一组密钥来对DDR内存数据执行加密和解密操作。然而,这种方法存在诸多潜在风险,例如,CPU的安全漏洞、密钥来源的不确定性、缺乏细致的加密策略。
其中,CPU的安全漏洞是指由于CPU能够获取这组密钥,如果CPU遭受攻击并受到破坏,存在密钥被泄露的风险。密钥来源的不确定性是指在目前的方案中,密钥往往直接源自随机数生成过程。这意味着如果随机数生成机制本身不够安全,或其过程遭到攻击,那么密钥可能会有被预测和泄露的风险。
本申请提供了一种基于硬化密钥的内存加扰方法,可以对内存中不同区块进行独立的加密和解密处理,对系统启动时使用的密钥值均不相同,保护密钥的高机密性。由于不同区块使用独立的密钥,即便某个密钥遭到破坏,也不会影响到其他密钥的安全性,从而提高了存储数据的安全性。
实施例1
根据本申请实施例,提供了一种数据安全处理方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在RISC-V系统、RISC-V芯片或类似装置中执行。图1是根据本申请实施例的一种用于实现数据安全处理方法的RISC-V系统的硬件结构框图。如图1所示,RISC-V系统100从底层到上层可以分为精简指令集架构101(包含基础指令集101-1和扩展指令集101-2)、硬件层102(包括处理器102-1、外围硬件电路102-2等)、接口层103、操作系统层104(支持多种操作系统104-1,104-2,…,104-n,例如Linux、FreeSBD、RT-Tread等)、中间件和库层105(包含系统库105-1、API 105-2和中间件服务105-3)和应用程序层106(包括多种用户程序和服务106-1,106-2,…,106-n)。RISC-V系统100还包含一个从底层硬件到应用程序层之间的工具链107,该工具链可以包括编译器和汇编器107-1、链接器107-2、调试器107-3、模拟器和仿真器107-4、集成开发环境107-5、硬件描述语言工具107-6、性能分析工具107-7和版本控制系统107-8等。
指令集架构101定义了处理器102-1支持的基本操作和指令集,包括基础指令集和扩展指令集,其中,基础指令集表征基础的整数指令集,如RV32I和RV64I,扩展指令集可以是浮点、原子操作、压缩指令等。
接口层103包括处理器的具体设计,如流水线设计、缓存结构、执行单元、分支预测等。这一层是将抽象指令映射到物理硬件上的过程。
操作系统层104位于硬件智商,提供了硬件抽象层和管理机制,使得应用长须能够通过系统调用与硬件交互。操作系统负责管理处理器资源、内存、设备驱动、任务调度等。
中间件和库层105提供了一组丰富的服务和接口,帮助应用程序更高效地运行。例如,标准库提供了文件操作、数学计算等功能,而中间件可以提供网络通信、图形用户界面等复杂服务。
应用程序层106利用下层提供的功能和服务来实现具体的应用逻辑,这些应用程序可以是命令行工具、图形界面应用、服务器端服务等。
工具链107是连接底层硬件到上层软件的关键组件,工具链107中的各种工具在不同层次上发挥作用,以支持从硬件设计到软件开发的整个过程,确保整个系统设计的连贯性和有效性。
需要说明的是,RISC-V架构的分层设计允许不同层次之间的解耦,使得每一层都可以独立开发和优化。
一种可选实施例中,图2是根据本申请实施例的一种片上系统的示意图,如图2示出了使用上述图1所示的RISC-V架构的片上系统(System On Chip,SOC)的示意图。如图2所示,该SOC内部包含至少一个RISC-V内核202(图中仅示出一个),RISC-V内核202通过总线204与外设设备连接,包括但不限于ROM206、RAM208、定时器210、UART(通用异步收发传输器,Universal Asynchronous Receiver/Transmitter)212、GPIO(通用输入/输出端口,General Purpose Input/Output)214、SPI(串行外设接口,Serial Peripheral InterfaceBus)216等。
在上述运行环境下,本申请提供了如图3所示的数据安全处理系统。图3是根据本申请实施例1的一种数据安全处理系统的结构示意图,如图3所示,该数据安全处理系统300中包括:存储器302、处理组件304和扰码器306。
其中,存储器302用于存储数据;处理组件304用于生成数据访问请求,其中,数据访问请求用于访问存储器中存储的目标数据;扰码器306跨接在存储器和处理组件之间,用于基于数据访问请求,从存储器对应的多个地址段中确定目标数据对应的目标地址段,并基于目标地址段对应的目标密钥对目标数据进行加密或解密操作,其中,多个地址段是对存储器对应的地址空间进行划分得到的地址段,不同地址段对应的密钥不同。
上述的存储器可以是计算机中用于存储数据的设备,可以分为内存和外存两种类型。内存是计算机中用于临时存储数据和程序的设备,在计算机运行时起到了临时存储数据和程序的作用。内存的容量大小直接影响着计算机的运行速度和能够处理的数据量。内存可以分为随机存取存储器和只读存储器两种类型。外存则是指计算机中用于长期存储数据的设备,包括硬盘、固态硬盘、光盘、U盘等。外存的容量一般比内存大得多,可以长期保存数据,并且数据在断电后也不会丢失。外存的种类多样,可以根据不同的需求选择合适的存储设备。
上述计算机中的处理器可以采用RV架构。RV架构是一种精简指令集计算机架构,该结构的设计目标是简化指令集,提高处理器性能和功耗效率。计算机中的处理器采用了RV架构则说明该计算机可以使用RV指令集,能够执行RV架构的特定指令集,从而实现了更高的性能和功耗效率。
上述的存储器可以用于存储各种类型的数据,包括文档、图片、视频、音频、程序等。在计算机系统中,存储器可以进行数据交换和临时存储,对系统的稳定性和性能有着重要的影响。
上述的存储器可以为动态随机存储器(Dynamic Random-Access Memory,简称为DDR)、静态随机存储器(Stat ic Random Access Memory,简称为SRAM)、只读存储器(Read-Only Memory,简称为ROM)、闪存存储器等类型,本申请以存储器为DDR为例进行说明。
上述的处理组件可以用于处理和执行多种任务,其中,处理组件可以用于执行系统中的不同指令和任务,以实现数据处理、图形渲染、内存访问等功能。处理组件可以包括中央处理器(Central Process ing Unit,简称为CPU)、图形处理器(Graphics Processing Unit,简称为GPU)、直接内存访问控制(Direct Memory Access,简称为DMA)、输入/输出设备(Input/Output,简称为I/O)等。处理组件还可以包含有其他的设备,此处不做全部列举,可以根据实际需求确定处理组件中包含的设备。
上述的CPU可以负责执行各种指令和控制系统的运行,用于执行指令、进行运算和控制系统的各种操作。上述的GPU用于处理图形相关的任务,如图像渲染、视频解码等,可以具有大量的并行处理单元,能够快速处理大量的图形数据,常用于游戏、动画制作等领域。上述的DMA控制器可以管理系统中的直接内存访问,在CPU不参与的情况下进行高速数据传输,提高系统的数据传输效率。上述的I/O设备包括键盘、鼠标、显示器、打印机等,用于与外部设备进行数据交互,可以通过与处理组件的连接,实现了计算机系统与外部设备的交互和通信。
上述处理组件也可以指多核处理器中的各个核心。多核处理器将多个处理器集成在一个芯片上,不同的核心可以独立地执行指令和任务,以提高系统的并行处理能力和整体性能。
上述的扰码器可以为DDR扰码器、PN序列扰码器、Gold码扰码器、Kasami码扰码器等其他类型的扰码器。
其中,DDR扰码器的作用是通过对数字数据进行扰乱处理,使得数据在传输过程中更加安全和隐私,可以增加数据传输的安全性,防止信息被非法窃取和篡改,扰码器通过改变数据的顺序、添加噪声等方式,使得数据在传输过程中更难以被识别和恢复,从而提高数据的保密性和安全性。PN序列扰码器使用伪随机序列对数据进行扰乱,以增加通信系统的抗干扰能力和安全性。Gold码扰码器是一种利用两个互相正交的PN序列进行扰乱的扰码器,用于增强系统的抗干扰和隐私保护能力。Kasami码扰码器使用伪随机数序列对数据进行扰乱,主要用于增强数字通信系统的抗干扰性能。上述的扰码器在数字通信系统中起着重要作用,能够有效地提高通信系统的安全性和抗干扰能力。不同类型的扰码器适用于不同的通信场景,可以根据具体的通信需求和系统要求进行选择和应用。本申请以扰码器为DDR扰码器为例进行说明。
上述的数据访问请求可以根据执行过程中的数据访问需求生成,通过该数据访问请求可以访问到存储器中存储的目标数据。
示例性的,在图像处理场景中,若需要通过访问存储器中存储的图像数据进行图像处理,可以根据图像处理过程中的处理需求生成数据访问请求,以便根据数据访问请求从存储器中访问到所需要的图像数据。在数据分析场景中,若需要通过访问存储器中存储的待分析数据进行数据分析,可以根据数据分析过程中的数据分析需求生成数据访问请求,以便根据该数据访问请求从存储器中访问到所需要分析的数据。
通过在存储器和处理组件之间跨接扰码器,可以对存储器中不同地址空间的存储数据进行保护,可以针对存储器中不同的地址段使用独立的密钥进行加密操作或解密操作,若某个密钥遭到破坏,也不会到其他密钥的安全性,从而提高了数据存储的安全性。
上述存储器的地址空间是指存储器中可寻址的存储单元所构成的逻辑空间。在计算机系统中,存储器的地址空间通常由一个连续的地址范围表示,不同的存储单元都有一个唯一的地址来标识。
上述地址空间对应的地址段是指地址空间中不同存储单元所对应的物理地址范围。例如,一个存储器的地址空间为0x0000到0xFFFF,那么这个地址空间对应的地址段就是0x0000到0xFFFF,其中不同地址对应于不同的存储单元,此处仅作示例说明,具体的地址空间和地址段的表现形式可以根据实际需求进行调整。
在一种可选的实施例中,可以根据存储单元对地址空间进行划分,得到地址空间的多个地址段,通过不同地址段可以表示地址空间中存储单元的物理地址范围。对于不同的地址段可以设置有对应的目标密钥,通过该目标密钥可以将对应地址段的目标数据进行加密或解密操作,从而减少对其他地址段数据的影响,通过将存储空间划分为多个地址段,并独立设置多个地址段对应的密钥,可以在某个地址段对应的密钥遭到破坏时,也不会影响到其他密钥,从而提高存储数据的安全性。
在本申请实施例中,存储器,用于存储数据;处理组件,用于生成数据访问请求,其中,数据访问请求用于访问存储器中存储的目标数据;扰码器,跨接在存储器和处理组件之间,用于基于数据访问请求,从存储器对应的多个地址段中确定目标数据对应的目标地址段,并基于目标地址段对应的目标密钥对目标数据进行加密或解密操作,其中,多个地址段是对存储器对应的地址空间进行划分得到的地址段,不同地址段对应的密钥不同,实现了提高数据存储的安全性;容易注意到的是,可以在存储器和处理组件之间跨接扰码器,对存储器中的地址空间进行划分,得到多个地址段,并且为不同地址段设置有不同的密钥,通过为地址空间中不同的地址段设置独立的密钥,由于不同的地址段设置有独立的密钥,在某个密钥遭到破坏时,也不会影响到其他密钥的安全性,从而保护其他密钥对应地址段的数据,可以极大程度的提高对存储器中数据的安全性,进而解决了相关技术中数据存储的安全性较低的技术问题。
本申请上述实施例中,扰码器包括:密钥库,用于存储多个地址段对应的密钥;加解密引擎,用于基于数据访问请求中携带的目标数据的存储信息,从多个地址段中确定目标地址段,并基于目标地址段对应的目标密钥标识从密钥库获取目标密钥,其中,存储信息包括如下至少之一:目标数据在存储器中存储的内存地址、目标数据在存储器中存储所占用的内存单元的数量。
上述的密钥库可以为密钥存储器(Key store),其中,Key store可以是一个安全的存储设备或软件模块,用于存储和管理加密密钥、数字证书、安全凭证和其他需要存储的信息。Key store可以分为两种类型,软件Key store和硬件Key store。软件Key store是使用软件实现的密钥存储设备,通常以文件或数据库的形式存储密钥和证书。硬件Key store是使用专门的硬件设备来存储密钥和证书,这些设备通常具有更高的安全性和可信度。本申请中以Key store为硬件为例进行说明。
上述的密钥存储器可以为静态随机存取存储器(Stat ic Random-AccessMemory,简称为SRAM),其中,静态随机存取存储器可以是一种用于存储数据的集成电路存储器。示例性的,该静态随机存取存储器的大小可以为16*512bits,即可以存16组key,还可以是其他的大小,此处仅作示例说明。
上述的加解密引擎(Crypto engine)可以用于加密和解密数据的计算机程序或硬件模块,可以对数据进行加密,以保护数据的安全性和隐私,并且可以对加密的数据进行解密,以便于数据的使用和传输。加解密引擎通常使用加密算法和密钥来进行加密和解密操作,可以用于保护敏感信息,确保数据的机密性和完整性。
上述目标数据的存储信息可以是指数据被存储在计算机或其他设备中的方式和位置。这包括数据存储的格式、存储介质(如硬盘、内存、云存储等)、存储的位置(如文件夹路径、数据库表格等)以及数据的备份和恢复方式等。其中,数据的存储信息用于对数据进行管理和保护,可以影响数据的安全性、可靠性和可用性。
在一种可选的实施例中,可以根据数据访问请求中携带的目标数据的存储信息确定目标数据在存储器中的内存地址、存储所占用的内存单元的数量,可以根据内存地址确定目标数据在存储器中存储的目标地址段,可以根据存储所占用的内存单元的数量确定目标数据在存储器中的存储的目标地址段。可以根据地址段和密钥钥匙标识的对应关系确定目标地址段对应的目标密钥标识,通过该秒密钥标识可以从密钥库中获取到对应的目标密钥。
若根据目标数据在存储器中存储所占用的内存单元的数量确定目标地址段,可以先确定目标数据在存储器中的起始地址,即目标地址段的起始地址,根据目标数据在存储器中所占用的内存单元的数量,计算目标地址段的结束地址。如果目标数据占用的内存单元数量为n个,那么目标地址段的结束地址可以通过起始地址加上n-1来计算。示例性的额,假设目标数据的起始地址为0x1000,占用了4个内存单元,那么目标地址段的结束地址为0x1003。因此,目标地址段为0x1000到0x1003。通过目标数据在存储器中所占用的内存单元的数量确定目标地址段,可以根据该目标地址段在存储器中准确地定位和访问目标数据。
在一种可选的实施例中,可以通过操作系统提供的内存管理工具或者编程语言提供的内存操作函数来获取目标数据的内存地址。在大多数编程语言中,可以使用指针或引用来获取目标数据的内存地址。如果目标数据存储在磁盘中,可以通过文件系统的索引结构来确定目标数据的存储地址。在大多数操作系统中,文件系统会维护一个文件的索引表,可以通过文件名或者文件路径来查找目标数据的内存地址。
若根据目标数据在存储器中存储的内存地址确定目标地址段,可以根据存储器的地址映射机制来确定目标地址段。存储器的地址映射机制可以将逻辑地址映射到物理地址,从而确定目标地址段在存储器中的位置。在确定目标数据在存储器中的内存地址时需要考虑目标数据的类型、存储方式,以及操作系统或编程语言提供的内存管理机制和文件系统索引结构等因素,通过这些步骤可以确定目标地址段在存储器中的位置。
本申请上述实施例中,加解密引擎包括:范围检测器,用于基于目标数据的存储信息,从多个地址段中确定目标地址段,并发送目标密钥标识至密钥库;扰码单元,用于接收密钥库返回的目标密钥,并基于目标密钥对目标数据进行加密或解密操作。
上述的范围检测器(Range detector)可以通过地址(addr)和大小(s ize)判断目标数据所处的范围,并同时获取响应的目标密钥标识。
上述的扰码单元(Scrambler)可以通过获取的密钥ID(key_id)得到目标密钥(key),通过目标密钥对目标数据进行加密或解密操作。由于不同的范围(range)有不同的密钥(key),这样的好处在于即使某一个密钥受到攻击,也不会影响到其他的密钥。
上述的密钥库可以根据接收到目标密钥标识对存储的多个密钥进行检索,得到目标密钥标识对应的目标密钥。
图4是根据本申请实施例的一种加解密引擎的示意图,如图4所示,加解密引擎中包括有范围检测器(Range detector)和扰码单元(Scrambler),其中,范围监测器可以通过地址(addr)和大小(s ize)判断目标数据所处的范围,以得到输入的目标数据(data in)的目标密钥标识(Key_id),可以将目标密钥标识发送至密钥库(Key store),以便于密钥库根据目标密钥标识确定目标密钥(Key),并将该目标密钥反馈至扰码单元,扰码单元可以根据目标密钥对目标数据进行加密或解密操作,得到加密或解密后的数据(data out),并对该数据进行输出。
本申请上述实施例中,密钥库还用于在接收到的密钥查询请求的发送对象是加解密引擎的情况下,输出密钥查询请求对应的密钥;或,密钥库与加解密引擎电连接。
在一种可选的实施例中,密钥库在接收到密钥查询请求的发送对象是加解密引擎的情况下,可以根据密钥查询请求对密钥库中的密钥进行搜索,从而得到密钥查询请求对应的密钥,可以将该密钥反馈给加解密引擎,以便加解密引擎根据该密钥对目标数据进行加密操作或解密操作。
上述的密钥库和加解密引擎之间的电连接用于表示密钥库和加解密引擎之间电子通信连接。密钥库存储了加密和解密所需的密钥,而加解密引擎则是负责实际的加密和解密操作的硬件或软件模块。这两者之间需要通过电子信号进行通信,以便在需要时将密钥传递给加解密引擎进行加解密操作。因此,电连接可以理解为密钥库和加解密引擎之间的电子通信链路,用于传输密钥和指令以完成加解密任务。
通过将密钥库与加解密引擎连接起来,可以实现对密钥的有效管理和保护。通过连接,加解密引擎可以对密钥库中存储的密钥进行访问和使用,从而进行加解密操作。
本申请上述实施例中,扰码器还包括:密钥生成器,与密钥库连接,用于基于预设位数的多个随机数生成多个地址段对应的密钥。
上述的密钥生成器(Key gen)用于生成预设位数的密钥,其中,预设位数可以为512bits,但此处不做限定,还可以是其他位数。
上述预设位数的多个随机数是指根据预设位数随机生成的数,不同字节都是随机生成的,没有明显的规律可循。这种随机数可以用于加密、安全通信、密码学等领域,具有较高的安全性和随机性。
在一种可选的实施例中,可以根据预设位数的多个随机数生成多个地址段对应的密钥,预设位数表示生成随机数的位数,例如预设位数为8位。然后,根据预设位数生成多个随机数,不同随机数对应一个地址段。随机数可以通过随机数生成器来生成,确保随机性和安全性,对于多个地址段,可以使用特定的算法或方法生成对应的密钥。可以根据需要生成多个不同的密钥,提高安全性和隐私保护。同时,预设位数可以根据需求进行调整,灵活性较高。
本申请上述实施例中,密钥生成器包括:随机数生成器,用于生成预设位数的多个随机数;电子熔断器,用于存储预设密钥;密钥派生函数引擎,与随机数生成器和电子熔断器连接,用于利用预设密钥分别对多个随机数进行加密,得到多个地址段对应的密钥。
上述的随机数生成器可以为物理随机数生成器(True Random NumberGenerator,简称为TRNG),但不限于此,还可以是其他类型的随机数生成器。其中,物理随机数生成器是一种用于生成随机数的设备或算法,通常用于确保数据的安全性和隐私性。
上述的电子熔断器(EFuse)可以用于保护电子设备免受过电流的损坏的设备,可以在电流超过设定值时自动切断电路,防止设备受到过载损坏,电子熔断器通常用于电子设备、电路板和其他电气设备中,以保护它们免受电流过载的影响。
上述的密钥派生函数引擎(Key Derivation Function engine,简称为KDFengine)的作用是根据输入的密钥和其他参数生成新的密钥,通常用于密码学中的密钥管理和分发,可以增强密钥的复杂度、提高密钥的安全性,并且可以根据需要生成不同的密钥用于不同的加密或认证目的,密钥派生函数还可以用于派生加密密钥、认证密钥、会话密钥等,以满足不同的安全需求。
上述的密钥生成器可以用于生成512bits的密钥,此处对密钥的大小不做限定,还可以是其他大小的密钥。
密钥的生成方法如下:
keyi=AES-dec(keyefuse,TRNG);
上述的AES-dec算法是一种用于解密数据的算法。该算法使用相同的密钥和参数来解密数据,以确保只有授权用户能够访问加密的信息。AES-dec算法使用逆转换函数和逆轮函数来逐步解密数据块,以还原出原始的明文信息。这种算法被广泛应用于许多安全领域,包括网络通信、文件加密和数据存储等。
上述的预设密钥可以是电子熔断器中预先存储的密钥,通过该预设密钥对随机数进行加密,可以进一步提高密钥的安全性。
可以从TRNG中获取512bits随机数,用EFuse中的Key进行加密,得到keyefuse。采用EFuse key进行加密的好处是,如果TRNG被攻击,不至于Key被容易的猜测出来。keyi是通过KDF engine直接写到Keystore的,CPU拿到的是随机数,不能拿到真正的keyi。需要说明的是,Keystore中存储的keyi是由EFuse中的keyefuse,通过硬件派生出来,然后往里面写,不包含EFuse中的keyefuse
本申请上述实施例中,密钥库包括:锁存器,用于存储密钥生成器生成的多个地址段对应的密钥,或密钥库用于在多个地址段对应的密钥存储成功的情况下,将密钥库的锁存标志位调整为锁定状态。
上述的锁存标志位可以通过0或1表示,还可以通过其他方式进行表示。
上述的锁存器是一种用于存储特定状态或数据的数字电路元件。上述的锁存器用于存储密钥生成器生成的多个地址段对应的密钥,或者存储密钥库的锁定状态。锁存器可以通过特定的输入信号来保存或锁定所存储的数据,直到接收到新的控制信号为止。
在一种可选的实施例中,锁存器可以用于存储密钥生成器生成的密钥,以便在后续操作中使用,锁存器还可以用于存储密钥库的锁定状态,以确保密钥在存储成功后不被意外修改。通过使用锁存器,可以有效地保存和管理密钥和密钥库的状态,从而确保系统的安全性和稳定性。
在一种可选的实施例中,一般是密钥生成器可以在密钥库中存储密钥,可以通过设置锁存标志位(lock位),一旦初始化成功,lock位被置上,就没有办法被篡改。一般通过加解密引擎读取到加解密的DDR数据,可以判断对应的处理组件的标识,通过该标识读取到加解密的DDR数据,可以通过硬件直连,确定加解密引擎可以读取到加解密的DDR数据,那样其他的处理组件就不会访问,密钥库的这一特性可以保证密钥的机密性以及不可篡改性。
本申请上述实施例中,密钥库是静态随机存取存储器。
上述的静态随机存取存储器具有更快的访问速度和更低的功耗,可以通过稳定的电荷存储数据,因此不需要周期性地刷新数据,这使得它更快速和更可靠。
本申请上述实施例中,处理组件采用精简指令集计算机架。
在一种可选的实施例中,处理组件可以采用一种精简的指令集(即操作指令的集合),用于计算机的架构(即计算机的组织结构和设计原理)。这种架构可以以提高计算效率和节省资源。因此,该计算机架构可能会更专注于特定的应用或任务。
图5是根据本申请实施例的一种数据安全处理系统的系统结构图,如图5所示,该系统中包含有动态随机存储器(DDR)、扰码器(DDR SRC)、处理组件(Master),其中,DDR SRC用于对写入/读出的DDR数据进行加密/解密操作,从而达到保护DDR数据的目的,该DDR SRC跨接于AXI总线和DDR存储器之间,该AXI总线用于连接处理组件。DDR SRC中包含有密钥生成器(Key gen)、密钥存储器(Key store)、加解密引擎(Crypto engine),其中,密钥生成器用于生成加解密DDR的密钥、密钥存储器用于存储密钥、加解密引擎用于加解密或解密DDR数据。如图5中密钥生成器中包含有物理随机数生成器(True Random Number Generator,简称为TRNG)、电子熔断器(EFuse)和密钥派生函数引擎(Key Derivat ion Funct ionengine,简称为KDF engine)。
上述的AXI总线是一种高性能,低功耗的系统总线,用于连接处理组件、内存和外设。它是一种高性能的总线协议,能够满足复杂系统的需求。上述的DDR控制器是一种内存控制器,用于控制DDR内存的读写操作,可以将处理器发送的数据写入DDR内存中或将DDR内存中的数据读取到处理器中。DDR控制器通常集成在处理器或系统芯片中,用于管理系统中的内存操作。
上述的数据安全处理系统的场景可以分为两类,初始化场景和数据加解密场景。
在初始化场景中,可以为数据安全处理系统中各个模块的初始化,例如key的初始化,range的初始化。初始化的步骤可以在启动加载程序(boot loader)阶段完成,此处已这里以8个区域(range)独立加解密为例进行说明,首先,可以初始化key,在初始化key的过程中可以执行以下步骤,a.获取512bits随机数,调用硬件KDF引擎,用EFuse中的key生成range0的密钥,同时写入key store;b.按照上述步骤的方式将其它7个range的密钥写入key store;其次,可以初始化range,将整个DDR空间按照不同的应用场景拆成8个range,并将这8个range通过寄存器配置给DDR扰码器;之后可以锁住初始化信息,通过配置lock寄存器,上述初始化信息锁住。不允许硬件和其它模块修改数据加解密过程。
在数据加解密场景中,数据加解密过程由硬件自动完成,DDR扰码器会按照当前访问DDR的地址和大小,计算当前处于哪个range。DDR扰码器中的硬件加解密引擎根据range的信息从key store中拿到key,对数据进行加解密。
本申请中的key由硬件模块产生,CPU拿不到具体的key,因此就算CPU被攻击也拿不到对应的key,密钥不是直接来源于随机数,是由EFuse中的密钥对硬件随机数做加扰处理得到,因此,如果随机数被攻击,由于EFuse中加扰key的保护,key不会被泄露,DD Rrange分段加密,即使其中的一个key被破解,也仅会影响当前key所在的range,其它rangge的数据还是安全的。采用AES-DEC算法对EFUSE中的密钥进行加密,提高了密钥的安全性,通过addr和s ize判断当前数据处于哪块range,同时得到对应的key_id,提高了加解密的效率和准确性。使用SRAM作为key store,保证了key的机密性和不可篡改性。
本申请中可以对内存中的不同个区块进行独立的加密和解密处理;每次系统启动时使用的密钥值均不相同;保护密钥的高机密性a.确保只有DDR SRC可以访问该密钥,而CPU及其他主控单元均无法获取;b.采用EFUSE和TRNG双重安全机制以提高保护强度。
本申请的加扰方案由三个核心组件构成:密钥生成器(Key gen)、密钥库(keystore)、以及加解密引擎(crypto engine)。密钥生成器负责产生512位的强密钥,密钥库则是专门为存储密钥设置的SRAM。加解密引擎由范围检测器(range detector)和加扰器(Scrambler)两部分组成。第一部分,范围检测器根据地址和大小判断数据所属的范围区块,并提取相应的密钥ID;第二部分,加扰器则利用该密钥ID取得的密钥对输入数据进行加密或解密处理。由于不同区块使用独立的密钥,即便某个密钥遭到破坏,也不会影响到其他密钥的安全性。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
实施例2
根据本申请实施例,还提供了一种扰码器,图6是根据本申请实施例2的一种扰码器的结构示意图,如图6所示,该扰码器306包括:密钥库3061、加解密引擎3062。
其中,密钥库,用于存储多个地址段对应的密钥,多个地址段是对存储器对应的地址空间进行划分得到的地址段,不同地址段对应的密钥不同;加解密引擎,用于基于输入数据的存储信息,从多个地址段中确定输入数据对应的目标地址段,基于目标地址段对应的目标密钥标识从密钥库获取目标地址段对应的目标密钥,并基于目标密钥对输入数据进行加密或解密操作,得到输出数据,其中,输入数据用于表征输入至扰码器的数据,输出数据用于表征从扰码器输出的数据,存储信息包括如下至少之一:输入数据在存储器中存储的内存地址、输入数据在存储器中存储所占用的内存单元的数量。
本申请上述实施例中,加解密引擎包括:范围检测器,用于基于输入数据的存储信息,从多个地址段中确定目标地址段,并发送目标密钥标识至密钥库;扰码单元,用于接收密钥库返回的目标密钥,并基于目标密钥对输入数据进行加密或解密操作。
本申请上述实施例中,扰码器还包括:密钥生成器,与密钥库连接,用于基于预设位数的多个随机数生成多个地址段对应的密钥。
本申请上述实施例中,密钥生成器包括:随机数生成器,用于生成预设位数的多个随机数;电子熔断器,用于存储预设密钥;密钥派生函数引擎,与随机数生成器和电子熔断器连接,用于利用预设密钥分别对多个随机数进行加密,得到多个地址段对应的密钥。
实施例3
根据本申请实施例,还提供了一种数据安全处理方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此的顺序执行所示出或描述的步骤。
图7是根据本申请实施例3的一种数据安全处理方法的流程图,如图7所示,该方法包括如下步骤:
步骤S702,接收数据访问请求;
其中,数据访问请求用于访问存储器中存储的目标数据。
上述的数据访问请求可以是任意的设备根据数据访问需求生成。
在一种可选的实施例中,若需要对存储器中的存储数据进行访问以用于实际的处理过程中,可以生成数据访问请求,以便根据该数据访问请求对存储器中的数据进行访问。
步骤S704,基于数据访问请求,从存储器对应的多个地址段中确定目标数据对应的目标地址段;
其中,多个地址段是对存储器对应的地址空间进行划分得到的地址段。
上述的数据访问请求中可以包含有所需访问的目标数据的数据存储信息,可以根据该数据存储信息从存储器对应的多个地址段中确定所需访问的目标数据对应的目标地址段。
步骤S706,基于目标地址段对应的目标密钥对目标数据进行加密或解密操作。
其中,不同地址段对应的密钥不同。
可以在扰码器中基于该目标地址段对应的目标密钥对目标数据进行加密或解密操作,由于不同地址段对应的密钥不同,因此在某一地址段的密钥出现泄漏或遭到攻击的情况下,不会对其他地址段的密钥造成影响,可以提高数据存储的安全性。
通过上述步骤,接收数据访问请求,其中,数据访问请求用于访问存储器中存储的目标数据;基于数据访问请求,从存储器对应的多个地址段中确定目标数据对应的目标地址段,其中,多个地址段是对存储器对应的地址空间进行划分得到的地址段;基于目标地址段对应的目标密钥对目标数据进行加密或解密操作,其中,不同地址段对应的密钥不同,实现了提高数据存储的安全性;容易注意到的是,可以在存储器和处理组件之间跨接扰码器,对存储器中的地址空间进行划分,得到多个地址段,并且为不同地址段设置有不同的密钥,通过为地址空间中不同的地址段设置独立的密钥,由于不同的地址段设置有独立的密钥,在某个密钥遭到破坏时,也不会影响到其他密钥的安全性,从而保护其他密钥对应地址段的数据,可以极大程度的提高对存储器中数据的安全性,进而解决了相关技术中数据存储的安全性较低的技术问题。
本申请上述实施例中,基于数据访问请求,从存储器对应的多个地址段中确定目标数据对应的目标地址段,包括:基于数据访问请求中携带的目标数据的存储信息,从多个地址段中确定目标地址段,其中,存储信息包括如下至少之一:目标数据在存储器中存储的内存地址、目标数据在存储器中存储所占用的内存单元的数量。
本申请上述实施例中,该方法还包括:确定目标地址段对应的目标密钥标识;基于目标密钥标识从密钥库获取目标密钥。
本申请上述实施例中,该方法还包括:获取预设位数的多个随机数;基于多个随机数分别生成多个地址段对应的密钥。
本申请上述实施例中,基于多个随机数分别生成多个地址段对应的密钥,包括:获取电子熔断器中存储的预设密钥;利用预设密钥分别对多个随机数进行加密,得到多个地址段对应的密钥。
需要说明的是,本申请上述实施例中涉及到的优选实施方案与实施例1提供的方案以及应用场景、实施过程相同,但不仅限于实施例1所提供的方案。
实施例4
根据本申请实施例,还提供了一种数据安全处理方法的数据安全处理装置,图8是根据本申请实施例4的一种数据安全处理装置的示意图,如图8所示,该装置800包括:接收模块802、确定模块804、操作模块806。
其中,接收模块用于接收数据访问请求,其中,数据访问请求用于访问存储器中存储的目标数据;确定模块用于基于数据访问请求,从存储器对应的多个地址段中确定目标数据对应的目标地址段,其中,多个地址段是对存储器对应的地址空间进行划分得到的地址段;操作模块用于基于目标地址段对应的目标密钥对目标数据进行加密或解密操作,其中,不同地址段对应的密钥不同。
此处需要说明的是,上述接收模块802、确定模块804、操作模块806对应于实施例3中的步骤S702至步骤S706,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块或单元可以是存储在存储器中并由一个或多个处理器处理的硬件组件或软件组件,上述模块也可以作为装置的一部分可以运行在实施例1提供的服务器10中。
本申请上述实施例中,确定模块还用于基于数据访问请求中携带的目标数据的存储信息,从多个地址段中确定目标地址段,其中,存储信息包括如下至少之一:目标数据在存储器中存储的内存地址、目标数据在存储器中存储所占用的内存单元的数量。
本申请上述实施例中,该装置还包括:获取模块。
其中,确定模块还用于确定目标地址段对应的目标密钥标识;获取模块还用于基于目标密钥标识从密钥库获取目标密钥。
本申请上述实施例中,该装置还包括:生成模块。
其中,获取模块还用于获取预设位数的多个随机数;生成模块用于基于多个随机数分别生成多个地址段对应的密钥。
本申请上述实施例中,生成模块还用于获取电子熔断器中存储的预设密钥;利用预设密钥分别对多个随机数进行加密,得到多个地址段对应的密钥。
需要说明的是,本申请上述实施例中涉及到的优选实施方案与实施例1提供的方案以及应用场景、实施过程相同,但不仅限于实施例1所提供的方案。
实施例5
根据本申请实施例,还提供了一种片上系统,包括:上述实施例中任意一项的数据安全处理系统。
实施例6
本申请的实施例可以提供一种电子设备,该电子设备可以是电子设备群中的任意一个电子设备。可选地,在本实施例中,上述电子设备也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行方法中的程序代码。
可选地,图9是根据本申请实施例的一种电子设备的结构框图。如图9所示,该电子设备A可以包括:一个或多个(图中仅示出一个)处理器102、存储器104、存储控制器、以及外设接口,其中,外设接口与射频模块、音频模块和显示器连接。
其中,存储器可用于存储软件程序以及模块,如本申请实施例中的方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述实施例中的方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:接收数据访问请求,其中,数据访问请求用于访问存储器中存储的目标数据;基于数据访问请求,从存储器对应的多个地址段中确定目标数据对应的目标地址段,其中,多个地址段是对存储器对应的地址空间进行划分得到的地址段;基于目标地址段对应的目标密钥对目标数据进行加密或解密操作,其中,不同地址段对应的密钥不同。
可选的,上述处理器还可以执行如下步骤的程序代码:基于数据访问请求中携带的目标数据的存储信息,从多个地址段中确定目标地址段,其中,存储信息包括如下至少之一:目标数据在存储器中存储的内存地址、目标数据在存储器中存储所占用的内存单元的数量。
可选的,上述处理器还可以执行如下步骤的程序代码:确定目标地址段对应的目标密钥标识;基于目标密钥标识从密钥库获取目标密钥。
可选的,上述处理器还可以执行如下步骤的程序代码:获取预设位数的多个随机数;基于多个随机数分别生成多个地址段对应的密钥。
可选的,上述处理器还可以执行如下步骤的程序代码:获取电子熔断器中存储的预设密钥;利用预设密钥分别对多个随机数进行加密,得到多个地址段对应的密钥。
采用本申请实施例,接收数据访问请求,其中,数据访问请求用于访问存储器中存储的目标数据;基于数据访问请求,从存储器对应的多个地址段中确定目标数据对应的目标地址段,其中,多个地址段是对存储器对应的地址空间进行划分得到的地址段;基于目标地址段对应的目标密钥对目标数据进行加密或解密操作,其中,不同地址段对应的密钥不同,实现了提高数据存储的安全性;容易注意到的是,可以在存储器和处理组件之间跨接扰码器,对存储器中的地址空间进行划分,得到多个地址段,并且为不同地址段设置有不同的密钥,通过为地址空间中不同的地址段设置独立的密钥,由于不同的地址段设置有独立的密钥,在某个密钥遭到破坏时,也不会影响到其他密钥的安全性,从而保护其他密钥对应地址段的数据,可以极大程度的提高对存储器中数据的安全性,进而解决了相关技术中数据存储的安全性较低的技术问题。
本领域普通技术人员可以理解,如图9所示的结构仅为示意,电子设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(MobileInternetDevices,MID)、PAD等终端设备。该图9其并不对上述电子装置的结构造成限定。例如,电子设备A还可包括比该图中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与该图所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例7
本申请的实施例还提供了一种计算机可读存储介质。可选地,在本实施例中,上述计算机可读存储介质可以用于保存上述实施例所提供的方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中电子设备群中的任意一个电子设备中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,计算机可读存储介质被设置为存储用于执行以下步骤的程序代码:接收数据访问请求,其中,数据访问请求用于访问存储器中存储的目标数据;基于数据访问请求,从存储器对应的多个地址段中确定目标数据对应的目标地址段,其中,多个地址段是对存储器对应的地址空间进行划分得到的地址段;基于目标地址段对应的目标密钥对目标数据进行加密或解密操作,其中,不同地址段对应的密钥不同。
可选地,计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:基于数据访问请求中携带的目标数据的存储信息,从多个地址段中确定目标地址段,其中,存储信息包括如下至少之一:目标数据在存储器中存储的内存地址、目标数据在存储器中存储所占用的内存单元的数量。
可选地,计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:确定目标地址段对应的目标密钥标识;基于目标密钥标识从密钥库获取目标密钥。
可选地,计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:获取预设位数的多个随机数;基于多个随机数分别生成多个地址段对应的密钥。
可选地,计算机可读存储介质还被设置为存储用于执行以下步骤的程序代码:获取电子熔断器中存储的预设密钥;利用预设密钥分别对多个随机数进行加密,得到多个地址段对应的密钥。
采用本申请实施例,接收数据访问请求,其中,数据访问请求用于访问存储器中存储的目标数据;基于数据访问请求,从存储器对应的多个地址段中确定目标数据对应的目标地址段,其中,多个地址段是对存储器对应的地址空间进行划分得到的地址段;基于目标地址段对应的目标密钥对目标数据进行加密或解密操作,其中,不同地址段对应的密钥不同,实现了提高数据存储的安全性;容易注意到的是,可以在存储器和处理组件之间跨接扰码器,对存储器中的地址空间进行划分,得到多个地址段,并且为不同地址段设置有不同的密钥,通过为地址空间中不同的地址段设置独立的密钥,由于不同的地址段设置有独立的密钥,在某个密钥遭到破坏时,也不会影响到其他密钥的安全性,从而保护其他密钥对应地址段的数据,可以极大程度的提高对存储器中数据的安全性,进而解决了相关技术中数据存储的安全性较低的技术问题。
实施例8
本申请的实施例还提供了一种计算机程序产品。可选地,在本实施例中,上述计算机程序产品可以包括计算机程序,上述计算机程序在被处理器执行时实现上述实施例所提供的方法。
实施例9
本申请的实施例还提供了一种计算机程序产品。可选地,上述计算机程序产品可以包括非易失性计算机可读存储介质,上述非易失性计算机可读存储介质可以用于存储计算机程序,上述计算机程序被处理器执行时实现上述实施例所提供的方法。
实施例10
本申请的实施例还提供了一种计算机程序。可选地,在本实施例中,上述计算机程序被处理器执行时实现上述实施例所提供的方法。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (19)

1.一种数据安全处理系统,其特征在于,包括:
存储器,用于存储数据;
处理组件,用于生成数据访问请求,其中,所述数据访问请求用于访问所述存储器中存储的目标数据;
扰码器,跨接在所述存储器和所述处理组件之间,用于基于所述数据访问请求,从所述存储器对应的多个地址段中确定所述目标数据对应的目标地址段,并基于所述目标地址段对应的目标密钥对所述目标数据进行加密或解密操作,其中,所述多个地址段是对所述存储器对应的地址空间进行划分得到的地址段,不同地址段对应的密钥不同。
2.根据权利要求1所述的系统,其特征在于,所述扰码器包括:
密钥库,用于存储所述多个地址段对应的密钥;
加解密引擎,用于基于所述数据访问请求中携带的所述目标数据的存储信息,从所述多个地址段中确定所述目标地址段,并基于所述目标地址段对应的目标密钥标识从所述密钥库获取所述目标密钥,其中,所述存储信息包括如下至少之一:所述目标数据在所述存储器中存储的内存地址、所述目标数据在所述存储器中存储所占用的内存单元的数量。
3.根据权利要求2所述的系统,其特征在于,所述加解密引擎包括:
范围检测器,用于基于所述目标数据的存储信息,从所述多个地址段中确定所述目标地址段,并发送所述目标密钥标识至所述密钥库;
扰码单元,用于接收所述密钥库返回的所述目标密钥,并基于所述目标密钥对所述目标数据进行加密或解密操作。
4.根据权利要求2所述的系统,其特征在于,所述密钥库还用于在接收到的密钥查询请求的发送对象是所述加解密引擎的情况下,输出所述密钥查询请求对应的密钥;或,所述密钥库与所述加解密引擎电连接。
5.根据权利要求2所述的系统,其特征在于,所述扰码器还包括:
密钥生成器,与所述密钥库连接,用于基于预设位数的多个随机数生成所述多个地址段对应的密钥。
6.根据权利要求5所述的系统,其特征在于,所述密钥生成器包括:
随机数生成器,用于生成所述预设位数的多个随机数;
电子熔断器,用于存储预设密钥;
密钥派生函数引擎,与所述随机数生成器和所述电子熔断器连接,用于利用所述预设密钥分别对所述多个随机数进行加密,得到所述多个地址段对应的密钥。
7.根据权利要求5所述的系统,其特征在于,所述密钥库包括:锁存器,用于存储所述密钥生成器生成的所述多个地址段对应的密钥,或所述密钥库用于在所述多个地址段对应的密钥存储成功的情况下,将所述密钥库的锁存标志位调整为锁定状态。
8.根据权利要求2所述的系统,其特征在于,所述密钥库是静态随机存取存储器。
9.根据权利要求1所述的系统,其特征在于,所述处理组件采用精简指令集计算机架。
10.一种扰码器,其特征在于,包括:
密钥库,用于存储多个地址段对应的密钥,所述多个地址段是对存储器对应的地址空间进行划分得到的地址段,不同地址段对应的密钥不同;
加解密引擎,用于基于输入数据的存储信息,从所述多个地址段中确定所述输入数据对应的目标地址段,基于所述目标地址段对应的目标密钥标识从所述密钥库获取所述目标地址段对应的目标密钥,并基于所述目标密钥对所述输入数据进行加密或解密操作,得到输出数据,其中,所述输入数据用于表征输入至所述扰码器的数据,所述输出数据用于表征从所述扰码器输出的数据,所述存储信息包括如下至少之一:所述输入数据在所述存储器中存储的内存地址、所述输入数据在所述存储器中存储所占用的内存单元的数量。
11.根据权利要求10所述的扰码器,其特征在于,所述加解密引擎包括:
范围检测器,用于基于所述输入数据的存储信息,从所述多个地址段中确定所述目标地址段,并发送所述目标密钥标识至所述密钥库;
扰码单元,用于接收所述密钥库返回的所述目标密钥,并基于所述目标密钥对所述输入数据进行加密或解密操作。
12.根据权利要求10所述的扰码器,其特征在于,所述扰码器还包括:
密钥生成器,与所述密钥库连接,用于基于预设位数的多个随机数生成所述多个地址段对应的密钥。
13.根据权利要求12所述的扰码器,其特征在于,所述密钥生成器包括:
随机数生成器,用于生成所述预设位数的多个随机数;
电子熔断器,用于存储预设密钥;
密钥派生函数引擎,与所述随机数生成器和所述电子熔断器连接,用于利用所述预设密钥分别对所述多个随机数进行加密,得到所述多个地址段对应的密钥。
14.一种数据安全处理方法,其特征在于,包括:
接收数据访问请求,其中,所述数据访问请求用于访问存储器中存储的目标数据;
基于所述数据访问请求,从所述存储器对应的多个地址段中确定所述目标数据对应的目标地址段,其中,所述多个地址段是对所述存储器对应的地址空间进行划分得到的地址段;
基于所述目标地址段对应的目标密钥对所述目标数据进行加密或解密操作,其中,不同地址段对应的密钥不同。
15.根据权利要求14所述的方法,其特征在于,所述基于所述数据访问请求,从所述存储器对应的多个地址段中确定所述目标数据对应的目标地址段,包括:
基于所述数据访问请求中携带的所述目标数据的存储信息,从所述多个地址段中确定所述目标地址段,其中,所述存储信息包括如下至少之一:所述目标数据在所述存储器中存储的内存地址、所述目标数据在所述存储器中存储所占用的内存单元的数量。
16.根据权利要求15所述的方法,其特征在于,所述方法还包括:
确定所述目标地址段对应的目标密钥标识;
基于所述目标密钥标识从密钥库获取所述目标密钥。
17.根据权利要求15所述的方法,其特征在于,所述方法还包括:
获取预设位数的多个随机数;
基于所述多个随机数分别生成所述多个地址段对应的密钥。
18.根据权利要求17所述的方法,其特征在于,所述基于所述多个随机数分别生成所述多个地址段对应的密钥,包括:
获取电子熔断器中存储的预设密钥;
利用所述预设密钥分别对所述多个随机数进行加密,得到所述多个地址段对应的密钥。
19.一种片上系统,其特征在于,包括:权利要求1至9中任意一项所述的数据安全处理系统。
CN202410525989.1A 2024-04-26 数据安全处理系统、扰码器和数据安全处理方法 Pending CN118350063A (zh)

Publications (1)

Publication Number Publication Date
CN118350063A true CN118350063A (zh) 2024-07-16

Family

ID=

Similar Documents

Publication Publication Date Title
CA3078558C (en) A system and method for quantum-safe authentication, encryption and decryption of information
CN109858265B (zh) 一种加密方法、装置及相关设备
CN106529308B (zh) 一种数据加密方法、装置及移动终端
CN107959567B (zh) 数据存储方法、数据获取方法、装置及系统
CN106980794B (zh) 基于TrustZone的文件加解密方法、装置及终端设备
CN106997439B (zh) 基于TrustZone的数据加解密方法、装置及终端设备
Dwoskin et al. Hardware-rooted trust for secure key management and transient trust
US9317708B2 (en) Hardware trust anchors in SP-enabled processors
EP2267628B1 (en) Token passing technique for media playback devices
CN107506659B (zh) 一种基于sgx的通用数据库的数据保护系统及方法
Skillen et al. On implementing deniable storage encryption for mobile devices
KR20180094118A (ko) 메모리 동작 암호화
CN106452770B (zh) 一种数据加密方法、解密方法、装置和系统
MX2007014237A (es) Implementacion de almacenamiento seguro con integridad protegida.
EP0966810A2 (en) Secure deterministic encryption key generator system and method
Elbaz et al. A parallelized way to provide data encryption and integrity checking on a processor-memory bus
CN112035860A (zh) 文件加密方法、终端、装置、设备及介质
CN106209346B (zh) 白盒密码技术交错查找表
CN114942729A (zh) 一种计算机系统的数据安全存储与读取方法
US20220198068A1 (en) Privacy-enhanced computation via sequestered encryption
CN109302442B (zh) 一种数据存储证明方法及相关设备
CN116594567A (zh) 信息管理方法、装置和电子设备
US8755521B2 (en) Security method and system for media playback devices
Mohammad et al. Required policies and properties of the security engine of an SoC
CN118350063A (zh) 数据安全处理系统、扰码器和数据安全处理方法

Legal Events

Date Code Title Description
PB01 Publication