【发布时间】:2012-09-12 20:35:22
【问题描述】:
我正在尝试创建私人播客供稿。我服务的每个用户都有一个帐户,根据他们支付的费用,他们将收到不同的内容。有些内容很敏感,因此安全性相当重要;如果任何随附的音频文件在互联网上传播,这对我们的业务来说可能是灾难性的。
我目前正在对服务进行原型设计,并且 MP3 存储在 S3 上并且它们不安全。是时候保护他们了。根据我的研究,我了解到,事实上,我可以保护 S3 上具有访问到期期限的文件。但是,因为我有很多用户,所以用我的“全局”密钥签署请求并过期可能不是一个好主意,因为
- 如果我需要撤销访问权限,我需要为所有人执行此操作
- 由于我不知道他们的 podcatcher 何时会请求该文件,所以我不知道何时设置到期时间。有时,podcatcher 会下载提要 XML,但只是稍后才会获取 MP3 文件,因此 URL 可能会在客户端有机会获取它们之前过期(我正在考虑 iTunes,但可能还有其他)。
在我看来,我有两个选择,但我不确定其中一个是否可行:
编辑 我想,另一种可能的方式是在 S3 上将role my own security, and simply redirect 转换为具有短暂有效期的 MP3,如果用户愿意的话。这似乎是最明智的。
- 我可以在 Amazon 上为我的所有用户创建用户帐户,并将它们链接到我数据库中的 Amazon 令牌。每个人的 MP3 网址都使用他们的秘密令牌进行签名,并且从现在起很长时间内到期。我不喜欢将他们的令牌存储在我的数据库中的想法,而且我不确定 Amazon ACL 是否是为这种情况而设计的。这也意味着如果您知道 URL,文件仍然可以共享。
- 我可以通过我的服务器代理每个请求。这意味着我只有一个亚马逊账户,并且我可以使用自己的安全系统。但是通过我的服务器代理每个 MP3 下载听起来很慢、很浪费而且很昂贵。
关于最佳方式的任何想法。
附:我没有和S3结婚。可以考虑其他解决方案。我在 Heroku 上使用 Ruby,以防万一。
【问题讨论】:
-
您信任所有客户吗?如果没有,你将如何阻止他们泄露文件,如果只是通过analog hole?如果即使是少量的盗版真的会导致您的业务发生灾难性的失败,您可能需要重新考虑您的业务模式。
-
我在很大程度上信任我的客户。使用任何方案,他们都可以轻松共享用户名和密码,从而共享音频。如果他们这样做了,我们可以检测到它并取消他们的帐户。如果他们可以永久且不可撤销地以数字方式共享对我们文件的访问权限,那将是灾难性的。然后,人们就没有理由付费了。
-
于是他们下载了 MP3 文件,播放,录制回来,然后将录制内容发布到文件共享站点。灾难?或者,如果他们可以不可撤销地共享对所有未来播客的访问权,这只是一个问题吗?
-
在那种情况下我不会称之为灾难。我对此感到高兴吗?当然不。但我愿意冒险而不是在音频文件上摆弄 DRM,而且我想不出另一种方法。您成功了:未来播客才是真正的问题。
标签: security rss amazon-s3 itunes podcast