【问题标题】:How to Use TDE (Transparent Data Encryption) to encrypt the column values of table SQL如何使用 TDE(透明数据加密)加密表 SQL 的列值
【发布时间】:2016-05-30 09:51:16
【问题描述】:

我浏览了这个链接:https://msdn.microsoft.com/en-us/library/bb934049(v=sql.110).aspx 是这样吗,它只加密数据库,表里面的列呢。

我使用了语法

    USE master;
    GO
     CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<UseStrongPasswordHere>';
     go
      CREATE CERTIFICATE MyServerCert WITH SUBJECT = 'My DEK Certificate';
      go
       USE AdventureWorks2012;
       GO
        CREATE DATABASE ENCRYPTION KEY
        WITH ALGORITHM = AES_128
        ENCRYPTION BY SERVER CERTIFICATE MyServerCert;
        GO
         ALTER DATABASE AdventureWorks2012
         SET ENCRYPTION ON;
         GO

但我可以看到该列如何使用 TDE 加密列

我是 TDE 新手,请帮帮我。

【问题讨论】:

    标签: sql encryption sql-server-2012 tde


    【解决方案1】:

    TDE 是一种加密类型,用于加密数据库的数据和日志文件。如果有人设法窃取了您的备份文件,他们将无法在没有存储在主数据库中的称为 DEK 的数据库加密密钥的情况下对其进行解密。即使您想要恢复 TDE 加密数据库的备份,您也必须在目标数据库中拥有相同的 DEK。启用 TDE 还会加密您的 tempdb。

    如需更清晰的理解,请参阅 Microsoft 的联机丛书,也可以使用 TechNet 中的以下内容。 Transparent Data Encryption (TDE)

    在任何系统上启用之前,请务必阅读更多内容并了解其效果、优点和缺点。

    【讨论】:

    • 您好,感谢您的回复,一个小问题,如果我尝试查看表中的数据,它将被加密还是显示为正常值。无论插入到表中...
    • 表格中的数据将显示为正常值。您将看到表级别的数据没有差异。
    【解决方案2】:

    TDE 是透明数据加密,即它不会影响连接的用户和应用程序所感知的数据库。它所做的是在将数据保存到磁盘之前对其进行加密,并在将其读回工作集时对其进行解密。

    如果您想按列加密数据,您可以查看名为 Always Encrypted 的 SQL Server 功能(仅适用于 v2016 及更高版本)或 CryptDB(研究项目,仅适用于 MySQL)或 Prisma/DB 等外部解决方案。它们提供按列加密,并且也与 TDE 兼容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-04
      • 1970-01-01
      • 1970-01-01
      • 2011-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-06
      相关资源
      最近更新 更多