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

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

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

Сеть · сервер

  • Tessera Control · Tessera Codes
  • политика · выдача · аудит

Устройство · офлайн

  • сертификат: личность + права
  • вход + проверка — на месте

Сети нет — а вход, проверка и подотчётность работают. Сервер добавляет масштаб и свежесть. Не безопасность.

fig. 1 — граница офлайна: сервер слева, устройство справа, доверие — в удостоверении

01 · Проблема

Тысячи устройств. Одна учётка на парк — или N×M персональных.

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

Вариант 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 — часы или смена, не месяцы.

Tessera Engine — проверяет локально

  • подпись CA — цепочка до корня
  • host-binding — сертификат для этого устройства
  • TTL не истёк · нет в CRL
  • роли покрывают уровень (⊇ oper)
  • PoP — владеет ключом, не копией

пять проверок · ни одного запроса в сеть

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), доступ — только на время работ. Само устройство в сеть не выходит ни на миг.

  1. Банкомат показывает QR офлайн

    device_id · nonce · запрошенный уровень

  2. Телефон инженера: скан сеть

    SSO / 2FA

  3. Tessera Codes: проверки — AND, fail-closed сеть

    наряд (ITSM) · окно смены · four-eyes · статус устройства · rate-limit → код = MAC(per-device ключ)

  4. Код на экране телефона сеть

    одноразовый, привязан к устройству и уровню

  5. Инженер вводит код на устройстве офлайн

    Engine проверяет MAC локально → открывает сессию

fig. 3 — QR-вход: телефон в сети, устройство — нет
КИИ · ГОСТ

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

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

Сквозная корреляция по issuance_id

Выдачакто разрешил, проверки
Удостоверениекод или сертификат
Сессияopen · действия · close
Завершениетриггер

Журнал устройства — hash-chain

seq nhash(prev)
seq n+1hash(prev)
вырезаноцепь рвётся
seq n+3hash(prev)

подчистка обнаруживается — разрыв цепи виден

Анкеры → Control

  • сверка анкеров (device_id, seq, hash)
  • несостыковка → security-алерт
  • молчание дольше нормы → gap-алерт
  • air-gapped: журнал едет курьерским носителем, анкеры сверяются так же
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-кодов
работаетвход по серту · enforcement · аудит · TTL-отзыв — всё остальное
Control недоступенпульт управления парком
теряемсвежесть CRL и ролей · команды · сводная картина парка
работаетвход · enforcement · журнал в локальный буфер (at-least-once) · TTL-backstop
Без сети месяцамиzero-egress парк
теряемонлайн-доставку (остаётся выкатка или курьер)
работаетвсё — это штатный режим, не аварийный
Атака на каналsync-доставка
теряеммаксимум — DoS доставки
работаеттранспорт не доверен: подпись + anti-rollback; возврат в офлайн-модель, не в ослабленную

Отказ серверного компонента не открывает дверь — и не запирает валидного инженера. 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

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

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

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

или напишите: tessera@robonet.me