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

StackOverflow https://stackoverflow.com/questions/1993991

  •  22-09-2019
  •  | 
  •  

Вопрос

Я использую Amazing FPS и должен хранить секретный ключ в коде Java. Однако я боюсь, что кто -то разбивает мой APK и найдет ключ. Я сам декомпилировал APK и не смог найти ключ, но я не эксперт VM. Любая помощь?

Это было полезно?

Решение

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

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

  • Ваше приложение может зашифровать Сообщение с использованием открытого ключа, которое можно расшифровать только с помощью закрытого ключа.
  • Или вы можете знак Сообщение с использованием закрытого ключа, которое может быть аутентифицировано с помощью открытого ключа в вашем приложении.

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top