Organizační struktura pevného disku
operačním systémem Windows
NTFS · MBR · GPT · PAT · EPT · EFI System Partition · BIOS/UEFI · Secure Boot · TPM
1. Souborové systémy v OS Windows
Souborový systém (file system) je způsob, jakým operační systém organizuje, pojmenovává a ukládá data na datové médium. Bez souborového systému by disk byl jen řadou číslovaných sektorů bez struktury, bez názvů souborů a bez adresářů. Souborový systém definuje, jak jsou data fyzicky rozmístěna na disku a jak OS k nim přistupuje.
Windows v průběhu svého vývoje používal několik souborových systémů. FAT16 byl standard pro MS-DOS a Windows 3.x, omezený na soubory do 2 GB. FAT32 přišel s Windows 95 OSR2 a umožnil disky do 2 TB, ale stále omezoval velikost jednoho souboru na 4 GiB – problém dnes u videa nebo zálohovacích archivů. exFAT z roku 2006 je odlehčená varianta bez žurnálování, primárně pro flash disky a SD karty, kde je dnes standardem. Pro pevné disky v moderních Windows je výchozím souborovým systémem NTFS, a to od Windows NT 3.1 z roku 1993.
1.1 NTFS – New Technology File System
NTFS byl navržen od základů pro Windows NT s důrazem na spolehlivost, bezpečnost a podporu velkých disků. Oproti FAT přináší řadu zásadních vylepšení.
Žurnálování (journaling)
Jednou z nejdůležitějších vlastností NTFS je žurnálování. Před každou změnou metadat (zápis souboru, přejmenování, smazání) zapíše NTFS záměr operace do speciálního souboru nazývaného žurnál ($LogFile). Teprve poté provede samotnou operaci. Pokud dojde k výpadku napájení uprostřed operace, při dalším startu Windows přečte žurnál a buď dokončí, nebo vrátí nedokončenou transakci. Díky tomu nedojde k poškození struktury disku. FAT nic takového nenabízel – proto bylo nezbytné provádět CHKDSK kontrolu po každém pádu systému.
Přístupová práva a bezpečnost (ACL)
NTFS implementuje ACL (Access Control List) – seznam přístupových práv pro každý soubor a adresář. Práva lze nastavit pro každého uživatele nebo skupinu zvlášť: čtení, zápis, spouštění, plné řízení nebo speciální kombinace. Toto je základ Windows bezpečnostního modelu – systémové soubory jsou chráněny před normálními uživateli.
Komprese a šifrování (EFS)
NTFS podporuje transparentní kompresi souborů na úrovni souborového systému. Uživatel pracuje se soubory normálně, ale OS je na pozadí komprimuje a dekomprimuje. Pro citlivá data nabízí EFS (Encrypting File System) – transparentní šifrování pomocí symetrického klíče chráněného certifikátem uživatele. EFS pracuje na úrovni souborového systému a je nezávislý na BitLockeru, který šifruje celý svazek.
Alternativní datové proudy (ADS)
NTFS umožňuje ke každému souboru připojit alternativní datové proudy (Alternate Data Streams, ADS) – skrytá data přidružená k souboru bez viditelné změny jeho velikosti. Windows Explorer tato data nezobrazí. Proudy se používají například pro uložení zónového identifikátoru (příznak "staženo z internetu", který spouští bezpečnostní varování při prvním spuštění). Zároveň jsou potenciálním bezpečnostním rizikem, protože lze v nich skrýt škodlivý kód.
Sparse files a hard/soft linky
Sparse files jsou soubory s "dírami" – velké soubory, kde velké části obsahují pouze nuly a nejsou fyzicky uloženy na disk, čímž šetří místo. Využívají je databáze nebo virtuální disky. Hard linky umožňují jednomu souboru mít více názvů v různých adresářích – data existují jen jednou, ale jsou přístupná přes více cest. Symbolické linky (junction points, symlinks) fungují podobně jako zástupce, ale transparentně na úrovni systému.
| Vlastnost | FAT32 | exFAT | NTFS |
|---|---|---|---|
| Max. velikost souboru | 4 GiB | 16 EiB | 16 EiB |
| Max. velikost svazku | 2 TiB | 128 PiB | 256 TiB |
| Žurnálování | Ne | Ne | Ano |
| Přístupová práva (ACL) | Ne | Omezená | Plná |
| Komprese | Ne | Ne | Ano |
| Šifrování (EFS) | Ne | Ne | Ano |
| Typické použití | Starší média, USB | SD karty, USB flash | Systémový disk Windows |
1.2 MFT – Master File Table
Srdcem NTFS je MFT (Master File Table) – tabulka, která popisuje každý soubor a adresář na svazku. MFT je sám o sobě souborem (jmenuje se $MFT) uloženým na disku. Každý soubor nebo adresář je v MFT reprezentován jedním nebo více záznamy o velikosti 1 KB.
Každý záznam MFT obsahuje atributy souboru: název ($FILE_NAME), standardní informace – časy, vlastník, příznaky ($STANDARD_INFORMATION), bezpečnostní deskriptor s ACL ($SECURITY_DESCRIPTOR), a data souboru ($DATA). Pro malé soubory jsou data uložena přímo v záznamu MFT (tzv. resident data) – disk se pak čte efektivněji, protože pro malé soubory stačí přečíst jen MFT bez dalšího hledání. Pro větší soubory záznam MFT obsahuje extenty – záznamy o tom, kde jsou data fyzicky na disku.
NTFS rezervuje prvních 16 MFT záznamů pro systémové soubory: $MFT (záznam 0, popis samotné MFT), $MFTMirr (záloha prvních 4 záznamů uložená uprostřed disku pro záchranné účely), $LogFile (žurnál operací), $Volume (informace o svazku – jméno, verze NTFS), $AttrDef (definice atributů), $Bitmap (bitmapa volných clusterů – každý bit označuje volný nebo obsazený cluster), $Boot (zaváděcí sektor svazku).
2. MBR, GPT – dělení disku na oddíly a souvislost s instalací OS
Ještě před tím, než na disku vůbec existuje souborový systém, musí být disk rozdělen do oddílů (partitions). Oddíl je logicky oddělená oblast disku, se kterou OS pracuje jako se samostatnou jednotkou. Rozdělení disku má praktické důvody: oddělení systémového disku od dat chrání soubory při reinstalaci Windows, umožňuje mít více OS na jednom disku, různé souborové systémy na různých částech disku.
Informace o tom, jak je disk rozdělen – kde začíná a končí každý oddíl – je uložena v tabulce oddílů (partition table). Pro tento účel existují dva standardy: starý MBR a moderní GPT.
2.1 MBR – Master Boot Record
MBR (Master Boot Record) je historicky první standard pro ukládání tabulky oddílů. Zaujímá vždy první sektor disku (LBA 0, fyzicky CHS 0-0-1) a má pevnou velikost 512 bajtů. Je rozdělen do tří logických částí.
Bootstrap kód (offsety 0–445, celkem 446 bajtů) je malý program v assembleru, který se spustí jako první po zapnutí počítače při BIOSovém startu. Jeho úkolem je najít v PAT aktivní (bootovatelný) oddíl a předat řízení jeho zaváděcímu sektoru (Volume Boot Record). Bez tohoto kódu by BIOS nevěděl, jak spustit OS.
Tabulka oddílů PAT (offsety 446–509, celkem 64 bajtů) obsahuje přesně 4 záznamy po 16 bajtech. Každý záznam popisuje jeden oddíl. Podrobnou strukturu PAT probereme v kapitole 3.
Podpisová sekvence (offsety 510–511, 2 bajty) je hodnota 0x55AA. BIOS tento podpis ověřuje – pokud není přítomen, odmítne sektor uznat jako MBR a zahlásí chybu "No bootable device".
2.2 GPT – GUID Partition Table
GPT (GUID Partition Table) je moderní standard tabulky oddílů definovaný jako součást specifikace UEFI. Byl navržen jako přímá náhrada MBR a odstraňuje všechna jeho omezení.
Název pochází od GUID (Globally Unique Identifier) – každý oddíl v GPT je identifikován 128bitovým unikátním číslem, prakticky nezaměnitelným v celém vesmíru. GPT používá 64bitové LBA adresy (maximální kapacita disku 9,4 ZiB), podporuje až 128 oddílů bez rozšířených oblastí, má zdvojenou strukturu (primární GPT na začátku, záložní Secondary GPT na konci disku) a používá CRC32 kontrolní součty pro ověření integrity.
Na LBA 0 je uložen Protective MBR – speciální záznam, který označuje celý disk jako jeden MBR oddíl neznámého typu 0xEE. Chrání disk před starým softwarem, který nerozumí GPT – starý software vidí disk jako plně obsazený a nepokusí se ho přepsat. Bez Protective MBR by viděl disk bez tabulky oddílů a mohl by ho omylem inicializovat.
3. Struktura a popis PAT a EPT
Pokud chceme opravdu pochopit, jak MBR disk "ví" o svých oddílech, musíme se podívat na struktury uvnitř prvního sektoru – PAT a EPT. Tyto struktury jsou vizualizovány v diagramech ze školních materiálů a je důležité umět je číst a interpretovat.
3.1 PAT – Partition Table (tabulka oddílů v MBR)
PAT (Partition Table) je 64bajtová oblast v MBR (offset 446), rozdělená na přesně 4 záznamy po 16 bajtech. Každý záznam popisuje jeden primární oddíl nebo je prázdný (nulový). Struktura jednoho 16bajtového záznamu:
| Offset | Délka | Obsah | Popis |
|---|---|---|---|
| 0 | 1 B | Status / Boot flag | 0x80 = aktivní (bootovatelný oddíl), 0x00 = neaktivní. Jen jeden oddíl smí mít příznak 0x80. |
| 1–3 | 3 B | CHS Start | Adresa prvního sektoru v CHS formátu. V praxi ignorováno moderním OS. |
| 4 | 1 B | Typ oddílu | 0x07 = NTFS/exFAT, 0x0B = FAT32, 0x05/0x0F = rozšířená oblast, 0x82 = Linux swap |
| 5–7 | 3 B | CHS End | Adresa posledního sektoru v CHS. Zpravidla ignorováno. |
| 8–11 | 4 B | LBA Start | Klíčová hodnota – LBA adresa prvního sektoru oddílu. Používají ji moderní OS. |
| 12–15 | 4 B | Počet sektorů | Celkový počet sektorů oddílu. Spolu s LBA Start určuje rozsah oddílu. |
Přestože PAT obsahuje CHS hodnoty, moderní OS pracuje výhradně s LBA Start a počtem sektorů. CHS hodnoty jsou reliktem minulosti přítomným jen pro zpětnou kompatibilitu se starým BIOSem.
Na výše uvedeném diagramu vidíme příklad disku se třemi primárními oddíly. Disk má 800 cylindrů. PAT v MBR (na adrese CHS 0-0-1) obsahuje 3 záznamy. Oddíl C: začíná na cylindru 0, hlava 1, sektor 1 (přičemž hlava 0 je obsazena MBR) a končí na cylindru 200. Oddíl D: obsazuje cylindry 201–400, oddíl E: cylindry 401–800. Červená šipka v diagramu označuje záznam s příznakem Boot=Y – C: je aktivní oddíl, odtud bude zaveden OS.
3.2 EPT – Extended Partition Table (rozšířená tabulka oddílů)
Čtyři záznamy v PAT jsou pro moderní disky nedostatečné. Pokud chceme více než 4 oddíly, řešením je rozšířená oblast (Extended Partition). Místo primárního oddílu lze v PAT vytvořit záznam s typem 0x05 nebo 0x0F, který označuje rozšířenou oblast. Tato oblast může obsahovat libovolné množství logických oddílů, které jsou popsány zřetězeným seznamem EPT (Extended Partition Table) záznamů.
Princip EPT je jako zřetězený seznam (linked list): na začátku každého logického oddílu uvnitř rozšířené oblasti je malý (512bajtový) sektor nazývaný EBR (Extended Boot Record). Tento sektor obsahuje tabulku s přesně dvěma záznamy: první popisuje daný logický oddíl (kde začíná a jak je velký), druhý ukazuje na adresu dalšího EBR v pořadí. Pokud je druhý záznam prázdný, jsme na konci řetězce. Tímto způsobem lze řetězit libovolné množství logických oddílů.
Na diagramu 1. EPT vidíme disk, kde je primární oddíl C:, logický oddíl D: uvnitř rozšířené oblasti a primární oddíl E:. PAT v MBR ukazuje typ Ext pro rozšířenou oblast. 1. EPT leží na adrese CHS 201-0-1 a popisuje logický oddíl D: s rozsahem CHS 201-1-1 až 400-3-63. Fialová šipka ukazuje propojení z PAT na EPT.
Na diagramu 2. EPT vidíme kompletní příklad se dvěma logickými oddíly v rozšířené oblasti. PAT má pouze 2 záznamy: Prim (C:, cylindry 0–200) a Ext (rozšířená oblast, cylindry 201–800). 1. EPT popisuje D: a obsahuje odkaz na adresu 2. EPT (cylindr 401-0-1). 2. EPT popisuje E: a druhý záznam je prázdný – konec řetězu. Tímto způsobem může rozšířená oblast obsahovat desítky logických oddílů.
4. Programy pro správu disků
Správa oddílů – vytváření, mazání, změna velikosti, formátování, přesun, záloha – vyžaduje specializované nástroje. Existují jak nástroje přímo integrované v Windows, tak nástroje třetích stran.
4.1 Vestavěné nástroje Windows
Správa disků (diskmgmt.msc)
Grafický nástroj Windows dostupný přes pravý klik na Start → Správa disků. Umožňuje vytvářet, mazat a formátovat oddíly, měnit přiřazení písmen jednotek, inicializovat nové disky (výběr MBR nebo GPT) a převádět základní disky na dynamické. Nevýhoda: neumí měnit velikost systémového oddílu za běhu bez restartu a neobsahuje funkce jako klonování disku.
DiskPart (příkazový řádek)
Diskpart je výkonný nástroj příkazového řádku pro správu disků. Spouští se jako správce příkazem diskpart. Umí vše co grafická Správa disků, a navíc: convert gpt nebo convert mbr pro převod stylu disku (pozor: maže data!), clean pro kompletní vymazání tabulky oddílů, extend nebo shrink pro změnu velikosti oddílu, práci s VHD/VHDX virtuálními disky. Je nezbytný při instalaci Windows z příkazové řádky nebo při opravách systému z WinPE prostředí.
4.2 Acronis Disk Director
Acronis Disk Director je komerční správce diskových oddílů od firmy Acronis. Jeho klíčové funkce: nedestruktivní změna velikosti oddílů (data jsou zachována), klonování disků (přesná kopie jednoho disku na druhý – nezbytné při výměně disku za větší SSD), záchrana dat ze smazaných nebo poškozených oddílů, záchranné médium (bootovatelný USB nebo CD pro práci s offline systémem), správa MBR i GPT, konverze mezi souborovými systémy. Při operacích se systémovým diskem pracuje v restart-mode – operace se dokončí při příštím spuštění počítače.
4.3 Paragon Partition Manager
Paragon Partition Manager je přímý konkurent Acronis od firmy Paragon Software. Nabízí velmi podobné funkce: nedestruktivní resize oddílů, klonování a migrace OS (včetně migrace fyzický PC na virtuální VM a naopak), konverze MBR na GPT bez ztráty dat (klíčová funkce pro přechod na Windows 11!), podpora BitLocker šifrovaných oddílů, bootovatelné záchranné médium. Paragon je oblíbený zejména pro funkci konverze MBR na GPT, která je kritická při přechodu ze staršího systému na moderní UEFI Windows 11.
4.4 GParted a další
GParted (GNOME Partition Editor) je bezplatný open-source správce oddílů dostupný jako bootovatelné LiveCD nebo USB. Podporuje NTFS, FAT, ext4 a desítky dalších souborových systémů, umí resize, move, create, delete, check oddílů bez spuštěného Windows. Je standardním nástrojem pro záchranné operace. EaseUS Partition Master je populární freeware alternativa s grafickým rozhraním pro Windows, vhodná pro méně technicky zdatné uživatele.
5. EFI System Partition – vznik, obsah, souvislost s bootováním a instalací
ESP (EFI System Partition) je speciální oddíl na GPT disku, který hraje klíčovou roli při UEFI bootování. Abychom ji správně pochopili, musíme nejprve vysvětlit, proč UEFI přistupuje k bootování jinak než starý BIOS.
5.1 Proč ESP vůbec existuje?
Starý BIOS měl bootovací logiku extrémně jednoduchou: najdi MBR (první sektor disku), spusť bootstrap kód. Bootloader byl skrytý v záhadných sektorech mimo souborový systém. UEFI přineslo radikálně odlišný přístup: firmware UEFI sám umí číst souborový systém FAT32 a hledat v něm soubory bootloaderů. Tím odpadla nutnost bootstrap kódu ve fixních sektorech. UEFI si pamatuje cesty k bootloaderům v proměnných (NVRAM), přes které lze přesně řídit, který OS se spustí.
ESP je oddíl naformátovaný jako FAT32 – toto je dáno standardem UEFI, protože FAT32 je jednoduché, robustní a všechny UEFI implementace ho umí číst. Typ oddílu v GPT tabulce je označen speciálním GUID. Doporučená velikost ESP je 100 MB až 260 MB (Windows Setup vytváří 100 nebo 260 MB; pro více OS je doporučeno 500 MB a více).
5.2 Co ESP obsahuje
ESP má standardizovanou adresářovou strukturu. Kořenový adresář EFI obsahuje podadresáře pro každý OS nebo bootloader:
EFI\Microsoft\Boot\– bootloader Windows. Obsahuje bootmgfw.efi (Windows Boot Manager – hlavní UEFI bootloader), BCD (Boot Configuration Data – seznam instalovaných Windows a jejich nastavení), a pomocné soubory.EFI\ubuntu\neboEFI\debian\– bootloadery Linuxu (GRUB nebo systemd-boot), pokud je Linux nainstalován vedle Windows.EFI\Boot\bootx64.efi– záložní fallback bootloader. UEFI firmware hledá tento soubor jako výchozí, pokud v NVRAM není jiný záznam. Je to výchozí bootloader pro bootovatelná USB média.
bcdedit z příkazové řádky jako správce nebo graficky přes msconfig. Poškozený BCD způsobí, že Windows se nespustí – oprava je přes bootrec /rebuildbcd z instalačního USB.5.3 Jak vzniká ESP při instalaci Windows
Při instalaci Windows 10/11 na čistý GPT disk se ESP vytvoří automaticky jako první oddíl. Instalátor: inicializuje disk jako GPT, vytvoří ESP (výchozí 100 MB, FAT32), vytvoří MSR oddíl (Microsoft Reserved Partition, 16 MB, bez FS – pro interní potřeby Windows), vytvoří systémový oddíl C: s NTFS, zkopíruje do ESP bootloader bootmgfw.efi a vytvoří BCD databázi, zaregistruje bootloader v UEFI NVRAM jako nový boot záznam "Windows Boot Manager". Po instalaci UEFI firmware při každém startu najde cestu \EFI\Microsoft\Boot\bootmgfw.efi na ESP a spustí Windows Boot Manager.
6. BIOS a UEFI – rozdíly při bootování
Aby bylo jasné, proč GPT, ESP a celá moderní bootovací infrastruktura existují, je třeba pochopit zásadní rozdíl mezi starým BIOS (Basic Input/Output System) a moderním UEFI (Unified Extensible Firmware Interface).
6.1 BIOS – historický základ
BIOS je firmware zabudovaný do základní desky (dnes v Flash paměti). Vznikl v roce 1975 a byl kodifikován pro IBM PC v roce 1981. Přestože prošel evolucí, základní architektura zůstala nezměněna 40 let. Při zapnutí počítače BIOS provede POST (Power-On Self Test) – diagnostiku hardware: testuje RAM, zkontroluje přítomnost CPU a základní periferie. Pokud POST uspěje, BIOS prohledá bootovací zařízení v nakonfigurovaném pořadí (pevný disk, DVD, USB) a přečte MBR (LBA 0), ověří podpis 0x55AA, zkopíruje 512 bajtů do paměti na adresu 0x7C00 a předá řízení bootstrap kódu.
BIOS operuje v 16bitovém reálném módu (Real Mode) – omezení z éry Intel 8086. To znamená, že kód bootloaderu, který BIOS spustí, musí nejdříve přepnout procesor do 32bitového nebo 64bitového chráněného módu, než může adresovat více než 1 MB paměti. Tento přechod je zdrojem mnoha komplikací a omezení.
6.2 UEFI – moderní firmware
UEFI (Unified Extensible Firmware Interface) byl vyvinut firmou Intel jako odpověď na limity BIOSu. Původně se jmenoval EFI a byl vyvíjen pro platformu Itanium v 90. letech. V roce 2007 vzniklo konsorcium UEFI Forum a standard byl otevřen pro celý průmysl. Dnes je UEFI standardem na všech moderních počítačích.
UEFI operuje v 32bitovém nebo 64bitovém chráněném módu od prvního okamžiku – bez nutnosti přepínat. Má vlastní modulární architekturu: je psáno v jazyce C (ne assembleru), používá stekovatelné EFI ovladače pro hardware, má vlastní souborový systém (ESP / FAT32), vlastní síťový stack (PXE, HTTP boot) a grafický framebuffer pro GUI rozhraní.
Průběh UEFI bootování (fáze)
SEC (Security Phase) – nejranější fáze: spuštění procesoru, inicializace cache jako dočasné RAM (Cache as RAM, bez skutečné RAM ještě), ověření integrity firmware. PEI (Pre-EFI Initialization) – inicializace RAM (XMP profily, SPD data), inicializace čipsetu. DXE (Driver Execution Environment) – načítání EFI ovladačů pro všechna zařízení: disky, síťové karty, grafika, tato fáze umožňuje GPU inicializaci pro grafické UEFI rozhraní. BDS (Boot Device Selection) – UEFI čte seznam boot záznamů z NVRAM, lokalizuje ESP na každém disku (hledá oddíl s EFI System GUID), spustí registrované bootloadery v nastaveném pořadí. OS Loader – UEFI předá řízení bootloaderu (bootmgfw.efi), který spustí Windows kernel.
| Vlastnost | BIOS (Legacy) | UEFI |
|---|---|---|
| Architektura | 16bitový Real Mode | 32/64bitový Protected/Long Mode |
| Rozhraní | Textové (ASCII) | Grafické GUI s myší |
| Tabulka oddílů | MBR (max. 2 TiB, 4 oddíly) | GPT (max. 9,4 ZiB, 128 oddílů) |
| Bootloader | Pevný kód v MBR (512 B) | Soubory .efi na FAT32 ESP |
| Bootovací záznamy | Boot flag v PAT | Proměnné v NVRAM |
| Zabezpečení | Žádné | Secure Boot, TPM integrace |
| Rychlost POST | Pomalejší | Rychlejší (Fast Boot, optimalizace) |
| Podpora Windows 11 | Pouze přes CSM (omezená) | Plná podpora |
7. Secure Boot a TPM – popis a princip fungování
7.1 Secure Boot
Secure Boot je bezpečnostní funkce UEFI standardu, která zajišťuje, že počítač při startu spustí pouze důvěryhodný (kryptograficky podepsaný) software. Jejím primárním cílem je ochrana před bootkity a rootkity – škodlivým softwarem, který se instaluje do bootovacího procesu ještě před načtením OS, a je proto extrémně obtížně detekovatelný a odstraňovatelný.
Princip fungování Secure Boot – klíče a databáze
Secure Boot funguje na principu asymetrické kryptografie a digitálních podpisů. V UEFI firmware jsou uloženy tzv. klíče databáze. PK (Platform Key) je kořenový klíč platformy, obvykle patří výrobci základní desky a podepisuje KEK. KEK (Key Exchange Key) je klíč pro aktualizaci ostatních databází, obvykle patří Microsoftu a výrobci desky. db (Signature Database) je databáze povolených podpisů a hashů – obsahuje veřejné klíče, jejichž privátní části podepisují bootloadery Microsoftu, Linuxu (shim), ovladačů. dbx (Forbidden Signature Database) je blacklist zakázaných podpisů – sem se přidávají kompromitované nebo revokované klíče; firmware odmítne spustit software podepsaný klíčem v dbx, i kdyby byl v db.
Průběh ověření: UEFI načte bootloader (soubor .efi) z ESP. Vypočítá jeho hash a ověří jeho digitální podpis vůči db databázi. Pokud podpis odpovídá záznamu v db a není v dbx, spustí bootloader. Bootloader pak sám ověří jádro OS a jádro OS ověří ovladače. Tímto způsobem vznikne Chain of Trust (řetěz důvěry) – každý článek ověří následující od firmware až po OS. Pokud by útočník pozměnil bootloader (bootkit), jeho podpis by neodpovídal db a UEFI odmítne spuštění.
7.2 TPM – Trusted Platform Module
TPM (Trusted Platform Module) je bezpečnostní koprocesor – speciální čip nebo firmware, integrovaný přímo do základní desky (TPM 2.0 je běžně součástí Intel ME nebo AMD PSP), nebo jako samostatný čip na speciálním TPM konektoru základní desky. TPM implementuje specifikaci Trusted Computing Group (TCG) a je normalizován standardem ISO/IEC 11889.
Co TPM fyzicky je
TPM je hardwarový nebo firmwarový modul s vlastním procesorem, pamětí a generátorem náhodných čísel. Má trvalou (non-volatile) paměť pro ukládání kryptografických klíčů a Platform Configuration Registers (PCR) – sada registrů obsahujících hashe konfigurací systému.
Princip fungování TPM – PCR měření a Sealed Storage
Klíčový koncept TPM je měření (measurement). Při bootu TPM postupně měří (hashuje) každou komponentu bootovacího řetězce: firmware UEFI, konfiguraci UEFI, bootloader, jádro OS. Výsledky hashů se ukládají do PCR registrů metodou extend: nový PCR = SHA-256(starý PCR || nová hodnota). Výsledek v PCR závisí na celé historii měření – jakákoliv změna kdekoliv v řetězci změní PCR hodnotu.
Tato vlastnost umožňuje sealed storage (zapečetěné úložiště): TPM může uchovávat klíče (například klíč pro BitLocker) zapečetěné k určitým hodnotám PCR. Klíč je vydán pouze tehdy, když aktuální PCR hodnoty odpovídají hodnotám při zapečetění. Pokud útočník změní bootloader (malware), PCR hodnota se změní, TPM odmítne vydat klíč a BitLocker disk zůstane zašifrovaný – útočník nemá přístup k datům.
Hlavní využití TPM
BitLocker je nejznámějším uživatelem TPM. BitLocker šifruje celý oddíl symetrickým klíčem FVEK (Full Volume Encryption Key), který je uložen zašifrovaný v TPM. Při každém startu TPM ověří, že PCR hodnoty odpovídají (systém nebyl manipulován) a vydá FVEK. Disk se transparentně dešifruje. Bez TPM by byl FVEK buď uložen nezabezpečeně, nebo by vyžadoval PIN při každém startu.
Windows Hello – biometrické přihlašování (obličej, otisk prstu). Biometrické šablony a privátní klíče jsou uloženy v TPM, odkud je nelze extrahovat. Platform Attestation – vzdálené ověření integrity systému pro enterprise správu v Zero Trust architektuře. Generátor náhodných čísel – TPM obsahuje hardwarový True Random Number Generator (TRNG) pro kryptografické operace.
| Vlastnost | TPM 1.2 | TPM 2.0 |
|---|---|---|
| Algoritmy | SHA-1, RSA | SHA-256, AES, ECC, RSA – plná kryptografická agility |
| PCR registry | 24 registrů (SHA-1) | 24+ registrů (SHA-256, více bank) |
| Rozhraní | LPC sběrnice | LPC, SPI nebo fTPM (firmware) |
| Windows 11 požadavek | Ne (nestačí) | Ano – povinný |