Перейти к содержимому

Процессы выпуска: какой выбрать

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

Обзор продукта целиком — Tessera Access; вход по одноразовым кодам вместо носителя, если токенов нет вовсе, — Tessera Codes.

Процесс определяется двумя независимыми признаками.

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

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

graph TB
  subgraph K["Где рождается закрытый ключ"]
    K1["у выпускающего"]
    K2["у инженера, программно"]
    K3["у инженера, на токене"]
  end
  K1 --> P1["П1 — флешка"]
  K1 --> P3["П3 — пассивный токен"]
  K2 --> P2["П2 — флешка"]
  K2 --> P4["П4 — пассивный токен"]
  K3 --> P5["П5 — активный токен"]
  style P5 fill:#2d5016,color:#fff
ПроцессКлюч рождаетсяНосительКлюч извлекаемСтраница
П1у выпускающегофлешкадаissuance-central-key.md
П3у выпускающегопассивный токендаissuance-central-key.md
П2у инженера, программнофлешкадаissuance-engineer-key.md
П4у инженера, программнопассивный токендаissuance-engineer-key.md
П5у инженера, на активном токенеактивный токеннетissuance-token-key.md
Ключ у выпускающего (П1, П3)Ключ у инженера (П2, П4)Ключ на токене (П5)
Утечка секрета через каналвозможнаневозможнаневозможна
Что передаётся по каналамконтейнер с закрытым ключом и пароль к немузапрос и удостоверениезапрос и удостоверение
Кто знает ключвыпускающий и инженертолько инженерникто, ключ не покидает токен
Указывает ли удостоверение на человеканет: ключ знали двое, связь даёт только учёт выдачида: ключ был только у инженерада: подписать мог только его токен
Если носитель потерянзависит от носителя, см. нижезависит от носителя, см. нижекопировать нечего, ключ не извлекается; перебор PIN упирается в счётчик токена
Если скомпрометирован выпускающийутекают все выданные ключиутекает право выпускать новыеутекает право выпускать новые
Что нужно инженеруполучить два артефактаинструмент на рабочем местеинструмент и активный токен

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

Роль в удостоверении — это имя учётной записи входа на устройстве. Сами ролевые учётные записи, группы и sudoers на парке приводит к единой подписанной декларации отдельный продукт — Census; он работает вне пути входа и удостоверений не выпускает.

АртефактСодержит секретТребование к каналу
Запрос на сертификатнетцелостность
Выпущенное удостоверениенетцелостность
Цепочка доверия, список отзыванетцелостность
Контейнер PKCS#12да — закрытый ключконфиденциальность и целостность
Пароль контейнера, PINдаканал, отличный от канала контейнера

В процессах П1 и П3 контейнер и пароль к нему доставляются разными каналами. Письмо, в котором лежит и то и другое, сводит защиту контейнера к нулю: тот, кто прочитал письмо, получил рабочее удостоверение.

В процессах П2, П4 и П5 по каналам не передаётся ни одного секрета — перехват переписки не даёт ничего.

Здесь решает носитель, а не то, где родился ключ.

НосительЧто может нашедший
Флешкаскопировать контейнер и перебирать пароль офлайн, на своём железе, без ограничения числа попыток; защита сводится к стойкости пароля
Пассивный токенничего, пока не пройден PIN: контейнер лежит приватным объектом и без PIN не читается, а число попыток PIN ограничено аппаратным счётчиком — токен блокируется
Активный токенничего: закрытый ключ не извлекается вовсе, копировать нечего, попытки PIN ограничены счётчиком

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

Отзыв удостоверения нужен в любом случае — см. operations.md.

П1 и П3 подходят, когда инженеров много, они меняются, а ставить им инструмент на рабочие места некому. Цена — два секрета покидают выпускающего: контейнер с закрытым ключом и пароль к нему, причём пароль идёт по каналу открытым текстом. И закрытый ключ с этого момента известен обеим сторонам, поэтому по самому удостоверению нельзя сказать, кто им воспользовался — инженер или тот, у кого был доступ к ключу при выпуске. Связь с человеком даёт только учёт выдачи.

П2 и П4 подходят, когда инструмент на рабочем месте инженера поставить можно, а активных токенов нет. Ключ не покидает инженера, по каналам не идёт ничего секретного. Носитель здесь — либо обычная флешка (П2), либо пассивный токен (П4): он тоже аппаратный, но подписывать не умеет, поэтому ключ остаётся извлекаемым — зато добавляются PIN и аппаратное ограничение перебора.

П5 — единственный процесс, где закрытый ключ вообще не покидает устройство: скопировать его нельзя, поэтому найденный токен не размножить, а подобрать PIN мешает аппаратный счётчик. Он же единственный, где второй фактор аппаратный. Требует активных токенов и инструмента у инженера.

Процесс П4 — частный случай П2: ключ всё равно рождается на рабочем месте инженера, а пассивный токен добавляет PIN поверх контейнера и ограничение числа попыток. Он описан на той же странице, что и П2.

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

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

Каждая выдача попадает в журнал выпусков со сцепленной хеш-цепочкой — независимо от процесса. По журналу видно, кому, когда и с какими рамками выдано удостоверение, без обращения к самим носителям. Подробности — issuer.md.

  • carriers.md — виды носителей, их свойства и ограничения
  • cert-issuance.md — расширения сертификата, привязки и роли
  • issuer.md — инструменты выпуска и бэкенды подписи
  • compliance-mapping.md — какие меры стандартов поддерживают процессы выпуска
  • tessera-access.ru — обзор продуктов Tessera; Access — вход по удостоверениям, Codes — вход по одноразовым кодам, Census — приведение парка к декларации