基于可信计算机的数据库安全标准

更新时间:2024-01-27 作者:用户投稿原创标记本站原创 点赞:4346 浏览:12140

[摘 要]数据库安全是指保护数据库中数据不被非法访问和非法更新,并防止数据的泄露和丢失.保证数据库的安全涉及立法、管理和技术等多方面的问题,本文只讨论有关数据库安全评估方面的问题.

[关键字]数据库安全 可信计算机 评估

abstract:The database security refers to protect database data are not illegal access and update data, and prevent illegally the leak and lost. Ensure safety of database involving legislation, management and technology etc, this paper discussed the problems about the database security assesent only.


Keyword:Database security Reliable puter Evaluation

中图分类号:TP311 文献标识码:A 文章编号:1003-8809(2010)-08-0206-01

随着人们对安全问题认识和对安全产品的要求不断提高,在计算机安全技术方面逐步建立一套安全评估标准.以规范和指导安全信息的建立,安全产品的生产.并能较准确地评测产品的安全性能指标.在当前各国制定和采用的标准中,最重要的是美国国防部颁布的《可信计算机系统评估标准(TCSEC)))桔皮书(又简称为DoD85).在TCSEC中将安全系统分为四大类七个等级.

根据研究,一个良好的数据库加密系统应该满足以下基本要求:

(1)字段加密

在目前条件下,加密的粒度是每个记录的字段数据.如果以文件或列为单位进行加密.必然会形成密钥的反复使用.从而降低加密系统的可靠性或者因加脱密时间过长而无法使用.只有以记录的字段数据为单位进行加/解密,才能适应数据库操怍.同时进行有效的密钥管理并完成“一次一密”的操怍.

(2)密钥动态管理

数据库客体之间隐含着复杂的逻辑关系,一个逻辑结构可能对应着多个数据库物理客体.所以数据库加密不仅密钥量大,而且组织和存储工作比较复杂,需要对密钥实现动态管理.

(3)合理处理数据

这包括几方面的内容.首先耍恰当地处理数据类型,否则DBMS将会因加密后的数据不符合定义的数据类型而拒绝加载,其次,需要处理数据的存储问题,实现数握库加密后.应基本上不增加空间开销.在目前条件下、数据库关系运算中的匹配字段如表间连接码、索引字段等数据不宜加密 文献字段虽然是检索字段,但也应该允许加密,因为文献字段的检索处理采用了有别于关系数据库索引的正文索引技术.

(4)不影响合法用户的操作

加密系统影响数据操作响应的时间应尽量短,在现阶段,平均延迟时间不应超过1/10秒此外,对数据库的合法用户来说,数据的录入 修改和检索操作应该是透明的. 需要考虑数据的加/解密问题.

为满足以上要求,可以考虑在三个层次实现对数据库数据的加密,这三个层次分别是OS、DBMS内核和DBMS外层.

在OS层,无法辨认数据库文件中的数据关系,从而无法产生合理的密钥.也无法进行合理的密钥管理和使用 所以在OS层对数据库文件进行加密,对于大型数据库来说,目前还难以实现.

在DBMS内核层实现加密,是指数据在物理存取之前完成加/解密工作.这种方式势必造成DBMS和加密器(硬件或软件)之间的接口需要DBMS开发商的支持:这种加密方式的优点是加密功能强,并且加密功能几乎不会影响DBMS的功能,其缺点是在怎么写作器瑞进行加/解密运算.加重了数据库怎么写作器的负载.

比较实际的做法是将数据库加密系统做成DBMS的一个外层工具采用这种加密方式时,加/解密运算可以放在客户端进行,其优点是不会加重数据库怎么写作器的负载并可实现网上传输加密,缺点是加密功能会受一些限制.图中,“定义加密工具”模块的主要功能是定义如何对每个数据库表数据进行加密.在创建了一个数据库表后,通过这一工具对该表进行定义,“数据库应用系统”的功能是完成数据库定义和操作数据库加密系统将根据加密要求自动完成对数据的加/解密.

数据库加密系统能够有效地保证数据的安全,即使窃取了关键数据.他仍然难以得到所需的信息,因为所有的数据都经过了加密.另外,数据库加密以后.可以设定不需要了解数据内容的系统管理员不能见到明文,大大提高了关键数据的安全性.

数据库加密,本质是对数据库申各个表的记录进行加密,使非授权者即使打开数据库.获得数据库中表的内容,也无法识别加了密的密文内容.从而达到保证数据库安全的目的.而数据库加密又不同于文本文件的加密,最显著的一点区别就是数据库中的表都是具在一定的数据结构.并且还有可能与其他表有关联,因此不能像普通文件那样,简单地明文输人、密文输出,而是还要考虑到表的结构.第二是数据表中各个字段有可能是不同的数据类型,这就给数据记录的加密带来另一个难题.

另外,对于数据库加密而言,由于数据库的结构是数据库很重要的因素,因此还可以采用加密数据库中表结构的方法实现对数据库的加密,这样加密较之加密记录的方法,有一个明显的优点.就是完全可以不考虑表中各个字段的数据类型,只针对表的结构进行加密.但是这样的加密也存在不足之处.第一,由于表结构被加密,因此有可能出现加密后的表无法加载的现象.第二,由于表结构被破坏,表与表之间有可能无法正常关联.