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.

Grafika dotycząca poufnego węzła obliczeniowego usługi AKS przedstawiająca poufne kontenery z kodem i danymi zabezpieczonymi wewnątrz.

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