不想错过重要资讯?
马上订阅新闻邮件!
您现在的位置:
中计在线
>>
存储
>>
名词解释
>> 文章正文
数据库管理系统层次安全技术
作者:佚名 文章来源:在线存储 更新时间:2007-5-17 9:05:14
【字体:
小
中
大
】
中计在线信息化频道全心上线!全力推动中国信息化进程!信息决策,易如反掌,尽在CIW信息化!
央行近期将收编草根网上支付
·
外电称中国厂商生产的iPhone配件已上市
·
微软将澄清XP停产传闻
·
惠普再次超戴尔成全球最大电脑商
·
第八届中国信息安全大会
·
英特尔2007春季IDF专题
数据库系统的安全性很大程度上依赖于数据库管理系统。如果数据库管理系统安全机制非常强大,则数据库系统的安全性能就较好。目前市场上流行的是关系式数据库管理系统,其安全性功能很弱,这就导致数据库系统的安全性存在一定的威胁。
由于数据库系统在操作系统下都是以文件形式进行管理的,因此入侵者可以直接利用操作系统的漏洞窃取数据库文件,或者直接利用OS工具来非法伪造、篡改数据库文件内容。这种隐患一般数据库用户难以察觉,分析和堵塞这种漏洞被认为是B2级的安全技术措施。
数据库管理系统层次安全技术主要是用来解决这一问题,即当前面两个层次已经被突破的情况下仍能保障数据库数据的安全,这就要求数据库管理系统必须有一套强有力的安全机制。解决这一问题的有效方法之一是数据库管理系统对数据库文件进行
加密
处理,使得即使数据不幸泄露或者丢失,也难以被人破译和阅读。
我们可以考虑在三个不同层次实现对数据库数据的
加密
,这三个层次分别是OS层、DBMS内核层和DBMS外层。
⑴在OS层
加密
。在OS层无法辨认数据库文件中的数据关系,从而无法产生合理的密钥,对密钥合理的管理和使用也很难。所以,对大型数据库来说,在OS层对数据库文件进行
加密
很难实现。
⑵在DBMS内核层实现
加密
。这种
加密
是指数据在物理存取之前完成加/脱密工作。这种
加密
方式的优点是
加密
功能强,并且
加密
功能几乎不会影响DBMS的功能,可以实现
加密
功能与数据库管理系统之间的无缝耦合。其缺点是
加密
运算在
服务器
端进行,加重了
服务器
的负载,而且DBMS和
加密
器之间的接口需要DBMS开发商的支持。
定义
加密
要求工具
DBMS
数据库应用系统
加密
器
(
软件
或硬件)
⑶在DBMS外层实现
加密
。比较实际的做法是将数据库
加密
系统做成DBMS的一个外层工具,根据
加密
要求自动完成对数据库数据的加/脱密处理:
定义
加密
要求工具
加密
器
(
软件
或硬件)
DBMS
数据库应用系统
采用这种
加密
方式进行
加密
,加/脱密运算可在客户端进行,它的优点是不会加重数据库
服务器
的负载并且可以实现网上传输的
加密
,缺点是
加密
功能会受到一些限制,与数据库管理系统之间的耦合性稍差。
下面我们进一步解释在DBMS外层实现
加密
功能的原理:
数据库
加密
系统分成两个功能独立的主要部件:一个是
加密
字典管理程序,另一个是数据库加/脱密引擎。数据库
加密
系统将用户对数据库信息具体的
加密
要求以及基础信息保存在
加密
字典中,通过调用数据加/脱密引擎实现对数据库表的
加密
、脱密及数据转换等功能。数据库信息的加/脱密处理是在后台完成的,对数据库
服务器
是透明的。
加密
字典管理程序
加密
系统
应用程序
数据库加脱密引擎
数据库
服务器
加密
字典
用户数据
按以上方式实现的数据库
加密
系统具有很多优点:首先,系统对数据库的最终用户是完全透明的,管理员可以根据需要进行明文和密文的转换工作;其次,
加密
系统完全独立于数据库应用系统,无须改动数据库应用系统就能实现数据
加密
功能;第三,加解密处理在客户端进行,不会影响数据库
服务器
的效率。
数据库加/脱密引擎是数据库
加密
系统的核心部件,它位于应用程序与数据库
服务器
之间,负责在后台完成数据库信息的加/脱密处理,对应用开发人员和操作人员来说是透明的。数据加/脱密引擎没有操作界面,在需要时由操作系统自动加载并驻留在内存中,通过内部接口与
加密
字典管理程序和用户应用程序通讯。数据库加/脱密引擎由三大模块组成:加/脱密处理模块、用户接口模块和数据库接口模块,如图4所示。其中,"数据库接口模块"的主要工作是接受用户的操作请求,并传递给"加/脱密处理模块",此外还要代替"加/脱密处理模块"去访问数据库
服务器
,并完成外部接口参数与加/脱密引擎内部数据结构之间的转换。"加/脱密处理模块"完成数据库加/脱密引擎的初始化、内部专用命令的处理、
加密
字典信息的检索、
加密
字典缓冲区的管理、SQL命令的
加密
变换、查询结果的脱密处理以及加脱密算法实现等功能,另外还包括一些公用的辅助函数。
数据加/脱密处理的主要流程如下:
1) 对SQL命令进行语法分析,如果语法正确,转下一步;如不正确,则转6),直接将SQL命令交数据库
服务器
处理。
2) 是否为数据库加/脱密引擎的内部控制命令?如果是,则处理内部控制命令,然后转7);如果不是则转下一步。
3) 检查数据库加/脱密引擎是否处于关闭状态或SQL命令是否只需要编译?如果是则转6),否则转下一步。
4) 检索
加密
字典,根据
加密
定义对SQL命令进行加脱密语义分析。
5) SQL命令是否需要
加密
处理?如果是,则将SQL命令进行
加密
变换,替换原SQL命令,然后转下一步;否则直接转下一步。
6) 将SQL命令转送数据库
服务器
处理。
7) SQL命令执行完毕,清除SQL命令缓冲区。
以上以一个例子说明了在DBMS外层实现
加密
功能的原理。
责任编辑:layeh12
上一篇文章:
什么是数据在线分析处理?
下一篇文章:
什么是空间数据库无缝连接?
【
发表评论
】【
加入收藏
】【
告诉好友
】【
打印此文
】【
关闭窗口
】
相关文章
什么是数据库连接池?
什么是空间数据库无缝连接?
什么是数据在线分析处理?
什么是空间数据转换格式?
数据中心成新热点 思科收购Neova公司80%股份
什么是目录数据库?
了解数据接口类型
什么是数字数据网络?
什么是ActiveDirectory数据模型?
什么是数据流量分析?
相关评论
网友评论:
(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
用户名:
· 您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
· 留言板管理人员有权保留或删除其管辖留言中的任意内容
· 本站提醒:不要进行人身攻击与无聊谩骂。谢谢配合。
热门文章
最新推荐