3

我一直在使用 AWS(亚马逊网络服务),尤其是 simpleDB,用于一些使用 iOS/android 客户端库的智能手机应用程序。

到目前为止,数据非常良性,所以我并没有太担心数据保护。

我的下一个应用项目将需要一个包含用户名和密码的“用户”表/域。

我担心的是有人对应用程序的 Android java 版本进行了逆向工程,然后很容易得到所有的 simpleDB 数据,包括所有的密码。

基本的 TVM 东西(令牌自动售货机,其中一个临时令牌替换了不在代码中的 AWS 凭证)似乎并不能防止这种情况,所以很高兴听到人们认为推荐的方法来做使用 AWS 登录应用程序的一部分,而不会完全不安全。

将密码表存储在其他地方/以不同的方式访问?

任何评论表示赞赏,非常感谢。

4

1 回答 1

4

我可以向您建议两种方法来保护您的应用程序 -

第一种方法:

您可以将 AWS 密钥保存在应用程序中的文件中,该文件将使用私有密钥进行加密。在启动时,您的代码将使用公钥读取该文件,并且只能获取您的 AWS 密钥。请记住此方法中的以下几点 -

  1. 您的代码必须经过混淆处理。
  2. 您的密钥必须以加密形式保存到文件中,这样您才能获得双重保护。
  3. 您的文件必须经过数字签名。

第二种方法:

您还可以创建自己的网站来管理您的用户身份验证,如果用户成功通过身份验证,它将在用私钥加密后发送 AWS 密钥,在他对应用程序的响应中,您的应用程序将在解密后使用该 AWS 密钥它与公钥。请记住此方法中的以下几点 - 1. 您的回复必须以加密形式返回。2. 您的站点必须是安全的,并且必须在 HTTPS 上运行。3. 您的代码必须经过混淆处理。

于 2012-10-11T06:40:26.560 回答