首页 理论教育 数据库安全性措施

数据库安全性措施

时间:2022-03-12 理论教育 版权反馈
【摘要】:试浅析SQL SERVER数据库安全性措施武汉警官职业学院 余莉琪数据库安全一直以来是数据库技术的一大热点,同时也是广大系统管理员和用户最为关心的焦点问题之一。1用户标识和鉴定 用户标识和鉴定是系统提供的最外层安全保护措施。这是确保数据库中的数据不受外部侵害的一项重要措施,是现代数据库管理系统的一个重要特征。
数据库安全性措施_青年学术论坛

试浅析SQL SERVER数据库安全性措施

武汉警官职业学院 余莉琪

数据库安全一直以来是数据库技术的一大热点,同时也是广大系统管理员和用户最为关心的焦点问题之一。用户要求进入计算机系统时,系统首先根据输入的用户标识进行用户身份鉴定,只有合法的用户才准许进入计算机系统。对已进入系统的用户,DBMS还要进行存取控制,只允许用户执行合法操作。操作系统一级也会有自己的保护措施。数据最后还可以以密码形式存储到数据库中,所以现有数据库安全主要通过以下三个途径来实现。

一、依靠操作系统的访问控制功能实现

现代的主流操作系统都有完善的用户认证机制,每个登录系统的用户通过自己的权限(即访问控制表ALC)来访问系统资源。

1用户标识和鉴定 用户标识和鉴定是系统提供的最外层安全保护措施。其方法是由系统提供一定的方式让用户标识自己的名字或身份。系统内部记录着所有合法用户的标识,每次用户要求进入系统时,由系统将用户提供的身份标识与系统内部记录的合法用户标识进行核对,通过鉴定后才提供机器使用权。用户标识和鉴定的方法有很多种,而且在一个系统中往往是多种方法并举,以获得更强的安全性。这里的标识(Identification)是指用户向系统出示自己的身份证明,最简单的方法是输入UserID和password。而鉴别(Authentication)则是系统查验用户的身份证明。身份认证是安全系统最困难的工作。UserID和password是最常用和最方便的身份认证方法。但由于许多用户为了便于记忆而使用了如姓名、年龄、生日等容易记住的password,使得password非常容易被猜出。因此password的管理也成了安全系统极重要的一项工作。例如,每个用户都预先约定好一个计算过程或者函数,鉴别用户身份时,系统提供一个随机数,用户根据自己预先约定的计算过程或者函数进行计算,系统根据用户计算结果是否正确进一步鉴定用户身份。用户可以约定比较简单的计算过程或函数,以便计算起来方便;也可以约定比较复杂的计算过程或函数,以便安全性更好。用户标识和鉴定可以重复多次。

2.攻击检测 经典的以及现代的安全理论中,“存取控制”或“访问控制”都是系统安全策略的最重要的手段。但不可能百分之百的保证任何一个系统中不存在安全漏洞;不可能彻底填补一个系统的安全漏洞,也还没有一种可行的办法彻底解决合法用户在通过“身份鉴别”或“身份认证”后滥用特权的问题。因此作为必要的补充手段,需要相应的攻击检测系统。

二、采用用户身份认证实现

一般的身份认证都是在用户试图打开数据库时要求用户输入用户密码。这种安全技术的实现是,数据库管理软件打开文件时校验用户输入密码是否与数据库文件中保存的密码数据一致,如果不一致则拒绝打开数据库文件。

1.SQL Server账户管理技术 账户管理技术就是解决使用Microsoft SQL Server系统的用户如何登录系统的问题。这是确保数据库中的数据不受外部侵害的一项重要措施,是现代数据库管理系统的一个重要特征。数据库中存储了大量重要的业务数据,这些数据是只能由公司内部相关人员使用,而非相关人员不能使用这些数据,甚至也不能登录到该系统中。这些安全性的实现,依靠账户管理技术的保障。

账户管理包括选择认证模式、登录账户管理、数据库用户账户管理以及各种角色管理。认证模式就是Microsoft SQL Server系统辨识用户的方式,登录账户就是登录系统时需要提供的登录账户名称和口令,数据库用户账户是登录账户在某个数据库中的映像,角色管理就是对登录账户或用户账户的集合管理。

2.存取控制问题 在数据库系统中,为了保证用户只能访问他有权存取的数据,必须先对每个用户定义存取权限。对于通过鉴定获得上机权的用户(即合法用户),系统根据他的存取权限定义对他的各种操作请求进行控制,确保他只执行合法操作。

存取权限是由两个要素组成的:数据对象和操作类型。定义一个用户的存取权限就是要定义这个用户可以在哪些数据对象上进行哪些类型的操作。在数据库系统中,定义存取权限称为授权。这些授权定义经过编译后存放在数据字典中。对于获得上机权后又进一步发出存取数据库操作的用户,DBMS查找数据字典,根据其存取权限对操作的合法性进行检查,若用户的操作请求超出了定义的权限,系统将拒绝执行此操作。这就是存取控制。

