Перейти к основному содержимому
Версия: 7.0

Область шифрования

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

Обзор уровней шифрования​

УровеньГде выполняетсяКогда активенКлючАлгоритм
Клиентское шифрованиеВ браузереПри включённом CSEКлючи пользователя, сейфа, записиAES-256-CBC
Серверное шифрованиеНа сервереВсегдаСерверный ключAES-256-CFB

Данные записи (Password Record)​

ПолеКлиентское шифрованиеСерверное шифрованиеПричина
Название записи—✓Поиск, отображение в списках
Логин—✓Поиск, автозаполнение
Пароль✓✓Критические данные
URL—✓Поиск, автозаполнение, расширение браузера
Описание—✓Поиск
Теги—✓Фильтрация, группировка
Цвет—✓Отображение

Дополнительные поля (Custom Fields)​

АтрибутКлиентское шифрованиеСерверное шифрованиеПричина
Имя поля✓✓Может содержать чувствительную информацию
Значение поля✓✓Критические данные
Тип поля✓✓Метаданные поля

TOTP (двухфакторная аутентификация)​

АтрибутКлиентское шифрованиеСерверное шифрованиеПричина
TOTP-секрет✓✓Критические данные для 2FA

Вложения​

АтрибутКлиентское шифрованиеСерверное шифрованиеПричина
Имя файла—✓Отображение, поиск
Содержимое файла✓✓Критические данные
Ключ вложенияДа (ключом записи)✓Ключевой материал

Редакции записей​

АтрибутКлиентское шифрованиеСерверное шифрованиеПричина
Предыдущие значения паролей✓✓Исторические секреты
Предыдущие доп. поля✓✓Исторические секреты
Метаданные изменения—✓Аудит, журналирование

Данные сейфа​

АтрибутКлиентское шифрованиеСерверное шифрованиеПричина
Название сейфа—✓Навигация, отображение
Описание сейфа—✓Информация
Ключ сейфаДа (RSA-ключом пользователя)✓Ключевой материал
Права доступа—✓Управление доступом
Настройки сейфа—✓Конфигурация

Данные пользователя​

АтрибутКлиентское шифрованиеСерверное шифрованиеПричина
Логин пользователя——Идентификация
Email——Идентификация
Публичный RSA-ключ——Публичный по определению
Приватный RSA-ключДа (мастер-ключом)✓Критические данные
Хеш мастер-ключа—✓Для проверки пароля
Соль PBKDF2—✓Криптографические параметры
Local Storage Secret Code—✓Для функции «Запомнить»

Данные внешней ссылки​

АтрибутКлиентское шифрованиеСерверное шифрованиеПричина
Токен ссылки——Идентификатор в URL
Копия данных записиДа (ключом ссылки)✓Секретные данные
Ключ ссылки (зашифрованный)✓✓Ключевой материал
Хеш ключа ссылки—✓Для проверки доступа
Настройки ссылки—✓TTL, одноразовость

Служебные данные​

ДанныеКлиентское шифрованиеСерверное шифрованиеПричина
ID объектов——Идентификация
Временные метки——Сортировка, аудит
Access/Refresh токены——Сессии (в памяти/cookies)
LDAP-пароли (интеграция)—✓Серверная интеграция
SMTP-пароли—✓Серверная интеграция

Ключи шифрования по типам данных​

ДанныеКлюч клиентского шифрованияКлюч серверного шифрования
Поле «Пароль»Ключ записи (AES-256-CBC)Серверный ключ (AES-256-CFB)
Дополнительные поляКлюч записиСерверный ключ
TOTP-секретКлюч записиСерверный ключ
Содержимое файлаКлюч вложения (AES-256-CBC)Серверный ключ
Ключ вложенияКлюч записиСерверный ключ
Ключ записиКлюч сейфа (AES-256-CBC)Серверный ключ
Ключ сейфаRSA-ключ пользователя (RSA-OAEP)Серверный ключ
Приватный RSA-ключМастер-ключ (AES-256-CBC)Серверный ключ

Почему не всё шифруется на клиенте?​

Функциональные причины​

  1. Поиск — для поиска по названию, логину, URL, описанию и тегам сервер должен иметь возможность индексировать эти поля
  2. Сортировка — сортировка записей по названию требует доступа к этому полю
  3. Фильтрация — фильтрация по тегам работает на стороне сервера
  4. Автозаполнение — расширение браузера сопоставляет URL без расшифровки
  5. Отображение списков — показ названий записей без расшифровки всей записи

Безопасность метаданных​

Несмотря на то, что некоторые поля не шифруются на клиенте, они защищены:

  • Серверным шифрованием (AES-256-CFB) перед записью в БД
  • TLS/HTTPS при передаче между клиентом и сервером
  • Контролем доступа на уровне приложения

Модель угроз​

УгрозаЗащита
Утечка базы данныхСерверное шифрование защищает все данные
Компрометация сервераКлиентское шифрование защищает критические данные
Перехват трафикаTLS защищает данные в транзите
Доступ администратораZero Knowledge для паролей и секретов

Рекомендации по безопасности​

При включённом CSE​

При использовании клиентского шифрования критические данные (пароли, секреты, файлы) защищены принципом Zero Knowledge. Сервер не может их расшифровать.

Что остаётся видимым серверу:

  • Структура сейфов и папок
  • Названия записей
  • Логины и URL
  • Теги и описания
  • Количество и имена вложений

Минимизация метаданных​

Если требуется скрыть метаданные:

  • Используйте общие/неинформативные названия записей
  • Избегайте чувствительной информации в описаниях
  • Не указывайте конкретные URL для критичных систем