Trust at the edge · доверие в самом удостоверении
Доступ к парку устройств, который работает без сети
Инженер входит по криптографическому удостоверению. Личность, роль и привязка к устройству зашиты в самом сертификате — устройство проверяет сертификат локально, без обращения к центру в момент входа.
Сеть · сервер
- Tessera Control · Tessera Codes
- политика · выдача · аудит
Устройство · офлайн
- сертификат: личность + права
- вход + проверка — на месте
Сети нет — а вход, проверка и подотчётность работают. Сервер добавляет масштаб и свежесть. Не безопасность.
01 · Проблема
Тысячи устройств. Одна учётка на парк — или N×M персональных.
Банкоматы, станки с ЧПУ, подстанции — парк из тысяч устройств без постоянной связи. Инженерам нужен доступ — подотчётный и работающий без сети.
Вариант A
Одна учётка на парк
Один пароль на тысячи устройств. Ноль подотчётности: в журнале — одна и та же учётка, а не конкретный инженер. Отозвать доступ у одного — значит сменить пароль на тысячах устройств.
Вариант B
Персональные учётки на каждом устройстве
N инженеров × M устройств. Каждый найм, увольнение и ротация — массовое обновление парка. На офлайн-парке — неуправляемо в принципе.
Третий путь — Tessera
Одна техническая учётка + личность в удостоверении
На устройстве — одна учётка. Кто вошёл, под какой ролью и на какой срок — записано в самом удостоверении. Полная подотчётность без N×M.
А классический PAM? Vault, Teleport и бастионы класса PASM требуют достижимости центра в момент входа: нет связи — нет доступа (или дыра в обход). Zero-egress парк такой контур не обслуживает по построению.
02 · Как работает
Пять шагов — от политики до отзыва
-
Выпуск
Администратор задаёт политику: роли, устройства по тегам, срок действия. УЦ выпускает короткоживущий сертификат с правами внутри — на флешку под PIN.
-
Вход
Инженер вставляет флешку и выбирает роль. Engine локально проверяет подпись, host-binding (сертификат выписан на это устройство), срок и разрешённые роли — без единого запроса в сеть.
-
Сессия
Открывается ровно на запрошенной роли — least privilege, даже если сертификат разрешает больше. Личность инженера зафиксирована в удостоверении.
-
Носитель под контролем
Вынул флешку — сессия завершается. Мониторинг udev следит за носителем: нет носителя — нет сессии.
-
Отзыв
CRL, отзыв живых сессий, карантин устройства. Офлайн-backstop: сертификат протухает сам по TTL — часы или смена, не месяцы.
Tessera Engine — проверяет локально
- подпись CA — цепочка до корня
- host-binding — сертификат для этого устройства
- TTL не истёк · нет в CRL
- роли покрывают уровень (⊇ oper)
- PoP — владеет ключом, не копией
пять проверок · ни одного запроса в сеть
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 · Сценарии
Где это уже нужно
Парк без единого исходящего соединения
Флешка → выбор роли → вход без сети. Отзыв на серверной стороне — мгновенно; на офлайн-парке — по TTL, часы–смена.
Изолированный цех
Оператор смены входит под ролью oper, наладчик — под ролью
serv: каждый по личному удостоверению, права — по роли.
Tamper-evident журнал ведётся на самом устройстве; регулятору —
экспорт по USB.
Доступ по наряду
Подрядчик сканирует QR-код телефоном, диспетчер подтверждает онлайн (four-eyes), доступ — только на время работ. Само устройство в сеть не выходит ни на миг.
-
Банкомат показывает QR офлайн
device_id · nonce · запрошенный уровень
-
Телефон инженера: скан сеть
SSO / 2FA
-
Tessera Codes: проверки — AND, fail-closed сеть
наряд (ITSM) · окно смены · four-eyes · статус устройства · rate-limit → код = MAC(per-device ключ)
-
Код на экране телефона сеть
одноразовый, привязан к устройству и уровню
-
Инженер вводит код на устройстве офлайн
Engine проверяет MAC локально → открывает сессию
Регулируемые среды
Одна техническая учётка на устройстве, вход по ГОСТ-токену.
issuance_id связывает выпуск → вход → действия → завершение
в одну доказуемую нить.
Сквозная корреляция по issuance_id
Журнал устройства — hash-chain
подчистка обнаруживается — разрыв цепи виден
Анкеры → Control
- сверка анкеров (device_id, seq, hash)
- несостыковка → security-алерт
- молчание дольше нормы → gap-алерт
- air-gapped: журнал едет курьерским носителем, анкеры сверяются так же
05 · Сравнение
Tessera против классических PAM и бастионов
Разница не в наборе функций, а в архитектуре: где живёт решение о доступе.
| Критерий | Классические PAM / бастионы | Tessera |
|---|---|---|
| Офлайн-парк | Требуют достижимости центра в момент входа | Работает без сети; сервер — ускоритель, не условие |
| Деградация сети | Компромисс: fail-open (дыра) или fail-closed (остановка работ) | Fail-closed by design + TTL-backstop: валидный доступ продолжает работать |
| Zero-egress банкоматы | Не применимо | Целевой сегмент |
| Короткоживущий доступ | Политика на сервере — без сервера не применяется | TTL в самом удостоверении — истекает сам, без участия сервера |
| Делегирование | RBAC на сервере | Name constraints в сертификате — рамки проверяются офлайн |
| Нагрузка на центр | Каждый вход — запрос к центру | Только выпуск и спорадичные CRL |
06 · Устойчивость
Отказ компонента — не дыра
Сервер недоступен? Вход по действующим сертификатам продолжает работать, истёкшие — не продлеваются. Fail-closed по дизайну. Безопасность одинакова с сервером и без: сервер добавляет масштаб и свежесть данных — не безопасность.
Отказ серверного компонента не открывает дверь — и не запирает валидного инженера. Fail-open здесь нет.
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