Wat is Confidential computing?
Een manier van rekenen waarbij gegevens tijdens de verwerking binnen een door hardware beschermde TEE worden behandeld, zodat zelfs het OS, de hypervisor en de beheerders van de cloudaanbieder ze niet kunnen lezen. Het beschermt gegevens in gebruik, naast de versleuteling van opgeslagen gegevens en van gegevens tijdens transport. Er zijn TEE's van het VM-type, die een hele virtuele machine beschermen (zoals AMD SEV-SNP, Intel TDX en Arm CCA), en van het enclave-type, die een deel van een applicatie beschermen (zoals Intel SGX). Geheime gegevens en sleutels worden pas vrijgegeven nadat de toestand binnenin met remote attestation is gecontroleerd.
Japanse benaming: 機密コンピューティング
“Confidential computing” komt voor in 4 oefenvragen uit 2 onderwerpen, bijv. Hardwarebeveiliging: nieuwste ontwikkelingen, Hardwarebeveiliging.
Vakgebied: Hardwarebeveiliging: nieuwste ontwikkelingen
Het VM-type en het enclave-type
Een TEE van het VM-type beschermt het geheugen van een hele virtuele machine, zodat bestaande besturingssystemen en applicaties vrijwel ongewijzigd draaien, maar een grote hoeveelheid software, inclusief het gast-OS, valt dan binnen wat vertrouwd moet worden (de TCB). Een enclave voert alleen het deel dat geheimen verwerkt in een beschermd gebied uit, zodat de TCB klein is, maar de applicatie moet worden opgesplitst en herschreven. Bij het VM-type is naast versleuteling ook bescherming van de integriteit belangrijk, die voorkomt dat de hypervisor de toewijzing van pagina's verandert of oude inhoud terugschrijft. Halverwege de jaren 2020 worden ook oplossingen aangeboden die de TEE van een CPU combineren met een GPU, om AI-verwerking onder confidential computing uit te voeren.
Veelgestelde vragen
Waarom is attestatie nodig als het geheugen al versleuteld is?
Versleuteling zorgt er alleen voor dat buitenstaanders niet kunnen lezen; ze zegt niets over wat er binnenin draait. De verwerking kan draaien in een valse TEE, op een gemanipuleerd gast-OS of op firmware van vóór het verhelpen van een kwetsbaarheid, dus de sleutel waarmee de gegevens worden ontsleuteld, wordt pas vrijgegeven nadat de met de sleutel van de CPU ondertekende meetwaarden en versienummers zijn gecontroleerd.
Hoeft de cloudaanbieder dan helemaal niet meer te worden vertrouwd?
De zorg dat de inhoud van het geheugen wordt gelezen, neemt sterk af, maar de CPU-fabrikant en zijn firmware moeten nog steeds worden vertrouwd, en de aanbieder kan de dienst nog verstoren door middelen in te houden. Controleer per schema wat wordt vertrouwd en waartegen het beschermt.