摘要:随着计算机网络的快速发展,政府、各个企业、组织机构等单位都逐渐开始大量使用各种信息系统并且通过开放的网络来进行信息交换,这极大地提高了各类数据库的利用率。目前主流网站后台管理系统主要是依靠数据库,随着应用平台的不断完善,数据库安全问题已经逐渐成为企事业单位信息主管关注的重点。
关键词:数据库;数据库安全;加密
一、引言
在网络信息时代,信息系统最关键的资源不是硬件设备,而是数据及存放数据的数据库。目前大多数企事业单位大多关注网络及操作系统的安全,而不太关注存放数据的数据库安全。因而,数据库的安全问题显得尤为重要。对于数据库使用者来说,既要保证数据库系统提供数据的正确性,又能确保管理方便。随着各种加密算法以及密文存储形式的应用,数据库的安全性将逐步提高,但目前应用于数据库系统的复杂加密算法往往表现出对数据库访问和存取的性能影响较大。因此,如何在保证数据库的保密性的同时,设计一种能够较好适应数据库系统的加密方案,提高加密数据库安全性,兼顾数据的读存效率,成为随之而来的急需解决的问题。
二、国内外研究情况
关于秘钥的产生和管理。密钥管理技术是数据库加密中的一项关键技术,密钥管理的好坏直接关系到密文数据的安全和整个加密系统的性能。如果多个数据由一个密钥来加密,就会降低加密系统的安全性;数据库容量大,所以要加密的数据很多,需要的密钥数量可能很大;用户的密钥量较小,以确保存储效率。数据库中采用“一次一密”是最安全的,然而要为数据库中每一个数据生成并保存一个密钥是不可取的。因此,很多学者提出主密钥、用户密钥、工作密钥分别产生和管理的策略。有人提出一种两级转换表密钥管理方案,尽管能很好地保护主密钥,但其采取的用主密钥对某一类数据加密的方法却大大降低数据的加密强度,进而也就大大降低被加密数据的安全性。
三、加密算法的研究
众所周知,数据加密的核心就在于加密算法。判断一个加密算法是好是坏,就看经加密算法产生的加密内容是否有重码,频率是否平衡。另外还必须考虑算法的加解密效率,能够保证应用中的响应速度。另外,用传统加密算法对数据加密后,数据的相似性(Similarity)、有序性(Ordering)、可比性(Comparability)都会遭到破坏,这给密文查询带来很大的困难。因此,加密算法的研究主要集中在提高加解密效率、适应密文操作的加密算法。
四、密文查询技术的研究
密文数据库领域研究最多的一个方向是密文查询,密文查询的目标是快速地找到符合条件的数据。系统可以直接对明文数据库文件中的数据进行排序后建立索引文件,查询时系统借助索引文件对数据进行检索。但是加密数据之后,密文数据已不再保持明文数据原有的顺序关系,显然在密文数据的基础上不能像以往那样建立明文数据的索引文件。提高密文数据库查询速度的方法主要有两类:一类是基于桶标识(Bucket ID)转换的加密方法,该方法支持密文区间查询,提高密文查询的速度;另一类是通过额外存储字符数据特征值,查询时利用特征值进行一次粗糙查询,然后通过解密粗糙查询的结果进行精确匹配。
五、数据类型转换方面的问题
一般加密算法很难确保要加密数据的格式、长度和值域不变,因此在对数据进行加密时,往往把它相对应的加密数据的字段类型和长度存放在另外一张密表里。在数据库中数据经加密后形成的密文仍然以关系模式存在,这样能够确保密文的类型被DBMS所识别以及能被DBMS存取和处理。SQL Server支持多种类型数据,比如用户自己定义的数据类型以及系统提供的数据类型。而且数据库加密过程并不违背安全机制。如果在加/解密时,多考虑传统数据库安全机制,那么就可以精确地访问机密数据,从而确保数据的安全。
六、对加密数据库来说数据库备份工作非常重要
首先,要对数据库中以“_Encrypt”为后缀名的表进行备份,因为包含机密数据的密文信息存储在以“_Encrypt”结尾的表中。而且通过master数据库中的加密字典中的密钥形式,加密字段中的众多机密数据才得以返回为解密。数据库加密和数据库备份缺一不可,两者相辅相成。
本文重点分析了数据库加密将加密技术与数据库技术相结合,以密文的形式在数据库中存放敏感信息。随着计算机技术的不断应用,当前信息安全的核心问题是数据库安全问题,而涉及信息安全的核心问题之一就是数据库加密问题。从安全程度、維护费用等综合指标来考虑,数据库加密是目前性价比最高的安全手段。今后数据库的推广和研究的重点之一就是数据库加密技术的应用,因为数据经过加密,即使丢失,也能确保数据的安全。
参考文献:
[1] 李桂来,刘海涛.网络数据库安全的探讨[J].中国现代教育装备,2006(l):23-24
[2] 李亚秀,刘国华.关系数据库中字符数据的保序加密方法[J].无线电工程,2006,36(4):1-3
[3] 王正飞,汪卫,施伯乐.加密数据的一种高效查询方法[J].计算机工程与应用,2008,44(12):29-33
作者简介:陈宇( 1983—),男,河北软件职业技术学院,讲师,主要负责软件设计开发方面专业课程。