扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在本页阅读全文(共3页)
基本要求
----根据我们的研究,一个良好的数据库加密系统应该满足以下基本要求:
----1.字段加密
----在目前条件下,加/脱密的粒度是每个记录的字段数据。如果以文件或列为单位进行加密,必然会形成密钥的反复使用,从而降低加密系统的可靠性或者因加脱密时间过长而无法使用。只有以记录的字段数据为单位进行加/脱密,才能适应数据库操作,同时进行有效的密钥管理并完成"一次一密"的密码操作。
----2.密钥动态管理
----数据库客体之间隐含着复杂的逻辑关系,一个逻辑结构可能对应着多个数据库物理客体,所以数据库加密不仅密钥量大,而且组织和存储工作比较复杂,需要对密钥实现动态管理。
----3.合理处理数据
----这包括几方面的内容。首先要恰当地处理数据类型,否则 DBMS将会因加密后的数据不符合定义的数据类型而拒绝加载;其次,需要处理数据的存储问题,实现数据库加密后,应基本上不增加空间开销。在目前条件下,数据库关系运算中的匹配字段,如表间连接码、索引字段等数据不宜加密。文献字段虽然是检索字段,但也应该允许加密,因为文献字段的检索处理采用了有别于关系数据库索引的正文索引技术。
----4.不影响合法用户的操作
----加密系统影响数据操作响应时间应尽量短,在现阶段,平均延迟时间不应超过1/10秒。此外,对数据库的合法用户来说,数据的录入、修改和检索操作应该是透明的,不需要考虑数据的加/脱密问题。
不同层次实现数据库加密
----我们可以考虑在三个不同层次实现对数据库数据的加密,这三个层次分别是OS、DBMS内核层和DBMS外层。
----在OS层,无法辨认数据库文件中的数据关系,从而无法产生合理的密钥,也无法进行合理的密钥管理和使用。所以,在OS层对数据库文件进行加密,对于大型数据库来说,目前还难以实现。
----在DBMS内核层实现加密,是指数据在物理存取之前完成加/脱密工作。这种方式势必造成DBMS和加密器(硬件或软件)之间的接口需要DBMS 开发商的支持。这种加密方式的优点是加密功能强,并且加密功能几乎不会影响DBMS 的功能。其缺点是在服务器端进行加/脱密运算,加重了数据库服务器的负载。这种加密方式如图1所示。
----比较实际的做法是将数据库加密系统做成DBMS的一个外层工具(如图2所示)。采用这种加密方式时,加/脱密运算可以放在客户端进行,其优点是不会加重数据库服务器的负载并可实现网上传输加密,缺点是加密功能会受一些限制。图中,"定义加密要求工具"模块的主要功能是定义如何对每个数据库表数据进行加密。在创建了一个数据库表后,通过这一工具对该表进行定义;"数据库应用系统"的功能是完成数据库定义和操作。数据库加密系统将根据加密要求自动完成对数据库数据的加/ 脱密。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。