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

文档序号:9304771阅读:489来源:国知局
数据库数据加密解密方法和系统的制作方法
【技术领域】
[0001]本发明涉及信息安全技术领域,特别是指一种数据库数据加密解密方法和系统。
【背景技术】
[0002]目前,数据库技术大量运用到各种信息管理系统、交易系统,也大量运用各种社交软件、社交网站、网络论坛等社交系统。在这些数据库中,存储了大量客户的姓名、身份证号、个人密码等个人隐私资料,有的还存储了客户银行卡卡号和有效期等金融隐私资料。如果不采取有效的保护措施,这些机密资料一旦被不法分子窃取,不仅导致客户个人隐私资料泄漏,还可能导致客户经济损失,严重的甚至引起社会问题。CSDN网站密码泄密事件、某酒店住宿记录泄密事件,就是近期发生的典型的客户个人隐私泄漏事件,给客户个人和泄密企业声誉造成了极大的影响。
[0003]对数据库数据,特别是机密数据进行加密,是保护机密数据的最有效方法之一。根据加密层所处的位置,至下而上大致可以分为存储加密、数据库加密、应用加密三类。
[0004]存储加密由存储设备厂商提供,数据写入存储设备时加密,数据从设备读出时解密。这种加密措施,对数据在物理存储设备上的应用透明数据库是加密的,可以防止物理设备被盗导致的泄密问题,但不能防止通过数据库工具或应用软件窃取机密数据。
[0005]数据库加密由数据库厂商提供,数据写入数据库时加密,数据从数据库读出时解密。这种加密措施,对应用透明,其数据在物理存储设备是加密的,可以防止物理设备被盗导致的泄密问题,但依然不能防止通过数据库工具或应用软件窃取机密数据。
[0006]应用加密,由应用软件在数据写入数据库前对数据进行加密,在数据读出数据库后对数据进行解密。这种加密措施,其数据在物理存储设备和数据库都是加密的,可以防止物理设备被盗导致的泄密问题,也可以防止通过数据库工具窃取机密数据,还可以防止通过其他应用软件窃取机密数据,因而对数据库数据进行了比较完善的保护。但由于应用参与数据的加密解密处理,存在如下问题:(I)加密方法对开发人员公开,降低了系统安全性;(2)所有数据库操作都要进行加密解密处理,应用软件开发难度大,工作量大,测试困难,容易出现疏漏;(3)更换加密方法时需重构应用软件,应用软件适应性差,工期长,实施困难。

【发明内容】

[0007]有鉴于此,本发明的目的在于提出一种对应用开发完全透明、能够有效提升信息保护等级和水平的数据库数据加密解密方法和系统。
[0008]基于上述目的本发明提供的一种数据库数据加密/解密方法,应用于数据库系统,所述数据库系统包括:终端和数据库,所述终端上设置持久层且安装有具备数据库操作功能的应用;包括以下步骤:
[0009]加密步骤:
[0010]获取所述持久层内的第一操作数据,所述第一操作数据对应于所述终端上的应用发出的数据库数据写入指令;
[0011]所述终端生成一加密请求,并将所述加密请求和第一操作数据发送至加密/解密服务器;
[0012]所述加密/解密服务器调用预设的加密参数,根据所述第一操作数据的数据类型匹配相应的加密算法并对其进行加密处理;
[0013]所述加密/解密服务器将加密后的所述第一操作数据返回所述持久层,并由所述持久层将其写入所述数据库;
[0014]解密步骤:
[0015]获取所述持久层内的第二操作数据,所述第二操作数据经所述加密步骤加密、且对应于所述终端上的应用发出的数据库数据读取指令;
[0016]所述终端生成一解密请求,并将所述解密请求和第二操作数据发送至所述加密/解密服务器;
[0017]所述加密/解密服务器调用预设的加密参数,根据所述第二操作数据的数据类型匹配相应的解密算法并对其进行解密处理;
[0018]所述加密/解密服务器将解密后的所述第二操作数据返回所述持久层,并由所述持久层将其发送至所述应用。
[0019]优选的,还包括加密/解密服务器初始化步骤:
[0020]创建至少1024组加密参数,建立数据类型和加密算法及加密初始数据的对照关系;
[0021]预设生成认证参数,所述认证参数包括为每个不同的应用分配的应用名称和通信密码,用于对应用进行身份认证。
[0022]优选的,还包括终端初始化步骤:
[0023]配置所述加密/解密服务器的ip地址和端口,配置与所述认证参数配套的应用名称和通信密码。
[0024]优选的,还包括应用分析步骤:
[0025]分析应用相关机密数据,确定需加密的数据项,为每个数据项分配一个数据类型号,所述数据类型号用于决定该数据项匹配的加密算法;
[0026]对所述持久层进行配置,为需加密的数据项启用所述加密步骤。
[0027]优选的,所述加密步骤还包括:
[0028]将加密后的所述第一操作数据进行Base64编码,并在其前面添加加密序号前缀。
[0029]本发明还提供了一种数据库数据加密/解密系统,应用于数据库系统,所述数据库系统包括:终端和数据库,所述终端上设置持久层且安装有具备数据库操作功能的应用;包括:
[0030]持久层扩展模块,用于获取所述持久层内的第一操作数据,所述第一操作数据对应于所述终端上的应用发出的数据库数据写入指令;以及,获取所述持久层内的第二操作数据,所述第二操作数据经所述加密步骤加密、且对应于所述终端上的应用发出的数据库数据读取指令;
[0031]加密/解密模块,设置于所述终端上,用于生成一加密请求,并将所述加密请求和第一操作数据发送至加密/解密服务器;以及,生成一解密请求,并将所述解密请求和第二操作数据发送至加密/解密服务器;
[0032]加密/解密服务器,用于调用预设的加密参数,根据所述第一操作数据的数据类型匹配相应的加密算法并对其进行加密处理,将加密后的所述第一操作数据返回所述持久层,并由所述持久层将其写入所述数据库;以及,调用预设的加密参数,根据所述第二操作数据的数据类型匹配相应的解密算法并对其进行解密处理,将解密后的所述第二操作数据返回所述持久层,并由所述持久层将其发送至所述应用。
[0033]优选的,所述加密/解密服务器包括:
[0034]加密/解密单元,为多种加密算法的软件实现,用于完成加密和解密处理;
[0035]参数存储单元,用于存储加密参数和认证参数;所述加密参数为多组加密算法配置数据,包括数据类型和加密算法的对照关系;所述认证参数为多组应用身份合法性认证配置数据,包括应用名称和通信密码。
[0036]优选的,所述加密/解密模块包括:
[0037]通信参数存储单元,用于存储所述加密/解密服务器的ip地址和端口,以及与所述认证参数配套的应用名称和通信密码。
[0038]优选的,所述持久层扩展模块还用于:分析应用相关机密数据,确定需加密的数据项,为每个数据项分配一个数据类型号,所述数据类型号用于决定该数据项匹配的加密算法;对所述持久层进行配置,为需加密的数据项进行加密。
[0039]优选的,所述加密/解密单元还用于:将加密后的所述第一操作数据进行Base64编码,并在其前面添加加密序号前缀。
[0040]从上面所述可以看出,本发明提供的数据库数据加密解密方法和系统,将传统数据库技术和加密技术相结合,基于数据库持久层扩展技术,在数据库持久层插入扩展层用于加密/解密,实现应用无感知的数据库数据加密与解密处理,不仅达到应用加密数据库数据的效果,还将加密部分和应用分离,对应用开发完全透明,从而较好地解决了由应用加密数据库数据带来的加密算法对开发人员公开、应用开发难度较大、应用适应性差等问题,有效提高应用开发效率和质量,提升企业信息保护等级和水平。
【附图说明】
[0041]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1