求DBMS外层加密方法

lvshaorui 2009-12-08 04:50:44
最近看到DBMS外层加密,但是,对其了解很少,请大伙详细说说,沟通交流
...全文
184 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lvshaorui 2010-03-22
  • 打赏
  • 举报
回复
模糊中。。。。
menggang9801 2009-12-08
  • 打赏
  • 举报
回复
技术
ChinaJiaBing 2009-12-08
  • 打赏
  • 举报
回复
路过..
--小F-- 2009-12-08
  • 打赏
  • 举报
回复
DBMS外核层加密是将数据库加密系统做成DBMS的一个工具,其优点是不会加重数据库服务器的负载并可以实现网上传输加密,缺点是加密功能会受一些限制。作为一种通过加密方式来保护数据的专门系统,数据库加密系统并不是一个数据库应用系统,而是一个将DBMS部分功能、加密器和密钥管理三者紧密结合起来的系统。显然数据库加密系统实际上主要实现的还是加密器(包括加密定义工具)的功能,它既可工作于数据库应用系统与DBMS之间,又可作为一个独立工作的系统直接与DBMS交互。

  选择数据库加密方法要充分考虑数据库特点,如数据保存比较长,每次操作涉及数据量较大等。下面分析几种常用的加密方法,为了适合数据库的特点,还需要对数据库加密方法进行局部的改动。

  1、基于文件的数据库加密技术

  把数据库文件作为整体,用加密器和加密算法对整个数据库文件加密,形成密文来保证数据的真实性和完整性。利用这种方法,数据的共享是通过用户用解密密钥对整个数据库文件进行解密来实现的,但多方面的缺点极大地限制了这一方法的实际应用。首先,数据修改的工作将变得十分困难,需要进行解密、修改、复制和加密四个操作,极大地增加了系统的时空开销;其次,即使用户只是需要查看某一条记录,也必须将整个数据库文件解密,这样无法实现对文件中不需要让用户知道的信息的控制。因此,这种力法只适用于能回避这些限制的应用环境。

  2、基于记录的数据库加密技术

  一般而言,数据库系统中每条记录所包含的信息都具有一定的封闭性,即从某种程度上说它独立完整地存储了一个实体的数据,因此是最常用的数据库信息加密手段。这种方法的基本思路是:基于记录的加密技术在各自密书的作用下,将数据库的每一个记录加密成密文并存放于数据库文件中;记录的查找是通过将需查找的值加密成密码文后进行的,然而基于记录的数据库保护有一个缺点,就是在解密一个记录的数据时,无法实现对这个记录中不需要的字段不解密,在选择某个字段的某些记录时,如果不对含有这个字段的所有记录进行解密就无法进行选择。

  3、子密钥数据库加密方法

  子密钥加密算法的核心思想是根据数据库(主要针对关系型数据库)中数据组织的特点。在加密时以记录为单位进行加密操作,而在查询需要解密时。则是以数据项为单位进行解密操作。两者所用的密钥是不同的,加密所用的密钥是针对整个记录的密钥,而解密所用的密钥是针对该数据项的子密钥。该算法的理论依据是我国著名的孙子定理(中国剩余定理)

数据库加密的必要性   大型数据库管理系统的运行平台一般是Windows NT和 Unix,这些操作系统的安全级别通常为C1、C2级。它们具有用户注册、识别用户、任意存取控制(DAC)、审计等安全功能。虽然DBMS在OS的基础上增加了不少安全措施,例如基于权限的访问控制等,但OS和DBMS对数据库文件本身仍然缺乏有效的保护措施,有经验的网上黑客会“绕道而行”,直接利用OS工具窃取或篡改数据库文件内容。这种隐患被称为通向DBMS的“隐秘通道”,它所带来的危害一般数据库用户难以觉察。分析和堵塞“隐秘通道”被认为是B2级的安全技术措施。对数据库中的敏感数据进行加密处理,是堵塞这一“隐秘通道”的有效手段。   据有关资料报道,80%的计算机犯罪来自系统内部。在传统的数据库系统中,数据库管理员的权力至高无上,他既负责各项系统管理工作,例如资源分配、用户授权、系统审计等,又可以查询数据库中的一切信息。为此,不少系统以种种手段来削弱系统管理员的权力。实现数据库加密以后,各用户(或用户组)的数据由用户用自己的密钥加密,数据库管理员获得的信息无法进行正常脱密,从而保证了用户信息的安全。另外,通过加密,数据库的备份内容成为密文,从而能减少因备份介质失窃或丢失而造成的损失。由此可见,数据库加密对于企业内部安全管理,也是不可或缺的。   也许有人认为,对数据库加密以后会严重影响数据库系统的效率,使系统不堪重负。事实并非如此。如果在数据库客户端进行数据加/脱密运算,对数据库服务器的负载及系统运行几乎没有影响。在普通PC机上,用纯软件实现DES加密算法的速度超过200K字节/秒,如果对一篇一万汉字的文章进行加密,其加/脱密时间仅需1/10秒,这种时间延迟用户几乎无感觉。目前,加密卡的加/脱密速度一般为1M位/ 秒,对中小型数据库系统来说,这个速度即使在服务器端进行数据的加/脱密运算也是可行的,因为一般的关系数据项都不会太长(多媒体数据另当别论)。例如,在同一时间里有10个用户并发查询,每个用户平均查找1000个汉字的数据,最先得到结果的用户延迟时间小于0.02秒,最后得到结果的用户也仅需等待约0.16秒。 。。。。。。。

6,128

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 新技术前沿
社区管理员
  • 新技术前沿社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