Перейти к основному содержимому
Версия: 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 для критичных систем