一种全配置的数据库敏感字段应用层加密存储的实现方法和系统与流程

专利2025-06-18  7


本发明涉及互联网,尤其涉及一种数据库敏感字段加密存储的实现方法和系统。


背景技术:

1、在互联网时代,网络资源越来越丰富,企业和政府机构的系统所存储的数据量也越来越大,数据安全的重要性也就显得愈发重要。目前常见的加密方式有以下几种,磁盘加密、文件加密、数据库加密-tde、数据库加密-三方加固、应用层加密。其中应用层加密,可保证在数据到达数据库之前,就已经做了数据加密,可实时保护用户敏感数据,是最具灵活性也是目前业界最热门的加密方式,本发明仅针对数据库的应用层加密范畴。

2、在现有技术中,数据库应用层加密的实现方法大体有两种:一是java硬编码,即在sql方法调用前对参数进行加密,在调用后进行解密;二是sql硬编码,即在sql的入参和出参字段上包装加解密标识,再配合拦截器实现在sql执行前后对入参和出参分别进行加密和解密。这两种实现方法对业务代码的侵入性高,开发工作量大。


技术实现思路

1、本发明提供一种全配置的数据库敏感字段应用层加密存储的实现方法,用以简化开发流程,提高开发效率。本方法适用于java程序语言、且mybatis框架开发的源代码场景。

2、本发明采用的技术方案如下:

3、一种全配置的数据库敏感字段应用层加密存储的实现方法,包括以下步骤:

4、在配置文件中设置加解密规则;

5、建立入参加密适配器,当dao方法被执行时,所述入参加密适配器检测所述配置文件的加解密规则中是否存在入参需要加密的配置信息,若检测结果为存在,则根据配置信息对入参中的字段进行加密处理;

6、建立出参解密适配器,当dao方法被执行时,所述出参解密适配器检测所述配置文件的加解密规则中是否存在出参需要解密的配置信息,若检测结果为存在,则根据配置信息对出参中的字段进行解密处理。

7、进一步地,所述配置文件的加解密规则中包含加解密信息元数据,所述加解密信息元数据包括:dao方法、入参字段、出参字段、加解密算法以及相应的表加密字段。

8、进一步地,通过所述配置文件中的加解密规则,配置加密器的运行参数以及配置入参加密适配器、出参解密适配器的运行参数;所述配置加密器的运行参数,包括指定加密算法类型、加密算法参数、替换密钥,所述配置入参加密适配器、出参解密适配器的运行参数,包括标识需要加密的入参和需要解密的出参。

9、进一步地,所述加密器采用可逆加密算法实现。

10、进一步地,所述入参加密适配器基于executor类型的mybatis拦截器实现;所述出参解密适配器基于resultsethandler类型的mybatis拦截器实现。

11、进一步地,对于新上线业务,在完成所述配置文件的初始化配置后直接部署上线,实现数据库敏感字段应用层加密存储;对于已上线业务,先将数据库中的明文历史数据清洗为密文数据,再完成所述配置文件的初始化配置并部署上线,实现数据库敏感字段应用层加密存储。

12、进一步地,对于已上线业务,重新搭建一套与生产环境相同的预发布环境,将生产环境的存量原文数据加密后存储到预发布环境,并将所述配置文件、所述入参加密适配器、所述出参解密适配器部署到预发布环境,在生产环境和预发布环境对比一段时间无误后,将生产流量切到预发布环境中。

13、一种全配置的数据库敏感字段应用层加密存储的实现系统,其包括:

14、配置文件设置模块,用于在配置文件中设置加解密规则;

15、入参加密适配器,用于在dao方法被执行时,检测所述配置文件的加解密规则中是否存在入参需要加密的配置信息,若检测结果为存在,则根据配置信息对入参中的字段进行加密处理;

16、出参解密适配器,用于在dao方法被执行时,检测所述配置文件的加解密规则中是否存在出参需要解密的配置信息,若检测结果为存在,则根据配置信息对出参中的字段进行解密处理。

17、本发明的有益效果是:

18、采用本发明的技术方案,开发人员在针对数据库敏感字段进行加解密处理时,仅需要修改配置文件,无需再修改各应用的业务代码部分,能够简化开发流程,提高开发效率。



技术特征:

1.一种全配置的数据库敏感字段应用层加密存储的实现方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的方法,其特征在于,所述配置文件的加解密规则中包含加解密信息元数据,所述加解密信息元数据包括:dao方法、入参字段、出参字段、加解密算法以及相应的表加密字段。

3.根据权利要求1所述的方法,其特征在于,通过所述配置文件中的加解密规则,配置加密器的运行参数以及配置入参加密适配器、出参解密适配器的运行参数;所述配置加密器的运行参数,包括指定加密算法类型、加密算法参数、替换密钥,所述配置入参加密适配器、出参解密适配器的运行参数,包括标识需要加密的入参和需要解密的出参。

4.根据权利要求3所述的方法,其特征在于,所述加密器采用可逆加密算法实现。

5.根据权利要求3所述的方法,其特征在于,所述入参加密适配器基于executor类型的mybatis拦截器实现;所述出参解密适配器基于resultsethandler类型的mybatis拦截器实现。

6.根据权利要求1所述的方法,其特征在于,对于新上线业务,在完成所述配置文件的初始化配置后直接部署上线,实现数据库敏感字段应用层加密存储;对于已上线业务,先将数据库中的明文历史数据清洗为密文数据,再完成所述配置文件的初始化配置并部署上线,实现数据库敏感字段应用层加密存储。

7.根据权利要求6所述的方法,其特征在于,对于已上线业务,重新搭建一套与生产环境相同的预发布环境,将生产环境的存量原文数据加密后存储到预发布环境,并将所述配置文件、所述入参加密适配器、所述出参解密适配器部署到预发布环境,在生产环境和预发布环境对比一段时间无误后,将生产流量切到预发布环境中。

8.一种全配置的数据库敏感字段应用层加密存储的实现系统,其特征在于,包括:

9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行权利要求1~7中任一项所述方法的指令。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机程序,所述计算机程序被计算机执行时,实现权利要求1~7中任一项所述的方法。


技术总结
本发明涉及一种全配置的数据库敏感字段应用层加密存储的实现方法和系统。该方法包括:在配置文件中设置加解密规则;建立入参加密适配器,当DAO方法被执行时,所述入参加密适配器检测所述配置文件的加解密规则中是否存在入参需要加密的配置信息,若检测结果为存在,则根据配置信息对入参中的字段进行加密处理;建立出参解密适配器,当DAO方法被执行时,所述出参解密适配器检测所述配置文件的加解密规则中是否存在出参需要解密的配置信息,若检测结果为存在,则根据配置信息对出参中的字段进行解密处理。本发明对数据库敏感字段进行加解密处理时,仅需要修改配置文件,无需再修改各应用的业务代码部分,能够简化开发流程,提高开发效率。

技术研发人员:毕海军,李晓峰,徐丹丹
受保护的技术使用者:中国软件与技术服务股份有限公司
技术研发日:
技术公布日:2024/6/26
转载请注明原文地址:https://doc.8miu.com/read-1821503.html

最新回复(0)