Dit artikel bevat een oplossing die Azure Confidential Computing (ACC) biedt voor het versleutelen van in gebruik komende gegevens.
Architectuur
Een Visio-bestand van deze architectuur downloaden.
In het diagram wordt de architectuur beschreven. 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.
Workflow
De oplossing omvat de volgende stappen:
- Een bediende voor een lokaal ziekenhuis opent een webportal. De hele web-app is een statische Azure Blob Storage-website .
- De bediende voert gegevens in de webportal van het ziekenhuis in, die verbinding maakt met een op Python Flask gebaseerde web-API die is gebouwd door een populaire leverancier van het medische platform. Een vertrouwelijk knooppunt in de SCONE Confidential Computing-software beschermt de patiëntgegevens. SCONE werkt binnen een AKS-cluster waarvoor de Software Guard Extensions (SGX) is ingeschakeld waarmee de container in een enclave kan worden uitgevoerd. De web-API geeft 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 geen logboeken toegang hebben tot de cleartext-gegevens of de toepassingscode.
- De web-app-client van het ziekenhuis vraagt aan dat een Attestation-service (Azure Attestation) dit bewijs valideert en een ondertekend attestation-token ontvangt voor andere apps om te verifiëren.
- Als voor de web-API extra onderdelen zijn 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).
- De web-API kan zelfs externe services gebruiken, zoals een ML-model dat wordt gehost door een externe diagnostische provider. Als u dit doet, blijft het 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.
- De externe infrastructuur accepteert het attestation-token van de web-API van het medische platform en verifieert het met een openbaar certificaat dat is gevonden in de Azure Attestation-service. Als het token is geverifieerd, is er bijna zeker dat de enclave veilig is en niet de gegevens of app-code buiten de enclave zijn geopend.
- De diagnostische provider, met de zekerheid 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 afbeeldingen 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 andere ziekenhuismedewerkers.
Onderdelen
Azure Blob Storage serveert statische inhoud, zoals HTML-, CSS-, JavaScript- en afbeeldingsbestanden rechtstreeks vanuit een opslagcontainer.
Azure Attestation is een geïntegreerde oplossing die de betrouwbaarheid van een platform op afstand verifieert. Azure Attestation controleert ook op afstand de integriteit van de binaire bestanden die in het platform worden uitgevoerd. Gebruik Azure Attestation om een vertrouwensrelatie tot stand te brengen met de vertrouwelijke toepassing.
Azure Kubernetes Service vereenvoudigt het implementeren van een Kubernetes-cluster.
Vertrouwelijke rekenknooppunten worden gehost op een specifieke reeks virtuele machines die gevoelige werkbelastingen op AKS kunnen uitvoeren in 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. Vertrouwelijke rekenknooppunten kunnen vertrouwelijke containers of enclavebewuste containers ondersteunen.
HET SCONE-platform is een onafhankelijke softwareleverancier van Azure Partner (ISV) van Scontain.
Redis is een opensource gegevensstructuurarchief in het geheugen.
Secure Container Environment (SCONE) ondersteunt de uitvoering van vertrouwelijke toepassingen in containers die worden uitgevoerd in een Kubernetes-cluster.
Confidential Inferencing ONNX Runtime Server Enclave (ONNX RT - Enclave) is een host waarmee de ML-hosting party geen toegang heeft tot zowel de deductieaanvraag als de bijbehorende reactie.
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 enclaveeigen toepassingen en vooraf verpakte toepassingen.
U kunt Occlum gebruiken in plaats van SCONE om te worden uitgevoerd in het AKS-cluster waarvoor SGX is ingeschakeld. Met Occlum kunnen verouderde toepassingen worden uitgevoerd met weinig tot geen wijzigingen in een geïsoleerde omgeving.
Graphene is een lichtgewicht, opensource-gastbesturingssysteem. Graphene 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 beschermen van data-at-rest en in transit. Het versleutelen van gegevens in gebruik brengt echter verschillende uitdagingen met zich mee.
Door vertrouwelijke computing en containers te gebruiken, 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 vertrouwelijke rekenknooppunten. Azure Attestation brengt een vertrouwensrelatie tot stand met de diagnostische provider. Door deze Azure-onderdelen te gebruiken, 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 vervolgens 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 vertrouwelijke computing te gebruiken voor deze doeleinden:
- Beveiliging van financiële gegevens
- Bescherming van patiëntgegevens
- ML-processen uitvoeren op gevoelige informatie
- Algoritmen uitvoeren op versleutelde gegevenssets uit veel bronnen
- Containergegevens en code-integriteit beveiligen
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 D-seriegrootten van de tweede generatie voor algemene behoeften. Deze grootten worden gezamenlijk D-serie v2 of DCsv2-serie genoemd. In dit scenario worden virtuele machines uit de Intel SGX-serie DCs_v2 met Gen2-besturingssysteeminstallatiekopieën (OS) gebruikt die geschikt zijn voor Intel SGX. Maar u kunt alleen bepaalde grootten implementeren in bepaalde regio's. Zie de quickstart: Een Azure Confidential Computing-VM implementeren in marketplace en producten die beschikbaar zijn per regio voor meer informatie.
Kostenoptimalisatie
Kostenoptimalisatie gaat over manieren om onnodige uitgaven te verminderen en operationele efficiëntie te verbeteren. Zie Overzicht van de pijler kostenoptimalisatie voor meer informatie.
Als u de kosten voor het uitvoeren van dit scenario wilt verkennen, gebruikt u de Azure-prijscalculator, waarmee alle Azure-services vooraf worden geconfigureerd.
Er is een voorbeeldkostenprofiel beschikbaar voor het SaaS-platform (Contoso Medical Software as a Service), zoals in het diagram wordt weergegeven. Het 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 (BEVEILIGD-WACHTWOORDVERIFICATIE)
Het profiel bevat niet de volgende onderdelen:
Azure Attestation Service: gratis
Azure Monitor-logboeken: op basis van gebruik
SCONE ISV-licenties
Nalevingsservices vereist voor oplossingen die werken met gevoelige gegevens, waaronder:
- Microsoft Defender voor Cloud en Microsoft Defender voor Kubernetes
- Azure DDoS Protection: Netwerkbeveiliging
- Azure Firewall
- Azure-toepassing 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-functionaliteit. Zie het vertrouwelijke ONNX-deductieserverproject op GitHub voor informatie over deze stap.
Azure Attestation-beleid configureren.
Implementeer een AKS-clusterknooppuntgroep met SGX-functionaliteit.
Krijg toegang tot gecureerde vertrouwelijke toepassingen met de naam SconeApps. SconeApps is 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.
SCONE-services installeren en uitvoeren op uw AKS-cluster.
Installeer en test de Flask-toepassing op uw AKS-cluster.
Implementeer en open de webclient.
Deze stappen richten zich op de enclavecontainers. Een beveiligde infrastructuur zou verder gaan dan deze implementatie en nalevingsvereisten omvatten, zoals extra beveiligingen die vereist zijn voor HIPAA.
Medewerkers
Dit artikel wordt onderhouden door Microsoft. De tekst is oorspronkelijk geschreven door de volgende Inzenders.
Hoofdauteur:
- Amar Gowda | Principal Product Manager
Volgende stappen
Meer informatie over Azure Confidential Computing
Zie het vertrouwelijke ONNX-deductieserverproject op GitHub.
Voorbeeldafbeelding van hersensegmentatie voor gebruik met de delineatiefunctie die de vertrouwelijke deductieserver aanroept.