Как мне безопасно хранить пароли и использовать http-аутентификацию в расширении Chrome

StackOverflow https://stackoverflow.com/questions/1960681

Вопрос

Я делаю расширение Chrome, которое требует получения XML-файла с защищенного сервера.

В настоящее время я использую XMLHttpRequest() для вызова сервера.

https://username:password@mydomain.com

который возвращает объект XML, который я могу проанализировать и отобразить.Я хочу, чтобы это расширение было доступно не только для моего хобби, поэтому ему нужна страница параметров для установки и хранения имени пользователя и пароля.

Как мне сохранить пароль пользователя в Chrome, чтобы он был в безопасности?В chrome есть глобальная переменная localStorage для каждого расширения, которая позволяет авторам расширений хранить данные, но они хранятся в виде обычного текста.он не позволяет расширениям получать доступ к хранилищу «запомнить мой пароль» (на веские причины).

и есть ли более безопасный способ выполнить http-аутентификацию?Мой текущий способ ведения дел требует передачи имени пользователя/пароля в виде обычного текста в URL-адресе каждый раз, когда вызывается функция, даже если срок сеанса аутентификации еще не истек.

Это было полезно?

Решение

Идея:запросите у пользователя ключ, который можно использовать для симметричного шифрования значений перед помещением их в localStorage.Вы также можете создать уникальный ключ для каждого клиента на основе определенных уникальных особенностей его компьютера/браузера/и т. д.

Другие советы

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

В целом, Chrome придерживается философии доверия к ОС для защиты профиля пользователя, в котором хранятся эти данные, поэтому, если вы используете локальное хранилище для хранения паролей, это ничем не отличается от того, что Chrome делает сегодня с автозаполнением паролей, историей браузера и т. д.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top