Poufne przetwarzanie na platformie opieki zdrowotnej

Azure Attestation
Kubernetes Service

W tym artykule przedstawiono rozwiązanie, które oferuje poufne przetwarzanie na platformie Azure (ACC) na potrzeby szyfrowania danych w użyciu.

Architektura

Diagram pokazu poufnej platformy opieki zdrowotnej. Platforma obejmuje szpital, dostawcę platformy medycznej i dostawcę diagnostyki.

Diagram przedstawiający przepływ danych między trzema stronami w ustawieniu opieki zdrowotnej. Trzy prostokąty reprezentują trzy strony: szpital, platformę medyczną i dostawcę diagnostyki. Każdy prostokąt zawiera ikony reprezentujące różne składniki, takie jak witryna internetowa, aplikacja kliencka, Azure Attestation, internetowy interfejs API, magazyn danych i środowisko uruchomieniowe. Prostokąty platformy medycznej i dostawcy diagnostyki zawierają również mniejsze prostokąty reprezentujące poufne węzły i klastry A K S. Strzałki łączą te składniki i pokazują przepływ danych. Numerowane objaśnienie odpowiada krokom opisanym w tym artykule po diagramie.

Pobierz plik programu Visio z tą architekturą.

Diagram przedstawia architekturę. W całym systemie:

Przepływ pracy

Rozwiązanie obejmuje następujące kroki:

  1. Urzędnik lokalnego szpitala otwiera portal internetowy. Cała aplikacja internetowa jest statyczną witryną internetową Azure Blob Storage.
  2. Urzędnik wprowadza dane do portalu internetowego szpitala, który łączy się z internetowym interfejsem API opartym na platformie Python Flask utworzonym przez popularnego dostawcę platformy medycznej. Poufny węzeł w oprogramowaniu do przetwarzania poufnego SCONE chroni dane pacjenta. Funkcja SCONE działa w klastrze usługi AKS z włączoną obsługą rozszerzeń funkcji Software Guard (SGX), które ułatwiają uruchamianie kontenera w enklawie. Internetowy interfejs API dostarczy dowodów na to, że poufne dane i kod aplikacji są szyfrowane i izolowane w zaufanym środowisku wykonywania. Oznacza to, że żadne osoby, procesy i żadne dzienniki nie mają dostępu do danych cleartext lub kodu aplikacji.
  3. Klient aplikacji internetowej szpitala żąda, aby usługa zaświadczania (Azure Attestation) weryfikowała te dowody i odbiera podpisany token zaświadczania dla innych aplikacji w celu zweryfikowania.
  4. Jeśli internetowy interfejs API wymaga dodatkowych składników (na przykład pamięci podręcznej Redis), może przekazać token zaświadczania, aby sprawdzić, czy dane i kod aplikacji do tej pory pozostały w bezpiecznej enklawie (zobacz krok 6 w celu weryfikacji).
  5. Internetowy interfejs API może nawet korzystać z usług zdalnych, takich jak model uczenia maszynowego hostowany przez dostawcę diagnostyki innej firmy. W takim przypadku nadal przekazuje wszelkie tokeny zaświadczania na potrzeby dowodów, że wymagane enklawy są bezpieczne. Internetowy interfejs API może również próbować odbierać i weryfikować tokeny zaświadczania dla infrastruktury dostawcy diagnostyki.
  6. Infrastruktura zdalna akceptuje token zaświadczania z internetowego interfejsu API platformy medycznej i weryfikuje go za pomocą certyfikatu publicznego znalezionego w usłudze Azure Attestation. Jeśli token zostanie zweryfikowany, istnieje niemal pewność, że enklawa jest bezpieczna i żadne dane lub kod aplikacji nie zostały otwarte poza enklawą.
  7. Dostawca diagnostyki, pewny, że dane nie zostały ujawnione, wysyła je do własnej enklawy na serwerze środowiska uruchomieniowego Open Neuron Network Exchange (ONNX). Model sztucznej inteligencji interpretuje obraz medyczny i zwraca wyniki diagnostyki z powrotem do poufnej aplikacji internetowego interfejsu API platformy medycznej. W tym miejscu oprogramowanie może następnie wchodzić w interakcje z zapisami pacjentów i/lub kontaktować się z innymi pracownikami szpitala.

