位置: 编程技术 - 正文
1、服务器主密钥(Service Master Key),位于层次结构的最顶端,并且在安装SQL Server时自动创建,用于加密系统数据、链接的服务器登录名以及数据库主密钥。在第一次通过SQL Server使用服务主密钥来加密证书、数据库主密钥或链接的服务器主密码时,服务主密钥会自动生成,并且使用SQL Server服务账户的Windows证书来生成它。如果必须改变SQL Server服务账号,微软建议使用SQL Server配置管理器,因为这个工具将执行生成新服务主密钥需要的合适的解密和加密方法,而且可以使加密层次结构保持完整。服务主密钥也用于加密其下的数据库主密钥。
2、数据库主密钥(Database Master Key),用于加密证书,以及非对称密钥和对称密钥。所有数据库都可以只包含一个数据库主密钥,在创建它时,通过服务主密钥对其加密。创建非对称密钥时,可以决定在加密非对称密钥对应的私钥是否包含密码。如果示包含密码,将使用数据库主密钥来加密私钥。
我们看一组例子:
示例一、备份及还原服务主密钥
用到以下两个sql命令:
BACKUP SERVICE MASTER KEY 导出服务主密钥。( SERVICE MASTER KEY从备份文件中导入服务主密钥。(
--The old and new master keys are identical. No data re-encryption is required.
示例二、创建、再生成和删除数据库主密钥
用到以下两个sql命令:
CREATE MASTER KEY 创建数据库主密钥( MASTER KEY 重新生成数据库主密钥( MASTER KEY 删除数据库主密钥(
同时一旦创建数据库主密钥,就立刻备份它是一个好的习惯。
示例三、备份、恢复一个数据库主密钥
语法:
BACKUP MASTER KEY导出服务主密钥。( MASTER KEY从备份文件中导入数据库主密钥。( old and new master keys are identical. No data re-encryption is required.
示例三、从数据库主密钥删除服务主密钥
当一个数据库主密钥被创建时,它被默认使用两种方式加密:服务主密钥和被使用CREATE MASTER KEY 命令中使用的密码。如果你不想使用服务主密码加密数据库主密钥(这种情况下,拥有sysadmin特权的login在不知道数据库主密钥的前提下将不能访问加密数据),你可以使用ALTER MASTER KEY 命令删除服务主密钥。
简略语法如下:
ALTER MASTER KEY
ADD ENCRYPTION BY SERVICE MASTER KEY |
DROP ENCRYPTION BY SERVICE MASTER KEY
由于服务主密钥允许拥有足够许可(如sysadmin)的用户自动使用数据库主密钥解密,因此,一旦删除了服务主密钥的加密,而再想修改数据库主密钥时,你必须使用一个新的命令访问它。OPEN MASTER KEY, 语法如下:
OPEN MASTER KEY DECRYPTION BY PASSWORD = 'password'
下面是一个例子:
小结:
1、本文主要介绍服务主密钥的备份与还原,数据库的主密钥的创建、重新生成、删除和备份、还原。
2、一旦创建主密钥,立刻备份它是一个很好的习惯。
下文将主要介绍非对称密钥加密(Asymmetric Key Encryption)
邀月推荐整理分享SQLServer 2008中的代码安全(四) 主密钥(sql server 2008使用),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:sql server 2008,sql server 2008语句大全,sqlserver2008介绍,sqlserver2008介绍,sql server 2008使用说明,sql server 2008使用,sql server 2008使用说明,sql server 2008使用,内容如对您有帮助,希望把文章链接给更多的朋友!
SQLServer 中的代码安全(五) 非对称密钥加密 非对称密钥包含数据库级的内部公钥和私钥,它可以用来加密和解密SQLServer数据库中的数据,它可以从外部文件或程序集中导入,也可以在SQLServer数据
SQL Server 中的代码安全(六) 对称密钥加密 证书和非对称密钥使用数据库级的内部公钥加密数据,并且使用数据库级内部私钥解密数据。而对称密钥相对简单,它们包含一个同时用来加密和解密
SQLServer 中的代码安全(七) 证书加密 证书同时包含公钥和密钥,前者用来加密,后者解密。SQLServer可以生成它自己的证书,也可以从外部文件或程序集载入。因为可以备份然后从文件中载
上一篇:SQL Server 2008中的代码安全(三) 通过PassPhrase加密(sql server 2008使用教程)
下一篇:SQLServer 2008中的代码安全(五) 非对称密钥加密(sql server 2008有什么用)
友情链接: 武汉网站建设