Сохранение сгенерированной пары ключей на устройстве с использованием j2me - PullRequest
1 голос
/ 08 сентября 2011

Я использую Bouncy Castle для генерации пары открытого и закрытого ключей и использую ее для задач шифрования. Каков наилучший способ надежного хранения пары ключей?

Мне не удалось найти способ хранения в хранилище ключей устройств. Хранение в текстовом файле не будет работать, потому что это небезопасно. Я мог бы сохранить это в RMS, но тогда как можно обеспечить это от человека с достаточной мотивацией, чтобы подглядывать?

Обновление хранилища данных: Проблема с RMS заключается в том, что если приложение сохранено в карте памяти, хранилище данных легко доступно любому.

Ответы [ 2 ]

2 голосов
/ 06 октября 2011

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

http://www.eaves.org/jon/j2me/pocket.shtml

Если вы посмотрите на пакет .record, вы увидите, что я сделал для шифрования и хранения отдельных записей.

Недостатком этого подхода является то, что вам нужно заставить пользователя выбрать «фразу-пароль» и использовать ее как часть PBE. Я не знаю ни одного другого подхода, чтобы делать то, что вы хотите, и поддерживать безопасность хранящейся информации. Любая попытка «спрятать» ключ бесполезна и небезопасна.

1 голос
/ 08 сентября 2011

см. Мой ответ здесь, его безопасно сохранять в хранилище записей Как отсортировать записи хранилища записей на основе определенного в нем поля?

каждое приложение имеет свое собственное хранилище записей и удаляетудаление приложения

...