CN106934299A - 一种数据库加密系统和方法 - Google Patents
一种数据库加密系统和方法 Download PDFInfo
- Publication number
- CN106934299A CN106934299A CN201511009984.0A CN201511009984A CN106934299A CN 106934299 A CN106934299 A CN 106934299A CN 201511009984 A CN201511009984 A CN 201511009984A CN 106934299 A CN106934299 A CN 106934299A
- Authority
- CN
- China
- Prior art keywords
- database
- data
- manipulation request
- request
- expansion module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
Abstract
本发明公开了一种数据库加密系统和方法,该方法包括:接收用户的数据库操作请求,并将该数据库操作请求发送给所述数据库扩展模块;所述数据库扩展模块根据所述数据库操作请求是否涉及敏感数据而对所述数据库操作请求涉及的相关数据进行相应的处理,并将所述数据库操作请求及相关数据发送给所述数据库管理系统;所述密钥管理模块根据所述数据库扩展模块的请求向所述数据库扩展模块返回加密密钥;所述数据库管理系统根据所述数据库操作请求对数据库进行操作。
Description
技术领域
本发明涉及一种数据安全领域,尤其涉及对数据库的加密系统和方法。
背景技术
数据即资产,政府机关,企事业单位核心数据的80%是以结构化形式存储在数据库中。而在2014年到2015年之间,国内外就发生数据泄密事件数千件。如十大酒店泄露大量房客开房信息,12306网站大量用户身份证等信息遭泄露,超30省市的数千万社保用户敏感信息遭泄露,网易邮箱过亿用户敏感信息泄露等重大泄露事件。数据库作为核心资产的载体,一旦发生泄密将会造成给企事业单位和用户造成惨重的损失,因此数据库安全性越来越受到重视。
在近几年的发展中,网络安全,主机安全等产品线不断丰富,已非常成熟。但市场上专业的数据库安全防护产品却很缺乏。数据库的安全性直接影响到数据的机密性,完整性和可用性。其中,解决机密性的最有效的方法就是对存储于数据库中的数据进行加密。针对以上问题,北京明朝万达科技股份有限公司提出采用数据库加密中间件来实现数据的透明加解密,且加解密密钥由单独密钥管理服务器生成和存储,任何组织和个人通过非常规的手段获取到的敏感数据均为密文。
目前市场上针对数据库安全最常用的是通过DBMS(Database Management System数据库管理系统)对数据进行加密。主要是通过扩展SQL(Structured Query Language结构化查询语言)语句加解密函数实现对元组和属性的加密。
然而现有技术存在以下缺点:
(1)由于扩展SQL函数实现的加解密,会导致更换数据库管理系统的成本过高。
(2)密钥和密文保存在同一服务器中,一旦泄密,攻击者可先找到密钥,再对密文进行解密。
(3)需要对应用层进行改造来适应加解密数据的需求。
(4)加解密过程对数据库性能有影响。
为了克服上述缺点,本发明需要达到以下目的:
1)本申请提出的数据库加密中间件为用户提供透明的数据加密保护功能,并且无需对应用层进行修改。
2)通过将密钥管理与数据库服务器管理分离保证攻击者即使拿到敏感数据,由于没有对应的解密密钥,也无法获取到明文数据。
3)由于加解密操作是在中间层完成,因此加解密操作不影响数据库本身的性能。
4)即使更换数据库管理系统也不会对原始密文数据的使用造成影响。
发明内容
为解决上述技术问题,本发明提出了一种数据库加密系统,该系统包括:应用服务器,数据库管理系统(DBMS),其特征在于,该系统还包括:数据库扩展模块,数据加密模块,密钥管理模块;
所述数据库扩展模块分别与所述应用服务器,所述数据库管理系统,以及所述数据加密模块连接,所述数据加密模块与所述密钥管理模块连接;
其中,所述应用服务器接收用户的数据库操作请求,并将该数据库操作请求发送给所述数据库扩展模块;
所述数据库扩展模块根据所述数据库操作请求是否涉及敏感数据而对所述数据库操作请求涉及的相关数据进行相应的处理,并将所述数据库操作请求及相关数据发送给所述数据库管理系统;
所述密钥管理模块根据所述数据库扩展模块的请求向所述数据库扩展模块返回加密密钥;
所述数据库管理系统根据所述数据库操作请求对数据库进行操作。
在一个实施例中,所述数据库扩展模块判断所述相关数据是否涉及敏感数据,如果涉及敏感数据,则向所述密钥管理模块请求加密密钥,并利用该加密密钥加密所述敏感数据,然后将所述数据库操作请求及经加密的敏感数据发送给所述数据库管理系统,如果所述数据库操作请求不涉及敏感数据,直接将所述数据库操作请求及相关数据发送给所述数据库管理系统。
在又一实施例中,该系统还包括一个与所述应用服务器配套的业务客户端。
在又一实施例中,当所述应用服务器判断发送所述数据库操作请求的用户为合法用户时,才将所述数据库操作请求发送给所述数据库扩展模块。
在又一实施例中,所述数据库操作请求包括数据库插入操作,数据库更新操作,或者数据库查询操作。
为解决上述技术问题,本发明提出了一种数据库加密方法,该方法包括以下步骤:
接收用户的数据库操作请求,并将该数据库操作请求发送给所述数据库扩展模块;
所述数据库扩展模块根据所述数据库操作请求是否涉及敏感数据而对所述数据库操作请求涉及的相关数据进行相应的处理,并将所述数据库操作请求及相关数据发送给所述数据库管理系统;
所述密钥管理模块根据所述数据库扩展模块的请求向所述数据库扩展模块返回加密密钥;
所述数据库管理系统根据所述数据库操作请求对数据库进行操作。
在一个实施例中,所述数据库扩展模块判断所述相关数据是否涉及敏感数据,如果涉及敏感数据,则向所述密钥管理模块请求加密密钥,并利用该加密密钥加密所述敏感数据,然后将所述数据库操作请求及经加密的敏感数据发送给所述数据库管理系统,如果所述数据库操作请求不涉及敏感数据,直接将所述数据库操作请求及相关数据发送给所述数据库管理系统。
在又一实施例中,一个用户可以对应一个加密密钥或多个加密密钥。
在又一实施例中,当判断发送所述数据库操作请求的用户为合法用户时,才将所述数据库操作请求发送给所述数据库扩展模块。
在又一实施例中,所述数据库操作请求包括数据库插入操作,数据库更新操作,或者数
据库查询操作。
通过本发明提出的方案,取得了以下技术效果:
1)进一步增强了数据和数据库的安全性
2)节约了数据库管理系统的更换成本
3)降低了应用层业务类型变更的开发成本。
附图说明
图1是本发明的整体系统架构图。
图2是本发明的数据加密流程图。
图3是本发明一种具体实施例的数据加密流程图。
图4是本发明又一种具体实施例的数据加密流程图。
具体实施方式
图1是本发明的系统总体架构图。
图1中的数据库加密中间件包含两部分:数据库扩展模块与数据加密模块,其中数据库扩展模块主要用于与数据库管理系统交互,数据加密模块则负责数据的加密。密钥管理模块负责密钥的生成与存储。该系统还包括一个与所述应用服务器配套的业务客户端(图中未示出)。
所述数据库扩展模块分别与所述应用服务器,所述数据库管理系统,以及所述数据加密模块连接,所述数据加密模块与所述密钥管理模块连接。
所述应用服务器接收用户的数据库操作请求,当所述应用服务器判断发送所述数据库操作请求的用户为合法用户时,将该数据库操作请求发送给所述数据库扩展模块,否则不发送该数据库操作请求。用户在客户端进行业务操作,涉及到查询或者插入操作时(敏感数据一般不涉及到更新和删除,但在特殊情况可能需要),向应用服务器发送请求。
所述数据库扩展模块判断所述相关数据是否涉及敏感数据,如果涉及敏感数据,则向所述密钥管理模块请求加密密钥,并利用该加密密钥加密所述敏感数据,然后将所述数据库操作请求及经加密的敏感数据发送给所述数据库管理系统,如果所述数据库操作请求不涉及敏感数据,直接将所述数据库操作请求及相关数据发送给所述数据库管理系统。
所述密钥管理模块根据所述数据库扩展模块的请求向所述数据库扩展模块返回加密密钥。
所述数据库管理系统根据所述数据库操作请求对数据库进行操作,一般包括新数据插入数据库的操作以及数据库查询操作。
图2展示了数据库的数据加密流程,具体来说,包括下列步骤:
1)安装应用服务器(数据库加密中间件作为应用服务器的一部分),密钥管理服务器,数据库:配置敏感业务字段等信息。
2)安装与应用服务器配套的业务客户端。
3)用户在客户端进行业务操作,涉及到查询或者插入操作时(敏感数据一般不涉及到更新和删除,但在特殊情况可能需要),向服务器发送请求。
4)服务器验证为合法用户后,将请求发送给数据库加密中间件,中间件判断请求是否涉及到敏感数据,如果没有,则直接访问数据库进行操作;如果涉及到敏感数据,则向密钥管理服务器请求一个密钥(根据不同的业务类型,可设置一人一密或者多人一密)。
5)密钥管理服务器根据请求类型返回一个密钥,如果是插入操作,则数据库加密中间件使用密钥将敏感数据进行加密并写入数据库,如果是查询操作,则使用密钥将查询到敏感数据进行解密,返回给应用层。
图3展示了一个具体的实施例。
某业务需要绑定用户身份证号码,执行以下步骤:
1)业务员进行绑定身份证号码的请求操作。
2)应用服务器收到请求后将身份证号码和操作类型传递给数据库扩展模块。
3)数据库扩展模块根据预设的敏感字段判断身份证号码所属字段是否属于敏感字段,如果是则向数据加密模块请求加密。
4)数据加密模块收到加密请求,则向密钥管理服务器请求密钥。
5)密钥管理服务器监听来自数据加密模块的请求,根据请求类型生成或查找对应的密钥并返回给数据加密模块。如果是新生成的密钥则根据请求类型将新密钥进行存储。
6)数据加密模块收到密钥后将身份证信息进行加密,然后将加密后的信息返回给数据库扩展模块。
7)数据库中间件将加密后的数据写入数据库并向应用层返回操作结果。
图4展示了又一个具体的实施例。
1)某业务需要查询用户的身份信息,用户身份信息为显示敏感数据,为防止被有心人利用,查询出来的数据采用部分显示部分隐藏的方式显示,包括如下步骤:
如:532************069(此处隐藏整条数据的中间2/3部分)。
1)终端业务员输入查询条件查询身份证信息
2)应用服务器收到查询请求将操作类型与查询条件发给数据库中间件
3)数据库中间件从数据库中查询出对应的数据
4)数据库中间件根据查询结果查询预设的存储敏感字段,判断该数据是否是密文存储,如果是,则将密文传递给数据加密模块请求解密
5)数据加密模块收到解密请求,向密钥管理服务器请求解密密钥,密钥管理服务器收到请求后从密钥数据库中查询出解密密钥返回给数据加密模块
6)数据加密模块将数据解密成明文返回给数据库中间件
7)数据库中间件拿到明文数据后,查询预设的显示敏感字段,如果身份证信息不是显示敏感数据,则将明文返回给应用层;如果是显示敏感数据,则根据规则将数据进行隐藏后返回给引用层。
通过本发明的实施例,进一步增强了数据和数据库的安全性,节约了数据库管理系统的更换成本,降低了应用层业务类型变更的开发成本,可配置使得业务系统的使用更加灵活。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应保护在本发明的保护范围之内。
Claims (10)
1.一种数据库加密系统,该系统包括:应用服务器,数据库管理系统(DBMS),其特征在于,该系统还包括:数据库扩展模块,数据加密模块,密钥管理模块;
所述数据库扩展模块分别与所述应用服务器,所述数据库管理系统,以及所述数据加密模块连接,所述数据加密模块与所述密钥管理模块连接;
其中,所述应用服务器接收用户的数据库操作请求,并将该数据库操作请求发送给所述数据库扩展模块;
所述数据库扩展模块根据所述数据库操作请求是否涉及敏感数据而对所述数据库操作请求涉及的相关数据进行相应的处理,并将所述数据库操作请求及相关数据发送给所述数据库管理系统;
所述密钥管理模块根据所述数据库扩展模块的请求向所述数据库扩展模块返回加密密钥;
所述数据库管理系统根据所述数据库操作请求对数据库进行操作。
2.根据权利要求1所述的系统,所述数据库扩展模块判断所述相关数据是否涉及敏感数据,如果涉及敏感数据,则向所述密钥管理模块请求加密密钥,并利用该加密密钥加密所述敏感数据,然后将所述数据库操作请求及经加密的敏感数据发送给所述数据库管理系统,如果所述数据库操作请求不涉及敏感数据,直接将所述数据库操作请求及相关数据发送给所述数据库管理系统。
3.根据权利要求1所述的系统,该系统还包括一个与所述应用服务器配套的业务客户端。
4.根据权利要求1所述的系统,当所述应用服务器判断发送所述数据库操作请求的用户为合法用户时,才将所述数据库操作请求发送给所述数据库扩展模块。
5.根据权利要求1所述的系统,所述数据库操作请求包括数据库插入操作,数据库更新操作或者数据库查询操作。
6.一种数据库加密方法,该方法包括以下步骤:
接收用户的数据库操作请求,并将该数据库操作请求发送给所述数据库扩展模块;
所述数据库扩展模块根据所述数据库操作请求是否涉及敏感数据而对所述数据库操作请求涉及的相关数据进行相应的处理,并将所述数据库操作请求及相关数据发送给所述数据库管理系统(DBMS);
所述密钥管理模块根据所述数据库扩展模块的请求向所述数据库扩展模块返回加密密钥;
所述数据库管理系统根据所述数据库操作请求对数据库进行操作。
7.根据权利要求6所述的方法,所述数据库扩展模块判断所述相关数据是否涉及敏感数据,如果涉及敏感数据,则向所述密钥管理模块请求加密密钥,并利用该加密密钥加密所述敏感数据,然后将所述数据库操作请求及经加密的敏感数据发送给所述数据库管理系统,如果所述数据库操作请求不涉及敏感数据,直接将所述数据库操作请求及相关数据发送给所述数据库管理系统。
8.根据权利要求6所述的方法,一个用户可以对应一个加密密钥或多个加密密钥。
9.根据权利要求6所述的方法,当判断发送所述数据库操作请求的用户为合法用户时,才将所述数据库操作请求发送给所述数据库扩展模块。
10.根据权利要求6所述的方法,所述数据库操作请求包括数据库插入操作,数据库更新操作,或者数据库查询操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511009984.0A CN106934299A (zh) | 2015-12-29 | 2015-12-29 | 一种数据库加密系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511009984.0A CN106934299A (zh) | 2015-12-29 | 2015-12-29 | 一种数据库加密系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106934299A true CN106934299A (zh) | 2017-07-07 |
Family
ID=59459365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511009984.0A Pending CN106934299A (zh) | 2015-12-29 | 2015-12-29 | 一种数据库加密系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106934299A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107623679A (zh) * | 2017-08-16 | 2018-01-23 | 北京奇安信科技有限公司 | 一种数据标记化处理方法及装置 |
CN108121920A (zh) * | 2017-12-19 | 2018-06-05 | 山东渔翁信息技术股份有限公司 | Oracle数据库中数据加密的方法、装置及电子设备 |
CN109697370A (zh) * | 2018-09-30 | 2019-04-30 | 深圳财富农场互联网金融服务有限公司 | 数据库数据加解密方法、装置、计算机设备和存储介质 |
CN111931214A (zh) * | 2020-08-31 | 2020-11-13 | 平安国际智慧城市科技股份有限公司 | 数据处理方法、装置、服务器及存储介质 |
CN112906042A (zh) * | 2021-03-31 | 2021-06-04 | 浙江太美医疗科技股份有限公司 | 处理加密表单的方法、服务器和计算机可读介质 |
CN114760063A (zh) * | 2022-03-18 | 2022-07-15 | 百安居信息技术(上海)有限公司 | 家装留资数据处理方法、系统、存储介质及设备 |
CN115001799A (zh) * | 2022-05-30 | 2022-09-02 | 上海华客信息科技有限公司 | 基于入住信息的页面交互方法、系统、设备及存储介质 |
WO2022252880A1 (zh) * | 2021-06-01 | 2022-12-08 | 中兴通讯股份有限公司 | 数据处理方法及其装置、系统、存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020078049A1 (en) * | 2000-12-15 | 2002-06-20 | Vipin Samar | Method and apparatus for management of encrypted data through role separation |
CN101539890A (zh) * | 2009-04-29 | 2009-09-23 | 威盛电子股份有限公司 | 数据处理系统、密码管理方法及数据读取与写入方法 |
CN101639882A (zh) * | 2009-08-28 | 2010-02-03 | 华中科技大学 | 基于存储加密的数据库安全保密系统 |
-
2015
- 2015-12-29 CN CN201511009984.0A patent/CN106934299A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020078049A1 (en) * | 2000-12-15 | 2002-06-20 | Vipin Samar | Method and apparatus for management of encrypted data through role separation |
CN101539890A (zh) * | 2009-04-29 | 2009-09-23 | 威盛电子股份有限公司 | 数据处理系统、密码管理方法及数据读取与写入方法 |
CN101639882A (zh) * | 2009-08-28 | 2010-02-03 | 华中科技大学 | 基于存储加密的数据库安全保密系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107623679A (zh) * | 2017-08-16 | 2018-01-23 | 北京奇安信科技有限公司 | 一种数据标记化处理方法及装置 |
CN107623679B (zh) * | 2017-08-16 | 2020-06-23 | 奇安信科技集团股份有限公司 | 一种数据标记化处理方法、装置及存储介质 |
CN108121920A (zh) * | 2017-12-19 | 2018-06-05 | 山东渔翁信息技术股份有限公司 | Oracle数据库中数据加密的方法、装置及电子设备 |
CN109697370A (zh) * | 2018-09-30 | 2019-04-30 | 深圳财富农场互联网金融服务有限公司 | 数据库数据加解密方法、装置、计算机设备和存储介质 |
CN111931214A (zh) * | 2020-08-31 | 2020-11-13 | 平安国际智慧城市科技股份有限公司 | 数据处理方法、装置、服务器及存储介质 |
CN112906042A (zh) * | 2021-03-31 | 2021-06-04 | 浙江太美医疗科技股份有限公司 | 处理加密表单的方法、服务器和计算机可读介质 |
WO2022252880A1 (zh) * | 2021-06-01 | 2022-12-08 | 中兴通讯股份有限公司 | 数据处理方法及其装置、系统、存储介质 |
CN114760063A (zh) * | 2022-03-18 | 2022-07-15 | 百安居信息技术(上海)有限公司 | 家装留资数据处理方法、系统、存储介质及设备 |
CN115001799A (zh) * | 2022-05-30 | 2022-09-02 | 上海华客信息科技有限公司 | 基于入住信息的页面交互方法、系统、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106934299A (zh) | 一种数据库加密系统和方法 | |
US11652608B2 (en) | System and method to protect sensitive information via distributed trust | |
US9514330B2 (en) | Meta-complete data storage | |
US9665722B2 (en) | Privacy firewall | |
CN103973668B (zh) | 一种网络信息系统中服务器端的个人隐私数据保护方法 | |
CN101587479B (zh) | 面向数据库管理系统内核的数据加解密系统及其方法 | |
CN108154038B (zh) | 数据处理方法及装置 | |
CN102855448B (zh) | 一种字段级数据库加密装置 | |
US20120321078A1 (en) | Key rotation and selective re-encryption for data security | |
CN106022155A (zh) | 用于数据库安全管理的方法及服务器 | |
CN101002417A (zh) | 不标识敏感信息及相关记录的系统及方法 | |
US8769302B2 (en) | Encrypting data and characterization data that describes valid contents of a column | |
CN106960160A (zh) | 安全的数据库搜索 | |
CN106992851A (zh) | 基于TrustZone的数据库文件口令加解密方法、装置及终端设备 | |
Mulligan et al. | Your place or mine? privacy concerns and solutions for server and client-side storage of personal information | |
JP3843405B2 (ja) | 個人情報の記録方法と個人情報記録システムおよび記録媒体 | |
WO2016181904A1 (ja) | データベースシステム、データベース処理方法 | |
JP2007140869A (ja) | 電子情報管理方法、電子情報管理システム、コンピュータプログラム | |
CN113111380A (zh) | 一种交易平台的数据治理方法 | |
Ahmad et al. | Tokenization based service model for cloud computing environment | |
Abbas et al. | Comparative study on encrypted database techniques | |
Shrivas et al. | Migration Model for un secure Database driven Software System to Secure System using Cryptography | |
Kawashima et al. | Cryptographic alias e-mail addresses for privacy enforcement in business outsourcing | |
Coles et al. | Expert SQL server 2008 encryption | |
Pawar et al. | Enhancement of Data Leakage Detection Using Encryption Technique |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170707 |