Unterstützung von Anwendungsenklaven mit Intel SGX-basierten Confidential Computing-Knoten auf Azure Kubernetes Service

Mit Azure Confidential Computing können Sie Ihre vertraulichen Daten während der Nutzung schützen. Intel SGX-basierte Enklaven ermöglicht das Ausführen von Anwendungen, die als Container innerhalb von AKS verpackt sind. Container, die in einer Trusted Execution Environment (TEE) ausgeführt werden, bringen Isolation von anderen Containern, den Knotenkernel in einer hardwaregeschützten, integritätsgeschützten, nachweisbaren Umgebung.

Überblick

Azure Kubernetes Service (AKS) unterstützt das Hinzufügen von Intel SGX Confidential Computing-VM-Knoten als Agentpools in einem Cluster. Auf diesen Knoten können Sie vertrauliche Workloads in einer hardwarebasierten TEE ausführen. In diesen Umgebungen können mit Code auf Benutzerebene aus Containern private Arbeitsspeicherregionen zugeordnet werden, um den Code direkt per CPU auszuführen. Diese privaten Arbeitsspeicherregionen, die direkt per CPU ausgeführt werden, werden als „Enclaves“ (Enklaven) bezeichnet. Enclaves tragen zum Schutz der Datenvertraulichkeit, Datenintegrität und Codeintegrität vor der Beeinträchtigung durch andere Prozesse, die auf denselben Knoten ausgeführt werden, sowie durch Azure-Operatoren bei. Mit dem Intel SGX-Ausführungsmodell werden auch die Zwischenschichten des Gastbetriebssystems, Hostbetriebssystems und von Hypervisor entfernt, um die Angriffsfläche zu verkleinern. Das Modell für die hardwarebasierte Ausführung mit containerspezifischer Isolierung auf einem Knoten ermöglicht Anwendungen die direkte Ausführung mit der CPU, während der spezielle Arbeitsspeicherblock pro Container verschlüsselt bleibt. Confidential Computing-Knoten mit vertraulichen Containern sind ein wertvoller Beitrag zu Ihrer Zero-Trust-Sicherheitsplanung und Strategie für die tiefgehende Verteidigung von Containern.

Grafik: AKS Confidential Compute-Knoten mit vertraulichen Containern und darin gesichertem Code bzw. darin gesicherten Daten

Intel SGX-Feature für Confidential Computing-Knoten

  • Hardwarebasierte Containerisolation auf Prozessebene über eine vertrauenswürdige Intel SGX-Ausführungsumgebung (Trusted Execution Environment, TEE)
  • Heterogene Knotenpoolcluster (Mischung aus vertraulichen und nicht vertraulichen Knotenpools)
  • Auf einem Arbeitsspeicher des Typs „Verschlüsselter Seitencache“ (Encrypted Page Cache, EPC) basierende Podplanung über das AKS-Add-On „Confcon“
  • Intel SGX DCAP-Treiber vorinstalliert und Kernelabhängigkeit installiert
  • Auf CPU-Auslastung basierende horizontale automatische Podskalierung und automatische Clusterskalierung
  • Unterstützung für Linux-Container über Ubuntu 18.04 Gen2-VM-Workerknoten

Confidential Computing-Add-On für AKS

Das Add-On-Feature ermöglicht die Nutzung von zusätzlichen Funktionen in AKS, wenn im Cluster Intel SGX-fähige Pools mit Confidential Computing-Knoten ausgeführt werden. Mit dem Add-On „Confcon“ in AKS werden die folgenden Features aktiviert.

Azure-Geräte-Plug-In für Intel SGX

Mit dem Geräte-Plug-In wird die Kubernetes-Geräte-Plug-In-Schnittstelle für Arbeitsspeicher vom Typ „Verschlüsselter Seitencache“ (Encrypted Page Cache, EPC) implementiert, und die Gerätetreiber werden über die Knoten verfügbar gemacht. Mit diesem Plug-In wird der EPC-Arbeitsspeicher in Kubernetes quasi zu einem zusätzlichen Ressourcentyp. Benutzer können Grenzwerte für diese Ressource genauso wie für andere Ressourcen angeben. Neben der Planungsfunktion ermöglicht das Geräte-Plug-In auch die Zuweisung von Intel SGX-Gerätetreiberberechtigungen für Bereitstellungen vertraulicher Container. Mit diesem Plug-In können Entwickler die Einbindung der Intel SGX-Treibervolumes in die Bereitstellungsdateien vermeiden. Dieses Add-On in AKS-Clustern wird als Daemonset pro Intel SGX-fähigem VM-Knoten ausgeführt. Eine Beispielimplementierung der arbeitsspeicherbasierten EPC-Bereitstellung (kubernetes.azure.com/sgx_epc_mem_in_MiB) finden Sie hier.

