mysql数据库讲解:由浅入深讲解数据库管理系统层次安全技术

="t18">数据库系统安全性很大程度上依赖于数据库管理系统如果数据库管理系统安全机制非常强大则数据库系统安全性能就较好目前市场上流行是关系式数据库管理系统其安全性功能很弱这就导致数据库系统安全性存在威胁 由于数据库系统在操作系统下都是以文件形式进行管理因此入侵者可以直接利用操作系统漏洞窃取数据库文件或者直接利用OS工具来非法伪造、篡改数据库文件内容这种隐患般数据库用户难以察觉分析和堵塞这种漏洞被认为是B2级安全技术措施 数据库管理系统层次安全技术主要是用来解决这问题即当前面两个层次已经被突破情况下仍能保障数据库数据安全这就要求数据库管理系统必须有套强有力安全机制解决这问题有效思路方法的是数据库管理系统对数据库文件进行加密处理使得即使数据不幸泄露或者丢失也难以被人破译和阅读 我们可以考虑在 3个区别层次实现对数据库数据加密这 3个层次分别是OS层、DBMS内核层和DBMS外层 ⑴在OS层加密在OS层无法辨认数据库文件中数据关系从而无法产生合理密钥对密钥合理管理和使用也很难所以对大型数据库来说在OS层对数据库文件进行加密很难实现 ⑵在DBMS内核层实现加密这种加密是指数据在物理存取的前完成加/脱密工作这种加密方式优点是加密功能强并且加密功能几乎不会影响DBMS功能可以实现加密功能和数据库管理系统的间无缝耦合其缺点是加密运算在服务器端进行加重了服务器负载而且DBMS和加密器的间接口需要DBMS开发商支持 ◆定义加密要求工具 ◆DBMS ◆数据库应用系统 ◆加密器 (软件Software或硬件) ⑶在DBMS外层实现加密比较实际做法是将数据库加密系统做成DBMS个外层工具根据加密要求自动完成对数据库数据加/脱密处理: ◆定义加密要求工具加密器 (软件Software或硬件) ◆DBMS ◆数据库应用系统 采用这种加密方式进行加密加/脱密运算可在客户端进行优点是不会加重数据库服务器负载并且可以实现网上传输加密缺点是加密功能会受到些限制和数据库管理系统的间耦合性稍差

=a14c id=zoom>

下面我们进步解释在DBMS外层实现加密功能原理: 数据库加密系统分成两个功能独立主要部件:个是加密字典管理个是数据库加/脱密引擎数据库加密系统将用户对数据库信息具体加密要求以及基础信息保存在加密字典中通过数据加/脱密引擎实现对数据库表加密、脱密及数据转换等功能数据库信息加/脱密处理是在后台完成对数据库服务器是透明 ◆加密字典管理 ◆加密系统 ◆应用 ◆数据库加脱密引擎 ◆数据库服务器 ◆加密字典 ◆用户数据 按以上方式实现数据库加密系统具有很多优点:首先系统对数据库最终用户是完全透明管理员可以根据需要进行明文和密文转换工作;其次加密系统完全独立于数据库应用系统无须改动数据库应用系统就能实现数据加密功能;第 3加解密处理在客户端进行不会影响数据库服务器效率 数据库加/脱密引擎是数据库加密系统核心部件它位于应用和数据库服务器的间负责在后台完成数据库信息加/脱密处理对应用开发人员和操作人员来说是透明数据加/脱密引擎没有操作界面在需要时由操作系统自动加载并驻留在内存中通过内部接口和加密字典管理和用户应用通讯数据库加/脱密引擎由 3大模块组成:加/脱密处理模块、用户接口模块和数据库接口模块如图4所示其中"数据库接口模块"主要工作是接受用户操作请求并传递给"加/脱密处理模块"此外还要代替"加/脱密处理模块"去访问数据库服务器并完成外部接口参数和加/脱密引擎内部数据结构的间转换"加/脱密处理模块"完成数据库加/脱密引擎化、内部专用命令处理、加密字典信息检索、加密字典缓冲区管理、SQL命令加密变换、查询结果脱密处理以及加脱密算法实现等功能另外还包括些公用辅助 数据加/脱密处理主要流程如下: (1) 对SQL命令进行语法分析如果语法正确转下步;如不正确则转6)直接将SQL命令交数据库服务器处理 (2) 是否为数据库加/脱密引擎内部控制命令?如果是则处理内部控制命令然后转7);如果不是则转下 (3) 检查数据库加/脱密引擎是否处于关闭状态或SQL命令是否只需要编译?如果是则转6)否则转下 (4) 检索加密字典根据加密定义对SQL命令进行加脱密语义分析 (5) SQL命令是否需要加密处理?如果是则将SQL命令进行加密变换替换原SQL命令然后转下步;否则直接转下 (6) 将SQL命令转送数据库服务器处理 (7) SQL命令执行完毕清除SQL命令缓冲区

Tags:  通用数据库管理系统 数据库管理系统 mysql数据库讲解

延伸阅读

最新评论

发表评论