【问题标题】:Most secure solution to upload to S3 via mobile app通过移动应用上传到 S3 的最安全解决方案
【发布时间】:2013-03-26 09:21:05
【问题描述】:

我需要通过移动应用程序在 AWS S3 上上传文件。我找到了 2 个解决方案来处理它。 两种解决方案都有效,但我没有足够的能力来确定最安全的解决方案。

  1. 使用由 Secure Token Service (STS) Amazon Web Services 提供的临时凭证

    1. 我的服务器使用 AWS 账户 access_key_id 和 secret_access_key 请求 STS 的临时凭证(权限受限)
    2. 然后我的服务器将临时凭据(access_key_id、secret_access_key 和 session_token)发送到移动应用程序
    3. 移动应用使用具有特定请求签名的临时凭证在 S3 上发送文件(在移动端计算)

  2. 使用永久凭证(AWS 账户 access_key_id 和 secret_access_key)

    1. 我的服务器直接创建请求签名(使用 AWS 账户 access_key_id 和 secret_access_key)并将请求“元素/结构”(包括生成的签名、所需的标头...)发送到移动应用程序
    2. 移动应用使用带有服务器提供的签名的“元素”在 S3 上发送文件

第二种解决方案更简单。但该解决方案似乎不太安全: 账户 access_key_id 被暴露,直接用账户 secret_access_key 生成签名。 用于生成签名的摘要算法是 HMAC-SHA1。够安全吗?

第二种解决方案公开临时凭据并过期:公开有限凭据更安全。如果 HMAC-SHA1 算法足够安全,无法检索到 secret_access_key,我不明白我为什么会选择这个解决方案。

感谢您的意见

【问题讨论】:

    标签: amazon-web-services amazon-s3


    【解决方案1】:

    您的临时解决方案本质上是Token Vending Machine。这是我们推荐的将凭证获取到设备上以与我们的 AWS 移动开发工具包一起使用的方法。发送临时凭证的内在好处是它们可用于访问 S3 以外的其他服务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-08
      • 2016-05-13
      • 1970-01-01
      • 2020-02-19
      • 1970-01-01
      • 1970-01-01
      • 2013-09-12
      • 1970-01-01
      相关资源
      最近更新 更多