TrustZone versus SGX versus SEV/TDX: isolatie-eenheid, trusted computing base en geheugenversleuteling vergeleken
Alle drie zijn hardwaremechanismen in de CPU, trusted execution environments (TEE's), die gevoelige verwerking veilig houden, zelfs als het gewone besturingssysteem of de hypervisor is gecompromitteerd. Ze verschillen in de eenheid die ze afschermen. TrustZone verdeelt de processor in een secure world en een normal world en wordt vooral gebruikt in smartphones en embedded apparaten. SGX schermt alleen een deel van een applicatie af als enclave en houdt de trusted computing base zo klein mogelijk. SEV en TDX versleutelen het geheugen van een volledige virtuele machine (VM), zodat zelfs de cloudaanbieder het niet kan lezen, een aanpak die confidential computing heet.
| Kenmerk | TrustZone | SGX (enclave) | SEV/TDX (confidential computing op VM-basis) |
|---|---|---|---|
| Isolatie-eenheid | De hele processor wordt verdeeld in een secure world en een normal world; in de secure world draaien een klein vertrouwd besturingssysteem en vertrouwde applicaties | Een deel van een applicatie dat geheimen verwerkt (de enclave) | Een volledige virtuele machine |
| Beschermt tegen | Het besturingssysteem en de applicaties in de normal world; ook als die kernel gecompromitteerd is, kan het geheugen van de secure world niet worden gelezen | Het besturingssysteem, de hypervisor, andere applicaties en aanvallers die het hoofdgeheugen fysiek uitlezen | De hypervisor, de beheerders van de cloudaanbieder, andere VM's en aanvallers die het hoofdgeheugen fysiek uitlezen |
| Trusted computing base (TCB) | De CPU-hardware, de secure monitor die tussen de werelden schakelt, en het vertrouwde besturingssysteem en de applicaties in de secure world | De CPU-hardware en -firmware plus de eigen code van de enclave; het besturingssysteem hoort er niet bij | De CPU-hardware en -firmware (zoals de secure processor van AMD of de TDX-module van Intel) plus alles in de VM, inclusief het gastbesturingssysteem; de hypervisor hoort er niet bij |
| Geheugenversleuteling | Geen onderdeel van het basismechanisme; een bussignaal markeert toegangen als secure of niet, en de toegangen zelf worden geblokkeerd | Enclavepagina's blijven versleuteld in het hoofdgeheugen buiten de CPU; sommige implementaties detecteren ook manipulatie | Het hele VM-geheugen wordt versleuteld met een sleutel per VM die alleen in de CPU wordt beheerd; SEV-SNP en TDX voegen integriteitsbescherming toe die voorkomt dat de hypervisor geheugen herschrijft of anders toewijst |
| Attestatie | Geen gemeenschappelijk architectuurschema; opgebouwd door secure boot en sleutelmechanismen van de SoC te combineren | De opstartmeting van de enclave wordt ondertekend met een sleutel in de CPU; gebruikers controleren het rapport voordat ze geheime data overdragen | De CPU meet de begintoestand van de VM en geeft een rapport uit dat is ondertekend met een sleutel in de CPU; gebruikers controleren het voordat ze de sleutel vrijgeven die hun data ontsleutelt |
| Typisch gebruik | Biometrische vergelijking, betaalgegevens, opslag van DRM-sleutels en verificatie tijdens secure boot op smartphones en embedded apparaten | Alleen een deel van een serverworkload beschermen, zoals sleutelbeheer of de verwerking van gevoelige data | Confidential VM's in de cloud: bestaande applicaties draaien en ze zelfs tegen de aanbieder beschermen |
| Porteerinspanning | Code moet worden geschreven als applicaties voor de secure world, met een smalle interface naar de normal world | Groot: de applicatie wordt opgesplitst in delen binnen en buiten de enclave, en systeemaanroepen en bestands- en netwerk-I/O worden overgelaten aan code daarbuiten | Klein: met een ondersteund gastbesturingssysteem draaien bestaande besturingssystemen en applicaties vrijwel ongewijzigd |
| Bekende aanvalsklassen | Omdat cores, caches en voeding worden gedeeld, heeft onderzoek cache-zijkanaalaanvallen en foutinjectie via spannings- of klokglitches aangetoond; ook fouten in het vertrouwde besturingssysteem en de applicaties zijn een doelwit | Onderzoek heeft gemeld dat geheimen weglekken via zijkanaalaanvallen die gebruikmaken van cachetiming, patronen van paginafouten en speculatieve uitvoering | Onderzoek heeft aanvallen gemeld waarbij een kwaadwillende hypervisor de VM-interface manipuleert, zoals geheugentoewijzingen en interrupts, naast zijkanaalaanvallen; integriteitsbescherming is toegevoegd om zulke aanvallen tegen te gaan |
| Beschikbaarheid | Veel gebruikt in Arm-applicatieprocessors, met een lichtgewicht versie in Armv8-M-microcontrollers; Armv9-A definieert ook Arm CCA (Realms) voor isolatie op VM-niveau | Sinds begin jaren 2020 biedt Intel SGX niet meer aan op client-CPU's en levert het vooral op server-CPU's | SEV is een functie van AMD-server-CPU's en TDX van Intel-server-CPU's; sinds midden jaren 2020 bieden grote clouds ze aan als confidential VM's |
De getalswaarden zijn typische ordegroottes en variëren per procesgeneratie en product.