您好, 访客   登录/注册

数据库安全性控制方法研究

来源:用户上传      作者:

  摘 要 随着大数据,互联网+的不断深入,各个企事业单位对数据库的使用也是越来越广泛,例如:管理企业信息的系统的全部数据,大到国防情报局,基于web动态的各种网上购物信息等等;它们共同的特点就是都集中的或者分布式的把数据存放在不同的数据库中。数据的最大特点就是共享,为了满足这样的环境和要求,DBMS必须保证后台数据库及整个系统的正常运行,防止数据的意外丢失和不一致的数据产生,并且保证数据库一旦遭受破坏后,能利用冗余数据迅速的恢复数据库,这些都是数据的安全性控制,本文主要从以下几个方面对数据库的安全性加以描述。
  关键词 数据库安全;用户标识;加密;视图;审计
  前言
  数据库的安全性控制方法是指保护数据库不被破坏,防止非法使用所造成数据的泄露、更改或破坏。控制数据库的安全性问题有许多方面,其中包括:①社会、法律和伦理方面控制方法,例如:请求数据库查询的人是否有合法的权限;②物理方面控制方法,例如:存放数据库的计算机终端或者是机房是否做好了护栏防护以及加锁等措施;③在政策方面的控制,确定数据库的存取权限,哪些用户是允许对哪些数据的存取以及删除等;④在数据库的运行与技术方面,在用户登录使用口令时,怎么保证口令的保密性;⑤在硬件控制方面,CPU是否提供任何安全性方面的功能,诸如存储保护键或特权工作方式;⑥在依托的操作系统方面安全性上,在主存储器和数据文件用过以后,操作系统是否把它们的内容清除掉;⑦数据库系统本身安全性方面。
  1 安全性控制的基本模型
  数据库的安全性控制是指要尽最大努力的杜絕所有可能的对数据库的非法访问。一个非法用户使用数据库可以有很多种情况。例如,通过得知数据库返回的错误信息,猜测数据库的命,表的命,以及数据库的存储结构,进而编写合法的程序绕过DBMS授权机制,通过操作系统直接存取、修改或备份相关数据。用户访问未经授权的数据,无论它们是有意的还是无意的,都必须加以严格控制。因此,系统还要考虑数据信息的流动问题并加以控制,否则有潜在的危险性。因为数据的流动可能使无权访问的用户获得访问权利[1]。
  例如:A用户可以访问表S1,但无权访问表S2,如果B用户把表S2的所有记录添加到表S1中之后,则由于B用户的操作,使A用户获得了对表S1中记录的访问。此外,用户可以多次利用允许的访问结果,经过逻辑推理得到他无权访问的数据。
  为防止这一点,访问的许可权还要结合过去访问的情况而定。可见安全性的实施是要花费一定代价,并需缜密考虑的。安全保护策略就是要以最小的代价来最大程度防止对数据的非法访问,通常需要层层设置安全措施。实际上,数据库系统的安全性问题,类似于整个计算机系统一级级层层设置安全的情况。
  2 用户标识和鉴定
  用户标识和鉴定是系统提供的最外层的安全保护措施,其方法进入系统前对用户进行身份验证,由于系统内部事先定义好,记录着所有合法用户的标识,每次用户要求进入系统时,系统通过已知标识和本次进入的用户标识进行对比,只有通过鉴定后的合法用户才提供对数据的使用权。
  用户标识和鉴定的方法有:
  (1)单用户名鉴别法:用一个用户名或用户标识符来标明用户的身份,系统以此来鉴别用户的合法性。
  (2)用户名与口令联合鉴别法:用户名是用户公开的标识,它不足以成为鉴别用户身份的单一凭证,再加上该用户标识的口令,完全符合才能对数据库的使用。
  (3)透明公式鉴别法:每个用户都预先约定好一个过程或者函数,鉴别用户身份时,系统提供一个随机数,用户根据自己预先约定的计算过程或者函数进行计算,系统根据计算结果辨别用户身份的合法性[2]。
  3 用户存取权限控制
  用户存取权限是指不同的用户对于不同的数据对象有着不同的操作权限。所以通过第一步用户权限设置,对不同的用户设置不同的存取权限,而存取权限也可以针对不同的数据对象和操作类型。其实一个用户的存取权限就是要定义这个用户可以在哪些数据对象上进行哪些类型的操作。授权有两种:①系统权限:由DBA授予某些数据库用户,只有得到系统权限,才能成为数据库用户。②对象权限 :可以由DBA授予,也可以由数据对象的创建者授予,使数据库用户具有对某些数据对象进行某些操作的权限。
  4 视图机制
  视图使定义在基本表之上的,视图作为关系模式的外模式,在应用数据库时,可以对不同的用户定义不同的视图,使机密数据不出现在不应该看到这些机密数据的应用视图上,这样视图机制就自动提供了对机密数据的保护性。换句话说,为不同的用户定义不同的视图,可以限制各个用户的访问范围。通过视图机制把要保密的数据对无权存取这些数据的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。
  5 数据加密
  数据加密是为了保证数据库中数据在存储和传输中以密文的形式存在。加密的基本思想是根据一定的算法将明文数据加密成为密文的形式,数据以密文的形式存储和传输。
  目前,有很多数据库产品都提供了数据加密的例行程序,用户可根据要求自行决定进行加密与否,还有一些没有提供加密程序的产品也提供了相应接口,允许用户使用其他厂商的加密程序对数据进行加密,实际上,有些数据库系统也支持用户自己设计加密和解密的程序,但是这样对使用者就提出了更高的要求。一般的用户不能胜任。
  6 审计
  实际上任何系统的安全性措施都不是绝对可靠的,窃密者总有办法打破这些控制。审计功能是一种监视措施,跟踪记录有关数据的访问活动。
  总之,数据库的安全控制关系到很多方面,我们知道木桶理论 ,水装的多少,取决于最短的一块板子,数据库的安全性也取决于最短的那个方面,而现在针对数据的攻击手段和工具也层出不穷,我们一定从技术上和管理上全方位的防护,才能保证我们的数据库的安全性。
  参考文献
  [1] 钱雪忠,王月海.数据库原理及应用(第四版)[M].北京:北京邮电大学出版社,2011:59.
  [2] 徐人凤,曾建华.SQL Server数据库及应用[M].北京:高等教育出版社,2014:77.
转载注明来源:https://www.xzbu.com/1/view-14944292.htm