太阳城集团

  • / 8
  • 下载费用:30 金币  

一种数据库透明加密方法.pdf

关 键 词:
一种 数据库 透明 加密 方法
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
摘要
申请专利号:

CN201510477683.4

申请日:

2015.08.07

公开号:

太阳城集团CN104992123A

公开日:

2015.10.21

当前法律状态:

撤回

有效性:

无权

法律详情: 发明专利申请公布后的视为撤回IPC(主分类):G06F 21/62申请公布日:20151021|||实质审查的生效IPC(主分类):G06F 21/62申请日:20150807|||公开
IPC分类号: G06F21/62(2013.01)I; G06F17/30 主分类号: G06F21/62
申请人: 中安比特(江苏)软件技术有限公司
发明人: 戴林; 曹正德; 宋健龙
地址: 213022江苏省常州市新北区黄河中路132号
优先权: 2015101792055 2015.04.16 CN
专利代理机构: 代理人:
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

太阳城集团CN201510477683.4

授权太阳城集团号:

||||||

法律状态太阳城集团日:

2018.07.03|||2015.11.18|||2015.10.21

法律状态类型:

太阳城集团发明专利申请公布后的视为撤回|||实质审查的生效|||公开

摘要

太阳城集团本发明涉及一种数据库加密方法,特别涉及一种为数据库实现第三方的透明加密和访问控制的方法,属于太阳城集团安全相关技术领域。本发明方法包括:A.在隐藏的加密卷中保存数据库文件:建立隐藏的加密卷,将包含敏感数据的部分或全部数据库文件保存在其中,并将对前述数据库文件的访问映射至隐藏的加密卷;B.多层次的访问控制:普通进程和DBMS进程访问所述加密卷中的数据库文件时需要授权,通过DBMS访问数据库中的表时根据授权规则进行鉴权。对比现有数据库加密方法,本发明方法具有如下优势:高强度的原始数据保护;多层次的访问控制;实施方便;高性能。

权利要求书

权利要求书
1.  一种数据库透明加密方法,其特征在于,包括以下内容:
A.在隐藏的加密卷中保存数据库文件:建立隐藏的加密卷,将包含敏感数据的部分或全部数据库文件保存在其中,并将对前述数据库文件的访问映射至隐藏的加密卷;
B.多层次的访问控制:普通进程和DBMS进程访问所述加密卷中的数据库文件时需要授权,通过DBMS访问数据库中的表时根据授权规则进行鉴权。

2.  根据权利要求1所述的一种数据库透明加密方法,其特征在于:所述隐藏的加密卷是一个隐藏的磁盘分区,写入该分区的所有数据将被自动加密,该分区的数据被经过授权的进程读取时将被自动解密。

3.  根据权利要求1-2任一所述的一种数据库透明加密方法,其特征在于:所述步骤A进一步通过以下过程实现:
步骤1:统计敏感数据在磁盘中所占空间大小的上限M;计算M加密后所占空间的大小,并以此计算所需的隐藏加密卷所占磁盘空间的大小,检测磁盘是否有足够的空间容纳此隐藏加密卷,如果空间足够,则转步骤2;否则表明磁盘存储已满,结束;
步骤2:在磁盘普通卷中创建数据库文件f并备份敏感表到文件f中,将旧的敏感表删除;
步骤3:创建一定大小的隐藏加密卷K;
步骤4:复制文件f到隐藏加密卷K中;并将普通卷中的数据库文件f删除;
步骤5:把对普通卷中文件f的访问映射到隐藏加密卷中;
步骤6:创建与原表t同名的视图,并把对此视图的访问映射到备份表。

4.  根据权利要求3所述的一种数据库透明加密方法,其特征在于:所述统计敏感数据在磁盘中所占空间大小的上限M;计算M加密后所占空间的大小包括以下过程:
步骤1:根据敏感数据所在的表(敏感表)找出其所属的表空间;
步骤2:找出表空间所属的文件;
步骤3:找出表空间所需大小;
步骤4:根据表空间大小和选择的不同的加密算法计算加密后的所需空间大小。

5.  根据权利要求1-2任一所述的一种数据库透明加密方法,其特征在于:所述B.多层次的访问控制进一步包括操作系统层面的访问控制和DBMS层面的访问控制;所述操作系统层面的访问控制用于防止非授权进程对所述隐藏的加密卷中数据的访问,所述DBMS层面的访问控制用于防止数据库管理系统中非授权用户对敏感数据的访问。

