一种可扩展的数据库透明加密装置及方法制造方法及图纸

技术编号:39158925 阅读:12 留言:0更新日期:2023-10-23 15:01
本发明专利技术公开了一种可扩展的数据库透明加密装置及方法,该装置应用部署在客户端与数据库系统之间,一端与客户端通信连接,另一端与数据库系统通信连接;包括:数据分发模块,用于接收客户端发送的数据库请求协议;根据预先配置的TCP端口将数据库请求协议转发到对应类型的数据库协议处理模块;数据库协议处理模块,用于从数据分发模块接收对应的数据库请求协议,进行解析、加密、重新封装处理后发送到数据库系统。该装置无需对访问客户端程序和数据库系统进行任何配置与改造,部署便捷。并且通过动态加载模块的方式,可对多种数据库进行扩展支持,并支持多种数据库代理同时使用;应用范围广、安全性高。安全性高。安全性高。

【技术实现步骤摘要】
一种可扩展的数据库透明加密装置及方法


[0001]本专利技术涉及数据库安全传输和加密
,更具体的说是涉及一种可扩展的数据库透明加密装置及方法,常用于数据库加密网关、数据库透明代理网关等产品。

技术介绍

[0002]随着现代技术的快速发展,大数据已成为各行各业的重要资源。大数据的产生源源不断,来自社交媒体、移动应用、物联网设备等多渠道的数据不断涌入数据库中。这些数据蕴含着宝贵的信息,有助于企业做出更明智的决策、优化服务、开发创新产品,甚至在医疗和科研领域有助于突破性的进展。然而,随着数据规模的不断增大,数据安全问题也逐渐浮出水面。
[0003]事实上,将明文数据存储在数据库中已经变得不再安全,因为攻击者可以利用社会工程和技术入侵等手段,窃取这些数据。考虑到这种情况,数据库的安全性变得尤为重要。为了保障数据的隐私,对数据库中的敏感数据字段进行加密是一项相当有效的安全措施。这可以大大减少潜在的风险,确保数据在存储和传输过程中的安全性。
[0004]相关技术中:通过重写请求SQL语句,对数据增加加密和解密函数。数据库服务需要增加UDF插件,但使用插件方式,会对数据库改造,且部署繁琐,不能使用多种不同数据库。UDF:user defined function,用户自定义函数。
[0005]另外,一些现有技术均涉及JDBC客户端驱动模块的方式,对请求的SQL进行改写。因此,均需要应用侧改动,替换原数据库JDBC驱动为新的驱动模块,且只支持Java开发语言,限制较大。JDBC:Java DataBase Connectivity,Java语言数据库连接标准接口。
[0006]还有一部分,均通过数据库触发器和磁盘加密的方式实现数据库数据的加密保护。但需要数据库服务器进行配置和改造,触发器的方式对不同数据库要求不同,限制较大。而且磁盘加密的方式,需要对数据库软件进行改造配置,且对所有数据进行加密,速度较慢。
[0007]综上所述,数据库使用的安全问题还存在如下缺陷:
[0008]1)数据库数据明文存储,高权限用户都能访问到数据库的敏感数据,引发数据泄密。
[0009]2)数据库敏感数据没有防篡改机制,数据被非法篡改时不能校验数据完整性。
[0010]3)数据库敏感数据没有脱敏机制,不能实现数据的部分遮挡,特定字符替换功能。

技术实现思路

