【问题标题】:What is the most secure way to authorize an user in Android?在 Android 中授权用户最安全的方法是什么?
【发布时间】:2017-01-25 07:27:38
【问题描述】:

在我的应用程序中,用户使用网络服务登录,网络服务返回一个授权密钥。在那之后,用户提出的每个请求都使用此密钥完成。

我的问题是如何安全地存储这个密钥?我一直将它存储在 SharedPreferences 中,但这对我来说听起来不是很安全。

【问题讨论】:

    标签: java android security


    【解决方案1】:

    您是对的,使用共享偏好不是要遵循的方法。您应该将Android Keystore System 用于任何此类目的,这是首选方法。

    Android Keystore 系统可让您将加密密钥存储在容器中,以便更难以从设备中提取。一旦密钥在密钥库中,它们就可以用于加密操作,而密钥材料仍然不可导出。

    KeyStoreUsage.java 是同样的例子。

    【讨论】:

    【解决方案2】:
    1. 以明文形式存储

      使用明文意味着假设黑客可以物理访问手机,则无法保护用户的运行时数据。

    2. 使用对称密钥加密存储

      开发人员是一群乐于助人的人,他们经常将加密密钥放在容易找到的地方,例如 com.packagename.android.util.security。 使用

    3. Android Keystore

      Android Keystore 系统可让您将加密密钥存储在容器中,从而更难从设备中提取。

    4. 使用非对称密钥加密存储

      更安全的非对称加密选项是远程存储私钥。

    更多详情请参考this article

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-03
      • 2018-03-19
      • 2013-12-01
      • 2014-11-16
      • 2011-08-02
      • 1970-01-01
      • 2014-03-26
      • 1970-01-01
      相关资源
      最近更新 更多