设为主页 | 加入收藏 | 繁體中文

数据库加密技术综述

  数据库加密的须要性
  大型数据库办理体系的运转平台一样平常是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秒。
  基本要求
  根据我们的研讨,一个良好的数据库加密体系应该餍足以下基本要求:
  1.字段加密
  在目前条件下,加/脱密的粒度是每个记录的字段数据。要是以文件或列为单元举行加密,一定会形成密钥的重复利用,从而低落加密体系的牢靠性或者因加脱密时间过长而无法利用。只有以记录的字段数据为单元举行加/脱密,才能顺应数据库操作,同时举行有用的密钥办理并完成“一次一密”的密码操作。
  2.密钥动态办理
  数据库客体之间隐含着庞大的逻辑干系,一个逻辑布局大概对应着多个数据库物理客体,以是数据库加密不但密钥量大,而且构造和存储工作比较庞大,必要对密钥实现动态办理。
  3.公道处理数据
  这包罗几方面的内容。起首要恰本地处理数据类型,不然 DBMS将会因加密后的数据不符合定义的数据类型而回绝加载;其次,必要处理数据的存储题目,实现数据库加密后,应基本上不增加空间开支。在目前条件下,数据库干系运算中的匹配字段,如表间毗连码、索引字段等数据不宜加密。文献字段虽然是检索字段,但也应该容许加密,由于文献字段的检索处理采用了有别于干系数据库索引的注释索引技能。
  4.不影响合法用户的操作
  加密体系影响数据操作响合时间应尽量短,在现阶段,均匀耽误时间不该超过1/10秒。此外,对数据库的合法用户来说,数据的录入、修改和检索操作应该是透明的,不必要思量数据的加/脱密题目。
  差别层次实现数据库加密
  我们可以思量在三个差别层次实现对数据库数据的加密,这三个层次辨别是OS、DBMS内核层和DBMS外层。
  在OS层,无法识别数据库文件中的数据干系,从而无法孕育发生公道的密钥,也无法举行公道的密钥办理和利用。以是,在OS层对数据库文件举行加密,对付大型数据库来说,目前还难以实现。
  在DBMS内核层实现加密,是指数据在物理存取之前完成加/脱密工作。这种方法势必造成DBMS和加密器(硬件或软件)之间的接口必要DBMS 开发商的支持。这种加密方法的好处是加密功能强,并且加密功能险些不会影响DBMS 的功能。其缺陷是在办事器端举行加/脱密运算,减轻了数据库办事器的负载。这种加密方法如图1所示。
  比较现实的做法是将数据库加密体系做成DBMS的一个外层工具(如图2所示)。采用这种加密方法时,加/脱密运算可以放在客户端举行,其好处是不会减轻数据库办事器的负载并可实现网上传输加密,缺陷是加密功能会受一些限定。图中,“定义加密要求工具”模块的重要功能是定义怎样对每个数据库表数据举行加密。在创建了一个数据库表后,通过这一工具对该表举行定义;“数据库应用体系”的功能是完成数据库定义和操作。数据库加密体系将根据加密要求自动完成对数据库数据的加/ 脱密。
  加密体系的有关题目
  数据库加密体系起首要办理体系本身的安全性和牢靠性题目,在这方面,可以采用以下几项安全措施:
  1. 在用户进入体系时举行两级安全控制
  这种控制可以采用多种方法,包罗设置数据库用户名和口令,或者利用IC卡读写器/指纹识别器举行用户身份认证。
  2. 防备非法拷贝
  对付纯软件体系,可以采用软指纹技能防备非法拷贝,当然,要是每台客户机上都安置加密卡等硬部件,安全性会更好。此外,还应该保存数据库原有的安全措施,如权限控制、备份/恢复和审计控制等。
  3. 安全的数据抽取方法
  提供两种卸出和装入数据库中加密数据的方法:其一是密文方法卸出,这种卸出方法不脱密,卸出的数据还是密文,在这种模式下,可直接利用 DBMS提供的卸出/装入工具;其二是明文方法卸出,这种卸出方法必要脱密,卸出的数据是明文,在这种模式下,可利用体系专用工具先举行数据转换,再利用DBMS提供的卸出/装入工具完成。
  体系布局
  数据库加密体系分红两个功能独立的重要部件:一个是加密字典办理程序,另一个是数据库加/脱密引擎,体系布局如图3所示。
  数据库加密体系将用户对数据库信息具体的加密要求纪录在加密字典中,加密字典是数据库加密体系的底子信息。
  加密字典办理程序,是办理加密字典的适用程序,是数据库办理员变越发密要求的工具。
  加密字典办理程序通过数据库加/脱密引擎实现对数据库表的加密、脱密及数据转换等功能,此时,它作为一个特殊客户来利用数据库加/脱密引擎。
  数据库加/脱密引擎是数据库加密体系的核心部件,卖力在背景完成数据库信息的加/脱密处理,对应用开发人员和操作人员是透明的。
  按以上方法实现的数据库加密体系具有许多好处。起首,体系对数据库的最终用户完全透明,数据办理员可以指定必要加密的数据并根据必要举行明文/密文的转换工作;其次,体系完全独立于数据库应用体系,不必要窜改数据库应用体系就能实现加密功能,同时体系采用了分组加密法和二级密钥办理,实现了“一次一密”;其三,体系在客户端举行数据加/脱密运算,不会影响数据库办事器的体系服从,数据加/脱密运算基本无耽误感觉。
  数据库加密体系能够有用地保证数据的安全,即使黑客窃取了要害数据,他仍旧难以失掉所需的信息,由于所有的数据都颠末了加密。别的,数据库加密当前,可以设定不必要相识数据内容的体系办理员不能见到明文,大大提高了要害数据的安全性。
 


    文章作者: 福州军威计算机技术有限公司
    军威网络是福州最专业的电脑维修公司,专业承接福州电脑维修、上门维修、IT外包、企业电脑包年维护、局域网网络布线、网吧承包等相关维修服务。
    版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和声明。否则将追究法律责任。

TAG:
评论加载中...
内容:
评论者: 验证码: