打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
SQL Server 证书和对称性密钥的复制
Posted on 2012-12-27 17:13 高老爷空间 阅读(540) 评论(0) 编辑 收藏

老板又有命令了,要求我们的数据库进行加密,有把这个任务交给了数据库,没有办法,数据库DBA的辛苦就在这里了,以前对数据库加密有一定了解,但是不深入,从设置栏位加密和TDE的步骤只会照抄MSDN或网络上的,通过两天的研究和学习,自认为有了比较深刻的认识。

关于栏位加密的可以参考微软的MSDN写的非常不错:http://msdn.microsoft.com/en-us/library/ms189586(v=sql.105).aspx

关于TDE加密的步骤可以参考:http://msdn.microsoft.com/en-us/library/bb934049(d=printer,v=sql.105).aspx

这里不多说了,我要说的是证书,对称性和非对称性密钥的本身:

 

  1. Service master key 和database master key 都是一种Symmetric key.
  2. 正常的情况下,证书/对称性密钥/非对称性密钥 每次生成的都不一样。即使命令相同。
  3. 对于非对称性密钥,密钥不可以备份或复制。创建好后永远一样。
  4. 对于证书,如果要想保证证书相同,我可以使用备份和恢复的方法使用证书的复制。

         --备份证书

BACKUP CERTIFICATE master_database_cert TO FILE = 'D:\master_database_cert_20121226.cer'

WITH PRIVATE KEY (

FILE = 'D:\master_Database_priv_201212261431.pvk' ,

ENCRYPTION BY PASSWORD = 'Gaupeng123' );

--恢复证书

CREATE CERTIFICATE master_server_cert

FROM FILE = 'D:\GWSZAPP03_Cert\master_database_cert_20121226.cer'

WITH PRIVATE KEY (FILE = 'D:\GWSZAPP03_Cert\master_Database_priv_201212261431.pvk',

DECRYPTION BY PASSWORD = 'Gaupeng123');

      5. 对于对称性密钥,设置其中的参数,也可以实现不同实体间的证书复制。

通过 KEY_SOURCE/IDENTITY_VALUE 参数来实现。

--建立对称性密钥

CREATE SYMMETRIC KEY [key_DataShare] WITH
KEY_SOURCE = 'My key generation bits. This is a shared secret!',
ALGORITHM = AES_256,
IDENTITY_VALUE = 'Key Identity generation bits. Also a shared secret'
ENCRYPTION BY CERTIFICATE [cert_keyProtection];
--在另外的数据库中生成对称性密钥

CREATE SYMMETRIC KEY [key_DataShare001] WITH
KEY_SOURCE = 'My key generation bits. This is a shared secret!',
ALGORITHM = AES_256,
IDENTITY_VALUE = 'Key Identity generation bits. Also a shared secret'
ENCRYPTION BY CERTIFICATE [cert_keyProtection001];

--一下是查询的结果,发现两个对称密钥相同。

以上是我仓促总结出来的,还希望大家多多指教。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
数据库加密安全
SQL 2005 数据库镜像
用MySQL创建数据库并导入数据库表
sql 证书密钥加密数据
SQL Server 2005 镜像构建说明
论数据安全
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服