News for hackers. Stuff that matters.
Re:Thousands of secret keys found in Android apps by thewarrior on Thursday June 19, 2014 @04:27AM (#7915151)
I m wondering if there is any alternative to storing API keys and tokens in the source of the app ?

Proxying all calls through our own server seems like an expensive way of solving this problem. Because if the client is compromised it doesn't do much anyway.

Re:Thousands of secret keys found in Android apps by chr7z on Thursday June 19, 2014 @04:46AM (#7915220)
There is a tool for moving API keys out of the source: Keystok stores encrypted API keys and tokes in a cloud service and lets the App / client retrieve them during runtime.

Its not just about moving keys out of the source, but about getting rid of local config files altogether. Related post on their blog: http://blog.keystok.com/why-i-stopped-using-local-config-fil...

Disclosure: I'm a developer at Keystok.

Re:Thousands of secret keys found in Android apps by kuschku on Thursday June 19, 2014 @05:48AM (#7915378)
And a developer with Apktool could still modify the app and get the keys, you win nothing with this solution.
Re:Thousands of secret keys found in Android apps by lucian1900 on Thursday June 19, 2014 @05:28AM (#7915332)
That is much worse, though: you're actively disclosing your API keys to a third party (keystok).
Re:Thousands of secret keys found in Android apps by HarrietJones on Thursday June 19, 2014 @09:10AM (#7915839)
Shoot me down if I'm missing something obvious here, but:

One solution would be for Apple and Android to have an "environment" section for applications. You'd be able to set these environment keys when publishing the app.

Apple and Android could provide an API to these environment keys, and they'd be published in an encrypted form as part of the application manifest.

Bonus Points: It would be relatively simple to provide the facility from the AppStore provider for changing / cancelling these keys.

Re:Thousands of secret keys found in Android apps by jaegerpicker on Thursday June 19, 2014 @09:34AM (#7915931)
While not an API as such both OS's provide a User defaults/App default storage area. It's not that hard to encrypt your key in an outside process and then have your app write it to that location in encrypted format. Then make a request to the server to supply the key to decrypt the api key. Then again you are making it a little harder to break in but not much. The better tactic is to just limit the API access to as little as possible and make the API as secure as possible.