
热线电话:0771-5602663
值班电话:13707886663
咨询QQ:800009932
交流Q群:1003534885
EMAIL:seedsoft@139.com
数据库加密的必要性
由于数据库系统在操作系统下都因此文件形式进行办理的,因此入侵者可以间接利用操作系统的毛病盗取数据库文件,大概间接利用OS工具来非法伪造、窜改数据库文件内容。这种隐患一般数据库用户难以发觉,阐发和梗塞这种毛病被认为是B二级的安全技能措施。 数据库办理系统条理安全技能重要是用来解决这一问题,即以后面两个条理已经被突破的情况下仍能保障数据库数据的安全,这就要求数据库办理系统必需有一套强无力的安全机制。解决这一问题的有效要领之一是数据库办理系统对数据库文件进行加密处置惩罚,使得纵然数据不幸泄漏大概丧失,也难以被人破译和阅读。
编辑本段数据库数据的加密
我们可以考虑在三个不同条理实现对数据库数据的加密,这三个条理分别是OS层、DBMS内核层和DBMS外层。
⑴在OS层加密。
在OS层无法辨认数据库文件中的数据关系,从而无法孕育发生公道的密钥,对密钥公道的办理和利用也很难。以是,对大型数据库来说,在OS层对数据库文件进行加密很难实现。
⑵在DBMS内核层实现加密。
这种加密是指数据在物理存取之前完成加/脱密事情。这种加密方法的优点是加密功能强,并且加密功能险些不会影响DBMS的功能,可以实现加密功能与数据库办理系统之间的无缝耦合。其缺陷是加密运算在服务器端进行,减轻了服务器的负载,并且DBMS和加密器之间的接口需要DBMS开辟商的支持。 定义加密要求工具 DBMS 数据库使用系统 加密器 (软件或硬件)
⑶在DBMS外层实现加密
比力实际的做法是将数据库加密系统做成DBMS的一个外层工具,根据加密要求主动完成对数据库数据的加/脱密处置惩罚: 定义加密要求工具加密器 (软件或硬件) DBMS 数据库使用系统 采用这种加密方法进行加密,加/脱密运算可在客户端进行,它的优点是不会减轻数据库服务器的负载并且可以实现网上传输的加密,缺陷是加密功能会受到一些限定,与数据库办理系统之间的耦合性稍差。
编辑本段实现加密功能的原理
上面我们进一步表明在DBMS外层实现加密功能的原理: 数据库加密系统分红两个功能独立的重要部件:一个是加密字典办理步伐,另一个是数据库加/脱密引擎。数据库加密系统将用户对数据库信息详细的加密要求以及底子信息生存在加密字典中,通过挪用数据加/脱密引擎实现对数据库表的加密、脱密及数据转换等功能。数据库信息的加/脱密处置惩罚是在背景完成的,对数据库服务器是透明的。 加密字典办理步伐 加密系统 使用步伐 数据库加脱密引擎 数据库服务器 加密字典 用户数据
编辑本段数据库加密系统优点
按以上方法实现的数据库加密系统具有很多优点:首先,系统对数据库的终极用户是完全透明的,办理员可以根据需要进行明文和密文的转换事情;其次,加密系统完全独立于数据库使用系统,无须改动数据库使用系统就能实现数据加密功能;第三,加解密处置惩罚在客户端进行,不会影响数据库服务器的效率。 数据库加/脱密引擎是数据库加密系统的焦点部件,它位于使用步伐与数据库服务器之间,卖力在背景完成数据库信息的加/脱密处置惩罚,对使用开辟人员和操作人员来说是透明的。数据加/脱密引擎没有操作界面,在需要时由操作系统主动加载并驻留在内存中,通过外部接口与加密字典办理步伐和用户使用步伐通讯。数据库加/脱密引擎由三大模块构成:加/脱密处置惩罚模块、用户接口模块和数据库接口模块,如图四所示。此中,"数据库接口模块"的重要事情是担当用户的操作请求,并传递给"加/脱密处置惩罚模块",别的还要取代"加/脱密处置惩罚模块"去拜访数据库服务器,并完成外部接口参数与加/脱密引擎外部数据结构之间的转换。"加/脱密处置惩罚模块"完成数据库加/脱密引擎的初始化、外部专用命令的处置惩罚、加密字典信息的检索、加密字典缓冲区的办理、SQL命令的加密变换、盘问效果的脱密处置惩罚以及加脱密算法实现等功能,另外还包罗一些公用的帮助函数。
编辑本段数据加/脱密处置惩罚的重要流程
数据加/脱密处置惩罚的重要流程如下: 一) 对SQL命令进行语法阐发,要是语法精确,转下一步;如不精确,则转六),间接将SQL命令交数据库服务器处置惩罚。 二) 能否为数据库加/脱密引擎的外部控制命令?要是是,则处置惩罚外部控制命令,然后转七);要是不是则转下一步。 三) 检查数据关键字优化、网络推广、网站建设库加/脱密引擎能否处于关闭形态或SQL命令能否只需要编译?要是是则转六),不然转下一步。 四) 检索加密字典,根据加密定义对SQL命令进行加脱私语义阐发。 五) SQL命令能否需要加密处置惩罚?要是是,则将SQL命令进行加密变换,替换原SQL命令,然后转下一步;不然间接转下一步。 六) 将SQL命令转送数据库服务器处置惩罚。 七) SQL命令执行终了,清除SQL命令缓冲区。 以上以一个例子阐明白在DBMS外层实现加密功能的原理。





