[0011]有鉴于此,本专利技术提供了一种可扩展的数据库透明加密装置及方法,旨在解决上述
技术介绍
中数据库使用中存在的问题,且还可解决常规数据库加密部署实施困难的问题。
[0012]为了实现上述目的,本专利技术采用如下技术方案:
[0013]第一方面,本专利技术实施例提供一种可扩展的数据库透明加密装置,该装置应用部
署在客户端与数据库系统之间,一端与客户端通信连接,另一端与数据库系统通信连接;该装置应用于所述客户端向所述数据库系统发送数据,具体包括:数据分发模块和多个不同类型的数据库协议处理模块;
[0014]其中,所述数据分发模块,用于接收所述客户端发送的数据库请求协议;根据预先配置的TCP端口将数据库请求协议转发到对应类型的数据库协议处理模块;
[0015]所述数据库协议处理模块,用于从所述数据分发模块接收对应的数据库请求协议,进行解析、加密、重新封装处理后发送到所述数据库系统;所述数据库请求协议包含多个数据通讯子包。
[0016]在一个实施例中,所述数据库协议处理模块,包括:
[0017]数据库协议解析模块,用于将所述数据库请求协议中各个数据通讯子包进行解析、分割、提取出SQL语句,并将所述SQL语句传递给SQL语句处理模块;
[0018]SQL语句处理模块,用于将接收的SQL语句进行解析,分析提取语句中期望加密字段的数据,并将期望加密字段的数据传递给加解密器模块处理;
[0019]加解密器模块,用于根据配置的多种数据处理算法,对期望加密字段的数据进行加密处理;所述数据处理算法包括加密算法、哈希算法、签名算法和脱敏算法;
[0020]数据库协议封装模块,用于将加解密器模块加密处理后的密文数据,重新封装成对应类型的数据库请求协议,并发送到所述数据库系统。
[0021]在一个实施例中,所述加解密器模块,还用于接收其他算法通过动态加载的方式注册到加解密器模块中。
[0022]第二方面,本专利技术实施例还提供一种可扩展的数据库透明加密装置,该装置应用部署在客户端与数据库系统之间,一端与客户端通信连接,另一端与数据库系统通信连接;该装置应用于所述数据库系统向所述客户端发送数据,具体该装置包括:数据分发模块和多个不同类型的数据库协议处理模块;
[0023]其中,所述数据分发模块,用于接收所述数据库系统返回的数据库响应协议;根据预先配置的TCP端口将数据库响应协议转发到对应类型的数据库协议处理模块;
[0024]所述数据库协议处理模块,用于从所述数据分发模块接收对应的数据库响应协议,进行解析、解密、重新封装处理后返回给对应的所述客户端。
[0025]在一个实施例中,所述数据库协议处理模块,包括:
[0026]数据库协议解析模块,用于将所述数据库响应协议中各个数据通讯子包进行解析、确定数据中存在的密文字段数据,并将密文字段数据传递给加解密器模块处理;
[0027]加解密器模块,用于根据配置的多种数据处理算法,对需要解密的密文字段数据进行解密处理;所述数据处理算法包括加密算法、哈希算法、签名算法和脱敏算法;
[0028]数据库协议封装模块,用于将加解密器模块解密处理后的明文数据,重新封装成对应类型的数据库响应协议,并发送到所述客户端。
[0029]在一个实施例中,所述加解密器模块,还用于接收其他算法通过动态加载的方式注册到加解密器模块中。
[0030]第三方面,本专利技术实施例又提供一种可扩展的数据库透明加密方法,使用如第一方面任一项所述的可扩展的数据库透明加密装置,该方法具体包括:
[0031]S10、数据分发模块接收客户端发送的数据库请求协议;根据预先配置的TCP端口
将数据库请求协议转发到对应类型的数据库协议处理模块;
[0032]S20、所述数据库协议处理模块将接收对应的数据库请求协议进行解析、加密、重新封装处理后,发送到所述数据库系统;所述数据库请求协议包含多个数据通讯子包。
[0033]在一个实施例中,所述步骤S20,具体包括:
[0034]S201、将所述数据库请求协议中各个数据通讯子包进行解析、分割、提取出SQL语句;
[0035]S202、将所述SQL语句进行解析,分析提取语句中期望加密字段的数据;
[0036]S203、根据配置的多种数据处理算法,对期望加密字段的数据进行加密处理;所述数据处理算法包括加密算法、哈希算法、签名算法和脱敏算法;
[0037]S204、将加密处理后的密文数据,重新封装成对应类型的数据库请求协议,并发送到所述数据库系统。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种可扩展的数据库透明加密装置,其特征在于,该装置应用部署在客户端与数据库系统之间,一端与客户端通信连接,另一端与数据库系统通信连接;该装置应用于所述客户端向所述数据库系统发送数据,具体包括:数据分发模块和多个不同类型的数据库协议处理模块;其中,所述数据分发模块,用于接收所述客户端发送的数据库请求协议;根据预先配置的TCP端口将数据库请求协议转发到对应类型的数据库协议处理模块;所述数据库协议处理模块,用于从所述数据分发模块接收对应的数据库请求协议,进行解析、加密、重新封装处理后发送到所述数据库系统;所述数据库请求协议包含多个数据通讯子包。2.根据权利要求1所述的一种可扩展的数据库透明加密装置,其特征在于,所述数据库协议处理模块,包括:数据库协议解析模块,用于将所述数据库请求协议中各个数据通讯子包进行解析、分割、提取出SQL语句,并将所述SQL语句传递给SQL语句处理模块;SQL语句处理模块,用于将接收的SQL语句进行解析,分析提取语句中期望加密字段的数据,并将期望加密字段的数据传递给加解密器模块处理;加解密器模块,用于根据配置的多种数据处理算法,对期望加密字段的数据进行加密处理;所述数据处理算法包括加密算法、哈希算法、签名算法和脱敏算法;数据库协议封装模块,用于将加解密器模块加密处理后的密文数据,重新封装成对应类型的数据库请求协议,并发送到所述数据库系统。3.根据权利要求2所述的一种可扩展的数据库透明加密装置,其特征在于,所述加解密器模块,还用于接收其他算法通过动态加载的方式注册到加解密器模块中。4.一种可扩展的数据库透明加密装置,其特征在于,该装置应用部署在客户端与数据库系统之间,一端与客户端通信连接,另一端与数据库系统通信连接;该装置应用于所述数据库系统向所述客户端发送数据,具体该装置包括:数据分发模块和多个不同类型的数据库协议处理模块;其中,所述数据分发模块,用于接收所述数据库系统返回的数据库响应协议;根据预先配置的TCP端口将数据库响应协议转发到对应类型的数据库协议处理模块;所述数据库协议处理模块,用于从所述数据分发模块接收对应的数据库响应协议,进行解析、解密、重新封装处理后返回给对应的所述客户端。5.根据权利要求4所述的一种可扩展的数据库透明加密装置,其特征在于,所述数据库协议处理模块,包括:数据库协议解析模块,用于将所述数据库响应协议中各个数据通讯子包进行解析、确定数据中存在的密文字段数据,并将密文字段数据传递给加解密器模块处理;加解密器模块,用于根据配置的多种数据处理算法,对需要解密的密文字段数据进行解密处理;所述数据处理算法包括加密算法、哈希算法、签名算法和脱敏算法;数据库协议封装模块,用于将加解密器模块解密处理后的明文数据,重新封装成对应类型的数据库响应协议,并发送到所述客户端。6.根据权利要求5所述的一种可扩展的数据库透明加密装置,其特征在于,所述加解密器模块,还用于接收其他算法通过动态加载的方式注册到加解密器模块中。
7.一种可扩展的数据库透明加密方法,其特征在于,使用如权利要求1

3任一项所述的可扩展的数据库透明加密装置,该方法具体包括:S10、数据分发模块接收客户端发送的数据库请求协议;根据预先配置的T...

【专利技术属性】
技术研发人员:宋长冉刘昭雷张玉涛徐建超孙超刘会议
申请(专利权)人:三未信安科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1