Надежно хранить данные на Android версии 16 и выше - PullRequest
0 голосов
/ 23 октября 2018

У меня есть приложение для Android, которое должно поддерживать версию 16 и выше.В связи с этим мне необходимо надежно хранить лицензионную строку на устройстве.

Вначале я думал о том, чтобы использовать KeyStore для генерации пар ключей и сохранения зашифрованной строки лицензии в общих настройках.Но выяснилось, что KeyStore доступен только в версиях 18 и выше.

Android keyChain доступен в версии 14 и выше.Но из того, что я прочитал, KeyChain предназначен для безопасного хранения сертификатов.Но я видел несколько примеров, в которых некоторые ключи хранятся в цепочке для ключей здесь .

Я совершенно новичок в безопасном хранилище, что является лучшим вариантом для безопасного хранения моей строки лицензии на устройстве Android, учитывая, что ядолжны поддерживать версии 16 и выше?

Спасибо,

1 Ответ

0 голосов
/ 24 октября 2018

Это немного сложная проблема.KeyChain предназначен в качестве общесистемной системы хранения ключей.Это означает, что все пользователи (что не должно быть проблемой в старых версиях Android, поскольку они только однопользовательские) и все приложения могут получить доступ к цепочке для ключей.И эта часть «все приложения» является проблемой для вашего варианта использования.

Можете ли вы запрашивать у пользователей какие-то учетные данные (например, пароль)?Если это так, вы можете использовать этот пароль для шифрования / дешифрования сертификата с использованием некоторой стандартной темы шифрования (AES-GCM или аналогичной) и хранить зашифрованные данные в области хранения вашего приложения.

...