基于SQL重写的数据库外部加解密系统及其使用方法技术方案

技术编号:8271657 阅读:233 留言:0更新日期:2013-01-31 04:00
本发明专利技术提供了一种基于SQL重写的数据库加解密系统及其使用方法。该系统包括SQL重写主模块、语句解析模块、语法规则管理模块、加解密表列管理模块、重写执行模块以及数据加解密模块。该方法包括执行重写后的数据表的创建过程、重写后的数据的插入过程和数据的查询过程。本发明专利技术采用SQL重写技术,在数据库系统外部对数据进行加解密,从而避免数据库系统加解密开销。

【技术实现步骤摘要】
本专利技术涉及数据库加密领域,尤其涉及一种基于SQL重写技术的数据库加解密方法。
技术介绍
隐私数据的泄露是当前数据库系统面临的一个严重威胁。恶意的数据库管理员可通过访问数据库管理系统服务器去获取隐私数据(包括健康记录、金融股票、个人信息等)并出售给第三者。一种解决此威胁的方式是将数据库中的敏感数据进行加密,但多数数据库系统不适合使用这种方式。这种方式会产生很多无法克服的负面影响。首先,数据库系统要处理大量用户和程序的查询请求并生成数据返回,大量的保密数据和有效查询执行性能之间存在严重冲突。当前针对密文数据的计算方式或是效率低下或是不能提供充分的保·密性,如使用强加密算法所得到密文数据会阻止数据库服务器执行SQL查询命令。其次,当前数据库加密系统在查询中必须先对加密数据表解密,然后用明文数据与查询SQL进行匹配,导致明文数据暴露在数据库系统中,数据库管理人员有机会盗取明文敏感数据。此外,数据库端对查询结果进行解密操作,查询结果以明文的方式返回给应用层,在传输过程中易遭窃取,导致敏感数据泄露。基于以上情况,必须采取高效、安全的加密手段,提升数据库加密的安全性和执行效率。
技术实现思路
本专利技术目的在于提供一种基于SQL重写的数据库加解密方法,使用本专利技术能够集SQL重写、数据加密、数据解密、安全传输、高效查询于一体,实现对数据库加密数据创建和使用的安全防护。本专利技术所采用的技术方案是基于SQL重写的数据库外部加解密系统,包括SQL重写主模块、语句解析模块、语法规则管理模块、加解密表列管理模块、重写执行模块以及数据加解密模块; SQL重写主模块在数据库查询过程中,根据加解密需求对语句解析模块、重写执行模块、数据加解密模块和加解密表列管理模块进行调度; 语句解析模块负责对SQL语句进行语法和语义检查,生成SQL语句重写记录存储在加解密表列管理模块中; 语法规则管理模块定义了和加解密相关的SQL语句关键字,供语句解析模块参考; 加解密表列管理模块对数据库中已加密的表列和加解密算法进行记录; 重写执行模块受SQL重写主模块调用,执行SQL语句的重写,并与数据加解密模块进行数据通信; 数据加解密模块负责对输入值按照给定的加解密算法进行加密或者解密。基于SQL重写的数据库外部加解密系统的使用方法,包括执行重写后的数据表的创建过程、重写后的数据的插入过程和数据的查询过程。所述的使用方法,数据表的创建过程包括 Al)创建含有加密列数据表的SQL语句通过SQL重写主模块进入语句解析模块; A2)语句解析模块调用语法规则管理模块获知需要加密的数据表列及其加密算法; A3)语句解析模块判断SQL语句是否合法,若否,过程终止,若合法,进入下一步; A4)语句解析模块生成SQL重写记录,该记录记载了加密的表列和相应的加密算法名称,以及加密后的数据类型; A5)重写记录由加解密表列管理模块进行存储; A6)语句解析模块将SQL重写记录返回给SQL重写主模块,SQL重写主模块再将重写记 录和待重写的SQL语句交由重写执行模块执行; A7)重写执行模块根据重写记录将含有加密列数据表的SQL语句重写成标准SQL语句,修改列数据类型为加密后的数据类型,然后将重写后的SQL请求语句送交SQL重写主模块; AS)重写后的SQL请求语句被送往数据库系统创建数据表。所述的使用方法,数据的插入过程包括 BI) SQL重写主模块将执行数据插入的SQL语句输入语句解析模块; B2)语句解析模块根据加解密表列管理模块的记录,逐个检查每个数据列是否已记载在SQL重写记录中,若否,不做任何重写,执行B6 ;若为是,则该数据列需要进行加密处理,进入下一步; B3)语句解析模块将需要加密的表列和相应的加密算法名发送给SQL重写主模块;B4)SQL重写主模块将包含需加密表列数据的SQL语句发送给重写执行模块,重写执行模块调用数据加解密模块进行加密,得到加密后的表列数据; B5)重写执行模块将SQL语句中的需加密的表列数据替换为加密后的表列数据,并返回给SQL重写主模块; B6) SQL重写主模块将数据插入语句送往数据库系统。所述的使用方法,数据的查询过程包括 CDSQL重写主模块接收从数据库系统查询数据的SQL请求语句,并发送给语句解析模块; C2)语句解析模块根据加解密表列管理模块的记录,逐个检查待查询的数据列是否记录在该记录中,若否,执行步骤C5 ;若为是,则该数据列需要进行解密处理,进入下一步;C3)语句解析模块将需要解密的表列和相应的加密算法名发送给SQL重写主模块; C4) SQL重写主模块将需要解密的数据表列列为待处理项; C5) SQL重写主模块将SQL查询语句发往数据库得到查询结果; C6)对于查询结果,SQL重写主模块检查是否包含有待处理项,若否,执行步骤C8 ;若为是,进入下一步; C7) SQL重写主模块调用数据加解密模块中相应的加密算法,将待处理项进行解密; CS) SQL重写主模块返回最终的查询结果。本专利技术的技术效果本专利技术采用SQL重写技术,在数据库系统外部对数据进行加解密,从而避免数据库系统加解密开销。SQL重写保证数据加解密对应用系统的透明,将SQL请求直接作用在数据库实体数据表列上。SQL重写可保证加解密算法和明文数据仅对应用系统开放,杜绝了数据库系统对明文敏感数据的访问。同时,加解密流程与数据库系统相脱离,对数据库系统不做任何修改。基于SQL重写的数据库加解密方法可强化加密、查询、传输、解密整个操作流程的安全性和效率性。总之,本专利技术解决了数据库加密中数据库系统负载过重、明文暴露、传输泄露的问题,提高了数据库加密的安全性、可靠性和有效性。附图说明图I为子模块调用示意图。图2为创建数据表流程示意图。 图3为插入数据流程示意图。图4为查询数据流程示意图。具体实施例方式为了解决数据库系统加解密的大量开销问题,简化数据库处理流程,降低数据库系统负载,本专利技术采用在数据库外部对数据进行加解密的方式,该方式既保证了面向业务系统的透明性,也减缓了数据库系统的加解密压力。另外,由于数据库安全的防范重点在于杜绝数据库管理人员从内部窃取,应避免明文暴露在数据库系统中,外部加密方式可实现加解密过程脱离数据库系统运行环境。SQL (Structed Query Language,结构化查询语言)重写技术是在SQL请求语句从应用系统发出,在数据库系统执行之前,对语句进行改写,已达到查询性能优化等目的。SQL重写可以保证数据库实体表列直接接受SQL请求,保证加解密算法和数据仅对应用系统开放,杜绝了数据库系统对明文敏感数据的访问。另外,加解密流程与数据库系统相脱离,对数据库系统不做任何修改,仅需针对不同数据库系统建立不同的SQL重写机制。基于SQL重写的数据库加密方法可强化加密、查询、传输、解密整个操作流程的安全性和效率性。一种基于SQL重写的数据库外部加解密方法,使得数据加解密脱离数据库系统环境。该方法包括SQL重写主模块、语句解析模块、语法规则管理模块、加解密表列管理模块、重写执行模块以及数据加解密模块。创建数据表时,SQL重写主模块接收用户发出的SQL请求语句,调用语句解析模块确定待重写的SQL请求语句片段。语句本文档来自技高网...

