Процессы выпуска: какой выбрать
Удостоверение инженера можно выпустить пятью разными способами. Они отличаются не удобством, а тем, кто в итоге знает закрытый ключ и что передаётся по каналам связи. Эта страница помогает выбрать; пошаговые инструкции — на отдельных страницах, ссылки ниже.
Обзор продукта целиком — 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 — приведение парка к декларации