Хранилище и мастер-пароль
Что Lumen хранит зашифрованным и как мастер-пароль становится ключами. Как разблокировать и заблокировать хранилище, сменить пароль - и что делать, если он забыт.
На этой странице
Что лежит в хранилище
Хранилище - папка PrivacyBrowser в Application Support вашей учётной записи. В сборке с песочницей App Sandbox это ~/Library/Containers/…/Data/Library/Application Support/PrivacyBrowser, в сборке без песочницы - ~/Library/Application Support/PrivacyBrowser. Какая у вас сборка, видно в Настройки → О приложении → Сборка.
Зашифровано всё, что приложение пишет о профилях:
- список профилей и настройки каждого - с прокси, его логином и паролем, тегами и заметками;
- сохранённые пароли, история и закладки;
- cookies для синхронизации и импортированные до запуска, план и расписание прогрева, открытые вкладки, если их восстановление включено;
- архив данных сайтов - cookies, localStorage, IndexedDB, кэш - и состояние окна Safari профиля;
- список прокси и настройки синхронизации этого Mac.
Вне хранилища и без шифрования:
- загруженные файлы - они остаются там, куда сохранены;
- выбор в окне Настройки - он хранится в обычных настройках приложения, секретов в нём нет;
- файлы, которые вы экспортируете сами: cookies и список прокси - открытым текстом, профиль - под собственным паролем файла.
Как шифруются данные
Мастер-пароль нигде не хранится. При каждой разблокировке функция Argon2id (RFC 9106: 64 МиБ памяти, 3 прохода, 4 потока) заново получает ключ из него и случайной соли в 16 байт. Этот ключ открывает только одно - ключ хранилища.
| Ключ | Что им шифруется |
|---|---|
| Ключ хранилища: случайный, 256 бит | Список профилей, ключи профилей, список прокси, настройки этого Mac, синхронизация |
| Ключ профиля: случайный, 256 бит, у каждого профиля свой | Файлы профиля: настройки, пароли, история, закладки, cookies, архив данных сайтов |
Разные виды файлов шифруются разными ключами - этими двумя или выведенными из них. Шифр везде AES-256-GCM. Каждый зашифрованный файл помечен своим назначением и владельцем: перенесённый в другой профиль или на место другого файла, он не расшифруется. Профиль, работающий в собственном процессе, получает только ключ своего профиля - ключа хранилища у этого процесса нет.
Данные сайтов расшифрованы на диске, только пока профиль запущен. При остановке они снова уходят в зашифрованный архив. Если приложение завершилось аварийно, то, что осталось расшифрованным, шифруется при следующей разблокировке.
Заголовок хранилища, файл vault.json, лежит открыто: в нём соль, параметры Argon2id и зашифрованный ключ хранилища. Секретов там нет, но тот, у кого есть этот файл, может подбирать пароль у себя, и мешает ему только стоимость Argon2id. Короткий или распространённый пароль такой перебор не выдержит.
Разблокировка и блокировка
При запуске Lumen показывает экран Хранилище заблокировано: «Введите мастер-пароль, чтобы продолжить.» Введите пароль и нажмите Разблокировать. Откроется окно Профили. Запускать ли сразу и профили, которые были открыты при выходе, решает настройка Настройки → Запуск → После разблокировки.
Если пароль неверный, появится окно Ошибка с текстом «Wrong master password», а под полем - когда создано хранилище и в какой папке оно лежит. Это подсказка: у другой сборки приложения своё хранилище со своим паролем.
Кнопка Заблокировать внизу боковой панели окна Профили (она же есть в ⌘K) останавливает все профили, шифрует их данные и забывает ключи. Выход из приложения (⌘Q) делает то же самое и ждёт, пока зашифруется каждый профиль. Автоматической блокировки нет - ни по времени, ни при сне Mac.
Мастер-пароль спрашивается и при открытом хранилище: прежде чем показать сохранённые пароли (Пароли заблокированы) и прежде чем его сменить.
Смена мастер-пароля
- В окне Профили откройте меню ⋯ (Ещё) и выберите Сменить мастер-пароль…
- Заполните поля Текущий пароль, Новый пароль и Повторите новый пароль.
- Нажмите Сменить. Кнопка доступна, когда новый пароль не короче 10 символов и оба новых поля совпадают.
Новым паролем заново шифруется только ключ, который открывает хранилище; ваши данные и их ключи остаются прежними. Новый пароль уходит в место синхронизации, и новые устройства подключаются с ним.
На копии, сделанные раньше, он не действует: прежняя копия vault.json (резервная копия, Time Machine, Mac, уже подключённый к синхронизации) по-прежнему открывает хранилище старым паролем - в том числе то, что вы сохраните после смены.
Если такая копия могла попасть в чужие руки, смены пароля недостаточно: перенесите профили в новое хранилище (экспортируйте каждый профиль, создайте новое хранилище и импортируйте их; при импорте всё шифруется новыми ключами).
Если отправить пароль в место синхронизации не удалось, приложение напишет: «Новый мастер-пароль установлен на этом Mac. Отправить его в место синхронизации сейчас не удалось (…): он уйдёт туда при следующей синхронизации. До тех пор новые устройства подключаются со старым.»
Если там остаётся пароль другого Mac: «Новый мастер-пароль установлен на этом Mac, но в месте синхронизации остаётся пароль другого Mac - сменённый там позже или одновременно: новые устройства подключаются с ним.»
Если вы забыли мастер-пароль
Восстановить его нельзя: ключ хранилища зашифрован только паролем, других копий ключа нет. Но и удалять приложение ничего не станет.
- После неверного пароля нажмите на экране разблокировки Не помню пароль…
- На вопрос Создать новое хранилище? ответьте Отложить хранилище и создать новое.
- Папка хранилища получит имя
PrivacyBrowser-backup-с датой и временем. Экран Создайте мастер-пароль покажет, куда она перемещена. - Создайте новое, пустое хранилище.
Профили отложенного хранилища остаются зашифрованы старым паролем. Если он вспомнится, закройте приложение и переименуйте отложенную папку обратно в PrivacyBrowser. Новое хранилище уже занимает это имя - сначала переименуйте его.
Что видит место синхронизации
Синхронизация выключена, пока в ⋯ → Синхронизация… не выбраны Папка (только локально) или Сервер.
Место синхронизации видит:
- заголовок хранилища - открыто, как
vault.json: он нужен, чтобы другой Mac открыл хранилище тем же паролем (подключить так второй Mac в самом приложении пока нельзя); - сколько там объектов, их размеры, номера версий и когда они меняются;
- сервер - ещё и IP-адрес этого Mac: синхронизация идёт напрямую, не через прокси профилей.
Список профилей, настройки, пароли, закладки, история и постоянные cookies уходят зашифрованными (файлы профилей - дважды), а имена объектов заменены непрозрачными метками. Названий профилей, адресов сайтов, прокси, паролей и cookies место синхронизации не видит. Остальные данные сайтов не синхронизируются.
Сервер Lumen IP-адрес не хранит: он используется только в памяти, чтобы ограничивать частоту запросов. Запросы к серверу проходят через Cloudflare: он тоже видит IP-адрес, но данных синхронизации не прочтёт - они зашифрованы на вашем Mac. Не хранит сервер и того, какой Mac и когда синхронизировался, - только когда хранилище менялось последний раз. Что он видит, показывает страница «Синхронизация» в кабинете.
Нашли ошибку или чего-то не хватает? Напишите нам.