Confidential Computing op een gezondheidszorgplatform

Azure Kubernetes Service (AKS)

Dit artikel bevat een oplossing die Azure Confidential Computing (ACC) biedt voor het versleutelen van gegevens in gebruik.

Architectuur

Diagram van een demonstratie van een vertrouwelijk gezondheidszorgplatform. Het platform omvat een ziekenhuis, een medische platformprovider en een diagnostische provider.

Een Visio-bestand van deze architectuur downloaden.

Het diagram geeft een overzicht van de architectuur. In het hele systeem:

  • Netwerkcommunicatie is TLS-versleuteld tijdens overdracht.
  • Azure Monitor houdt de prestaties van onderdelen bij en Azure Container Registry (ACR) beheert de containers van de oplossing.

Werkstroom

De oplossing bestaat uit de volgende stappen:

  1. Een medewerker van een lokaal ziekenhuis opent een webportal. De hele web-app is een Azure Blob Storage statische website.
  2. De medewerker voert gegevens in de webportal van het ziekenhuis in, die verbinding maakt met een web-API op basis van Python Flask die is gebouwd door een populaire leverancier van een medisch platform. Een vertrouwelijk knooppunt in de CONFIDENTIAL Computing-software van SCONE beschermt de patiëntgegevens. SCONE werkt binnen een AKS-cluster met de Software Guard Extensions (SGX) ingeschakeld die helpen bij het uitvoeren van de container in een enclave. De web-API levert bewijs dat de gevoelige gegevens en app-code zijn versleuteld en geïsoleerd in een vertrouwde uitvoeringsomgeving. Dit betekent dat geen mensen, geen processen en logboeken toegang hebben tot de cleartext-gegevens of de toepassingscode.
  3. De web-app-client van het ziekenhuis vraagt een attestation-service (Azure Attestation) dit bewijs te valideren en ontvangt een ondertekend attestation-token voor andere apps om te verifiëren.
  4. Als de web-API extra onderdelen vereist (zoals een Redis-cache), kan het attestation-token worden doorgegeven om te controleren of de gegevens en app-code tot nu toe in een veilige enclave zijn gebleven (zie stap 6 voor verificatie).
  5. De web-API kan zelfs externe services gebruiken, zoals een ML-model dat wordt gehost door een externe diagnostische provider. Wanneer u dit doet, blijft het eventuele attestation-tokens doorgeven voor bewijs dat vereiste enclaves veilig zijn. De web-API kan ook proberen attestation-tokens te ontvangen en te verifiëren voor de infrastructuur van de diagnostische provider.
  6. De externe infrastructuur accepteert het attestation-token van de web-API van het medische platform en verifieert dit met een openbaar certificaat dat is gevonden in de Azure Attestation-service. Als het token is geverifieerd, is er vrijwel zeker dat de enclave veilig is en dat de gegevens of app-code niet buiten de enclave zijn geopend.
  7. De diagnostische provider, die er zeker van is dat de gegevens niet beschikbaar zijn gemaakt, verzendt deze naar een eigen enclave in een ONNX-runtimeserver (Open Neural Network Exchange). Een AI-model interpreteert de medische beelden en retourneert de diagnoseresultaten terug naar de vertrouwelijke web-API-app van het medische platform. Vanaf hier kan de software communiceren met patiëntendossiers en/of contact opnemen met ander ziekenhuispersoneel.

Onderdelen

  • Azure Blob Storage levert statische inhoud, zoals HTML, CSS, JavaScript en afbeeldingsbestanden, rechtstreeks vanuit een opslagcontainer.

  • Azure Attestation is een geïntegreerde oplossing die op afstand de betrouwbaarheid van een platform verifieert. Azure Attestation controleert ook op afstand de integriteit van de binaire bestanden die in het platform worden uitgevoerd. Gebruik Azure Attestation om vertrouwensrelatie met de vertrouwelijke toepassing tot stand te brengen.

  • Azure Kubernetes Service vereenvoudigt het proces van het implementeren van een Kubernetes-cluster.

  • Confidential Computing-knooppunten worden gehost op een specifieke reeks virtuele machines die gevoelige werkbelastingen op AKS kunnen uitvoeren binnen een op hardware gebaseerde vertrouwde uitvoeringsomgeving (TEE) door code op gebruikersniveau toe te staan om privéregio's van geheugen toe te wijzen, ook wel enclaves genoemd. Confidential Computing-knooppunten kunnen vertrouwelijke containers of enclave-compatibele containers ondersteunen.

  • SCONE-platform is een azure Partner Independent Software Vendor (ISV)-oplossing van Scontain.

  • Redis is een open source, in-memory gegevensstructuuropslag.

  • Secure Container Environment (SCONE) ondersteunt de uitvoering van vertrouwelijke toepassingen in containers die worden uitgevoerd in een Kubernetes-cluster.

  • Vertrouwelijke deductie ONNX Runtime Server Enclave (ONNX RT - Enclave) is een host waarmee de ML-hostingpartij geen toegang heeft tot zowel de deductieaanvraag als het bijbehorende antwoord.

Alternatieven

  • U kunt Fortanix gebruiken in plaats van SCONE om vertrouwelijke containers te implementeren voor gebruik met uw containertoepassing. Fortanix biedt de flexibiliteit die u nodig hebt om de breedste set toepassingen uit te voeren en te beheren: bestaande toepassingen, nieuwe enclave-native toepassingen en vooraf verpakte toepassingen.

  • Graphene is een lichtgewicht, opensource-gastbesturingssysteem. Grapheen kan één Linux-toepassing uitvoeren in een geïsoleerde omgeving met voordelen die vergelijkbaar zijn met het uitvoeren van een volledig besturingssysteem. Het biedt goede ondersteuning voor hulpprogramma's voor het converteren van bestaande Docker-containertoepassingen naar Graphene Shielded Containers (GSC).

