náhled|Interní komponenty TPM Trusted Platform Module (zkratka TPM, též ISO/IEC 11889) je ve výpočetní technice standard bezpečnostního čipu (bezpečný kryptoprocesor), který je určen k zabezpečení hardware počítače a interně uložených šifrovacích klíčů. Označením TPM je často míněn „TPM čip“ (TPM Security Device), který je zabudován do některých počítačů. Specifikace TPM 2.0 revize 1.59 byla zveřejněna 1. listopadu 2019 jako ISO/IEC 11889:2015.

V mikroprocesorech pro osobní počítače PC je softwarová implementace TPM přítomná od roku 2013 (některé procesory Intel) a 2017 (procesory Intel 8. generace, Ryzen procesory AMD). Mobilní telefony používají obdobné prvky (iOS používá Secure Enclave, Android používá TrustZone a případně doplňující Samsung Knox Vault nebo Google Titan M/M2). Starší počítače Apple Mac s procesory Intel měly T2 čip, který kromě jiného obsahoval vlastní implementaci TPM.

Technologie TPM (případně PTT nebo fTPM, což jsou implementace firem Intel a AMD) by neměly být zaměňovány s Intel Management Engine nebo AMD Platform Security Processor.

Využití

TPM je v počítači používáno pro sledování a zaručení integrity počítačového systému (tj. jestli nebyl proveden neoprávněný zásah do počítače, například změněn BIOS/UEFI, zavaděč, jestli byl použit SecureBoot, jestli byly použity podepsané ovladače apod.). Dále TPM slouží pro jednoznačnou identifikaci zařízení (Endorsement Key, EK), pro ochranu šifrovacích klíčů (uložených v TPM), pro ochranu dat šifrováním (jen pokud je zachována integrita platformy, tak TPM vydá šifrovací klíč např. pro BitLocker nebo dovolí přihlášení pomocí Windows Hello) a dalších bezpečnostních úkolů.

Dalším využitím TPM může být například správa a vynucení DRM (digital rights management), softwarových licencí, podpora pro Microsoft Defender, zabránění podvádění v online hrách (), ochraně počítače přístupovým heslem (zamknutí počítače) atp. Mnoho aplikací TPM čip vyžaduje.

Od července 2016 firma Microsoft po výrobcích počítačů vyžaduje, aby nové počítače prodávané s jakoukoliv verzí Microsoft Windows podporovaly TPM. Systém Windows 11 vyžaduje přítomnost TPM 2.0 v počítači, což má podle firmy Microsoft zabránit útokům na firmware počítače nebo napadení systému ransomwarem.

Historie Čipové karty (standard EMV – Europay, Mastercard, Visa) uvedené v 80. letech používaly tzv. secure element, což byl čip, který kombinací hardware a software chránil uvnitř uložené šifrovací klíče. První mobilní telefony měly jako bezpečnostní prvek pouze SIM kartu, která obsahovala komunikační klíče pro přístup do GSM sítě, identifikaci uživatele (kvůli účtování volání) a telefonní seznam, přičemž vše mohlo být chráněno čtyřmístným číselným PIN kódem. V roce 2013 uvedla firma Apple pro svoje mobilní telefony iPhone dedikovaný čip Secure Enclave, který sloužil pro ochranu Touch ID a šifrování dat.

Pro potřeby stolních počítačů byl vyvinut podobný čip, který však poskytoval i další specifické služby (např. zajištění integrity platformy a její kontrola). Tím vznikl TPM čip, což je specializovaný kryptoprocesor. V roce 1999 byla založena organizace TCPA (Trusted Computing Platform Alliance), kterou vedly firmy jako IBM, HP, Microsoft a Intel. V roce 2003 byla TCPA přejmenována na TCG (Trusted Computing Group) a zároveň vydala specifikaci TPM 1.1.

TPM 1.2 byla přijata v roce 2009 jako mezinárodní standard ISO/IEC 11889:2009. Finalizace standardu TPM 1.2 (TPM Main Specification Version 1.2) byla dokončena v roce 2011.

Nová hlavní verze TPM 2.0 byla oznámena 9. dubna 2014 pod názvem TPM Library Specification 2.0. Do standardu jsou doplňovány nové algoritmy, příkazy a jsou v něm odstraňovány chyby, přičemž poslední revize TPM 2.0 byla zveřejněna v listopadu 2019 a byla přijata pod mezinárodním označením ISO/IEC 11889:2015.

Nové revize jsou členěny do částí, přičemž každá obsahuje kompletní novou specifikaci:

