7

Я делаю расширение chrome, которое требует получения XML-файла с безопасного сервера.Как безопасно хранить пароли и использовать http auth в расширении chrome

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

https://username:[email protected] 

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

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

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

ответ

3

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

+1

Это хорошая идея, любые рекомендации для библиотеки шифрования javascript? –

11

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

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

+1

источники для вашего второго заявления? – Lotus