一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种敏感数据加密通用解决方法及系统与流程

2023-02-04 12:54:07 来源:中国专利 TAG:


1.本发明涉及计算机软件领域,尤其涉及一种敏感数据加密通用解决方法及系统。


背景技术:

2.随着信息技术与移动互联网基础的发展,数据资产的概念越来越被广大公司重视。如何通过数据,快速有效的挖掘其深层价值,为企业策略导向提供有效指引,通过数据驱动业务,也成为了众多企业着重发展的目标。
3.然而,企业内部系统对于敏感数据缺乏有效的加密手段,因此,无法满足企业信息安全的要求。


技术实现要素:

4.本发明的目的是提供一种敏感数据加密通用解决方法及系统。
5.本发明所提供的敏感数据加密通用解决方法,包括如下步骤:
6.s1用于获取数据类型的步骤;
7.s2用于选择加密方式的步骤;
8.s3用于对数据进行加密,并得出加密结果的步骤。
9.优选的,所述s1用于获取数据类型的步骤,包括:
10.s11用于获取数据的步骤;
11.s12用于对数据的类型进行判断,并得出数据类型的步骤。
12.优选的,所述s2用于选择加密方式的步骤,包括:
13.s21用于读取数据类型的步骤;
14.s22用于根据数据的类型自动调用适配的加密接口的步骤。
15.优选的,所述s3用于对数据进行加密,并得出加密结果的步骤,包括:
16.s31用于根据加密接口对数据进行加密,并得出加密结果的步骤;
17.s32用于将加密结果保存的步骤。
18.优选的,所述s31用于根据加密接口对数据进行加密,并得出加密结果的步骤,包括:
19.s311用于获取系统秘钥id的步骤;
20.s312用于根据系统秘钥id对数据进行首次加密生成第一加密结果的步骤。
21.优选的,所述s31用于根据加密接口对数据进行加密,并得出加密结果的步骤,还包括:
22.s313用于获取讯层加密的步骤;
23.s314用于根据讯层加密对第一加密结果进行二次加密生成第二加密结果的步骤。
24.优选的,本发明所提供的敏感数据加密通用解决方法,还包括:秘钥管理的步骤。
25.本发明所提供的敏感数据加密通用解决系统,包括如下模块:
26.s1用于获取数据类型的模块;
27.s2用于选择加密方式的模块;
28.s3用于对数据进行加密,并得出加密结果的模块。
29.优选的,所述s1用于获取数据类型的模块,包括:
30.s11用于获取数据的子模块;
31.s12用于对数据的类型进行判断,并得出数据类型的子模块。
32.优选的,所述s2用于选择加密方式的模块,包括:
33.s21用于读取数据类型的子模块;
34.s22用于根据数据的类型自动调用适配的加密接口的子模块。
35.优选的,所述s3用于对数据进行加密,并得出加密结果的模块,包括:
36.s31用于根据加密接口对数据进行加密,并得出加密结果的子模块;
37.s32用于将加密结果保存的子模块。
38.优选的,所述s31用于根据加密接口对数据进行加密,并得出加密结果的子模块,包括:
39.s311用于获取系统秘钥id的单元;
40.s312用于根据系统秘钥id对数据进行首次加密生成第一加密结果的单元。
41.优选的,所述s31用于根据加密接口对数据进行加密,并得出加密结果的子模块,还包括:
42.s313用于获取讯层加密的单元;
43.s314用于根据讯层加密对第一加密结果进行二次加密生成第二加密结果的单元。
44.优选的,本发明所提供的敏感数据加密通用解决系统,还包括:秘钥管理的模块。
45.本发明所提供的敏感数据加密通用解决方法及系统,通过选择合适的加密方式对数据进行加密,以实现对于敏感数据的保护,从而满足了企业信息安全的要求。
附图说明
46.图1为本发明实施例一所述的敏感数据加密通用解决方法流程示意图;
47.图2为本发明实施例一所述的用于获取数据类型的步骤示意图;
48.图3为本发明实施例一所述的用于选择加密方式的步骤示意图;
49.图4为本发明实施例一所述的用于对数据进行加密,并得出加密结果的步骤示意图;
50.图5和图6为本发明实施例一所述的用于根据加密接口对数据进行加密,并得出加密结果的步骤示意图;
具体实施方式
51.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
52.实施例一
53.如图1-6所示,本实施例所提供的敏感数据加密通用解决方法,包括如下步骤:
54.s1用于获取数据类型的步骤;
55.s2用于选择加密方式的步骤;
56.s3用于对数据进行加密,并得出加密结果的步骤。
57.本领域技术人员可以理解,本实施例通过选择合适的加密方式对数据进行加密,以实现对于敏感数据的保护,从而满足了企业信息安全的要求。
58.进一步,所述s1用于获取数据类型的步骤,包括:
59.s11用于获取数据的步骤;
60.s12用于对数据的类型进行判断,并得出数据类型的步骤。
61.本领域技术人员可以理解,数据类型包括:通讯层面数据和落地数据。落地数据是指存放在数据库中的数据。通过对数据进行判断,从而得出数据的类型,方便本系统后续选择合适的加密方式对数据进行加密,从而使数据的安全性大幅提升。
62.进一步,所述s2用于选择加密方式的步骤,包括:
63.s21用于读取数据类型的步骤;
64.s22用于根据数据的类型自动调用适配的加密接口的步骤。
65.本领域技术人员可以理解,密钥类型大致分为对称密钥及非对称密钥,非对称密钥算法的时间复杂度相比对称密钥高出不少,同时我们也并不关注数据加密者的相关信息,因此在大批量数据加解密的场景中我们选择使用对称密钥对落地数据进行加密。
66.对称密钥也分为好多种,主要的有des、3des、aes等。des算法由于密钥长度的限制,安全级别较底,密钥容易被暴力破解,而3des为了解决这一问题算法又导致性能较低。aes相对较好的平衡了这一问题,安全性和性能都优des算法。
67.对于aes算法中的初始化向量iv,更为安全的加密方式是使用每次都会变化的随机值进行混淆,并在密文头部追加iv值的提示信息,解密一份数据之前需要先读取头部信息,优点在于彻底规避了字典攻击,但是由于加密结果中存在可变量,导致同样的数据加密后的值一定是不同的,这种编码方式适用于通讯层面的数据包加密,但是对于落地数据,即存放在数据库中的加密数据是无法作为查询条件进行检索的,因此可采用固定初始向量的aes/cbc/pkcs5padding加密方式。
68.进一步,所述s3用于对数据进行加密,并得出加密结果的步骤,包括:
69.s31用于根据加密接口对数据进行加密,并得出加密结果的步骤;
70.s32用于将加密结果保存的步骤。
71.本领域技术人员可以理解,对于落地数据,开发人员仅需在数据模型的属性字段上添加@converter标签,即可实现自动加解密,对于通讯层面数据的加密,可以调用cryptoservice中的encrypt()和decrypt()方法,从而满足更多灵活的加解密服务场景。
72.进一步,所述s31用于根据加密接口对数据进行加密,并得出加密结果的步骤,包括:
73.s311用于获取系统秘钥id的步骤;
74.s312用于根据系统秘钥id对数据进行首次加密生成第一加密结果的步骤。
75.本领域技术人员可以理解,每个系统都有自己的秘钥id,该id是一个不超过16为的字符串作为系统标识,与秘钥一一对应;可以将秘钥id与加密算法混淆后作为加密的初始化向量,这样即可进一步的加强加密的强度,进一步防止数据被恶意窃取。
76.进一步,所述s31用于根据加密接口对数据进行加密,并得出加密结果的步骤,还包括:
77.s313用于获取讯层加密的步骤;
78.s314用于根据讯层加密对第一加密结果进行二次加密生成第二加密结果的步骤。
79.本领域技术人员可以理解,加密会采用对称的aes算法,解密时使用加密时的密钥进行逆向处理即可获得原始数据,然而在加密时所用的密钥往往很容易在获取密码时被恶意捕获,导致所有数据泄密,因此我们引入上述两个手段进行安全加固,使得本系统加密的数据更加安全。此外,讯层加密的接口一般采用https或私有rpc的通讯方式,从而避免常规协议被针对性破解。
80.本领域技术人员可以理解,一旦密钥泄露或出于其他安全原因更换密钥,需要开发对应的初始化及刷数工具,如要做到不停机在线刷数,需要客户端能够使用两个密钥对数据进行解密(暂不考虑连续变化两次密钥的情况)。但在线刷数这个方案实际操作中并不可行,因为在刷新的过程中,由于出现了两套加密版本的数据,这会影响到正常的数据库查询逻辑,实际中的刷新密钥或初始化仍然需要有一个停机维护的窗口期。
81.进一步,本实施例所提供的敏感数据加密通用解决方法,还包括:秘钥管理的步骤。
82.本领域技术人员可以理解,在服务侧,提供对密钥进行统一集中化管理服务。对于client来说,获取密钥需要向某个中心服务索取,即kms。对于这种配置集的封装可以尝试使用spring boot特有的propertysource进行对象传递。
83.实施例二
84.本实施例所提供的敏感数据加密通用解决系统,包括如下模块:
85.s1用于获取数据类型的模块;
86.s2用于选择加密方式的模块;
87.s3用于对数据进行加密,并得出加密结果的模块。
88.本领域技术人员可以理解,本实施例通过选择合适的加密方式对数据进行加密,以实现对于敏感数据的保护,从而满足了企业信息安全的要求。
89.进一步,所述s1用于获取数据类型的模块,包括:
90.s11用于获取数据的子模块;
91.s12用于对数据的类型进行判断,并得出数据类型的子模块。
92.本领域技术人员可以理解,数据类型包括:通讯层面数据和落地数据。落地数据是指存放在数据库中的数据。通过对数据进行判断,从而得出数据的类型,方便本系统后续选择合适的加密方式对数据进行加密,从而使数据的安全性大幅提升。
93.进一步,所述s2用于选择加密方式的模块,包括:
94.s21用于读取数据类型的子模块;
95.s22用于根据数据的类型自动调用适配的加密接口的子模块。
96.本领域技术人员可以理解,密钥类型大致分为对称密钥及非对称密钥,非对称密钥算法的时间复杂度相比对称密钥高出不少,同时我们也并不关注数据加密者的相关信息,因此在大批量数据加解密的场景中我们选择使用对称密钥对落地数据进行加密。
97.对称密钥也分为好多种,主要的有des、3des、aes等。des算法由于密钥长度的限
制,安全级别较底,密钥容易被暴力破解,而3des为了解决这一问题算法又导致性能较低。aes相对较好的平衡了这一问题,安全性和性能都优des算法。
98.对于aes算法中的初始化向量iv,更为安全的加密方式是使用每次都会变化的随机值进行混淆,并在密文头部追加iv值的提示信息,解密一份数据之前需要先读取头部信息,优点在于彻底规避了字典攻击,但是由于加密结果中存在可变量,导致同样的数据加密后的值一定是不同的,这种编码方式适用于通讯层面的数据包加密,但是对于落地数据,即存放在数据库中的加密数据是无法作为查询条件进行检索的,因此可采用固定初始向量的aes/cbc/pkcs5padding加密方式。
99.进一步,所述s3用于对数据进行加密,并得出加密结果的模块,包括:
100.s31用于根据加密接口对数据进行加密,并得出加密结果的子模块;
101.s32用于将加密结果保存的子模块。
102.本领域技术人员可以理解,对于落地数据,开发人员仅需在数据模型的属性字段上添加@converter标签,即可实现自动加解密,对于通讯层面数据的加密,可以调用cryptoservice中的encrypt()和decrypt()方法,从而满足更多灵活的加解密服务场景。
103.进一步,所述s31用于根据加密接口对数据进行加密,并得出加密结果的子模块,包括:
104.s311用于获取系统秘钥id的单元;
105.s312用于根据系统秘钥id对数据进行首次加密生成第一加密结果的单元。
106.本领域技术人员可以理解,每个系统都有自己的秘钥id,该id是一个不超过16为的字符串作为系统标识,与秘钥一一对应;可以将秘钥id与加密算法混淆后作为加密的初始化向量,这样即可进一步的加强加密的强度,进一步防止数据被恶意窃取。
107.进一步,所述s31用于根据加密接口对数据进行加密,并得出加密结果的子模块,还包括:
108.s313用于获取讯层加密的单元;
109.s314用于根据讯层加密对第一加密结果进行二次加密生成第二加密结果的单元。
110.本领域技术人员可以理解,加密会采用对称的aes算法,解密时使用加密时的密钥进行逆向处理即可获得原始数据,然而在加密时所用的密钥往往很容易在获取密码时被恶意捕获,导致所有数据泄密,因此我们引入上述两个手段进行安全加固,使得本系统加密的数据更加安全。此外,讯层加密的接口一般采用https或私有rpc的通讯方式,从而避免常规协议被针对性破解。
111.本领域技术人员可以理解,一旦密钥泄露或出于其他安全原因更换密钥,需要开发对应的初始化及刷数工具,如要做到不停机在线刷数,需要客户端能够使用两个密钥对数据进行解密(暂不考虑连续变化两次密钥的情况)。但在线刷数这个方案实际操作中并不可行,因为在刷新的过程中,由于出现了两套加密版本的数据,这会影响到正常的数据库查询逻辑,实际中的刷新密钥或初始化仍然需要有一个停机维护的窗口期。
112.进一步,本实施例所提供的敏感数据加密通用解决系统,还包括:秘钥管理的模块。
113.本领域技术人员可以理解,在服务侧,提供对密钥进行统一集中化管理服务。对于client来说,获取密钥需要向某个中心服务索取,即kms。对于这种配置集的封装可以尝试
使用spring boot特有的propertysource进行对象传递。
114.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献