【问题标题】:How to protect the access key in Azure Storage/Service bus如何保护 Azure 存储/服务总线中的访问密钥
【发布时间】:2014-06-16 12:06:09
【问题描述】:

这个问题和我觉得有点类似:What is the use of Default Issuer and Default Key in Windows Azure Service Bus? Does the key need to be secured?

我有一个 PC 应用程序,我想在其中访问“Azure 存储表”和“Azure 服务总线主题”。两者都通过使用“访问密钥”进行访问。 (这是 Microsoft 设计的。)现在访问密钥嵌入在我的 .NET 代码中。 我估计反编译 .NET 程序集、提取访问密钥并获得对存储和服务总线命名空间的完全访问权限大约需要 5 分钟。 如果我想阻止用户完全访问我的数据,我该如何保护它?

  • 我可以构建一个非托管 dll 来代替 .NET 程序集吗?在这种情况下,需要 10 分钟才能中断。
  • 我可以使用自定义密码加密访问密钥并存储在磁盘或云中。在这种情况下,假设用户可以访问自定义密码,反编译和破解仍然需要大约 10 分钟。
  • 我可以为所有用户创建单独的存储帐户。这样,如果一个帐户(被用户)泄露,他将只能访问自己的帐户。但是,这可以防止诸如“共享系统数据”之类的概念。而且我不确定我是否有无限数量的存储帐户。 (现在我的门户中显示最多 20 个。)
  • 我可以混淆 .NET 程序集吗?不过,我非常不喜欢混淆 .NET 程序集。它通常会带来很多额外的问题。而且我猜您仍然可以通过内存调试器提取密钥。

您通常如何保护这种“系统帐户访问”?

【问题讨论】:

    标签: .net azure azureservicebus azure-storage


    【解决方案1】:

    有权访问存储帐户密钥的任何人都可以访问存储帐户上的任何操作。通常,您最好隔离网站或某种 API 后面的存储帐户。即使是生成 shared access keys 的简单服务,您的客户端应用程序随后使用它来执行操作也足够了......

    编辑:错过了有关服务总线的信息...您也可以在这里使用 SAS - http://msdn.microsoft.com/en-us/library/dn170478.aspx

    【讨论】:

    • 这看起来确实像我要找的东西。谢谢。
    猜你喜欢
    • 2017-10-30
    • 2019-02-05
    • 1970-01-01
    • 1970-01-01
    • 2019-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多