zoukankan      html  css  js  c++  java
  • SQL Server 证书和对称性密钥的复制

    老板又有命令了,要求我们的数据库进行加密,有把这个任务交给了数据库,没有办法,数据库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];

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

    image

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

  • 相关阅读:
    POS门店数据同步系统建模(1)
    Json Formatter 1.0 Json格式化工具
    XLSReadWriteII 使用
    POS门店数据同步系统建模(2)
    内存泄漏superobject
    使用电脑查看android手机的短信与修改cmd窗口编码
    wordpress站点修改站点地址引起的图片地址修改
    系统子模块_EM310初始化子系统流程图
    mark
    系统子模块_短信命令语法设计
  • 原文地址:https://www.cnblogs.com/andrewgao/p/2836047.html
Copyright © 2011-2022 走看看