Data in gebruik beschermen met Trusted Execution Environments
Naarmate organisaties steeds meer multi-cloud, hybride cloud en edge computing adopteren, volgen, slaan en analyseren hun applicaties gevoelige gebruikersdata over een breed scala aan omgevingen. Om compliance en de privacy van individuen die applicaties gebruiken te garanderen, moet de data beschermd worden gedurende de hele levenscyclus.
We versleutelen bestandssystemen en opslagschijven, en gebruiken SSH-protocollen om data at rest en data in transit veilig te houden zelfs als gestolen, wat het nutteloos maakt zonder cryptografische sleutels. Echter, data in use is doorgaans onversleuteld en kwetsbaar voor aanvallen en exploits.
Om applicaties en data tijdens runtime te beschermen, draaien ontwikkelaars zich steeds meer toe naar Trusted Execution Environments, vaak aangeduid als "secure enclaves".
Wat zijn Trusted Execution Environments?
Trusted Execution Environments (TEEs) zijn CPU-versleutelde geïsoleerde private enclaves binnen het geheugen, gebruikt voor het beschermen van data in use op hardwareniveau.
Terwijl de gevoelige data binnen een enclave is, kunnen onbevoegde entiteiten het niet verwijderen, wijzigen of meer data eraan toevoegen. De inhoud van een enclave blijft onzichtbaar en onbereikbaar voor externe partijen, beschermd tegen buiten- en binnenbedreigingen.
Als resultaat zorgt een TEE voor het volgende:
- Dataintegriteit
- Code-integriteit
- Datavertrouwelijkheid
Afhankelijk van de vendor en de onderliggende technologie, kunnen TEEs additionele functies inschakelen, zoals:
- Code-vertrouwelijkheid – Bescherming van algoritmen die als intellectueel eigendom beschouwd worden.
- Geverifieerde lancering – Autorisatie- of authenticatie-afdwinging voor het lanceren van geverifieerde processen alleen.
- Programmeerbaarheid – Toegang tot TEE-programmeercode van de fabrikant of andere veilige bron.
- Attestatie – Meting van oorsprong en de huidige staat van een enclave voor tamper-proofing.
- Herstelbaarheid – Terugrollen naar een eerdere veilige staat in het geval een TEE gecompromitteerd raakt.
Deze functies geven ontwikkelaars volledige controle over applicatiebeveiliging, bescherming van gevoelige data en code zelfs wanneer het besturingssysteem, BIOS en de applicatie zelf gecompromitteerd zijn.
Hoe werkt een Secure Enclave?
Om te begrijpen hoe TEEs werken, kijken we naar Intel® Software Guard Extensions (SGX).
Met Intel® SGX wordt de applicatiedata gesplitst in vertrouwde en onvertrouwde delen. De vertrouwde delen van de code worden gebruikt om de applicatie binnen een beschermde enclave te draaien. De CPU weigert alle andere toegang tot de enclave, ongeacht de privileges van de entiteiten die het verzoeken. Eenmaal verwerkt, blijft de vertrouwde data binnen de TEE en de informatie die aan de applicatie buiten de enclave wordt gegeven, wordt opnieuw versleuteld.
Enclaves worden gecreëerd en ingericht via hardware-commando's die geheugenpaginacreatie en -toevoeging mogelijk maken, alsook enclave-initialisatie, verwijdering of meting.
Het platform's firmware gebruikt zijn configuratie-instellingen om het gebied voor de TEE in te stellen. Zodra de extensies ingeschakeld zijn, reserveert de CPU een sectie van DRAM als Processor Reserved Memory (PRM). De PRM-grootte kan gespecificeerd worden via de firmware-tools.
Vervolgens allokeert en configureert de CPU de PRM door een paar model-specifieke registers (MSRs) in te stellen. Vervolgens worden Enclave Page Caches (EPC) binnen de PRM gecreëerd, met metadata met basisadressen, enclave-grootte en databeveiligingsinformatie.
Ten slotte creëert de CPU een cryptografische hash van de initiële staat van de enclave en logt andere staten die volgen. Deze hash wordt later gebruikt voor attestatie via cryptografische sleutels en hardware root of trust.
Eenmaal geïnitialiseerd, kan de enclave gebruikersapplicaties hosten.
Hoe veilig zijn Trusted Execution Environments?
Om te verklaren hoe veilig een TEE is, moeten we eerst de ringen van CPU-privilege aanpakken.
Versleutelingssleutels werden traditioneel opgeslagen binnen de applicaties, op ring 3-niveau. Dit model brengt de geheimen die binnen de applicatie beschermd zijn in gevaar zodra deze gecompromitteerd wordt.
Met moderne architecturen gaan privilegeringen verder dan de kernel en de hypervisor, uitgestrekt naar System Management Mode (SMM) en Management Engine (ME). Dit stelt de CPU in staat het geheugen dat een TEE gebruikt te beveiligen, het aanvalsoppervlak te reduceren tot de laagste hardware-lagen en toegang te ontzeggen aan alles behalve de hoogste privilegeniveaus.
Een andere sleutel tot de functionaliteit en beveiliging van een TEE is attestatie. Door attestatie worden het hele platform en de enclave gemeten en gevalideerd voordat enige data gedeeld wordt.
Bijvoorbeeld, een enclave kan een lokaal rapport van zichzelf of een andere enclave op hetzelfde platform aanvragen en het rapport gebruiken voor datacontrole en verificatie. Op dezelfde manier kan een remote verifier om het attestatierapport vragen voordat hij gevoelige data van de enclave aanvraagt. Zodra vertrouwen gevestigd is, kunnen ze sessiesleutels en data delen via een beveiligd kanaal onzichtbaar voor externe partijen.
Omdat onversleutelde geheimen de TEE nooit verlaten, beschermen secure enclaves data tegen:
- Andere applicaties op de host
- De host OS of hypervisor
- Systeembeheerders
- Serviceproviders
Zelfs de infrastructuureigenaar en andere entiteiten met fysieke toegang tot de hardware kunnen de data niet bereiken.
Secure Enclaves in Confidential Computing
Om veilige en gestandaardiseerde verwerking van private workloads over verschillende cloudomgevingen te mogelijk maken, vormde de Linux Foundation in 2019 een community genaamd de Confidential Computing Consortium (CCC). Sinds de oprichting hebben CCC-leden gewerkt aan het versnellen van cloudcomputing-adoptie en het mogelijk maken van open samenwerking.
Dankzij de hoge beschermingsniveaus die ze bieden, zijn hardware-gebaseerde secure enclaves de kern van deze initiatief.
Door confidential computing ondersteund door TEEs, kunnen organisaties alles beschermen van een enkele cryptografische sleutel tot gehele workloads terwijl hun applicaties gebruikt worden.
Waarom zou je Confidential Computing adopteren?
Vandaag de dag strekken geheimen zich ver uit boven wachtwoorden, en omvatten hoogvertrouwelijke en onvervangbare informatie zoals medische dossiers of biometrische data.
Confidential computing biedt bedrijven een competitief voordeel door deze data te beschermen en financieel verlies of reputatieschade te voorkomen. Er zijn echter andere use cases voor deze zich ontwikkelende technologie.
Multi-Party Computatie
Confidential computing stelt organisaties in staat om data van meerdere bronnen te verwerken zonder de onderliggende code, intellectueel eigendom of privé-cliëntinformatie bloot te leggen aan de partijen waar ze mee samenwerken. Concurrent of niet, gouvernementele organisaties, gezondheidszorg of onderzoeksinstellingen kunnen deze functie benutten om te collaboreren en inzichten te delen voor het doel van federated learning.
Financiën en Verzekeringen
Door confidential computing te benutten, voorkomen financiële instellingen frauduleuze activiteiten zoals geldwassen. Een bank kan een verdachte rekening met een andere bank in of buiten haar netwerk delen om het te auditen en de kans op false positives te minimaliseren.
Verzekeringsmaatschappijen kunnen een vergelijkbare benadering gebruiken om fraude te voorkomen. Ze kunnen een verdachte claim onder elkaar delen voor patroonherkenning. Met de gevoelige data opgeslagen in een enclave en datagegevens gedeeld tussen verschillende bronnen, kunnen resultaten verkregen worden zonder dat vertrouwelijke informatie in het proces onthuld wordt.
Conclusie
Enterprise-tools voor het verbeteren van beveiliging worden constant ontwikkeld naarmate confidential computing evolueert. Dit stimuleert de adoptie, groei en beveiliging van cloudcomputing, wat het volledige potentieel ontgrendelt.
Door ongekende bescherming van gevoelige data en code tijdens uitvoering te bieden, stellen Trusted Execution Environments organisaties in staat hun beveiligingspostuur te versterken en toekomstgereed technologie vandaag te benutten.
Cloud computing
- Hoe Goede Bescherming Langdurige Machineduurbaarheid Garandeert
- 5 belangrijke redenen waarom elk productiebedrijf big data moet omarmen
- Hoe intelligente automatisering de Britse productieproductiviteit kan verhogen
- Vlootchauffeurs beschermen tijdens COVID-19: essentiële veiligheids- en compliance strategieën
- GDPR-gids: Wat u moet weten over de EU-wet voor gegevensbescherming
- Kontron lanceert CP6940: Robuuste 40 GbE Switch voor Extreme Omgevingen
- Big Data & Cloud Computing Benutten Om Zakelijke Groei Te Drijven
- Edge Computing Ontmaskerd: Praktische Use Cases in Transport, Utilities en Productie
- IoT-adoptie Beveiligen: Bewezen Cybersecurity en Privacy Strategieën voor Enterprises
- Hoe realtime analyses campusveiligheid verbetert voor studenten, personeel en docenten
- Continuous Intelligence Ontgrendelen: Enterprise-brede Use Cases en Real-time Inzichten