【发布时间】:2018-08-07 01:42:06
【问题描述】:
SQL Server 与可扩展密钥管理 (EKM) 一起提供数据加密功能,使用 Microsoft Cryptographic API (MSCAPI) 提供程序进行加密和密钥生成。
这是否意味着 EKM 仅适用于 MSCAPI(旧 CSP)而不适用于新的 CNG 密钥存储提供程序?
【问题讨论】:
标签: sql-server cryptography cng tde mscapi
SQL Server 与可扩展密钥管理 (EKM) 一起提供数据加密功能,使用 Microsoft Cryptographic API (MSCAPI) 提供程序进行加密和密钥生成。
这是否意味着 EKM 仅适用于 MSCAPI(旧 CSP)而不适用于新的 CNG 密钥存储提供程序?
【问题讨论】:
标签: sql-server cryptography cng tde mscapi
是的,目前EKM (Extensible Key Management) 仅适用于MSCAPI。 EKM 没有任何 API 可以与 CNG 通信(操作系统级别 - 尚未)。
它是钥匙的“持有者”。 CNG 是服务于 MS Windows 的密钥存储,默认从 Windows Server 2008 和 Windows Vista 开始。
CNG (DPAPI [CNG DPAPI][1] 仅用于保护数据库主密钥 (OS)。 EKM 不用。
如果您检查 CNG 架构,它会明确表示它正在使用 Microsoft software KSP 进行(私有)密钥存储。
引用:
CNG 目前支持通过以下方式存储非对称私钥 使用 Windows Server 附带的 Microsoft 软件 KSP 2008 和 Windows Vista 并默认安装。
即使是 CNG 架构图也没有提到 SQL Server 的可能性:
更多请看 Key Storage and Retrieval
注意:所有插图均由 Microsoft 创作。
【讨论】: