一种基于MyBatis对数据自动签名防篡改的方法、系统及设备与流程

专利2025-05-26  34


【】本发明涉及企业级应用,尤其是一种基于mybatis对数据自动签名防篡改的方法、系统及设备。

背景技术

0、
背景技术:

1、随着互联网技术的快速发展,数据安全问题日益受到重视。在各种系统中,防止数据被恶意篡改是确保系统正常运行和数据完整性的关键。特别是对于一些涉及敏感信息的系统,如政府机构、金融、医疗等重要领域,对数据保密和防篡改的需求更为迫切。

2、传统的数据完整性保护方法通常采用数字签名、消息认证码等密码学手段,但这些技术方案存在一定的缺陷,如性能低下、实现复杂、可扩展性差等。mybatis作为一种广泛使用的持久层框架,是spring实现数据的增删改查常用的框架,它支持定制化sql、存储过程以及高级映射;mybatis避免了几乎所有的jdbc代码和手动设置参数以及获取结果集;mybatis可以使用简单的xml或注解来配置和映射原生信息,将接口和java的pojos(plainordinary java object,普通的java对象)映射成数据库中的记录;因此,mybatis在java企业级应用开发中扮演着重要角色。

3、另外,spring boot是基于spring4.0全新框架,其设计目的是用来简化新spring应用的初始搭建以及开发过程;spring boot框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置;通过这种方式,spring boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。所以,spring boot工程基于mybatis框架实现数据的增删改查是较为普通的一种做法,但是基于mybatis框架集成数据的自动防篡改,目前并没有较为通用或者灵活的方式。目前有在应用程序层面实现防篡改时,防篡改逻辑通常与业务逻辑混杂在一起,导致代码可维护性和可扩展性较差;一些基于哈希函数(如md5、sha-1等)的简单防篡改方案,安全性较低,无法抵御高级攻击手段,签名可能被绕过或伪造;现有的一些基于注解的防篡改方案,缺乏对动态生成数据对象的支持,保护范围受限。此外,现有方案的签名算法选择和性能优化空间也有待改进。

4、而且,拦截器(interceptor)中,mybatis提供了拦截器(interceptor)机制,允许在映射语句执行过程中实现自定义的拦截操作。通过拦截器,可以在执行sql语句之前或之后进行一些特殊处理,比如数据加密解密、性能监控等。

5、同时,国密(national cryptography)是指由国家密码管理机构制定和发布的商用密码算法和密码标准的统称。国密算法主要包括sm2椭圆曲线密码算法、sm3密码杂凑算法、sm4分组密码算法等。其中,sm4分组密码算法是国密算法中的一种对称密钥加密算法,它是我国自主知识产权的分组密码算法,也称为国密分组数据加密标准。sm4算法具有较高的安全性和密钥灵活性,既可以用于电子政务、电子商务等领域的数据加密,也可以用于无线通信等领域的加密。

6、综上所述,虽然可以采用传统的密码学方案来保护数据完整性,但由于mybatis框架的特殊性,传统的密码学方案的实现和集成往往较为复杂,且可能影响系统性能。因此,迫切需要探索一种更加简单、高效的数据完整性保护方案,以适应mybatis的使用场景。


技术实现思路

0、
技术实现要素:

1、本发明提供一种基于mybatis对数据自动签名防篡改的方法、系统及设备,通过注解动态配置字段并与mybatis框架的无缝集成,实现数据自动签名验证防篡改功能,提供了更加灵活、安全和可扩展的数据签名,与mybatis框架无缝结合,能够适应各种mybatis的使用场景。

2、为达到上述明目的,第一方面,本发明解决技术问题所采用的技术方案如下:

3、一种基于mybatis对数据自动签名防篡改的方法,包括以下步骤:

4、步骤s1,配置使用注解

5、开发人员使用@rowsignature注解标记实体类,通过属性signfields、ignorefields设置需要签名的多个字段或者不需要签名的多个字段;

6、步骤s2,配置签名算法和拦截器

7、加载配置类、自动扫描配置和mybatis拦截器配置;

8、步骤s3,启动应用程序,以上配置依次都会被加载;

9、步骤s4,扫描注解、加载mybatis拦截器和加载签名算法;

10、步骤s5,数据操作

11、步骤s5.1,对于持久化操作,mybatis拦截器会预先处理,通过签名验证模块将需要签名的字段进行加密,生成签名,存入数据库中;

