Konfidentiell databehandling på en sjukvårdsplattform

Azure Kubernetes Service (AKS)

I den här artikeln presenteras en lösning som azure confidential computing (ACC) erbjuder för kryptering av data som används.

Arkitektur

Diagram över en demonstration av en konfidentiell sjukvårdsplattform. Plattformen innehåller ett sjukhus, en medicinsk plattformsleverantör och en diagnostikleverantör.

Ladda ned en Visio-fil med den här arkitekturen.

Diagrammet beskriver arkitekturen. I hela systemet:

Arbetsflöde

Lösningen omfattar följande steg:

  1. En kontorist för ett lokalt sjukhus öppnar en webbportal. Hela webbappen är en Azure Blob Storage statisk webbplats.
  2. Kontoristen anger data i sjukhusets webbportal, som ansluter till ett Python Flask-baserat webb-API som skapats av en populär leverantör av medicinska plattformar. En konfidentiell nod i SCONE:s programvara för konfidentiell databehandling skyddar patientdata. SCONE fungerar i ett AKS-kluster som har Software Guard Extensions (SGX) aktiverat som hjälper dig att köra containern i en enklav. Webb-API:et visar att känsliga data och appkod är krypterade och isolerade i en betrodd körningsmiljö. Det innebär att inga människor, inga processer och inga loggar har åtkomst till cleartext-data eller programkoden.
  3. Sjukhusets webbappsklient begär att en attesteringstjänst (Azure Attestation) validerar detta bevis och tar emot en signerad attesteringstoken som andra appar kan verifiera.
  4. Om webb-API:et kräver ytterligare komponenter (till exempel en Redis-cache) kan det skicka ut attesteringstoken för att verifiera att data och appkod hittills har legat kvar i en säker enklav (se steg 6 för verifiering).
  5. Webb-API:et kan till och med använda fjärrtjänster, till exempel en ML-modell som hanteras av en diagnostikprovider från tredje part. När du gör det fortsätter den att skicka eventuella attesteringstoken för bevis för att nödvändiga enklaver är säkra. Webb-API:et kan också försöka ta emot och verifiera attesteringstoken för diagnostikproviderns infrastruktur.
  6. Fjärrinfrastrukturen accepterar attesteringstoken från den medicinska plattformens webb-API och verifierar den med ett offentligt certifikat som finns i Azure Attestation-tjänsten. Om token verifieras är det nästan säkert att enklaven är säker och varken data eller appkod har öppnats utanför enklaven.
  7. Diagnostikprovidern, som är säker på att data inte har exponerats, skickar dem till en egen enklav på en ONNX-körningsserver (Open Neural Network Exchange). En AI-modell tolkar det medicinska bildspråket och returnerar diagnosresultatet tillbaka till den medicinska plattformens konfidentiella webb-API-app. Härifrån kan programvaran sedan interagera med patientjournaler och/eller kontakta annan sjukhuspersonal.

Komponenter

  • Azure Blob Storage hanterar statiskt innehåll som HTML, CSS, JavaScript och bildfiler direkt från en lagringscontainer.

  • Azure Attestation är en enhetlig lösning som fjärrverifierar en plattforms pålitlighet. Azure Attestation verifierar också integriteten för binärfilerna som körs på plattformen. Använd Azure Attestation för att upprätta förtroende för det konfidentiella programmet.

  • Azure Kubernetes Service förenklar distributionen av ett Kubernetes-kluster.

  • Konfidentiella beräkningsnoder finns i en specifik serie med virtuella datorer som kan köra känsliga arbetsbelastningar på AKS i en maskinvarubaserad betrodd körningsmiljö (TEE) genom att tillåta kod på användarnivå att allokera privata minnesregioner, så kallade enklaver. Konfidentiella beräkningsnoder kan ha stöd för konfidentiella containrar eller enklavermedvetna containrar.

  • SCONE-plattformen är en OBEROENDE ISV-lösning (Azure Partner Independent Software Vendor) från Scontain.

  • Redis är ett datastrukturlager med öppen källkod i minnet.

  • Secure Container Environment (SCONE) stöder körning av konfidentiella program i containrar som körs i ett Kubernetes-kluster.

  • Konfidentiell slutsatsdragning ONNX Runtime Server Enclave (ONNX RT – Enclave) är en värd som begränsar ML-värdparten från att komma åt både inferensbegäran och motsvarande svar.

Alternativ

  • Du kan använda Fortanix i stället för SCONE för att distribuera konfidentiella containrar som ska användas med ditt containerbaserade program. Fortanix ger den flexibilitet du behöver för att köra och hantera den bredaste uppsättningen program: befintliga program, nya enklaverbaserade program och förpaketerade program.

  • Graphene är ett enkelt gästoperativsystem med öppen källkod. Graphene kan köra ett enda Linux-program i en isolerad miljö med fördelar som är jämförbara med att köra ett fullständigt operativsystem. Det har bra verktygsstöd för konvertering av befintliga Docker-containerprogram till Graphene Shielded Containers (GSC).

Scenarioinformation

När organisationer samarbetar delar de information. Men de flesta parter vill inte ge andra parter åtkomst till alla delar av data. Det finns mekanismer för att skydda vilande data och under överföring. Kryptering av data som används innebär dock olika utmaningar.

Med hjälp av konfidentiell databehandling och containrar är lösningen ett sätt för ett leverantörsbaserat program att på ett säkert sätt samarbeta med ett sjukhus och en diagnostikleverantör från tredje part. Azure Kubernetes Service (AKS) är värd för konfidentiella beräkningsnoder. Azure Attestation upprättar förtroende hos diagnostikprovidern. Med hjälp av dessa Azure-komponenter isolerar arkitekturen känsliga data för sjukhuspatienterna medan specifika delade data bearbetas i molnet. Sjukhusdata är sedan otillgängliga för diagnostikprovidern. Med den här arkitekturen kan det providervärdbaserade programmet också dra nytta av avancerad analys. Diagnostikprovidern gör dessa analyser tillgängliga som konfidentiella databehandlingstjänster för maskininlärningsprogram (ML).

Potentiella användningsfall

Många branscher skyddar sina data med hjälp av konfidentiell databehandling för följande ändamål:

  • Skydda finansiella data
  • Skydda patientinformation
  • Köra ML-processer på känslig information
  • Utföra algoritmer på krypterade datauppsättningar från många källor
  • Skydda containerdata och kodintegritet

Överväganden

Dessa överväganden implementerar grundpelarna i Azure Well-Architected Framework, som är en uppsättning vägledande grundsatser som kan användas för att förbättra kvaliteten på en arbetsbelastning. Mer information finns i Microsoft Azure Well-Architected Framework.

Virtuella Datorer för konfidentiell databehandling i Azure är tillgängliga i andra generationens D-familjestorlekar för allmänna behov. Dessa storlekar kallas tillsammans D-Serien v2 eller DCsv2-serien. Det här scenariot använder Intel SGX-aktiverade DCs_v2-seriens virtuella datorer med Operativsystemavbildningar i Gen2 (OS). Men du kan bara distribuera vissa storlekar i vissa regioner. Mer information finns i Snabbstart: Distribuera en virtuell Azure-dator för konfidentiell databehandling på Marketplace och produkter som är tillgängliga per region.

Kostnadsoptimering

Kostnadsoptimering handlar om att titta på sätt att minska onödiga utgifter och förbättra driftseffektiviteten. Mer information finns i Översikt över grundpelare för kostnadsoptimering.

Om du vill utforska kostnaden för att köra det här scenariot använder du priskalkylatorn för Azure, som förkonfigurerar alla Azure-tjänster.

En exempelkostnadsprofil är tillgänglig för Contoso Medical SaaS Platform, enligt bilden i diagrammet. Den har följande komponenter:

  • Systemnodpool och SGX-nodpool: inga diskar, alla tillfälliga
  • AKS-Load Balancer
  • Azure Virtual Network: nominell
  • Azure Container Registry
  • Lagringskonto för ensidesprogram (SPA)

Profilen innehåller inte följande komponenter:

  • Azure Attestation Service: kostnadsfritt

  • Azure Monitor-loggar: användningsbaserad

  • SCONE ISV-licensiering

  • Efterlevnadstjänster som krävs för lösningar som arbetar med känsliga data, inklusive:

    • Microsoft Defender för molnet och Microsoft Defender för Kubernetes
    • Azure DDoS Protection: Network Protection
    • Azure Firewall
    • Azure Application Gateway och Azure Web Application Firewall
    • Azure Key Vault

Distribuera det här scenariot

Distributionen av det här scenariot omfattar följande steg på hög nivå:

  • Distribuera den konfidentiella slutsatsdragningsservern på ett befintligt SGX-aktiverat AKS-kluster. Mer information om det här steget finns i det konfidentiella ONNX-inferensserverprojektet på GitHub.

  • Konfigurera Azure Attestation principer.

  • Distribuera en SGX-aktiverad AKS-klusternodpool.

  • Få åtkomst till utvalda konfidentiella program som kallas SconeApps. SconeApps är tillgängliga på en privat GitHub-lagringsplats som för närvarande endast är tillgänglig för kommersiella kunder, via SCONE Standard Edition. Gå till SCONE-webbplatsen och kontakta företaget direkt för att få den här servicenivån.

  • Installera och köra SCONE-tjänster i ditt AKS-kluster.

  • Installera och testa det Flask-baserade programmet i AKS-klustret.

  • Distribuera och komma åt webbklienten.

De här stegen fokuserar på enklavens containrar. En skyddad infrastruktur skulle sträcka sig utöver den här implementeringen och omfatta efterlevnadskrav, till exempel ytterligare skydd som krävs av HIPAA.

Deltagare

Den här artikeln underhålls av Microsoft. Den skrevs ursprungligen av följande deltagare.

Huvudförfattare:

Nästa steg