2

我浏览了这个链接: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 新手,请帮帮我。

4

2 回答 2

1

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

如需更清晰的理解,请参阅 Microsoft 的联机丛书,也可以使用 TechNet 中的以下内容。透明数据加密 (TDE)

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

于 2016-02-18T15:39:24.600 回答
0

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

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

于 2018-02-21T14:58:17.070 回答