数据库数据加密解密方法和系统的制作方法_3

文档序号:9304771阅读:来源:国知局
根据所述第一操作数据的数据类型匹配相应的加密算法并对其进行加密处理,将加密后的所述第一操作数据返回所述持久层,并由所述持久层将其写入所述数据库;以及,调用预设的加密参数,根据所述第二操作数据的数据类型匹配相应的解密算法并对其进行解密处理,将解密后的所述第二操作数据返回所述持久层,并由所述持久层将其发送至所述应用。
[0084]本实施例中,持久层扩展模块201和加密/解密模块202均为定制的扩展功能模块。在操作数据库时,应用将数据库操作指令提交给持久层,持久层自动调用持久层扩展模块201对指令进行预处理,持久层扩展模块201对指令中的数据和参数(在数据库系统中,操作数据一般由数据和参数组成)调用加密/解密模块202进行加密解密处理,最后将处理后的数据和参数返回到持久层,持久层再使用该数据、参数对数据库进行操作。
[0085]作为优选实施例,所述加密/解密服务器203包括:
[0086]加密/解密单元,为多种加密算法的软件实现,用于完成加密和解密处理;
[0087]参数存储单元,用于存储加密参数和认证参数;所述加密参数为多组加密算法配置数据,包括数据类型和加密算法的对照关系;所述认证参数为多组应用身份合法性认证配置数据,包括应用名称和通信密码。
[0088]在优选实施例中,所述加密/解密模块202包括:
[0089]通信参数存储单元,用于存储所述加密/解密服务器的ip地址和端口,以及与所述认证参数配套的应用名称和通信密码。
[0090]相应的,加密/解密模块202和加密/解密服务器203上还均设置有通信单元,用于提供TCP/IP通信服务的软件实现,以便实现二者间的数据交换。
[0091]此外,加密/解密模块202还包括:接口单元,用于存储并提供一组供其他模块使用的接口方法,包括连接(connect)、断开(disconnect)、加密(encrypt)、解密(decrypt)等方法。
[0092]在优选实施例中,所述持久层扩展模块201还用于:分析应用相关机密数据,确定需加密的数据项,为每个数据项分配一个数据类型号,所述数据类型号用于决定该数据项匹配的加密算法;对所述持久层进行配置,为需加密的数据项进行加密。
[0093]在优选实施例中,所述加密/解密单元还用于:将加密后的所述第一操作数据进行Base64编码,并在其前面添加加密序号前缀。
[0094]所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种数据库数据加密/解密方法,应用于数据库系统,所述数据库系统包括:终端和数据库,所述终端上设置持久层且安装有具备数据库操作功能的应用;其特征在于,包括以下步骤: 加密步骤: 获取所述持久层内的第一操作数据,所述第一操作数据对应于所述终端上的应用发出的数据库数据写入指令; 所述终端生成一加密请求,并将所述加密请求和第一操作数据发送至加密/解密服务器; 所述加密/解密服务器调用预设的加密参数,根据所述第一操作数据的数据类型匹配相应的加密算法并对其进行加密处理; 所述加密/解密服务器将加密后的所述第一操作数据返回所述持久层,并由所述持久层将其写入所述数据库; 解密步骤: 获取所述持久层内的第二操作数据,所述第二操作数据经所述加密步骤加密、且对应于所述终端上的应用发出的数据库数据读取指令; 所述终端生成一解密请求,并将所述解密请求和第二操作数据发送至所述加密/解密服务器; 所述加密/解密服务器调用预设的加密参数,根据所述第二操作数据的数据类型匹配相应的解密算法并对其进行解密处理; 所述加密/解密服务器将解密后的所述第二操作数据返回所述持久层,并由所述持久层将其发送至所述应用。2.根据权利要求1所述的方法,其特征在于,还包括加密/解密服务器初始化步骤: 创建至少1024组加密参数,建立数据类型和加密算法及加密初始数据的对照关系; 预设生成认证参数,所述认证参数包括为每个不同的应用分配的应用名称和通信密码,用于对应用进行身份认证。3.根据权利要求2所述的方法,其特征在于,还包括终端初始化步骤: 配置所述加密/解密服务器的ip地址和端口,配置与所述认证参数配套的应用名称和通信密码。4.根据权利要求1所述的方法,其特征在于,还包括应用分析步骤: 分析应用相关机密数据,确定需加密的数据项,为每个数据项分配一个数据类型号,所述数据类型号用于决定该数据项匹配的加密算法; 对所述持久层进行配置,为需加密的数据项启用所述加密步骤。5.根据权利要求1所述的方法,其特征在于,所述加密步骤还包括: 将加密后的所述第一操作数据进行Base64编码,并在其前面添加加密序号前缀。6.一种数据库数据加密/解密系统,应用于数据库系统,所述数据库系统包括:终端和数据库,所述终端上设置持久层且安装有具备数据库操作功能的应用;其特征在于,包括: 持久层扩展模块,用于获取所述持久层内的第一操作数据,所述第一操作数据对应于所述终端上的应用发出的数据库数据写入指令;以及,获取所述持久层内的第二操作数据,所述第二操作数据经所述加密步骤加密、且对应于所述终端上的应用发出的数据库数据读取指令; 加密/解密模块,设置于所述终端上,用于生成一加密请求,并将所述加密请求和第一操作数据发送至加密/解密服务器;以及,生成一解密请求,并将所述解密请求和第二操作数据发送至加密/解密服务器; 加密/解密服务器,用于调用预设的加密参数,根据所述第一操作数据的数据类型匹配相应的加密算法并对其进行加密处理,将加密后的所述第一操作数据返回所述持久层,并由所述持久层将其写入所述数据库;以及,调用预设的加密参数,根据所述第二操作数据的数据类型匹配相应的解密算法并对其进行解密处理,将解密后的所述第二操作数据返回所述持久层,并由所述持久层将其发送至所述应用。7.根据权利要求6所述的系统,其特征在于,所述加密/解密服务器包括: 加密/解密单元,为多种加密算法的软件实现,用于完成加密和解密处理; 参数存储单元,用于存储加密参数和认证参数;所述加密参数为多组加密算法配置数据,包括数据类型和加密算法的对照关系;所述认证参数为多组应用身份合法性认证配置数据,包括应用名称和通信密码。8.根据权利要求7所述的系统,其特征在于,所述加密/解密模块包括: 通信参数存储单元,用于存储所述加密/解密服务器的ip地址和端口,以及与所述认证参数配套的应用名称和通信密码。9.根据权利要求6所述的系统,其特征在于,所述持久层扩展模块还用于:分析应用相关机密数据,确定需加密的数据项,为每个数据项分配一个数据类型号,所述数据类型号用于决定该数据项匹配的加密算法;对所述持久层进行配置,为需加密的数据项进行加密。10.根据权利要求7所述的系统,其特征在于,所述加密/解密单元还用于:将加密后的所述第一操作数据进行Base64编码,并在其前面添加加密序号前缀。
【专利摘要】本发明公开了一种数据库数据加密/解密方法和系统,将传统数据库技术和加密技术相结合,基于数据库持久层扩展技术,在数据库持久层插入加密层,实现应用无感知的数据库数据加密与解密处理,不仅达到应用加密数据库数据的效果,还将加密模块和应用分离,对应用开发完全透明,从而较好地解决了由应用加密数据库数据带来的加密算法对开发人员公开、应用开发难度较大、应用适应性差等问题,有效提高应用开发效率和质量,提升企业信息保护等级和水平。
【IPC分类】G06F21/62
【公开号】CN105022966
【申请号】CN201510432316
【发明人】郭俊雄
【申请人】郭俊雄
【公开日】2015年11月4日
【申请日】2015年7月21日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1