用户名: 密码: 免费注册 忘记密码? 加入收藏 | 设为首页
SQL Server 2005数据加密技术应用研究
学院首页 | 资讯中心 | 服务器软件 | 系统工具 | 系统软件 | 办公软件 | 聊天软件 | 多 媒 体 | 网页制作 | 网站运营 | 平面设计
艺术欣赏 | 数据库软件 | 程序开发 | 网络组建 | 源码下载 | 驱动下载 | 软件下载 | 电脑安全 | IT创业 | IT博客 | IT社区
硬件数码导航 | 硬件频道 | 本本频道 | MP3频道 | 相机频道 | 手机频道 | 显卡频道 | LCD 频道 | 音箱音频 | 行情 | 评测 | 导购
学院专题 软件 - 系统 - 办公 - 聊天 - 多媒体 - 网页制作 - IT创业 - 运营 - 平面 - 设计欣赏 - 数据库 - 程序 - 服务器 - 组网

 当前位置: 首页>>技术频道>>数据库>>Mssql教程>>正文

SQL Server 2005数据加密技术应用研究

日期:2006-9-15 3:12:14     来源:计算机与信息技术   编辑:   

摘要 数据加密是SQL Server 2005新增的数据安全特性,这对应用程序开发者来说是非常重要的改进 。 本文从程序开发者角度,探讨SQL Server 2005数据加密特性以及如何运用该特性保证系统的数据安全 。

关键词 SQL Server 2005、数据加密、数据安全

SQL Server 2005是微软开始实施其“可信赖计算” 计划以来的第一个主要的产品,它提供了丰富的安全特性,为企业数据提供安全保障 。 对开发人员来说,最关注的是如何在程序设计过程中应用这些特性来保护数据库中的数据安全 。 本文将从应用程序开发者角度探讨基于SQL Server 2005数据加密特性的应用 。

SQL Server 2005数据加密技术

数据用数字方式存储在服务器中并非万无一失 。 实践证明有太多的方法可以智取SQL Server 2000认证保护,最简单的是通过使用没有口令的sa账号 。 尽管SQL Server 2005远比它以前的版本安全,但攻击者还是有可能获得存储的数据 。 因此,数据加密成为更彻底的数据保护战略,即使攻击者得以存取数据,还不得不解密,因而对数据增加了一层保护 。

SQL Server 2000以前的版本没有内置数据加密功能,若要在SQL Server 2000中进行数据加密,不得不买第三家产品,然后在服务器外部作COM调用或者是在数据送服务器之前在客户端的应用中执行加密 。 这意味着加密的密钥或证书不得不由加密者自己负责保护,而保护密钥是数据加密中最难的事,所以即使很多应用中数据已被很强的加密过,数据保护仍然很弱 。

SQL Server 2005通过将数据加密作为数据库的内在特性解决了这个问题 。 它除了提供多层次的密钥和丰富的加密算法外,最大的好处是用户可以选择数据服务器管理密钥 。 SQL Server 2005服务器支持的加密算法如下:

⑴ 对称式加密(Symmetric Key Encryption):

对称式加密方式对加密和解密使用相同的密钥 。 通常,这种加密方式在应用中难以实施,因为用同一种安全方式共享密钥很难 。 但当数据储存在SQL Server中时,这种方式很理想,你可以让服务器管理它 。 SQL Server 2005 提供RC4、RC2、DES 和 AES 系列加密算法 。

⑵ 非对称密钥加密(Asymmetric Key Encryption):

非对称密钥加密使用一组公共/私人密钥系统,加密时使用一种密钥,解密时使用另一种密钥 。 公共密钥可以广泛的共享和透露 。 当需要用加密方式向服务器外部传送数据时,这种加密方式更方便 。 SQL Server 2005 支持 RSA 加密算法以及 512 位、1,024 位和 2,048 位的密钥强度 。

⑶ 数字证书(Certificate):

数字证书是一种非对称密钥加密,但是,一个组织可以使用证书并通过数字签名将一组公钥和私钥与其拥有者相关联 。 SQL Server 2005 支持“因特网工程工作组”(IETF) X.509 版本 3 (X.509v3) 规范 。 一个组织可以对 SQL Server 2005 使用外部生成的证书,或者可以使用 SQL Server 2005 生成证书 。