Scenariodetails

Wanneer organisaties samenwerken, delen ze informatie. Maar de meeste partijen willen andere partijen geen toegang geven tot alle delen van de gegevens. Er bestaan mechanismen voor het beveiligen van data-at-rest en in transit. Het versleutelen van gegevens in gebruik brengt echter verschillende uitdagingen met zich mee.

Door gebruik te maken van confidential computing en containers biedt de oplossing een manier voor een door de provider gehoste toepassing om veilig samen te werken met een ziekenhuis en een externe diagnostische provider. Azure Kubernetes Service (AKS) host confidential computing-knooppunten. Azure Attestation stelt een vertrouwensrelatie tot stand met de diagnostische provider. Met behulp van deze Azure-onderdelen worden in de architectuur de gevoelige gegevens van de ziekenhuispatiënten geïsoleerd terwijl de specifieke gedeelde gegevens in de cloud worden verwerkt. De ziekenhuisgegevens zijn dan niet toegankelijk voor de diagnostische provider. Via deze architectuur kan de door de provider gehoste toepassing ook profiteren van geavanceerde analyses. De diagnostische provider maakt deze analyses beschikbaar als confidential computing-services van machine learning-toepassingen (ML).

Potentiële gebruikscases

Veel branches beschermen hun gegevens door confidential computing te gebruiken voor de volgende doeleinden:

  • Beveiliging van financiële gegevens
  • Bescherming van patiëntgegevens
  • ML-processen uitvoeren op gevoelige informatie
  • Algoritmen uitvoeren op versleutelde gegevenssets uit veel bronnen
  • Beveiliging van containergegevens en code-integriteit

Overwegingen

Met deze overwegingen worden de pijlers van het Azure Well-Architected Framework geïmplementeerd. Dit is een set richtlijnen die kunnen worden gebruikt om de kwaliteit van een workload te verbeteren. Zie Microsoft Azure Well-Architected Framework voor meer informatie.

Virtuele machines (VM's) van Azure Confidential Computing zijn beschikbaar in de grootten van de 2e generatie D-serie voor algemene doeleinden. Deze grootten staan gezamenlijk bekend als D-Serie v2 of DCsv2-serie. In dit scenario wordt gebruikgemaakt van voor Intel SGX geschikte DCs_v2-serie virtuele machines met Gen2-installatiekopieën van besturingssystemen. U kunt echter alleen bepaalde grootten implementeren in bepaalde regio's. Zie Quickstart: Een Azure Confidential Computing-VM implementeren in marketplace en Producten die beschikbaar zijn per regio voor meer informatie.

Kostenoptimalisatie

Kostenoptimalisatie gaat over het zoeken naar manieren om onnodige uitgaven te verminderen en de operationele efficiëntie te verbeteren. Zie Overzicht van de pijler kostenoptimalisatie voor meer informatie.

Als u de kosten van het uitvoeren van dit scenario wilt verkennen, gebruikt u de Azure-prijscalculator, waarmee alle Azure-services vooraf worden geconfigureerd.

Er is een voorbeeld van een kostenprofiel beschikbaar voor het Contoso Medical SaaS-platform, zoals weergegeven in het diagram. Deze bevat de volgende onderdelen:

  • Systeemknooppuntgroep en SGX-knooppuntgroep: geen schijven, allemaal kortstondig
  • AKS-Load Balancer
  • Azure Virtual Network: nominaal
  • Azure Container Registry
  • Opslagaccount voor toepassing met één pagina (SPA)

Het profiel bevat niet de volgende onderdelen:

  • Azure Attestation Service: gratis

  • Azure Monitor-logboeken: op basis van gebruik

  • SCONE ISV-licentieverlening

  • Nalevingsservices die vereist zijn voor oplossingen die werken met gevoelige gegevens, waaronder:

    • Microsoft Defender voor cloud en Microsoft Defender voor Kubernetes
    • Azure DDoS Protection: netwerkbeveiliging
    • Azure Firewall
    • Azure Application Gateway en Azure Web Application Firewall
    • Azure Key Vault

Dit scenario implementeren

Het implementeren van dit scenario omvat de volgende stappen op hoog niveau:

  • Implementeer de vertrouwelijke deductieserver op een bestaand AKS-cluster met SGX. Zie het vertrouwelijke ONNX-deductieserverproject op GitHub voor informatie over deze stap.

  • Configureer Azure Attestation beleid.

  • Implementeer een AKS-clusterknooppuntgroep met SGX-functionaliteit.

  • Krijg toegang tot gecureerde vertrouwelijke toepassingen met de naam SconeApps. SconeApps zijn beschikbaar in een persoonlijke GitHub-opslagplaats die momenteel alleen beschikbaar is voor commerciële klanten, via SCONE Standard Edition. Ga naar de SCONE-website en neem rechtstreeks contact op met het bedrijf om dit serviceniveau te verkrijgen.

  • Installeer en voer SCONE-services uit op uw AKS-cluster.

  • Installeer en test de flask-toepassing op uw AKS-cluster.

  • De webclient implementeren en openen.

Deze stappen zijn gericht op de enclavecontainers. Een beveiligde infrastructuur zou verder gaan dan deze implementatie en nalevingsvereisten omvatten, zoals extra beveiligingen die vereist zijn door HIPAA.

Medewerkers

Dit artikel wordt onderhouden door Microsoft. Het is oorspronkelijk geschreven door de volgende inzenders.

Hoofdauteur:

Volgende stappen