Я занимаюсь разработкой мобильного веб-сайта, и у меня есть одна проблема с безопасностью некоторых данных.
Когда пользователь впервые просматривает мой сайт, страница запрашивает у сервера данные личного пользователя (например, закрытый ключ RSA), которые будут использоваться в будущих операциях. Этот закрытый ключ должен храниться где-то в локальной памяти устройства (как файл на устройстве, кеш браузера ...).
В следующий раз, когда этот же пользователь запустит страницу (некоторые функции на странице), страница должна загрузить файл из локальных данных при необходимости и использовать его (т.е. зашифровать некоторую строку с помощью закрытого ключа).
Проблема в том, где хранить этот ключ и как его читать?
Сначала я подумал о печенье. Но куки будут отправлены со всеми запросами, поэтому делать это с закрытым ключом IMHO не очень хорошая идея.
Соединение, конечно, будет через SSL, но даже если я не хочу отправлять закрытый ключ на сервер (он должен быть максимально безопасным!).
Итак, как решить проблему ...?
Могу добавить, нет необходимости получать закрытый ключ с сервера. Его можно загрузить как файл на устройство через файловый менеджер или что-то в этом роде. Просто - браузер должен прочитать закрытый ключ, когда он понадобится, и использовать его. Я не думаю, что браузер позволяет сохранять / читать файлы из JavaScript, я прав?
Решение проблемы в настоящее время должно работать на большинстве доступных устройств и браузеров (особенно на iPhone, Android, Symbian + Opera Mobile (/ Mini?).
Возможно, HTML5 и его localStorage могли бы решить эту проблему, но я должен предположить, что я не могу использовать HMTL5 со всеми его функциями.
Я рассматриваю возможность использования фреймворка jQueryMobile.
Пожалуйста, помогите! Заранее спасибо !!