Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Служба прозрачности подписи Microsoft — это компонент реестра конфиденциальных вычислений. Это облачная служба, которая повышает доверие и безопасность в цепочках поставок программного обеспечения. Служба общедоступна; проверка через Signing Transparency от Microsoft в настоящее время ограничена определёнными службами Microsoft. Служба помогает противодействовать угрозам в цепочке поставок программного обеспечения, которые традиционная подпись кода сама по себе не может полностью предотвратить. Это основано на принципе "Никому не доверяй": «никогда не доверяй, всегда проверяй». Для проверяемой фиксации каждой подписи используется журнал, допускающий только добавление записей, а ключи защищены в защищённом анклаве конфиденциальных вычислений. Такой подход позволяет организациям и аудиторам независимо проверять криптографические доказательства выпусков служб, повышая безопасность и подотчетность.
Служба построена на той же платформе конфиденциальных вычислений, что и Конфиденциальный реестр Azure, и использует Confidential Consortium Framework для обеспечения записей с обнаруживаемыми признаками подделки и криптографической проверяемостью. Дополнительные сведения о базовой платформе см. в разделе "Архитектура".
Технические сведения о базовой архитектуре, стандартах и механизмах шифрования см. в концепциях прозрачности подписывания Microsoft. Чтобы проверить приложение SCITT с открытым кодом, которое запускает службу, см. репозиторий scitt-ccf-ledger.
Что такое прозрачность подписывания Microsoft?
Система прозрачности подписывания Microsoft поддерживает общедоступный реестр с открытым исходным кодом, допускающий только добавление записей о событиях подписывания программного обеспечения. Служба выступает в качестве проверяемого нотаря, создавая постоянную запись о том, кто подписал что и когда, с криптографическим подтверждением, которое предотвращает изменения секретов.
Служба использует конверты COSE, соответствующие стандартам SCITT Architecture и SCITT COSE Receipts для обеспечения безопасности цепочки поставок. Все операции реестра используют криптографические ключи, которые создаются и никогда не покидают защищённые анклавы конфиденциальных вычислений. Служба проверяет личность подписанта на соответствие политикам доверия перед записью событий и выдаёт криптографические квитанции с возможностью обнаружения несанкционированных изменений для независимой проверки.
Поддерживаемые службы
В настоящее время реестр прозрачности подписывания Microsoft обеспечивает прозрачность:
- Microsoft Аттестация Azure (MAA)
- Управляемый HSM в Azure Key Vault
- Конфиденциальный реестр Azure
- Прозрачность подписания в Microsoft
Чтобы найти реестр для записей конкретной службы, используйте идентификатор службы, указанный в идентификаторах службы для поддерживаемых служб.
Независимый аудит прозрачности подписывания Microsoft
IOActive провела независимую оценку безопасности Signing Transparency от Microsoft на Azure (построенной на CCF) в период с апреля по июнь 2025 года. Оценка проверила надежную безопасность реализации и безопасную интеграцию и подтвердила, что служба выполнила свои обязательства по обеспечению безопасности. Подробная информация доступна в следующих статьях:
- Аудит кода & динамический фаззинг системы прозрачности подписывания Microsoft (публикация в блоге IOActive)
- Оценка безопасности службы прозрачности подписывания Microsoft (публичный отчет IOActive, PDF)
Ключевые возможности
| Функциональность | Description |
|---|---|
| Контрподписание конвертов COSE | Добавляет уровень принудительного применения политик к подписанным артефактам, используя конверты COSE (подписание и шифрование объектов CBOR). Любое изменение артефакта или подписи нарушает контрподпись, что делает несанкционированное изменение обнаруживаемым. |
| Неизменяемый реестр деревьев Merkle | Записывает все события подписания в реестр на основе дерева Меркла, допускающий только добавление. Каждая запись связана криптографически, предотвращая изменение или удаление. |
| Квитанции для аудита и обеспечения соответствия требованиям | Выдает криптографические подтверждения с доказательствами включения, которые может проверить любой, что поддерживает аудит соответствия требованиям и независимую верификацию. |
Принцип работы
Реестр прозрачности подписывания Microsoft следует этому рабочему процессу:
- Разработчик Microsoft или система сборки Microsoft подписывает код и отправляет конверт COSE_Sign1 в службу.
- Служба проверяет подпись и личность подписанта в соответствии со своей политикой доверия, чтобы убедиться, что именно служба-владелец может опубликовать новое событие подписывания, например спецификацию состава программного обеспечения (SBOM).
- Служба контрассигнует конверт и регистрирует событие в неизменяемом реестре.
- Криптографическая квитанция с подтверждением включения создается и возвращается.
- Любой пользователь может самостоятельно проверить событие подписи (например, SBOM) с помощью квитанции.
Подробные технические сведения о конвертах COSE, структурах дерева Merkle и процессе криптографической проверки см. в концепциях реестра прозрачности подписи Microsoft. Сведения о выполнении проверки см. в статье "Проверка целостности реестра" и проверка записей.
Почему прозрачность имеет значение в цепочках поставок программного обеспечения
Традиционная подпись кода проверяет наличие программного обеспечения из надежного источника, но не предотвращает использование скомпрометированных или украденных ключей подписывания для распространения вредоносных обновлений. Атаки современной цепочки поставок программного обеспечения используют это ограничение.
Прозрачность подписей решает эту проблему путём записи каждой подписи в общедоступном реестре с защитой от несанкционированных изменений. Этот подход создает подотчетность: плохие субъекты с украденными ключами по-прежнему могут создавать допустимые подписи, но они не могут скрыть свое действие подписи от обнаружения. Любая непредвиденная подпись становится видимой аудиторам.
Основные улучшения безопасности:
- Обнаружение над предотвращением. Даже если ключи подписывания скомпрометируются, несанкционированное использование или отсутствие записей можно обнаружить.
- Возможность аудита: все события подписывания записываются постоянно и проверяются любой стороной.
- Применение политик: Службы могут проверить, что все релизы прошли через каналы конкретной подписывающей идентичности, инициированные службой-владельцем (например, для подписывания сборок Microsoft для конкретной службы используются определенные идентичности).
Преимущества безопасности и доверия
Прозрачность подписывания обеспечивает следующие возможности безопасности:
Обнаружение ошибок: реестр только для добавления и структура дерева Merkle немедленно обнаруживают несанкционированные изменения. Любое изменение записываемой записи нарушает криптографическую цепочку.
Независимая проверка: квитанции содержат криптографические доказательства того, что любой пользователь может проверить, не связавшись со службой. Проверяющие могут подтвердить, что подпись артефакта была зарегистрирована в определенное время, не доверяя каналу распространения.
Журнал аудита: все события, связанные с подписанием, навсегда фиксируются вместе с метаданными, включая идентификатор подписанта, метку времени и результаты проверки политики. Эти записи поддерживают аудиты соответствия требованиям и расследования инцидентов.
Обнаружение компрометации ключей: если злоумышленник использует скомпрометированный ключ подписи, в общедоступном реестре появится неожиданное событие подписывания. Средства мониторинга могут оповещать о аномальных шаблонах подписывания.
Защита от отката: квитанции дерева Меркла включают доказательства свежести, которые предотвращают атаки отката. Проверяющие могут подтвердить, что они видят последнюю версию, а не более старый уязвимый выпуск.
Поддержка оборудования и встроенного ПО: те же механизмы конверта COSE и реестра работают для компонентов встроенного ПО и оборудования, поддерживая сквозную проверку цепочки поставок.
Случаи использования
реестр прозрачности подписывания Microsoft поддерживает следующие сценарии:
- Проверка релиза: убедитесь, что продакшен-релизы прошли через авторизованный процесс подписания, сверив квитанции с общедоступным реестром.
- Аудит соответствия требованиям: создание отчетов аудита всех событий подписывания для службы или периода времени с криптографическим подтверждением каждого события.
- Обнаружение аномалий: отслеживайте реестр на предмет необычных шаблонов подписания, таких как подписи от неизвестных удостоверений личности или активность в нерабочее время.
- Реагирование на инциденты: при расследовании потенциальных компрометаций в цепочке поставок проверьте, какие артефакты были подписаны и когда.
- Встроенное ПО и оборудование. Проверьте подписи в обновлениях встроенного ПО, аппаратных модулях безопасности и других компонентах инфраструктуры.
Сведения о проверке подписей для поддерживаемых служб см. в статье "Проверка целостности реестра" и проверка записей.