网络编程
位置:首页>> 网络编程>> 数据库>> 准备SQL Server 2008透明数据加密

准备SQL Server 2008透明数据加密

作者:戴羽 来源:IT专家网 发布时间:2009-01-22 14:18:00 

标签:

问题

当浏览SQL Server 2008的新特性时,我们看到了透明数据加密。这看起来很有趣。您能为我们解释一下并介绍下执行它的细节吗?

专家解答

TDE(透明数据加密)是SQL Server 2008中的一个新特性;它提供了对数据和日志文件的实时加密。数据在它写到磁盘之前进行加密;当它从磁盘读出来时进行解密。TDE的“透明”是指加密是由数据库引擎来执行的,而SQL Server客户端对此完全不知道。要进行加密和解密不必编写任何代码。只要执行两个步骤将数据库为TDE准备好,然后加密就通过一个ALTER DATBASE命令在数据库级别开启了。

我们可能都听过关于保存了敏感信息的备份磁带丢失或被窃的事件。有了TDE,只要这个数据库开启了加密,那么只要使用标准BACKUP命令就会将备份文件也加密了。如果没有对用来加密数据的密钥的访问权限,那么备份文件(或磁盘上)中的数据就完全没用。

在我们进入执行TDE的步骤之前,让我们花几分钟来大概地讨论下加密。Wikipedia对加密的定义是“使用一个算法(叫做密码)来转化数据(指明码文本)、使其除非具有特定知识,一般指密钥,不然任何人都不能读取的过程”。为了加密数据,我选择了一个有效的算法并提供了密钥。加密所提供的安全性是基于算法的强度和密钥的保护。密钥有两种——对称密钥和非对称密钥。对于对称密钥,对数据的加密和解密使用相同的值。非对称密钥有两个组成部分——一个私钥和一个公钥。我使用私钥来加密数据而其他人必须使用公钥来解密数据。总之,对称密钥或非对称密钥对的私钥必须安全地存储以便可以有效地加密。

现在让我们看一个关于怎样执行TDE的例子。对一个特定数据库执行TDE包括下面四个步骤:

创建一个主钥。

创建或获得一个受主钥保护的证书。

创建数据库加密密钥并使用证书保护它。

将数据库设为使用加密。

创建一个主钥

主钥是一个对称密钥,是用来创建证书和非对称密钥的。执行下面的脚本来创建一个主钥: 

      USE master;
     
  CREATE MASTER KEY

  ENCRYPTION BY PASSWORD = 'Pass@word1';

  GO

注意,密码应该为强密码(例如使用字母、数字、大写、小写和特殊字符),而且你应该将它备份(使用BACKUP MASTER KEY)和保存在一个安全地方。.

创建证书

证书可以用来创建用于数据加密的对称密钥或用来直接加密数据。执行下面的脚本来创建一个证书: 

      USE master;
     
  CREATE CERTIFICATE TDECert

  WITH SUBJECT = 'TDE Certificate'

  GO

0
投稿

猜你喜欢

  • 传统的网页BBS大多是采用CGI模式实现的,它的实现要求编程者既要掌握编程语言如Perl或C等,又要了解关于CGI模式的各项技术内容,因此要
  •     你用过css么?当然,我是指你喜欢做网页的话,用过?很好,那你用过它的特效么?没有?那请跟我来。让我先
  • 我们在工作中经常强调沟通能力,和产品、开发、测试等不同角色的人需要沟通,和领导、同事需要沟通,沟通是一个双向的过程,而沟通首先需要双方有良好
  • asp中fso怎样判断一个盘上是否有文件,实例代码,需要的朋友可以试试:<% dim objfolder dim 
  • 一、背景分析对想要在视觉化环境下制作复杂网页的专业网页制作者来说,Dreamweaver已经渐渐在网页编辑工具中展露头角,成为专业人士编写网
  • 通常我们做统计图的时候需要借助组件来完成例如mschart,aspchart等但是这个类不需要任何组件,而且使用方便,本站测试可用:clsG
  • 在SQL Server中,提供了通过Exchange或Outlook收发邮件的扩展存储过程。下面简单地介绍一下:一、启动SQL Mail:x
  • SQL Server 2000使得以XML导出数据变得更加简单,但在SQL Server 2000中导入XML数据并对其进行处理则有些麻烦。
  • 后台数据库: [Microsoft Access] 与 [Microsoft Sql Server] 更换之后,ASP代码应注意要修改的一些
  • 在windows+iis服务器上运行asp程序可能会出现数据库无法更新的情况,具体错误信息可能为: 1、Microsoft JET Data
  • asp如何实现当前月份距离以前某个时间的月份数 如今天是2011年1月份,我想知道离2010年3月,计算这中间一共是几个月 最佳答案 <
  • 是的,这仅仅是一个PPT文档,由Anna Debenham上传至slideshare。幻灯片的标题叫做《CSS nuggets》,嗯,很好的
  • 总经一下前段时间用于的jQuery方法:find及children。需要的朋友可以参考下。首先看看英文解释吧: children方法:fin
  • 开放源代码社区为了扩展MySQL的使用范围,开发出了.Net框架(.NET Framework)中可以使用的数据库连接器。我们就来学习一下如
  • 原来的程序是使用sqlite这个嵌入式数据库作为Remit(code name)的数据源的,因为NHibernate支持这个,然而有一点不好
  • 前不久网上公开了一个MySQL Func的漏洞,讲的是使用MySQL创建一个自定义的函数,然后通过这个函数来攻击服务器。最早看到相关的报道是
  • global 属性返回 Boolean 值,指出正则表达式使用的global 标志 (g) 的状态。默认值为 false。只读。rgExp.
  •    <!--  -----------[test]表生成脚本---------------
  • mssql 的正式名字是 SQL Server MS公司出的。图形操作界面好一些,性能还可以。在在mssql和oracle上不能互换.支持O
  • 内容摘要:MySQL易学易用,附带丰富的技术文档,这两个因素使之被广泛应用。然而,随着MySQL发展加快,即使一个MySQL老手有时也会为该
手机版 网络编程 asp之家 www.aspxhome.com