【技术保护点】
基于SQL重写的数据库外部加解密系统,其特征在于:包括SQL重写主模块、语句解析模块、语法规则管理模块、加解密表列管理模块、重写执行模块以及数据加解密模块;SQL重写主模块在数据库查询过程中,根据加解密需求对语句解析模块、重写执行模块、数据加解密模块和加解密表列管理模块进行调度;语句解析模块负责对SQL语句进行语法和语义检查,生成SQL语句重写记录存储在加解密表列管理模块中;语法规则管理模块定义了和加解密相关的SQL语句关键字,供语句解析模块参考;加解密表列管理模块对数据库中已加密的表列和加解密算法进行记录;重写执行模块受SQL重写主模块调用,执行SQL语句的重写,并与数据加解密模块进行数据通信;数据加解密模块负责对输入值按照给定的加解密算法进行加密或者解密。

【技术特征摘要】
1.基于SQL重写的数据库外部加解密系统,其特征在于包括SQL重写主模块、语句解析模块、语法规则管理模块、加解密表列管理模块、重写执行模块以及数据加解密模块; SQL重写主模块在数据库查询过程中,根据加解密需求对语句解析模块、重写执行模块、数据加解密模块和加解密表列管理模块进行调度; 语句解析模块负责对SQL语句进行语法和语义检查,生成SQL语句重写记录存储在加解密表列管理模块中; 语法规则管理模块定义了和加解密相关的SQL语句关键字,供语句解析模块参考; 加解密表列管理模块对数据库中已加密的表列和加解密算法进行记录; 重写执行模块受SQL重写主模块调用,执行SQL语句的重写,并与数据加解密模块进行数据通信; 数据加解密模块负责对输入值按照给定的加解密算法进行加密或者解密。2.基于SQL重写的数据库外部加解密系统的使用方法,其特征在于包括执行重写后的数据表的创建过程、重写后的数据的插入过程和数据的查询过程。3.根据权利要求2所述的使用方法,其特征在于,数据表的创建过程包括 Al)创建含有加密列数据表的SQL语句通过SQL重写主模块进入语句解析模块; A2)语句解析模块调用语法规则管理模块获知需要加密的数据表列及其加密算法; A3)语句解析模块判断SQL语句是否合法,若否,过程终止,若合法,进入下一步; A4)语句解析模块生成SQL重写记录,该记录记载了加密的表列和相应的加密算法名称,以及加密后的数据类型; A5)重写记录由加解密表列管理模块进行存储; A6)语句解析模块将SQL重写记录返回给SQL重写主模块,SQL重写主模块再将重写记录和待重写的SQL语句交由重写执行模块执行; A7)重写执行模块根据重写记录将含有加密列数据表的SQL语句重写成标准SQL语句,修改列数据类型为加密后的数据类型,然后将重写...

【专利技术属性】
技术研发人员:景奕昕韩敏余鹏飞唐威廖巍
申请(专利权)人:武汉华工安鼎信息技术有限责任公司
类型:发明
国别省市:

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

1