数据库的安全性保护
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库的安全性保护
张海飞西北民族大学甘肃省兰州市 730124
摘要:随着计算机特别是计算机网络的发展,数据的共享日益增强,数据的安全保密越来越重要。网络数据库安全性问题一直是围绕着数据库管理的重要问题,数据库数据的丢失以及数据库被非法用户的侵入使得网络数据库安全性的研究尤为重要。数据库管理系统是管理数据的核心,因而其自身必须有一整套完整而有效的安全性机制。实现数据库系统安全性的技术和方法有多种,最重要的是存取控制技术、视图技术和审计技术。
关键字:数据库安全性安全保护网络安全
数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。安全性问题不是数据库系统所独有的,所以的计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。系统安全保护措施是否有效是数据库系统的主要技术指标之一。数据库的安全性和计算机系统的安全性,包括计算机硬件、操作系统、网络系统等的安全性,是紧密联系、相互支持的。
在一般的计算机系统中,安全措施是一级一级层层设置的。在下图所示的安全模型中,用户要求进入计算机系统时,系统首先根据输入的用户标识进行用户身份鉴定,只有合法的用户才准进入计算机系统。对已进入系统的用户,DBMS 还要进行存取控制,只允许用户执行合法操作。
数据库安全性所关心的主要是DBMS的存取控制机制。数据库安全最重要的一点就是确保只授权给有资格的用户访问数据库权限,同时令所有未被授权的人员无法接近数据。这主要通过数据库系统的存取控制机制实现。存取控制机制主要包括:一、定义用户权限,并将用户权限登记到数据字典中;二、合法权限检查。
我们还可以为不同的用户定义不同的视图,把数据对象限制在一定的范围内,即通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。视图机制间接地实现支持存取谓词的用户权限定义。
“审为了使DBMS达到一定的安全级别,还需要在其他方面提供相应的支持,计”功能就是DBMS达到C2以上安全级别比不可少的一项指标。审计常常是很费时间和空间的,所以DBMS往往都将其作为可选特征,允许DBA根据应用对安全性的要求,灵活地打开或关闭审计功能。审计功能一般主要用于安全性要求较高的部门。
既然造成数据库不安全的一个主要原因是因为原始数据以可读(明文)形式存放在数据库中。一旦某一用户非法获取用户名和口令,或者绕过操作系统缄DBMs)的控制入侵到系统中,可以访问和修改数据库中的信息。
另外,数据存储介质(如磁盘、光盘、磁带等)丢失也会导致数据库中的数据泄漏。如果我们对数据库中的数据(明文)进行加密处理,那么上述问题就可以得到解决。即使某一用户非法入侵到系统中或者盗取了数据存储介质,没有相应的
解密密钥,他仍然不能得到所需数据。所以,数据库的加密处理对于保证数据的安全性具有十分重要的意义。
根据数据库数据的特点,一个数据库表是由x条记录组成的,而每一条记录又由Y个字段(属性)组成,一共有x×Y个数据。第i个记录中的字段(属性)j的明文可以表示这样:Dij,其中0≤i≤x,O≤j≤Y;第i个记录中第i个字段的密文可以这样表示:xij:E(K,D 其中O≤i≤x,O≤j≤Y;E为某种对称密码算法,K 为该算法所使用密钥。其中对同一个数据库表而言,加密算法是相同的。如果使用的加密密钥K也相同,又会很容易受到密文分析与密文替代的攻击。如果使用不同的加密密钥对全部的字段值进行加密,则密钥K的个数:记录个数(x)×字段个数(Y),很显然会生成数量过于庞大的密钥。那么密钥的安全管理也就成了一个很棘手的问题。如果能够找出一种管理加密密钥的方案,就能够解决加密密钥过于庞大的问题。如果对数据库表中的数据采用二级密钥管理机制,即一个主密钥,一个工作密钥。主密钥的作用是用来生成工作密钥。工作密钥对数据库数据的加密。主密钥用来保护工作密钥的安全,工作密钥用来保护敏感的数据信息,那么整个数据库表的安全就依赖于主密钥的安全。一般情况下,主密钥经过加密后存放在系统的安全区域内,需要时由系统自动获取并解密。另外也可以把主密钥注入加密卡中保存。在这种情况下,只是主密钥的更换比较麻烦,主密钥一旦更换,工作密钥就需要全部随之发生变化。所以,从安全的角度考虑,密钥在经行更改前,需要对数据库系统全库备份。
事实上,在数据库生存期内,只要我们的系统管理不出现漏洞,密钥系统只是需数年更换一次,或者不必更换。总体来说,为保证数据的安全,对数据库表进行加密是一种很有效的方法。
虽然通过数据加密对数据进行加密操作,以密文形式把数据存储起来,使得攻击者即使入侵到系统中,或者获得了存储介质也无法直接得到明文,从而在存储上保证了数据的安全性。但是,数据加密后,也会产生一些问题:数据操作时其性能会变低、索引字段的加密问题、加密后数据库的完整性问题、关于加密存储空间增大问题。
显而易见,数据库的安全性对当今社会有很大影响,计算机安全性问题也得到越来越多的人的重视。因此,只有建立了完善的可信或安全标准,才能规范和指导安全计算机系统部件的生产,比较准确地测定产品的安全性能指标,满足社会的需要。
参考文献:
[1](澳)戴维森著朱理译,数据库的法律保护,北京大学出版社,2007-01-01版;
[2] 王珊,萨师煊,数据库系统概论,高等教育出版社,2006年5月第4版,2012年12月第1次印刷;
[3]Robert Vieira著.杨华,腾灵灵译.SQL Server 2008 高级程序设计[M].北京:清华大学出版社,2010,4 ;
[4]辛春红.有关SQL Server 数据库安全问题研究[J].信息技术,2009,5 ;
[5]陈卫,数据库加密密钥的分配和管理技术[J].清华大学学报:自然科学版,1994,34(1):99—102;
[6]戴一奇,尚杰,苏中民.密文数据库的快速检索[J].清华大学学报:自然科学版,l997,37(4):24—27;
[7]刘启原.数据库与信息系统的安全.数据库技术丛书之一,北京:科学出版社,1999.