数据库透明加密与访问控制方法、装置及设备制造方法及图纸

技术编号:37670566 阅读:19 留言:0更新日期:2023-05-26 04:32
本申请公开了一种数据库透明加密与访问控制方法、装置及设备,涉及数据库安全技术领域,该包括:基于安全策略利用透明加密与访问控制插件建立应用服务器与数据库之间的目标连接;当透明加密与访问控制插件通过目标连接接收到应用服务器的写入请求时,判断写入请求是否为受限访问,若否则利用加密策略将写入请求中的待写入数据写入数据库;当透明加密与访问控制插件通过目标连接接收到应用服务器的读取请求时,获取数据库返回的与读取请求对应的读取结果,基于读取结果的第二目标信息和访问控制策略的匹配结果判断读取请求是否为受限访问,若否则利用解密策略将读取结果发送至应用服务器。能够实现低成本、适合多场景的数据库安全存储和安全访问。据库安全存储和安全访问。据库安全存储和安全访问。

【技术实现步骤摘要】
数据库透明加密与访问控制方法、装置及设备


[0001]本专利技术涉及数据库安全
,特别涉及数据库透明加密与访问控制方法、装置及设备。

技术介绍

[0002]敏感数据在数据库中以明文形式存储,并缺乏有效的访问控制措施,导致数据泄露事件频繁发生。外部敌手入侵盗取数据、内部高权限用户窃取数据、存储介质丢失泄露数据,是当前数据库安全面临的主要问题。数据库加密存储是数据库安全防护体系建设的最后一道防线,数据库透明加密技术自诞生以来,一直处于持续发展状态。目前,数据库透明加密主要包含如下四种实现方式:
[0003]1)基于数据库代理驱动的应用内透明加密系统:例如图1所示的一种具体的应用内透明加密系统的原理示意图,将数据库代理驱动安装在需要访问数据库的应用系统中,实时监听应用进程拦截入库SQL(Structured Query Language serverdatabase,即结构化查询语言数据库),并根据安全策略对敏感数据加密,然后调用数据库驱动将密文数据存入数据库。
[0004]2)基于数据库加密网关的前置代理透明加密系统:例如图2所示的一种具体的前置代理透明加密系统的原理示意图,前置代理加密技术是在数据保存到数据库之前对敏感数据进行加密,并将密文存储到数据库中。前置代理加密通常是以数据库加密网关的形式实现。
[0005]3)基于触发器+视图+UDF(User

DefinedFunction,即用户自定义函数)+密文索引的后置代理透明加密系统:例如图3所示的一种具体的后置代理透明加密系统的原理示意图,后置代理加密技术是基于数据库自身能力的一种加密技术,可充分利用数据库自身提供的扩展能力实现数据的存储加密、加密后数据检索和应用透明等目标。
[0006]4)基于TDE(Transparent Data Encryption,即透明数据加密)的透明加密系统:例如图4所示的一种具体的基于TDE的透明加密系统的原理示意图,TDE是一种对应用系统完全透明的数据库端存储加密技术,通常由数据库厂商在数据库引擎中实现,当数据由数据库共享内存写入到数据文件时对其进行加密;当数据从数据库文件读到数据库共享内存时对其进行解密。也就是说,数据在数据库共享内存中是以明文形态存在的,而在数据文件中则以密文形态存在。同时,由于该技术的透明性,任何合法且有权限的数据库用户都可以访问和处理加密表中的数据。
[0007]上述四种技术均可以实现数据库透明加密,并拥有独立的权控体系,但同时也存在如下不足:
[0008]1)使用场景受限:单一技术路线难以满足多种场景下数据库透明加密需求。TDE技术强依赖数据库厂商,如果数据库没有提供透明加密扩展接口,则无法使用TDE透明加密技术。后置代理加密性能损耗较大,当加密列较多,或查询结果集存在大量数据时,会严重影响应用系统的正常使用。基于网关的前置代理加密需要对数据库协议和语法进行解析,强
依赖数据库类型和数据库版本,另外还存在单点故障和性能损耗等问题。基于数据库代理驱动的应用内透明加密,涉及多样化的编程语言与框架,对数据库具有一定的侵入性,存在字段膨胀问题,如果应用系统使用了触发器、存储过程、数据库事务、数据库函数,采用应用内加密会影响应用系统的业务逻辑,甚至不能正常使用。
[0009]2)实施成本太高:市面上的数据库加密系统通常只实现一种加密技术,对复杂的数据库安全场景,如大型数据中心,需要引入多款数据库加密产品才能解决多种数据库的安全存储和安全访问问题,硬件采购成本太高。在实施部署的过程中,需要协调多个数据库安全厂商,协调成本太高,工作效率太低。系统上线后,运维人员需要维护来自不同厂商的多款数据库加密产品,学习和运维成本太高。
[0010]因此使得数据库存储和访问中成本高、复杂场景难以实现。
[0011]综上可见,如何实现低成本、适合多场景的数据库安全存储和安全访问是本领域有待解决的问题。

技术实现思路

