剖析SQLServer2005数据安全性策略.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

?

?

剖析SQLServer2005数据安全性策略

?

?

魏慧李艳鹏

摘要:数据库安全性问题一直是数据库管理员重点考虑的问题。数据库中数据的丢失以及数据库被非法用户侵入给数据库管理员造成的损失很大。文章围绕数据库的安全性问题提出了一些安全性策略,包括数据库加密、数据库的访问应注意的事项,希望对数据库管理员有所帮助。

关键词:数据库安全性;认证模式;SQLServer身份验证;权限范围

:TP393

:A

:1009-2374(2009)18-0110-02

对任何企业组织来说,数据的泄露或篡改将导致利益的损失。因此数据的安全性最为重要。安全性主要是指允许那些具有相应的数据访问权限的用户能够登录到SQLServer并访问数据以及对数据库对象实施各种权限范围内的操作,但是要拒绝所有的非授权用户的非法操作。因此,安全性管理与用户管理是密不可分的。伴随着微软“可信赖计算”计划的实施,SQLServer2005中加入了丰富的安全特性,提供了极为严密的全新安全性设计为数据库应用更好地保驾护航。

一、SQLServer2005的安全性管理

SQLServer2005的安全性管理是建立在认证(authentication)和访问许可(permission)两者机制上的。认证是指来确定登录SQLServer的登录账号和密码是否正确,以此来验证其是否具有连接SQLServer的权限。但是,通过认证阶段并不代表能够访问SQLServer中的数据,用户只有在获取访问数据库的权限之后,才能够对服务器上的数据库进行权限许可下的各种操作(主要是针对数据库对象,如表、视图、存储过程等),这种用户访问数据库权限的设置是通过用户账号来实现的。同时在SQLServer中,角色作为用户组的代替物大大地简化了安全性管理。

(一)数据库加密

由于数据库在操作系统中以文件形式管理,所以入侵者可以直接利用操作系统的漏洞窃取数据库文件,或者篡改数据库文件内容。另一方面,数据库管理员(DBA)可以任意访问所有数据,往往超出了其职责范围,同样造成安全隐患。因此,数据库的保密问题不仅包括在传输过程中采用加密保护和控制非法访问,还包括对存储的敏感数据进行加密保护,使得即使数据不幸泄露或者丢失,也难以造成泄密。

数据库中存储密文数据后,如何进行高效查询成为一个重要的问题。查询语句一般不可以直接运用到密文数据库的查询过程中,一般的方法是首先解密加密数据,然后查询解密数据。但由于要对整个数据库或数据表进行解密操作,因此开销巨大。在实际操作中需要通过有效的查询策略来直接执行密文查询或较小粒度的快速解密。

一般来说,一个好的数据库加密系统应该满足的要求:足够的加密强度,保证长时间且大量数据不被破译;加密后的数据库存储量没有明显的增加;加解密速度足够快,影响数据操作响应时间尽量短;加解密对数据库的合法用户操作(如数据的增、删、改等)是透明的;灵活的密钥管理机制,加解密密钥存储安全,使用方便可靠。

1.数据库加密的实现机制。数据库加密的实现机制主要研究执行加密部件在数据库系统中所处的层次和位置,通过对比各种体系结构的运行效率、可扩展性和安全性,以求得最佳的系统结构。按照加密部件与数据库系统的不同关系,数据库加密机制可以从大的方面分为库内加密和库外加密。

2.数据库加密的粒度。一般来说,数据库加密的粒度可以有4种,即表、属性、记录和数据元素。不同加密粒度的特点不同,总的来说,加密粒度越小,则灵活性越好且安全性越高,但实现技术也更为复杂,对系统的运行效率影响也越大。

(1)表加密。表级加密的对象是整个表,这种加密方法类似于操作系统中文件加密的方法。即每个表与不同的表密钥运算,形成密文后存储。这种方式最为简单,但因为对表中任何记录或数据项的访问都需要将其所在表的所有数据快速解密,因而执行效率很低,浪费了大量的系统资源。在目前的实际应用中,这种方法基本已被放弃。

(2)属性加密。属性加密又称为“域加密”或“字段加密”,即以表中的列为单位进行加密。一般而言,属性的个数少于记录的条数,需要的密钥数相对较少。如果只有少数属性需要加密,属性加密是可选的方法。

(3)数据元素加密。数据元素加密是以记录中每个字段的值为单位进行加密,数据元素是数据库中最小的加密粒度。采用这种加密粒度,系统的安全性与灵活性最高,同时实现技术也最为复杂。不同的数据项使用不同的密钥,相同的明文形成不同的密文,抗攻击能力得到提高。

在目前条件下,为了得到较高的安全性和灵活性,采用最多的加密粒度是数据元素。为了使数据库中的数据能够充分而灵活地共享,加密后还应当允许用户以不同的粒度进行访问。

3.数据库加密的局限性。数据库加密技术在保证安全性的同时,也给数据库系统的可用性带来一些影响。

文档评论(0)

186****0349 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档