微软SQL数据库加密功能使用案例

  • 泰雷兹中国区总代理


    Thales Platinum Partner 泰雷兹白金合作伙伴

  • 安策数据加密保护-微软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审计跟踪。
     通过从应用服务器卸载加密操作,显著提高了性能。


    来源:SafePloy安策、James | 关键词:数据库安全  SQL加密  微软SQL安全  Azure数据安全   | 受欢迎指数(

与我们一起实践过安全的企业代表