Poufne przetwarzanie na platformie opieki zdrowotnej

Azure Kubernetes Service (AKS)

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

Architektura

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

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 to statyczna witryna internetowa usługi Azure Blob Storage .
  2. Urzędnik wprowadza dane do portalu internetowego szpitala, który łączy się z internetowym interfejsem API opartym na języku Python Flask utworzonym przez popularnego dostawcę platformy medycznej. Poufny węzeł w oprogramowaniu SCONE do przetwarzania poufnego chroni dane pacjentów. Funkcja SCONE działa w klastrze usługi AKS z włączoną funkcją Software Guard Extensions (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, żadne procesy i żadne dzienniki nie mają dostępu do danych w postaci zwykłego tekstu ani kodu aplikacji.
  3. Klient aplikacji internetowej szpitala żąda, aby usługa zaświadczania (zaświadczania platformy Azure) weryfikowała te dowody i otrzymuje podpisany token zaświadczania dla innych aplikacji do zweryfikowania.
  4. Jeśli internetowy interfejs API wymaga dodatkowych składników (takich jak pamięć podręczna Redis), może przekazać token zaświadczania, aby sprawdzić, czy dane i kod aplikacji pozostały do tej pory w bezpiecznej enklawie (zobacz krok 6 weryfikacji).
  5. Internetowy interfejs API może nawet korzystać z usług zdalnych, takich jak model uczenia maszynowego hostowany przez innego dostawcę diagnostyki. W takim przypadku nadal przekazuje wszelkie tokeny zaświadczania w celu uzyskania 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 przy użyciu certyfikatu publicznego znalezionego w usłudze zaświadczania platformy Azure. Jeśli token zostanie zweryfikowany, istnieje niemal pewność, że enklawa jest bezpieczna i ani dane, ani kod aplikacji nie zostały otwarte poza enklawą.
  7. Dostawca diagnostyki, przekonany, że dane nie zostały ujawnione, wysyła je do własnej enklawy na serwerze środowiska uruchomieniowego Open Neural 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 dokumentacją pacjentów i/lub kontaktować się z innymi pracownikami szpitala.

Składniki

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

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

  • Usługa 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), zezwalając kodowi na poziomie użytkownika na 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 niezależnego dostawcy oprogramowania (ISV) od dostawcy oprogramowania platformy Azure od 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 w klastrze Kubernetes.

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

Alternatywy

  • Możesz użyć narzędzia Fortanix zamiast SCONE, aby wdrożyć poufne kontenery do użycia z konteneryzowaną aplikacją. 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 on dobrą obsługę narzędzi do konwertowania istniejących aplikacji kontenerów platformy Docker na kontenery o osłonie graphene (GSC).

Szczegóły scenariusza

Gdy organizacje współpracują, udostępniają informacje. Ale większość partii 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. Usługa Azure Kubernetes Service (AKS) hostuje poufne węzły obliczeniowe. Zaświadczenie platformy Azure ustanawia relację zaufania z dostawcą diagnostyki. Korzystając z tych składników platformy Azure, architektura izoluje poufne dane pacjentów szpitalnych, podczas gdy określone udostępnione dane są przetwarzane w chmurze. Dane szpitalne są wówczas 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 .

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 podstawie poufnych informacji
  • Wykonywanie algorytmów na zaszyfrowanych zestawach danych z wielu źródeł
  • Ochrona danych kontenera i integralności kodu

Kwestie wymagające rozważenia

Te zagadnienia implementują filary struktury Azure Well-Architected Framework, która jest zestawem wytycznych, 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 przypadku rozmiarów rodzin drugiej generacji D 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ą technologii Intel SGX z serii DCs_v2 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 przetwarzania poufnego 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 poznać koszt 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. W jego skład wchodzi następujący element:

  • Pula węzłów systemowych i pula węzłów SGX: brak dysków, wszystkie efemeryczny
  • Moduł równoważenia obciążenia usługi AKS
  • Azure Virtual Network: nominalna
  • Azure Container Registry
  • Konto magazynu dla aplikacji jednostronicowej (SPA)

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

  • Usługa zaświadczania platformy Azure: bezpłatna

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

  • Licencjonowanie niezależnego dostawcy oprogramowania SCONE

  • Usługi zgodności wymagane do obsługi rozwiązań pracujących z danymi poufnymi, w tym:

    • Microsoft Defender dla Chmury i Microsoft Defender for Kubernetes
    • Azure DDoS Protection: Ochrona sieci
    • Azure Firewall
    • aplikacja systemu Azure 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.

  • Konfigurowanie zasad zaświadczania platformy Azure.

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

  • Uzyskaj dostęp do wyselekcjonowanych aplikacji poufnych o nazwie SconeApps. Aplikacje SconeApps są dostępne w prywatnym repozytorium GitHub, które jest obecnie dostępne tylko dla klientów komercyjnych za pośrednictwem SCONE Standard Edition. 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 klienta internetowego i uzyskiwanie do tego dostępu.

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 firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.

Główny autor:

Następne kroki