Ключ хранения Android, декомпилируя страх

Я использую удивительного кадр/с, и я должен сохранить секретный ключ в коде Java. Однако я боюсь, что кто-то декомпилировал бы мой apk и нашел бы ключ. Я декомпилировал apk сам и не мог найти ключ, но я не эксперт VM. Какая-либо справка?

6
задан MysticMagicϡ 7 January 2013 в 07:34
поделиться

2 ответа

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

Асимметричная/общественная криптография ключа - это именно то решение, которое вам нужно. Создайте пару публичный/частный ключ, затем поместите публичный ключ в ваше приложение и храните закрытый ключ самостоятельно. Затем вы можете сделать две вещи:

  • Ваше приложение может зашифровать сообщение с помощью открытого ключа, которое можно расшифровать только с помощью закрытого ключа.
  • Или, вы можете подписать сообщение с помощью закрытого ключа, которое может быть аутентифицировано с помощью открытого ключа в вашем приложении.
8
ответ дан 10 December 2019 в 02:48
поделиться

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

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

.
1
ответ дан 10 December 2019 в 02:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: