欢迎来到天天文库
浏览记录
ID:23093531
大小:55.50 KB
页数:7页
时间:2018-11-04
《数据库加密技术综述》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、数据库加密技术综述>>教育资源库 目前,计算机大批量数据存储的安全问题、敏感数据的防窃取和防篡改问题越来越引起人们的重视。数据库系统作为计算机信息系统的核心部件,数据库文件作为信息的聚集体,其安全性将是信息产业的重中之重。数据库加密的必要性 ----大型数据库管理系统的运行平台一般是S对数据库文件本身仍然缺乏有效的保护措施,有经验的网上黑客会绕道而行,直接利用OS工具窃取或篡改数据库文件内容。这种隐患被称为通向DBMS的隐秘通道,它所带来的危害一般数据库用户难以觉察。分析和堵塞隐秘通道被认为是B2级
2、的安全技术措施。对数据库中的敏感数据进行加密处理,是堵塞这一隐秘通道的有效手段。 ----据有关资料报道,80%的计算机犯罪来自系统内部。在传统的数据库系统中,数据库管理员的权力至高无上,他既负责各项系统管理工作,例如资源分配、用户授权、系统审计等,又可以查询数据库中的一切信息。为此,不少系统以种种手段来削弱系统管理员的权力。实现数据库加密以后,各用户(或用户组)的数据由用户用自己的密钥加密,数据库管理员获得的信息无法进行正常脱密,从而保证了用户信息的安全。另外,通过加密,数据库的备份内容成为密文,从
3、而能减少因备份介质失窃或丢失而造成的损失。由此可见,数据库加密对于企业内部安全管理,也是不可或缺的。 ----也许有人认为,对数据库加密以后会严重影响数据库系统的效率,使系统不堪重负。事实并非如此。如果在数据库客户端进行数据加/脱密运算,对数据库服务器的负载及系统运行几乎没有影响。在普通PC机上,用纯软件实现DES加密算法的速度超过200K字节/秒,如果对一篇一万汉字的文章进行加密,其加/脱密时间仅需1/10秒,这种时间延迟用户几乎无感觉。目前,加密卡的加/脱密速度一般为1M位/秒,对中小型数据库系统
4、来说,这个速度即使在服务器端进行数据的加/脱密运算也是可行的,因为一般的关系数据项都不会太长(多媒体数据另当别论)。例如,在同一时间里有10个用户并发查询,每个用户平均查找1000个汉字的数据,最先得到结果的用户延迟时间小于0.02秒,最后得到结果的用户也仅需等待约0.16秒。 基本要求 ----根据我们的研究,一个良好的数据库加密系统应该满足以下基本要求: ----1.字段加密 ----在目前条件下,加/脱密的粒度是每个记录的字段数据。如果以文件或列为单位进行加密,必然会形成密钥的反复使用,从
5、而降低加密系统的可靠性或者因加脱密时间过长而无法使用。只有以记录的字段数据为单位进行加/脱密,才能适应数据库操作,同时进行有效的密钥管理并完成一次一密的密码操作。 ----2.密钥动态管理 ----数据库客体之间隐含着复杂的逻辑关系,一个逻辑结构可能对应着多个数据库物理客体,所以数据库加密不仅密钥量大,而且组织和存储工作比较复杂,需要对密钥实现动态管理。 ----3.合理处理数据 ----这包括几方面的内容。首先要恰当地处理数据类型,否则DBMS将会因加密后的数据不符合定义的数据类型而拒绝加载;
6、其次,需要处理数据的存储问题,实现数据库加密后,应基本上不增加空间开销。在目前条件下,数据库关系运算中的匹配字段,如表间连接码、索引字段等数据不宜加密。文献字段虽然是检索字段,但也应该允许加密,因为文献字段的检索处理采用了有别于关系数据库索引的正文索引技术。 ----4.不影响合法用户的操作 ----加密系统影响数据操作响应时间应尽量短,在现阶段,平均延迟时间不应超过1/10秒。此外,对数据库的合法用户来说,数据的录入、修改和检索操作应该是透明的,不需要考虑数据的加/脱密问题。 不同层次实现数据库
7、加密 ----我们可以考虑在三个不同层次实现对数据库数据的加密,这三个层次分别是OS、DBMS内核层和DBMS外层。 ----在OS层,无法辨认数据库文件中的数据关系,从而无法产生合理的密钥,也无法进行合理的密钥管理和使用。所以,在OS层对数据库文件进行加密,对于大型数据库来说,目前还难以实现。 ----在DBMS内核层实现加密,是指数据在物理存取之前完成加/脱密工作。这种方式势必造成DBMS和加密器(硬件或软件)之间的接口需要DBMS开发商的支持。这种加密方式的优点是加密功能强,并且加密功能几乎
8、不会影响DBMS的功能。其缺点是在服务器端进行加/脱密运算,加重了数据库服务器的负载。这种加密方式如图1所示。 ----比较实际的做法是将数据库加密系统做成DBMS的一个外层工具(如图2所示)。采用这种加密方式时,加/脱密运算可以放在客户端进行,其优点是不会加重数据库服务器的负载并可实现网上传输加密,缺点是加密功能会受一些限制。图中,定义加密要求工具模块的主要功能是定义如何对每个数据库表数据进行加密。在创建了一个数据库表后,通过这一工具对
此文档下载收益归作者所有