Хранилище паролей
Место со сквозным шифрованием и нулевым разглашением данных для сохранения логинов вашего веб-сайта и создания надежных паролей. Синхронизировано через Интернет Public и Android.
Хранилище паролей позволяет сохранять сайт, URL-адрес, имя пользователя, пароль и заметки внутри Public и синхронизировать их между вашими устройствами. Все сквозное зашифровано с помощью мастер-пароля, который известен только вам — серверы Public видят только зашифрованный объект.
Важно: ваш мастер-пароль отличается от пароля вашей учетной записи Public. Пароль вашей учетной записи позволяет вам войти в Public. Ваш главный пароль разблокирует хранилище и никогда не отправляется на наши серверы. Мы не можем сбросить или восстановить его.
Как это защищено
Когда вы создаете хранилище, ваше устройство:
- Генерирует случайный ключ хранилища (32 байта) и случайную соль (16 байт).
- Получает Key Encryption Key (KEK) из вашего главного пароля и соли с помощью Argon2id (запоминаемый в памяти, рекомендуется OWASP).
- Обертывает ключ хранилища KEK, используя AES-256-GCM, и загружает только завернутый большой двоичный объект.
- Сохраняет небольшое значение verifier (известная константа, зашифрованная с помощью KEK), чтобы следующее устройство, которое войдет в систему, могло подтвердить, что «этот главный пароль правильный» без передачи вашего главного пароля.
Каждый отдельный логин затем шифруется на устройстве с помощью ключа хранилища, прежде чем он покинет ваш компьютер. Сервер хранит только зашифрованный текст и одноразовый номер — Public не может прочитать имя сайта, URL-адрес, имя пользователя, пароль или примечания.
Найди это
- Интернет: открыто public.kim/пароли (или Пароли на левой боковой панели/меню Дополнительно).
- Android: откройте вкладку Меню → Пароли.
Веб-приложению необходим безопасный контекст (HTTPS илиhttp://localhostво время разработки), чтобы шифрование браузера работало. Если вы каким-то образом перейдете на страницу через простой HTTP, вместо запуска мы отобразим уведомление «Требуется безопасное соединение».
Первоначальная настройка
При первом открытии хранилища на любом устройстве вам будет предложено создать главный пароль.
- Выберите что-нибудь, что вы можете запомнить, но никто другой не сможет догадаться. Парольная фраза из нескольких несвязанных слов — это здорово.
- Введите его дважды. Индикатор силы должен быть не ниже Справедливого и содержать не менее 8 символов.
- Нажмите Создать хранилище.
Экран настройки предупредит вас красным: если вы забудете этот мастер-пароль, ваши сохраненные логины не смогут быть восстановлены. Если вы беспокоитесь, запишите это где-нибудь в автономном режиме.
После завершения настройки ключ хранилища сохранится в памяти вашего устройства, и вы сможете начать сохранять логины.
Разблокировать хранилище
При каждом новом запуске приложения (Android) или загрузке страницы (в Интернете) хранилище блокируется:
- Введите свой мастер-пароль.
- Устройство получает KEK с помощью Argon2id (это занимает 1–2 секунды — это сделано намеренно, именно поэтому перебор невозможен) и локально разворачивает ключ хранилища.
- Ключ хранилища остается в памяти до тех пор, пока вы снова не заблокируете его, не выйдете из системы, не обновите веб-страницу или не пройдет 5 минут бездействия.
Неправильный пароль просто терпит неудачу с сообщением "Неправильный мастер-пароль" — он никогда ничего не сообщает серверу.
Сохранить логин
- В списке нажмите Добавить логин (кнопка +).
- Заполните:
– Сайт или приложение — например. GitHub
- URL — необязательно, например.
https://github.com- Электронный адрес или имя пользователя - Пароль — введите его или коснитесь значка палочки, чтобы создать надежный пароль (см. ниже).
- Примечания — необязательный произвольный текст.
- URL — необязательно, например.
- Нажмите Сохранить.
Все шифруется на устройстве перед загрузкой.
Создайте надежный пароль
Коснитесь значка палочки рядом с полем пароля (или в редакторе), чтобы открыть Генератор паролей. Вы можете настроить:
- Длина — ползунок от 8 до 64 символов.
- Прописные буквы (A–Z)
- Строчные буквы (a–z)
- Цифры (0–9)
- Символы (
! @ # $ %…) - Избегать совпадений — пропускаются визуально неоднозначные символы, например
I l 1 O 0.
Генератор использует источник криптографических случайных чисел вашего устройства и гарантирует наличие как минимум одного символа из каждого включенного класса. Нажмите Создать снова, чтобы создать новый пароль, или Использовать этот пароль, чтобы вставить его в редактируемую запись.
Найдите и используйте свои логины
– В списке показаны сайт и имя пользователя каждой записи. – Поле поиска фильтрует по сайту, URL-адресу, имени пользователя или заметкам (все в памяти на вашем устройстве). – Коснитесь записи, чтобы отредактировать ее. – Коснитесь маленького значка ключа, чтобы скопировать пароль в буфер обмена. – Нажмите маленький значок копировать, чтобы скопировать имя пользователя.
При копировании конфиденциального значения:
- Буфер обмена помечен как чувствительный на Android 13+, поэтому он не отображается в предварительном просмотре системного буфера обмена.
- Мы пытаемся очистить буфер обмена примерно через 30 секунд, но только если за это время он не был перезаписан.
Заблокируйте хранилище
- Верхнее правое меню → Заблокировать хранилище немедленно удаляет ключ из памяти.
- Хранилище также блокируется после 5 минут бездействия на каждом устройстве.
- В Интернете при обновлении страницы или закрытии вкладки хранилище всегда блокируется.
- На Android закрытие приложения или его завершение в фоновом режиме блокирует его.
Чтобы использовать его снова, просто разблокируйте его с помощью мастер-пароля.
Измените свой мастер-пароль
Вы можете изменить свой мастер-пароль в любое время. Поскольку Public использует конструкцию с двумя ключами (главный пароль → KEK → ключ хранилища → записи), он не шифрует повторно каждый сохраненный логин — только упакованный ключ хранилища.и смена верификатора. Операция выполняется быстро даже с сотнями записей.
В сети
- Открыть**public.kim/пароли** и разблокировать.
- Меню ⋯ в правом верхнем углу → Изменить главный пароль.
- Введите текущий главный пароль, а затем дважды введите новый.
- Сохраните.
Вкл. Android
- Откройте раздел Пароли на вкладке Меню и разблокируйте его.
- Меню ⋮ в правом верхнем углу → Изменить главный пароль.
- Введите текущий главный пароль, а затем дважды введите новый.
- Сохраните.
Ваш текущий главный пароль проверяется локально и никогда не отправляется на наши серверы.
Гарантии конфиденциальности и безопасности
- На сервере хранятся только: соль KDF + параметры, завернутый ключ хранилища, большой двоичный объект верификатора и данные для каждой записи.
{ ciphertext, nonce }. – Сервер никогда не хранит ваш главный пароль, производные ключи, ключ хранилища или любые учетные данные в виде открытого текста — и мы не можем восстановить их для вас. - Весь HTTP-трафик хранилища никогда не кэшируется (клиенты отправляют
Cache-Control: no-store). - Веб-хранилище отказывается работать на незащищенных источниках (для Web Crypto требуется HTTPS или
localhost). - На экранах хранилища Android используется
FLAG_SECUREчтобы учетные данные не отображались на снимках экрана или в предварительном просмотре последних приложений.
Что произойдет, если вы удалите свою учетную запись
Удаление учетной записи Public приводит к удалению вашего хранилища полностью:
- Каждая зашифрованная запись (
PasswordEntry) удаляется. - Обернутый ключ хранилища и метаданные KDF (
PasswordVault) удаляются. - Поскольку удаление является необратимым и данные изначально были с нулевым разглашением, никто, включая Public, не может их восстановить.
ВидетьУдалить аккаунт.
Важные ограничения
- мастер-пароль не может быть сброшен. Если вы его забудете, единственное восстановление — начать заново с совершенно новым хранилищем и заново добавить каждый логин. ВидетьЗабыл мастер-пароль.
- Хранилище предназначено для входов на сайт/приложение, а не для банковских карт, защищенных заметок, файлов или кодов TOTP (пока).
- Веб-клиент и клиент Android побайтно совместимы — хранилище, созданное на одном из них, разблокируется на другом. Каждый сохраненный логин шифруется в формате JSON с полями
site,url,username,password, иnotes. Старые записи Android, в которых использовалось наследиеemailключ по-прежнему считывается правильно и сопоставляется сusernameпо расшифровке.