【问题标题】:SQL Symmetric Key Encryption AlternativeSQL 对称密钥加密替代方案
【发布时间】:2017-09-04 22:58:25
【问题描述】:

我正在寻找对称密钥加密的替代方法,以便将敏感数据保存在 Microsoft SQL 数据库中。原因是几天前我在夜间(凌晨 3 点)出现错误,数据库响应了我的状态调用,该调用用于后端的健康检查,但出现错误

当前命令发生严重错误。结果(如果有)应丢弃。

(我用于健康检查的调用只是调用我的 rest api - 通过 Web 服务访问数据库,执行 select count(*) from Member 并返回计数。)

在该错误之后,每个使用数据库中敏感数据的 api 调用都会返回

在执行此操作之前,请在数据库中创建主密钥或在会话中打开主密钥。

我的监控服务说后端在 2 分钟后自动重新启动,但主密钥不再工作。我用以下命令修复了它

open master key decryption by password = 'password' alter master key add encryption by service master key

之后的早上,但与此同时后端无法正常工作。所以故障转移并没有真正完成它的工作(因为我必须手动做一些事情才能让一切恢复正常)。

所以我试图实现在数据库中轻松存储敏感数据(必须能够再次解密)并进行有效的故障转移,而无需手动执行任何操作。

感谢您的意见!

【问题讨论】:

    标签: sql-server failover encryption-symmetric


    【解决方案1】:

    我认为我正在阅读的是您正在使用某种 HA 技术(例如可用性组)。如果是这种情况,则需要注意确保拓扑的双方都可以打开数据库主密钥。

    幸运的是,这很容易做到。您可以备份和恢复服务主密钥 (SMK)。因此,您将从辅助节点备份 SMK 并将其还原到主节点。 SQL Server 将解密当前使用旧密钥加密的所有内容,并使用新密钥重新加密。

    【讨论】:

    • 感谢您的回答!如果在发生严重错误的情况下将 db server A 替换为 db server B,这是否可以由 sql server 自动完成?我不想在凌晨 3 点手动执行此操作 - 故障转移应该自动运行,无需任何人工干预。 (ps:我正在使用来自 aws 的多 az 数据库)
    • 这是您在故障转移之前做好的事情,并且无需您手动打开 DMK 即可允许故障转移工作。简而言之:是的! ?
    • 当然,但我不太清楚如何实现这一点。 AWS 将数据库镜像到另一个可用区中的第二个数据库,并在出现严重错误时自动将主数据库替换为镜像数据库。所以 AWS 为我完成了这项工作。如果可能,我每次尝试使用 SMK 时都必须检查,如果没有,我必须恢复它?
    • 哦……我对 Amazon RDS 没有任何个人经验。不过据我所知,他们在后端使用数据库镜像来提供 HA。您是否有权访问镜像辅助服务器?如果是这样,您将从那里复制 SMK 并将其还原到您的主节点。我不知道他们在服务器级别给了你多少控制权(作为托管服务)。
    • 该评论说 数据库 不可读取。但是,您正在寻找的是服务器级对象。就像您希望登录能够在 HA 故障转移中无缝工作一样,我希望它能够正常工作。如果不出意外,这可能是您可以接受亚马逊支持的东西,因为“这应该可行”。
    猜你喜欢
    • 2010-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-30
    相关资源
    最近更新 更多