Security Azure Blob存储在Microsoft中时是否加密?

Security Azure Blob存储在Microsoft中时是否加密?,security,azure,azure-storage-blobs,azure-web-app-service,Security,Azure,Azure Storage Blobs,Azure Web App Service,我正在开发一个在Azure Blob存储中存储文本的站点。文本可能是敏感的(不一定是密码,而是个人信息)。我正在尝试决定是否在将文本存储在Azure Blob存储中之前对其进行加密。我的理解是,如果Azure密钥和帐户名泄露,恶意用户下载blob,这可以降低暴露数据的风险。我的问题是: Azure Blob在Microsoft的磁盘上登陆时是否已经加密?帐户密钥是用作加密密钥,还是仅用作访问令牌 如果我在Azure网站中使用.NET AES算法执行此操作,我应该将用于生成密钥的加密密钥或密码短

我正在开发一个在Azure Blob存储中存储文本的站点。文本可能是敏感的(不一定是密码,而是个人信息)。我正在尝试决定是否在将文本存储在Azure Blob存储中之前对其进行加密。我的理解是,如果Azure密钥和帐户名泄露,恶意用户下载blob,这可以降低暴露数据的风险。我的问题是:

  • Azure Blob在Microsoft的磁盘上登陆时是否已经加密?帐户密钥是用作加密密钥,还是仅用作访问令牌
  • 如果我在Azure网站中使用.NET AES算法执行此操作,我应该将用于生成密钥的加密密钥或密码短语/salt存储在哪里?(即web.config是一个合适的地方吗?)

    • Blob内容未加密;这一步完全取决于你。Blob访问由访问密钥严格控制(有两个密钥:主密钥和辅助密钥,两者工作相同)。以下是我的想法:

      • 如果存储访问仅限于应用层(也就是说,密钥永远不会暴露在应用层之外),则风险相当低(与将密钥嵌入桌面或移动应用,或与在线存储浏览器服务一起使用相比)。有人可能需要以某种方式偷取您的密钥(比如偷源/配置文件)。您提到使用不提供RDP访问的网站,进一步保护您运行的代码
      • 如果不知何故,您的密钥被泄露,您可以通过生成一个新密钥使密钥无效。这会立即切断任何持有旧钥匙的人的访问。一般来说,当我使用外部工具(如大脑数据工具)时,我总是使用我的备用键,为我的应用程序保留主键。这样,我可以随时使我的备用密钥失效,防止这些工具访问我的存储,但不会干扰我正在运行的应用程序
      • 如果需要向客户公开特定的blob,有两种方法。首先,您可以将blob下载到web服务器,然后向下流式传输内容。第二:您可以为特定blob生成共享访问签名(SAS),然后将结果URI提供给用户(例如,作为
        href


        该服务适用于标准和高级存储帐户中的Blob。更多详细信息请参见。

        David的回答很贴切,但对于那些希望实际实现海报中提到的加密的人来说,我已经将一些示例和库放在了一起。

        +1上传/下载时即时加密有什么缺点吗从blob存储加载?例如,传输时间更长?我们可能应该更新此答案,以包括新的Azure存储服务加密功能,这些功能在发布时不可用。因为此答案现在已经非常过时(即使在预览中有关于加密的更新),是否应该重新编写整个答案?此线程在谷歌搜索中排名很高,许多人仍然会在这里登陆。它应该包括有关信息,例如默认情况下启用了rest加密,您也可以在这些天使用自己的密钥(BYOK)