Smart2FA: 100% автономный 2FA-аутентификатор с нулевым разглашением (Zero-Knowledge)


Разбор Smart2FA (0xid Edition) 2FA-аутентификатора с открытым исходным кодом, локальным шифрованием AES-256, биометрией и поддержкой десктопа и мобильных устройств.
Безопасность против удобства: дилемма аутентификации
В современной цифровой инфраструктуре двухфакторная аутентификация (2FA) - один из наиболее эффективных способов предотвращения несанкционированного доступа к аккаунтам. Тем не менее большинство популярных приложений-аутентификаторов заставляют идти на нежелательные компромиссы:
Риски централизованной облачной синхронизации: Хранение нешифрованных или управляемых провайдером токенов в проприетарных облаках расширяет поверхность атак, создает единую точку отказа и приводит к привязке к конкретной экосистеме (vendor lock-in).
Избыточная телеметрия и трекинг: Многие коммерческие аутентификаторы собирают аналитику, идентификаторы устройств и метрики использования, нарушая приватность.
Ограничения экспорта и платформенная привязка: Недостаточные возможности экспорта усложняют миграцию между платформами и увеличивают риск потери данных при смене устройства.
Чтобы обеспечить полную автономию пользователей, максимальную защиту данных и высокую производительность, мы создали Smart2FA (0xid Edition) - открытый клиентский аутентификатор с архитектурой Zero-Knowledge, исключающий сбор телеметрии, минимизирующий системные уязвимости и выполненный в стильном индустриальном дизайне.
Ключевая философия: Zero-Knowledge и принцип Local-First
Архитектура Smart2FA базируется на трех основополагающих принципах:
100% Offline по умолчанию: Никаких бэкенд-сервисов, аналитики и внешних сетевых запросов.
Криптографическая изоляция на стороне клиента: Все секреты остаются зашифрованными как на диске, так и в памяти до момента явной авторизации пользователем.
Портативность и совместимость: Поддержка стандартных форматов RFC, мгновенный пакетный импорт и удобная кроссплатформенная работа: Web, Desktop (Tauri/Rust) и Mobile (Capacitor).
Архитектура и функциональные возможности
1. Надежная криптографическая модель хранилища
Smart2FA никогда не сохраняет мастер-PIN в открытом виде. Схема хранения и расшифровки обеспечивает надежную защиту от атак перебором и дампов локального хранилища:

Жизненный цикл PIN в оперативной памяти: Расшифрованное состояние и рабочие секреты хранятся исключительно в энергозависимой оперативной памяти (RAM) в хранилище Pinia. Блокировка приложения, уход со страницы или ее перезагрузка мгновенно очищают память.
Биометрическая аутентификация (WebAuthn): На поддерживаемых устройствах (Touch ID, Face ID, Windows Hello) WebAuthn безопасно оборачивает ключ, обеспечивая мгновенный вход в одно касание без ущерба для криптографической стойкости.
Автоматическая блокировка: Настраиваемый тайм-аут бездействия (от 30 сек до 30 мин) для минимизации рисков при работе за общими устройствами.
Необратимый сброс данных (Panic Wipe): Защитный механизм очистки, требующий явного текстового подтверждения (
WIPE), мгновенно удаляет все ключи и локальные данные.
2. TOTP-движок RFC 6238 и удобство в реальном времени
Широкая поддержка протоколов: Работает на базе библиотеки
otpauth, поддерживает алгоритмы SHA-1, SHA-256 и SHA-512, коды из 6, 7 или 8 цифр, а также произвольные периоды обновления (30 с / 60 с).Наглядная индикация таймера: Динамический индикатор оставшегося времени, предупреждающе окрашивающийся в красный цвет за 5 секунд до смены кода.
Копирование в один клик: Мгновенное копирование кода в буфер обмена с информативными всплывающими toast-уведомлениями.
3. Гибкий ввод, автокатегоризация и импорт из Google Authenticator
Встроенный сканер QR-кодов: Быстрое распознавание камерой через
html5-qrcodeс автоматическим парсингом URIotpauth://.Пакетная миграция из Google Authenticator: Сканирование стандартного QR-кода экспорта «Перенос аккаунтов» (Transfer Accounts) из Google Authenticator и импорт всех учетных записей за одну операцию.
Умное определение категорий: Автоматическое распределение токенов по цветовым категориям (Work, Crypto, Finance, Social, Email, Gaming, Other) на основе имени сервиса (например, GitHub -> Work, Binance -> Crypto) и удобные вкладки фильтрации.
4. Зашифрованный экспорт и импорт (формат .oxid)
Экспорт всего хранилища в зашифрованный контейнерный файл
.oxidс меткой времени, защищенный ключом AES-256 на основе PIN-кода экспорта.Такие зашифрованные файлы можно безопасно хранить в холодном хранилище или передавать по открытым каналам без риска раскрытия секретов.
5. Кроссплатформенность: Desktop и Mobile
Tauri v2 (Rust Backend): Высокая производительность, минимальный размер бинарного файла, интеграция с системным треем и поддержка сворачивания в трей в фоновом режиме.
Мобильная сборка на Capacitor: Готовность к развертыванию на Android-устройствах.
Индустриальный интерфейс:
Технологический стек
Фронтенд: Vue 3 (Composition API &
<script setup>), Pinia 2, Vue Router 4, Tailwind CSS.Десктопная платформа: Tauri v2 (Rust).
Мобильная база: Capacitor.
Безопасность и TOTP:
crypto-js,otpauth,html5-qrcode.
Идеи для дальнейшего развития
Для постоянного совершенствования безопасности и функционала рассматриваются следующие возможности:
Поддержка аппаратных ключей безопасности (FIDO2 / YubiKey): Использование физического токена для защиты мастер-ключа хранилища.
Зашифрованная P2P-синхронизация по локальной сети: Безопасная бессерверная синхронизация между десктопом и смартфоном через локальный WebRTC или анимированные QR-коды.
CLI-утилита: Консольный инструмент для разработчиков для получения TOTP-кодов прямо в терминале при работе с SSH или в CI/CD пайплайнах.
Открытый исходный код и репозиторий
Smart2FA - это проект со 100% открытым исходным кодом под лицензией Apache License 2.0. Вы можете изучить кодовую базу, скачать релизы или принять участие в разработке:
Репозиторий на GitHub: https://github.com/technologiespro/Smart2FA
Инструменты наиболее полезны тогда, когда они решают реальные практические задачи пользователей.
Какие функции или интеграции были бы наиболее ценны для вашей повседневной работы и безопасности?
Делитесь своими идеями, предложениями и отзывами в комментариях или открывайте issues в репозитории GitHub!
P.S. В следующей версии я планирую отказаться от использования crypto-js. Версия 4.2.0 последняя из опубликованных версий этой библиотеки. В текущей кодовой базе Smart2FA она не содержит критических уязвимостей и выполняет свои задачи, однако в контексте современной веб и мобильной разработки сама библиотека считается устаревшей. В будущих мажорных релизах планирую перевести модуль src/lib/crypto.js на использование нативного API window.crypto.subtle (с переходом на алгоритм AES-GCM) это позволит повысить производительность и уменьшить объем зависимостей.
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.