【问题标题】:Best way to store AES keys in .net C# while dealing with multi tenants (key per tenant)在处理多租户时将 AES 密钥存储在 .net C# 中的最佳方式(每个租户的密钥)
【发布时间】:2018-04-08 18:18:57
【问题描述】:

我的数据库中有一些有价值的数据,我想加密并仅在需要时才解密。由于我正在与多租户打交道,因此每个数据库都有不同的密钥(和 IV)。我正在尝试找出存储 AES 密钥的最佳方式。

另外一个小问题,我是否也应该存储 IV?或者我想解密时可以生成一个新的?

【问题讨论】:

  • IV 必须相同才能解密。不要重复使用 IV!

标签: c# security asp.net-web-api2 aes multi-tenant


【解决方案1】:

恕我直言,从安全角度和避免内存或数据库中的敏感数据,我建议您切换到 Azure Key Vault。当您提交代码以进行安全测试(例如使用 VeraCode)时,这些更突出的会出现。如果这是一个发现,代码更改会更多,并且需要更大的努力。

在这种情况下,您可以为每个租户配置一个安全的保管库,以便证书是安全的,并且没有任何安全密钥是不安全的。

此外,我们没有关于您如何管理租约的更多信息,因为上述实施将需要调整处理您的场景的逻辑。

如果每个租户都有一个数据库,Azure 默认包括根据以下文章的静态加密。 https://azure.microsoft.com/en-in/updates/newly-created-azure-sql-databases-encrypted-by-default/

此外,该链接可能很有用。 Encrypting data in SQL Server Azure database with separate key for each user's data

【讨论】:

    猜你喜欢
    • 2011-06-25
    • 2016-11-10
    • 1970-01-01
    • 2014-10-13
    • 1970-01-01
    • 1970-01-01
    • 2021-08-06
    • 2011-04-16
    • 1970-01-01
    相关资源
    最近更新 更多