吴婧
摘要:随着计算机技计算机技术的发展,特别是网络信息科技的日新月异。数据库技术更为广泛的应用于各大企业、各级政府部门及军事等信息系统的核心领域,随之数据的共享需求亦日益增多,经过实际的需求人们认识数据库的安全及保密问题已成为当今计算机安全的一项重要课题。本文将对数据库加密技术的要求、方法及其影响进行阐述分析。
关键词:数据库 加密 安全
中图分类号:TP309.7 文献标识码:A 文章编号:1007-9416(2016)05-0000-00
1 数据库加密技术的要求
鉴于数据库所存储的数据具有一定的复杂性、执行查询操作的频繁性、数据存储的长期性等特征,对于数据库的加解密算法及对应的密钥管理机制要具备以下几点:
(1)数据库加密系统要充分保证数据的安全性,这点体现在加密算法对于数据的保密性及完整性的要求,它有效的防止了对未授权数据的访问和修改。(2)应用数据库时频繁的查询操作,需要具备高强度的解密效率,避免造成数据库系统性能的大幅度下降。(3)明文与密文的长度要尽可能的做到相等或相当,相对于数据库管理系统而言数据库结构的变动差异不可过大。(4)数据存储时间久且密钥又较为复杂,这需要更为坚固、灵活且安全的密钥管理机制。
2 数据库加密的方法
(1)静态加密技术。静态加密是指实施加密时待加密文件已存在但未使用,通过密码、密钥证书或数字签名的方式进行加密,实施加密后使用时必须先通过解密取得明文方可使用的加密方法。此种方式一般应用于应用系统或软件加密当中。(2)动态加密技术。动态加密是指动态的跟踪数据流,对相关的数据自动进行时时加解密操作,无需人工参与亦不会对用户有任何影响,有权限的用户在使用已加密文件时,无需先取得明文解密即可直接使用。所以对于有权限的用户来讲,动态加密操作是透明的,访问未加密或加密文件基本感觉不到区别。反之,对于没有访问权限的用户来讲,即便通过非法手段取得了加密文件,也无法识别,只是得到乱码而已,更谈不到获取有效信息了。近年来,动态加密技术因其便捷的使用方法得到广泛的应用。(3)文件级动态加解密技术。在文件系统层当中,既能获取到文件自身的详细信息,又能获取到用户信息及访问此种文件的进程等各类相关信息,因文件系统层其特有的属性可以开发出功能极其强大的文档安全产品。在动态加解密的产品中,其部分文件系统自身就支持文件的动态加解密,而在实际操作当中,加密文件一般以分区或目录为单位,对于用户的个性化需求是难以满足的,即使存在诸多不足之处,文件级动态加解密技术的安全性依然可以与磁盘级加密技术相匹敌。但鉴于文件级动态加解密技术对于用户个性化需求的不足,也为第三方提供了动态加解密安全产品提供了足够的发展空间。
在不同的操作系统中要研发的文件级动态加解密安全产品也各不相同,有多种方法可供选择,可利用过滤驱动或Hook等方法将其转化为文件系统的一个组成部分,即将嵌入到文件系统中。从某个角度上讲,可以将第三方动态加解密产品近似于文件系统的一种功能扩展,这种功能扩展是通过模块化的形式根据客户需求进行挂接或缷载操作来完成的,而这是作为文件系统内嵌的动态加密系统难以实现的。
3 数据库加密技术对数据库造成的影响
所谓数据加密即是对明文进行一系列较为复杂的加密操作,使明文和密文、密文和密钥间的内在联系不被发现,从而使加密过的数据经得住数据库管理系统和操作系统的攻击。数据库管理系统的功能一般情况下是较为完备的,但针对数据库中以密文形式存在的敏感性数据是无法应用其部分功能的,且当数据库的数据加密后,数据库管理系统部分功能将无法直接应用。
(1)加密字段不能实现索引功能。在数据库当中为了查询和检索的快速及便捷,常常要建立一些索引。而索引要发挥其作用必须使其建立和应用在明文的状态下,且某些数据库管理系统中所建立的索引也必须在明文的状态下建立、维护和使用,否则索引将失去作用。(2)加密功能不能用于表间的连接码字段。数据模型构建后,数据库表之间的相关性是通过局部编码进行关联的,如若对这些局部编码进行加密操作,则将无法进行数据表之间的连接运算。(3)加密后无法进行数据约束的定义。数据库管理系统通常会定义数据约束,如若此类数据一旦进行了加密操作,数据库管理系统将无法实现数据约束功能,且值域也无法进行定义。(4)密文数据不能应用于数据库的排序、分组和分类功能。SQL的Select语句中分组、排序、分类等操作分别通过Group、Orderby、Having子句来实现,如若将此类子句的操作对象设为加密数据,将无满足用户的需求,因为即使明文数据进行了解密操作也失去了原有语句的分组、排序、分类等作用。(5)加密数据无法被SQL语言中的内部函数所应用。(6)加密数据无法直接应用于数据库管理系统为各类数据所提供的某些内部函数上。(7)加密数据将使数据库管理系统的某些应用开发工具使用受限。数据库管理系统的某些应用开发工具不能对加密数据进行直接操作,因此在对其应用时会受限。由此可见,对数据库进行加密操作会影响到部分数据库管理系统的功能,好比阅读语句中的函数、排序、分组等,如想应用此类功能亦可通过组件技术来实现,如利用SQL的解释器。所以当数据库加密后致使数据库管理系统部分功能无法直接使用时,可以通过在数据库管理系统的安全管理系统中增加组件来实现这部分功能的应用。
4 结语
随着时代的发展,数据库管理系统以其自身优势在社会各界得到广泛应用,其使用率较高对数据的安全性要求就越高。目前,人们在数据库安全及加密技术的研究方面只做了部分的尝试性工作,还有诸多重要性细节问题有待于进一步深入解决。
参考文献
[1] 张敏,等.数据库安全[M].北京:科学出版社,2005.
[2] 谷利泽.数据应用中安全技术的设计和实现[D].北京邮电大学,2001.