Składniki

  • Azure Blob Storage obsługuje zawartość statyczną, np. HTML, CSS, JavaScript i pliki obrazów bezpośrednio z kontenera magazynu.

  • Azure Attestation to ujednolicone rozwiązanie, które zdalnie weryfikuje wiarygodność platformy. Azure Attestation również zdalnie weryfikuje integralność plików binarnych uruchamianych na platformie. Użyj Azure Attestation, aby ustanowić relację zaufania z aplikacją poufne.

  • Azure Kubernetes Service upraszcza proces wdrażania klastra Kubernetes.

  • Poufne węzły obliczeniowe są hostowane w określonej serii maszyn wirtualnych, które mogą uruchamiać poufne obciążenia w usłudze AKS w ramach sprzętowego zaufanego środowiska wykonawczego (TEE), umożliwiając kodowi na poziomie użytkownika przydzielanie prywatnych regionów pamięci, znanych jako enklawy. Poufne węzły obliczeniowe mogą obsługiwać poufne kontenery lub kontenery obsługujące enklawy.

  • Platforma SCONE to rozwiązanie dostawcy oprogramowania niezależnego od partnera platformy Azure (ISV) firmy Scontain.

  • Redis to magazyn struktury danych typu open source w pamięci.

  • Bezpieczne środowisko kontenera (SCONE) obsługuje wykonywanie poufnych aplikacji w kontenerach uruchamianych wewnątrz klastra Kubernetes.

  • Poufne wnioskowanie enklawy serwera środowiska uruchomieniowego ONNX (ONNX RT — enklawa) jest hostem, który ogranicza dostawcę hostingu uczenia maszynowego do uzyskiwania dostępu zarówno do żądania wnioskowania, jak i odpowiadającej mu odpowiedzi.

Alternatywy

  • Zamiast SCONE można użyć narzędzia Fortanix , aby wdrożyć kontenery poufne do użycia z aplikacją konteneryzowaną. Rozwiązanie Fortanix zapewnia elastyczność uruchamiania i zarządzania najszerszym zestawem aplikacji: istniejących aplikacji, nowych aplikacji natywnych enklawy i wstępnie spakowanych aplikacji.

  • Graphene to lekki system operacyjny gościa typu open source. Graphene może uruchamiać pojedynczą aplikację systemu Linux w izolowanym środowisku z korzyściami porównywalnymi z uruchomieniem kompletnego systemu operacyjnego. Ma ona dobrą obsługę narzędzi do konwertowania istniejących aplikacji kontenerów platformy Docker na kontenery z osłoną programu Graphene (GSC).

Szczegóły scenariusza

Gdy organizacje współpracują, udostępniają informacje. Ale większość stron nie chce dać innym stronom dostępu do wszystkich części danych. Istnieją mechanizmy ochrony danych magazynowanych i przesyłanych. Jednak szyfrowanie danych w użyciu stwarza różne wyzwania.

Korzystając z poufnych obliczeń i kontenerów, rozwiązanie umożliwia aplikacji hostowanej przez dostawcę bezpieczne współpracę ze szpitalem i dostawcą diagnostyki innej firmy. Azure Kubernetes Service (AKS) hostuje poufne węzły obliczeniowe. Azure Attestation ustanawia zaufanie do dostawcy diagnostyki. Korzystając z tych składników platformy Azure, architektura izoluje poufne dane pacjentów szpitalnych podczas przetwarzania określonych udostępnionych danych w chmurze. Dane szpitalne są następnie niedostępne dla dostawcy diagnostyki. Dzięki tej architekturze aplikacja hostowana przez dostawcę może również korzystać z zaawansowanych analiz. Dostawca diagnostyczny udostępnia te analizy jako poufne usługi obliczeniowe aplikacji uczenia maszynowego (ML).

Potencjalne przypadki użycia

Wiele branż chroni swoje dane przy użyciu poufnego przetwarzania w następujących celach:

  • Zabezpieczanie danych finansowych
  • Ochrona informacji o pacjentach
  • Uruchamianie procesów uczenia maszynowego na temat poufnych informacji
  • Wykonywanie algorytmów na zaszyfrowanych zestawach danych z wielu źródeł
  • Ochrona danych kontenera i integralności kodu

