У меня есть веб-приложение, которое может работать в автономном режиме с использованием автономного кэша HTML5. Я храню хэш sha256 пароля пользователя на клиенте, что позволяет мне разрешить пользователю входить в систему локально, когда в автономном режиме, но мне не нужно хранить действительный пароль локально.
Я хотел бы представить некоторые функциональные возможности, с помощью которых, если приложение становится подключенным к сети, приложение автоматически подключается к серверу без необходимости повторного ввода пароля пользователем. Это означает, что мне либо нужно как-то хранить действительный пароль на клиенте, либо мне нужно передать хешированный пароль на сервер, чтобы сервер мог аутентифицировать пользователя. Оба эти метода, похоже, имеют недостатки:
Я не верю, что могу безопасно хранить пароль на клиенте (переменная javascript подойдет, но при обновлении страницы тогда var выходит из области видимости. Файлы cookie, хранилище сеансов или локальное хранилище могут быть слишком легко просмотрены.
Я уже храню хэш-пароль sha256 локально, но если я открою на сервере метод, позволяющий этой хеш-функции аутентифицировать пользователя, то я также скорее открою систему безопасности.
У кого-нибудь есть какие-нибудь яркие идеи по этому поводу? Спасибо.
(Сервер - ASP.NET MVC C #)