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.

KenmerkTrustZoneSGX (enclave)SEV/TDX (confidential computing op VM-basis)
Isolatie-eenheidDe hele processor wordt verdeeld in een secure world en een normal world; in de secure world draaien een klein vertrouwd besturingssysteem en vertrouwde applicatiesEen deel van een applicatie dat geheimen verwerkt (de enclave)Een volledige virtuele machine
Beschermt tegenHet besturingssysteem en de applicaties in de normal world; ook als die kernel gecompromitteerd is, kan het geheugen van de secure world niet worden gelezenHet besturingssysteem, de hypervisor, andere applicaties en aanvallers die het hoofdgeheugen fysiek uitlezenDe 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 worldDe CPU-hardware en -firmware plus de eigen code van de enclave; het besturingssysteem hoort er niet bijDe 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
GeheugenversleutelingGeen onderdeel van het basismechanisme; een bussignaal markeert toegangen als secure of niet, en de toegangen zelf worden geblokkeerdEnclavepagina's blijven versleuteld in het hoofdgeheugen buiten de CPU; sommige implementaties detecteren ook manipulatieHet 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
AttestatieGeen gemeenschappelijk architectuurschema; opgebouwd door secure boot en sleutelmechanismen van de SoC te combinerenDe opstartmeting van de enclave wordt ondertekend met een sleutel in de CPU; gebruikers controleren het rapport voordat ze geheime data overdragenDe 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 gebruikBiometrische vergelijking, betaalgegevens, opslag van DRM-sleutels en verificatie tijdens secure boot op smartphones en embedded apparatenAlleen een deel van een serverworkload beschermen, zoals sleutelbeheer of de verwerking van gevoelige dataConfidential VM's in de cloud: bestaande applicaties draaien en ze zelfs tegen de aanbieder beschermen
PorteerinspanningCode moet worden geschreven als applicaties voor de secure world, met een smalle interface naar de normal worldGroot: de applicatie wordt opgesplitst in delen binnen en buiten de enclave, en systeemaanroepen en bestands- en netwerk-I/O worden overgelaten aan code daarbuitenKlein: met een ondersteund gastbesturingssysteem draaien bestaande besturingssystemen en applicaties vrijwel ongewijzigd
Bekende aanvalsklassenOmdat 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 doelwitOnderzoek heeft gemeld dat geheimen weglekken via zijkanaalaanvallen die gebruikmaken van cachetiming, patronen van paginafouten en speculatieve uitvoeringOnderzoek 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
BeschikbaarheidVeel gebruikt in Arm-applicatieprocessors, met een lichtgewicht versie in Armv8-M-microcontrollers; Armv9-A definieert ook Arm CCA (Realms) voor isolatie op VM-niveauSinds begin jaren 2020 biedt Intel SGX niet meer aan op client-CPU's en levert het vooral op server-CPU'sSEV 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.

Wanneer welke variant?

TrustZone
Op smartphones en embedded apparaten, wanneer je een beveiligd gebied in één SoC wilt zonder een extra chip toe te voegen. Biometrie, betalingen en controles tijdens secure boot draaien gescheiden van het gewone besturingssysteem.
SGX (enclave)
Op een server, wanneer alleen een klein, bijzonder gevoelig deel van het werk, zoals sleutelverwerking, zelfs van het besturingssysteem en de hypervisor moet worden geïsoleerd. Het geeft de kleinste trusted computing base, maar vereist dat de applicatie wordt geherstructureerd.
SEV/TDX (confidential computing op VM-basis)
In de cloud, wanneer bestaande applicaties vrijwel ongewijzigd moeten draaien en tegelijk zelfs tegen de hypervisor en de beheerders van de aanbieder moeten zijn beschermd. Remote attestation bevestigt dat het de juiste VM is voordat datasleutels worden vrijgegeven.

Veelgestelde vragen

Wat is veiliger, een enclave of een confidential VM?

