Kihagyás

Architektúra

1. A TPM mint biztonságos kriptoprocesszor (Secure Cryptoprocessor)

A TPM egy mikrocip, amelyet a számítógép alaplapjára telepítenek, és hardveres buszon keresztül kommunikál a rendszer többi részével. A chipet úgy tervezték, hogy biztonságos kriptográfiai műveleteket hajtson végre, garantálva a titkos kulcsok és adatok fizikai izolációját. A TPM alapvető funkciói közé tartozik a kriptográfiai kulcsok generálása, tárolása, és a használatuk korlátozása.

A TPM kritikus funkciója a hardveres véletlenszám-generátor (RNG), amely kiváló minőségű entrópiaforrást biztosít a biztonságos kulcsgeneráláshoz, felülmúlva a szoftveres generátorok minőségét.

2. Kulcshierarchia és kulcskézbesítés

A TPM biztonságának alapja a kulcshierarchia, amely megakadályozza a privát kulcsok felfedését az operációs rendszer felé, még rendszerkompromisszum esetén is.

  • Endorsement Key (EK): Ez az egyedi RSA kulcs a chipbe van égetve a gyártás során. Az EK-t a készülék hitelesítésére használják. Az EK magán része soha nem kerül nyilvánosságra semmilyen komponens, szoftver vagy felhasználó felé.
  • Storage Root Key (SRK): Az elsődleges burkoló kulcs. Az SRK a TPM-en belül tárolódik, és felelős az összes többi kulcs titkosításáért és védelméért.
  • Attestation Identity Key (AIK): Az EK aliasaként funkcionál, lehetővé téve a távoli attesztációt, miközben több, nem összekapcsolható kulccsal garantálja a felhasználói anonimitást a különböző szolgáltatások felé.

A kulcsok védelme kulcsburkolás (wrapping) és binding mechanizmusokkal történik, amelyek biztosítják, hogy a kulcsok a biztonságos határvonalon belül maradjanak. A TPM képes a szótártámadások enyhítésére is, korlátozva a hitelesítési érték (jelszó) próbálkozásainak számát.

3. Platform configuration registers (PCR) mechanizmus

A Platform Configuration Registers (PCR-ek) a platform integritásának mérési mechanizmusát képezik. Ezek a regiszterek tárolják a rendszerindítási folyamat (firmware, boot kód, operációs rendszer komponensek) során betöltött kód hasítékainak integritási metrikáit. A PCR-eknek vissza kell állniuk (resetelődniük) minden rendszerindításkor vagy áramvesztéskor, biztosítva ezzel, hogy minden egyes indításkor új integritási mérés történjen.

A PCR-ek értékeinek mérése az indítási folyamat során történik, még a kód tényleges végrehajtása előtt. A mérések bizonyítékként szolgálnak arra, hogy a rendszer hogyan indult el, és biztosítják, hogy egy TPM-alapú kulcs csak akkor kerüljön felhasználásra, ha a rendszer a megfelelő szoftverrel indult.

A rendszerbiztonság megértéséhez kritikus, hogy bár a TPM tárolja a méréseket, a bizalom gyökere a környező firmware integritásán alapul, amely ezeket a méréseket (PCR kiterjesztéseket) végzi. A TCG PC Client Specific Platform Firmware Profile Specification határozza meg a Linux alatt is releváns PCR indexeket:

PCR Index Leírás Kiterjesztés Forrása / Felelősségi Köre Relevancia (Példa)
PCR0 Core System Firmware Executable Code UEFI Firmware Platform integritás (UEFI kód hashe)
PCR1 Core System Firmware Data/Settings UEFI Firmware BIOS/UEFI beállítások, boot sorrend
PCR7 Secure Boot Policy State UEFI Secure Boot Secure Boot állapotának ellenőrzése
PCR8-15 Operációs Rendszer-specifikus Használat Rendszerbetöltő, Kernel, Initramfs LUKS kulcs lezárása (FDE)

4. Kulcskezelési primitívek: Binding és Sealing

A TPM két kulcsművelete, a Binding és a Sealing, alapvető fontosságúak a kulcsok és adatok platformhoz kötésében.

A Binding (Kötés) az adat titkosítását jelenti a TPM egyedi kulcsával, ami biztosítja, hogy az adatok csak az adott TPM birtokában fejthetők vissza. Ez a mechanizmus a privát kulcsok védelmét szolgálja.

A Sealing (Lezárás) egy fejlett mechanizmus, amely a titkosított adatot (vagy titkos kulcsot) az adott platform konfigurációs méréseihez (PCR-értékekhez) köti. A lezárt kulcs vagy adat csak akkor fejthető vissza (unseal), ha a platform aktuális PCR-értékei pontosan megegyeznek azokkal az értékekkel, amelyek a lezáráskor érvényben voltak. Ez a képesség teszi lehetővé a megbízható rendszerindítási folyamatok kikényszerítését (Trusted Boot). A sealing képesség közvetlenül biztosítja a platform integritásának mérési mechanizmusát; ha nem lenne sealing, a TPM csak egy passzív, hardveres kulcstároló lenne, de a PCR-ekhez kötés révén képes kényszeríteni a platform állapotát.