Кратко

  • Butler Lampson и его коллеги начали с того, что машина действительно способна услышать: линия, соединение, процесс или криптографический канал выступает первым принципалом; чтобы приписать его слова человеку, машине, роли или группе, нужна явная цепочка «говорит от имени».
  • Аутентификация устанавливает принципала, отвечающего за запрос, но не даёт разрешения сама по себе. Авторизация по-прежнему зависит от операции, объекта и его правила, действительности делегирования и полномочий того, кто связал имя с ключом.

Запрос прибывает без лица

В работе 1992 года Authentication in Distributed Systems: Theory and Practice запрос оказывается перед охранным механизмом, который применяет правило защищённого объекта. Непосредственно он может получить сигнал с терминальной линии, сетевого соединения, межпроцессного канала, системного вызова или канала, возникшего после успешной расшифровки. Ни одно из этих событий само по себе не содержит человека, которого обыденная речь ставит за запросом.

Поэтому меняется порядок вопросов. Система начинает не с «кто этот пользователь?», а с «что только что обратилось ко мне и на каком основании оно вправе говорить за другого принципала?». Архитектура, перескакивающая от пакета сразу к имени человека, не устраняет промежуточные звенья. Она лишь прячет их в сертификатах, сеансах, реестрах устройств, списках групп и административных привычках.

Принципал — не обязательно человек

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

Соединение может соответствовать ключу, ключ — машине, процесс на машине — эксплуатационной роли, а роль — организации. Утверждения «запрос сделала дежурная роль» и «запрос сделал конкретный сотрудник, занимавший роль в этот момент» различны. Первого может хватить для восстановления сервиса; второе необходимо для личной ответственности. Сам объект и операция определяют, насколько далеко должна идти атрибуция.

«Speaks for» заменяет скачок доказательством

Lampson и соавторы обозначили отношением “speaks for” ситуацию, в которой высказывание одного принципала можно принять как высказывание другого. Если B говорит за A, охранный механизм при выполнении предпосылок может вывести утверждение A из утверждения B. Это не объявляет B и A одним человеком и не передаёт B автоматически все права A. Это направленный, обоснованный вывод об ответственности.

Так открывается чёрный ящик «предъявлены верные учётные данные». За какой ключ говорит канал? Какая служба имён связала ключ с учётной записью или машиной? На основании какого назначения процесс говорит за роль? Охранный механизм соединяет эти утверждения, пока не получает принципала, достаточного для конкретного решения. Чем длиннее цепочка, тем опаснее сохранять только последнее, удобное для чтения имя.

Имя заимствует полномочия издателя

Строка символов не становится истинной благодаря знакомому виду. Связь имени человека, учётной записи или сервиса с принципалом зависит от того, кто вправе объявить такую связь и в каких пределах получатель признаёт его полномочия. Модель включает привязку имён к ключам в сам вывод, а не считает ответ каталога фактом без происхождения.

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

Делегирование не стирает исполнителя

Делегирование не обязано быть молчаливой копией привилегий. В описанной модели составной принципал вида B for A сохраняет структуру «B действует для A». Есть делегирование со стороны A и принятие со стороны B. Объект может задать правило для A, для B или именно для этой комбинации, не притворяясь, будто A лично совершил каждое действие.

Эта точность существенна для программных агентов, пакетных заданий и аварийных аккаунтов. Если свести всё к A, исчезнут границы посредника B. Если записать только B, исчезнет источник полномочий. Составной принципал сохраняет в одном доказательстве того, кто дал право, и того, кто им воспользовался, позволяя оценивать их раздельно.

Последнее слово остаётся за объектом

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

Список контроля доступа также не изолированная коллекция имён. Если он ссылается на группы, роли или делегатов, то зависит от действующих в тот момент членств и источников имён. Для воспроизведения решения нужны объект, операция, версия правила и предпосылки цепочки аутентификации. Журнал с единственной записью «разрешено» или «отказано» не отделяет ошибку политики от неверной атрибуции или просроченного доказательства.

Время меняет правильную цепочку

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

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

Аудиту нужен путь к решению

Полезный журнал позволяет восстановить, почему охранный механизм принял запрос. Он различает входной канал, выведенного принципала, делегирования и членства в группах, объект и операцию, применённое правило и время действия доказательств. Не требуется переписывать в лог всю формальную логику, но фраза «система тогда считала, что это он» не должна завершать расследование.

Долговечная сила “speaks for” состоит именно в отсутствии обещания единой всемирной инфраструктуры идентичности. Модель не устраняет доверие. Она требует, чтобы каждый переход — от канала к ключу, от ключа к имени, от службы к роли — называл власть, которой он пользуется. Сбой перестаёт быть общей красной лампой на службе входа: его можно локализовать в привязке, делегировании, членстве или правиле объекта.

Источники