Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
legion — Legion — это ткань аутентификации с нулевым разглашением, созданная для конфиденциальности | Kitploit
Инструменты/GitHubGitHub/deadends/legion
Веб-безопасностьКриптографияКонфиденциальностьАппаратная БезопасностьУправление идентификацией и доступом (IAM)Аутентификация
GitHubdeadends/legion

legion

Legion — это ткань аутентификации с нулевым разглашением, созданная для конфиденциальности

Репозиторий
10198 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Legion ZK Auth 🛡️

Настоящая аутентификация с нулевым разглашением с аппаратно-привязанными кольцевыми подписями устройств

License: MIT Rust Security Version

🎯 Что такое Legion?

Legion — это система аутентификации с нулевым разглашением без пароля, которая доказывает, что вы авторизованы, не раскрывая, кто вы.

Аутентифицируйтесь, используя только отпечаток пальца + 24-словную фразу восстановления (как в MetaMask). Без имен пользователей, без паролей, без серверных секретов.

Ключевые возможности

  • ✅ Аутентификация без пароля: фраза восстановления BIP-39 + отпечаток пальца (без имени пользователя/пароля)
  • ✅ Истинное нулевое разглашение: сервер никогда не узнает вашу личность (1 из 1M пользователей)
  • ✅ Анонимность устройства: аппаратная привязка с кольцевыми подписями (1 из 1K устройств)
  • ✅ Без доверенной настройки: Halo2 PLONK (прозрачная настройка)
  • ✅ Безопасность оборудования: привязка WebAuthn к TPM/Secure Enclave
  • ✅ Защита от повторного воспроизведения: нуллификаторы + временные метки
  • ✅ Безопасность сессии: теги связывания предотвращают кражу
  • ✅ Поддержка нескольких устройств: используйте одну учётную запись на 2 устройствах (ноутбук + телефон)
  • ✅ Ограничение скорости: 5 попыток в час (общие ошибки предотвращают перебор)
  • ✅ Отзыв устройств: мгновенная блокировка украденных устройств
  • 🔒 Гарантии безопасности (v1.3.0)

    СвойствоГарантия
    АутентификацияБез пароля (BIP-39 + отпечаток пальца)
    Анонимность пользователя1 из 2^20 (1,048,576)
    Анонимность устройства1 из 2^10 (1,024) на пользователя
    Ошибка обоснованности2^-128
    Система доказательствHalo2 PLONK (прозрачная настройка)
    Вывод учётных данныхBlake3 (сид BIP-39)
    Аппаратная привязкаWebAuthn Level 2 (TPM/Secure Enclave)
    Несколько устройствМакс. 2 устройства на учётную запись
    Ограничение скорости5 попыток в час
    Отзыв устройствМгновенный чёрный список

    🚀 Быстрый старт (одна команда!)

    Предварительные требования

    • Docker (включает Docker Compose)

    Установка и запуск```bash

    Clone and run

    git clone https://github.com/deadends/legion.git cd legion

    Linux/macOS

    chmod +x scripts/install.sh && ./scripts/install.sh

    Windows

    scripts\install.bat

    root@kitploit:~
    **Вот и всё!** Откройте http://localhost в своём браузере.
    
    ### Что устанавливается
    - ✅ Redis (хранилище сессий)
    - ✅ Legion Server (проверка ZK-доказательств)
    - ✅ Frontend (WASM-клиент)
    - ✅ Nginx (обратный прокси)
    
    **Производительность**: Регистрация ~5с, Аутентификация ~2мин (генерация доказательств k=14)
    
    ---
    
    ### Ручная настройка (без Docker)
    
    <details>
    <summary>Нажмите, чтобы развернуть инструкцию по установке</summary>```bash
    # 1. Install Redis
    # macOS: brew install redis && redis-server
    # Ubuntu: sudo apt install redis && redis-server
    # Windows: https://redis.io/docs/install/install-redis/install-redis-on-windows/
    
    # 2. Run server (terminal 1)
    cd legion-server
    cargo run --release --features redis
    
    # 3. Build frontend (terminal 2)
    cd wasm-client
    wasm-pack build --target web --release
    python3 -m http.server 8000
    
    # 4. Open http://localhost:8000
    

    Для production-развертывания см. DEPLOYMENT.md

    📊 Производительность

    Уровень безопасностиkВремя доказательстваРазмер доказательстваСценарий использования
    Разработка12~30с3.2 КБТестирование
    Продакшн14~2мин3.4 КБРекомендуется

    Бенчмарки верификации

    Тестовое оборудование: Lenovo IdeaPad 3 - Intel Core i3 11th Gen
    Примечание: Производительность может варьироваться в зависимости от характеристик оборудования.

    k=12 (Разработка/Тестирование)

    МетрикаЗначениеПримечания
    Размер доказательства3,264 байт3.19 КБ сжато
    Публичные входные данные10корень дерева пользователя, корень дерева устройства, nullifier и т.д.
    Генерация параметров7.03сЕдиноразовая настройка для каждого значения k
    Создание схемы2.3мксНезначительные накладные расходы
    Генерация верифицирующего ключа1.29сЕдиноразовая генерация ключа
    Верификация доказательства107.7мсФактическая проверка ZK-доказательства
    Итоговая верификация8.43сСквозная верификация (без кэширования)

    Детализация:

    • 🔥 Холодный старт (первая верификация): ~8.4с (включает параметры + генерацию ключа + верификацию)
    • ⚡ Последующие верификации (с кэшированием): ~108мс (параметры/генерация ключа кэшированы)
    • 💾 Накладные расходы на доказательство: ~326 байт на каждый публичный вход
    • 🔐 Сложность схемы: Дерево пользователя (20 уровней) + Дерево устройства (10 уровней) + привязки

    k=14 (Продакшн - Рекомендуется)

    МетрикаЗначениеПримечания
    Размер доказательства3,392 байт3.31 КБ сжато
    Публичные входные данные10корень дерева пользователя, корень дерева устройства, nullifier и т.д.
    Генерация параметров100.78сЕдиноразовая настройка для каждого значения k
    Создание схемы5мксНезначительные накладные расходы
    Генерация верифицирующего ключа12.89сЕдиноразовая генерация ключа
    Верификация доказательства967.2мсФактическая проверка ZK-доказательства
    Итоговая верификация114.65сСквозная верификация (без кэширования)

    Детализация:

    • 🔥 Холодный старт (первая верификация): ~115с (включает параметры + генерацию ключа + верификацию)
    • ⚡ Последующие верификации (с кэшированием): ~967мс (параметры/генерация ключа кэшированы)
    • 💾 Накладные расходы на доказательство: ~339 байт на каждый публичный вход
    • 🔐 Сложность схемы: Дерево пользователя (20 уровней) + Дерево устройства (10 уровней) + привязки

    Важно: Генерация параметров и генерация ключа являются единоразовыми затратами, которые могут быть кэшированы. После кэширования верификация занимает всего ~108-967мс в зависимости от значения k. Текущая реализация пока не кэширует параметры.

    Почему медленнее старых бенчмарков? Беспарольная схема теперь верифицирует ДВА дерева Меркла (пользователь + устройство) вместо одного, обеспечивая истинную анонимность на уровне устройства (1 из 1024 устройств на пользователя).

    🏗️ Архитектура

    📖 Для подробного пошагового описания процесса аутентификации с криптографическими деталями см. ARCHITECTURE_FLOW.md

    Компоненты системы```

    ┌─────────────────────────────────────────────────────────────────────────┐ │ CLIENT (Browser + WASM) │ ├─────────────────────────────────────────────────────────────────────────┤ │ ┌────────────────┐ ┌─────────────────┐ ┌──────────────────────────┐ │ │ │ UI Layer │ │ WASM Prover │ │ Local Storage │ │ │ │ (Vanilla JS) │ │ (Rust→WASM) │ │ (IndexedDB) │ │ │ ├────────────────┤ ├─────────────────┤ ├──────────────────────────┤ │ │ │ • Registration │ │ • Blake3 Hash │ │ • Full Merkle Tree │ │ │ │ • Login Form │ │ • BIP-39 Derive │ │ • Device Trees │ │ │ │ • Session UI │ │ • Halo2 Prover │ │ • WebAuthn Credentials │ │ │ │ • Tree Sync │ │ • Merkle Proof │ │ • Tree Version Cache │ │ │ └────────────────┘ │ • Ring Sigs │ └──────────────────────────┘ │ │ └─────────────────┘ │ │ ┌──────────────────────────────────────────────────────────────────┐ │ │ │ Hardware Security (WebAuthn Level 2) │ │ │ ├──────────────────────────────────────────────────────────────────┤ │ │ │ • TPM 2.0 / Secure Enclave • FIDO2 Authenticator │ │ │ │ • Device Private Key (ECDSA) • Biometric/Touch Required │ │ │ └──────────────────────────────────────────────────────────────────┘ │ └────────────────────────────────┬────────────────────────────────────────┘ │ HTTPS/TLS 1.3 │ (Encrypted Channel) ▼ ┌──────────────────────────────────────────────────────────────────────────┐ │ LEGION SERVER (Rust/Axum) │ ├──────────────────────────────────────────────────────────────────────────┤ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ API Layer (Axum) │ │ │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ POST /api/register-blind │ Blind registration │ │ │ │ GET /api/download-tree │ Download full Merkle tree │ │ │ │ POST /api/verify-anonymous-proof │ Verify ZK proof │ │ │ │ POST /api/verify-session │ Session validation │ │ │ │ POST /api/webauthn/* │ WebAuthn endpoints │ │ │ │ GET /health │ Health check │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ Business Logic Layer │ │ │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ • Blind Registration │ • Tree Synchronization │ │ │ │ • ZK Proof Verifier │ • Nullifier Tracker (replay) │ │ │ │ • Session Manager │ • Linkability Tag Validator │ │ │ │ • WebAuthn Service │ • Timestamp Validator (±10min) │ │ │ │ • Device Revocation │ • Rate Limiter (5/hour) │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ Cryptographic Layer │ │ │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ • Halo2 Verifier (PLONK) │ • Poseidon Hash (ZK-friendly) │ │ │ │ • Blake3 (credential) │ • BIP-39 (recovery phrase) │ │ │ │ • Merkle Tree (2^20) │ • Device Trees (2^10 per user) │ │ │ │ • Ring Signature Verify │ • WebAuthn Signature Verify │ │ │ └─────────────────────────────────────────────────────────────────┘ │ └────────────────────────┬──────────────────────┬──────────────────────────┘ │ │ ▼ ▼ ┌────────────────────────┐ ┌───────────────────────────┐ │ Redis (In-Memory) │ │ RocksDB (Persistent) │ ├────────────────────────┤ ├───────────────────────────┤ │ • Session Tokens │ │ • Merkle Tree Leaves │ │ • Linkability Tags │ │ • Device Trees │ │ • Spent Nullifiers │ │ • Nullifier History │ │ • Rate Limit Counters │ │ • WebAuthn Credentials │ │ TTL: 1 hour │ │ • Revoked Devices │ └────────────────────────┘ └───────────────────────────┘

    root@kitploit:~
    ### Поток аутентификации (упрощенный)```
    ┌─────────────┐                                                ┌──────────────┐
    │   Client    │                                                │    Server    │
    │  (Browser)  │                                                │  (Verifier)  │
    └──────┬──────┘                                                └──────┬───────┘
           │                                                              │
           │ 1. Generate 24-word recovery phrase (BIP-39)                 │
           │    → 256-bit entropy (like MetaMask)                         │
           │    → User writes down on paper                               │
           │                                                              │
           │ 2. Derive account_id from phrase (Blake3)                    │
           │    account_id = Blake3("LEGION_ACCOUNT_V2" || bip39_seed)    │
           │    → Deterministic, no server interaction                    │
           │                                                              │
           │ 3. Hash account_id for tree leaf (Poseidon)                  │
           │    credential_hash = Poseidon(account_id)                    │
           │                                                              │
           │ 4. Blind registration (TRUE zero-knowledge)             ────►│
           │    → Sends ONLY credential_hash (no phrase/identity)         │
           │    → Server adds to tree, returns tree_index                 │
           │                                                         ◄────│ {tree_index: 114}
           │                                                              │
           │ 5. Download full Merkle tree (one-time sync)            ────►│
           │    → Client stores entire tree in IndexedDB                  │
           │    → Enables TRUE zero-knowledge (no server queries)         │
           │                                                         ◄────│ {tree_data: [all leaves],
           │                                                              │  merkle_root, version}
           │                                                              │
           │ 6. Generate WebAuthn key (TPM/Secure Enclave)                │
           │    → Fingerprint prompt creates hardware-bound key           │
           │    → device_pubkey (ECDSA P-256, non-exportable)             │
           │    → Stored in TPM 2.0 / Secure Enclave                      │
           │                                                              │
           │ 7. Register device in device tree                       ────►│
           │    → device_commitment = Blake3(credential_id)               │
           │    → Server converts to valid field element if needed        │
           │    → Server adds to user's device tree (1 of 1024 slots)     │
           │                                                         ◄────│ {device_position: 0,
           │                                                              │  device_tree_root}
           │                                                              │
           │ 8. LOGIN: Touch fingerprint to authenticate                  │
           │    → WebAuthn verifies hardware-bound key                    │
           │    → Decrypts recovery phrase from local storage             │
           │    → Re-derives account_id from phrase                       │
           │                                                              │
           │ 9. Fetch device Merkle proof                            ────►│
           │    → Sends account_id (derived from phrase)                  │
           │    → Server returns device tree path                         │
           │                                                         ◄────│ {device_path: [siblings],
           │                                                              │  device_root}
           │                                                              │
           │ 10. Compute user Merkle proof CLIENT-SIDE                    │
           │    → Uses local tree from IndexedDB                          │
           │    → Computes path for tree_index                            │
           │    → Server NEVER learns which user!                         │
           │                                                              │
           │ 11. Compute nullifier (replay protection)                    │
           │    nullifier = Poseidon(account_id || challenge)             │
           │    → ONE-TIME USE: Different every login                     │
           │    → Prevents proof replay attacks                           │
           │                                                              │
           │ 12. Compute linkability tag (session binding)                │
           │    linkability_tag = Blake3(device_pubkey || nullifier)      │
           │    ⚠️  Binds session to specific device+user                 │        
           │                                                              │
           │ 13. Generate ZK proof (Halo2 PLONK, ~2min for k=14)          │
           │    Proves in zero-knowledge:                                 │
           │    ✓ User exists in Merkle tree (1 of 2^20)                  │
           │    ✓ Device exists in device tree (1 of 2^10)                │
           │    ✓ account_id hashes to credential_hash                    │
           │    ✓ Nullifier computed correctly                            │
           │    ✓ Timestamp is fresh                                      │
           │    WITHOUT revealing which user or device                    │
           │                                                              │
           │ 14. Submit proof                                        ────►│
           │    {proof, public_inputs, linkability_tag, k=14}             │
           │                                                              │ • Check device not revoked
           │                                                              │ • Verify timestamp (±10min)
           │                                                              │ • Rate limit check (5/hour)
           │                                                              │ • Check nullifier (replay?)
           │                                                              │ • Verify ZK proof (~115s)
           │                                                              │ • Mark nullifier as used
           │                                                              │
           │                                                         ◄────│ {session_token, expires_at}
           │                                                              │
           │ 15. Verify session (every request)                      ────►│
           │    {session_token, linkability_tag}                          │
           │                                                              │ • Lookup in Redis
           │                                                              │ • Verify linkability_tag
           │                                                              │   (prevents session theft)
           │                                                              │ • Check not spent
           │                                                         ◄────│ {valid: true}
           │                                                              │
    

    🔍 Хотите узнать больше? Смотрите ARCHITECTURE_FLOW.md для:

    • Пошаговые криптографические операции
    • Детали ограничений схемы
    • Объяснения свойств безопасности
    • Механизмы устойчивости к атакам

    Глубокое погружение в безопасность сессий```

    ┌─────────────────────────────────────────────────────────────────────────┐ │ SESSION SECURITY MECHANISMS │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ 1. LINKABILITY TAG (Zero-Knowledge Device Binding) │ │ ═══════════════════════════════════════════════════════ │ │ │ │ linkability_tag = Blake3(device_pubkey || nullifier) │ │ │ │ • Computed client-side using hardware-bound device key │ │ • Sent with every session validation request │ │ • Server verifies: stored_tag == provided_tag │ │ │ │ ✅ PREVENTS: Session token theft/replay on different device │ │ ✅ ENSURES: Same user + same device for entire session │ │ ✅ MAINTAINS: Zero-knowledge (server doesn't learn identity) │ │ │ │ ───────────────────────────────────────────────────────────────── │ │ │ │ 2. SESSION TOKEN (Cryptographic Binding) │ │ ═══════════════════════════════════════════════════════ │ │ │ │ session_token = Poseidon(nullifier || timestamp || linkability_tag) │ │ │ │ • Generated server-side after proof verification │ │ • Stored in Redis with linkability_tag as value │ │ • Cannot be forged without knowing nullifier │ │ │ │ ✅ PREVENTS: Token forgery │ │ ✅ ENSURES: Cryptographic binding to proof │ │ │ │ ───────────────────────────────────────────────────────────────── │ │ │ │ 3. NULLIFIER (Replay Protection) │ │ ═══════════════════════════════════════════════════════ │ │ │ │ nullifier = Poseidon(credential_hash || challenge) │ │ │ │ • Unique per authentication attempt │ │ • Tracked in RocksDB (permanent) and Redis (cache) │ │ • Server rejects if nullifier seen before │ │ │ │ ✅ PREVENTS: Proof replay attacks │ │ ✅ ENSURES: One-time use per challenge │ │ │ │ ───────────────────────────────────────────────────────────────── │ │ │ │ 4. TIMESTAMP VALIDATION (Time-Bound Security) │ │ ═══════════════════════════════════════════════════════ │ │ │ │ • Proof includes timestamp (Unix epoch) │ │ • Server validates: |proof_time - server_time| < 5 minutes │ │ • Session TTL: 1 hour (sliding window) │ │ │ │ ✅ PREVENTS: Old proof replay │ │ ✅ ENSURES: Fresh authentication │ │ │ │ ───────────────────────────────────────────────────────────────── │ │ │ │ 5. CHALLENGE-RESPONSE (Freshness Guarantee) │ │ ═══════════════════════════════════════════════════════ │ │ │ │ • Server generates random 32-byte challenge │ │ • Stored in Redis with 5-minute TTL │ │ • Client must include in proof │ │ • Server verifies challenge matches and deletes │ │ │ │ ✅ PREVENTS: Pre-computed proof attacks │ │ ✅ ENSURES: Proof generated for this specific session │ │ │ └─────────────────────────────────────────────────────────────────────────┘

    root@kitploit:~
    ## 🔐 Свойства нулевого разглашения
    
    ### Что известно серверу
    - ✅ Кто-то из множества анонимности прошел аутентификацию
    - ✅ Доказательство криптографически валидно
    - ✅ Тот же пользователь+устройство через тег связываемости
    - ✅ Статус ограничения скорости (оставшиеся попытки)
    - ✅ Статус отзыва устройства
    - ✅ Общее количество зарегистрированных пользователей
    - ✅ Корень дерева Меркла (публичный)
    
    ### Что сервер НЕ МОЖЕТ знать
    - ❌ Какой конкретный пользователь (1 из 1 млн)
    - ❌ Какое конкретное устройство (1 из 1 тыс. на пользователя)
    - ❌ Фраза восстановления (BIP-39 seed)
    - ❌ account_id (производный от фразы)
    - ❌ Приватный ключ устройства (в TPM/Secure Enclave)
    - ❌ Какой лист дерева принадлежит какому пользователю
    - ❌ Путь пользователя в дереве Меркла (вычисляется на стороне клиента)
    - ❌ Позиция пользователя (tree_index)
    
    ## 📦 Развертывание
    
    См. [DEPLOYMENT.md](https://github.com/deadends/legion/blob/passwordless-v1.3/docs/DEPLOYMENT.md) для подробного руководства по развертыванию в production.
    
    ### Быстрое развертывание с Docker```bash
    # Production build
    docker-compose -f deployment/docker-compose.yml up -d
    
    # Check logs
    docker-compose -f deployment/docker-compose.yml logs -f legion-server
    
    # Check health
    curl http://localhost/health
    

    Переменные окружения```env

    RUST_LOG=info LEGION_DATA_PATH=/var/lib/legion/data REDIS_URL=redis://127.0.0.1:6379

    root@kitploit:~
    ## 🧪 Тестирование```bash
    # Run all tests
    cargo test --workspace
    
    # Run with Redis features
    cargo test --workspace --features redis
    
    # Benchmark
    cargo bench
    

    📚 Документация

    • Архитектура работы - Подробная схема аутентификации
    • Исправления безопасности - Улучшения безопасности в v1.1.0
    • Руководство по развертыванию - Продуктовое развертывание
    • Политика безопасности - Гарантии безопасности и отчеты
    • Участие - Рекомендации по участию

    🛠️ Технологический стек

    • ZK-доказательства: Halo2 (PLONK) - Прозрачная настройка, без доверенной церемонии
    • Кривые: Pasta (Pallas/Vesta) - Цикл кривых для рекурсии
    • Хэш: Blake3 (вывод учетных данных), Poseidon (ZK-дружественный)
    • Вывод ключей: BIP-39 (24-словная мнемоническая фраза)
    • Оборудование: WebAuthn Level 2 (TPM 2.0, Secure Enclave)
    • Бэкенд: Rust, Axum, Redis (сессии), RocksDB (постоянное хранилище)
    • Фронтенд: Rust→WASM (доказатель), Vanilla JS (UI), IndexedDB (хранилище)
    • Развертывание: Docker, Nginx, systemd

    🤝 Участие

    Приветствуются любые вклады! Сначала прочтите CONTRIBUTING.md.

    1. Форкните репозиторий
    2. Создайте ветку функции (git checkout -b feature/amazing)
    3. Зафиксируйте изменения (git commit -m 'Add amazing feature')
    4. Отправьте в ветку (git push origin feature/amazing)
    5. Откройте Pull Request

    🔒 Безопасность

    Нашли проблему безопасности? Обратитесь к SECURITY.md для ответственного раскрытия.

    НЕ открывайте публичные запросы по уязвимостям.

    📄 Лицензия

    Лицензия MIT - подробнее в файле LICENSE.

    🔄 Журнал изменений

    v1.3.0 - Аутентификация без пароля (2024)

    Основные изменения:

    • ✅ Аутентификация без пароля - мнемоническая фраза BIP-39 + отпечаток пальца
    • ✅ Однопольная схема - account_id, полученный из seed'а BIP-39
    • ✅ Кольцевые подписи устройств - анонимность 1 из 1024 устройств на пользователя
    • ✅ Поддержка нескольких устройств - используйте одну учетную запись на 2 устройствах
    • ✅ Привязанные к оборудованию ключи - интеграция WebAuthn TPM/Secure Enclave
    • ✅ Обработка элементов поля Blake3 - автоматическое преобразование для обязательств устройств

    Архитектура:

    • 🏗️ Нет имени пользователя/пароля - только мнемоническая фраза + отпечаток пальца
    • 🏗️ Вывод account_id на стороне клиента (Blake3 + BIP-39)
    • 🏗️ Деревья устройств на сервере (изоляция по пользователям)
    • 🏗️ Двойная проверка дерева Меркла (дерево пользователя + дерево устройства)
    • 🏗️ Надёжное преобразование элементов поля (обрабатывает выходные данные Blake3 >= модуля поля)

    v1.2.0 - Архитектура доказательств на стороне клиента (2024)

    Основные изменения:

    • ✅ Хранение дерева Меркла на клиенте (IndexedDB) - ПОЛНОЕ нулевое знание
    • ✅ Слепая регистрация - сервер никогда не видит учетные данные
    • ✅ Локальная генерация доказательств - вся криптография в WASM
    • ✅ Синхронизация деревьев - скачайте полное дерево один раз, вычисляйте пути локально
    • ✅ Использованные нуллификаторы - одноразовые сессии предотвращают параллельный доступ

    v1.1.0 - Укрепление безопасности (2024)

    Добавлено:

    • ✅ Ограничение скорости (5 попыток/час на каждый учетный данные)
    • ✅ API отзыва устройств и его применение
    • ✅ Метки связывания для предотвращения кражи сессий

    Исправления безопасности:

    • 🔒 Исправлена утечка идентификационных данных в запросах вызова
    • 🔒 Предотвращены атаки перебором с помощью ограничения скорости
    • 🔒 Включена защита от украденных устройств через отзыв

    🙏 Благодарности

    • Halo2 - система ZK-доказательств
    • WebAuthn - аппаратная аутентификация
    • Blake3 - быстрый хэш
    • BIP-39 - мнемонические фразы восстановления

    📞 Контакты

    • GitHub: @deadends
    • Email: [email protected]
    • Сайт: https://nantha.dev

    Создано с ❤️ для конфиденциальности и безопасности

    Скачать инструмент