快捷搜索:

SQL Server 2008中的代码安全(四):主密钥

在SQL Server中的加密由层次布局形式进行处置惩罚以供给多级其余安然。SQL Server包孕两个用于加密数据的密钥类型。如下图:

1、办事器主密钥(Service Master Key),位于层次布局的最顶端,并且在安装SQL Server时自动创建,用于加密系统数据、链接的办事器登录名以及数据库主密钥。在第一次经由过程SQL Server应用办事主密钥来加密证书、数据库主密钥或链接的办事器主密码时,办事主密钥会自动天生,并且应用SQL Server办事账户的Windows证书来天生它。假如必须改变SQL Server办事账号,微软建议应用SQL Server设置设置设备摆设摆设治理器,由于这个对象将履行天生新办事主密钥必要的相宜的解密和加密措施,而且可以使加密层次布局维持完备。办事主密钥也用于加密其下的数据库主密钥。

2、数据库主密钥(Database Master Key),用于加密证书,以及非对称密钥和对称密钥。所稀有据库都可以只包孕一个数据库主密钥,在创建它时,经由过程办事主密钥对其加密。创建非对称密钥时,可以抉择在加密非对称密钥对应的私钥是否包孕密码。假如示包孕密码,将应用数据库主密钥来加密私钥。

我们看一组例子:

示例一、备份及还原办事主密钥

用到以下两个sql敕令:

BACKUP SERVICE MASTER KEY导出办事主密钥。(http://msdn.microsoft.com/zh-cn/library/ms190337.aspx)

RESTORE SERVICE MASTER KEY从备份文件中导入办事主密钥。(http://msdn.microsoft.com/zh-cn/library/ms187972.aspx)

--以下语句备份办事主密钥到C:\SqlBackup\SMK.bak

BACKUP SERVICE MASTER KEY

TO FILE = 'C:\SqlBackup\SMK.bak'

ENCRYPTION BY PASSWORD = 'MakeItAGoodOne!1AB'----留意该密码可以应用单引号

go

--规复办事主密钥

RESTORE SERVICE MASTER KEY

FROM FILE = 'H:\SqlBackup\SMK.bak'

DECRYPTION BY PASSWORD = 'MakeItAGoodOne!1AB'

go

您可能还会对下面的文章感兴趣: