В моем приложении Android используется секретный ключ для генерации токена для целей аутентификации. Есть ли более безопасный способ сохранить это, чем просто поместить это в хранилище данных? Я думаю, что для iPhone мы храним его в цепочке ключей. Мне известно о android.accounts.AccountManager, но это, похоже, дает другим приложениям возможность доступа к паролю (если пользователь выбирает неправильный вариант) и поэтому кажется менее безопасным.Хранение секретного ключа на Android
ответ
Android (к сожалению) не предоставляет способ сделать это. Подход, который я использовал ранее, - это зашифровать этот токен другим ключом, созданным в приложении.
Ваш ключ приложения может быть алгоритмически сгенерирован. Это, однако, настолько же безопасно, как и ваш алгоритм. Как только это известно, это эквивалентно сохранению токена в текстовом виде.
Вы можете сохранить ключ в настройках вашего приложения. Это защитит ключ от чтения другими приложениями из-за ограничений файловой системы в системе Android.
Но это не защитит ключ от считывания самим пользователем.
Правда, НО Я МОГУ ПОЛУЧИТЬ ВАШ КЛЮЧ В МИНУТУ, ЕСЛИ ВЫ ДЕЛАЕТЕ ЭТО! попробуйте apktool, и вы можете получить целые строки.xml. Просто сделал это на знаменитом социальном приложении Android и получил свой ключ от пользователя и секретный секрет, секрет facebook, идентификатор google analytics, .... Принял меня на 2 минуты. –
если вы можете запустить apk tool, то его отлаживать, и вы собираетесь запустить устройство. Нет никакой защиты на брелках в iOS, когда его jailbroken
Ошибка пользователя в том, что система не защищена – Casebash
Вы можете хранить секретные данные, зашифровав его ключом, сгенерированным Android Keystore System, а затем сохраните результат, хотите ли вы.
- 1. Хранение секретного ключа AES с использованием хранилища ключей в java
- 2. Хранение секретного ключа в базе данных и его получение
- 3. Приобретение секретного ключа секретного ключа Azure с использованием встроенной безопасности
- 4. Загрузка секретного ключа RSA
- 5. (Android/Java) Создание секретного ключа экземпляра RSA
- 6. незащищенный файл секретного ключа
- 7. Сохранение секретного ключа на веб-сервере
- 8. Аутентификация секретного ключа в salesforce.com
- 9. Выдача секретного ключа сертификата iPhone?
- 10. Каково фактическое использование секретного ключа?
- 11. Вопросы генерации секретного ключа RSA
- 12. Безопасное программирование: безопасность секретного ключа
- 13. Соответствующее местонахождение сберегающего секретного ключа
- 14. Динамический набор секретного ключа Stripe на основе открытого ключа формы
- 15. Использование подписи приложения в качестве секретного ключа?
- 16. Jenkins TFS Plug-in: хранение секретного пароля
- 17. Какова роль ключа приложения и секретного ключа в каждом SDK.
- 18. Anti-hack решение для секретного ключа в Android-приложении?
- 19. Android KeyStore: неподдерживаемый алгоритм секретного ключа AES/CBC/PKCS5Padding
- 20. Хранение ключа hmac в хранилище ключей Android
- 21. Создание уникального секретного ключа для идентификации системы
- 22. безопасное место для хранения секретного ключа API
- 23. Защита секретного ключа для AWS EC2
- 24. Капистрано развертывание и разработка секретного ключа
- 25. Изменение секретного ключа Django в скрипте
- 26. Параметры настройки секретного ключа Django 502 nginx
- 27. Нет секретного ключа при подписании с мерзавцем
- 28. AWS S3 SSE GetObject требует секретного ключа
- 29. sshtunnel не распознает пароль секретного ключа
- 30. gpg физически защищает файл секретного ключа
Я не думаю, что кому-то было бы слишком сложно найти функцию, если они действительно этого захотят. Однако, я полагаю, это намного больше, чем просто чтение текстового ключа – Casebash
True. Его большая безопасность от неясности, чем что-либо еще. Другой подход заключается в том, чтобы хранить токен, зашифрованный с использованием определенного пользователем пароля. Это самый безопасный, но пользователь должен будет аутентифицироваться с помощью приложения каждый раз, когда ваше приложение запускается. – Prashast
Это не безопасно. Это эквивалент обфускации. Это защитит вас от случайного браузера и сценариста, но не того, кто хочет знать ответ. Но если вас беспокоит только сценарий, то это решение ОК. –