Zagadnienia do rozważenia

Te zagadnienia implementują filary platformy Azure Well-Architected Framework, która jest zestawem podstawowych zestawów, które mogą służyć do poprawy jakości obciążenia. Aby uzyskać więcej informacji, zobacz Microsoft Azure Well-Architected Framework.

Maszyny wirtualne do przetwarzania poufnego platformy Azure są dostępne w rozmiarach rodziny D drugiej generacji na potrzeby ogólnego przeznaczenia. Te rozmiary są określane zbiorczo jako seria D-Series v2 lub DCsv2. W tym scenariuszu są używane maszyny wirtualne z obsługą DCs_v2 serii Intel SGX z obrazami systemu operacyjnego Gen2. Można jednak wdrażać tylko niektóre rozmiary w niektórych regionach. Aby uzyskać więcej informacji, zobacz Szybki start: wdrażanie maszyny wirtualnej poufnego przetwarzania platformy Azure w witrynie Marketplace i produktach dostępnych według regionów.

Optymalizacja kosztów

Optymalizacja kosztów dotyczy sposobów zmniejszenia niepotrzebnych wydatków i poprawy wydajności operacyjnej. Aby uzyskać więcej informacji, zobacz Omówienie filaru optymalizacji kosztów.

Aby zapoznać się z kosztem działania tego scenariusza, użyj kalkulatora cen platformy Azure, który wstępnie konfiguruje wszystkie usługi platformy Azure.

Przykładowy profil kosztów jest dostępny dla platformy Contoso Medical SaaS, jak pokazano na diagramie. Zawiera ona następujące składniki:

  • Pula węzłów systemowych i pula węzłów SGX: brak dysków, wszystkie efemeryczny
  • Load Balancer usługi AKS
  • Azure Virtual Network: nominalne
  • Azure Container Registry
  • Konto magazynu dla aplikacji jednostronicowej (SPA)

Profil nie zawiera następujących składników:

  • usługa Azure Attestation: bezpłatna

  • Dzienniki usługi Azure Monitor: oparte na użyciu

  • Licencjonowanie niezależnego dostawcy oprogramowania SCONE

  • Usługi zgodności wymagane do pracy z danymi poufnymi, w tym:

    • Microsoft Defender dla chmury i Microsoft Defender dla platformy Kubernetes
    • Azure DDoS Protection: Ochrona sieci
    • Azure Firewall
    • Azure Application Gateway i azure Web Application Firewall
    • Azure Key Vault

Wdrażanie tego scenariusza

Wdrożenie tego scenariusza obejmuje następujące kroki wysokiego poziomu:

  • Wdróż poufny serwer wnioskowania na istniejącym klastrze usługi AKS z obsługą protokołu SGX. Aby uzyskać informacje na temat tego kroku, zobacz poufny projekt serwera wnioskowania ONNX w usłudze GitHub.

  • Skonfiguruj zasady Azure Attestation.

  • Wdróż pulę węzłów klastra usługi AKS z obsługą sgX.

  • Uzyskaj dostęp do wyselekcjonowanych aplikacji poufnych o nazwie SconeApps. Usługa SconeApps jest dostępna w prywatnym repozytorium GitHub, które jest obecnie dostępne tylko dla klientów komercyjnych za pośrednictwem standardowego wydania SCONE. Przejdź do witryny internetowej SCONE i skontaktuj się bezpośrednio z firmą, aby uzyskać ten poziom usług.

  • Zainstaluj i uruchom usługi SCONE w klastrze usługi AKS.

  • Zainstaluj i przetestuj aplikację opartą na platformie Flask w klastrze usługi AKS.

  • Wdrażanie i uzyskiwanie dostępu do klienta internetowego.

Te kroki koncentrują się na kontenerach enklawy. Zabezpieczona infrastruktura wykraczałaby poza tę implementację i obejmowała wymagania dotyczące zgodności, takie jak dodatkowe zabezpieczenia wymagane przez hipAA.

Współautorzy

Ten artykuł jest obsługiwany przez Microsoft. Pierwotnie został napisany przez następujących współautorów.

Główny autor:

Następne kroki