一种数据加密系统、方法、装置、存储介质及电子设备与流程

未命名 08-15 阅读:121 评论:0


1.本发明涉及数据安全技术领域,具体涉及一种数据加密系统、方法、装置、存储介质及电子设备。


背景技术:

2.互联网技术的高速发展带来了海量数据的存储需求,分布式存储技术应运而生。在目前的主流开源分布式存储软件中,只有少部分软件支持加密功能,如ceph对象存储、hdfs文件系统等。目前,主流的分布式系统的数据加密均使用cpu内置的aes算法进行数据加密,但是这种加密方式会增加服务器端的cpu负载,同时其数据的“真实安全性”存疑,并不是绝对安全,对各行各业的数据安全造成了极大的隐患。


技术实现要素:

3.有鉴于此,本发明实施例提供了涉及一种数据加密系统、方法、装置、存储介质及电子设备,以解决现有技术中使用cpu内置的aes算法进行数据加密增加了服务器端的cpu负载且无法保证数据的绝对安全的技术问题。
4.本发明提出的技术方案如下:
5.第一方面,本发明实施例提供一种数据加密系统,用于分布式系统;该数据加密系统包括:智能决策模块、加密资源监控模块、数据加密模块、密钥管理模块、本地服务器和国密加密卡,所述加密资源监控模块分别与所述智能决策模块、所述数据加密模块、所述本地服务器和所述国密加密卡连接,所述密钥管理模块分别与所述智能决策模块、所述数据加密模块和所述加密资源监控模块连接,所述数据加密模块分别与所述本地服务器和所述国密加密卡连接;所述加密资源监控模块,用于监控所述本地服务器和所述国密加密卡,并获取所述本地服务器的中央处理器负载数据和所述国密加密卡的加密卡负载数据,以及将所述中央处理器负载数据和所述加密卡负载数据发送至所述智能决策模块;所述智能决策模块,用于基于所述中央处理器负载数据和所述加密卡负载数据,利用预设加密策略选择方法在预设加密算法组合集中进行选择,得到目标加密算法组合,并将所述目标加密算法组合发送至所述密钥管理模块,所述目标加密算法组合为aes加密算法和sm4加密算法的四种随机组合中的一种;所述密钥管理模块,包括密钥生成单元,用于基于所述目标加密算法组合生成第一密钥和第二密钥,以及将所述第一密钥和所述第二密钥发送至所述数据加密模块;所述数据加密模块,包括数据加密单元,用于获取所述分布式系统中待加密文件的文件名和文件内容数据,并利用所述第一密钥对所述文件名进行加密,得到文件名密文数据,以及利用所述第二密钥对所述文件内容数据进行加密,得到文件内容密文数据。
6.结合第一方面,在第一方面的一种可能的实现方式中,所述智能决策模块,包括:获取单元,用于获取加密算法配置信息,并将所述加密算法配置信息发送至计算单元;所述计算单元,用于基于所述加密算法配置信息计算所述预设加密算法组合集中每种所述加密算法组合的配置权重,以及将所述配置权重发送至决策单元;确定单元,用于基于所述中央
处理器负载数据和所述加密卡负载数据,确定加密资源决策原则,以及将所述加密资源决策原则发送至所述决策单元;所述决策单元,用于基于所述配置权重和所述加密资源决策原则,确定所述目标加密算法组合。
7.结合第一方面,在第一方面的另一种可能的实现方式中,所述确定单元,包括:判断子单元,用于判断所述中央处理器负载数据是否满足第一预设条件,以及判断所述加密卡负载数据是否满足第二预设条件,并将判断结果发送至确定子单元;所述确定子单元,用于基于所述判断结果确定所述预设加密算法组合集中每种加密算法组合的优先级,并基于所述优先级在所述预设加密算法组合集中选择所述目标加密算法组合。
8.结合第一方面,在第一方面的又一种可能的实现方式中,所述数据加密模块,还包括:调用单元,用于接收所述智能决策模块发送的所述目标加密算法组合,并基于所述目标加密算法组合调用对应的加密算力提供设备,使得所述加密算力提供设备为所述数据加密单元提供加密算力,所述加密算力提供设备为所述本地服务器和所述国密加密卡中的至少一种。
9.结合第一方面,在第一方面的又一种可能的实现方式中,所述密钥管理模块,还包括:密钥存储单元,用于接收并存储所述密钥生成单元发送的所述第一密钥和所述第二密钥。
10.结合第一方面,在第一方面的又一种可能的实现方式中,所述数据加密模块,还包括:创建单元,用于接收所述数据加密单元发送的所述文件名密文数据,并基于所述文件名密文数据在所述待加密文件对应的目录树下创建文件。
11.第二方面,本发明实施例提供一种数据加密方法,用于如本发明实施例第一方面及第一方面任一项所述的数据加密系统,所述数据加密系统用于分布式系统;该数据加密方法包括:获取预设加密算法组合集、监控数据集和所述分布式系统中待加密文件的文件数据集,所述监控数据集包括所述数据加密系统中本地服务器的中央处理器负载数据和国密加密卡的加密卡负载数据,所述文件数据集包括所述分布式系统中待加密文件的文件名和文件内容数据;基于所述中央处理器负载数据和所述加密卡负载数据,利用预设加密策略选择方法在所述预设加密算法组合集中进行选择,得到目标加密算法组合;基于所述目标加密算法组合生成第一密钥和第二密钥;利用所述第一密钥对所述文件名进行加密,得到文件名密文数据,以及利用所述第二密钥对所述文件内容数据进行加密,得到文件内容密文数据。
12.第三方面,本发明实施例提供一种数据加密装置,用于如本发明实施例第一方面及第一方面任一项所述的数据加密系统,所述数据加密系统用于分布式系统;该数据加密装置包括:获取模块,用于获取预设加密算法组合集、监控数据集和所述分布式系统中待加密文件的文件数据集,所述监控数据集包括所述数据加密系统中本地服务器的中央处理器负载数据和国密加密卡的加密卡负载数据,所述文件数据集包括所述分布式系统中待加密文件的文件名和文件内容数据;选择模块,用于基于所述中央处理器负载数据和所述加密卡负载数据,利用预设加密策略选择方法在所述预设加密算法组合集中进行选择,得到目标加密算法组合;生成模块,用于基于所述目标加密算法组合生成第一密钥和第二密钥;加密模块,用于利用所述第一密钥对所述文件名进行加密,得到文件名密文数据,以及利用所述第二密钥对所述文件内容数据进行加密,得到文件内容密文数据。
13.第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于使所述计算机执行如本发明实施例第一方面及第一方面任一项所述的数据加密方法。
14.第五方面,本发明实施例提供一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器存储有计算机程序,所述处理器通过执行所述计算机程序,从而执行如本发明实施例第一方面及第一方面任一项所述的数据加密方法。
15.本发明提供的技术方案,具有如下效果:
16.本发明实施例提供的数据加密系统,使用aes加密算法和sm4加密算法的混合加密,消除了aes加密算法可能存在的安全隐患,实现数据安全的自主可控;利用预设加密策略选择方法在预设加密算法组合集中进行选择目标加密算法组合,使得目标加密算法组合的选择无法主观上确定,即使配置信息泄露,仍然无法确定数据加密所使用的算法和秘钥,极大的保证数据的安全性;引进了外置的国密加密,大大提高了数据的安全性和加密性能;同时释放了cpu计算资源,解决了通用服务器使用国产密码算法的性能瓶颈问题,提高了服务并发能力和数据吞吐量;进一步,使用系统内部自带的秘钥管理模块,秘钥的全部处理过程均通过秘钥管理模块在服务器内部实现,且使用aes加密算法和sm4加密算法的混合加密,降低了从客户端传输秘钥或从远端秘钥管理服务获取秘钥所带来的安全隐患;进一步,本发明除了对文件内容数据进行加密外,同时也对文件名进行加密,等同于对文件系统的目录结构加密,不但在用户层面具有极高的安全性,同时也能防止系统维护人员或dba等人的窃密行为。
17.本发明实施例提供的数据加密方法,利用本发明实施例提供的数据加密系统对数据进行机密,实现了对文件名和文件内容数据的双加密,实现了数据安全的自主可控,极大的保证了数据的安全性。
附图说明
18.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
19.图1是根据本发明实施例提供的一种数据加密系统的结构框图;
20.图2是根据本发明实施例提供的一种数据加密方法的流程图;
21.图3是根据本发明实施例提供的加密子系统的结构框图;
22.图4是根据本发明实施例提供的一种新的数据安全保护方法、策略及流程中的加密流程图;
23.图5是根据本发明实施例提供的一种数据加密装置的结构框图;
24.图6是根据本发明实施例提供的计算机可读存储介质的结构示意图;
25.图7是根据本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
26.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
27.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
28.本发明实施例提供一种数据加密系统,用于分布式系统;如图1所示,该数据加密系统1包括:智能决策模块11、加密资源监控模块12、密钥管理模块13、数据加密模块14、本地服务器15和国密加密卡16。
29.其中,加密资源监控模块12分别与智能决策模块11、数据加密模块14、本地服务器15和国密加密卡16连接;密钥管理模块13分别与智能决策模块11和数据加密模块14连接;数据加密模块14分别与本地服务器15和国密加密卡16连接。
30.应理解,上述系统还包括其他设备、装置。
31.优选地,智能决策模块11包括:获取单元111、计算单元112、确定单元113和决策单元114。其中,计算单元112分别与获取单元111和决策单元114连接;确定单元113与决策单元114连接。
32.进一步,确定单元113包括:判断子单元1131和确定子单元1132。其中,判断子单元1131和确定子单元1132连接。
33.优选地,数据加密模块14包括:数据加密单元141、调用单元142和创建单元143。其中,数据加密单元141分别与调用单元142和创建单元143连接。
34.优选地,密钥管理模块13包括:密钥生成单元131和密钥存储单元132。其中,密钥生成单元131和密钥存储单元132连接。
35.进一步,对上述系统中各个装置的功能进行描述。
36.具体地,加密资源监控模块12通过实时监控本地服务器15和国密加密卡16可以获取得到本地服务器15的中央处理器(cpu)负载数据和国密加密卡16的加密卡负载数据,并将该cpu负载数据和加密卡负载数据发送至智能决策模块11。
37.智能决策模块11接收到该cpu负载数据和加密卡负载数据后,利用预设加密策略选择方法在预设加密算法组合集中进行选择,并得到目标算法组合,以及将该目标加密算法组合发送至密钥管理模块13。
38.首先,智能决策模块11中获取单元111获取加密算法配置信息:国密(sm4)优先、aes优先、系统状态权重、是否启用混合算法、名称与数据混合等。根据该配置信息在智能决策模块11中预先设置有对文件内容数据和文件名的四种加密算法组合,即预设加密算法组合集,包括:aes+sm4;aes+aes;sm4+sm4;sm4+aes。
39.同时,获取单元111将得到的加密算法配置信息发送至计算单元112,并在该计算单元112中计算得到预设加密算法组合集中每种加密算法组合的配置权重,进一步,计算单元112将该配置权重发送至决策单元114。
40.其次,智能决策模块11中确定单元113可以基于该cpu负载数据和加密卡负载数据确定加密资源决策原则,并将该加密资源决策原则发送至决策单元114。
41.具体地,在确定单元113中地判断子单元1131中判断cpu负载数据是否满足第一预设条件,同时,判断加密卡负载数据是否满足第二预设条件,并将该判断结果发送至确定子单元1132。
42.确定子单元1132根据该判断结果可以确定预设加密算法组合集中每种加密算法组合的优先级,并基于该优先级在预设加密算法组合集中选择对应的目标加密算法组合。
43.具体地,当cpu的负载过高,即当cpu负载数据不满足第一预设条件且加密卡负载数据满足第二预设条件时,优先选择sm4加密算法,即预设加密算法组合集中加密算法组合的优先级由高到低排序为:sm4+sm4、sm4+aes、aes+sm4、aes+aes。
44.当国密加密卡16的负载过高,即当cpu负载数据满足第一预设条件且加密卡负载数据不满足第二预设条件时,优先使用aes加密算法,即预设加密算法组合集中加密算法组合的优先级由高到低排序为:aes+aes、aes+sm4、sm4+aes、sm4+sm4。
45.当两者负载都不高,即当cpu负载数据满足第一预设条件且加密卡负载数据满足第二预设条件时,可随机选择、也可优先选择sm4加密算法。
46.当两者负载均较高,即当cpu负载数据不满足第一预设条件且加密卡负载数据不满足第二预设条件时,需要使用sm4加密算法确保系统的正常运行,即目标算法组合为sm4+sm4。
47.最后,决策单元114根据接收到的配置权重和加密资源决策原则进行权衡得出最终的目标加密算法组合。
48.进一步,密钥管理模块13接收到智能决策模块11发送的目标加密算法组合后,在密钥生成单元131中根据该目标加密算法组合生成文件名秘钥filename-key,即第一密钥和文件内容数据秘钥data-key,即第二密钥,并将该第一密钥和第二密钥发送至数据加密模块14。
49.具体地,可以根据目标加密算法组合所需的秘钥长度进行密钥的生成操作。进一步,密钥管理模块13还可以直接接收加密资源监控模块发送的cpu负载数据和加密卡负载数据,并在密钥生成单元131中根据该cpu负载数据和加密卡负载数据,使用cpu自带的随机数发生器生成第一密钥和第二密钥。
50.进一步,密钥生成单元131还可以将生成的第一密钥和第二密钥发送至密钥存储单元132进行存储。
51.本发明实施例提供的密钥管理模块13对于用户或上层系统完全不可见,秘钥的生成与存储完全独立进行,且只与系统内部的其他模块进行交互,极大的提高了数据的安全性。
52.进一步,数据加密模块14中数据加密单元141获取分布式系统中待加密文件的文件名和文件内容数据,并利用接收到的第一密钥filename-key对文件名进行加密,得到文件名密文数据,利用接收到的第二密钥data-key对文件内容数据进行加密,得到文件内容
密文数据。进一步,将加密后的数据按照目录结构落盘即可。
53.其中,在加密过程还需要确定加密算力的提供设备。
54.具体地,数据加密模块14中调用单元142接收智能决策模块11发送的目标加密算法组合,并基于该目标加密算法组合调用对应的加密算力提供设备,使得该加密算力提供设备为数据加密单元141提供加密算力。
55.其中,加密算力提供设备为本地服务器15和国密加密卡16中的至少一种。
56.具体地,当目标组合算法为优先选择的sm4加密算法时对应的加密算法组合中的一种时,调用cpu(本地服务器15)为数据加密单元141提供加密算力;当目标组合算法为优先选择的aes加密算法时对应的加密算法组合中的一种时,调用国密加密卡16为数据加密单元141提供加密算力。
57.进一步,数据加密单元141生成文件名密文数据后,将该文件名密文数据发送至创建单元143,并在该创建单元143中根据该文件名密文数据在待加密文件对应的目录树下创建文件,以便后续对文件内容数据进行加密时存储加密后的文件内容数据。
58.本发明实施例提供的数据加密系统,使用aes加密算法和sm4加密算法的混合加密,消除了aes加密算法可能存在的安全隐患,实现数据安全的自主可控;利用预设加密策略选择方法在预设加密算法组合集中进行选择目标加密算法组合,使得目标加密算法组合的选择无法主观上确定,即使配置信息泄露,仍然无法确定数据加密所使用的算法和秘钥,极大的保证数据的安全性;引进了外置的国密加密,大大提高了数据的安全性和加密性能;同时释放了cpu计算资源,解决了通用服务器使用国产密码算法的性能瓶颈问题,提高了服务并发能力和数据吞吐量;进一步,使用系统内部自带的秘钥管理模块,秘钥的全部处理过程均通过秘钥管理模块在服务器内部实现,且使用aes加密算法和sm4加密算法的混合加密,降低了从客户端传输秘钥或从远端秘钥管理服务获取秘钥所带来的安全隐患;进一步,本发明除了对文件内容数据进行加密外,同时也对文件名进行加密,等同于对文件系统的目录结构加密,不但在用户层面具有极高的安全性,同时也能防止系统维护人员或dba等人的窃密行为。
59.本发明实施例还提供一种数据加密方法,用于如本发明实施例所述的数据加密系统1,所述数据加密系统1用于分布式系统;如图2所示,该方法包括如下步骤:
60.步骤201:获取预设加密算法组合集、监控数据集和所述分布式系统中待加密文件的文件数据集。
61.其中,预设加密算法组合集可以根据根据获取到的加密算法配置信息确定,包括:aes+sm4;aes+aes;sm4+sm4;sm4+aes。具体的获取与确定过程参考上述对数据加密系统1中智能决策模块11中获取单元111的功能描述,此处不再赘述。
62.监控数据集包括数据加密系统中本地服务器的中央处理器负载数据和国密加密卡的加密卡负载数据,可以根据数据加密系统1中加密资源监控模块12获取得到,具体的获取过程参考上述对数据加密系统1中加密资源监控模块12的功能描述,此处不再赘述。
63.文件数据集包括分布式系统中待加密文件的文件名和文件内容数据,可以根据数据加密系统1中数据加密模块14获取得到,具体的过程参考上述对数据加密系统1中数据加密模块14的功能描述,此处不再赘述。
64.步骤202:基于所述中央处理器负载数据和所述加密卡负载数据,利用预设加密策
略选择方法在所述预设加密算法组合集中进行选择,得到目标加密算法组合。
65.具体地,利用数据加密系统1中智能决策模块11可以得到对应的目标加密算法组合。
66.具体的选择过程参考上述对数据加密系统1中智能决策模块11和加密资源监控模块的交互过程描述、以及智能决策模块11中获取单元111、计算单元112、确定单元113和决策单元114的交互过程描述和功能描述,此处不再赘述。
67.步骤203:基于所述目标加密算法组合生成第一密钥和第二密钥。
68.具体地,利用数据加密系统1中密钥管理模块13生成第一密钥和第二密钥。
69.具体的过程参考上述对数据加密系统1中智能决策模块11和密钥管理模块13的交互过程描述、以及密钥管理模块13中密钥生成单元131的功能描述,此处不再赘述。
70.步骤204:利用所述第一密钥对所述文件名进行加密,得到文件名密文数据,以及利用所述第二密钥对所述文件内容数据进行加密,得到文件内容密文数据。
71.具体地,利用数据加密系统1中数据加密模块14对文件名和文件内容数据进行加密。
72.具体的加密过程参考上述对数据加密系统1中密钥管理模块13和数据加密模块14的交互过程描述、以及数据加密模块14中数据加密单元141和调用单元142的功能描述,此处不再赘述。
73.本发明实施例提供的数据加密方法,利用本发明实施例提供的数据加密系统对数据进行机密,实现了对文件名和文件内容数据的双加密,实现了数据安全的自主可控,极大的保证了数据的安全性。
74.在一实例中,提供一种新的数据安全保护方法、策略及流程,用于如图3所示的加密子系统。其中,密钥管理模块与加密子系统中智能决策模块和数据加密模块进行交互;db为以数据库,用于存储密钥。
75.如图4所示,详细的加密过程为:
76.(1)信息预处理:对文件的元数据进行分析、存储,便于后面对数据接收完整性的判断以及加解密结果正确性的判断。
77.(2)选择加密策略:该步骤是本方法的核心组件,可以实现多种多样的、错综复杂的加密策略。在智能决策模块中会存在相应的加密算法配置信息:国密优先、aes优先、系统状态权重、是否启用混合算法、名称与数据混合等。由此可知,对数据和文件名的加密共有4种算法组合,分别是aes+sm4;aes+aes;sm4+sm4;sm4+aes。系统会为每一个文件选择不同的算法。
78.选择算法组合的原则是:首先要通过加密监控模块实时监控国密加密卡的负载以及本机服务器的cpu负载,该监控数据会作为加密算法选择的主要依据之一。同时,系统在选择加密策略时,会根据不同配置的权重进行综合比较后计算出配置权重,最后由系统根据配置的权重比及加密资源的负载情况进行权衡得出最终的加密算法组合。
79.加密资源负载的决策原则是:当cpu的负载过高时,优先选取sm4国密算法;当加密卡的负载过高时,优先使用aes算法;当两者负载都不高时,可随机选择、也可优先国密sm4算法;当两者负载均较高时,使用sm4国密算法,此时需要确保系统的正常运行。
80.(3)生成加密秘钥key:该步骤主要用于生成加密秘钥key,包括文件名加密秘钥
filename-key和数据加密秘钥data-key,因该计算量较小且与加密算法本身没有直接关系,可根据加密策略所决定的加密算法所需的秘钥长度进行key的生成操作。可以选择cpu自带的随机数发生器。
81.(4)文件名加密:根据上一步中生成的文件名加密秘钥filename-key对元数据中的文件名字符串进行加密得到文件名的密文,同时使用该密文在对应的目录树下创建文件,以便后续对数据进行加密时存储加密后的数据。
82.(5)文件数据加密:该步骤是对真实数据进行加密,需要根据策略选择中选定的加密算法进行操作。同时该步骤中需要根据加密策略的结果智能的调用数据加密接口,该接口决定了数据的加密算力是由cpu提供还是由加密卡提供。最后将加密后的数据按照目录结构落盘即可。
83.本发明实施例提供的新的数据安全保护方法、策略及流程,具有如下优点:
84.(1)使用了aes和sm4算法的混合加密,消除了aes可能存在的安全隐患,实现数据安全的自主可控。
85.(2)使用了智能决策模块,加密算法的选择无法主观上确定,即使配置信息泄露,仍然无法确定数据加密所使用的算法和秘钥,极大的保证数据的安全性。
86.(3)引进了外置加密卡对数据进行数据加密,大大提高了数据的安全性和加密性能;同时释放了cpu计算资源,解决了通用服务器使用国产密码算法的性能瓶颈问题,提高了服务并发能力和数据吞吐量。
87.(4)使用了系统内部自带的秘钥管理模块,秘钥的全部处理过程均通过秘钥管理模块在服务器内部实现,且使用aes和国产商密的混合加密。
88.(5)降低了从客户端传输秘钥或从远端秘钥管理服务获取秘钥所带来的安全隐患。
89.(6)秘钥的生成使用硬件真随机数发生器产生,比客户端上传的秘钥安全性级别更高。
90.(7)除了对文件数据进行加密外,同时也对文件名进行加密,等同于对文件系统的目录结构加密,不但在用户层面具有极高的安全性,同时也能防止系统维护人员或dba等人的窃密行为。
91.本发明实施例还提供一种数据加密装置,用于如本发明实施例所述的数据加密系统1,所述数据加密系统1用于分布式系统;如图5所示,该装置包括:
92.获取模块501,用于获取预设加密算法组合集、监控数据集和所述分布式系统中待加密文件的文件数据集,所述监控数据集包括所述数据加密系统中本地服务器的中央处理器负载数据和国密加密卡的加密卡负载数据,所述文件数据集包括所述分布式系统中待加密文件的文件名和文件内容数据;详细内容参见上述方法实施例中步骤201的相关描述。
93.选择模块502,用于基于所述中央处理器负载数据和所述加密卡负载数据,利用预设加密策略选择方法在所述预设加密算法组合集中进行选择,得到目标加密算法组合;详细内容参见上述方法实施例中步骤202的相关描述。
94.生成模块503,用于基于所述目标加密算法组合生成第一密钥和第二密钥;详细内容参见上述方法实施例中步骤203的相关描述。
95.加密模块504,用于利用所述第一密钥对所述文件名进行加密,得到文件名密文数
据,以及利用所述第二密钥对所述文件内容数据进行加密,得到文件内容密文数据;详细内容参见上述方法实施例中步骤204的相关描述。
96.本发明实施例提供的数据加密装置,利用本发明实施例提供的数据加密系统对数据进行机密,实现了对文件名和文件内容数据的双加密,实现了数据安全的自主可控,极大的保证了数据的安全性。
97.本发明实施例提供的数据加密装置的功能描述详细参见上述实施例中数据加密方法描述。
98.本发明实施例还提供一种存储介质,如图6所示,其上存储有计算机程序601,该程序被处理器执行时实现上述实施例中数据加密方法的步骤。其中,存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)、随机存储记忆体(random access memory,ram)、快闪存储器(flash memory)、硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd)等;所述存储介质还可以包括上述种类的存储器的组合。
99.本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)、随机存储记忆体(random access memory,ram)、快闪存储器(flash memory)、硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd)等;所述存储介质还可以包括上述种类的存储器的组合。
100.本发明实施例还提供了一种电子设备,如图7所示,该电子设备可以包括处理器71和存储器72,其中处理器71和存储器72可以通过总线或者其他方式连接,图7中以通过总线连接为例。
101.处理器71可以为中央处理器(central processing unit,cpu)。处理器71还可以为其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
102.存储器72作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的对应的程序指令/模块。处理器71通过运行存储在存储器72中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的数据加密方法。
103.存储器72可以包括存储程序区和存储数据区,其中,存储程序区可存储操作装置、至少一个功能所需要的应用程序;存储数据区可存储处理器71所创建的数据等。此外,存储器72可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器72可选包括相对于处理器71远程设置的存储器,这些远程存储器可以通过网络连接至处理器71。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
104.所述一个或者多个模块存储在所述存储器72中,当被所述处理器71执行时,执行如图2所示实施例中的数据加密方法。
105.上述电子设备具体细节可以对应参阅图2所示的实施例中对应的相关描述和效果
进行理解,此处不再赘述。
106.虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

