Безопасность через честность
Что ChromVoid защищает, а что — нет. И почему мы открыто говорим об ограничениях.
Что защищает ChromVoid
ChromVoid предназначен для хранения паролей, OTP, заметок и других секретов с threat model, где возможны физический доступ, принуждение, сетевые атаки и оффлайн-анализ.
Критические активы и метаданные
| Актив | Описание | Последствия компрометации |
|---|---|---|
| Секреты в vault | Пароли, ключи, TOTP seeds, файлы | Полная компрометация аккаунтов |
| Vault password | Пароль для открытия vault | Доступ ко всем секретам vault |
| Master key | Корень доверия для хранилища | Backup/restore, pairing, erase — но НЕ доступ к данным |
| Device private key | Ключ Noise Protocol для текущего хоста | Компрометация транспортного канала |
| Session keys | Ключи активной Noise сессии | Расшифровка текущего трафика |
Чувствительные метаданные
| Метаданные | Защита |
|---|---|
| Количество vault'ов | Скрыто (Plausible Deniability) |
| Записи в vault | Скрыто до unlock (каталог зашифрован) |
| Время последнего доступа | Частично — timestamps ФС видны |
| Размер хранилища | Видим (общий размер чанков) |
| Структура директорий | Скрыто (плоская структура чанков) |
Границы доверия
ChromVoid построен как zero-trust система. Ни один компонент не «доверяется по умолчанию». Доступ выдаётся через capability grants. Вся связь шифруется end-to-end: Noise поверх USB/WebRTC DataChannel/WSS via Relay.
Зоны доверия и уровни
| Зона | Уровень доверия | Обоснование |
|---|---|---|
| Core Zone | Полное | Rust код, проверенная криптография |
| Client Zone (Tauri) | Высокое | Контролируемый код, но уязвим к malware на хосте |
| Browser Extension | Среднее | Изолированный контекст, но меньше контроля |
| Сеть | Нулевое | Всегда считаем скомпрометированной |
| Физический доступ к устройству | Принятый риск | Не защищаем от физического доступа |
Режимы работы
- Local mode: Rust Core встроен в Desktop/Mobile
- Mobile host: Телефон — source of truth (Secure Enclave/TEE), Desktop подключается по USB или WebRTC/WSS
- Desktop + Extension: browser extension подключается через Desktop Gateway по localhost; секреты остаются в Desktop-приложении
- Relay path: связанные клиенты могут общаться по WebRTC/WSS с end-to-end шифрованием транспорта
Криптография
Стандартные криптографические примитивы без проприетарных алгоритмов. Всё задокументировано и проверяемо.
Примитивы и применение
| Примитив | Применение | Контекст |
|---|---|---|
| ChaCha20-Poly1305 | AEAD шифрование данных | На хранении |
| Argon2id | Memory-hard KDF для деривации ключей из пароля | На хранении |
| BLAKE3 | Хэширование и деривация вспомогательных материалов | На хранении |
| Noise Protocol (XX/IK/XXpsk0) | End-to-end шифрование поверх всех каналов | На транспорте (USB / WebRTC / WSS) |
| X25519 | Обмен ключами в составе Noise | На транспорте |
Архитектура хранилища
ChromVoid использует chunk-based storage. Данные хранятся как зашифрованные чанки (~16KB). Каждый чанк шифруется отдельно. Запись на диск атомарная (write-temp-rename) + fsync.
Свойства безопасности хранилища
- Каждый чанк зашифрован независимо — упрощает sync, уменьшает «болтливость» структуры
- AAD = имя чанка — защита от атак подмены чанков
- Атомарная запись (write-temp-rename) + fsync для устойчивости к сбоям
- Sharded catalog — домены разделены (.passmanager, .wallet, .files)
- Delta sync — только изменённые чанки передаются
Offline-hardening
Когда у атакующего есть копия ваших файлов, ChromVoid применяет подход «разделить данные и ключевой материал». Данные хранилища (чанки) лежат в ФС. Дополнительный секрет (storage pepper) хранится отдельно (например, в OS keystore) и участвует в деривации ключей.
Plausible Deniability
ChromVoid поддерживает модель decoy-vault + скрытые vault'ы: нет очевидного сигнала «неверный пароль», минимум метаданных о количестве vault'ов, скрытые границы данных на уровне хранения (flat chunk подход).
Ограничения (важно прочитать)
- Зависит от класса атак: single-snapshot vs multi-snapshot анализ
- Свойства носителя могут оставлять следы/остатки записей
- Ваши привычки (OPSEC): правдоподобность decoy, регулярность использования, «объяснимость» структуры
- Не скрывает факт установки ChromVoid и общий размер данных
Акторы угроз
ChromVoid защищает от широкого спектра противников — от случайных воров до спецслужб. Разные уровни угроз требуют разных режимов работы.
Профили атакующих
| Актор | Ресурсы | Мотивация | Типичные атаки |
|---|---|---|---|
| Script kiddie | Низкие | Любопытство | Публичные эксплойты, phishing |
| Cybercriminal | Средние | Финансовая | Malware, credential theft |
| Nation-state | Высокие | Разведка | 0-day, supply chain, rubber hose |
| Insider | Средние | Разные | Социальная инженерия, физ. доступ |
Сценарии атак
Конкретные сценарии помогают понять, как защита ChromVoid работает на практике. Каждый сценарий описывает атакующего, цель, вектор атаки и результат защиты.
Что мы НЕ защищаем
Честное раскрытие ограничений — часть нашего подхода к безопасности. Это принятые риски.
- Компрометация хоста во время разблокировки: если ОС заражена и читает экран/клавиатуру/память при открытом vault, риск высок у любого менеджера паролей.
- Слабые пароли: KDF замедляет подбор, но не делает пароль сильным.
- Социальная инженерия и ошибки пользователя: перенос секретов в заметки/скриншоты/чат.
- Физический доступ к разблокированному хост-устройству: software-only защита не предотвращает прямой осмотр или извлечение данных из памяти.
- Компрометация supply chain хост-ОС, firmware или аппаратной части устройства вне scope этой threat model.
Рекомендации
Практические рекомендации для усиления защиты с ChromVoid.
- Критично Используйте сильную passphrase (4-5 слов или ≥12 символов)
- Важно Держите decoy-vault правдоподобным и «объяснимым»
- Важно Предпочитайте localhost или прямое кабельное подключение, когда это возможно
- Критично Включите auto-lock и блокировку при sleep
- Критично Храните master_password на бумаге в безопасном месте
- Важно Делайте регулярные зашифрованные бэкапы
- Рекомендация Обновляйте приложение до последней версии
Проверяемость
Архитектура ChromVoid открыта и задокументирована. Вы можете проверить заявления о безопасности самостоятельно.
- Архитектурные схемы ядра, транспорта и границ доверия
- Публичный репозиторий и спецификации протоколов
- Спецификация API (OpenAPI)
Responsible Disclosure
Если вы нашли уязвимость, пожалуйста, сообщите о ней ответственно.
- Не публикуйте PoC публично до исправления
- Напишите на security@chromvoid.com или через GitHub Security Advisories
- Мы подтвердим получение и дадим статус