Part 1 – Architektura (Architecture, přejmenováno z Design Principles) Part 2 – Struktura TPM (Structures of the TPM) Part 3 – Příkazy (Commands) Part 4 – Podpůrné rutiny (Supporting Routines, přidáno v TPM 2.0) Charakteristika TPM nabízí možnosti pro bezpečné generování kryptografických klíčů a různá omezení v jejich použití, jako hardwarová nadstavba generátoru pseudonáhodných čísel. Zahrnuje schopnosti, jako například vzdálené ověření a zapečetěné uložení.

Vzdálené ověřování vytváří téměř nepadělatelný hash klíč, který obsahuje souhrn údajů hardwarové a softwarové konfigurace. Program šifrující data určuje rozsah souhrnu údajů o software. To umožňuje třetí straně ověřit, zda nebyl software změněn. Vázání šifruje data za použití TPM potvrzovacího klíče, což je unikátní RSA klíč, který je při výrobě vypálen přímo do čipu (Endorsement Key, EK) a nebo se jedná o jiný důvěryhodný klíč, který z něho vychází (Attestation Identity Keys, AIK). AIK znemožňuje sledování zařízení podle pevného EK. Zapečetění šifruje data podobným způsobem jako vázání, ale oproti vázání určuje stav, ve kterém TPM musí být v pořádku, aby mohla být data dešifrována (rozpečetěna).

Software může využít TPM k ověření hardwarových zařízení. Vzhledem k tomu, že každý TPM čip má v sobě při výrobě vypálen unikátní a zároveň tajný RSA klíč, umožňuje tak autentizaci platformy. Například může být využíván k ověření, zda systém žádající o přístup je očekávaný systém.

Obecně platí, že posunování zabezpečení dolů k hardwarové vrstvě ve spojení se softwarem poskytuje větší ochranu, než jen pouhé softwarové řešení. Nicméně i tam, kde je TPM používán, je klíč stále ohrožen i v době, kdy ho softwarová aplikace získává z TPM a je používán pro vykonání šifrovacích/dešifrovacích operací, jak bylo znázorněno v případě útoku při studeném startu.

TPM je občas spojeno se jménem bývalého senátora Spojených států Ernesta „Fritze“ Hollinga. Jméno „Fritzův čip“ bylo vymyšleno Rossem Andersonem, který je autor Bezpečnostního inženýrství a profesor na univerzitě v Cambridgi.

V budoucnosti může být tento koncept použit na současné čipy na základní desce v počítačích nebo do jakéhokoliv zařízení, které může být vybaveno TPM, jako třeba mobilní telefon.

Telefony s Androidem nemají TPM čip, ale architektura ARm nabízí TrustZone. Android od verze 4.3 (rok 2013, SDK18) poskytuje hardwarově podporovaný úložný prostor pro šifrovací klíče pomocí KeyChain API, které umožňuje zabránit extrakci privátního klíče. Google poskytuje pomocí Play Service rozhraní Safety Net API, které může zjistit, zda zařízení nebylo kompromitováno (nebo proveden root). Používá ho například Google Pay nebo bankovní aplikace.

Hardwarová řešení TPM jako takový je v počítači samostatný čip, což je některými bezpečnostními experty preferováno před softwarovým řešením. Od roku 2006 je mnoho nových notebooků prodáno s vestavěným TPM čipem. Na PC se používá sběrnice LPC (Low Pin Count). Mikro ovladače TPM jsou v současné době vyráběny těmito společnostmi: Microchip (dříve Atmel), Broadcom, Infineon, Sinosun, STMicroelectronics, Nuvoton (dříve Winbond), ITE, Toshiba, Intel.

Softwarová řešení Firma Intel vytvořila svoji vlastní implementaci TPM nazvanou PTT (Platform Trust Technology) jako součást firmware procesorů Haswell (tj. od 4. generace z roku 2013), firma AMD má totéž počínaje mikroarchitekturou AMD Zen pod názvem fTPM (v prodeji od roku 2017). Ve starších počítačích je nutné TPM povolit v nastavení BIOS Setup (resp. nastavení UEFI) počítače. Microsoft používá od roku 2020 čip Pluton ve svých produktech Xbox One and Azure Sphere,https://techxplore.com/news/2020-11-microsoft-teams-chip-makers-super.html - Microsoft teams with chip makers on new super secure processor který bude implementován do 12. generace procesorů Intel, avšak jeho použití bylo některými výrobci počítačů (Dell) dopředu odmítnuto s odkazem na požadavky standardu NSA FIPS 140-2.

Čip fTPM od firmy AMD způsoboval zasekávání počítače, kvůli čemuž byl uživateli v nastavení BIOSu (Setup) vypínán, přičemž oprava vyžaduje instalaci nové verze BIOSu počítače, která nemusí být pro starší základní desky dostupná.

