【问题标题】:Can Microsoft.WindowsAzure.Storage be FIPS 140-2 compliantMicrosoft.WindowsAzure.Storage 是否符合 FIPS 140-2
【发布时间】:2021-04-27 07:43:00
【问题描述】:

我们当前的代码使用的是 Microsoft.WindowsAzure.Storage 版本 9.3.2。我已经开始测试在强制执行 FIPS 合规性的 Windows 笔记本电脑上运行我们的 Web 应用程序。该应用程序每次尝试从 Azure 上传或下载 blob 时都会引发 FIPS 合规性错误,并指出不允许使用加密方法。一段抛出错误的代码如下所示:

var cloudResolver = new KeyVaultKeyResolver(<auth callback object>);
var encryptionThingy = await cloudResolver.ResolveKeyAsync(<Key Vault URL> + "/keys/" + <key name>, CancellationToken.None);
var policy = new BlobEncryptionPolicy(rsa, cloudResolver);
var options = new BlobRequestOptions() { EncryptionPolicy = policy };
await <ICloudBlob Instance>.DownloadToStreamAsync(<stream>, null, options, null);

我进入 Azure KeyVault 并检查了正在使用的密钥,它是 2048 位 RSA(应该是允许的)。这足以满足 FIPS 合规性,还是我还必须打开到期/展期日期?目前密钥没有过期,所有操作都可以在上面进行。

【问题讨论】:

  • 你试过谷歌搜索吗?我发现的第二个链接(这是第一个)是docs.microsoft.com/en-us/azure/storage/common/…,上面写着“Azure 存储中的数据使用 256 位 AES 加密透明地加密和解密,这是可用的最强分组密码之一,并且符合 FIPS 140-2 。”所以你的问题的答案是是的。明显的后续是如何让它工作?那个,我不知道
  • 是的,我知道 MS 文档是这么说的。但根据我的经验,MS 文档有时比营销材料好不了多少。也许这个标题需要更改。
  • 我的经历不同。我在他们的支持组织工作了十几年,做高端开发者支持;我依靠他们的公开文件。您可能需要问一个单独的问题,关于如何使其协同工作。 IIRC,让 FIPS 加密工作需要在两端对齐所有内容。示例:(再次从记忆中)不可能有结合 Windows XP 和 Vista FIPS 兼容的配置;每个操作系统认证的算法之间没有重叠
  • 好吧,如果我们要为此争论,我们必须去 FB 或 Reddit ;)

标签: c# encryption azure-blob-storage fips


【解决方案1】:

我认为这个问题的答案是否定的。我已经测试过使用 v12 的 Azure.Storage.Blobs (How do you decrypt blobs with Azure KeyVault keys in Azure.Storage v12) 重写 Blob 访问,并且在使用较旧的库会引发错误时它可以正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多