12、步骤s5.2,当有查询或持久化操作时,mybatis拦截器会拦截该操作;

13、步骤s5.3,对于查询操作,mybatis拦截器会预先处理,先校验签名是否匹配;

14、步骤s5.4,若不匹配,直接把校验结果返回并结束;

15、步骤s6,若匹配,根据校验结果自动签名验证,同时默认使用国密sm2算法,灵活实现包含多种加密算法的接口,mybatis拦截器处理数据结果集,更新或者查询校验数据是否被篡改,且根据具体业务情况做不同处理;

16、步骤s7,把校验结果返回并结束。

17、第二方面,本发明解决技术问题所采用的又一技术方案如下:

18、一种基于mybatis对数据自动签名防篡改的系统,该系统包括:

19、注解定义模块,用于开发人员采用@rowsignature标记需要防篡改的字段的自定义注解,支持动态设置多个数据库字段的保护;

20、mybatis拦截器模块,与mybatis框架集成,自定义实现interceptor,拦截mybatis的执行流程,再持久化操作自动签名、且不签名数据保存在数据库中,后续更新或者查询则校验数据是否被篡改;

21、签名验证模块,采用国密sm2算法作为签名算法,灵活实现包含多种加密算法的接口;

22、配置模块,提供配置签名算法、加载拦截器,解析配置并将配置信息提供给加密解密模块使用,并且启动拦截器监听。

23、进一步地,所述多种加密算法包括国密sm2算法、ecc算法、md5算法或者是自定义的加密模块。

24、第三方面,本发明解决技术问题所采用的又一技术方案如下:

25、一种计算机设备,包括:

26、至少一个处理器、至少一个存储器以及存储在所述存储器中的计算机程序指令,所述计算机程序指令包括上所述的一种基于mybatis对数据自动签名防篡改的系统,所述处理器被配置为适于根据所述存储器中存储的一种基于mybatis对数据自动签名防篡改的系统执行如上述的一种基于mybatis对数据自动签名防篡改的方法。

27、本发明的优点:

28、1、将防篡改逻辑与业务逻辑完全分离,直接通过注解的方式实现功能,与mybatis框架无缝结合,并封装在框架内部,开发人员只需关注业务逻辑,无需重复实现;

29、2、安全性更高,采用基于椭圆曲线密码学的国密sm2数字签名算法,更加安全可靠,能够有效防御各种已知的密码攻击手段,大幅提升了数据防篡改的安全性;

30、3、支持动态数据保护,支持对动态生成的数据对象进行自动签名保护,扩大了保护范围,使得更多数据能够得到防篡改保护;

31、4、使用简单,具有高度可扩展和灵活性;开发人员只需在需要保护的数据对象上添加相应的注解,无需编写复杂的签名代码,大大简化了开发流程;并且可根据实际需求定制签名算法、签名数据范围等参数,增强了方案的可扩展性和适用性。

32、【说明书附图】

33、图1为本发明中自动签名防篡改的流程图;

34、图2为本发明中自动签名防篡改的系统图。


技术特征:

1.一种基于mybatis对数据自动签名防篡改的方法,其特征在于,包括以下步骤:

2.一种基于mybatis对数据自动签名防篡改的系统,其特征在于,该系统包括:

3.根据权利要求2所述的一种基于mybatis对数据自动签名防篡改的系统,其特征在于,所述多种加密算法包括国密sm2算法、ecc算法、md5算法或者是自定义的加密模块。

4.一种计算机设备,其特征在于,包括:


技术总结
本发明提供的一种基于MyBatis对数据自动签名防篡改的方法、系统及设备,包括以下步骤:步骤S1,配置使用注解;步骤S2,配置签名算法和拦截器,加载配置类、自动扫描配置和MyBatis拦截器配置;步骤S3,启动应用程序;步骤S4,扫描注解、加载MyBatis拦截器和加载签名算法;步骤S5,数据操作,当有查询或持久化操作时,MyBatis拦截器会拦截该操作;若匹配,根据校验结果自动签名验证,并把校验结果返回,根据校验结果,根据具体业务情况做不同处理;通过注解动态配置字段并与MyBatis框架的无缝集成,实现数据自动签名验证防篡改功能。

技术研发人员:彭志茂
受保护的技术使用者:珠海迈越信息技术有限公司
技术研发日:
技术公布日:2024/11/11
转载请注明原文地址: https://tieba.8miu.com/read-14346.html

最新回复(0)