Ze beschermen tegen vergelijkbare partijen, maar vertrouwen verschillende hoeveelheden code. Een enclave haalt zelfs het besturingssysteem uit de trusted computing base en vertrouwt alleen de CPU en de eigen code van de enclave, dus de TCB is het kleinst. Een confidential VM vertrouwt de hele VM inclusief het gastbesturingssysteem, dus de TCB is groter, maar bestaande software draait vrijwel ongewijzigd. De keuze hangt af van hoeveel code je moet beschermen en hoeveel herschrijfwerk je kunt veroorloven.

Versleutelt TrustZone het geheugen?

Het basismechanisme van TrustZone is toegangscontrole, geen versleuteling. Elke lees- of schrijfactie die de CPU op de bus zet, draagt een signaal dat aangeeft of ze secure is, en schakelingen vóór het geheugen en de randapparatuur weigeren toegangen vanuit de normal world tot beveiligde gebieden. Sommige SoC's voegen versleuteling van extern DRAM toe als aparte functie.

Houdt geheugenversleuteling ook zijkanaalaanvallen tegen?

Nee. Geheugenversleuteling voorkomt dat data in het hoofdgeheugen wordt gelezen of gewijzigd, maar cachegebruik, timing en patronen van paginafouten kunnen van buitenaf nog waarneembaar zijn. Tegenmaatregelen worden gecombineerd: code waarvan de vertakkingen en geheugentoegangen niet van geheimen afhangen, microcode-updates en geen core delen met onbetrouwbare partijen.

Kan SGX nog worden gebruikt?

Sinds begin jaren 2020 biedt Intel SGX niet meer aan op client-CPU's en levert het vooral op server-CPU's, dus de bescherming van applicaties op pc's kan niet meer van SGX uitgaan. Op servers zijn naast enclaves ook schema's op VM-niveau zoals TDX beschikbaar.

Test uw begrip

Welke uitspraak over een TEE (trusted execution environment) is juist?

  1. AEen uitvoeringsomgeving die ook van het gewone OS is geïsoleerd en door hardware wordt beschermd, en waarin belangrijke verwerking zoals sleutelverwerking en authenticatie plaatsvindt
  2. BEen omgeving om internetcommunicatie te versnellen
  3. CTeksteditorsoftware om programma's te schrijven
Antwoord en toelichting tonen

Antwoord: A. Een uitvoeringsomgeving die ook van het gewone OS is geïsoleerd en door hardware wordt beschermd, en waarin belangrijke verwerking zoals sleutelverwerking en authenticatie plaatsvindt

Een gewoon OS is groot en complex, dus het is moeilijk kwetsbaarheden volledig uit te sluiten. Een TEE maakt met een hardwaremechanisme een kleine uitvoeringsomgeving die van het gewone OS is gescheiden en voert daarin bijzonder te beschermen verwerking uit, zoals vingerafdrukvergelijking, betalingsverwerking en het verwerken van DRM-sleutels. Het doel is dat ook als het gewone OS wordt overgenomen, het geheugen en de sleutels in de TEE onaantastbaar blijven. Een bekend voorbeeld is TrustZone van Arm.

Welke uitspraak over het basismechanisme van Arm TrustZone is juist?

  1. AAlle beveiligde verwerking wordt op een andere pc uitgevoerd
  2. BProgramma's in de normal world kunnen het geheugen van de secure world vrij lezen
  3. CDe CPU heeft secure en normal werelden als toestanden en onderscheidt met bussignalen e.d. vanuit welke wereld geheugen en randapparatuur worden gelezen of geschreven en beperkt dat
Antwoord en toelichting tonen

Antwoord: C. De CPU heeft secure en normal werelden als toestanden en onderscheidt met bussignalen e.d. vanuit welke wereld geheugen en randapparatuur worden gelezen of geschreven en beperkt dat

