Fabric.io Twitter 凭据安全

Fabric.io Twitter Cridentials security

我不确定我是应该在这里还是在安全性 Whosebug 页面上问这个问题,但我相信有人对此有很好的回答。

我正在构建一个使用 Fabric.io Twitter packageAndroid 应用程序。使用它需要 TWITTER_KEYTWITTER_SECRET 代码。我试图隐藏它们,因为这是他们在添加包时提到的内容。

目前我正在将我的证书保存在启动画面开头的 SharedPreference 中 activity:

PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit().putString("TWITTER_KEY", "xxxxxxxxxxxxxxxxxxxxxxx").commit();

稍后,为了初始化 Twitter 包,我收到了这样的邮件:

TwitterAuthConfig authConfig = new TwitterAuthConfig(PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).getString("TWITTER_KEY", "defaultStringIfNothingFound")

我对 TWITTER_SECRET 代码做同样的事情。


我有两个问题:

  1. 如果人们可以访问我的密钥,他们可以做什么?
  2. 这是否足够安全,以至于其他应用无法访问我的密钥?
  3. 这对应用程序反编译是否足够安全?

感谢您的帮助!

What can people achieve if they have access to my keys?

我不知道 API 所以我无法回答这个问题。

Is this safe enough so that other apps can't acces my keys?

是的,除非其他应用有 root 权限。

Is this safe enough for app decompiling?

没有。但是你对此无能为力。您可以让找到密钥变得更加困难,但如果密钥以某种方式嵌入到应用程序中,则没有 100% 的解决方案。应用程序可以恢复密钥的任何操作也可以由攻击者完成。

顺便说一句。为什么将密钥存储在共享首选项中?