SQLServer2005中加密技术应用研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQLServer2005中加密技术应用研究

SQLServer2005中加密技术应用研究   [摘要] 数据加密是SQL Server 2005新增的数据安全特性,这对应用程序开发者来说是非常重要的改进。本文从程序开发者角度,探讨SQL Server 2005数据加密特性以及如何运用该特性保证系统的数据安全。   [关键字] SQL Server 2005 数据加密 数据安全      0 引言   作为微软数据库系列的旗舰产品,SQLServer2005的设计使得它能够支持一系列安全策略的实施。这些安全策略包括密码策略、审核策略、数据库服务器隔离以及应用程序验证和授权控制[1]。但是,保护敏感数据的最后一道安全屏障通常是数据加密。SQLServer2005的数据加密可以分为两个相对对立的部分:存储加密与通讯加密。   1 SQLServer2005数据存储加密   SQlServer2005实施的框架可以通过使用加密密钥层次结构来实现数据存储加密并帮助保护加密密钥,在此层次结构中,每个层次将对其下面的层次进行加密[2]。   “数据保护 API”(DPAPI)位于此加密密钥层次结构的顶层,DPAPI是一对函数调用,可以为用户和系统进程提供操作系统记得数据保护服务[3]。由于此API是微软Windows操作系统的一部分,因此应用程序可以使用DPAPI加密数据而无需使用调用DPAPI函数的代码以外的任何加密代码。DPAPI是一种基于密码的数据保护服务,因此DPAPI要求提供密码以加密数据,使用的密码是调用加密功能的账户的密码。   在此应注意一点,那就是对称密钥并不存储在数据库中,只有对称密钥的加密值存储在   数据库中。因此,能够访问数据库的用户如果不先将对称密钥解密就无法将数据加密。如果开发人员使用其他对称密钥将对称密钥加密,则必须按正确顺序打开密钥,正确的顺序是在加密层次结构中从上至下打开,每次打开一层。这个打开顺序是必须遵循的,因为如果没有先打开并解密加密某个对称密钥所使用的密钥,就不能打开并解密该特定对称密钥。   2 SQLServer2005数据通讯加密   SQLServer2005数据通讯加密与存储加密是完全独立的两个系统。强调这一点是因为这二者很容易被混淆,从而导致理解上的困惑。SQLServer2005的通讯加密是利用安全套接字层来实现的[4]。   安全套接字层(SSL)是一组可提供身份验证、保密性和数据完整性的加密技术。SSL最常用于在Web浏览器和Web服务器之间创建一个安全通信信道。SSL也可以用于保护客户端应用程序(直接调用方)和SQLServer2005之间建立基于SSL的加密通讯的过程,一旦配置完成,SQLServer2005加密通讯就是一个对用户透明的过程,无须任何额外代码。此外,SSL要求服务器拥有一个连接客户端信任的证书颁发机构(CA)所颁发的服务器身份验证证书,所以首先要寻找或者建立一个能够颁发证书的CA。然后为SQLServer2005申请并安装一个服务器身份验证证书,接下来验证服务器证书是否安装成功,之后将发证CA的证书安装在客户端上来确保客户端信任该CA。在安装完证书且重新启动SQLServer服务后,SQLServer即可与客户端协商使用SSL进行加密通讯。   需要注意的是SQLServer2005一个安装新特性是在缺省情况下,也就是没有证书颁发机构(CA)可用的情况下,会自己为自己生成一个证书,并且会利用该证书对所有的用户登录过程中的用户身份传输进行通讯加密。另外,启用SSL加密将增强在SQLServer实例与应用程序之间通过网络传输的数据的安全性,但是,启用加密会降低性能。因为SQLServer与客户端应用程序之间的所有通信流量都使用SSL加密时,还需要进行额外的处理工作:   连接时需要进行额外的网络往返。   从应用程序发送到SQLServer实例的数据包必须由客户端网络库加密并有服务器端网络库解密。   从SQLServer实例发送到应用程序的数据包必须由服务器端网络库加密并由客户端网络库解密。   所以在对性能要求很高的场合,还是需要先对其性能上的影响进行充分的测试和评估。   3 SQLServer2005中配置SSL加密通讯的方式   3.1强制所有客户端使用SSL   我们可以对服务器进行配置,以强制所有客户端使用SSL,或者让客户端选择是否针对各个连接来使用SSL。具体操作如下:   在SQLServer配置管理器中,展开“SQLServer2005网络配置”,右键单击“的协议”,再选择“属性”。   在“属性的协议”对话框中的“证书”选项卡上,从“证书”框的下拉菜单中选择所需证书,然后单击“确定”。如果使用自己生成的证书,那么可以直接进行下一步。

文档评论(0)

130****9768 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档