gpt4 book ai didi

security - 通过网络加密 Amazon S3 URL 以保护数据访问

转载 作者:行者123 更新时间:2023-12-01 01:12:27 25 4
gpt4 key购买 nike

我想在 Amazon S3 存储桶上托管受版权保护的数据(以获得比我的服务器可以处理的带宽更大的可用带宽),并为大量授权客户端提供对这些受版权保护数据的访问。

我的问题是:

  • 我在服务器端为这些资源创建了签名过期 HTTPS URL
  • 这些 URL 通过 HTTPS 连接发送给客户端
  • 当客户端使用这些 URL 下载内容时,任何中间人都可以清楚地看到 URL

  • 具体来说,URL 是使用雾 gem 通过 Ruby On Rails 服务器创建的。
    我所说的移动客户端是 iOS 设备。
    我用于测试的代理是 mitmproxy。

    我生成的 URL 如下所示:

    https://mybucket.s3.amazonaws.com/myFileKey?AWSAccessKeyId=AAA&Signature=BBB&Expires=CCC



    我不是网络或安全专家,但我发现资源表明 HTTPS 连接没有任何问题(例如,参见 Are HTTPS headers encrypted? )。是不是我的测试配置错误导致了这个清晰的 URL?关于这里可能出了什么问题的任何提示?我真的有机会阻止 S3 URL 通过网络清除吗?

    最佳答案

    所以首先,当通过 SSL 发送请求时,所有参数都被加密。如果您要查看通过普通代理的流量,您将无法读取它们。

    但是,许多代理允许通过创建虚拟证书来拦截 SSL 数据。这正是 mitmproxy 所做的。您很可能已启用此功能,但没有意识到(尽管您必须安装客户端证书才能执行此操作)。

    最重要的是,您的 AWS URL 很容易被希望对您的应用程序进行逆向工程的人拦截,无论是通过代理还是通过利用二进制文件本身。然而,这本身并不是一件“坏事”:亚马逊自己知道这种情况会发生,这就是为什么他们不直接在 URL 本身中发送 key ,而是使用签名。

    我不认为这对您来说是一个大问题:毕竟,您正在创建过期的 URL,因此即使有人可以通过代理获取它们,他们也只能访问该 URL这是有效的。要在到期后访问您的资源,需要直接访问您的 key 。现在,事实证明这并非不可能(因为您可能已经将其硬编码到您的二进制文件中),但它足够困难,大多数用户不会为此烦恼。

    我鼓励您对安全和版权保护保持现实:当您拥有客户端 native 代码时,问题不是它是否会损坏,而是何时损坏。

    关于security - 通过网络加密 Amazon S3 URL 以保护数据访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14581663/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com