Хранение секретного ключа на Android - PullRequest
13 голосов
/ 20 апреля 2010

Мое приложение Android использует секретный ключ для генерации токена в целях аутентификации. Есть ли более безопасный способ сохранить это, чем просто поместить это в хранилище данных? Я думаю, что для iPhone, мы храним его в связке ключей. Мне известно об android.accounts.AccountManager, но, похоже, это дает другим приложениям возможность доступа к паролю (если пользователь выбирает неправильную опцию) и поэтому кажется менее безопасным.

Ответы [ 4 ]

6 голосов
/ 20 апреля 2010

Android (к сожалению) не предоставляет возможности сделать это. Подход, который я использовал ранее, заключается в том, чтобы зашифровать этот токен другим ключом, сгенерированным в приложении.

Ваш ключ приложения может быть сгенерирован алгоритмически. Это, однако, только так же безопасно, как ваш алгоритм. Как только это станет известно, это будет эквивалентно хранению токена в виде простого текста.

4 голосов
/ 20 апреля 2010

Вы можете сохранить ключ в настройках вашего приложения. Это защитит ключ от чтения другими приложениями из-за ограничений файловой системы системы Android.

Но это не защитит ключ от прочтения самим пользователем.

1 голос
/ 10 августа 2011

если вы можете запустить apk tool, значит, он в отладке, и вы собираетесь получить root права на устройство. В iOS больше нет защиты цепочки для ключей, когда она взломана

0 голосов
/ 16 мая 2017

Вы можете сохранить секретные данные, зашифровав их ключом, сгенерированным Android Keystore System , а затем сохранив результат, если хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...