Trusted Execution Environment: een kluis binnen in de chip
Stel je een bankfiliaal voor waar de kluisruimte volledig is afgeschermd van de rest van het gebouw: zelfs de directeur van de bank, de schoonmaakploeg en een eventuele inbreker die via de voordeur binnenkomt, kunnen niet bij de inhoud. Alleen wie de juiste sleutel heeft, en alleen op de manier die vooraf is afgesproken, krijgt toegang. Een Trusted Execution Environment (TEE, letterlijk een "vertrouwde uitvoeringsomgeving") is zoiets, maar dan binnenin een computerchip: een streng afgeschermd stukje van de processor waar gevoelige code en gegevens kunnen draaien zonder dat de rest van het systeem — het besturingssysteem, andere programma's, of zelfs de eigenaar van de machine — erbij kan.
Dat klinkt misschien overbodig: is een computer niet al beveiligd met wachtwoorden en encryptie? Het probleem is dat gegevens op een gewoon systeem op een bepaald moment altijd "in het open" moeten staan om ermee te kunnen rekenen. Een bestand kan versleuteld op de schijf staan en versleuteld over het netwerk reizen, maar zodra een programma het gaat verwerken, ligt het in het gewone, onbeveiligde geheugen van de computer — leesbaar voor wie controle heeft over dat systeem, bijvoorbeeld een aanvaller die het besturingssysteem heeft gekraakt, of in het geval van cloud computing, in theorie zelfs de cloudprovider zelf. Een TEE lost precies dát probleem op: het beschermt gegevens niet alleen in rust en onderweg, maar ook tijdens het gebruik.
Wat is het precies?
Een TEE is geen apart apparaat, maar een functie die in de processor zelf is ingebouwd. Fabrikanten als Intel, AMD, ARM en Apple bouwen speciale hardwarecircuits en instructies in hun chips die een afgeschermd geheugengebied kunnen aanmaken, vaak een enclave genoemd. Alles wat in die enclave draait, wordt automatisch versleuteld zodra het het afgeschermde gebied verlaat, bijvoorbeeld richting het gewone werkgeheugen (RAM). Zelfs met fysieke toegang tot het geheugen — iemand die letterlijk een geheugenchip uit de machine haalt en uitleest — zou in theorie alleen onleesbare, versleutelde brokstukken vinden.
Cruciaal is dat het besturingssysteem, de hypervisor (de software die virtuele machines beheert in een datacenter) en zelfs beheerders met de hoogste rechten geen inzage krijgen in wat er binnen de enclave gebeurt. Zij kunnen de enclave wel starten, stoppen of pauzeren, maar niet in de inhoud kijken. Dat is een fundamenteel andere aanpak dan gewone beveiliging, die er meestal van uitgaat dat het besturingssysteem te vertrouwen is.
Een tweede belangrijk onderdeel is attestatie (remote attestation). Omdat een gebruiker of dienst op afstand niet zomaar kan zien of code echt in een TEE draait, kan de chip een soort digitaal, cryptografisch ondertekend "bewijs" afgeven: een verklaring dat precies deze code, ongewijzigd, in een echte, onbeschadigde enclave van dit chiptype draait. Pas na controle van dat bewijs stuurt een externe partij bijvoorbeeld een geheime sleutel naar de enclave. Deze sleutels en het bewijsmateriaal zijn gekoppeld aan unieke, in de fabriek in de chip "gebrande" cryptografische sleutels die de fabrikant kent.
Wat wil men ermee bereiken?
Het achterliggende doel heet in de industrie confidential computing: het idee dat gegevens tijdens verwerking net zo goed beschermd moeten zijn als tijdens opslag en verzending. Voor cloudcomputing is dat aantrekkelijk, omdat bedrijven en overheden vaak terughoudend zijn om gevoelige gegevens — medische dossiers, financiële informatie, broncode, persoonsgegevens — te verwerken op servers van een externe partij als Microsoft, Amazon of Google. Met een TEE kan een cloudklant in theorie zeggen: "ik vertrouw jullie infrastructuur niet volledig, maar ik vertrouw wel de hardwarematige garantie van de chipfabrikant."
Daarnaast wordt TEE-technologie gebruikt om digitale rechten te beschermen (bijvoorbeeld dat een film alleen wordt afgespeeld en niet gekopieerd), om biometrische gegevens zoals vingerafdrukken en gezichtsscans lokaal en veilig te verwerken op smartphones, om betaalgegevens te beveiligen bij mobiel betalen, en om zogeheten secure multi-party computation mogelijk te maken: meerdere partijen die samen willen rekenen op gecombineerde data zonder elkaars ruwe gegevens te zien. Ook in blockchain- en privacyprojecten wordt de techniek ingezet om transacties of slimme contracten te laten draaien zonder de inhoud publiekelijk bloot te leggen.
Voorbeelden uit de praktijk
ARM TrustZone, geïntroduceerd in de jaren 2000 voor ARM-processoren, is waarschijnlijk de meest verspreide TEE ter wereld: het zit in vrijwel elke smartphone en beschermt daar zaken als vingerafdrukdata, versleutelingssleutels en DRM-beveiligde video.
Apple's Secure Enclave, geïntroduceerd met de iPhone 5s in 2013, is een fysiek gescheiden co-processor die Face ID- en Touch ID-gegevens en encryptiesleutels beheert, los van de hoofdprocessor en het gewone besturingssysteem iOS.
Intel SGX (Software Guard Extensions), geïntroduceerd rond 2015 met de Skylake-generatie processoren, was lange tijd het bekendste voorbeeld voor pc's en servers en werd gebruikt in cloudprojecten voor confidential computing.
AMD SEV (Secure Encrypted Virtualization) en de opvolger SEV-SNP beschermen hele virtuele machines in plaats van kleine codefragmenten, en worden onder meer gebruikt door grote cloudproviders om complete klantomgevingen af te schermen van het onderliggende platform.
Ook in de blockchainwereld duiken TEE's op: projecten als Oasis Network en Secret Network gebruiken enclave-technologie om slimme contracten te laten draaien met vertrouwelijke invoergegevens, iets wat op een gewone, volledig openbare blockchain niet kan.
Hoe ver is de techniek?
Het beeld is gemengd. Op mobiele telefoons is TEE-technologie (TrustZone, Secure Enclave) volwassen en al meer dan tien jaar in massaal gebruik voor biometrie en betalingen, zonder veel ophef. Voor pc's en datacenters ligt dat anders: daar is het veld nog volop in ontwikkeling en heeft het ook tegenslagen gekend.
Intel SGX bleek kwetsbaar voor een reeks zogeheten side-channel-aanvallen: methoden waarbij een aanvaller niet de encryptie zelf breekt, maar indirecte informatie afluistert, zoals timingverschillen of stroomverbruik van de chip, om toch iets over de beschermde data af te leiden. Bekende voorbeelden zijn Foreshadow (2018), Plundervolt (2019) en SGAxe (2020), ontdekt door academische onderzoeksgroepen, onder meer verbonden aan Belgische en Oostenrijkse universiteiten. Mede daardoor heeft Intel de SGX-ondersteuning voor consumenten-cpu's een aantal jaar geleden geschrapt; de techniek blijft wel beschikbaar op de zakelijke Xeon-serverlijn, waar de meeste praktische toepassingen ook zitten.
Deze kat-en-muisdynamiek — nieuwe aanvalstechniek, dan een patch of chipaanpassing, dan weer een nieuwe aanvalstechniek — is typerend voor het veld en laat zien dat een TEE geen absolute garantie is, eerder een sterk verhoogde beveiligingsdrempel. Tegelijk groeit het aanbod van cloudproviders die confidential computing als standaarddienst aanbieden, wat wijst op toenemend praktisch vertrouwen ondanks de kwetsbaarheden die zijn gevonden. Standaardisatie tussen fabrikanten onderling is nog beperkt: elke chipmaker heeft zijn eigen, onderling niet-compatibele implementatie, wat overstappen tussen platforms lastig maakt.
Wie werken eraan?
De belangrijkste chipfabrikanten zijn Intel (SGX, en de opvolgende TDX-technologie voor hele virtuele machines), AMD (SEV/SEV-SNP), ARM (TrustZone, ontwikkeld vanuit het Britse Cambridge) en Apple (Secure Enclave). Grote clouddiensten als Microsoft Azure, Amazon Web Services en Google Cloud bouwen op deze hardware voort met eigen confidential-computing-diensten.
Veel van deze partijen werken samen binnen de Confidential Computing Consortium, een samenwerkingsverband onder de Amerikaanse Linux Foundation, opgericht in 2019, met leden zoals Intel, AMD, ARM, Google, Microsoft, IBM/Red Hat en Alibaba. Het consortium probeert standaarden en open-sourcegereedschap te ontwikkelen zodat TEE-technologie makkelijker en betrouwbaarder inzetbaar wordt, ongeacht welk chipmerk eronder zit.
Op onderzoeksvlak spelen Europese universiteiten een opvallende rol bij het testen van de grenzen van deze techniek: groepen aan onder meer de KU Leuven (België) en de Technische Universiteit Graz (Oostenrijk) hebben herhaaldelijk kwetsbaarheden in commerciële TEE's blootgelegd, wat de industrie dwingt tot verbeteringen. Het gaat dus om een combinatie van Amerikaanse chipgiganten die de technologie bouwen en op de markt brengen, en internationale, vaak Europese, academische groepen die de beveiliging ervan kritisch toetsen.
Verder lezen
- Confidential Computing Consortium
- Intel — informatie over Software Guard Extensions (SGX)
- ARM — informatie over TrustZone-technologie
- AMD — informatie over Secure Encrypted Virtualization (SEV)
- National Institute of Standards and Technology (NIST) — achtergrond over hardwarebeveiliging en confidential computing