3.定义视图 进行存取权限的控制,不仅可以通过授权与收回权力来实现,还可以通过定义用户的外模式来提供一定的安全保护功能。在关系系统中,就是为不同的用户定义不同的视图,通过视图机制把要保密的数据对无权存取这些数据的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。但视图机制更主要的功能在于提供数据独立性,其安全保护功能太不精确。

三、通过对数据加密等的操作来实现

1.数据加密 对于高度敏感性数据,例如,财务数据、军事数据、国家机密,除以上安全性措施外,还可以采用数据加密技术,以密码形式存储和传输数据。这样企图通过不正常渠道获取数据,例如,利用系统安全措施的漏洞非法访问数据,或者在通信线路上窃取数据,那么只能看到一些无法辨认的二进制代码。用户正常检索数据时,首先要提供密码钥匙,由系统进行译码后,才能等到可识别的数据。

所谓一个数据项是敏感的、机要的,通常是依环境条件而言的。有时一个数据项本身就是敏感的,有时是在与其他数据组合在一起时才是敏感的,有时是处于某个声明定义为敏感的记录内,它才是敏感的,有时就是由数据库管理员(DBA)定义为敏感的。在某些特殊的数据库应用中,甚至可能要求将数据按照其值的分段来分配对敏感数据的存取访问权限。这就是所谓多级保护体制要解决的问题。

2.多级保护体制 现实世界中大多数的应用都要求对信息本身划分为不同的保密级别,如军队中对信息的分类就不能简单地划分为公开和保密两类,而且需要更细致的分类,可能对同一记录内的不同字段都要划分为不同的保密级别。甚至同一字段的不同值之间都要求划分为不同的保密级别。在多级保密体系中,对不同数据项赋予不同的保密级别,然后根据数据项的密级给访问该数据项的操作赋予不同的级别。在多级保密体系中,进一步的要求是研究对一个多数据项组成的集合而言,如何赋予一个恰当的密级(根据加入该集合的单个数据项的密级)。数据的完整性和保密性是通过给予用户一份权限许可来实现的,用户只能存取访问他的权限许可对应的那个保密级别的数据。

3.限界 意义是防止在程序之间出现未授权的信息传递,例如,将保密数据(Critical)传递给未经授权的程序。在限界机制概念中,信息在“授权通道”、“存储器通道”和“隐秘通道”中传递。在安全数据库系统中,需要保密的数据、信息的传递应当通过授权通道。这是由授权通道授权的操作提供输出信息而实现的,当不限制某一信息的传递时,就可以通过存储器通道来实现。例如,当某个程序处理一批敏感信息时对该数据进行了加密转换工作,则只要将加密的密钥之类信息传送给另一个程序,则后者即可由此逆向推导出原数据,也就达到了传送信息的目的。设想在某系统内的较高级别的成分和较低级别的成分中,分别埋伏了特洛伊木马,就可以形成信息漏洞,即信息可能在高级别成分不知情的时候,形成异常信息流动,将敏感信息传递到低级别成分中去,即形成一个“隐秘通道”。因此,对“隐秘通道”,主要应当考虑如何限制/控制系统中的行为主体(而不是系统外界的用户),否则无法辨别其中是否可能包含有的被感染/(修改)的代码段。

4.对象重用 安全的数据库系统应当提供可靠的措施解决对象重用的问题。所谓对象重用问题,是指在存储对象如内存、磁盘等重新分配时,由前一个使用这些对象的用户留下的信息被后一个用户非授权地得到并能够读出其中的数据。解决对象重用问题,最简单的方法是在对象分配时清除所有的内容,当然要考虑到所支付的代价,尤其是在某些实时系统中。

5.审计和日志 为了保证数据库中的数据的安全,一般要求数据库管理系统能够将所有的数据操作(包括“读”和“写”)都记录下来。这一功能要求系统保留一个日志文件,与安全相关的事件均可以根据系统要求设置在日志文件中记录下来,以便于事后调查和分析,追查有关责任者,发现系统安全的弱点。

日志记录和审计对于事后的检查十分有效,也就有效地增强了对数据的物理完整性的保证。但是问题在于粒度。尽管这一技术很有效,但从时间和费用上考虑,粒度过细(例如每个记录值的改变),实际上是很难实现的,特别是在大型分布和数据复制环境下的大批量、短事务处理的应用系统中。

综上所述,在管理和使用数据库时应采用综合方法。

主要参考文献

[1]耿文兰.SQL SERVER 2000数据库管理与开发.电子工业出版社,2004

[2]肖桂东.SQL SERVER疑难解析.电子工业出版社,2003

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