VirtualBox 7.0 vydaný 10. října 2022 přinesl pro virtuální počítače podporu TPM společně s podporou Secure bootu.

Použití

Integrita platformy Hlavní účel TPM (ve spojení s dalšími TCG implementacemi) je zajistit integritu platformy. Integrita zde znamená „pracovat dle očekávání“ a platforma je obecně jakákoliv počítačová platforma (není omezena pouze na PC nebo Windows). Je-li systém zapnut a spuštěn za ověřitelných podmínek, lze jeho důvěryhodnost dále přenášet na spouštěný operační systém a následně i na spouštěné aplikace.

Společně s BIOSem tvoří TPM tzv. Root of Trust: TPM obsahuje několik PCR (nastavovací registry platformy), které umožňují bezpečné uložení a nahlašování bezpečnostních metrik. Tyto matrice mohou být použity na odhalení změn v předchozích nastaveních a odvodit z nich jak pokračovat dál. Dobrý příklad může být nalezen v Microsoft's BitLocker Drive Encryption (viz níže).

Proto mají BIOS a operační systém hlavní zodpovědnost na využití TPM k zajištění integrity platformy. Pouze tehdy mohou uživatelé a aplikace běžící na takovéto platformě spoléhat na své bezpečnostní charakteristiky. Například bezpečný vstup/výstup, tj. zaručení že „co vidíš, to dostaneš“, zabezpečený vstup z klávesnice (na úrovni systému nedochází k monitorování vstupů) a operace s pamětí a daty.

Mezi praktické příklady využití principu Root of Trust patří autentizace/identifikace zařízení v rámci IEEE 802.1X například v systémech Network Access Control (NAC) a ohlašování změn či identifikace přítomnosti perzistentní hrozby (rootkit) ve spouštěcí sekvenci zařízení (BIOS, zavaděče systému).

Identifikace zařízení TPM čip umožňuje jednoznačnou identifikaci zařízení tím, že ve výrobě jsou do něj umístěny klíče asymetrické šifry (Endorsement Key, EK), přičemž privátní klíč je v TPM uložen tak, že ho nelze zkopírovat mimo čip. To lze využít pro zabránění únosu spojení, čehož využívají například bankovní aplikace v mobilních telefonech. Jakmile uživatel autorizuje zařízení pro přístup k bankovnímu účtu, může banka zajistit, že nepřijme pokyny ze žádného jiného zařízení, což může následně i prokázat (například u soudu, když by klient rozporoval, že bankovní operaci neprovedl). Stejného užití je možné dosáhnout na PC, pokud je vybaveno TPM čipem (pro webové aplikace existují knihovny pro JavaScript).

Unikátní identifikační klíč uložený v TPM lze použít pro propojení GDID (Global Device ID) s konkrétním fyzickým počítačem a dále i s uživatelem VPN.

Šifrování disku Aplikace pro úplné šifrování disku (jako například BitLocker Drive Encryption obsažená v operačních systémech Windows Vista Ultimate, Windows Vista Enterprise, Windows Server 2008, Windows 7 Enterprise a Windows 7 Ultimate od Microsoftu) používají TPM ke chránění klíčů používaných k zašifrování pevných disků v počítači a poskytují ověření integrity pro důvěryhodný postup zavádění systému (například BIOS, MBR/GPT, boot sektor, jádro systému, ovladače atd.).

Mnoho produktů třetích stran zajišťujících plné šifrování disku nevyužívá TPM čip jako kryptoprocesor, ale ponechává kryptografické operace na CPU. Použití TPM jako kryptoprocesoru vyžaduje aktivaci čipu prostřednictvím BIOS (lze i vzdáleně pomocí WMI) s čímž si prozatím žádný z výrobců SW šifrovacích systémů neporadil (pravděpodobně jde i o výkonnost zvoleného řešení).

Dvoufaktorová autentizace TPM umožňuje v kombinaci s technologií VSC (Virtual Smart Card) bezpečné přihlašování uživatele k zařízení pomocí vícefázového ověření, tj. princip něco znám (PIN) a něco mám (počítač) bez nutnosti vlastnit externí autentizační prvek (Smart Card nebo USB token). V tomto případě nahrazuje vlastní počítač (resp. obsažený TPM čip) externí autentizátor a zajišťuje nemožnost přenosu autentizačního prostředku do jiného zařízení. Virtual Smart Card může být používána ve dvou variantách:

samostatně (bez TPM čipu) – vhodná pro aplikační vývoj