SQL Server 2005 采用多级密钥来保护它内部的密钥和数据,如下图所示:

图1 SQL Server 2005采用多级密钥保护它内部的密钥和数据

图中引出箭头的密钥或服务用于保护箭头所指的密钥 。 所以服务主密钥(service master key)保护数据库主密钥(database master keys),而数据库主密钥又保护证书(certificates)和非对称密钥(asymmetric keys) 。 而最底层的对称性密钥(symmetric keys)被证书、非对称密钥或其他的对称性密钥保护(箭头又指回它本身) 。 用户只需通过提供密码来保护这一系列的密钥 。

图中顶层的服务主密钥,安装SQL Server 2005新实例时自动产生和安装,用户不能删除此密钥,但数据库管理员能对它进行基本的维护,如备份该密钥到一个加密文件,当其危及到安全时更新它,恢复它 。

服务主密钥由DPAPI(Data Protection API)管理 。 DPAPI在Windows 2000 中引入,建立于Windows的Crypt32 API之上 。 SQL Server 2005 管理与DPAPI的接口 。 服务主密钥本身是对称式加密,用来加密服务器中的数据库主密钥 。

数据库主密钥与服务主密钥不同,在加密数据库中数据之前,必须由数据库管理员创建数据库主密钥 。 通常管理员在产生该密钥时,提供一个口令,所以它用口令和服务主密钥来加密 。 如果有足够的权限,用户可以在需要时显式地或自动地打开该密钥 。 下面是产生数据库主密钥的T-SQL代码示例:

USE EncryptionDB

CREATE MASTER KEY

ENCRYPTION BY PASSWORD = 'UTY6%djzZ8S7RyL'

每个数据库只有一个数据库主密钥 。 可以用ALTER MASTR KEY语句来删除加密,更改口令或删除数据库主密钥 。 通常这由数据库管理员来负责做这些 。

有了数据库主密钥,就可以着手加密数据 。 T-SQL有置于其内的加密支持 。 使用CREATE语句创建各种密码,ALTER语句修改他们 。 例如要创建对称式加密,可以通过一对函数EncryptByKey 和 DecryptByKey来完成 。

陈刚

本新闻共2页,当前在第1页  [1]  [2]  

  ▼ 下一篇新闻 剖析SQL Server 2005查询通知之基础篇
  ▲ 上一篇新闻 点击查看        网友发表观点请进入=>



我要纠错】【进入论坛交流】【关闭此页

文章搜索
   
最新文章

 
·千名爱好者参与首届PHP调查
·腾讯称QQ通讯信息密钥加密 不会被
·雅虎反超Google排名搜索第二
·中搜等十余家IT企业因流氓软件被
·盛大前员工克隆网游装备获暴利被
·凤凰网将向迅雷提供娱乐及宽带内
·信产部出手规范 新浪式企业法律架
·雅虎中国称旗下软件早已没有流氓
·中搜停止划词搜索与流氓软件决裂

广告赞助
相关文章 相关教程下载
焦点信息
·腾讯称QQ通讯信息密钥加密 不会被监听
·信产部出手规范 新浪式企业法律架构不得不改
·盛大前员工克隆网游装备获暴利被追刑责
·凤凰网将向迅雷提供娱乐及宽带内容
·雅虎中国称旗下软件早已没有流氓问题
·雅虎反超Google排名搜索第二
网友评论:(评论内容只代表网友观点,与本站立场无关!)
发表评论     Hard168社区推荐帖子
姓 名: *
* 请网友遵纪守法并注意语言文明。
IT人物推荐

王江民
马云
柳传志



关于本站    联络方式    广告服务    意见信箱    加入收藏   设为首页    -
本站部分内容来自网上,如有侵权部分,敬请告知,我们会在24小时内给予处理
版权所有:Hard168.Com,如需转载文章请与我们取得联系
京ICP备05063857号 Designed by Hard168.Com
SQL Server 2005数据加密技术应用研究