Obsługa enklawy aplikacji z poufnymi węzłami obliczeniowymi firmy Intel SGX w Azure Kubernetes Service
Poufne przetwarzanie na platformie Azure umożliwia ochronę poufnych danych podczas ich używania. Enklawy oparte na technologii Intel SGX umożliwiają uruchamianie aplikacji spakowanej jako kontener w usłudze AKS. Kontenery uruchamiane w ramach zaufanego środowiska wykonawczego (TEE) zapewnia izolację od innych kontenerów, jądro węzła w chronionym sprzęcie, chronionym integralnością w środowisku zaświadczanym.
Omówienie
Azure Kubernetes Service (AKS) obsługuje dodawanie poufnych węzłów maszyn wirtualnych przetwarzania Intel SGX jako pul agentów w klastrze. Te węzły umożliwiają uruchamianie poufnych obciążeń w środowisku TEE opartym na sprzęcie. Te te umożliwiają bezpośrednie uruchamianie kodu na poziomie użytkownika z kontenerów w celu przydzielenia prywatnych regionów pamięci w celu bezpośredniego wykonania kodu za pomocą procesora CPU. Te prywatne regiony pamięci wykonywane bezpośrednio za pomocą procesora CPU są nazywane enklawy. Enklawy pomagają chronić poufność danych, integralność danych i integralność kodu przed innymi procesami działającymi w tych samych węzłach, a także operatorem platformy Azure. Model wykonywania Intel SGX usuwa również warstwy pośrednie systemu operacyjnego gościa, systemu operacyjnego hosta i funkcji Hypervisor, co zmniejsza obszar powierzchni podatnej na ataki. Sprzęt oparty na modelu wykonywania izolowanego kontenera w węźle umożliwia aplikacjom bezpośrednie wykonywanie przy użyciu procesora CPU, przy jednoczesnym zachowaniu specjalnego bloku pamięci zaszyfrowanej dla kontenera. Poufne węzły obliczeniowe z poufnymi kontenerami są doskonałym dodatkiem do strategii bez zaufania, planowania zabezpieczeń i szczegółowej strategii kontenera ochrony.
Funkcja poufnych węzłów obliczeniowych Intel SGX
- Izolacja kontenera na poziomie procesu oparta na sprzęcie za pośrednictwem zaufanego środowiska wykonawczego Intel SGX (TEE)
- Heterogeniczne klastry puli węzłów (mieszają poufne i nieufne pule węzłów)
- Planowanie zasobników opartych na pamięci na podstawie zaszyfrowanej pamięci pamięci (EPC) za pomocą dodatku AKS "confcom"
- Zainstalowane wstępnie sterowniki Intel SGX DCAP i zależność jądra
- Automatyczne skalowanie zasobników i skalowanie automatyczne klastra oparte na procesorach CPU
- Kontenery systemu Linux obsługują węzły robocze maszyn wirtualnych z systemem Ubuntu 18.04 Gen 2
Dodatek poufnego przetwarzania dla usługi AKS
Funkcja dodatku umożliwia korzystanie z dodatkowych funkcji w usłudze AKS podczas uruchamiania pul węzłów obsługujących poufne przetwarzanie Intel SGX w klastrze. Dodatek "confcom" w usłudze AKS umożliwia korzystanie z poniższych funkcji.
Wtyczka urządzenia platformy Azure dla środowiska Intel SGX
Wtyczka urządzenia implementuje interfejs wtyczki urządzenia Kubernetes dla pamięci zaszyfrowanej pamięci podręcznej strony (EPC) i uwidacznia sterowniki urządzeń z węzłów. W rzeczywistości ta wtyczka sprawia, że pamięć EPC jest innym typem zasobu w rozwiązaniu Kubernetes. Użytkownicy mogą określać limity dla tego zasobu tak samo jak inne zasoby. Oprócz funkcji planowania wtyczka urządzenia pomaga przypisać uprawnienia sterowników urządzeń Intel SGX do poufnych wdrożeń kontenerów. Dzięki temu wtyczki deweloper może uniknąć instalowania woluminów sterowników Intel SGX w plikach wdrażania. Ten dodatek w klastrach usługi AKS działa jako demononset na węzeł maszyny wirtualnej, który jest w stanie intel SGX. Przykładowa implementacja wdrożenia opartego na pamięci EPC (kubernetes.azure.com/sgx_epc_mem_in_MiB
) znajduje się tutaj
Pomocnik oferty Intel SGX z składnikami oprogramowania platformy
W ramach wtyczki wdrażany jest inny demononset na węzeł maszyny wirtualnej, który jest w stanie Intel SGX w klastrze usługi AKS. Ten demononset pomaga w poufnych aplikacjach kontenera, gdy wywoływane jest zdalne żądanie zaświadczania poza proc.
Aplikacje enklawy, które wykonują zdalne zaświadczanie, muszą wygenerować cudzysłów. Cytat zapewnia kryptograficzny dowód tożsamości i stanu aplikacji wraz ze środowiskiem hosta enklawy. Generowanie cytatów opiera się na niektórych zaufanych składnikach oprogramowania firmy Intel, które są częścią składników oprogramowania platformy SGX (PSW/DCAP). Ten psW jest spakowany jako zestaw demona, który działa na węzeł. Możesz użyć psW podczas żądania oferty zaświadczania z aplikacji enklawy. Korzystanie z udostępnionej usługi AKS pomaga lepiej zachować zgodność między psW i innymi składnikami sw na hoście z sterownikami Intel SGX, które są częścią węzłów maszyny wirtualnej usługi AKS. Dowiedz się więcej na temat sposobu używania tego demona przez aplikacje bez konieczności spakowania elementów pierwotnych zaświadczania w ramach wdrożeń kontenerów Więcej tutaj
Modele programowania
Poufne kontenery za pośrednictwem partnerów i systemu operacyjnego
Poufne kontenery ułatwiają poufne uruchamianie istniejących niezmodyfikowanych aplikacji kontenerów najczęściej używanych języków programowania (Python, Node, Java itp.). Ten model pakowania nie wymaga żadnych modyfikacji kodu źródłowego ani ponownej kompilacji i jest najszybszą metodą uruchamiania w enklawie Intel SGX uzyskanych przez pakowanie standardowych kontenerów platformy Docker przy użyciu projektów Open-Source lub rozwiązań partnerskich platformy Azure. W tym modelu pakowania i wykonywania wszystkie części aplikacji kontenera są ładowane do zaufanej granicy (enklawy). Ten model działa dobrze dla gotowych aplikacji kontenerów dostępnych na rynku lub niestandardowych aplikacjach działających obecnie w węzłach ogólnego przeznaczenia. Dowiedz się więcej na temat procesu przygotowywania i wdrażania tutaj
Kontenery obsługujące enklawy
Poufne węzły obliczeniowe w usłudze AKS obsługują również kontenery, które są programowane do uruchamiania w enklawie, aby korzystać z specjalnego zestawu instrukcji dostępnych z procesora CPU. Ten model programowania umożliwia ściślejszą kontrolę nad przepływem wykonywania i wymaga użycia specjalnych zestawów SDK i struktur. Ten model programowania zapewnia największą kontrolę nad przepływem aplikacji z najniższą zaufaną bazą obliczeniową (TCB). Tworzenie kontenerów obsługujących enklawę obejmuje niezaufane i zaufane części aplikacji kontenera, co pozwala na zarządzanie pamięcią zwykłą i pamięcią EPC (Encrypted Page Cache), w której jest wykonywana enklawa. Przeczytaj więcej na temat kontenerów obsługujących enklawy.
Często zadawane pytania
Znajdź odpowiedzi na niektóre typowe pytania dotyczące obsługi puli węzłów Azure Kubernetes Service (AKS) dla węzłów opartych na technologii Intel SGX tutaj
Następne kroki
Wdrażanie klastra usługi AKS z poufnymi węzłami obliczeniowymi
Przykłady poufnych kontenerów szybkiego startu
Poufne maszyny wirtualne Intel SGX — lista jednostek SKU DCsv2
Poufne maszyny wirtualne Intel SGX — lista jednostek SKU DCsv3
Szczegółowe informacje na temat ochrony dzięki sesji seminarium internetowego poufnych kontenerów