Sign in Бесплатно навсегда Get started

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

Математика, а не политика.

Большинство менеджеров паролей говорят: «Мы никогда не прочитаем ваши данные». Архитектура Clavitor означает, что мы не можем. Ваш отпечаток пальца, лицо или ключ безопасности генерируют ключи шифрования, которых никогда не существует ни на одном сервере. Мы держим сейф. Только Вы держите ключ.

Три вещи делают это возможным.

01 — Поле

Шифрование по полям

Каждое поле имеет свой уровень шифрования. Ваш API-ключ читается агентом, которому он нужен; ваша кредитная карта в той же записи — нет. Та же запись, разный доступ.

02 — Оборудование

Ключи, полученные от оборудования

Ваши самые конфиденциальные поля зашифрованы ключом, полученным от вашего устройства — отпечатка пальца, лица или ключа безопасности. Ключ вычисляется в вашем браузере. Он никогда не покидает устройство.

03 — Расстояние

Вне досягаемости

Хранилище работает на отдельной инфраструктуре, к которой ваш ИИ-агент не может прикоснуться. Учетные данные выдаются через узкий API, ограниченный для каждого агента. Ничего на вашем ноутбуке. Ничего в вашем файле .env.

Уровень 1 — Шифрование хранилища

Все зашифровано при хранении.

Каждая запись в вашем хранилище — каждое поле, каждая запись, каждый байт — зашифрована при хранении с использованием AES-256-GCM. Ключ шифрования составляет 8 байт, полученный из 32-байтного мастер-секрета, который был случайно сгенерирован при создании вашего хранилища. Этот мастер-секрет никогда не сохраняется на диске. Он существует только внутри файла WL3, обернутый выводом вашего аппаратного ключа.

Если кто-то украдет файл хранилища — украденную резервную копию, скомпрометированный хост, враждебного системного администратора — он получит зашифрованный текст. Заголовки записей, имена пользователей, пароли, карты, заметки: все зашифровано. 8-байтный ключ достаточно надежен, чтобы его перебор был вычислительно непрактичным, и даже тогда поля внутри снова зашифрованы на более высоких уровнях.

Это базовый уровень. Каждый менеджер паролей шифрует при хранении. Важно то, что происходит выше этой строки.

Уровень 2 — Шифрование учетных данных

Ваши агенты могут читать учетные данные. Ничего больше.

Над уровнем хранилища каждое поле учетных данных — API-ключи, пароли, TOTP-сиды, токены OAuth, SSH-ключи — зашифровано индивидуально своим собственным производным ключом. Ключ шифрования составляет 16 байт полной энтропии. Вычислительно не взламываемый.

Ваши ИИ-агенты получают этот ключ, чтобы они могли выполнять свою работу. Это сделано намеренно — агент, который развертывает ваш код, нуждается в вашем SSH-ключе. Но ключ поставляется с четырьмя уровнями защиты, которые контролируют, что с ним происходит:

Ограниченные токены. Каждый агент получает токен, который предоставляет доступ к определенным записям. Ваш агент развертывания видит ваш SSH-ключ и ваши учетные данные AWS. Он не видит ваш ключ Stripe, ваш пароль электронной почты или записи вашего коллеги. Он не может перечислять, просматривать, искать или обнаруживать учетные данные за пределами своей области действия. Он получает только то, для чего был назван, и не может найти то, чего не имеет.

Расстояние. Ваше хранилище не находится на вашем ноутбуке. Оно работает на отдельной инфраструктуре, к которой ваш агент не может прикоснуться. Агент взаимодействует через узкий API, который обслуживает или отклоняет запросы — нет файловой системы для чтения, нет памяти процессов для проверки, нет локального кэша для извлечения. Если бы хранилище находилось на той же машине, что и агент, скомпрометированный навык мог бы проникнуть в систему и извлечь то, что ему нужно. Расстояние полностью исключает эту возможность.

Ограничение скорости. Агент, который получает доступ к более чем трем уникальным учетным данным в минуту или десяти в час, подвергается замедлению. Второе нарушение в течение двух часов приводит к жесткой блокировке — агент замораживается и требует ваш аппаратный ключ для разблокировки. Обычному агенту требуется два или три учетных данных. Агент, читающий десять, либо неправильно настроен, либо скомпрометирован. В любом случае, он останавливается.

Белый список IP-адресов. Каждый токен агента при первом контакте привязывается к исходному IP-адресу. Украденный токен, используемый с другого IP-адреса, отклоняется на уровне промежуточного ПО перед выполнением любого обработчика. Злоумышленник имеет ключ, но не может использовать его ниоткуда, кроме машины, на которой он был выдан.

