数据库的安全及防范措施的研究
2012-04-02张跃
张 跃
辽宁装备制造职业技术学院(沈阳 110161)
1 网络数据库安全机制
B/S模式和C/S模式是两种典型的网络数据库模式。C/S模式采用“客户机-应用服务器-数据库服务器”三层结构,B/S模式采用“浏览器-Web 服务器-数据库服务器”三层结构。两种模式在结构上存在很多共同点:均涉及到网络、系统软件和应用软件。为了使整个安全机制概念清晰,针对两种模式的特点和共性,得到网络数据库系统安全机制分层结构模型。
2 威胁数据安全的主要因素
威胁数据安全的因素有很多,主要有以下几个比较常见,如硬盘驱动器损坏、人为错误、黑客、病毒和窃取等。
3 数据库安全常用技术
数据库安全就是保证数据库中数据的保密性、正确性。保密性指保护数据库中的数据不被非法用户获取;正确性是指数据不因为故意的破坏、操作员失误或者软硬件故障导致数据错误。当前常常使用以下典型技术保证数据安全。
3.1 用户身份验证
由系统提供一定的方式让用户标识自己的名字或身份,当用户要求进入系统时,由系统进行核对。这种技术不仅仅用于数据库安全维护,也常见于一般的软件安全维护和系统维护中。在数据库系统中,系统内部记录所有合法用户的用户标识和口令。系统要求用户在进入系统之前输入自己的用户标识和口令,系统核对用户信息输入正确方可进入。这种方法简单易行,但是用户信息容易被人窃取。因此还可以用更复杂的办法:随机数认证。随机数认证实际上是非固定口令的认证,即用户的口令每次都是不同的。鉴别时系统提供一个随机数,用户根据预先约定的计算过程或计算函数进行计算,并将计算结果输送到计算机,系统根据用户计算结果判定用户是否合法。
3.2 授权机制
也称存取控制。大部分的DBMS中都提供了数据库访问权限控制。在DBMS中可以定义用户权限,并且将用户权限登记到数据字典中。用户的权限包括:数据对象权限、数据操作权限。DBMS提供语句来定义用户的这两种权限,这样,不同的用户对于不同的数据对象享有不同的操作权限。当用户发出存取数据库的操作请求后,DBMS查找数据字典,根据记载的权限规则进行合法权限检查,若用户的操作请求超出了定义的权限,系统拒绝执行此操作。存取控制的模型有自主存取控制 DAC 和强制存取控制MAC。目前,大部分的DBMS都支持自主存取控制,目前的 SQL标准是通过 GRANT和REVOKE语句授予和收回权限。强制存取控制方法可以给系统提供更高的安全性。在MAC中,DBMS将实体分为主体和客体两大类。对于不同的实体,DBMS指派一个敏感度标记,例如:绝密、机密、可信、公开等。一般用于政府或军事部门。
3.3 数据加密
数据加密是防止数据泄漏的有效手段。 数据加密是就是将明文数据经过一定的交换变成密文数据。与传统的数据加密技术相比较,数据库有其自身的要求和特点传统的加密以报文为单位,加、脱密都是从头至尾顺序进行。大型数据库管理系统的运行平台一般是 Windows NT和Unix,这些操作系统的安全级别通常为 C1、C2级。它们具有用户注册、识别用户、任意存取控制(DAC)、审计等安全功能。虽然DBMS在OS的基础上增加了不少安全措施,例如基于权限的访问控制等,但OS和DBMS对数据库文件本身仍然缺乏有效的保护措施,有经验的网上黑客会“绕道而行”,直接利用 OS工具窃取或篡改数据库文件内容。这种隐患被称为通向DBMS的“隐秘通道”它所带来的危害一般数据库用户难以觉察。分析和堵塞 “隐秘通道”被认为是B2级的安全技术措施。对数据库中的敏感数据进行加密处理,是堵塞这一“隐秘通道”的有效手段。
3.4 操作审计
对数据库系统的操作审计就是记录、检查和回顾对系统进行所有相关操作的行为。审计的主要任务是对用户及应用程序使用系统资源包括软硬件或数据的情况进行记录和审查,一时出现问题,审计人员可以通过审计跟踪,找出问题原因,追查相关责任人,防止问题再度发生审计过程不可绕过,审计记录也应该得到保护且不能轻易更改。审计记录要想有效地起作用,就保证审计记录的粒度和数。审计作为保证数据库安全的补救措施,可以提高系统的抗否认能力。
3.5 视图机制
进行存取权限的控制,不仅可以通过授权来实现,而且还可以通过定义用户的外模式来提供一定的安全保护功能。在关系数据库中,可以为不同的用户定义不同的视图,通过视图机制把要保密的数据对无权操作的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。对视图也可以进行授权。视图机制使系统具有数据安全性、数据逻辑独立性和操作简便等优点。
4 结语
网络数据库的安全是一个系统性、综合性的问题。综上所述,网络数据库的安全防范是多层次、大范围的,随着计算机技术的发展和数据库技术应用范围的扩大,数据库安全必须走立体式发展道路。因此,在进行系统设计时不能将它孤立考虑,只有结合实际层层防设,这个问题才能得到有效解决。安全防范是一个永久性的问题,只有通过不断地改进和完善安全手段,才能提高系统的可靠性。
[1]张晓伟,金涛.信息安全策略与机制.北京:机械工业出版社,2004.
[2]张建军.浅析数据库管理系统加密技术及其应用.甘肃高师学报,2008.