Обзор криптографии
Безопасность — это не дополнительная функция Пассворка, а основа архитектуры продукта. В этом разделе описана криптографическая модель, алгоритмы и механизмы защиты данных.
Для кого этот раздел
- Специалисты по информационной безопасности — для проведения аудита и оценки соответствия требованиям организации
- Технические руководители — для принятия решения о внедрении продукта
- Администраторы — для понимания принципов работы и настройки системы
Стандарты и лицензии
Пассворк следует методологиям OWASP, требованиям ISO 27001 и принципам безопасной разработки (SDL).
Компания имеет лицензии ФСТЭК на техническую защиту конфиденциальной информации (ТЗКИ) и создание средств криптографической защиты (СКЗИ), а также лицензию ФСБ на деятельность, связанную с шифровальными средствами.
Архитектура нулевого доверия
Пассворк построен на принципе Zero Knowledge (нулевое знание): сервер не располагает информацией, достаточной для расшифровки пользовательских данных. Доступ к данным невозможен ни для администраторов сервера, ни для технических специалистов.
- Мастер-пароль никогда не покидает устройство пользователя
- Все криптографические ключи генерируются на клиенте
- Сервер хранит только зашифрованные данные и зашифрованные ключи
- Расшифровка возможна только на стороне клиента
Двухуровневая защита
Пассворк применяет два уровня шифрования:
| Уровень | Где выполняется | Ключ | Когда активен |
|---|---|---|---|
| Клиентское шифрование | Браузер/приложение | Ключи пользователя | При включённом CSE |
| Серверное шифрование | Сервер | Серверный ключ | Всегда |
Даже при отключённом клиентском шифровании данные защищены с ерверным шифрованием.
Используемые алгоритмы
| Назначение | Алгоритм | Параметры |
|---|---|---|
| Вывод ключа из пароля | PBKDF2 | SHA-256, 300K итераций |
| Симметричное шифрование (сервер) | AES-256-CFB | OpenSSL |
| Симметричное шифрование (клиент) | AES-256-CBC | + Base32 кодирование |
| Асимметричное шифрование | RSA-OAEP | 2048 бит, SHA-256 |
| Хеширование | SHA-256, SHA-512 | — |
Структура раздела
Основы
- Глоссарий — определения терминов: мастер-пароль, мастер-ключ, сейф, запись, ключи
- Модель данных — иерархия объектов и связь с криптографическими ключами
Шифрование
- Область шифрования — какие поля шифруются на клиенте, какие на сервере
- Иерархия ключей — схема ключей от мастер-пароля до ключей вложений
- Криптографические алгоритмы — характеристики PBKDF2, AES, RSA
Процессы
- Аутентификация — проверка мастер-пароля и получение доступа
- Локальное хранение — сохранение мастер-ключа в браузере
- Обмен записями — внутренний шэринг и внешние ссылки
Инфраструктура
- Серверное шифрование — AES-256-CFB, управление ключом, ротация
- Токены сессий — Access Token, Refresh Token, CSRF-защита
Быстрый обзор цепочки шифрования
КЛИЕНТ
┌─────────────────┐
│ Мастер-пароль │ ← Вводит пользователь
└────────┬────────┘
│ PBKDF2 (300K итераций)
▼
┌─────────────────┐
│ Мастер-ключ │ ← 512 бит
└────────┬────────┘
│ AES-256-CBC
▼
┌─────────────────┐
│ Приватный RSA │ ← 2048 бит
└────────┬───── ───┘
│ RSA-OAEP (WebCrypto)
▼
┌─────────────────┐
│ Ключ сейфа │ ← 256 бит
└────────┬────────┘
│ AES-256-CBC
▼
┌─────────────────┐
│ Ключ записи │ ← 256 бит
└────────┬────────┘
│ AES-256-CBC
▼
┌─────────────────┐
│ Данные записи │ ← Пароли, секреты, файлы (зашифрованы)
└────────┬────────┘
│
─────────┼───────────────────────────────────
│ СЕРВЕР
▼
┌─────────────────┐
│ Серверный ключ │ ← 256 бит (OpenSSL)
└────────┬────────┘
│ AES-256-CFB
▼
┌─────────────────┐
│ База данных │ ← Двойное шифрование
└─────────────────┘