6.  根据权利要求5所述的一种数据库透明加密方法,其特征在于:所述操作系统层面的访问控制具体工作流程如下:
步骤1:收到对敏感数据所在的隐藏的加密卷的访问;
步骤2:判断是否是授权进程,如果是授权进程则转到步骤3;否则,拒绝访问,结束;
步骤3:读取所述隐藏的加密卷的磁盘数据,并返回数据给访问进程。

7.  根据权利要求6所述的一种数据库透明加密方法,其特征在于:所述判断是否是授权进程根据进程的不同,判断内容如下所述:
对于DBMS进程,授权检查内容包括OS用户、进程路径、进程的数字签名;
对于普通进程,授权检查内容包括OS用户、进程路径、进程的数字签名,以及用户密码或者其它生物特征;
授权策略包括读、写、列表、删除,各策略中都包括白名单和黑名单,命中黑名单则拒绝访问,白名单则允许进一步访问。

8.  根据权利要求5所述的一种数据库透明加密方法,其特征在于:所述DBMS层面的访问控制具体工作流程如下:
步骤1、DBMS收到对敏感表的访问;
步骤2、将访问映射到代表敏感表的视图;
步骤3、获取访问用户的太阳城集团;
步骤4、根据用户太阳城集团获取访问用户的授权;
步骤5、校验权限,合法则响应用户的请求,否则拒绝访问。

说明书

