Як перевірити апаратну атестацію в Azure Confidential Computing
By Mirko Peters ·
Дізнайтеся, як працює апаратна атестація Azure, порівняйте AMD SEV-SNP та Intel SGX і дізнайтеся, як інтегрувати криптографічну перевірку у ваші конвеєри CI/CD.
Automatically translated with AI from the original post. Read the English original

Апаратна атестація Azure — це критично важливий процес криптографічної перевірки, який підтверджує, що ваше довірене середовище виконання справжнє і не було змінене, перш ніж завантажуватимуться чутливі робочі навантаження. Оцінюючи вимірювання безпечного завантаження та апаратні ключі відповідно до базових показників Microsoft і постачальників, атестація подолає розрив довіри між операторами хмари та конфіденційністю даних клієнта.
Головне
- Апаратна атестація криптографічно перевіряє, що ваше Trusted Execution Environment (TEE) справжнє і не скомпрометоване.
- Служба віддаленої атестації оцінює показники платформи відповідно до базових показників безпеки, перш ніж видати ключі розшифрування.
- Обидві архітектури, AMD SEV-SNP та Intel SGX, покладаються на віддалену перевірку, щоб адміністратори хмари не могли переглядати пам'ять під час роботи.
- Інтеграція атестації у ваші конвеєри розгортання CI/CD автоматизує перевірку довіри та не дозволяє запускати змінені контейнери.
- Розуміння процесу атестації є необхідним для підтримання моделі нульової довіри в сучасних гібридних хмарних середовищах.
Дефіцит довіри в публічних хмарах
Під час міграції чутливих робочих навантажень у публічну хмару традиційні моделі безпеки захищають ваші дані під час передавання за допомогою TLS, а в стані спокою — за допомогою шифрування AES-256. Проте залишається суттєва вразливість: дані в обробці. Раніше щоразу, коли процесор виконував код, ці дані мали бути розшифровані та розміщені у пам'яті системи у відкритому вигляді. У багатокористувацькому хмарному середовищі це означало довіру до гіпервізора, постачальника хмарної інфраструктури та кожного, хто має адміністративний доступ до базового фізичного обладнання.
Azure Confidential Computing змінює цю парадигму, впроваджуючи апаратні Trusted Execution Environment, або TEE. Ці захищені анклави та ізольовані віртуальні машини шифрують вміст пам'яті за допомогою виділених апаратних ключів, якими безпосередньо керує кремній процесора. Проте наявність замкненої кімнати — це лише половина справи. Вам також потрібен спосіб перевірити, що замок не зламано, що двері побудовано належним чином і що всередині захищеної межі не працює жодне несанкціоноване програмне забезпечення, перш ніж ви передасте криптографічні ключі.
Як працює віддалена атестація
Віддалена атестація — це механізм перевірки, який відповідає на фундаментальне запитання: звідки ви знаєте, що хмарне середовище, в яке ви розгортаєтеся, справді безпечне і не було змінене? Без атестації зловмисник з доступом рівня гіпервізора теоретично міг би підмінити шкідливий BIOS або змінити завантажувач і перехопити ваші ключі шифрування в момент їх завантаження в пам'ять.
Робочий процес атестації являє собою сувору, багатоетапну криптографічну процедуру обміну:
Крок 1: Безпечне завантаження та вимірювання платформи
Коли конфіденційна віртуальна машина Azure або контейнерний екземпляр завантажується, апаратне забезпечення та прошивка фіксують криптографічні вимірювання кожного компонента, задіяного в процесі завантаження. Сюди входять завантажувач, образи ядра та будь-які початкові RAM-диски. Ці вимірювання надійно зберігаються в апаратних регістрах всередині процесора, які не можна змінити ані з боку операційної системи хоста, ані з боку гіпервізора.
Крок 2: створення криптографічного звіту
Щойно робоче навантаження ініціалізується всередині TEE, воно запитує у процесора звіт, підписаний апаратно. Процесор підписує цей звіт про вимірювання за допомогою жорстко вбудованого, незмінного закритого ключа, записаного в кремній на заводі-виробнику. Цей звіт слугує неможливим для підробки цифровим паспортом, який відображає точний стан програмного стеку, що працює в ізольованому середовищі.
Крок 3: перевірка службою Azure Attestation
Підписаний апаратний звіт надсилається до служби Microsoft Azure Attestation (MAA) або сумісного сторонього верифікатора. Служба атестації порівнює отримані вимірювання з еталонною політикою, визначеною вашим клієнтом. Якщо код, що виконується в анклаві, відповідає авторизованій політиці, служба формує токен атестації.
Крок 4: видача секретів
Маючи дійсний токен атестації, ваш застосунок може безпечно запросити облікові дані бази даних, TLS-сертифікати або ключі шифрування даних із захищеного Managed HSM у Key Vault. Key Vault перевіряє токен і видає секрети лише перевіреному TEE, гарантуючи, що жодне неавторизоване середовище ніколи не отримає доступу до ваших незашифрованих даних.
Архітектурні відмінності: AMD SEV-SNP проти Intel SGX
Реалізація атестації потребує розуміння базової апаратної архітектури, що лежить в основі вузлів Azure Confidential Computing. Microsoft Azure підтримує дві основні апаратні технології, кожна з яких по-різному реалізує ізоляцію та атестацію.
Intel Software Guard Extensions (SGX) орієнтована на ізоляцію на рівні процесу. Замість захисту всієї віртуальної машини SGX дозволяє розробникам ізолювати окремий код і структури даних у дрібнозернисті анклави. Атестація в SGX значною мірою спирається на quoting enclaves, які упаковують апаратний стан у перевірюваний quote, а потім перевіряється через інфраструктуру Intel Enhanced Privacy ID (EPID) або сучасну Data Center Attestation Primitives (DCAP).
Натомість AMD Secure Encrypted Virtualization-Secure Nested Paging (SEV-SNP) захищає цілі віртуальні машини. SEV-SNP забезпечує цілісність пам'яті, використовуючи апаратне шифрування пам'яті, та не дає зловмисним гіпервізорам переприв'язувати фізичні адреси гостьової системи. Звіт про атестацію, створений для віртуальної машини AMD SEV-SNP, містить конфігурації політик гостя та вимірювання запуску, що спрощує lift-and-shift існуючих контейнеризованих застосунків без переписування коду для API, специфічних для анклавів.
Впровадження атестації в конвеєри CI/CD
Для архітекторів хмарних рішень та DevOps-інженерів ручна перевірка звітів про атестацію не є ні масштабованою, ні практичною. Щоб побудувати стійку хмарну інфраструктуру, атестацію потрібно глибоко інтегрувати в автоматизовані конвеєри розгортання.
Сучасні контейнерні розгортання, що працюють у Azure Kubernetes Service (AKS) з конфіденційними вузлами, можуть використовувати sidecar-контейнери або плагіни пристроїв для автоматичного керування процесом атестації. Коли конфіденційний под запускається, клієнт атестації отримує апаратний звіт, надсилає його до служби Azure Attestation і кешує отриманий токен. Лише після перевірки токена контейнер застосунку монтує свої захищені томи та починає обробляти запити.
Вбудовуючи перевірки атестації у ваші шлюзи релізу, ви гарантуєте, що будь-яка несанкціонована зміна коду — випадкова чи зловмисна — одразу робить апаратні вимірювання недійсними. Це зупиняє процес видачі ключів і не дає скомпрометованому навантаженню запуститися у продуктиві.
Висновок: захист даних у використанні вже сьогодні
Azure Confidential Computing забезпечує технічну основу, необхідну для захисту чутливих хмарних робочих навантажень від сучасних загроз інфраструктури, але ізоляція апаратного забезпечення сама по собі є неповною без ретельної перевірки. Освоївши віддалену атестацію, хмарні архітектори можуть встановити перевірювану довіру між кодом клієнта та фізичним апаратним забезпеченням, гарантуючи, що дані в процесі обробки залишаються такими ж захищеними, як і дані в спокої та під час передавання. Щоб почути детальний розбір цих концепцій хмарної безпеки та дослідити ширший ландшафт Microsoft 365 і Azure, послухайте повний епізод подкасту M365 FM.
Поширені запитання
Яке основне призначення Azure Attestation?
Azure Attestation — це уніфікована хмарна служба, яка криптографічно перевіряє надійність Trusted Execution Environment і підтверджує цілісність програмного забезпечення, що працює всередині нього, перш ніж будуть надані секрети або ключі шифрування.
Чи може адміністратор хмари обійти апаратну атестацію?
Ні. Апаратна атестація спирається на криптографічні ключі, вбудовані безпосередньо в кремній ЦП виробником апаратного забезпечення. Оскільки ці ключі недоступні для гіпервізорів і операторів хмари, адміністратори не можуть підробити дійсний звіт атестації для скомпрометованого середовища.
Чим відрізняється атестація на рівні ВМ від атестації на рівні процесу?
Атестація на рівні ВМ (наприклад, AMD SEV-SNP) вимірює та перевіряє операційну систему всієї віртуальної машини та її робочі навантаження. Атестація на рівні процесу (наприклад, Intel SGX) ізолює та атестує окремі програмні процедури або анклави в межах стандартного середовища операційної системи.
Як токени атестації інтегруються з Azure Key Vault?
Після того як конфіденційне робоче навантаження успішно проходить процедуру атестації, воно отримує підписаний токен. Цей токен можна передати до Azure Key Vault Managed HSM, щоб довести цілісність середовища, що запускає автоматизоване надання ключів шифрування та облікових даних для баз даних.