2009-11-03 3 views
3

У меня есть приложение, которое хранит данные в постоянном хранилище, устанавливая содержимое PersistentObject как хэш-таблицу, например. сохранение предпочтений выполняется путем ввода строк в качестве ключей и значений хеш-таблицы, а затем setContents вызывается в PersistentObject с Hashtable, переданной в качестве параметра.Защита контента Blackberry и постоянный магазин

Я понимаю, что данные сохраняются незашифрованными. Если я включу защиту содержимого в ИТ-политике для устройства, эта реализация постоянной памяти автоматически запустит шифрование данных или мне придется изменить реализацию, чтобы использовать, например, ContentProtectedHashtable для сохранения содержимого?

Вся информация, которую я нашел до сих пор о защите содержимого, касается политики BES IT и ничего о реализации в приложении, что заставляет меня думать, что стандартная реализация (т.е. просто передача объекта Persistable в объект PersistentObject) автоматически адаптируется для шифрования данных?

Любые идеи? Благодарю.

ответ

2

См. Документацию по net.rim.device.api.util.ContentProtectedHashtable для одного из способов реализации защиты содержимого.

Также см. this document для более глубокого обсуждения защиты содержимого.

+0

Я видел документацию, но то, что я пытаюсь выяснить, просто мне нужно заменить Hashtable, которую я сейчас нахожу в PersistentStore с ContentProtectedHashtable? Будет ли это автоматически шифровать данные (если защита содержимого включена или будет всегда шифроваться, независимо от настройки политики ИТ)? – DaveJohnston

+0

См. Ссылку документа, которую я добавил. На вопрос, на который вы задаете вопрос, как представляется, отвечает: Также обратите внимание, что для включения защиты контента необходимо выполнить следующие два этапа: 1. На устройстве BlackBerry выберите «Параметры»> «Безопасность» и установите пароль для включения , 2. На устройстве BlackBerry выберите «Параметры»> «Безопасность» и установите «Защита контента» на «Включено». Если политика ИТ заставляет пароль и включает защиту контента, то контент всегда будет защищен, иначе он будет на усмотрение пользователя. – Richard

+0

Таким образом, защищенный контент Hashtable обрабатывает все материалы, о которых говорится в этом документе, то есть шифрование и повторное шифрование и т. Д.? Таким образом, все, что мне нужно сделать, это сохранить мои данные в ContentProtectedHashtable (я полагаю, что мои данные должны быть устойчивыми), а затем установить содержимое PersistentObject с помощью хеш-таблицы, а затем передать это PersistentStore? – DaveJohnston

0

Я не думаю, что это что-то делать с ИТ-политикой, это довольно PersistentContent, который имеет функциональные возможности шифрования/дешифрования:

Этот API был разработан, чтобы позволить приложениям для защиты данных в базе данных, если пользователь включил Content Protection/Compression в настройках безопасности своего устройства. Он состоит из двух основных методов (кодирования и декодирования), а также ряда вспомогательных методов.
...
Обратите внимание, что кодирование может выполняться в любое время, независимо от того, заблокировано или разблокировано устройство. Однако объект, который был закодирован с использованием шифрования, может быть декодирован только в том случае, если устройство разблокировано. Это может создать проблему, если устройство блокируется, когда приложение выполняет потенциально длительную операцию, в течение которой требуется возможность декодировать зашифрованные данные, такие как сортировка зашифрованных записей. В этом случае приложение может получить билет. До тех пор, пока существует сильная ссылка на билет, разрешено кодирование зашифрованных данных. Таким образом, приложения должны как можно скорее выпускать билеты, чтобы позволить устройству достичь заблокированного и безопасного состояния.

См. riccomini - code blackberry persistent store для реализации шифрования.

+0

Благодарим за информацию. Я не слишком уверен в информации, содержащейся в этой ссылке. Насколько мне известно, использование класса ControlledAccess совместно с CodeSigningKey не делает шифрование, оно просто блокирует PersistentStore, чтобы доступ к нему мог получить только приложение, подписанное с этим ключом. – DaveJohnston

Смежные вопросы