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

Обзор криптографии

Безопасность — это не дополнительная функция Пассворка, а основа архитектуры продукта. В этом разделе описана криптографическая модель, алгоритмы и механизмы защиты данных.

Для кого этот раздел

  • Специалисты по информационной безопасности — для проведения аудита и оценки соответствия требованиям организации
  • Технические руководители — для принятия решения о внедрении продукта
  • Администраторы — для понимания принципов работы и настройки системы

Стандарты и лицензии

Пассворк следует методологиям OWASP, требованиям ISO 27001 и принципам безопасной разработки (SDL).

Компания имеет лицензии ФСТЭК на техническую защиту конфиденциальной информации (ТЗКИ) и создание средств криптографической защиты (СКЗИ), а также лицензию ФСБ на деятельность, связанную с шифровальными средствами.


Архитектура нулевого доверия

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

  • Мастер-пароль никогда не покидает устройство пользователя
  • Все криптографические ключи генерируются на клиенте
  • Сервер хранит только зашифрованные данные и зашифрованные ключи
  • Расшифровка возможна только на стороне клиента

Двухуровневая защита

Пассворк применяет два уровня шифрования:

УровеньГде выполняетсяКлючКогда активен
Клиентское шифрованиеБраузер/приложениеКлючи пользователяПри включённом CSE
Серверное шифрованиеСерверСерверный ключВсегда

Даже при отключённом клиентском шифровании данные защищены серверным шифрованием.

Используемые алгоритмы

НазначениеАлгоритмПараметры
Вывод ключа из пароляPBKDF2SHA-256, 300K итераций
Симметричное шифрование (сервер)AES-256-CFBOpenSSL
Симметричное шифрование (клиент)AES-256-CBC+ Base32 кодирование
Асимметричное шифрованиеRSA-OAEP2048 бит, SHA-256
ХешированиеSHA-256, SHA-512

Структура раздела

Основы

  • Глоссарий — определения терминов: мастер-пароль, мастер-ключ, сейф, запись, ключи
  • Модель данных — иерархия объектов и связь с криптографическими ключами

Шифрование

Процессы

Инфраструктура

Быстрый обзор цепочки шифрования

                        КЛИЕНТ
┌─────────────────┐
│ Мастер-пароль │ ← Вводит пользователь
└────────┬────────┘
│ PBKDF2 (300K итераций)

┌─────────────────┐
│ Мастер-ключ │ ← 512 бит
└────────┬────────┘
│ AES-256-CBC

┌─────────────────┐
│ Приватный RSA │ ← 2048 бит
└────────┬────────┘
│ RSA-OAEP (WebCrypto)

┌─────────────────┐
│ Ключ сейфа │ ← 256 бит
└────────┬────────┘
│ AES-256-CBC

┌─────────────────┐
│ Ключ записи │ ← 256 бит
└────────┬────────┘
│ AES-256-CBC

┌─────────────────┐
│ Данные записи │ ← Пароли, секреты, файлы (зашифрованы)
└────────┬────────┘

─────────┼───────────────────────────────────
│ СЕРВЕР

┌─────────────────┐
│ Серверный ключ │ ← 256 бит (OpenSSL)
└────────┬────────┘
│ AES-256-CFB

┌─────────────────┐
│ База данных │ ← Двойное шифрование
└─────────────────┘

Что шифруется на клиенте

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

Подробная информация о шифровании каждого поля — в разделе Область шифрования.

Ключевые параметры

ПараметрЗначение
RSA ключ2048 бит
AES ключ256 бит
PBKDF2 итерации (клиент)300 000
PBKDF2 итерации (сервер)600 000
Access Token энтропия256 бит
Токен ссылки энтропия256 бит
Ключ сейфа энтропия~596 бит