探索场景用例
-
微软SQL始终加密用例
本文档描述了微软SQL数据库始终加密功能(Microsoft SQL Server Always Encrypted )可以集成硬件加密机(可以始终使用Luna HSM加密)的加密和密钥管理能力处理数据。
Luna HSM可以解决用于派生SQL Server和Azure SQL数据库中始终加密功能中使用的加密材料的加密算法和机制。
微软SQL数据库始终加密功能使用两种类型的密钥:列主密钥和列加密密钥。
列主密钥(CMK)是一种密钥加密密钥(例如,用于加密其他密钥的密钥),它始终在客户端的控制下,并存储在外部密钥存储设备中,如可以始终使用Luna HSM加密。
微软SQL数据库始终加密功能的客户端驱动程序通过CMK存储设备(luna HSM)提供程序与密钥存储交互,CMK存储设备(luna HSM)提供程序可以是驱动程序库(Microsoft/system提供程序)的一部分,也可以是客户端应用程序(自定义提供程序)的一部分。
微软SQL数据库始终加密功能的客户端驱动程序库目前包括用于Windows证书存储和硬件安全模块(Luna HSM)的Microsoft密钥存储提供的程序。有关提供程序的当前列表,请参阅创建列主密钥(Transact-SQL)。
列加密密钥(CEK)是受CMK保护的内容加密密钥(例如,用于保护数据的密钥)。
所有Microsoft CMK商店提供商都使用RSA和最佳非对称加密填充(RSA-OAEP)对CEK进行加密。支持Microsoft加密API的密钥存储提供商:Thales Luna Hsm。
始终使用Luna HSM加密可以支持微软SQL始终加密内部使用FIPS 140-2验证的加密模块。
微软SQL数据库始终加密功能(Microsoft SQL Server Always Encrypted),意味着所有数据都是加密状态;不仅在静默时,而且在运行过程中也一样。
重要的是:加密密钥本身对加密和解密都很重要——它们不存储在数据库中。
那些钥匙就在数据库身边的客户端。
当数据到达客户机时,可以在客户机上解密,因为拥有必要的钥匙。
同样,当插入或更新新数据时,数据会立即在应用服务器端的加密客户端,在数据离开应用服务器端端之前,一直到传输到数据库服务器的过程中保持加密,SQL Server最后将其存储到加密状态,无法对其进行解密。
微软SQL数据库始终加密功能是一种混合功能,所有加密和解密都只在应用服务器端进行。所以,将Luna HSMs与微软SQL数据库始终加密功能(Microsoft SQL Server Always Encrypted)配合使用可提供以下好处:
在FIPS 140-2 3级验证硬件上安全生成、存储和保护加密密钥。
密钥的全生命周期管理。
HSM审计跟踪。
通过从应用服务器卸载加密操作,显著提高了性能。