将数据保护密钥保留到天蓝色的Blob存储(新密钥被保留)之后,无法解密旧数据(已加密)

时间:2018-07-24 14:14:00

标签: azure encryption .net-core data-protection

我有一个.NET Core应用程序,并且我的某些数据使用数据保护密钥(例如K1)进行了加密。

但是在多服务器实例场景中,我遇到了一个问题,因为实例的每个运行时都会生成单独的加密密钥,因此实例无法解密彼此的数据。

因此,我找到了以下解决方案,将加密密钥存储到azure blob存储中,并使所有实例使用同一密钥。

services.AddDataProtection()
        .SetApplicationName(applicationName)
        .PersistKeysToAzureBlobStorage(container, blobName)

;

  

但是在添加上面的代码之后,一个新的加密密钥(例如,用K2代替)   K1)被存储在Blob存储中。

因此,未使用密钥K1加密的旧数据不会被解密。

我是否可以找到一种解决方案来保留旧密钥或更好的密钥旋转技术而又不丢失已经加密的数据?

0 个答案:

没有答案