Secure boot versus measured boot: handtekeningcontrole, TPM-metingen en attestatie vergeleken

Beide mechanismen controleren bij elke opstartfase, vanaf het inschakelen tot het besturingssysteem draait, de volgende software. Secure boot verifieert de digitale handtekening van de volgende fase en stopt het opstarten als die niet correct ondertekend is. Measured boot berekent een hash van de volgende fase en legt die cumulatief vast in de PCR's (Platform Configuration Registers) van de TPM, zonder iets te stoppen. Secure boot voorkomt; measured boot legt vast, zodat de toestand later kan worden gecontroleerd en aangetoond. Het zijn geen alternatieven voor elkaar en ze worden vaak samen gebruikt.

KenmerkSecure bootMeasured boot
Wat het controleertDe digitale handtekening van de volgende software: of de handtekening van de leverancier over de hash van het image klopt met een vertrouwde sleutelDe hash (meting) van de volgende software: de waarde van wat werkelijk is geladen, wordt ongewijzigd vastgelegd
Als er iets mis isStopt het opstarten ter plekke als de verificatie mislukt (afdwingen)Laat het opstarten doorgaan en legt alleen iets vast (registreren)
Root of trustOnveranderlijke bootcode in ROM en de publieke sleutel voor de verificatie (vaak als hash in eFuses opgeslagen om ruimte te sparen)Een klein vertrouwd stuk code dat als eerste draait en met meten begint, plus de TPM die de registratie bewaart
Als software is gemanipuleerdDe handtekening klopt niet, dus de software draait nooit; een gewijzigde bootloader of kernel kan niet startenHet systeem start toch, maar de PCR-waarden wijken af van de verwachte, dus controle van de registratie brengt het later aan het licht
Wat het nodig heeftEen publieke verificatiesleutel op het apparaat en een privésleutel voor ondertekening die de leverancier veilig bewaart; gecombineerd met anti-rollback, zodat oude versies niet opnieuw kunnen worden geïnstalleerdTPM-PCR's (die alleen kunnen worden uitgebreid, waarbij een nieuwe meting via een hash wordt ingevouwen) en een registratie van de metingen van elke fase (het eventlog)
Hoe het resultaat wordt gebruiktVoorkomt dat niet-geautoriseerde software op dat apparaat start. Om anderen te tonen wat er is opgestart, wordt het gecombineerd met measured boot of iets vergelijkbaarsRemote attestation (PCR-waarden, ondertekend met een TPM-sleutel en aan een server voorgelegd) en sealing (geheimen zoals een sleutel voor schijfversleuteling alleen vrijgeven als de PCR's de verwachte waarden bevatten)
BeperkingenHet zegt alleen of code door een vertrouwde sleutel is ondertekend, dus het kan een oude maar geldig ondertekende kwetsbare versie of een configuratiewijziging niet onderscheiden; het beschermt alleen het opstartpadHet kan niet voorkomen dat kwaadaardige code draait, en de registratie heeft pas betekenis als iemand die controleert; verwachte PCR-waarden veranderen bij elke software-update en moeten worden beheerd
Typisch gebruikSmartphones, pc's en veel embedded apparaten; geleverde producten vergrendelen ook debugpoorten zoals JTAGPc's met een TPM, voor schijfversleuteling en controle van de apparaatstatus vóór netwerktoegang; microcontrollers zonder TPM gebruiken voor hetzelfde doel schema's zoals DICE, die sleutels afleiden uit metingen

De getalswaarden zijn typische ordegroottes en variëren per procesgeneratie en product.

Wanneer welke variant?

Secure boot
Wanneer niet-geautoriseerde software nooit op het apparaat mag draaien. Het werkt zelfstandig, ook op apparaten die geen verificatieserver kunnen bereiken.
Measured boot
Wanneer je aan een server moet aantonen wat er is opgestart, of een sleutel voor schijfversleuteling alleen wilt vrijgeven als de opstarttoestand correct is. Ook een oude maar geldig ondertekende versie valt op door de registratie met verwachte waarden te vergelijken.
Samen
Secure boot blokkeert niet-geautoriseerd opstarten, en measured boot legt de opstarttoestand vast zodat die kan worden aangetoond. Beide kunnen tegelijk op hetzelfde apparaat draaien.

Veelgestelde vragen

Wat is het belangrijkste verschil tussen secure boot en measured boot?

Of het opstarten stopt als een controle mislukt. Secure boot weigert software te starten waarvan de handtekening niet geldig is. Measured boot laat het opstarten doorgaan en legt de hash van elk stuk software manipulatiebestendig vast in de TPM, zodat dit later kan worden gecontroleerd of aan een externe server kan worden aangetoond.

Heeft measured boot een TPM nodig?

Meestal wordt vastgelegd in de PCR's van een TPM. Een TPM kan een aparte chip zijn of firmware die in de CPU of SoC draait (fTPM). Microcontrollers zonder TPM kunnen een vergelijkbaar doel bereiken met schema's zoals DICE, die sleutels afleiden uit metingen.

Als ik secure boot heb, heb ik dan nog measured boot nodig?

Ze doen verschillend werk, dus beide gebruiken is zinvol. Secure boot controleert alleen of code door een vertrouwde sleutel is ondertekend, dus het kan een oude maar geldig ondertekende kwetsbare versie of een configuratiewijziging niet onderscheiden, en het kan niemand anders tonen wat er is opgestart. Measured boot bewaart de waarden van wat werkelijk is gestart, wat remote attestation en sealing mogelijk maakt.

Test uw begrip

Welke uitspraak over het verschil tussen secure boot en measured boot is juist?

  1. ABeide zijn hetzelfde en verschillen alleen in naam
  2. BSecure boot stopt het starten van onjuiste software, en measured boot legt hashes van de gestarte software vast in bijvoorbeeld een TPM, zodat de toestand later kan worden gecontroleerd
  3. CMeasured boot is alleen een functie die de opstarttijd meet
Antwoord en toelichting tonen

Antwoord: B. Secure boot stopt het starten van onjuiste software, en measured boot legt hashes van de gestarte software vast in bijvoorbeeld een TPM, zodat de toestand later kan worden gecontroleerd

Bij measured boot wordt in elke fase van het opstarten de hash van de volgende software berekend en in de registers (PCR) van de TPM vastgelegd, door ze op elkaar te stapelen. Een PCR kan alleen worden bijgewerkt door de vorige waarde met de nieuwe hash te combineren, dus de registratie kan niet worden vervalst. Het opstarten zelf wordt niet gestopt, maar aan de vastgelegde waarden is achteraf te controleren welke software is gestart en dat kan aan een server op afstand worden bewezen.

Welke uitspraak over secure boot is juist?

  1. AEen mechanisme om een pc sneller op te starten
  2. BEen mechanisme dat in elke fase van het opstarten de digitale handtekening van de volgende software controleert en alleen correcte software start
  3. CEen mechanisme dat bij elke start de volledige inhoud van de schijf wist
Antwoord en toelichting tonen

Antwoord: B. Een mechanisme dat in elke fase van het opstarten de digitale handtekening van de volgende software controleert en alleen correcte software start

Bij secure boot controleert de code in een niet herschrijfbaar ROM de handtekening van de eerste bootloader, controleert die bootloader de handtekening van de volgende fase of de OS-kernel, enzovoort, zodat een vertrouwensketen wordt opgebouwd. Als op enig moment een handtekening niet klopt, wordt het opstarten gestopt, dus ook als malware de bootloader of het opstartgedeelte van het OS herschrijft, kan het niet worden gestart. Het wordt veel gebruikt bij smartphones, pc's en embedded apparaten.

Welke uitspraak over de belangrijkste rol van een TPM (Trusted Platform Module) in bijvoorbeeld pc's is juist?

  1. AEen speciale schakeling om de beeldschermweergave te versnellen
  2. BEen component dat de koeling van de CPU beheert
  3. CHet levert beveiligingsfuncties zoals het veilig maken en bewaren van sleutels, het vastleggen van de gestarte software en het bewijzen van die toestand
Antwoord en toelichting tonen

Antwoord: C. Het levert beveiligingsfuncties zoals het veilig maken en bewaren van sleutels, het vastleggen van de gestarte software en het bewijzen van die toestand

Een TPM is een tegen manipulatie van buitenaf bestendige beveiligingschip (of in de CPU opgenomen functie) die onder meer sleutels genereert en bewaart, cryptografie uitvoert, toevalsgetallen genereert en hashes van gestarte software vastlegt. Als de sleutel voor schijfversleuteling bijvoorbeeld alleen wordt vrijgegeven wanneer de opstarttoestand juist is, zijn de data moeilijk te lezen, ook als de schijf wordt verwijderd of de opstartsoftware wordt herschreven.

  1. Welke uitspraak over remote attestation (attestatie op afstand) is juist?
  2. Wat wordt het best als 'root of trust' (vertrouwensanker) van secure boot in de chip geplaatst?
  3. Waarom is in een apparaat met secure boot een mechanisme tegen terugdraaien (anti-rollback) nodig?

Oefenvragen over Hardwarebeveiliging

Belangrijke termen uitgelegd

Secure boot
Mechanisme dat in elke opstartfase de digitale handtekening controleert van de volgende software en alleen de juiste software start. Bouwt een vertrouwensketen op.
Measured boot
Mechanisme waarbij in elke opstartfase de hashwaarde van de volgende software in onder meer een TPM wordt vastgelegd, zodat de opstarttoestand achteraf kan worden gecontroleerd.
TPM
Trusted Platform Module. Beveiligingschip of -functie die sleutels genereert en bewaart, meetwaarden van opgestarte software vastlegt en de toestand bevestigt.
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.
Root of trust
Deel dat onvoorwaardelijk wordt vertrouwd als uitgangspunt van beveiligingscontroles. Onveranderlijke opstartcode in ROM en publieke sleutels e.d. worden in de chip geplaatst.
Rollbackbeveiliging (anti-rollback)
Mechanisme dat voorkomt dat software wordt teruggezet naar een oude, kwetsbare versie, door het minimale versienummer in niet-herschrijfbaar geheugen vast te leggen en te vergelijken.

Verwante vergelijkingen