[0012]有鉴于此,本专利技术的目的在于提供一种数据库透明加密与访问控制方法、装置及设备,能够实现低成本、适合多场景的数据库安全存储和安全访问。其具体方案如下:
[0013]第一方面,本申请公开了一种数据库透明加密与访问控制方法,包括:
[0014]基于安全策略,并利用透明加密与访问控制插件建立应用服务器与数据库之间的目标连接;其中,所述安全策略包括访问控制策略、加密策略以及解密策略;
[0015]当所述透明加密与访问控制插件通过所述目标连接接收到所述应用服务器的写入请求时,基于所述写入请求中的第一目标信息和所述访问控制策略的匹配结果,判断所述写入请求是否为受限访问,若否则利用所述加密策略将所述写入请求中的待写入数据写入所述数据库;
[0016]当所述透明加密与访问控制插件通过所述目标连接接收到所述应用服务器的读取请求时,获取所述数据库返回的与所述读取请求对应的读取结果,基于所述读取结果的第二目标信息和所述访问控制策略的匹配结果,判断所述读取请求是否为所述受限访问,若否则利用所述解密策略将所述读取结果发送至所述应用服务器。
[0017]可选的,所述基于安全策略,并利用透明加密与访问控制插件建立应用服务器与数据库之间的目标连接,包括:
[0018]通过透明加密与访问控制插件获取应用服务器发送的连接请求,并利用所述透明加密与访问控制插件识别所述连接请求中的第三目标信息,并基于所述第三目标信息和安全策略,判断所述连接请求是否合法;其中,所述第三目标信息包括数据库名称、数据库账号和IP地址中任意一种或几种目标信息;
[0019]若是,则建立所述应用服务器与数据库之间的目标连接。
[0020]可选的,所述基于安全策略,并利用透明加密与访问控制插件建立应用服务器与数据库之间的目标连接,包括:
[0021]若数据库服务器中的数据库本地透明加密与访问控制插件接收到应用服务器发送的连接请求,则基于安全策略,并利用所述数据库本地透明加密与访问控制插件建立所述应用服务器与所述数据库服务器中的第一数据库之间的目标连接。
[0022]可选的,所述利用所述加密策略将所述写入请求中的待写入数据写入所述数据库,包括:
[0023]通过数据库引擎调用所述数据库本地透明加密与访问控制插件获取所述数据库服务器中的数据库安全代理发送的加密策略,并利用所述加密策略对所述写入请求中的待写入数据进行加密,以得到加密后数据;
[0024]所述数据库本地透明加密与访问控制插件将所述加密后数据返回至所述数据库引擎,以便所述数据库引擎将所述加密后数据写入所述第一数据库;
[0025]相应的,所述利用所述解密策略将所述读取结果发送至所述应用服务器,包括:
[0026]通过所述数据库引擎调用所述数据库本地透明加密与访问控制插件获取所述数据库服务器中的数据库安全代理发送的解密策略,并利用所述解密策略将所述读取结果进行解密,以得到解密后读取结果,然后将所述解密后读取结果返回至所述数据库引擎,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库透明加密与访问控制方法,其特征在于,包括:基于安全策略,并利用透明加密与访问控制插件建立应用服务器与数据库之间的目标连接;其中,所述安全策略包括访问控制策略、加密策略以及解密策略;当所述透明加密与访问控制插件通过所述目标连接接收到所述应用服务器的写入请求时,基于所述写入请求中的第一目标信息和所述访问控制策略的匹配结果,判断所述写入请求是否为受限访问,若否则利用所述加密策略将所述写入请求中的待写入数据写入所述数据库;当所述透明加密与访问控制插件通过所述目标连接接收到所述应用服务器的读取请求时,获取所述数据库返回的与所述读取请求对应的读取结果,基于所述读取结果的第二目标信息和所述访问控制策略的匹配结果,判断所述读取请求是否为所述受限访问,若否则利用所述解密策略将所述读取结果发送至所述应用服务器。2.根据权利要求1所述的数据库透明加密与访问控制方法,其特征在于,所述基于安全策略,并利用透明加密与访问控制插件建立应用服务器与数据库之间的目标连接,包括:通过透明加密与访问控制插件获取应用服务器发送的连接请求,并利用所述透明加密与访问控制插件识别所述连接请求中的第三目标信息,并基于所述第三目标信息和安全策略,判断所述连接请求是否合法;其中,所述第三目标信息包括数据库名称、数据库账号和IP地址中任意一种或几种目标信息;若是,则建立所述应用服务器与数据库之间的目标连接。3.根据权利要求1所述的数据库透明加密与访问控制方法,其特征在于,所述基于安全策略,并利用透明加密与访问控制插件建立应用服务器与数据库之间的目标连接,包括:若数据库服务器中的数据库本地透明加密与访问控制插件接收到应用服务器发送的连接请求,则基于安全策略,并利用所述数据库本地透明加密与访问控制插件建立所述应用服务器与所述数据库服务器中的第一数据库之间的目标连接。4.根据权利要求3所述的数据库透明加密与访问控制方法,其特征在于,所述利用所述加密策略将所述写入请求中的待写入数据写入所述数据库,包括:通过数据库引擎调用所述数据库本地透明加密与访问控制插件获取所述数据库服务器中的数据库安全代理发送的加密策略,并利用所述加密策略对所述写入请求中的待写入数据进行加密,以得到加密后数据;所述数据库本地透明加密与访问控制插件将所述加密后数据返回至所述数据库引擎,以便所述数据库引擎将所述加密后数据写入所述第一数据库;相应的,所述利用所述解密策略将所述读取结果发送至所述应用服务器,包括:通过所述数据库引擎调用所述数据库本地透明加密与访问控制插件获取所述数据库服务器中的数据库安全代理发送的解密策略,并利用所述解密策略将所述读取结果进行解密,以得到解密后读取结果,然后将所述解密后读取结果返回至所述数据库引擎,以便所述数据库引擎所述解密后读取结果发送至所述应用服务器。5.根据权利要求1所述的数据库透明加密与访问控制方法,其特征在于,所述基于安全策略,并利用透明加密与访问控制插件建立应用服务器与数据库之间的目标连接,包括:若应用服务器中的...

【专利技术属性】
技术研发人员:宣兆新李博邹雷李东杨彬彬
申请(专利权)人:成都卫士通信息产业股份有限公司
类型:发明
国别省市:

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

1