Класифіковані дані традиційно захищалися в двох із трьох своїх станів. Шифрування в стані спокою захищає їх на диску; шифрування під час передавання захищає їх у мережі. Третій стан — дані в використанні, дешифровані в регістри процесора та оперативну пам'ять для безпосередньої обробки — завжди залишався вразливим місцем. Будь-який код з достатніми привілеями на хості, включаючи операційну систему, гіпервізор та хмарного оператора з фізичним доступом до шини пам'яті, може читати цей відкритий текст. Конфіденційні обчислення закривають цю прогалину, запускаючи робоче навантаження всередині апаратно ізольованого довіреного середовища виконання (TEE), де процесор тримає пам'ять зашифрованою та недоступною для всього, що знаходиться поза анклавом. Для класифікованих робочих навантажень це змінює коло тих, кому необхідно довіряти — і саме в цьому полягає весь сенс.
Проблема даних у використанні та модель загроз конфіденційних обчислень
Визначальна передумова конфіденційних обчислень — скорочена довірена обчислювальна база. У звичайному хмарному розгортанні орендар змушений довіряти всьому стеку під застосунком: ядру гостьової ОС, гіпервізору, прошивці хосту, хмарній площині управління та людям, які обслуговують центр обробки даних. Кожен з них є шляхом до відкритого тексту під час виконання робочого навантаження. Для навантаження рівня «Секретно» або надсекретного відділеного призначення така поверхня довіри є неприйнятною.
TEE перевертає цю модель. Сам процесор забезпечує межу ізоляції, шифруючи пам'ять анклаву ключами, які генеруються та зберігаються всередині апаратного модуля безпеки процесора і ніколи не передаються програмному забезпеченню. Хост-операційна система може планувати анклав, виділяти йому сторінки та зупиняти його — але вона не може читати, що всередині. Гіпервізор, скомпрометований зловмисником, або зловмисний адміністратор, який під'єднує відладчик або знімає дамп фізичної пам'яті, бачить лише зашифрований текст. Межа довіри звужується до двох речей: апаратного забезпечення постачальника кремнію та коду, який ви навмисно завантажуєте в анклав.
Це саме та властивість, яка дозволяє оборонним організаціям розглядати можливість розміщення чутливих робочих навантажень на інфраструктурі, яку вони фізично не контролюють. Сама по собі вона не робить комерційний регіон акредитованим для класифікованих даних — для цього потрібен повний набір засобів контролю, розглянутих у нашому аналізі архітектури нульової довіри для військових мереж — але вона виводить оператора за межу довіри для даних у використанні, що суттєво змінює розрахунок ризиків.
Довірені середовища виконання: SGX, SEV-SNP, TDX і CCA
Існує два архітектурних сімейства TEE, і вибір між ними є першим і найбільш визначальним проектним рішенням.
Анклави на рівні процесу (Intel SGX). Software Guard Extensions виокремлює невелику, визначену застосунком область пам'яті — анклав — із процесу та ізолює її від усього іншого, включаючи ядро. Довірена обчислювальна база є мінімальною: довіреним є лише код, розміщений всередині анклаву, але не навколишня ОС. Платою за це є необхідність розділити застосунок на довірені та ненадійні частини з контрольованим інтерфейсом викликів між ними, а пам'ять анклаву обмежена. SGX є правильним інструментом, коли потрібна якнайменша поверхня атаки навколо конкретної процедури обробки секретів — служби обгортання ключів, криптографічного підписувача, невеликого рушія політик.
Конфіденційність рівня VM (AMD SEV-SNP, Intel TDX, Arm CCA). Secure Encrypted Virtualization with Secure Nested Paging, Trust Domain Extensions та Arm's Confidential Compute Architecture Realms — усі вони захищають цілу віртуальну машину. Пам'ять гостя прозоро шифрується та захищається від порушення цілісності, а гіпервізор виводиться за межу довіри, проте робоче навантаження всередині виконується в немодифікованому вигляді. Наявний класифікований застосунок може бути перенесений у конфіденційну VM без змін у коді. Довірена обчислювальна база більша — вона включає всю гостьову ОС — але вартість впровадження суттєво нижча. Для більшості оборонних навантажень, які переносяться, а не пишуться з нуля, конфіденційність рівня VM є практичним вибором.
SEV-SNP і TDX додали функцію, якої бракувало першому поколінню SGX і яка критично важлива для класифікованих даних: захист цілісності пам'яті, що захищає від зловмисника, який відтворює або перемінює зашифровані сторінки, а не просто читає їх. Будь-який TEE, обраний для класифікованого використання, повинен забезпечувати як конфіденційність, так і цілісність; одна лише конфіденційність залишає робоче навантаження відкритим для активних атак на пошкодження пам'яті з боку хосту.
Дистанційна атестація: доведення анклаву перш ніж йому довіряти
Апаратна ізоляція є необхідною, але не достатньою. Сторона, що тримає класифіковані дані — або ключ для їх дешифрування — потребує доказу того, що анклав, з яким вона збирається комунікувати, є справжнім апаратним TEE, що виконує точно очікуваний код, а не емулятором, модифікованим образом або платформою з відкаченим мікрокодом, що вдає з себе безпечне середовище. Цим доказом є дистанційна атестація, і саме вона робить конфіденційні обчислення надійними, а не просто правдоподібними.
Як працює потік атестації
Коли анклав запускається, процесор вимірює завантажений код та конфігурацію в апаратний регістр і, на запит, генерує підписану цитату: структуру, що містить ці виміри, номери версій безпеки TEE та підпис, ланцюжок якого сягає ключа, вплавленого в кремній під час виробництва. Анклав надсилає цю цитату верифікатору — службі, яку контролює або якій довіряє власник даних. Верифікатор перевіряє ланцюжок підписів до кореневого сертифіката постачальника, підтверджує, що платформа працює на поточному, не відкликаному мікрокоді, та порівнює заявлені виміри з дозвільним списком коду, якому він готовий довіряти. Лише якщо кожна перевірка пройдена, верифікатор авторизує наступний крок.
Критично важлива інженерна дисципліна тут — відтворюване вимірювання. Образ анклаву або гостьової системи має збиратися детерміновано, щоб його вимір кожного разу відтворювався побітово ідентично, оскільки політика атестації є дозвільним списком точних значень вимірів. Невідтворювана збірка означає постійно змінюване вимірювання, що змушує операторів до кардинального гріха — послаблення політики до стану, коли вона приймає майже що завгодно — що нівелює сенс усього підходу. Ставтеся до вимірювання запуску як до артефакту релізу, що записується та контролюється версіями поряд із версіями прошивки та мікрокоду, від яких він залежить.
Політика атестації як реальна межа безпеки
Апаратне забезпечення виконує криптографію, але рішення приймає політика, і слабка політика нівелює потужне апаратне забезпечення. Політика атестації оборонного класу чітко визначає: які типи TEE приймаються; мінімальну версію довіреної обчислювальної бази з перевірками номерів версій безпеки, що відхиляють відкачений мікрокод після розкриття вразливості; точний набір дозволених вимірів коду; та вимоги до свіжості, щоб стара цитата не могла бути відтворена. Найпоширенішим режимом відмови в реальних розгортаннях є не зламаний анклав — це надмірно дозвільна політика, яка приймає виміри, які не слід приймати, або ніколи не перевіряє статус відкликання платформи. Атестація не краща за правила, які застосовує верифікатор.
Видача ключів: прив'язка секретів до перевіреного середовища
Атестація стає операційно корисною, коли вона контролює доступ до секретів. Шаблоном є видача ключів, прив'язана до атестації: служба управління ключами налаштована так, що ключ шифрування класифікованих даних передається лише після підтвердження верифікатором успішної атестації. Анклав запитує ключ, надає свіже свідчення, і KMS передає обгорнутий ключ у канал, завершений всередині TEE, тому відкритий ключ ніколи не існує поза анклавом. Неатестований хост, відкачана платформа або модифікований образ просто ніколи не отримують матеріал, необхідний для дешифрування будь-чого.
Це перевертає звичайне співвідношення між ідентичністю та авторизацією. Замість того, щоб передавати ключ, тому що абонент надає облікові дані, які можна вкрасти, ключ передається тому, що середовище виконання криптографічно довело свою цілісність. Для робочих навантажень, яким необхідно переміщувати дані через межі, це чисто компонується із засобами контролю, описаними в нашому матеріалі про міждоменні рішення для оборони: від анклаву, що здійснює передачу, можна вимагати атестації перш ніж йому коли-небудь довірять дані вищого рівня класифікації.
Ключовий висновок: Безпека розгортання конфіденційних обчислень визначається політикою атестації, а не функцією кремнію. Потужне апаратне забезпечення з дозвільним верифікатором, що приймає застарілі цитати, пропускає перевірку відкликань або ніколи не фіксує точні виміри коду, створює ілюзію захисту, одночасно передаючи ключі середовищам, які він насправді не перевірив. Ставтеся до верифікатора та його дозвільного списку як до найчутливішого компонента архітектури і керуйте ним із такою ж ретельністю, як і кодом, який він атестує.
Шаблони хмарного розгортання для класифікованих робочих навантажень
Усі основні урядові хмарні регіони тепер надають SKU конфіденційних VM на базі SEV-SNP або TDX, а також керовані послуги анклавів та атестації на додаток до них. У класифікованих і чутливих програмах повторюються три шаблони розгортання.
Конфіденційна обробка даних. Робоче навантаження, яке торкається класифікованих даних — аналітика, рушій злиття, служба інференсу моделі — виконується повністю всередині конфіденційних VM. Дані надходять у зашифрованому вигляді, ключі передаються лише атестованим анклавам, а розшифровані дані існують лише в захищеній пам'яті. Це шаблон переміщення без переробки: наявні застосунки отримують захист даних під час використання з мінімальними змінами, виводячи хмарного оператора за межу довіри без перепроектування архітектури.
Конфіденційне управління ключами та брокерство. Невеликий анклав у стилі SGX виступає як якір довіри: він тримає ключі обгортання, виконує перевірку атестації для інших робочих навантажень і бере на себе роль брокера ключів шифрування даних для атестованих конфіденційних VM. Концентрація найчутливішої логіки в мінімальному анклаві тримає довірену обчислювальну базу для обробки ключів невеликою, навіть коли основні навантаження виконуються як повноцінні конфіденційні VM.
Конфіденційні багатосторонні та коаліційні обчислення. Дві організації, що не можуть ділитися необробленими даними — партнери по коаліції або відомства на різних рівнях класифікації — кожна передають зашифровані вхідні дані до конфіденційної VM, яка обчислює спільний результат. Оскільки жодна сторона, включаючи хост, не може читати вхідні дані інших, анклав стає нейтральною платформою. Атестація дозволяє кожному учаснику перевірити, який саме код оброблятиме його дані, до того як їх передати.
Залишкові ризики та операційна дисципліна
Конфіденційні обчислення суттєво звужують поверхню загроз, але не усувають її повністю. Атаки побічного каналу проти TEE є активною сферою досліджень, і деякі з них вимагали виправлень мікрокоду — саме тому застосування номерів версій безпеки в політиці атестації є обов'язковим, а не опціональним. Код анклаву перебуває всередині межі довіри, тому вразливість у ньому є вразливістю в захищеному робочому навантаженні; мінімальна довірена обчислювальна база обмежує радіус ураження. І ланцюжок постачання кремнію, зрештою, є об'єктом довіри. Жодне з цього не спростовує модель, але вони визначають операційну дисципліну: своєчасно виправляйте мікрокод, тримайте анклав невеликим, повторно атестуйте постійно, а не лише під час запуску, та реєструйте кожне рішення атестації в незмінному сховищі для аудиту.
Конфіденційні обчислення є одним потужним засобом контролю в межах ширшої акредитованої архітектури, а не заміною акредитації. Вони знаходяться поряд із засобами контролю розміщення даних, авторизацією на роботу на відповідному рівні впливу, перевіреним управлінням ключами та мережею нульової довіри і міждоменними засобами контролю, описаними в інших матеріалах цієї серії. Те, що вони унікально надають, — це перевіряємий захист даних під час використання — стан, який до недавнього часу просто вважався відкритим.
Запускайте класифіковані навантаження з доведеною цілісністю
Corvus Quantum об'єднує конфіденційні обчислення, апаратну атестацію та квантово-стійке управління ключами, щоб чутливі навантаження залишалися захищеними під час використання, у пам'яті та через ненадійну інфраструктуру. Видача ключів, контрольована атестацією, — за замовчуванням.
Цей аналіз підготовлений інженерами Corvus Intelligence, які створюють місіє-критичні безпечні хмарні рішення та інфраструктуру для оборонних та урядових організацій. Дізнатися про нашу команду →