Udostępnij za pośrednictwem


Obsługa enklawy aplikacji z węzłami poufnymi obliczeniowymi opartymi na technologii Intel SGX w usłudze Azure Kubernetes Service

Poufne przetwarzanie na platformie Azure umożliwia ochronę poufnych danych, gdy są one używane. 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ądra węzłów w chronionym sprzętowym środowisku chronionym integralnością.

Omówienie

Usługa Azure Kubernetes Service (AKS) obsługuje dodawanie poufnych węzłów maszyn wirtualnych obliczeniowych 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. TeEs umożliwiają bezpośrednie przydzielanie prywatnych regionów pamięci przez kod z kontenerów na poziomie użytkownika w celu bezpośredniego wykonywania kodu za pomocą procesora CPU. Te regiony pamięci prywatnej wykonywane bezpośrednio przy użyciu procesora CPU są nazywane enklawami. Enklawy pomagają chronić poufność danych, integralność danych i integralność kodu przed innymi procesami uruchomionymi 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 izolowanego wykonywania 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 kontenera o zerowym zaufaniu, planowaniu zabezpieczeń i planowaniu zabezpieczeń.

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 (EPC) zaszyfrowanej pamięci za pośrednictwem dodatku AKS "confcom"
  • Zainstalowany wstępnie sterownik Intel SGX DCAP i zależność jądra
  • Skalowanie automatyczne zasobników i skalowanie automatyczne klastra oparte na procesorach CPU
  • Obsługa kontenerów systemu Linux za pośrednictwem węzłów roboczych 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 poufnych pul węzłów obsługujących funkcję Intel SGX w klastrze. Dodatek "confcom" w usłudze AKS umożliwia korzystanie z poniższych funkcji.

Wtyczka urządzenia platformy Azure dla intel SGX

Wtyczka urządzenia implementuje interfejs wtyczki urządzenia Kubernetes dla pamięci zaszyfrowanej pamięci pamięci podręcznej stron (EPC) i uwidacznia sterowniki urządzeń z węzłów. W rzeczywistości ta wtyczka sprawia, że pamięć EPC jest innym typem zasobu na platformie 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 dla węzła maszyny wirtualnej obsługującego funkcję Intel SGX. Przykładowa implementacja przykładowego wdrożenia opartego na pamięci (kubernetes.azure.com/sgx_epc_mem_in_MiB) EPC znajduje się tutaj

Pomocnik oferty Intel SGX z składnikami oprogramowania platformy

W ramach wtyczki jest wdrażany inny zestaw demonów na węzeł maszyny wirtualnej, który jest obsługujący intel SGX w klastrze AKS. Ten demon pomaga w poufnych aplikacjach kontenera, gdy jest wywoływane zdalne żądanie zaświadczania poza proc.

Aplikacje enklawy, które wykonują zdalne zaświadczanie, muszą wygenerować ofertę. Cytat zawiera kryptograficzny dowód tożsamości i stanu aplikacji wraz ze środowiskiem hosta enklawy. Generowanie oferty opiera się na niektórych zaufanych składnikach oprogramowania firmy Intel, które są częścią składników oprogramowania SGX Platform (PSW/DCAP). Ten psW jest spakowany jako zestaw demona, który działa na węzeł. Możesz użyć psW podczas żądania cytatu zaświadczania z aplikacji enklawy. Korzystanie z usługi AKS zapewnia lepszą zgodność między serwerem PSW i innymi składnikami SW na hoście ze 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 tworzenia pakietów 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

Kontenery poufne 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 enklawach Intel SGX osiąganych przez pakowanie standardowych kontenerów platformy Docker za pomocą 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 dobrze sprawdza się w przypadku 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 z rozpoznawaniem enklawy

Poufne węzły obliczeniowe w usłudze AKS obsługują również kontenery, które są programowane do uruchamiania w enklawie w celu korzystania z specjalnego zestawu instrukcji dostępnych na podstawie procesora CPU. Ten model programowania umożliwia ściślejszą kontrolę przepływu 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ą pamięci podręcznej zaszyfrowanych stron (EPC), w której jest wykonywana enklawa. Przeczytaj więcej na temat kontenerów obsługujących enklawy.

Często zadawane pytania

Odpowiedzi na niektóre typowe pytania dotyczące obsługi puli węzłów usługi Azure Kubernetes Service (AKS) dla węzłów opartych na technologii Intel SGX znajdziesz 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

Ochrona w głębi systemu z poufnymi kontenerami — sesja seminarium internetowego