Возможности · сейчас

Телефон держит контур.
Не браузер и не MDM.

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

  • Телефон — контроллер
  • Один ed25519, два класса
  • Без MDM и без расширения

Телефон-контроллер

Критичное решение — в кармане, не в helpdesk

Компрометация ключа телефона значит одобрить чужой ноут и отозвать свой. Поэтому контроллер контура — мобильное приложение сотрудника, а не тикет в поддержку и не расширение в Chrome.

Сотрудник ставит приложение

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

self-enroll

Одобряет конкретную машину

Вход с неизвестного устройства остаётся в очереди, пока телефон владельца его не подтвердит. Пароль и MFA без этого не открывают системы.

circle / confirm

Может отозвать

Потерянный ноут снимается с телефона. Helpdesk не выпускает сертификаты и не гоняет VPN-клиент.

точка доверия у человека

Подтверждение с телефона — про устройство. Кто в итоге approved, решает политика админа: TOFU, очередь или только то, что завёл оператор.

Хранение ключа

Два класса. Одна личность

Упрощённое и аттестованное хранение живут рядом. Апгрейд не заводит новый телефон: оборачиваем тот же ed25519 seed — тот же pubkey, тот же device_id. Аттестация доказывает, как ключ лежит и что приложение настоящее, а не подменяет подпись на P-256.

unattested

Упрощённое хранение

Тот же ed25519: на iOS — Keychain ThisDeviceOnly, на Android — AES-обёртка в Keystore без attestation challenge. Ядро проверяет подпись. Всё.

можно запретить политикой
Почему не P-256

Secure Enclave и Android Keystore не умеют ed25519. Ключ App Attest — P-256 и только assertion: им нельзя обернуть seed. Если «переключить всех на чип» как новую identity, сломается PoP и все уже заведённые телефоны. Поэтому личность контроллера остаётся ed25519, а аттестация — отдельное доказательство хранения.

Кампания аттестации

Сначала просим перейти. Потом запираем дверь

Запретить упрощённую схему всем сразу значит выкинуть часть парка: старые iOS, странный Android, корпоративные прошивки. Поэтому у админа две ручки, а не один тумблер.

Кампания

Кнопка просит приложение перейти на аттестованное хранение. Телефоны обязаны попытаться апгрейд. Неудача не выкидывает человека из контура.

force_attested_mobile

Неудача видна

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

журнал, не тишина

Замок и исключение

Когда парк готов — упрощённую схему запрещают. Для одного телефона без TEE админ выдаёт исключение. Не открывает дыру всем.

per-device, не org-wide

Апгрейд — тот же seed. Откат attested → unattested запрещён. Битый attestation blob не превращается в «ну тогда software»: это отказ, строка не меняется.

Агент

На ноутбуке без MDM, без постоянного админа, без расширения

Агент — обычная программа на macOS, Windows и Linux. Не MDM-профиль, не домен, не PKI. Payload подписывается на машине и уходит в ядро напрямую; в браузере остаётся короткий одноразовый handle. Safari и Firefox работают. Расширение больше не нужно.

Поставил сам

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

без MDM

Вход начинается в агенте

Человек жмёт «Войти». Агент собирает сведения, подписывает их и открывает обычный SSO. Мы не просим поставить расширение Chrome, чтобы payload пролез через страницу логина.

agent-initiated

Ровно то, что разрешила политика

Админ задаёт, что агент имеет право класть в payload. Не каталог процессов, не произвольный shell с админки. Произвольная команда на чужой ноут запрещена.

privacy_level

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

Политики админа

Кто чем защищён — и кто вообще может заявиться

Консоль считает покрытие парка и даёт тумблеры, которые действуют без рестарта ядра. Людей можно завести импортом, а не только теми, кто сам пришёл на вход.

admin-onlyВход только с устройств, которые одобрил админ. TOFU выключается. Подтверждение с телефона само по себе не делает машину approved.
importЛюдей и машины заводят файлом заранее: username, группа, device_id, ОС. Повтор не переклеивает чужой identity. Не только self-enroll со входа.
coverageСводка: сколько пользователей с телефоном, сколько мобильных attested, сколько агентов, разрез по ОС. На карточке устройства — класс хранения.

Есть и более тонкие ручки: запрет самозаписи новых устройств, запрет неизвестных username, исключение для одной машины. Произвольный shell с админки на чужой ноут — нет.

Честно

Что это не обещает

Ключ телефона переезжает на P-256 в Secure Enclave?

Нет. Личность контроллера — ed25519, как была. Апгрейд оборачивает тот же seed. Аттестация доказывает свойства хранения и подлинность приложения, не заменяет ключ подписи. Черновик, где pubkey менялся на P-256, отвергнут: сломались бы PoP и уже заведённые телефоны.

Нужно расширение браузера?

Нет. Вход начинается в агенте: подписанные данные устройства уходят в ядро напрямую, в браузере живёт одноразовый handle. Это не «три компонента агент + расширение + IdP».

Это замена MDM?

Нет. Агент ставится без MDM и без постоянных админ-прав — поэтому его можно дать подрядчику и личному ноуту, куда MDM не ставят. Управление парком через профили и дистанческий wipe — не эта страница.

Можно жить без аттестации?

Да, пока админ не запретит упрощённый класс. По умолчанию он разрешён: иначе часть Android просто не станет контроллером. Кампания просит перейти; запрет — отдельная ручка; исключение — на одно устройство.

Телефон сам делает устройство approved?

Только если так настроено. При admin-only enrollment заявка после телефона остаётся pending: в контур пускают устройства, которые одобрил админ. Импорт файла — второй путь завести людей, минуя «кто сам заявился».

Пилот

Покажем это на вашем контуре

Ваш Keycloak, несколько телефонов и ноутбуков. Увидите контроллер, оба класса хранения, кампанию аттестации и сводку покрытия — и решите сами.

Как с вами связаться *