Trust at the edge · доверие в самом удостоверении

Доступ к парку устройств, который работает без сети

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

Диаграмма: пунктирная граница офлайна разделяет сеть с серверами Control и Codes (политика, выдача, аудит) и устройство-банкомат, где вход и проверка происходят на месте. Подпись: сети нет — а вход, проверка и подотчётность есть.
fig. 1 — граница офлайна: сервер слева, устройство справа, доверие — в удостоверении

01 · Проблема

Тысячи устройств. Два плохих варианта.

Банкоматы, станки с ЧПУ, подстанции — парк из тысяч устройств без постоянной связи. Как давать инженерам доступ?

Вариант A

Общая учётка на всех

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

Вариант B

Персональные учётки на каждом устройстве

N инженеров × M устройств. Каждый найм, увольнение и ротация — массовое обновление парка. На офлайн-парке — неуправляемо в принципе.

Третий путь — Tessera

Одна техническая учётка + личность в удостоверении

На устройстве — одна учётка. Кто вошёл, под какой ролью и на какой срок — записано в самом удостоверении. Полная подотчётность без N×M.

А классический PAM? Vault, Teleport и бастионы класса PASM требуют достижимости центра в момент входа: нет связи — нет доступа (или дыра в обход). На zero-egress парке они не работают по построению.

02 · Как работает

Пять шагов — от политики до отзыва

  1. Выпуск

    Администратор задаёт политику: роли, устройства по тегам, срок действия. УЦ выпускает короткоживущий сертификат с правами внутри — на флешку под PIN.

  2. Вход

    Инженер вставляет флешку и выбирает роль. Engine локально проверяет подпись, host-binding (именно это устройство), срок и разрешённые роли — без единого запроса в сеть.

  3. Сессия

    Открывается ровно на запрошенной роли — least privilege, даже если сертификат позволяет больше. Личность инженера зафиксирована в удостоверении.

  4. Носитель под контролем

    Вынул флешку — сессия завершается. Мониторинг udev следит за носителем: нет носителя — нет сессии.

  5. Отзыв

    CRL, отзыв живых сессий, карантин устройства. Офлайн-backstop: сертификат протухает сам по TTL — часы или смена, не месяцы.

Диаграмма входа по сертификату: флешка инженера с сертификатом и ключом под PIN; Tessera Engine локально выполняет пять проверок — подпись CA, host-binding, TTL и CRL, роли, proof-of-possession — и открывает сессию oper. Сеть за пунктирной границей не нужна.
fig. 2 — вход по сертификату: пять проверок, ни одного запроса в сеть

03 · Возможности

Каждое свойство — механизм, не обещание

Криптография

X.509 + PKCS#11

Аппаратные токены Rutoken / JaCarta с ГОСТ — или PIN-контейнер на обычной флешке. Стандартные форматы, никакого vendor lock-in.

Устройство

Host-binding

Удостоверение привязано к конкретному устройству. Украденная флешка бесполезна на соседнем банкомате — Engine откажет локально.

Время

Короткоживущие удостоверения

TTL — часы или смена. Даже без связи с центром доступ протухает сам: время работает на защиту, а не против неё.

Права

Роли и enforcement

Роль из удостоверения превращается в реальные ограничения: Astra МКЦ, группы, sudoers, systemd-лимиты. Не «доступ вообще», а ровно нужный уровень.

Отзыв

CRL и отзыв

Отзыв вечен: монотонный crlNumber защищает от подмены списка старым. Живые сессии отзываются, устройство можно поместить в карантин.

Аудит

Tamper-evident аудит

Журнал на устройстве — hash-chain: каждая запись сшита с предыдущей, подчистка обнаруживается. Для air-gapped — экспорт курьерским носителем.

Масштаб

Делегирование выпуска

Промежуточные CA для филиалов и подрядчиков — в рамках (name constraints), которые устройство проверяет офлайн. Делегат не выйдет за границы.

Регуляторика

ГОСТ и сертификация

КриптоПро CSP и Rutoken — сертифицированные СКЗИ. Первая целевая платформа — Astra Linux SE.

Сеть

Гибридные парки

Есть связность — sync-агент подтягивает роли и CRL (pull-only). Деградация сети меняет свежесть данных, но не модель безопасности.