Результат: радиус поражения скомпрометированного агента ограничен его областью действия, с его IP-адреса, с такой скоростью, которая вызывает блокировку до того, как может произойти значительная утечка. Ваши другие агенты, ваши другие учетные данные и ваши поля идентификации остаются нетронутыми.

Уровень 3 — Шифрование идентификации

Ваши самые конфиденциальные данные зашифрованы вашим устройством. Мы не можем их прочитать.

Кредитные карты, CVV, номера паспортов, SSN, коды восстановления, личные заметки, ключи подписи — это поля идентификации. Они зашифрованы 32-байтовым ключом, который был случайно сгенерирован при создании вашего хранилища. Вы не знаете этот ключ. У нас его нет. Он никогда не существовал ни на одном сервере.

Ключ находится внутри файла WL3, обернутый 32-байтовым выводом расширения PRF вашего аппаратного ключа (WebAuthn PRF). Чтобы развернуть его, вам нужно физическое устройство — ваш сканер отпечатков пальцев, ваш датчик лица или ваш YubiKey. Развертывание происходит в вашем браузере. Открытый ключ существует в памяти браузера в течение одной операции, затем исчезает.

Ни один агент не получает этот ключ. Ни один конечный API его не выдает. Ни один серверный процесс не может его получить. Поля идентификации — это зашифрованный текст на каждом сервере, в каждой резервной копии, в каждом целевом объекте репликации, в любой момент времени. Взлом нашей инфраструктуры — полный, всеобъемлющий, каждый байт извлечен — приведет к зашифрованному тексту для каждого поля идентификации во всех хранилищах. Ключ дешифрования не находится в извлеченных данных. Он не может быть там, потому что его там никогда не было.

Мы не можем расшифровать ваши поля идентификации. Нас нельзя заставить предоставить ключ, которого у нас нет. Это не обещание политики. Это математическое свойство системы.

Доступ есть только у Вас

И нет мастер-пароля.

Нечего забывать, нечего фишинговать, нечего взламывать при утечке. Ваше устройство — отпечаток пальца, лицо или ключ безопасности — единственный путь внутрь. Каждое соединение — TLS 1.3 с современными шифрами и HSTS. Учетные данные выдаются ограниченным токенам агентов через узкие API-конечные точки, никогда не логируются. Даже наша ИИ-поддержка не может видеть ваши учетные данные — то же шифрование, которое скрывает ваши секреты от нас, скрывает их и от наших инструментов поддержки.

Модель угроз

Против чего мы защищаемся.

Каждая платформа учетных данных сталкивается с одинаковой поверхностью атаки. Вот как Clavitor разработан против каждой из них.

УгрозаКак мы защищаемсяРезультат
Фишинг учетных данныхПользователи не знают своих паролей (32-байтный случайный, никогда не отображается). Расширение заполняется только при совпадении URL. Пользователь не может ввести то, чего не знает.Структурно заблокировано
Фишинг OTP / 2FATOTP находится в хранилище, ограниченным реальным доменом. Неправильный домен — нет кода. Та же защита, что и для пароля.Структурно заблокировано
Взлом сервераПоля идентификации зашифрованы ключами, полученными от оборудования, которые мы никогда не держим. Поля учетных данных автоматически ротируются — утечка открытого текста истекает в течение нескольких часов.Ущерб ограничен
Скомпрометированный ИИ-агентУ каждого агента есть ограниченный токен. Компрометация раскрывает только область действия агента — не все ваше хранилище.Радиус поражения ограничен
Вредоносное ПО на конечной точкеХранилище удаленное, не локальное. Токены сеанса ограничены по времени. Запросы WebAuthn привязаны к источнику — вредоносное ПО не может подписаться от имени пользователя.Смягчено
Внутренняя атакаПоля идентификации математически недоступны нам. Мы не могли бы предоставить открытый текст по повестке.Вне нашей досягаемости

Доверяйте платформе, а не только криптографии.

Шифрование — лишь одна из трех гарантий. Две другие касаются того, что происходит, когда что-то выходит из строя — сервис или ваш собственный доступ к нему.

Отказоустойчивость — сервис продолжает работать

Мы спросили, что произойдет, когда откажет каждый уровень — облако, DNS, регистратор, электронная почта, наше собственное программное обеспечение. Архитектура спроектирована так, чтобы ответ всегда был одним и тем же: хранилище продолжает работать. Честный список угроз →

Восстановление — Вы остаетесь в системе

Потеряете ваш аппаратный ключ, и Вы все равно сможете войти — через разделенный код знаний с Вашей стороны, якорный объект восстановления с нашей стороны и звонок по Zoom с верификационными материалами, которые Вы выбрали. Никакого сброса по электронной почте, никакого SMS, никаких секретных вопросов. Как работает восстановление →

Читайте более подробные материалы.

Для технической аудитории: криптографические детали, описания моделей угроз и открытое приглашение найти то, что мы упустили.