Trusted Platform Module

zabezpečení šifrovacích klíčů v počítači

Trusted Platform Module (zkratka TPM, též ISO/IEC 11889) je ve výpočetní technice standard kryptoprocesoru sloužícího pro zabezpečení hardware počítače pomocí interně uložených chráněný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čů. Firma Apple má v počítačích T2 čip, což vlastní implementace TPM.[1][2] V mikroprocesorech pro osobní počítače PC je softwarová implementace TPM přítomná od roku 2013 (některé procesory Intel)[3] a 2017 (procesory Intel 8. generace,[4] Ryzen procesory AMD[5]). Specifikace TPM 2.0 revize 1.59 byla zveřejněna 1. listopadu 2019 jako ISO/IEC 11889:2015.[6]

Interní komponenty 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í editovat

TPM je v počítači používáno pro jednoznačnou identifikaci zařízení, správu a vynucení DRM (digital rights management) a softwarových licencí,[7] ochraně dat šifrováním, Microsoft Defender, zabránění podvádění v online hrách (anglicky cheating),[8] ochraně počítače přístupovým heslem (zamknutí počítače) atp. Mnoho aplikací TPM čip vyžaduje.[9] Od července 2016 vyžaduje firma Microsoft, aby nové počítače prodávané s jakoukoliv verzí Microsoft Windows podporovaly TPM.[1] Systém Windows 11 vyžaduje přítomnost TPM 2.0 v počítači, podle firmy Microsoft má zabránit útokům na firmware počítače a napadením ransomwarem.[10]

Historie editovat

TPM je specializovaný kryptoprocesor, jehož specifikaci vytvořila Trusted Computing Group (TCG). Verze TPM 1.2 byla přijata v roce 2009 jako mezinárodní standard ISO/IEC 11889:2009.[11] Finalizace standardu TPM 1.2 (TPM Main Specification Version 1.2) byla dokončena v roce 2011.[12][13]

Nová hlavní verze TPM 2.0 byla oznámena 9. dubna 2014 pod názvem TPM Library Specification 2.0.[14] 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[15] 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 editovat

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 a nebo se jedná o jiný důvěryhodný klíč, který z něho vychází.[16]
  • 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).[17]

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.[18]

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.[19]

Hardwarová řešení editovat

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í editovat

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).[20][21] Ve starších počítačích je nutné TPM povolit v nastavení BIOS Setup (resp. nastavení UEFI) počítače.[22] Microsoft používá od roku 2020 čip Pluton[23] ve svých produktech Xbox One and Azure Sphere,[24] který bude implementován do 12. generace procesorů Intel,[25] 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.[25][26]

Č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á.[27]

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

Použití editovat

Integrita platformy editovat

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í editovat

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, 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).

Šifrování disku editovat

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 editovat

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
  • v kombinaci s TPM čipem, který zajišťuje bezpečné úložiště pro uživatelskou elektronickou identitu

Technologie VSC je nativní součástí operačního systému Windows 8.1. Pro ostatní platformy je ale k dispozici v některých aplikacích spravujících funkce modulu TPM.

Ochrana hesla editovat

Přístup ke klíčům, datům nebo systému je často chráněn pomocí hesla. Pokud je ověřovací mechanismus implementován pouze v softwaru, přístup je náchylný ke slovníkovým útokům. Protože je TPM implementován v jednoúčelovém hardwarovém modulu, tak byl vytvořen mechanismus zabraňující slovníkovým útokům, který efektivně zabraňuje hádání hesla a automatizovaným slovníkovým útokům, zatímco umožňuje uživateli dostatečně vysoký počet pokusů. S touto hardwarově založenou ochranou před slovníkovým útokem může uživatel volit kratší nebo slabší hesla, která se lépe pamatují. Bez této úrovně ochrany nabízí dostatečnou ochranu pouze hesla s velkou složitostí.

Další použití editovat

Prakticky každá aplikace povolující šifrování může teoreticky využít TPM. Například:

Existují i další použití, z nichž některé dávají vzniknout obavám o soukromí. Vlastnost TPM „fyzická přítomnost“ je zacílená na některé z těchto obav tím, že vyžaduje potvrzení na úrovni BIOSu pro operace jako třeba aktivování, deaktivování, mazání nebo měnění vlastnictví TPM někým, kdo je fyzicky přítomen u konzole stroje.

