CN116094838A - 一种数据加密方法及相关组件 - Google Patents
一种数据加密方法及相关组件 Download PDFInfo
- Publication number
- CN116094838A CN116094838A CN202310356890.9A CN202310356890A CN116094838A CN 116094838 A CN116094838 A CN 116094838A CN 202310356890 A CN202310356890 A CN 202310356890A CN 116094838 A CN116094838 A CN 116094838A
- Authority
- CN
- China
- Prior art keywords
- data
- processed
- storage module
- key data
- pointer
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 90
- 230000009977 dual effect Effects 0.000 claims description 13
- 238000013500 data storage Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 13
- 230000001960 triggered effect Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 241001504505 Troglodytes troglodytes Species 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000000586 desensitisation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种数据加密方法及相关组件,涉及数据传输领域。该方案应用于密码设备中的处理器,具体通过接收服务器发送的待处理数据,并区分待处理数据中的关键数据和非关键数据;对待处理数据中的关键数据进行加密处理;将加密后的关键数据和非关键数据写入第一存储模块,以便客户端从第一存储模块中读取数据。本申请中通过硬件设备实现对关键数据加密和存储,可以提高对关键数据进行加密的安全性,从而避免在软件层对数据进行加密存在的黑客侵入进而导致数据泄漏的问题。此外,本申请中的方式对服务器传输的所有待处理数据进行选择性的加密,不必对所有的待处理数据进行加密,处理方式灵活方便,在一定程度上减小了加密所需的功耗。
Description
技术领域
本申请涉及数据处理领域,特别涉及一种数据加密方法及相关组件。
背景技术
具体地,在数据传输的过程中,通常会根据数据的重要程度为数据划分重要等级,而对于等级较高的数据而言,若出现泄漏,可能会危害人身和财产安全。
因此,相关技术中通常会对等级较高的数据进行加密处理,以防止数据在传输过程中出现泄漏。但是相关技术中对数据进行加密处理时,通常是在软件层对数据进行加密的,如文件加密、数据脱敏或设置数据访问权限等。使用上述方式时,一旦存在黑客侵入系统,会破坏软件层中的加密系统,进而可能导致数据泄漏。也即,目前在软件层进行数据加密的方式安全性较低。
发明内容
本申请的目的是提供一种数据加密方法及相关组件,通过硬件设备实现对关键数据加密和存储,可以提高对关键数据进行加密的安全性,从而避免在软件层对数据进行加密存在的黑客侵入进而导致数据泄漏的问题。此外,本申请中的方式对服务器传输的所有待处理数据进行选择性的加密,不必对所有的待处理数据进行加密,处理方式灵活方便,在一定程度上减小了加密所需的功耗。
为解决上述技术问题,本申请提供了一种数据加密方法,应用于密码设备中的处理器,所述密码设备还包括第一存储模块;所述方法包括:
接收服务器发送的待处理数据,并区分所述待处理数据中的关键数据和非关键数据;
对所述待处理数据中的关键数据进行加密处理,得到加密后的关键数据;
将所述加密后的关键数据和所述非关键数据写入所述第一存储模块,以便客户端从所述第一存储模块中读取数据。
优选地,接收服务器发送的待处理数据,并区分所述待处理数据中的关键数据和非关键数据,包括:
接收所述服务器发送的待处理数据,识别各个所述待处理数据是否携带加密标识;
若是,则确定携带所述加密标识的数据为所述关键数据,否则,确定为所述非关键数据。
优选地,所述密码设备还包括第二存储模块;区分所述待处理数据中的关键数据和非关键数据之后,还包括:
将与所述关键数据对应的数据标识写入所述第二存储模块;
对所述待处理数据中的关键数据进行加密处理,得到加密后的关键数据,包括:
在对当前需要处理的待处理数据进行处理时,读取所述第二存储模块中的数据标识;
判断当前需要处理的待处理数据的标识与所述第二存储模块中的数据标识是否相同;
若相同,则判定数据标识相同的待处理数据为所述关键数据,并对所述待处理数据中的关键数据进行加密处理,得到加密后的关键数据;
否则判定为所述非关键数据,并直接将所述非关键数据写入所述第一存储模块。
优选地,所述处理器中设有第一指针和第二指针;对所述待处理数据中的关键数据进行加密处理,得到加密后的关键数据,包括:
在对所述待处理数据进行处理时,控制所述第一指针指向当前需要处理的一个待处理数据,控制所述第二指针指向所述第二存储模块中的一个数据标识;
判断所述第二指针指向的数据标识和所述第一指针指向的待处理数据对应的标识是否相同;
若是,则判定所述第一指针指向的待处理数据为所述关键数据,对所述第一指针指向的关键数据进行加密处理,得到加密后的关键数据;否则,判定所述第一指针指向的待处理数据为所述非关键数据;
将所述加密后的关键数据和所述非关键数据写入所述第一存储模块,包括:
将所述加密后的关键数据写入所述第一存储模块,并控制所述第一指针指向下一个待处理数据,以及控制所述第二指针指向下一个数据标识;
将所述非关键数据写入所述第一存储模块,并控制所述第一指针指向下一个待处理数据。
优选地,所述第一存储模块及所述第二存储模块的个数为N个,则所述处理器中设有N个状态机线程、N个所述第一指针及N个所述第二指针,且N个所述状态机线程、N个所述第一指针、N个所述第二指针、N个所述第一存储模块和N个所述第二存储模块之间一一对应;N为大于1的整数;
对所述待处理数据中的关键数据进行加密处理,得到加密后的关键数据,包括:
在对所述待处理数据进行处理时,通过N个所述状态机线程并行地控制各个所述第一指针指向当前需要处理的N个待处理数据,以及控制各个所述第二指针指向和自身对应的第二存储模块中的一个数据标识;
判断各个所述第二指针指向的数据标识与和自身对应的第一指针指向的待处理数据对应的标识是否相同;
若是,则判定所述第一指针指向的待处理数据为所述关键数据,对所述第一指针指向的关键数据进行加密处理,得到加密后的关键数据;
否则,判定所述第一指针指向的待处理数据为非关键数据;
将所述加密后的关键数据和所述非关键数据写入所述第一存储模块,包括:
将加密后的关键数据写入和自身对应的第一存储模块,并控制所述第一指针指向下一个待处理数据,以及控制所述第二指针指向和自身对应的第二存储模块中的下一个数据标识;
直接将所述第一指针指向的非关键数据写入和自身对应的第一存储模块,并控制所述第一指针指向下一个待处理数据。
优选地,还包括:
接收所述服务器发送的控制信号,并根据所述控制信号确定若干个第一目标存储模块;
控制确定的若干个所述第一目标存储模块以及与确定的各个所述第一存储模块对应的第二存储模块处于工作状态。
优选地,所述客户端从所述第一存储模块中读取数据,包括:
所述客户端启用N个线程,并通过N个所述线程并行地从N个所述第一存储模块中读取数据;
其中N个线程与N个所述第一存储模块一一对应。
优选地,在每将一个数据写入所述第一存储模块之后,还包括:
判断是否完成对接收到的所有待处理数据的处理;
根据判断结果确定是否触发所述客户端对所述第一存储模块中数据的读取。
优选地,根据判断结果确定是否触发所述客户端对所述第一存储模块中数据的读取,包括:
在判定完成对接收到的所有待处理数据的处理时,触发所述客户端对所述第一存储模块中数据的读取,否则,不触发客户端对所述第一存储模块中数据的读取。
优选地,所述第一存储模块为单端口存储器或者单端口存储队列。
优选地,在每将一个数据写入所述第一存储模块之后,还包括:
触发所述客户端实时对所述第一存储模块中的数据进行读取。
优选地,所述第一存储模块为双端口存储器或双端口存储队列。
优选地,所述数据标识为与所述关键数据对应的序号。
优选地,所述第二存储模块为包括多个寄存器的寄存器组,且每个所述寄存器中存储一个数据标识。
优选地,对所述关键数据进行加密处理,得到加密后的关键数据,包括:
利用对称密码算法对所述关键数据进行加密处理,得到加密后的关键数据。
优选地,所述密码设备还包括与处理器连接的加密模块;对所述待处理数据中的关键数据进行加密处理,得到加密后的关键数据,包括:
将所述关键数据发送至所述加密模块,以使所述加密模块对所述关键数据进行加密处理,得到加密后的关键数据;
接收所述加密模块发送的加密后的关键数据,并进入将加密后的关键数据写入所述第一存储模块的步骤。
优选地,所述密码设备还包括与所述处理器连接的第三存储模块;
对所述关键数据进行加密处理,得到加密后的关键数据,包括:
读取所述第三存储模块中存储的加密参数,并根据所述加密参数对所述关键数据进行加密处理,得到加密后的关键数据。
优选地,所述第三存储模块为非易失性存储器。
为解决上述技术问题,本申请还提供了一种数据加密装置,应用于密码设备中的处理器,所述密码设备还包括第一存储模块;所述装置包括:
数据接收单元,用于接收服务器发送的待处理数据,并区分所述待处理数据中的关键数据和非关键数据;
加密处理单元,用于对所述待处理数据中的关键数据进行加密处理,得到加密后的关键数据;
第一数据存储单元,用于将所述加密后的关键数据和所述非关键数据写入所述第一存储模块,以便客户端从所述第一存储模块中读取数据。
为解决上述技术问题,本申请还提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于在执行所述计算机程序时,实现如上述所述的数据加密方法的步骤。
为解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的数据加密方法的步骤。
为解决上述技术问题,本申请还提供了一种服务器,包括如上述所述的电子设备。
本申请提供了一种数据加密方法及相关组件,涉及数据传输领域。该方案中,应用于密码设备中的处理器,具体通过接收服务器发送的待处理数据,并区分待处理数据中的关键数据和非关键数据;对待处理数据中的关键数据进行加密处理;将加密后的关键数据和非关键数据写入第一存储模块,以便客户端从第一存储模块中读取数据。本申请中通过硬件设备实现对关键数据加密和存储,可以提高对关键数据进行加密的安全性,从而避免在软件层对数据进行加密存在的黑客侵入进而导致数据泄漏的问题。此外,本申请中的方式对服务器传输的所有待处理数据进行选择性的加密,不必对所有的待处理数据进行加密,处理方式灵活方便,在一定程度上减小了加密所需的功耗。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种数据加密方法的流程示意图;
图2为本申请提供的一种密码设备的连接关系示意图;
图3为本申请提供的一种密码设备的具体实现示意图;
图4为本申请提供的一种密码设备的数据处理流程图;
图5为本申请提供的一种数据加密装置进行数据并行处理时的示意图;
图6为本申请提供的一种处理器的状态流程图;
图7为本申请提供的一种基于双端口的第一存储模块的数据加密装置示意图;
图8为本申请提供的一种双端口RAM的端口设置以及与处理器的连接方式示意图;
图9为本申请提供的一种FIFO的端口设置以及与处理器的连接方式示意图;
图10为本申请提供的一种数据加密装置的结构框图;
图11为本申请提供的一种电子设备的结构框图;
图12为本申请提供的一种计算机可读存储介质的结构框图。
具体实施方式
本申请的核心是提供一种数据加密方法及相关组件,通过硬件设备实现对关键数据加密和存储,可以提高对关键数据进行加密的安全性,从而避免在软件层对数据进行加密存在的黑客侵入进而导致数据泄漏的问题。此外,本申请中的方式对服务器传输的所有待处理数据进行选择性的加密,不必对所有的待处理数据进行加密,处理方式灵活方便,在一定程度上减小了加密所需的功耗。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请中提供了一种使用硬件设备(密码设备11)对数据进行加密的方式,从而在实际应用中,可以直接使用硬件设备或者硬件设备与软件层加密相结合的方式对数据进行加密,提高数据处理过程中的安全性和可靠性,防止数据被泄漏。具体可参照图1和图2,图1为本申请提供的一种数据加密方法的流程示意图,图2为本申请提供的一种密码设备的连接关系示意图。具体地,数据加密方法应用于密码设备11中的处理器21,密码设备11还包括第一存储模块22;方法包括:
S11:接收服务器发送的待处理数据,并区分待处理数据中的关键数据和非关键数据;
S12:对待处理数据中的关键数据进行加密处理,得到加密后的关键数据;
S13:将加密后的关键数据和非关键数据写入第一存储模块22,以便客户端从第一存储模块22中读取数据。
具体地,本申请中的密码设备11为在硬件层对服务下发时的待处理数据进行加密或者不加密处理的硬件设备。具体地,服务器下发一组或者若干组待处理数据至密码设备11中,密码设备11中的处理器21区分其中的关键数据和非关键数据,以对不同种数据进行不同的处理,具体地将非关键数据直接存储在第一存储模块22中(也即是以明文的方式直接进行传输及写入),将关键数据首先进行加密处理,然后将加密处理之后的关键数据再写入第一存储模块22中,通过本实施例中的方式,可以对所有的待处理数据进行区别处理,不必对所有的待处理数据进行加密或者不加密处理,实现方式灵活简单。
需要理解的是,本申请中的关键数据可以为重要等级大于预设等级的数据,非关键数据为重要等级不大于预设等级的数据。数据等级的划分可以是用户提前设置的。
进一步的,密码设备11中还包括电源模块和时钟模块,其中电源模块为密码设备11提供电源电压,此电源模块可以是单独为密码设备11设置的电源,也可以是复用服务器中的任意一个电源,在密码设备11中的多个硬件模块所需要的电压不同时,电源模块还可以包括电压转换模块。时钟模块用于输出参考时钟,以便于密码设备11中的各个硬件模块基于参考时钟同步工作。对于电源模块和时钟模块的具体实现方式本申请在此不再限定。
可见,本申请通过在硬件层对关键数据进行保护,防止出现软件层面的安全风险,提升关键数据使用的安全性。
进一步需要说明的是,本申请中以下实施例主要介绍在硬件设备上对数据进行加密的实现方式,但是在实际应用中,对数据进行加密时,加密方式应至少包括以下实施例中所介绍的在硬件设备上对数据进行加密的方式,还可以包括在软件层对数据进行加密的方式,也即,在服务器中,可以同时使用软件加密和硬件加密两种方式,以最大程度地提高数据的安全性。
其中,使用软件对关键数据加密的方式可以但不限于包括:对包含敏感信息的数据文件进行加密、对关键数据进行脱敏显示、或对文件设置访问权限等方法。
具体地,对包含敏感信息的数据文件进行加密的具体实现为:在系统软件层,对包含敏感信息的整个数据文件进行加密,具体包括内核加密和文件系统加密两种方法。其中,内核加密是通过对Linux系统初始RAM(Random Access Memory,随机存取存储器)磁盘进行加密来实现的;文件系统加密是通过Linux设备映射技术实现的。
具体地,对关键数据进行脱敏显示的具体实现方式为:在系统界面,对于关键数据进行脱敏显示,例如个人邮箱、电话等重要信息不全部显示,只显示其中一部分,其余部分以“****”显示。
具体地,对文件设置访问权限的具体实现方式为:对包含关键数据的文件设置访问权限,只有具备文件访问权限的用户才能访问,例如系统管理员等用户具备文件的读写权限,其余用户不能访问。
以上只是本实施例提供的若干个具体实现方式,也可以是其他的实现方式,本申请在此不做特别的限定。
另外,也可以是将不包括关键数据的待处理数据通过软件层加密的方式处理,将包括关键数据的待处理数据通过硬件设备加密的方式进行处理。
在上述实施例的基础上:
请参照图3,图3为本申请提供的一种密码设备的具体实现示意图。
作为一种优选的实施例,密码设备11还包括与处理器21连接的加密模块;对待处理数据中的关键数据进行加密处理,得到加密后的关键数据,包括:
将关键数据发送至加密模块,以使加密模块对关键数据进行加密处理,得到加密后的关键数据;
接收加密模块发送的加密后的关键数据,并进入将加密后的关键数据写入第一存储模块22的步骤。
本实施例旨在提供一种对关键数据进行加密的具体方式,具体地,密码设备11中设置有处理器21和加密模块,处理器21用于判断是否为关键数据,以及在第一存储模块22、加密模块和服务器端之间进行数据传输。具体地,处理器21用于接收服务器发送的待处理数据,并区分待处理数据中的关键数据和非关键数据,将非关键数据写入第一存储模块22,将关键数据发送至加密模块;加密模块在接收到处理器21发送的关键数据之后,对关键数据进行加密处理,并将加密后的关键数据发送至处理器21,处理器21将接收到的加密后的关键数据写入第一存储模块22。
作为一种优选的实施例,加密模块对关键数据进行加密处理,得到加密后的关键数据,包括:
加密模块利用对称密码算法对关键数据进行加密处理,得到加密后的关键数据。
其中,加密模块对关键数据进行加密时,使用的加密算法可以但不限于为对称密码算法,如AES(Advanced Encryption Standard,高级加密标准)、3DES(三重数据加密算法,Triple Data Encryption Algorithm)、SM4(分组加密算法)等对称密码算法,相比于哈希算法等,此算法具有可逆性。
作为一种优选的实施例,密码设备11还包括与处理器21连接的第三存储模块24;
对关键数据进行加密处理,得到加密后的关键数据,包括:
读取第三存储模块24中存储的加密参数,并根据加密参数对关键数据进行加密处理,得到加密后的关键数据。
作为一种优选的实施例,第三存储模块24为非易失性存储器。
具体的,图3中,加密模块可以包括密码算法模块25及第三存储模块24,其中,第三存储模块24用于存储加密参数,如密钥、初始向量等。密码算法模块25在对关键数据进行加密时,获取第三存储模块24中存储的加密参数,以根据加密参数对关键数据进行加密。
其中第三存储模块24可以为非易失性存储器,如图5中第三存储模块24的具体实现为只读存储器ROM。系统断电后所存储的数据不会丢失,存储密码算法的密钥等关键参数时的安全性较高,且密钥等关键加密参数不会导出到密码设备11外部,从而保证数据加密的安全性。此外,PCI-E总线接口为物理总线接口,密码设备11通过该接口插入到服务器上以与服务器进行数据交互。
作为一种优选的实施例,接收服务器发送的待处理数据,并区分待处理数据中的关键数据和非关键数据,包括:
接收服务器发送的待处理数据,识别各个待处理数据是否携带加密标识;
若是,则确定携带加密标识的数据为关键数据,否则,确定为非关键数据。
本实施例旨在提供一种处理器21区分待处理数据是否为关键数据的具体方式,具体地,服务器在向处理器21发送待处理数据之前,就已经划分好关键数据和非关键数据,并且为关键数据设置了对应的加密标识,例如加密标识为一个字符或者一个字符串等。在处理器21接收到待处理数据之后,直接识别待处理数据是否携带有加密标识,即可确定此待处理数据是否为关键数据,具体地,将携带加密标识的数据确定为关键数据,否则,确定其为非关键数据。
通过本实施例中的方式,可以实现对关键数据和非关键数据的区分,以便于对数据进行不同的处理。
作为一种优选的实施例,密码设备还包括第二存储模块23;区分待处理数据中的关键数据和非关键数据之后,还包括:
将与关键数据对应的数据标识写入第二存储模块23;
对待处理数据中的关键数据进行加密处理,得到加密后的关键数据,包括:
在对当前需要处理的待处理数据进行处理时,读取第二存储模块23中的数据标识;
判断当前需要处理的待处理数据的标识与第二存储模块23中的数据标识是否相同;
若相同,则判定数据标识相同的待处理数据为关键数据,并对待处理数据中的关键数据进行加密处理,得到加密后的关键数据;
否则判定为非关键数据,并直接将非关键数据写入第一存储模块22。
本实施例旨在提供一种对关键数据进行加密的具体实现方式,具体地,本实施例中,密码设备11还设置了第二存储模块23,在处理器21接收到待处理数据后,根据待处理数据的加密标识确定关键数据,并将与关键数据对应的数据标识存储至第二存储模块23中,在对待处理数据进行处理时,获取第二存储模块23中的数据标识,将其与当前正在处理的待处理数据的数据标识进行比较,确定二者是否相同,若相同,则表示当前处理的待处理数据为关键数据,此时触发对关键数据进行加密的相关步骤,然后在加密完成之后,再将加密的关键数据写入第一存储模块22中;在确定比较的数据标识不相同时,判定当前正在处理的待处理数据为非关键数据,此时不需要对非关键数据做加密处理,此时直接将非关键数据写入第一存储模块22即可。
作为一种优选的实施例,数据标识为与关键数据对应的序号。
作为一种优选的实施例,第二存储模块23为包括多个寄存器的寄存器组,且每个寄存器中存储一个数据标识。
具体地,数据标识可以但不限于是与关键数据对应的序号,第二存储模块23可以但不限于是包括多个寄存器的寄存器组,并且每个寄存器中只存储一个数据标识,也即是,每个寄存器中只存储一个关键数据对应的序号。
需要说明的是,第二存储模块23中存储的关键数据对应的序号是按照顺序依次存储的,相对应的,在对待处理数据进行依次处理时,也是按照待处理数据的序号进行依次处理的。例如,处理器21接收到的待处理数据的分组为Data[0,1,…,n]=0x12,0x34,0x56,0x78,…,其中需要加密的数据为Data[1]=0x34,Data[3]=0x78,所以处理器21将序号1、3依次发送到第二存储模块23中。在对待处理数据进行处理时,首先对序号为1的待处理数据进行处理,并且获取第二存储模块23中的序号1,确定这两个序号相同,确定序号为1的数据为关键数据,然后对序号为1的关键数据进行加密处理并写入第一存储模块22;再对序号为2的待处理数据进行处理,并且获取第二存储模块23中的下一个序号,也即序号3,确定这两个序号不同,确定序号为2的数据为非关键数据,然后直接将序号为2的非关键数据写入第一存储模块22,以此类推,直至处理完所有的待处理数据。
作为一种优选的实施例,处理器21中设有第一指针和第二指针;对待处理数据中的关键数据进行加密处理,得到加密后的关键数据,包括:
在对待处理数据进行处理时,控制第一指针指向当前需要处理的一个待处理数据,控制第二指针指向第二存储模块23中的一个数据标识;
判断第二指针指向的数据标识和第一指针指向的待处理数据对应的标识是否相同;
若是,则判定第一指针指向的待处理数据为关键数据,对第一指针指向的关键数据进行加密处理,得到加密后的关键数据;否则,判定第一指针指向的待处理数据为非关键数据;
将加密后的关键数据和非关键数据写入第一存储模块22,包括:
将加密后的关键数据写入第一存储模块22,并控制第一指针指向下一个待处理数据,以及控制第二指针指向下一个数据标识;
将非关键数据写入第一存储模块22,并控制第一指针指向下一个待处理数据。
本实施例旨在提供一种分别获取待处理数据和第二存储模块23中的数据标识的具体实现方式,具体地,在处理器21设有第一指针和第二指针时,通过第一指针确定当前需要进行处理的待处理数据,通过第二指针确定需要与当前处理的待处理数据进行比较的数据标识。然后判断第一指针中的待处理数据的数据标识与第二指针中的数据标识是否相同,若是,则判定为关键数据,此时触发对关键数据进行加密的相关步骤,然后在加密完成之后,再将加密的关键数据写入第一存储模块22中;否则判定为非关键数据,此时不需要对非关键数据做加密处理,此时直接将非关键数据写入第一存储模块22即可。
进一步的,为自动实现对下一个待处理数据的处理,在判定为关键数据之后,控制第一指针指向下一个待处理数据,以及控制第二指针指向下一个数据标识。在判定为非关键数据之后,控制第一指针指向下一个待处理数据,第二指针的指向保持不变。
例如,请参照图4,图4为本申请提供的一种密码设备的数据处理流程图。第一指针为数据指针Data_ADDR、第二指针为寄存器指针REG_ADDR。数据指针Data_ADDR中存储当前数据分组中的数据序号,例如Data_ADDR=0表示指向第一个数据Data[0]。寄存器指针REG_ADDR指向第二存储模块23(寄存器组)中的一个寄存器,例如REG_ADDR=0表示指向第一个寄存器REG[0]。在数据处理过程中,根据数据指针Data_ADDR读取待处理数据分组中的Data[0,1,…,n]数据,从第一个数据Data[0]开始读取;根据寄存器指针REG_ADDR读取第二存储模块23(寄存器组)REG[0,1,…,n]中的一个寄存器,从第一个寄存器REG[0]开始读取。处理器21判断REG[0]中的序号是否等于数据指针Data_ADDR中的当前数据的序号0:如果REG[0]≠0,说明Data[0]为非关键数据,不需要加密,处理器21直接将Data[0]写入第一存储模块22中的第1个地址ADDR[0]单元中。同时,数据指针Data_ADDR的值加1,指向下一个数据Data[1];寄存器指针REG_ADDR的值保持不变,仍为0,指向当前的寄存器REG[0]。如果REG[0]=0,说明Data[0]为关键数据,需要加密,处理器21对Data[0]进行加密,之后将加密后的数据Data[0]写入第一存储模块22的地址ADDR[0]单元中。同时,数据指针Data_ADDR的值加1,指向下一个数据Data[1];寄存器指针REG_ADDR的值加1,指向下一个寄存器REG[1]。重复上述步骤,处理器21依次对待处理数据Data[1,…,n]处理,并将处理完成的数据依次写入第一存储模块22中的地址ADDR[1,…,n]中。每处理完一个待处理数据之后,处理器判断数据Data[0,1,…,n]是否都完成处理,若完成,则触发客户端从RAM中读取关键数据已被加密的数据分组,否则,继续对未完成处理的待处理数据进行处理。
请参照图5,图5为本申请提供的一种数据加密装置进行数据并行处理时的示意图。图5中,第一存储模块22的具体实现方式为双端口RAM/FIFO,第二存储模块23的具体实现方式为寄存器组,第三存储模块24的具体实现方式为只读存储器ROM。
作为一种优选的实施例,第一存储模块22及第二存储模块23的个数为N个,则处理器21中设有N个状态机线程、N个第一指针及N个第二指针,且N个状态机线程、N个第一指针、N个第二指针、N个第一存储模块22和N个第二存储模块23之间一一对应;N为大于1的整数;
对待处理数据中的关键数据进行加密处理,得到加密后的关键数据,包括:
在对待处理数据进行处理时,通过N个状态机线程并行地控制各个第一指针指向当前需要处理的N个待处理数据,以及控制各个第二指针指向和自身对应的第二存储模块23中的一个数据标识;
判断各个第二指针指向的数据标识与和自身对应的第一指针指向的待处理数据对应的标识是否相同;
若是,则判定第一指针指向的待处理数据为关键数据,对第一指针指向的关键数据进行加密处理,得到加密后的关键数据;
否则,判定第一指针指向的待处理数据为非关键数据;
将加密后的关键数据和非关键数据写入第一存储模块22,包括:
将加密后的关键数据写入和自身对应的第一存储模块22,并控制第一指针指向下一个待处理数据,以及控制第二指针指向和自身对应的第二存储模块23中的下一个数据标识;
直接将第一指针指向的非关键数据写入和自身对应的第一存储模块22,并控制第一指针指向下一个待处理数据。
作为一种优选的实施例,还包括:
接收服务器发送的控制信号,并根据控制信号确定若干个第一目标存储模块;
控制确定的若干个第一目标存储模块以及与确定的各个第一存储模块22对应的第二存储模块23处于工作状态。
为了进一步提升数据处理效率,将数据串行处理方式改为并行处理方式,可同时满足客户端多种数据应用的需求,本实施例设置N个第一存储模块22,并对应设置N个第二存储模块23,同时对处理器21的控制逻辑进行相应的修改,设置了N个状态机线程,每个状态机线程控制1个第一存储模块22与1个第二存储模块23,所以处理器21能够同时接收服务器发送的多组不同的业务数据,通过控制信号选择状态机线程控制对应的第一存储模块22存储处理完成的数据,从而实现数据并行的处理,提升效率。
具体地,处理器21设有N个第一指针和N个第二指针时,通过N个第一指针同时确定N个当前需要进行处理的待处理数据,通过N个第二指针确定需要与N个当前处理的待处理数据一一对应并进行比较的N个数据标识。然后分别判断各个第一指针对应的待处理数据的数据标识与和自身对应的第二指针中的数据标识是否相同,若是,则判定为关键数据,此时触发对关键数据进行加密的相关步骤,然后在加密完成之后,再将加密的关键数据写入第一存储模块22中;否则判定为非关键数据,此时不需要对非关键数据做加密处理,此时直接将非关键数据写入第一存储模块22即可。进一步的,为自动实现对N组数据中各组的下一个待处理数据的处理,在判定为关键数据之后,控制N组数据对应的第一指针指向各自所对应的数组中的下一个待处理数据,以及控制第二指针指向对应的第二存储模块23中的下一个数据标识。在判定均为非关键数据之后,控制第一指针指向对应数组中的下一个待处理数据,第二指针的指向保持不变。
通过本实施例中的方式,可以同时对N组待处理数据进行处理,提高数据处理效率。
作为一种优选的实施例,客户端从第一存储模块22中读取数据,包括:
客户端启用N个线程,并通过N个线程并行地从N个第一存储模块22中读取数据,其中N个线程与N个第一存储模块22一一对应。
相对应,在上述设置N个第一存储模块22时,客户端对第一存储模块22中的数据进行读取时,启用N个线程,线程和第一存储模块22一一对应,分别读取每个第一存储模块22中的数据。
请参照图6,图6为本申请提供的一种处理器的状态流程图,图6中给出的是处理器21中一个状态机线程的工作流程图,对于N个状态机线程,其各自的工作流程是一样的。
需要说明的是,在处理器21中设置有N个状态机线程,且对应的,服务器向处理器21发送N个数组时,每个数组的长度可以相同或不同,待加密的数据也可以相同或不同。还需要说明的是,这N个数组可以同时操作,也可以不同时操作,由对应的控制信号启动对应状态机线程进行操作。
例如,数组1为:0x12,0x34,0x56,0x11,0x57,其中,第一个数据0x12和第四个数据0x11为数组1中的待加密数据,数组1中的数据加密和写入等过程由图5所示的控制信号CS[0]、状态机线程1控制。数组2为:0x33,0x44,0x56,0x89,其中,第二个数据0x44为数组2中的待加密数据,数组2中的数据加密和写入等过程控制信号CS[1]、状态机线程2控制……同样的,数组N为:0x12,0x34,0x56,0x11,0x,0xaa,0x1C,其中数组N中第四个数据0x11、第六个数据0xaa为待加密数据,数组N中的数据加密和写入等过程由控制信号CS[N]、状态机线程N控制。
作为一种优选的实施例,在每将一个数据写入第一存储模块22之后,还包括:
判断是否完成对接收到的所有待处理数据的处理;
根据判断结果确定是否触发客户端对第一存储模块22中数据的读取。
首先,图6中,处理器21的状态流程为:1)密码设备11复位(重启或者上电)后进入空闲状态,当复位结束并且服务器的主处理器21启动业务时进入开始状态。2)在开始状态,一个状态机线程设置数据指针Data_ADDR=0,寄存器指针REG_ADDR=0,之后进入读取待处理数据状态。3)在读取待处理数据状态,状态机读取数据分组中的数据Data[n],之后进入读取第二存储模块23状态。4)在读取第二存储模块23状态,状态机读取寄存器组中的寄存器REG[n],当REG[n]=Data_ADDR时,进入数据加密状态;当REG[n]≠Data_ADDR时,进入第二写数据状态。5)在数据加密状态,状态机调用密码算法模块25对数据Data[n]加密,之后进入第二写数据状态。6)当REG[n]≠Data_ADDR时,进入第一写数据状态,且在第一写数据状态下,状态机将数据Data[n]写入第一存储模块22,并设置Data_ADDR=Data_ADDR+1,之后进入等待状态。7)在第二写数据状态,状态机将加密后的数据Data[n]写入第一存储模块22,并设置Data_ADDR=Data_ADDR+1,REG_ADDR=REG_ADDR+1,之后进入等待状态。8)在等待状态,状态机判断是否完成了所有数据分组的处理,如果Data_ADDR<n表示未处理完成所有的数据分组,需要返回到读取待处理数据状态处理下一个数据分组(重复上述步骤,直到处理完所有的待处理数据)。如果Data_ADDR=n表示所有待处理数据都已处理完成,之后返回空闲状态,至此完成了一次操作过程。
因此,本实施例中所描述的在每将一个数据写入第一存储模块22之后,即是指上述描述的等待状态。在等待状态下,判断是否完成对接收到的所有待处理数据的处理,并根据判断结果确定是否触发客户端对第一存储模块22中数据的读取。
作为一种优选的实施例,根据判断结果确定是否触发客户端对第一存储模块22中数据的读取,包括:
在判定完成对接收到的所有待处理数据的处理时,触发客户端对第一存储模块22中数据的读取,否则,不触发客户端对第一存储模块22中数据的读取。
在第一存储模块22为单端口存储器或者单端口存储队列,不允许同时读取和写入时,或者是在控制逻辑层面要求只能在所有的待处理数据处理完毕之后,才能触发客户端对第一存储模块22中数据的读取时。需要在判定完成对接收到的所有待处理数据的处理之后,才能触发客户端对第一存储模块22中数据的读取,否则,不触发客户端对第一存储模块22中数据的读取。
作为一种优选的实施例,第一存储模块22为单端口存储器或者单端口存储队列。
在上述这种在判定完成对接收到的所有待处理数据的处理之后,才能触发客户端对第一存储模块22中数据的读取的情况下,可以将第一存储模块22设置为单端口存储器或者单端口存储队列,例如单端口RAM,相比于双端口存储器或者双端口存储队列而言,成本较低。
如图7所示,图7为本申请提供的一种基于双端口的第一存储模块的数据加密装置示意图。
作为一种优选的实施例,在每将一个数据写入第一存储模块22之后,还包括:
触发客户端实时对第一存储模块22中的数据进行读取。
针对数据处理速度要求高或数据量大的场景,为了提升数据处理的效率,将,不必等到所有的数据都处理完成,只要处理器21将数据写入第一存储模块22即可以触发客户端对第一存储模块22中的数据进行处理,具有实时性,从而保证了数据处理的连续性,提升系统效率。
作为一种优选的实施例,第一存储模块22为双端口存储器或双端口存储队列。
在上述这种客户端实时读取第一存储模块22中的数据的情况下,增加数据接口的方式实现同时读写的功能,此时可以将第一存储模块22设置为双端口存储器或双端口存储队列,例如双端口RAM或FIFO(First Input First Output,先入先出队列)。
其中,在第一存储模块22为双端口RAM时,可参照图8,图8为本申请提供的一种双端口RAM的端口设置以及与处理器的连接方式示意图。双端口RAM的A端口为主机端访问接口,由处理器21通过A端口对RAM进行数据的读写,其中:CLK:为时钟信号,连接系统时钟源;DATA_in[7..0]:为数据输入接口,由处理器21通过Data[7..0]向该接口向RAM写入数据;ADDR_A[7..0]:为RAM的地址输入信号,由处理器21选择从RAM的某个地址单元开始进行数据的读/写操作,本例给出的是8位地址[7..0],因此存储空间为6字节,根据具体的实际应用可以设置更大的RAM地址空间。wren:为RAM写使能信号,高电平有效,只有该信号有效时才能对RAM进行写操作;CS:RAM选择信号,高电平有效,只有该信号有效时才能对RAM进行操作;D_A_out[7..0]:为数据输出接口,由处理器21通过该接口从RAM读取数据。B端口为客户端独立访问的接口,其中:CLK:同样连接到系统时钟源,与系统保持时钟同步;ADDR_B[7..0]:为RAM的地址输入信号,由客户端选择从RAM的某个地址单元开始进行数据的读操作;D_B_out[7..0]:为数据输出接口,由客户端通过该接口从RAM读取数据。
在该方案中,处理器21和客户端可以独立对RAM进行操作,客户端可以随时读取RAM中的数据,不必等到处理器21将所有数据都存储到RAM中再进行读操作,从而提升了数据处理的速度。
在第一存储模块22为FIFO时,可参照图9,图9为本申请提供的一种FIFO的端口设置以及与处理器21的连接方式示意图。FIFO的写操作端口由处理器21对FIFO进行数据的写操作,其中:CLK_W:为写操作的时钟信号,连接系统时钟源;DATA_W[7..0]:为数据输入接口,由处理器21通过该接口向FIFO写入数据;ADDR_W[7..0]:为FIFO地址输入信号,由处理器21通过该接口选择从FIFO的某个地址开始进行数据的写操作,本例给出的是8位地址[7..0],根据实际需要可以设置更大的FIFO地址空间[n..0];Full:FIFO满信号,高电平表示输入到FIFO中的数据已经存满了,不能再对FIFO写入数据;低电平表示FIFO中的数据还没有存储满,能够继续向FIFO中存储数据;CS:FIFO选择信号,高电平有效,只有该信号有效时才能对FIFO进行操作。读操作端口为客户端读取数据的接口,其中:CLK_R:为读操作时钟,同样连接到系统时钟源,与系统保持时钟同步;ADDR_R[7..0]:为FIFO地址输入信号,由客户端选择从FIFO的某个地址单元开始进行数据的读操作;DATA_R[7..0]:为数据输出接口,客户端通过该接口从FIFO读取数据。Empty:FIFO空信号,高电平表示FIFO中没有数据,为空状态,不能从FIFO中读取数据;低电平表示FIFO中有数据,为非空状态,能够从FIFO中读取数据。
在该方案中,处理器21和客户端同样可以独立对FIFO进行操作,并且可以检测到FIFO是否为非空或者存储满的状态。只要检测到FIFO为非空状态,客户端就能够读取到FIFO中的数据,不必等到处理器21将所有数据都存储到FIFO里再进行操作,提升了数据处理的速度。
综上,本申请中的数据加密装置过硬件方式实现关键数据的加密和存储,提高关键数据加密的安全性,满足信息安全领域对关键数据加密的要求。此外,可选择性的对数据进行加密,不必对所有待处理数据均进行加密,灵活方便。进一步的,本申请实施例中还采用了双端口RAM、FIFO的存储结构进一步提升数据读写的效率。最后,本申请实施例中还设置了多个状态机线程、多个第一/第二存储模块23,可以实现多组数据并发处理的功能,满足客户端多种数据应用的需求。
为解决上述技术问题,本申请还提供了一种数据加密装置,请参照图10,图10为本申请提供的一种数据加密装置的结构框图,该装置应用于密码设备11中的处理器21,密码设备11还包括第一存储模块22;装置包括:
数据接收单元101,用于接收服务器发送的待处理数据,并区分待处理数据中的关键数据和非关键数据;
加密处理单元102,用于对待处理数据中的关键数据进行加密处理,得到加密后的关键数据;
第一数据存储单元103,用于将加密后的关键数据和非关键数据写入第一存储模块22,以便客户端从第一存储模块22中读取数据。
作为一种优选的实施例,数据接收单元,包括:
识别标识单元,用于接收服务器发送的待处理数据,识别各个待处理数据是否携带加密标识;
第一判定单元,用于确定携带加密标识的数据为关键数据,否则,确定为非关键数据。
作为一种优选的实施例,密码设备还包括第二存储模块23;还包括:
第二存储单元,用于将与关键数据对应的数据标识写入第二存储模块23;
加密处理单元包括:
获取标识单元,用于在对当前需要处理的待处理数据进行处理时,读取第二存储模块23中的数据标识;
第二判定单元,用于判断当前需要处理的待处理数据的标识与第二存储模块23中的数据标识是否相同;若相同,则判定数据标识相同的待处理数据为关键数据,并对待处理数据中的关键数据进行加密处理,得到加密后的关键数据;否则判定为非关键数据,并直接将非关键数据写入第一存储模块22。
作为一种优选的实施例,处理器21中设有第一指针和第二指针;加密处理单元包括:
第一指针指向单元,用于在对待处理数据进行处理时,控制第一指针指向当前需要处理的一个待处理数据,控制第二指针指向第二存储模块23中的一个数据标识;
第三判定单元,用于判断第二指针指向的数据标识和第一指针指向的待处理数据对应的标识是否相同;若是,则判定第一指针指向的待处理数据为关键数据,对第一指针指向的关键数据进行加密处理,得到加密后的关键数据;否则,判定第一指针指向的待处理数据为非关键数据;
第一数据存储单元包括:
第一子数据存储单元,用于将加密后的关键数据写入第一存储模块22,并控制第一指针指向下一个待处理数据,以及控制第二指针指向下一个数据标识;
第二子数据存储单元,用于将非关键数据写入第一存储模块22,并控制第一指针指向下一个待处理数据。
作为一种优选的实施例,第一存储模块22及第二存储模块23的个数为N个,则处理器21中设有N个状态机线程、N个第一指针及N个第二指针,且N个状态机线程、N个第一指针、N个第二指针、N个第一存储模块22和N个第二存储模块23之间一一对应;N为大于1的整数;
加密处理单元,包括:
第二指针指向单元,用于在对待处理数据进行处理时,通过N个状态机线程并行地控制各个第一指针指向当前需要处理的N个待处理数据,以及控制各个第二指针指向和自身对应的第二存储模块23中的一个数据标识;
第四判定单元,用于判断各个第二指针指向的数据标识与和自身对应的第一指针指向的待处理数据对应的标识是否相同;若是,则判定第一指针指向的待处理数据为关键数据,对第一指针指向的关键数据进行加密处理,得到加密后的关键数据;否则,判定第一指针指向的待处理数据为非关键数据;
第一数据存储单元,包括:
第三子数据存储单元,用于将加密后的关键数据写入和自身对应的第一存储模块22,并控制第一指针指向下一个待处理数据,以及控制第二指针指向和自身对应的第二存储模块23中的下一个数据标识;
第四子数据存储单元,用于直接将第一指针指向的非关键数据写入和自身对应的第一存储模块22,并控制第一指针指向下一个待处理数据。
作为一种优选的实施例,还包括:
控制信号接收单元,用于接收服务器发送的控制信号,并根据控制信号确定若干个第一目标存储模块;
控制单元,用于控制确定的若干个第一目标存储模块以及与确定的各个第一存储模块22对应的第二存储模块23处于工作状态。
作为一种优选的实施例,客户端从第一存储模块22中读取数据,包括:
客户端启用N个线程,并通过N个线程并行地从N个第一存储模块22中读取数据;
其中N个线程与N个第一存储模块22一一对应。
作为一种优选的实施例,在每将一个数据写入第一存储模块22之后,还包括:
第五判定单元,用于判断是否完成对接收到的所有待处理数据的处理;
读取控制单元,用于根据判断结果确定是否触发客户端对第一存储模块22中数据的读取。
作为一种优选的实施例,第五判定单元,包括:
第六判定单元,用于在判定完成对接收到的所有待处理数据的处理时,触发客户端对第一存储模块22中数据的读取,否则,不触发客户端对第一存储模块22中数据的读取。
作为一种优选的实施例,第一存储模块22为单端口存储器或者单端口存储队列。
作为一种优选的实施例,在每将一个数据写入第一存储模块22之后,还包括:
实时读取单元,用于触发客户端实时对第一存储模块22中的数据进行读取。
作为一种优选的实施例,第一存储模块22为双端口存储器或双端口存储队列。
作为一种优选的实施例,数据标识为与关键数据对应的序号。
作为一种优选的实施例,第二存储模块23为包括多个寄存器的寄存器组,且每个寄存器中存储一个数据标识。
作为一种优选的实施例,加密处理单元,具体用于利用对称密码算法对关键数据进行加密处理,得到加密后的关键数据。
作为一种优选的实施例,密码设备11还包括与处理器21连接的加密模块;加密处理单元,包括:
数据发送单元,用于将关键数据发送至加密模块,以使加密模块对关键数据进行加密处理,得到加密后的关键数据;
加密数据接收单元,用于接收加密模块发送的加密后的关键数据,并进入将加密后的关键数据写入第一存储模块22的步骤。
作为一种优选的实施例,密码设备11还包括与密码设备11连接的第三存储模块24;
加密处理单元,包括:
加密参数读取单元,用于读取第三存储模块24中存储的加密参数,并根据加密参数对关键数据进行加密处理,得到加密后的关键数据。
作为一种优选的实施例,第三存储模块24为非易失性存储器。
为解决上述技术问题,本申请还提供了一种电子设备,请参照图11,图11为本申请提供的一种电子设备的结构框图,该设备包括:
存储器111,用于存储计算机程序;
处理器21,用于在执行计算机程序时,实现如上述的数据加密方法的步骤。
为解决上述技术问题,本申请还提供了一种计算机可读存储介质,请参照图12,图12为本申请提供的一种计算机可读存储介质的结构框图,计算机可读存储介质120上存储有计算机程序121,计算机程序121被处理器21执行时实现如上述的数据加密方法的步骤。
为解决上述技术问题,本申请还提供了一种服务器,包括如上述的电子设备。对于服务器的介绍请参照上述实施例,本申请在此不再赘述。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其他实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (22)
1.一种数据加密方法,其特征在于,应用于密码设备中的处理器,所述密码设备还包括第一存储模块;所述方法包括:
接收服务器发送的待处理数据,并区分所述待处理数据中的关键数据和非关键数据;
对所述待处理数据中的关键数据进行加密处理,得到加密后的关键数据;
将所述加密后的关键数据和所述非关键数据写入所述第一存储模块,以便客户端从所述第一存储模块中读取数据。
2.如权利要求1所述的数据加密方法,其特征在于,接收服务器发送的待处理数据,并区分所述待处理数据中的关键数据和非关键数据,包括:
接收所述服务器发送的待处理数据,识别各个所述待处理数据是否携带加密标识;
若是,则确定携带所述加密标识的数据为所述关键数据,否则,确定为所述非关键数据。
3.如权利要求1所述的数据加密方法,其特征在于,所述密码设备还包括第二存储模块;区分所述待处理数据中的关键数据和非关键数据之后,还包括:
将与所述关键数据对应的数据标识写入所述第二存储模块;
对所述待处理数据中的关键数据进行加密处理,得到加密后的关键数据,包括:
在对当前需要处理的待处理数据进行处理时,读取所述第二存储模块中的数据标识;
判断当前需要处理的待处理数据的标识与所述第二存储模块中的数据标识是否相同;
若相同,则判定数据标识相同的待处理数据为所述关键数据,并对所述待处理数据中的关键数据进行加密处理,得到加密后的关键数据;
否则判定为所述非关键数据,并直接将所述非关键数据写入所述第一存储模块。
4.如权利要求3所述的数据加密方法,其特征在于,所述处理器中设有第一指针和第二指针;对所述待处理数据中的关键数据进行加密处理,得到加密后的关键数据,包括:
在对所述待处理数据进行处理时,控制所述第一指针指向当前需要处理的一个待处理数据,控制所述第二指针指向所述第二存储模块中的一个数据标识;
判断所述第二指针指向的数据标识和所述第一指针指向的待处理数据对应的标识是否相同;
若是,则判定所述第一指针指向的待处理数据为所述关键数据,对所述第一指针指向的关键数据进行加密处理,得到加密后的关键数据;否则,判定所述第一指针指向的待处理数据为所述非关键数据;
将所述加密后的关键数据和所述非关键数据写入所述第一存储模块,包括:
将所述加密后的关键数据写入所述第一存储模块,并控制所述第一指针指向下一个待处理数据,以及控制所述第二指针指向下一个数据标识;
将所述非关键数据写入所述第一存储模块,并控制所述第一指针指向下一个待处理数据。
5.如权利要求4所述的数据加密方法,其特征在于,所述第一存储模块及所述第二存储模块的个数为N个,则所述处理器中设有N个状态机线程、N个所述第一指针及N个所述第二指针,且N个所述状态机线程、N个所述第一指针、N个所述第二指针、N个所述第一存储模块和N个所述第二存储模块之间一一对应;N为大于1的整数;
对所述待处理数据中的关键数据进行加密处理,得到加密后的关键数据,包括:
在对所述待处理数据进行处理时,通过N个所述状态机线程并行地控制各个所述第一指针指向当前需要处理的N个待处理数据,以及控制各个所述第二指针指向和自身对应的第二存储模块中的一个数据标识;
判断各个所述第二指针指向的数据标识与和自身对应的第一指针指向的待处理数据对应的标识是否相同;
若是,则判定所述第一指针指向的待处理数据为所述关键数据,对所述第一指针指向的关键数据进行加密处理,得到加密后的关键数据;
否则,判定所述第一指针指向的待处理数据为非关键数据;
将所述加密后的关键数据和所述非关键数据写入所述第一存储模块,包括:
将加密后的关键数据写入和自身对应的第一存储模块,并控制所述第一指针指向下一个待处理数据,以及控制所述第二指针指向和自身对应的第二存储模块中的下一个数据标识;
直接将所述第一指针指向的非关键数据写入和自身对应的第一存储模块,并控制所述第一指针指向下一个待处理数据。
6.如权利要求5所述的数据加密方法,其特征在于,还包括:
接收所述服务器发送的控制信号,并根据所述控制信号确定若干个第一目标存储模块;
控制确定的若干个所述第一目标存储模块以及与确定的各个所述第一存储模块对应的第二存储模块处于工作状态。
7.如权利要求5所述的数据加密方法,其特征在于,所述客户端从所述第一存储模块中读取数据,包括:
所述客户端启用N个线程,并通过N个所述线程并行地从N个所述第一存储模块中读取数据;
其中N个线程与N个所述第一存储模块一一对应。
8.如权利要求4所述的数据加密方法,其特征在于,在每将一个数据写入所述第一存储模块之后,还包括:
判断是否完成对接收到的所有待处理数据的处理;
根据判断结果确定是否触发所述客户端对所述第一存储模块中数据的读取。
9.如权利要求8所述的数据加密方法,其特征在于,根据判断结果确定是否触发所述客户端对所述第一存储模块中数据的读取,包括:
在判定完成对接收到的所有待处理数据的处理时,触发所述客户端对所述第一存储模块中数据的读取,否则,不触发客户端对所述第一存储模块中数据的读取。
10.如权利要求9所述的数据加密方法,其特征在于,所述第一存储模块为单端口存储器或者单端口存储队列。
11.如权利要求8所述的数据加密方法,其特征在于,在每将一个数据写入所述第一存储模块之后,还包括:
触发所述客户端实时对所述第一存储模块中的数据进行读取。
12.如权利要求11所述的数据加密方法,其特征在于,所述第一存储模块为双端口存储器或双端口存储队列。
13.如权利要求3所述的数据加密方法,其特征在于,所述数据标识为与所述关键数据对应的序号。
14.如权利要求3所述的数据加密方法,其特征在于,所述第二存储模块为包括多个寄存器的寄存器组,且每个所述寄存器中存储一个数据标识。
15.如权利要求1所述的数据加密方法,其特征在于,对所述关键数据进行加密处理,得到加密后的关键数据,包括:
利用对称密码算法对所述关键数据进行加密处理,得到加密后的关键数据。
16.如权利要求1-15任一项所述的数据加密方法,其特征在于,所述密码设备还包括与处理器连接的加密模块;对所述待处理数据中的关键数据进行加密处理,得到加密后的关键数据,包括:
将所述关键数据发送至所述加密模块,以使所述加密模块对所述关键数据进行加密处理,得到加密后的关键数据;
接收所述加密模块发送的加密后的关键数据,并进入将加密后的关键数据写入所述第一存储模块的步骤。
17.如权利要求16所述的数据加密方法,其特征在于,所述密码设备还包括与所述处理器连接的第三存储模块;
对所述关键数据进行加密处理,得到加密后的关键数据,包括:
读取所述第三存储模块中存储的加密参数,并根据所述加密参数对所述关键数据进行加密处理,得到加密后的关键数据。
18.如权利要求17所述的数据加密方法,其特征在于,所述第三存储模块为非易失性存储器。
19.一种数据加密装置,其特征在于,应用于密码设备中的处理器,所述密码设备还包括第一存储模块;所述装置包括:
数据接收单元,用于接收服务器发送的待处理数据,并区分所述待处理数据中的关键数据和非关键数据;
加密处理单元,用于对所述待处理数据中的关键数据进行加密处理,得到加密后的关键数据;
数据存储单元,用于将所述加密后的关键数据和所述非关键数据写入所述第一存储模块,以便客户端从所述第一存储模块中读取数据。
20.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于在执行所述计算机程序时,实现如权利要求1-18任一项所述的数据加密方法的步骤。
21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-18任一项所述的数据加密方法的步骤。
22.一种服务器,其特征在于,包括如权利要求20所述的电子设备。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310356890.9A CN116094838B (zh) | 2023-04-06 | 2023-04-06 | 一种数据加密方法及相关组件 |
PCT/CN2023/135196 WO2024207764A1 (zh) | 2023-04-06 | 2023-11-29 | 一种数据加密方法及相关组件 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310356890.9A CN116094838B (zh) | 2023-04-06 | 2023-04-06 | 一种数据加密方法及相关组件 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116094838A true CN116094838A (zh) | 2023-05-09 |
CN116094838B CN116094838B (zh) | 2023-07-14 |
Family
ID=86204774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310356890.9A Active CN116094838B (zh) | 2023-04-06 | 2023-04-06 | 一种数据加密方法及相关组件 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116094838B (zh) |
WO (1) | WO2024207764A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024207764A1 (zh) * | 2023-04-06 | 2024-10-10 | 苏州元脑智能科技有限公司 | 一种数据加密方法及相关组件 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108769740A (zh) * | 2018-06-05 | 2018-11-06 | 苏州科达科技股份有限公司 | 视频数据加密传输方法、系统、设备及存储介质 |
CN108924099A (zh) * | 2018-06-15 | 2018-11-30 | 清华大学深圳研究生院 | 加密方法、加密装置、加密性能分析方法及装置 |
CN112613051A (zh) * | 2020-12-24 | 2021-04-06 | 金蝶软件(中国)有限公司 | 数据加密存储方法、装置、计算机设备和存储介质 |
CN112632581A (zh) * | 2020-12-28 | 2021-04-09 | 深圳壹账通智能科技有限公司 | 用户数据处理方法、装置、计算机设备及存储介质 |
CN114417382A (zh) * | 2022-01-19 | 2022-04-29 | 平安壹钱包电子商务有限公司 | 数据传输加解密方法、装置、设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008094839A1 (en) * | 2007-01-30 | 2008-08-07 | Mcm Portfolio Llc | System and method of data encryption and data access of a set of storage devices via a hardware key |
CN108763917B (zh) * | 2018-06-05 | 2021-03-30 | 北京华大智宝电子系统有限公司 | 一种数据加解密方法及装置 |
CN113382029B (zh) * | 2020-03-10 | 2024-09-06 | 阿里巴巴集团控股有限公司 | 文件数据处理方法及装置 |
CN113946863A (zh) * | 2021-10-15 | 2022-01-18 | 中国电信股份有限公司 | 数据加密存储方法、系统、设备及存储介质 |
CN116094838B (zh) * | 2023-04-06 | 2023-07-14 | 苏州浪潮智能科技有限公司 | 一种数据加密方法及相关组件 |
-
2023
- 2023-04-06 CN CN202310356890.9A patent/CN116094838B/zh active Active
- 2023-11-29 WO PCT/CN2023/135196 patent/WO2024207764A1/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108769740A (zh) * | 2018-06-05 | 2018-11-06 | 苏州科达科技股份有限公司 | 视频数据加密传输方法、系统、设备及存储介质 |
CN108924099A (zh) * | 2018-06-15 | 2018-11-30 | 清华大学深圳研究生院 | 加密方法、加密装置、加密性能分析方法及装置 |
CN112613051A (zh) * | 2020-12-24 | 2021-04-06 | 金蝶软件(中国)有限公司 | 数据加密存储方法、装置、计算机设备和存储介质 |
CN112632581A (zh) * | 2020-12-28 | 2021-04-09 | 深圳壹账通智能科技有限公司 | 用户数据处理方法、装置、计算机设备及存储介质 |
CN114417382A (zh) * | 2022-01-19 | 2022-04-29 | 平安壹钱包电子商务有限公司 | 数据传输加解密方法、装置、设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024207764A1 (zh) * | 2023-04-06 | 2024-10-10 | 苏州元脑智能科技有限公司 | 一种数据加密方法及相关组件 |
Also Published As
Publication number | Publication date |
---|---|
CN116094838B (zh) | 2023-07-14 |
WO2024207764A1 (zh) | 2024-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220405403A1 (en) | Technologies for trusted i/o protection of i/o data with header information | |
US7689836B2 (en) | Encryption device | |
US7657754B2 (en) | Methods and apparatus for the secure handling of data in a microcontroller | |
US5963646A (en) | Secure deterministic encryption key generator system and method | |
US8627100B2 (en) | Separate type mass data encryption/decryption apparatus and implementing method therefor | |
CN116094838B (zh) | 一种数据加密方法及相关组件 | |
CN111131130B (zh) | 密钥管理方法及系统 | |
US20230018185A1 (en) | Obfuscating data at-transit | |
KR102628010B1 (ko) | 가상 암호화 연산을 수행하는 암호화 회로 | |
US20050175182A1 (en) | Encryption key device, encryption device and decryption device | |
WO2023274011A1 (zh) | 一种otp存储器内数据保护方法、装置、设备及存储介质 | |
US20190116022A1 (en) | Encryption device and operation method thereof | |
US9282083B2 (en) | Encryption system and method | |
US9076002B2 (en) | Stored authorization status for cryptographic operations | |
US11797717B2 (en) | Bus encryption for non-volatile memories | |
CN115544547A (zh) | 一种移动硬盘加密方法、装置、电子设备以及存储介质 | |
US20220393859A1 (en) | Secure Data Storage with a Dynamically Generated Key | |
US11750573B2 (en) | System for transmitting and receiving data based on vehicle network and method therefor | |
CN112035866B (zh) | 一种数据加密方法、装置、设备和计算机可读存储介质 | |
CN111143897A (zh) | 数据安全处理装置、系统及处理方法 | |
CN113642051B (zh) | Spi存储设备的加密数据读写方法及嵌入式处理器芯片 | |
CN114978714B (zh) | 基于risc-v的轻量级数据总线加密安全传输方法 | |
US7444642B2 (en) | Method for indicating completion status of asynchronous events | |
US11360911B2 (en) | Dummy data removal in an authenticated encryption with associated data cryptographic scheme | |
CN112434320B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |