我正在考虑在桌面应用程序中使用 Amazon S3 和 simpleDB。
我遇到的主要问题是我要么需要将我的 aws 凭据存储在应用程序中,要么使用其他一些方案。
我猜想将它们存储在应用程序中是不可能的,因为它们很容易被挑选出来。
另一种选择是创建一个创建 aws 身份验证签名的 Web 服务,但这有其自身的问题。签名是否需要上传文件中的所有数据?如果是这样,我将不得不将所有数据传输两次。然后会有一个中心故障点,这是使用 aws 的主要原因之一。
有任何想法吗?
更新:
我需要更清楚一点,我想将我的 aws 凭据存储在分发给其他人的应用程序中。DPAPI 或任何其他加密只会阻止人们简单地使用反射器来获取凭据。使用任何加密仍然需要易于获取的密钥。
更新 2 - 2011 年 9 月
亚马逊已经发布了一些关于使用 AWS Security Token Service 的详细信息,该服务允许在不泄露您的密钥的情况下进行身份验证。此博客文章提供了更多详细信息。