Kritika editovat

Tvůrci tohoto návrhu z Trusted Computing Group naráželi na odpor v některých oblastí implementace této technologie. Obzvlášť na akademické půdě, kde někteří autoři viděli možné použití této technologie, které nebylo zamýšleno a zvedá obavy o soukromí. Mezi obavy patří zneužití dálkového ověření softwaru (kde by výrobce – ne uživatel, který počítačový systém vlastní – rozhodoval, který software bude povolen) a možné cesty jak sledovat akce prováděné uživatelem zaznamenáváním jeho činnosti do databáze.

Některé TPM ale generují slabé klíče, které lze prolomit.[29] Bruce Schneier uvádí, že otázkou zůstává, zda BitLocker není úmyslně oslaben (zadní vrátka), když se do TPM mohou ukládat klíče v otevřené formě.[30]

Země, kde nelze TPM legálně použít editovat

Vlády některých států zakazují na svém území šifrovací technologie, aby omezily svobodu a zajistily si větší kontrolu nad obyvateli.[31][32][33] TPM čipy jsou označovány za zahraniční technologii, která může ohrozit jejich národní bezpečnost, což je případ Číny[34][35] a Ruska.[35] Do některých zemí je naopak vývoz šifrovacích technologií zakázán (například Severní Korea). Omezení pro použití TPM platí pro Bělorusko, Kazachstán a další státy. Firma Microsoft může pro tyto země poskytovat instalační obrazy Windows 11, které TPM čip nevyžadují.[36]

Reference editovat

