Безпека
Математика, а не політика.
Більшість менеджерів паролів кажуть: «Ми ніколи не читатимемо ваші дані». Архітектура Clavitor означає, що ми не можемо. Ваш відбиток пальця, обличчя або ключ безпеки генерують ключі шифрування, яких ніколи не існує на жодному сервері. Ми тримаємо сейф. Тільки Ви тримаєте ключ.
Три речі роблять це можливим.
01 — Поле
Шифрування для кожного поля
Кожне поле має власний рівень шифрування. Ваш ключ API може читати агент, якому він потрібен; ваша кредитна картка в тому ж записі — ні. Той самий запис, різний доступ.
02 — Апаратне забезпечення
Ключі, отримані з апаратного забезпечення
Ваші найчутливіші поля зашифровані ключем, отриманим з вашого пристрою — відбитка пальця, обличчя або ключа безпеки. Ключ обчислюється у вашому браузері. Він ніколи не залишає пристрій.
03 — Відстань
Поза досяжністю
Сховище працює на окремій інфраструктурі, до якої ваш ШІ-агент не може доторкнутися. Облікові дані випускаються через вузький API, обмежений для кожного агента. Нічого на вашому ноутбуці. Нічого у вашому файлі .env.
Tier 1 — Vault encryption
Все зашифровано під час зберігання.
Every record in your vault — every field, every entry, every byte — is encrypted at rest with AES-256-GCM. The encryption key is 8 bytes, derived from a 32-byte master secret that was randomly generated when your vault was created. That master secret is never stored on disk. It exists only inside a WL3 file, wrapped with the output of your hardware key.
Якщо хтось вкраде файл сховища — вкрадена резервна копія, скомпрометований хост, ворожий системний адміністратор — вони отримають шифротекст. Назви записів, імена користувачів, паролі, картки, нотатки: все зашифровано. 8-байтовий ключ є достатньо надійним, щоб його перебір був обчислювально непрактичним, і навіть тоді поля всередині зашифровані знову на вищих рівнях шифрування.
Це базовий рівень. Кожен менеджер паролів шифрує під час зберігання. Важливо те, що відбувається вище цього рядка.
Tier 2 — Credential encryption
Ваші агенти можуть читати облікові дані. Нічого більше.
Над рівнем сховища кожне поле облікових даних — ключі API, паролі, насіння TOTP, токени OAuth, ключі SSH — зашифровано індивідуально власним похідним ключем. Ключ шифрування — це 16 байтів повної ентропії. Обчислювально незламний.
Ваші ШІ-агенти отримують цей ключ, щоб вони могли виконувати свою роботу. Це за задумом — агент, який розгортає ваш код, потребує вашого ключа SSH. Але ключ постачається з чотирма рівнями захисту, які контролюють, що з ним відбувається:
Обмежені токени. Кожен агент отримує токен, який надає доступ до певних записів. Ваш агент розгортання бачить ваш ключ SSH та ваші облікові дані AWS. Він не бачить ваш ключ Stripe, ваш пароль електронної пошти чи записи вашого колеги. Він не може перераховувати, переглядати, шукати чи виявляти облікові дані поза межами свого доступу. Він отримує те, на що був названий, і не може знайти те, чого не має.
Відстань. Ваше сховище не на вашому ноутбуці. Воно працює на окремій інфраструктурі, до якої ваш агент не може доторкнутися. Агент взаємодіє через вузький API, який обслуговує або відмовляє — немає файлової системи для читання, немає пам'яті процесу для перевірки, немає локального кешу для рейду. Якби сховище знаходилося на тій самій машині, що й агент, скомпрометований навик міг би проникнути в систему та витягти те, що йому потрібно. Відстань повністю усуває цей варіант.
Обмеження швидкості. Агент, який отримує доступ до більше ніж трьох унікальних облікових даних за хвилину або десяти за годину, обмежується. Друге порушення протягом двох годин призводить до жорсткого блокування — агент заморожується і потребує вашого апаратного ключа для розблокування. Звичайному агенту потрібно два або три облікові дані. Агент, який читає десять, або неправильно налаштований, або скомпрометований. У будь-якому випадку, він зупиняється.
Білий список IP-адрес. Кожен токен агента прив'язаний до вихідної IP-адреси під час першого контакту. Вкрадений токен, використаний з іншої IP-адреси, відхиляється на рівні проміжного програмного забезпечення перед виконанням будь-якого обробника. Зловмисник має ключ, але не може використовувати його ніде, крім машини, на якій він був виданий.
Результат: радіус ураження скомпрометованого агента обмежений його областю доступу, з його IP-адреси, зі швидкістю, що викликає блокування до того, як може відбутися значна ексфільтрація. Ваші інші агенти, ваші інші облікові дані та ваші поля ідентифікації залишаються недоторканими.
Tier 3 — Identity encryption
Ваші найчутливіші дані зашифровані вашим пристроєм. Ми не можемо їх прочитати.
Кредитні картки, CVV, номери паспортів, SSN, коди відновлення, приватні нотатки, ключі підпису — це поля ідентифікації. Вони зашифровані 32-байтовим ключем, який був випадково згенерований під час створення вашого сховища. Ви не знаєте цього ключа. Ми його не маємо. Він ніколи не існував на жодному сервері.
The key lives inside a WL3 file, wrapped with the 32-byte output of your hardware key's PRF extension (WebAuthn PRF). To unwrap it, you need the physical device — your fingerprint reader, your face sensor, or your YubiKey. The unwrapping happens in your browser. The plaintext key exists in browser memory for the duration of one operation, then it's gone.
Жоден агент не отримує цього ключа. Жоден кінцевий пункт API його не надає. Жоден серверний процес не може його отримати. Поля ідентифікації є шифротекстом на кожному сервері, у кожній резервній копії, у кожній цілі реплікації, у будь-який момент часу. Злам нашої інфраструктури — повний, всеосяжний, кожен байт ексфільтрований — призводить до шифротексту для кожного поля ідентифікації у всіх сховищах. Ключ розшифрування не міститься в ексфільтрованих даних. Його не може бути, тому що його там ніколи не було.
Ми не можемо розшифрувати ваші поля ідентифікації. Нас не можна змусити надати ключ, якого ми не маємо. Це не обіцянка політики. Це математична властивість системи.
Ніхто, крім Вас, не має доступу
І майстер-пароля немає.
Немає нічого, що можна забути, нічого, на що можна потрапити через фішинг, нічого, що можна зламати під час витоку даних. Ваш пристрій — відбиток пальця, обличчя або ключ безпеки — єдиний шлях доступу. Кожне з'єднання — це TLS 1.3 із сучасними шифрами та HSTS. Облікові дані випускаються для обмежених токенів агентів через вузькі кінцеві точки API, ніколи не реєструються. Навіть наша підтримка ШІ не може бачити ваші облікові дані — те саме шифрування, яке приховує ваші секрети від нас, приховує їх і від наших інструментів підтримки.
Модель загроз
Проти чого ми захищаємося.
Кожна платформа облікових даних стикається з однаковою поверхнею атаки. Ось як Clavitor розроблено проти кожної з них.
| Загроза | Як ми захищаємося | Результат |
|---|---|---|
| Фішинг облікових даних | Користувачі не знають своїх паролів (32-байтний випадковий, ніколи не відображається). Розширення заповнює лише при збігу URL. Користувач не може ввести те, чого не знає. | Структурно заблоковано |
| Фішинг OTP / 2FA | TOTP зберігається у сховищі, обмежений справжнім доменом. Неправильний домен — немає коду. Той самий захист, що й для пароля. | Структурно заблоковано |
| Злам сервера | Поля ідентифікації зашифровані ключами, отриманими з апаратного забезпечення, яких ми не маємо. Поля облікових даних автоматично ротуються — витік відкритого тексту закінчується протягом кількох годин. | Збитки обмежені |
| Скомпрометований ШІ-агент | Кожен агент має обмежений токен. Компрометація викриває лише область доступу агента — а не ваше повне сховище. | Радіус ураження обмежений |
| Шкідливе ПЗ на кінцевій точці | Сховище віддалене, а не локальне. Токени сеансу мають обмежений термін дії. Виклики WebAuthn прив'язані до походження — шкідливе ПЗ не може підписатися від імені користувача. | Пом'якшено |
| Внутрішня атака | Поля ідентифікації математично недоступні для нас. Ми не могли б надати відкритий текст за повісткою. | Поза нашим досягненням |
Довіряйте платформі, а не лише криптографії.
Шифрування — це лише одна з трьох гарантій. Інші дві стосуються того, що відбувається, коли щось виходить з ладу — сервіс або ваш власний доступ до нього.
Стійкість — сервіс продовжує працювати
Ми запитали, що відбувається, коли виходить з ладу кожен рівень — хмара, DNS, реєстратор, електронна пошта, наше власне програмне забезпечення. Архітектура розроблена так, що відповідь завжди однакова: сховище продовжує працювати. Список чесних загроз →
Відновлення — ви залишаєтеся в системі
Втратьте свій апаратний ключ, і ви все одно зможете повернутися — за допомогою коду з розділеним знанням з вашого боку, якоря відновлення з нашого боку та дзвінка Zoom із матеріалами для перевірки, які Ви вибрали. Жодного скидання електронною поштою, жодного SMS, жодних секретних запитань. Як працює відновлення →
Читайте глибші дослідження.
Для технічної аудиторії: криптографічні деталі, огляди моделі загроз та відкрите запрошення знайти те, що ми пропустили.