Мобильная веб-страница - где хранить личные данные на устройствах? - PullRequest
2 голосов
/ 17 февраля 2011

Я занимаюсь разработкой мобильного веб-сайта, и у меня есть одна проблема с безопасностью некоторых данных.

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

Проблема в том, где хранить этот ключ и как его читать?

Сначала я подумал о печенье. Но куки будут отправлены со всеми запросами, поэтому делать это с закрытым ключом IMHO не очень хорошая идея. Соединение, конечно, будет через SSL, но даже если я не хочу отправлять закрытый ключ на сервер (он должен быть максимально безопасным!). Итак, как решить проблему ...?

Могу добавить, нет необходимости получать закрытый ключ с сервера. Его можно загрузить как файл на устройство через файловый менеджер или что-то в этом роде. Просто - браузер должен прочитать закрытый ключ, когда он понадобится, и использовать его. Я не думаю, что браузер позволяет сохранять / читать файлы из JavaScript, я прав?

Решение проблемы в настоящее время должно работать на большинстве доступных устройств и браузеров (особенно на iPhone, Android, Symbian + Opera Mobile (/ Mini?).

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

Пожалуйста, помогите! Заранее спасибо !!

Ответы [ 2 ]

0 голосов
/ 23 февраля 2011

CanIUse.com имеет хороший обзор того, какие браузеры поддерживают localStorage.

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

0 голосов
/ 17 февраля 2011

хорошо, вы можете получить объект WebSetting на экземпляре WebView, и в этом классе это метод, с помощью которого вы можете задать путь @, где вы можете указать путь к закрытой области

http://developer.android.com/reference/android/webkit/WebSettings.html#setAppCachePath(java.lang.String)

Я надеюсь, что это ответило на ваш запрос.

...