Bij TrustZone schakelt de CPU-core tussen twee toestanden, secure en normal, en bij elke lees- of schrijfactie komt een signaal op de bus dat aangeeft in welke toestand het zich bevindt. Schakelingen bij het geheugen en de randapparatuur kijken naar dit signaal en weigeren toegang vanuit normal tot gebieden die aan secure zijn toegewezen. Omdat zonder extra chip een veilig gebied binnen één SoC kan worden gemaakt, wordt het veel gebruikt in onder meer smartphones.

Welke uitspraak over de kenmerken van een TEE van het 'enclave'-type zoals Intel SGX is juist?

  1. ADe hele OS-kernel wordt op een externe harde schijf uitgevoerd
  2. BEen deel van de applicatie wordt uitgevoerd in een gebied dat de CPU door versleuteling van het geheugen beschermt, zodat ook het OS of de hypervisor de inhoud niet kan lezen
  3. CDe data in een enclave kan door iedereen vrij worden herschreven
Antwoord en toelichting tonen

Antwoord: B. Een deel van de applicatie wordt uitgevoerd in een gebied dat de CPU door versleuteling van het geheugen beschermt, zodat ook het OS of de hypervisor de inhoud niet kan lezen

Bij een enclave wordt alleen het deel van de applicatie dat geheimen verwerkt in een speciaal geheugengebied uitgevoerd, en dat gebied wordt in de CPU versleuteld voordat het in het hoofdgeheugen komt (afhankelijk van de implementatie wordt ook manipulatie gedetecteerd). De inhoud is ook niet zichtbaar voor het OS, de hypervisor of een aanvaller die het geheugen fysiek uitleest. Alleen de CPU en zijn code hoeven te worden vertrouwd. Er is echter ook gerapporteerd dat het kwetsbaar is voor side-channelaanvallen, dus bij het gebruik is voorzichtigheid geboden.

  1. Wat is het doel van de functie waarbij de CPU het geheugen van virtuele machines versleutelt (zoals AMD SEV en Intel TDX) bij 'confidential computing' in de cloud?
  2. Waarom wordt bij systemen die vertrouwelijke verwerking uitvoeren soms simultaneous multithreading (SMT) van de CPU uitgeschakeld?
  3. Welke uitspraak over remote attestation (attestatie op afstand) is juist?

Oefenvragen over Hardwarebeveiliging

Belangrijke termen uitgelegd

TrustZone
Beveiligingsmechanisme van Arm-processors. Schakelt tussen een secure world en een normal world en onderscheidt en beperkt de toegang tot geheugen en randapparatuur via busignalen.
Enclave
TEE-methode waarbij een deel van een applicatie wordt uitgevoerd in een gebied waarvan de CPU het geheugen versleutelt en beschermt, zodat zelfs het besturingssysteem en de hypervisor de inhoud niet kunnen lezen.
TEE (trusted execution environment)
Uitvoeringsomgeving die door hardware wordt beschermd en ook van het gewone besturingssysteem is geïsoleerd. Voert belangrijke verwerking uit zoals sleutelbewerkingen en authenticatie. Bijvoorbeeld Arm TrustZone.
Hypervisor
Software om meerdere virtuele machines op één computer te laten draaien. Verdeelt CPU, geheugen en apparaten over het OS van elke virtuele machine en isoleert ze van elkaar. Ook virtual machine monitor genoemd.
Remote attestation
Mechanisme waarbij een apparaat de toestand van de software die erin draait met een sleutel in de chip ondertekent en aan een server op afstand toont, zodat die kan nagaan of het apparaat te vertrouwen is.
Zijkanaalaanval (side-channel attack)
Aanval die geheimen zoals sleutels afleidt uit andere fysieke informatie dan de eigenlijke uitvoer, zoals verwerkingstijd, energieverbruik en elektromagnetische straling.
Speculatieve uitvoering
CPU-mechanisme dat vooruit instructies uitvoert op basis van voorspellingen voordat bijvoorbeeld de uitkomst van een sprong bekend is. Bij een foute voorspelling wordt het resultaat ongedaan gemaakt, maar sporen zoals in de cache kunnen achterblijven.

Verwante vergelijkingen