说明书一种数据库透明加密方法
技术领域
本发明涉及一种数据库加密方法,特别涉及一种为数据库实现第三方的透明加密和访问控制的方法,属于太阳城集团安全相关技术领域。
背景技术
数据库系统被越来越多地应用于各种太阳城集团系统之中。很多机构将其敏感太阳城集团存于数据库之中,数据库的安全性显得越来越重要,同时面临的威胁越来越严峻。数据库的加密和访问控制是保护敏感数据的最后防线。
数据库层面经常面临以下的安全风险:
1)数据库内部数据明文存储,敏感数据和非敏感数据没有实现分离存储;
2)黑客通过穿过防火墙,进入操作系统盗走数据库文件;
3)对含有敏感数据的数据库文件没有严格的访问控制,内部工作人员盗走数据库文件。
现有的字段级的透明加密系统在实施上比较困难,对系统的性能影响较大。而全盘加密的方法缺乏访问控制机制。
在需要将敏感数据和非敏感数据分离存储,并且需要进行必要的访问控制的情况下,字段级加密或磁盘加密都无法满足要求,有必要开发一种针对数据库的全表或全库透明加密及访问控制的方法,实现敏感的表和库的分离和加密存储,并实现必要的访问控制。
发明内容
本发明的目的是针对现有的数据库加密和权限管理的方法无法满足数据库安全的需求的现状,提出一种面向数据库全表或全库的透明加密和访问控制的方法,使得既能提高数据库的安全性,又不需修改现有应用,同时保证加密后数据库的性能,并能够提供灵活的权限管理。
为达到上述目的,本发明是通过以下技术方案实现的:
一种数据库透明加密方法,该方法至少包括如下几项内容:
A.在隐藏的加密卷中保存数据库文件:建立隐藏的加密卷,将包含敏感数据的部分或全部数据库文件保存在其中,并将对前述数据库文件的访问映射至隐藏的加密卷;
B.多层次的访问控制:普通进程和DBMS进程访问所述加密卷中的数据库文件时需要授权,通过DBMS访问数据库中的表时根据授权规则进行鉴权。
所述隐藏的加密卷是一个隐藏的磁盘分区,写入该分区的所有数据将被自动加密,该分区的数据被经过授权的进程读取时将被自动解密。
所述步骤A进一步通过以下过程实现:
步骤1:统计敏感数据在磁盘中所占空间大小的上限M;计算M加密后所占空间的大小,并以此计算所需的隐藏加密卷所占磁盘空间的大小,检测磁盘是否有足够的空间容纳此隐藏加密卷,如果空间足够,则转步骤2;否则表明磁盘存储已满,结束;
步骤2:在磁盘普通卷中创建数据库文件f并备份敏感表到文件f中,将旧的敏感表删除;
步骤3:创建一定大小的隐藏加密卷K;
步骤4:复制文件f到隐藏加密卷K中;并将普通卷中的数据库文件f删除;
步骤5:把对普通卷中文件f的访问映射到隐藏加密卷中;
步骤6:创建与原表t同名的视图,并把对此视图的访问映射到备份表。
所述多层次的访问控制包括操作系统层面的访问控制和DBMS层面的访问控制;所述操作系统层面的访问控制用于防止非授权进程对所述隐藏的加密卷中 数据的访问,所述DBMS层面的访问控制用于防止数据库管理系统中非授权用户对敏感数据的访问。
有益效果
本发明提供的方法具有如下优势:
(1)高强度的原始数据保护。被保护的敏感数据存储在隐藏卷中,所有的数据被加密保护,一般用户和工具无法直接访问这些数据。
(2)多层次的访问控制。普通进程无法访问加密数据,数据库管理系统访问数据库文件时需要根据其指纹进行授权,而数据库用户访问敏感数据需要独立于数据库的授权。
(3)实施方便。采用本发明后,对敏感数据的保护不需要知道表的设计和访问方式,可以全表或者全库进行保护,而且访问敏感数据的应用程序不需要修改。从而降低了实施的难度。
(4)高性能。由于采用的是在存储级进行加密,而且便于采用独立的硬件加密设备,对数据库性能的影响非常小。
具体实施方式
下面详细描述中以实例的方式给出了许多具体细节,以确保对本发明技术方法的透彻理解。但是,对于知道本领域基本常识的人,能够理解没有这些具体细节,本发明的实施例也能实现。另外,没有详细描述众所周知的方法、过程、部件和电路,以避免本发明的实现变得不清楚。
本发明的基本思想是:建立隐藏的加密卷,把敏感数据迁至其中,当访问时鉴别进程是否合法,鉴别用户是否合法,合法则返回数据,否则拒绝访问。
本发明的一种数据库透明加密方法,包括如下内容:
A.在隐藏的加密卷中保存数据库文件:建立隐藏的加密卷,将包含敏感数据的部分或全部数据库文件保存在其中,并将对前述数据库文件的访问映射至 隐藏的加密卷;
B.多层次的访问控制:普通进程和DBMS进程访问所述加密卷中的数据库文件时需要授权,通过DBMS访问数据库中的表时根据授权规则进行鉴权。
所述隐藏的加密卷是一个隐藏的磁盘分区,写入该分区的所有数据将被自动加密,该分区的数据被经过授权的进程读取时将被自动解密。
所述步骤A进一步可以通过以下过程实现:
步骤1:统计敏感数据在磁盘中所占空间大小的上限M;计算M加密后所占空间的大小,并以此计算所需的隐藏加密卷所占磁盘空间的大小,检测磁盘是否有足够的空间容纳此隐藏加密卷,如果空间足够,则转步骤2;否则表明磁盘存储已满,结束;
步骤2:在磁盘普通卷中创建数据库文件f并备份敏感表到文件f中,将旧的敏感表删除;
步骤3:通过磁盘加密工具创建一定大小的隐藏加密卷K;
步骤4:通过磁盘加密工具复制文件f到隐藏加密卷K中;并将普通卷中的数据库文件f删除;
步骤5:把对普通卷中文件f的访问映射到隐藏加密卷中;
步骤6:创建与原表t同名的视图,并把对此视图的访问映射到备份表。
上述磁盘加密工具可以采用TrueCrypt,太阳城集团此工具的详细太阳城集团在网上 http://truecrypt.sourceforge.net均可得到,此处不再详述。
所述多层次的访问控制包括操作系统层面的访问控制和DBMS层面的访问控制;所述操作系统层面的访问控制用于防止非授权进程对所述隐藏的加密卷中数据的访问,所述DBMS层面的访问控制用于防止数据库管理系统中非授权用户对敏感数据的访问。
所述操作系统层面的访问控制具体工作流程如下:
1、收到对敏感数据所在加密卷的访问;
2、判断是否是授权进程,例如根据进程映像文件的路径,数字签名等进行判断,如果是授权进程则转到步骤3;否则,拒绝访问,结束;
3、读取隐藏卷的磁盘数据,解密并返回数据给访问进程。
所述数据库管理系统(DBMS)层面的访问控制具体工作流程如下:
1、数据库管理系统收到对敏感表的访问;
2、将访问映射到代表敏感表的视图;
3、获取访问用户的太阳城集团;
4、根据用户太阳城集团获取访问用户的授权;
5、校验权限,合法则响应用户的请求,否则拒绝访问。
实施例一: 
本实施例以Oracle为例计算敏感数据所需加密文件大小的说明。
步骤1:找出敏感表所属的表空间
select TABLESPACE_NAME from all_tables where table_name=′example_table_name′;
步骤2:找出表空间所属的文件
select file_name from dba_data_files where tablespace_name=′example_tablespace_name′;
步骤3:找出表空间所需大小
select maxbytes from dba_data_files where tablespace_name=′example_tablespace_name′;
步骤4:根据表空间大小和选择的不同的加密算法计算加密后的所需空间大小,调用如下函数
unsigned long computesize(unsigned long size,int method);
此方法返回所需空间大小。
上述计算加密文件的大小时对于所有敏感表属于同一表空间的情况适用,对于所有敏感表不属于同一表空间的情况需要分别计算所需空间大小并进行累加。
实施例二: 
本实施例为本发明中表级访问控制的说明。
假设表名为t,将其中的数据备份到隐藏加密卷中后,改名为t1,将对表t1的访问映射到隐藏加密卷。删除表t,创建与表t同名的基于表t1的视图,用以捕获对表t的访问,创建视图的方法如下:
create view t as select*from t1 where checkpermission();
其中checkpermission为授权检查函数,在select查询时,在其中获取用户太阳城集团和授权太阳城集团,进行权限检查,如通过则返回true,用户得到正确的结果集,否则返回false,用户得到空的结果集。
对视图t建立insert、delete和update的触发器,在触发器中调用checkpermission()检查用户权限。如果通过则响应,否则拒绝。
实施例三: 
本实施例为本发明中加密卷授权管理的说明。
对于加密卷,通过文件过滤驱动或者Hook技术,捕获所有对加密卷的访问,并进行授权检查。以Windows上采用Hook方式为例,首先设置全局Hook,通过WriteProcessMemory修改打开文件的接口CreateFile的地址为权限校验函数的地址,当进程访问文件时,先调用权限校验函数,此函数中,通过系统接口GetModleFileName获取文件名,通过接口LookupAccountSid获取用户太阳城集团等数据,然后以这些数据为基础进行授权检查。
对于数据库管理系统进程,授权检查内容包括OS用户、进程路径、进程的数字签名等。对于普通进程,则检查OS用户、进程路径、进程的数字签名等,并需要用户输入密码或者其它生物特征进行验证。授权策略可以指定读、写、列表、删除等内容。以上策略中都包括白名单和黑名单,命中黑名单则拒绝访问,白名单则允许进一步访问。
实施例四: 
本实施例为本发明中加密卷自动加解密的说明。
自动加解密通过文件过滤驱动实现,以保证对上层的文件系统驱动和下层 的设备驱动透明。
在系统启动时加载文件过滤驱动,设置I/O请求拦截,接管发给下层驱动的I/O请求,对于访问普通卷的I/O请求直接传递到下层设备驱动程序,对于隐藏加密卷的访问则进行特别处理。
当读取隐藏加密卷时,I/O管理器会根据数据是否被缓存,发出不同的I/O请求,从磁盘上或者缓存中获取数据。缓存中的数据已经解密,而磁盘中的数据未解密,当数据不再缓存中需要读取磁盘时,文件过滤驱动首先借助下层驱动获取磁盘数据,下层驱动完成读取后回调过滤驱动的处理过程,从而在此过程中对下层驱动程序读取的数据进行解密处理,完成后传递数据到上层驱动。
写隐藏加密卷与上述读取过程的关键不同是文件过滤驱动在下层驱动写磁盘之前对数据进行加密处理,然后下层驱动将加密数据写入磁盘。
上述自动加解密过程也可以通过所述的工具TrueCrypt实施。
以上详细介绍了本发明实施例所提供的一种数据库全表和全库透明加密及访问控制的方法。其有助于帮助理解本发明的核心思想及其技术细节。在所附的权利要求范围内,具有该领域常识的技术人员会发现本说明书内容不应理解为用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护范围之内。

太阳城集团本文
本文标题:一种数据库透明加密方法.pdf
链接地址:http://zh228.com/p-6377769.html
太阳城集团我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
葡京赌场|welcome document.write ('');