V tomto článku byl použit překlad textu z článku Trusted Platform Module na anglické Wikipedii.

  1. a b BRANT, Tom. What Is a TPM, and Why Do I Need One for Windows 11?. PCMAG [online]. 2022-09-24 [cit. 2022-10-07]. Dostupné online. (anglicky) 
  2. Apple T2 Security Chip [online]. Apple, 2018-10-25 [cit. 2022-10-07]. Dostupné online. 
  3. Windows processor requirements Windows 11 supported Intel processors. learn.microsoft.com [online]. Microsoft, 2023-05-25 [cit. 2023-07-01]. Dostupné online. (anglicky) 
  4. What Is a Trusted Platform Module (TPM) Intel. www.intel.com [online]. Intel [cit. 2023-07-01]. Dostupné online. (anglicky) 
  5. Windows processor requirements Windows 11 supported AMD processors. learn.microsoft.com [online]. Microsoft, 2023-05-25 [cit. 2023-07-01]. Dostupné online. (anglicky) 
  6. Trusted Platform Module (TPM) Specifications [online]. Trusted Computing Group. Dostupné online. (anglicky) 
  7. Use network protection to help prevent connections to bad sites [online]. Dostupné online. (anglicky) 
  8. STANTON, Rich. Valorant leads the charge on enforcing Windows TPM to perma-ban cheaters' hardware [online]. September 7, 2021. Dostupné online. (anglicky) 
  9. ARTHUR, Will; CHALLENER, David; GOLDMAN, Kenneth. Existing Applications That Use TPMs. Příprava vydání Will Arthur, David Challener, Kenneth Goldman. Berkeley, CA: Apress, 2015. Dostupné online. ISBN 978-1-4302-6584-9. DOI 10.1007/978-1-4302-6584-9_4. S. 39–50. (anglicky) DOI: 10.1007/978-1-4302-6584-9_4. 
  10. WARREN, Tom. Why Windows 11 is forcing everyone to use TPM chips [online]. 2021-06-25 [cit. 2021-11-13]. Dostupné online. (anglicky) 
  11. ISO/IEC 11889-1:2009 – Information technology – Trusted Platform Module – Part 1: Overview [online]. International Organization for Standardization, May 2009 [cit. 2013-11-30]. Dostupné v archivu pořízeném z originálu dne January 28, 2017. (anglicky) 
  12. TPM 1.2 Main Specification [online]. [cit. 2021-11-08]. Dostupné online. (anglicky) 
  13. Trusted Platform Module (TPM) Specifications [online]. Trusted Computing Group, March 1, 2011 [cit. 2016-10-30]. Dostupné v archivu pořízeném z originálu dne October 22, 2017. (anglicky) 
  14. Trusted Computing Group Releases TPM 2.0 Specification for Improved Platform and Device Security [online]. 2014-04-01 [cit. 2021-11-08]. Dostupné online. (anglicky) 
  15. TPM Library Specification 2.0 [online]. Trusted Computing Group [cit. 2016-10-30]. Dostupné v archivu pořízeném z originálu dne October 29, 2016. (anglicky) 
  16. tspi_data_bind(3) - Encrypts data blob [online]. Trusted Computing Group [cit. 2009-10-27]. Dostupné online. (anglicky) 
  17. TPM Main Specification Level 2 Version 1.2, Revision 116 Part 3 - Commands [online]. Trusted Computing Group [cit. 2011-06-22]. Dostupné online. (anglicky) 
  18. ANDERSON, Ross. Trusted Computing FAQ [online]. Cambridge University, 2003-08 [cit. 2008-06-28]. Dostupné online. (anglicky) 
  19. Is there any mechanism available in Android platform for remote attestation?. Stack Exchange [online]. Information Security, 2019-01-23 [cit. 2023-03-04]. Dostupné online. (anglicky) 
  20. MCKALIN, Vamien. TPM vs PTT: What are the main differences between these technologies? [online]. The Windows Club, 2021-08-09 [cit. 2022-10-07]. Dostupné online. (anglicky) 
  21. PAUL, Aaron. What is AMD CPU fTPM? Everything You Need to Know. EaseUS [online]. 2022-08-24 [cit. 2022-10-09]. Dostupné online. (anglicky) 
  22. Enable TPM 2.0 on your PC. support.microsoft.com [online]. Microsoft, 2021-08-01 [cit. 2022-10-07]. Dostupné online. 
  23. PAMNANI, Vinay. Microsoft Pluton security processor - Windows security. learn.microsoft.com [online]. Microsoft, 2022-09-21 [cit. 2022-10-09]. Dostupné online. (anglicky) 
  24. https://techxplore.com/news/2020-11-microsoft-teams-chip-makers-super.html - Microsoft teams with chip makers on new super secure processor
  25. a b HARDING, Scharon. Microsoft Pluton doesn’t “align” with Dell’s hardware security strategy. Ars Technica [online]. 2022-03-11 [cit. 2022-10-09]. Dostupné online. (anglicky) 
  26. Security Requirements for Cryptographic Modules. [s.l.]: NSA, 2001-05-25. Dostupné online. (anglicky) DOI: 10.6028/NIST.FIPS.140-2. 
  27. VÍTEK, Jan. AMD se konečně vyjádřilo k sekajícím se Windows vlivem fTPM, je tu oprava. Svethardware.cz [online]. oXyShop, 2022-03-08 [cit. 2022-10-09]. Dostupné online. 
  28. Changelog-7.0 [online]. [cit. 2022-10-11]. Dostupné online. (anglicky) 
  29. https://arstechnica.com/information-technology/2017/10/crypto-failure-cripples-millions-of-high-security-keys-750k-estonian-ids/ - Millions of high-security crypto keys crippled by newly discovered flaw
  30. https://www.schneier.com/blog/archives/2015/03/can_the_nsa_bre_1.html - Can the NSA Break Microsoft's BitLocker?
  31. World map of encryption laws and policies | Global Partners Digital [online]. [cit. 2022-10-09]. Dostupné online. (anglicky) 
  32. ROTENBERG, Marc. CRYPTOGRAPHY AND LIBERTY. gilc.org [online]. Electronic Privacy Information Center, 1999 [cit. 2022-10-09]. Dostupné online. 
  33. Cryptography and Liberty 2000. web.stanford.edu [online]. 2000 [cit. 2022-10-09]. Dostupné online. 
  34. CARNEVALE, Robert. China can't run Windows 11 because foreign TPM chips are banned. Windows Central [online]. 2021-10-05 [cit. 2022-10-09]. Dostupné online. (anglicky) 
  35. a b In China And Russia They Cannot Install Windows 11 Because Their Governments Vetoed The TPM Chip Of The Processors | Technology - Bullfrag [online]. 2021-10-11 [cit. 2022-10-09]. Dostupné online. (anglicky) 
  36. TORRES, J. C. Windows 11 TPM 2.0 Requirement Has A Special Exception. SlashGear.com [online]. 2021-06-27 [cit. 2022-10-09]. Dostupné online. (anglicky) 

Související články editovat

Externí odkazy editovat