技术特征:
1.一种数据加密系统,用于分布式系统;其特征在于,所述数据加密系统包括:智能决策模块、加密资源监控模块、数据加密模块、密钥管理模块、本地服务器和国密加密卡,所述加密资源监控模块分别与所述智能决策模块、所述数据加密模块、所述本地服务器和所述国密加密卡连接,所述密钥管理模块分别与所述智能决策模块、所述数据加密模块和所述加密资源监控模块连接,所述数据加密模块分别与所述本地服务器和所述国密加密卡连接;所述加密资源监控模块,用于监控所述本地服务器和所述国密加密卡,并获取所述本地服务器的中央处理器负载数据和所述国密加密卡的加密卡负载数据,以及将所述中央处理器负载数据和所述加密卡负载数据发送至所述智能决策模块;所述智能决策模块,用于基于所述中央处理器负载数据和所述加密卡负载数据,利用预设加密策略选择方法在预设加密算法组合集中进行选择,得到目标加密算法组合,并将所述目标加密算法组合发送至所述密钥管理模块,所述目标加密算法组合为aes加密算法和sm4加密算法的四种随机组合中的一种;所述密钥管理模块,包括密钥生成单元,用于基于所述目标加密算法组合生成第一密钥和第二密钥,以及将所述第一密钥和所述第二密钥发送至所述数据加密模块;所述数据加密模块,包括数据加密单元,用于获取所述分布式系统中待加密文件的文件名和文件内容数据,并利用所述第一密钥对所述文件名进行加密,得到文件名密文数据,以及利用所述第二密钥对所述文件内容数据进行加密,得到文件内容密文数据。2.根据权利要求1所述的系统,其特征在于,所述智能决策模块,包括:获取单元,用于获取加密算法配置信息,并将所述加密算法配置信息发送至计算单元;所述计算单元,用于基于所述加密算法配置信息计算所述预设加密算法组合集中每种所述加密算法组合的配置权重,以及将所述配置权重发送至决策单元;确定单元,用于基于所述中央处理器负载数据和所述加密卡负载数据,确定加密资源决策原则,以及将所述加密资源决策原则发送至所述决策单元;所述决策单元,用于基于所述配置权重和所述加密资源决策原则,确定所述目标加密算法组合。3.根据权利要求2所述的系统,其特征在于,所述确定单元,包括:判断子单元,用于判断所述中央处理器负载数据是否满足第一预设条件,以及判断所述加密卡负载数据是否满足第二预设条件,并将判断结果发送至确定子单元;所述确定子单元,用于基于所述判断结果确定所述预设加密算法组合集中每种加密算法组合的优先级,并基于所述优先级在所述预设加密算法组合集中选择所述目标加密算法组合。4.根据权利要求1所述的系统,其特征在于,所述数据加密模块,还包括:调用单元,用于接收所述智能决策模块发送的所述目标加密算法组合,并基于所述目标加密算法组合调用对应的加密算力提供设备,使得所述加密算力提供设备为所述数据加密单元提供加密算力,所述加密算力提供设备为所述本地服务器和所述国密加密卡中的至少一种。5.根据权利要求1所述的系统,其特征在于,所述密钥管理模块,还包括:密钥存储单元,用于接收并存储所述密钥生成单元发送的所述第一密钥和所述第二密
钥。6.根据权利要求4所述的系统,其特征在于,所述数据加密模块,还包括:创建单元,用于接收所述数据加密单元发送的所述文件名密文数据,并基于所述文件名密文数据在所述待加密文件对应的目录树下创建文件。7.一种数据加密方法,用于如权利要求1-6任一项所述的数据加密系统,所述数据加密系统用于分布式系统;其特征在于,所述方法包括:获取预设加密算法组合集、监控数据集和所述分布式系统中待加密文件的文件数据集,所述监控数据集包括所述数据加密系统中本地服务器的中央处理器负载数据和国密加密卡的加密卡负载数据所述文件数据集包括所述分布式系统中待加密文件的文件名和文件内容数据;基于所述中央处理器负载数据和所述加密卡负载数据,利用预设加密策略选择方法在所述预设加密算法组合集中进行选择,得到目标加密算法组合;基于所述目标加密算法组合生成第一密钥和第二密钥;利用所述第一密钥对所述文件名进行加密,得到文件名密文数据,以及利用所述第二密钥对所述文件内容数据进行加密,得到文件内容密文数据。8.一种数据加密装置,用于如权利要求1-6任一项所述的数据加密系统,所述数据加密系统用于分布式系统;其特征在于,所述装置包括:获取模块,用于获取预设加密算法组合集、监控数据集和所述分布式系统中待加密文件的文件数据集,所述监控数据集包括所述数据加密系统中本地服务器的中央处理器负载数据和国密加密卡的加密卡负载数据,所述文件数据集包括所述分布式系统中待加密文件的文件名和文件内容数据;选择模块,用于基于所述中央处理器负载数据和所述加密卡负载数据,利用预设加密策略选择方法在所述预设加密算法组合集中进行选择,得到目标加密算法组合;生成模块,用于基于所述目标加密算法组合生成第一密钥和第二密钥;加密模块,用于利用所述第一密钥对所述文件名进行加密,得到文件名密文数据,以及利用所述第二密钥对所述文件内容数据进行加密,得到文件内容密文数据。9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于使所述计算机执行如权利要求7所述的数据加密方法。10.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器存储有计算机程序,所述处理器通过执行所述计算机程序,从而执行如权利要求7所述的数据加密方法。

技术总结
本发明公开了一种数据加密系统、方法、装置、存储介质及电子设备,使用AES加密算法和SM4加密算法的混合加密,消除了AES加密算法可能存在的安全隐患,实现了数据的安全自主可控;利用预设加密策略选择方法选择目标加密算法组合,即使配置信息泄露,仍然无法确定数据加密所使用的算法和秘钥,保证了数据的安全性;引进外置的国密加密卡加密,提高了数据的安全性和加密性能,同时释放了CPU计算资源,提高了服务并发能力和数据吞吐量;进一步,使用系统内部自带的秘钥管理模块,秘钥的全部处理过程均通过秘钥管理模块在服务器内部实现,降低了从客户端传输秘钥或从远端秘钥管理服务获取秘钥所带来的安全隐患。获取秘钥所带来的安全隐患。获取秘钥所带来的安全隐患。


技术研发人员:陶传会
受保护的技术使用者:合芯科技有限公司
技术研发日:2023.05.15
技术公布日:2023/8/14
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