Шифрование на устройствах Android - PullRequest
1 голос
/ 04 декабря 2010

1) Мне интересно, есть ли в Android SDK уже предопределенные функции шифрования или нужно было бы написать все это с нуля?

2) Предположим, у вас есть классы для шифрования, написанные вами или предоставленные SDK, как убедиться, что содержимое ОЗУ (которое содержит ключ в виде открытого текста) никогда не записывается в постоянное хранилище Android-устройство? Я предполагаю, что если используется слишком много оперативной памяти, происходит какая-то перестановка, кроме того, что существуют методы, такие как fastboot от HTC, которые записывают весь контент в хранилище, если я не ошибаюсь? Есть ли шанс предотвратить сохранение содержимого оперативной памяти для вашего программного обеспечения в постоянном хранилище? Или, может быть, какое-то событие происходит до того, как содержимое ОЗУ записывается в постоянное хранилище, так что перед этим можно стереть ключ?

Большое спасибо за любую подсказку!

1 Ответ

2 голосов
/ 04 декабря 2010

1) Мне интересно, есть ли Android SDK уже предопределено шифрование функции или если бы кто-то должен написать все это с нуля?

Вы можете сделать это с помощью Java Cryptography Architecture (JCA). В основном это пакет javax.crypto.*. Вот справочное руководство JCA .

Также этот пример может быть полезным.

Что касается второго вопроса - мне просто нечего сказать. Единственная идея состоит в том, чтобы долго не держать в руках чувствительные объекты. Создайте для каждой потребности, используйте и обнуляйте его, как только используете. Никогда не вставляйте в статический контекст.

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