Идея конфиденциальных контейнеров проста на словах: рабочая нагрузка шифруется в памяти, а администратор узла не может её прочитать. На практике всё упирается в один вопрос — где взять ключ расшифровки, чтобы не отдать его не тому. Если ключ лежит рядом с контейнером, смысл защиты пропадает.
Ответ — аттестация. Узел предъявляет криптографические доказательства того, что загрузился с ожидаемыми компонентами и запускает ожидаемый образ, и только после успешной проверки сервис управления ключами отдаёт секрет. Fortanix связала эту схему с Kubernetes: контейнер получает ключ не потому, что попросил, а потому, что доказал своё состояние.
Зачем там GPU
Долгое время слабым местом были ускорители: конфиденциальные вычисления на CPU есть, а на GPU данные и модели оказывались в открытом виде. В проверку добавили настройки аттестации GPU, то есть ключ к зашифрованной модели или набору данных можно выдавать только после подтверждения состояния и самого ускорителя.
Практический выигрыш — для сценариев, где модель или данные не должны быть доступны ни облаку, ни дежурному инженеру: медицинские записи, финансовые расчёты, работа с чужими весами. Ограничение — цена: аттестация добавляет задержку на старт, требует инфраструктуры доверия и ломает привычку «подключился к узлу и посмотрел».
Что учитывать
Схема не уникальна: похожие механизмы есть у Azure (Secure Key Release) и в upstream-проекте Trustee. Выбор между ними зависит от того, где живут ваши ключи и насколько вы готовы зависеть от облачного сервиса управления ими.
Confidential containers sound simple: the workload is encrypted in memory, and the node’s administrator cannot read it. In practice everything hinges on one question — where does the decryption key come from, and how do you avoid handing it to the wrong party? A key stored next to the container defeats the purpose.
The answer is attestation. A node presents cryptographic evidence that it booted with the expected components and is running the expected image, and only after a successful check does the key management service release the secret. Fortanix has connected that scheme to Kubernetes: a container gets a key not because it asked, but because it proved its state.
Why GPUs matter here
Accelerators were the weak spot for a long time: confidential computing existed on CPUs, while data and models sat in the clear on GPUs. The check now includes GPU attestation settings, so a key to an encrypted model or dataset can be released only after the accelerator’s state is confirmed too.
The practical gain is for cases where a model or dataset must stay out of reach of both the cloud provider and the on-call engineer: medical records, financial computation, work with someone else’s model weights. The cost is real: attestation adds startup latency, requires trust infrastructure and breaks the habit of logging into a node to take a look.
What to weigh
The approach is not unique: similar mechanisms exist in Azure Secure Key Release and the upstream Trustee project. Choosing between them is a question of where your keys live and how much you want to depend on a cloud key-management service.