Intel SGX-Angebotshilfe mit Plattformsoftwarekomponenten

Als Teil des Plug-Ins wird pro Intel SGX-fähigem VM-Knoten im AKS-Cluster ein weiteres Daemonset bereitgestellt. Dieses Daemonset unterstützt Ihre Apps für vertrauliche Container, wenn eine prozessexterne Nachweisanforderung aufgerufen wird.

Enklave-Anwendungen, die eine Fernbescheinigung durchführen, müssen ein Angebot erstellen. Das Zitat liefert einen kryptografischen Beweis für die Identität und den Zustand der Anwendung sowie für die Host-Umgebung der Enklave. Die Angebotserstellung stützt sich auf bestimmte vertrauenswürdige Softwarekomponenten von Intel, die Teil der SGX Platform Software Components (PSW/DCAP) sind. Diese Plattformsoftwarekomponenten werden als DaemonSet verpackt, das pro Knoten ausgeführt wird. Sie können das PSW verwenden, wenn Sie ein Bescheinigungsangebot von Enklave Apps anfordern. Mithilfe des von AKS bereitgestellten Diensts kann die Kompatibilität zwischen PSW und anderen Softwarekomponenten auf dem Host mit Intel SGX-Treibern besser verwaltet werden, die Teil der AKS-VM-Knoten sind. Hier erfahren Sie mehr darüber, wie Ihre Apps dieses Daemonset verwenden können, ohne die Nachweisprimitiven als Teil Ihrer Containerbereitstellungen verpacken zu müssen.

Programmmodelle

Vertrauliche Container über Partner und OSS

Mit vertraulichen Containern können Sie vorhandene unveränderte Containeranwendungen der meisten gängigen Runtimes von Programmiersprachen (Python, Node, Java usw.) auf vertrauliche Weise ausführen. Für dieses Paketerstellungsmodell sind weder Quellcodeänderungen noch eine Neukompilierung erforderlich, und es ist die schnellste Methode für die Ausführung in einer Intel SGX-Enklave, die durch das Verpacken Ihrer Standard-Docker-Container mit Open-Source-Projekten oder Azure-Partnerlösungen erreicht wird. Bei diesem Paketerstellungs- und Ausführungsmodell werden alle Teile der Containeranwendung in den vertrauenswürdigen Bereich (Enclave) geladen. Dieses Modell funktioniert gut für fertige Containeranwendungen, die auf dem Markt erhältlich sind, oder für benutzerdefinierte Apps, die derzeit auf universellen Knoten ausgeführt werden. Weitere Informationen zum Vorbereitungs- und Bereitstellungsprozess finden Sie hier

Für Enklaven geeignete Container

Für Confidential Computing-Knoten unter AKS werden auch Container unterstützt, die für die Ausführung in einer Enclave programmiert sind, um spezielle Anweisungen der CPU zu nutzen. Dieses Programmiermodell ermöglicht eine stärkere Kontrolle Ihres Ausführungsablaufs und erfordert die Verwendung von speziellen SDKs und Frameworks. Das Programmiermodell ermöglicht bei einer geringstmöglichen Basis für vertrauenswürdiges Computing (Trusted Computing Base, TCB) die beste Kontrolle über Ihre Anwendungsabläufe. Bei der Entwicklung von Enclave-fähigen Containern werden nicht vertrauenswürdige und vertrauenswürdige Teile einer Containeranwendung genutzt, sodass Sie den regulären Arbeitsspeicher und den EPC-Arbeitsspeicher (Encrypted Page Cache) verwalten können, in dem die Enclave ausgeführt wird. Erfahren Sie mehr zu Containern, die für Enklaven geeignet sind.

Häufig gestellte Fragen (FAQ)

Antworten auf einige der häufigen Fragen zu Azure Kubernetes Service (AKS)-Knotenpoolunterstützung für Intel SGX-basierte Confidential Computing-Knoten finden Sie hier.

Nächste Schritte

Bereitstellen eines AKS-Clusters mit Confidential Computing-Knoten

Schnellstart: Beispiele für vertrauliche Container

Vertrauliche Intel SGX-VMs: Liste der DCsv2-SKUs

Vertrauliche Intel SGX-VMs: Liste der DCsv3-SKUs

Tiefgehende Verteidigung mit vertraulichen Containern: Webinarsitzung