04 · Сценарии

Где это уже нужно

Банкоматы · zero-egress

Парк без единого исходящего соединения

Флешка → выбор роли → вход без сети. Отзыв на серверной стороне — мгновенно; на офлайн-парке — гарантированно по TTL.

ОПК · ЧПУ

Изолированный цех

Оператор смены входит под ролью oper, наладчик — под ролью serv: каждый со своего удостоверения, права — по роли. Tamper-evident журнал ведётся на самом устройстве; регулятору — экспорт по USB.

Энергетика · подрядчик

Доступ по наряду

Подрядчик сканирует QR-код телефоном, диспетчер подтверждает онлайн (four-eyes), доступ — только на время работ. Само устройство в сеть не выходит ни на миг.

Диаграмма входа по QR-коду: банкомат показывает QR с device_id и nonce; телефон сканирует, проходит SSO/2FA; PDP выдачи проверяет наряд, окно смены, four-eyes и статус устройства (AND, fail-closed) и возвращает код-MAC; инженер вводит код, Engine проверяет MAC локально и открывает сессию.
fig. 3 — QR-вход: телефон в сети, устройство — нет
КИИ · ГОСТ

Регулируемые среды

Одна техническая учётка на устройстве, вход по ГОСТ-токену. issuance_id связывает выпуск → вход → действия → завершение в одну доказуемую нить.

Диаграмма аудита: цепочка выдача — удостоверение — сессия — завершение связана сквозным issuance_id; журнал устройства — hash-chain, вырезанный блок рвёт цепь и обнаруживается; Control сверяет анкеры и поднимает security- и gap-алерты.
fig. 4 — аудит: одна нить корреляции, неразрывная цепь журнала

05 · Сравнение

Tessera против классических PAM и бастионов

Разница не в наборе функций, а в архитектуре: где живёт решение о доступе.

Сравнение Tessera с классическими PAM-решениями и бастионами
Критерий Классические PAM / бастионы Tessera
Офлайн-парк Требуют достижимости центра в момент входа Работает без сети; сервер — ускоритель, не условие
Деградация сети Компромисс: fail-open (дыра) или fail-closed (простой) Fail-closed by design + TTL-backstop: валидный доступ продолжает работать
Zero-egress банкоматы Не применимо Целевой сегмент
Короткоживущий доступ Политика на сервере — нужен сервер, чтобы её применить TTL в самом удостоверении — истекает без чьего-либо участия
Делегирование RBAC на сервере Name constraints в сертификате — рамки проверяются офлайн
Нагрузка на центр Каждый вход — запрос к центру Только выпуск и спорадичные CRL

06 · Устойчивость

Отказ компонента — не дыра

Сервер недоступен? Вход по действующим сертификатам продолжает работать, истёкшие — не продлеваются. Fail-closed по дизайну. Безопасность одинакова с сервером и без: сервер добавляет масштаб и свежесть данных — не безопасность.

Таблица деградации: при недоступности Codes теряется только выдача новых QR-кодов; при недоступности Control — свежесть CRL и команд; месяцы без сети — штатный режим; атака на канал доставки даёт максимум DoS. Вход, enforcement, аудит и TTL-отзыв работают во всех случаях. Fail-open отсутствует.
fig. 5 — деградация: что отключилось → что продолжает работать

07 · Open core

Открытое ядро, коммерческое управление

Открыто AGPL-3.0

  • Tessera Engine — валидация + enforcement
  • Tessera Login — PAM-модуль
  • Вход по сертификату
  • Базовые роли: группы, sudoers
  • Hash-chain аудит на устройстве

Коммерческое enterprise

  • Tessera Control — управление парком, CRL, инвентарь
  • Tessera Codes — одноразовые QR-коды
  • МКЦ-адаптер (Astra)
  • SELinux-адаптер
  • Центральный приём аудита + SIEM-экспорт
  • ГОСТ-FFI
  • Windows-адаптер roadmap

Принцип: форматы и верификация открыты — всё, что устройство проверяет, можно проаудировать. Генерация, доставка и управление парком — коммерческие.

Обсудить пилот

Покажем вход без сети на вашем сценарии: банкоматы, цех, подстанции. Расскажите про свой парк — вернёмся с конкретикой по механизму.