【问题标题】:Always encrypted feature in SQL Server - how to protect certificate?SQL Server 中的始终加密功能 - 如何保护证书?
【发布时间】:2019-05-14 03:16:25
【问题描述】:

我在同一台计算机(Win server 2012 R2 Datacenter)上安装了一个基于 ASP.NET 和 SQL Server 2017 的 Web 应用程序。目标是保护数据库中的敏感数据,以防有人访问这台计算机.我使用 Always Encrypted 功能对包含敏感数据的列进行加密,并且相应的证书被存储到 \Certificates(Local Computer)\Personal\Certificates 位置。

有没有办法阻止(例如密码保护)活动的 Windows 用户访问此证书并将其导出?

【问题讨论】:

  • 由于获取未加密文本的应用程序与数据库位于同一台机器上,显然,如果该机器受到损害,您将无法获得任何有意义的保护。
  • 如果你害怕证书可以导出,不要让它可以导出。在服务器上导入时,请确保未选中 Make this key as exportable. 复选框(以防使用向导导入),或未指定 -Exportable(以防使用 Install-Certificate PowerShell cmdlet 导入)。跨度>

标签: sql-server always-encrypted database-security


【解决方案1】:

为了实现您的目标“保护数据库中的敏感数据以防有人访问此计算机”,您不应考虑将证书保存在同一台计算机(或)服务器中。

您需要将证书保存在 Centralized Key Stores 中,例如 Azure Key Vault

请看我的详细回答here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-06
    • 2019-01-01
    • 1970-01-01
    相关资源
    最近更新 更多