【问题标题】:Access secure information from a backend server using Android使用 Android 从后端服务器访问安全信息
【发布时间】:2015-07-10 03:53:59
【问题描述】:

我正在制作一个琐事 android 应用程序,并且我的服务器上存储了问题和答案数据库。在我的应用程序中,用户输入他/她的用户名和密码,然后将其发送到 servlet,然后由数据库对其进行身份验证。如果身份验证成功,特定用户的用户信息将被下载并存储在 SharedPreferences 中。在用户信息中,有一个用户密钥,用于再次访问服务器更新用户信息,并从数据库中获取问题和答案等其他值。但是,这不是很安全,因为任何攻击者都可以创建帐户、登录并找到用户密钥并使用它来获取琐事答案。我应该在我的服务器中使用密钥库还是令牌系统来验证对数据库的请求。我该怎么做?感谢您的帮助!

【问题讨论】:

    标签: android mysql security access-token android-keystore


    【解决方案1】:

    您可以在将密钥放入共享首选项之前对其进行加密,然后在每次将其发送到您的服务器之前对其进行解密......并不是说有人无法对您的应用进行逆向工程以查看您的算法并找出真正的钥匙。但话又说回来,人们真的会尝试在琐事上作弊吗?

    【讨论】:

    • 你会感到惊讶,有人在 ProgressQuest 作弊。
    【解决方案2】:

    最安全的方法是不发送答案。将用户的答案发送给服务器,让服务器检查答案并返回对错。

    【讨论】:

    • 我有一个访问密钥,它允许我访问服务器。我应该在哪里存储这个密钥,以及如何存储?
    【解决方案3】:

    使用 PGP 加密。使用 android 中的公钥加密用户/密码,然后使用服务器中的私钥对其进行解密。 mcrypt 或 openssl 可以为您做到这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-30
      相关资源
      最近更新 更多