Modul důvěryhodné platformy - Trusted Platform Module

Modul důvěryhodné platformy
Postavení Zveřejněno
Rok začal 2009 ; Před 12 lety ( 2009 )
Nejnovější verze ISO / IEC 11889: 2015
2015 ; před 6 lety ( 2015 )
Organizace Trusted Computing Group , ISO/IEC JTC 1
Doména Zabezpečený kryptoprocesor
Zkratka TPM
webová stránka ISO/IEC 11889-1: 2015 , ISO/IEC 11889-2: 2015 , ISO/IEC 11889-3: 2015 , ISO/IEC 11889-4: 2015
Součásti modulu Trusted Platform Module splňující standard TPM verze 1.2

Trusted Platform Module ( TPM , také známý jako ISO/IEC 11889 ) je mezinárodní standard pro zabezpečený kryptoprocesor , vyhrazený mikrokontrolér určený k zabezpečení hardwaru pomocí integrovaných kryptografických klíčů. Termín může také odkazovat na čip vyhovující normě.

Dějiny

Trusted Platform Module (TPM) byl koncipován konsorciem počítačového průmyslu s názvem Trusted Computing Group (TCG) a byl standardizován Mezinárodní organizací pro normalizaci (ISO) a Mezinárodní elektrotechnickou komisí (IEC) v roce 2009 jako ISO/IEC 11889.

Po vydání nové revize ji Trusted Computing Group rozdělí na 3 části. Každá část obsahuje soubor PDF, který tvoří celou novou specifikaci TPM.

  • Část 1 - Zásady návrhu
  • Část 2 - Struktury TPM
  • Část 3 - Příkazy

TCG pokračuje v revizi specifikací TPM tak, aby odpovídaly aktuálním potřebám. Verze 1.2 hlavní specifikace TPM byla dokončena 3. března 2011 a dokončila se její revize. Společnost TCG poté vydala specifikaci knihovny TPM 2.0 , přičemž její nejnovější vydání vyšlo v roce 2019.

Přehled

Modul Trusted Platform Module poskytuje

  • Hardwarový generátor náhodných čísel
  • Zařízení pro bezpečné generování kryptografických klíčů pro omezené použití.
  • Vzdálená atestace : Vytvoří téměř neodpustitelný souhrn klíčů hash konfigurace hardwaru a softwaru. Rozsah shrnutí určuje software odpovědný za hašování konfiguračních dat. To umožňuje třetí straně ověřit, zda nebyl software změněn.
  • Vazba: Šifruje data pomocí klíče vazby TPM, jedinečného klíče RSA pocházejícího z klíče úložiště.
  • Pečetění : Podobně jako u vazby, ale navíc určuje stav TPM pro data, která mají být dešifrována (neuzavřená).
  • Další funkce Trusted Computing pro data, která mají být dešifrována (neuzavřená).

Počítačové programy mohou používat TPM k ověřování hardwarových zařízení, protože každý čip TPM má při výrobě vypálený jedinečný a tajný potvrzovací klíč (EK). Zabezpečení zabudované v hardwaru poskytuje větší ochranu než řešení pouze pro software.

Využití

United States Department of Defense (DoD), upřesňuje, že „nové počítačové aktiva (např, server, desktop, laptop, tenký klient, tablet, smartphone, osobní digitální asistent, mobilní telefon), pořízeného na podporu DoD bude obsahovat verzi TPM 1.2 nebo vyšší tam, kde to vyžaduje Bezpečnostní technická implementační příručka (STIG) Agentury pro obranné informační systémy (DISA ) a kde je taková technologie k dispozici. “ DoD předpokládá, že TPM bude použit pro identifikaci zařízení, autentizaci, šifrování a ověření integrity zařízení.

Integrita platformy

Primárním rozsahem TPM je zajistit integritu platformy. V tomto kontextu „integrita“ znamená „chovat se podle plánu“ a „platforma“ je jakékoli počítačové zařízení bez ohledu na jeho operační systém . To má zajistit, že spouštěcí proces začíná od důvěryhodného kombinace hardwaru a softwaru, a pokračuje, dokud operační systém plně zaveden a aplikace jsou spuštěny.

Při použití modulu TPM je za zajištění integrity zodpovědný firmware a operační systém.

Například rozhraní Unified Extensible Firmware Interface (UEFI) může pomocí TPM vytvářet kořen důvěryhodnosti : TPM obsahuje několik registrů konfigurace platformy (PCR), které umožňují bezpečné ukládání a vykazování metrik relevantních pro zabezpečení. Tyto metriky lze použít ke zjištění změn předchozích konfigurací a rozhodnutí, jak pokračovat. Dobré příklady lze nalézt v systému Linux Unified Key Setup (LUKS), BitLocker a PrivateCore šifrování paměti vCage. (Viz. níže.)

Dalším příkladem integrity platformy prostřednictvím TPM je použití licencování Microsoft Office 365 a Outlook Exchange.

Příkladem použití TPM pro integritu platformy je Trusted Execution Technology (TXT), která vytváří řetězec důvěry. Dálkově by to mohlo potvrdit, že počítač používá určený hardware a software.

Šifrování disku

Nástroje pro šifrování celého disku , jako jsou dm-crypt a BitLocker , mohou tuto technologii použít k ochraně klíčů používaných k šifrování úložných zařízení počítače a zajištění autentizace integrity pro důvěryhodnou zaváděcí cestu, která zahrnuje firmware a zaváděcí sektor .

Další použití a starosti

Jakákoli aplikace může používat čip TPM pro:

Existují i ​​jiná použití, z nichž některá vyvolávají obavy o soukromí . Funkce „fyzické přítomnosti“ TPM řeší některé z těchto problémů tím, že vyžaduje potvrzení na úrovni systému BIOS pro operace, jako je aktivace, deaktivace, vymazání nebo změna vlastnictví TPM někým, kdo je fyzicky přítomen na konzole počítače.

Implementace TPM

Modul Trusted Platform Module nainstalovaný na základní desce
Referenční implementace TPM 2.0
Vývojáři Microsoft
Úložiště github .com /Microsoft /ms-tpm-20-ref
Napsáno C , C ++
Typ Implementace TPM
Licence Licence BSD
webová stránka důvěryhodná výpočetní skupina .org /tpm-knihovna-specifikace

V roce 2006 se začaly prodávat nové notebooky s integrovaným čipem TPM. V budoucnu by tento koncept mohl být umístěn na stávajícím čipu základní desky v počítačích nebo jiném zařízení, kde by bylo možné použít zařízení TPM, jako je například mobilní telefon . Na PC se k připojení k čipu TPM používá buď sběrnice LPC, nebo sběrnice SPI .

Trusted Computing Group (TCG) certifikovala čipy TPM vyráběné společnostmi Infineon Technologies , Nuvoton a STMicroelectronics , které přidělily ID dodavatelů TPM společnostem Advanced Micro Devices , Atmel , Broadcom , IBM , Infineon, Intel , Lenovo , National Semiconductor , Nationz Technologies, Nuvoton , Qualcomm , Rockchip , Standard Microsystems Corporation , STMicroelectronics, Samsung , Sinosun, Texas Instruments a Winbond .

Existuje pět různých typů implementací TPM 2.0 (seřazených od nejvíce po nejméně zabezpečené):

  • Diskrétní TPM jsou vyhrazené čipy, které implementují funkce TPM do vlastního polovodičového obalu odolného proti neoprávněné manipulaci. Jsou teoreticky nejbezpečnějším typem TPM, protože rutiny implementované v hardwaru by měly být odolnější vůči chybám než rutiny implementované v softwaru a jejich balíčky jsou vyžadovány k implementaci určité odolnosti proti neoprávněné manipulaci.
  • Integrované moduly TPM jsou součástí jiného čipu. I když používají hardware, který odolává softwarovým chybám, nejsou povinni implementovat odolnost proti neoprávněné manipulaci. Intel integroval TPM do některých svých čipových sad .
  • Firmware TPM (fTPM) jsou řešení založená na firmwaru (např. UEFI ), která běží v prostředí důvěryhodného spouštění CPU . Intel, AMD a Qualcomm implementovaly firmware TPM.
  • Hypervisor TPM (vTPMs) jsou virtuální TPM, které poskytují a spoléhají na hypervizory , v izolovaném prováděcím prostředí, které je skryto před softwarem běžícím ve virtuálních počítačích, aby zajistily svůj kód před softwarem ve virtuálních počítačích. Mohou poskytovat úroveň zabezpečení srovnatelnou s firmwarem TPM.
  • Softwarové moduly TPM jsou softwarové emulátory modulů TPM, které běží bez ochrany, než jakou běžný program získává v operačním systému. Závisí zcela na prostředí, ve kterém běží, takže neposkytují větší zabezpečení, než jaké může poskytovat běžné prostředí pro provádění, a jsou zranitelné vůči svým vlastním softwarovým chybám a útokům, které pronikají do běžného prostředí pro provádění. Jsou užitečné pro vývojové účely.

Oficiální referenční implementace TCG specifikace TPM 2.0 byla vyvinuta společností Microsoft . Je licencován pod licencí BSD a zdrojový kód je k dispozici na GitHub . Microsoft představuje Visual Studio řešení a Linux autotools stavět skripty.

V roce 2018 společnost Intel otevřela svůj balíček softwaru Trusted Platform Module 2.0 (TPM2) s podporou Linuxu a Microsoft Windows. Zdrojový kód je hostován na GitHub a licencován pod licencí BSD .

Infineon financoval vývoj open source middlewaru TPM, který odpovídá specifikaci TCG Software Stack (TSS) Enhanced System API (ESAPI). Byl vyvinut Fraunhoferovým institutem pro zabezpečené informační technologie (SIT).

Software IBM TPM 2.0 je implementací specifikace TCG TPM 2.0. Je založen na specifikaci TPM části 3 a 4 a zdrojovém kódu darovaném společností Microsoft. Obsahuje další soubory k dokončení implementace. Zdrojový kód je umístěn na SourceForge a GitHub a licencován pod licencí BSD.

TPM 1.2 vs TPM 2.0

Přestože modul TPM 2.0 řeší mnoho stejných případů použití a má podobné funkce, podrobnosti se liší. TPM 2.0 není zpětně kompatibilní s TPM 1.2.

Specifikace TPM 1.2 TPM 2.0
Architektura Univerzální specifikace se skládá ze tří částí. Kompletní specifikace obsahuje specifickou platformu, která odkazuje na běžnou čtyřdílnou knihovnu TPM 2.0. Specifikace specifické pro platformu definují, jaké části knihovny jsou pro danou platformu povinné, volitelné nebo zakázané; a podrobně popsat další požadavky na tuto platformu. Specifikace specifické pro platformu zahrnují PC Client, mobile a Automotive-Thin.
Algoritmy SHA-1 a RSA jsou povinné. AES je volitelný. Triple DES byl kdysi volitelným algoritmem v dřívějších verzích TPM 1.2, ale v TPM 1.2 verze 94 byl zakázán. Je vyžadována funkce generování masky založené na hašování MGF1, která je definována v PKCS#1 . Specifikace profilu TPM (PTP) PC Client Platform vyžaduje pro hash SHA-1 a SHA-256 ; RSA , ECC pomocí 256bitové křivky Barreto-Naehrig a křivky NIST P-256 pro kryptografii veřejného klíče a generování a ověřování asymetrického digitálního podpisu ; HMAC pro generování a ověřování symetrického digitálního podpisu; 128bitový AES pro algoritmus symetrických klíčů ; a funkce generování masky na bázi hash MGF1, která je definována v PKCS#1, jsou vyžadována specifikací TCG PC Client Platform TPM Profile (PTP). Je definováno také mnoho dalších algoritmů, ale jsou volitelné. Všimněte si, že Triple DES byl načten do TPM 2.0, ale s omezeními některých hodnot v jakémkoli 64bitovém bloku.
Kryptoprimitiva Je vyžadován generátor náhodných čísel , kryptografický algoritmus s veřejným klíčem , kryptografická hashovací funkce , funkce generování masky, generování a ověřování digitálního podpisu a Direct Anonymous Attestation . Algoritmy symetrických klíčů a exkluzivní nebo jsou volitelné. Vyžaduje se také generování klíče . Generátor náhodných čísel , kryptografické algoritmy veřejného klíče , kryptografické hashovací funkce , symetrický klíč algoritmy , digitální podpis generace a ověřování, funkce generace maska, exkluzivní nebo a ECC založené Direct Anonymní prokazování pomocí Barreto-Naehrig 256bitové křivkou požadované specifikací TCG PC Client Platform TPM Profile (PTP). Specifikace společné knihovny TPM 2.0 také vyžaduje funkce generování klíčů a odvozování klíčů .
Hierarchie Jeden (úložiště) Tři (platforma, úložiště a doporučení)
Kořenové klíče Jeden (SRK RSA-2048) Více klíčů a algoritmů na hierarchii
Oprávnění HMAC , PCR, lokalita, fyzická přítomnost Heslo, HMAC a zásady (které pokrývají HMAC, PCR, lokalitu a fyzickou přítomnost).
NVRAM Nestrukturovaná data Nestrukturovaná data, čítač, bitmapa, rozšíření, PIN procházejí a selhávají

Autorizace zásad TPM 2.0 zahrnuje 1,2 HMAC, lokalitu, fyzickou přítomnost a PCR. Přidává autorizaci na základě asymetrického digitálního podpisu, přesměrování na jiný autorizační tajemství, čítače a časové limity, hodnoty NVRAM, konkrétní příkaz nebo parametry příkazu a fyzickou přítomnost. Umožňuje ANDing a ORing těchto autorizačních primitiv vytvářet komplexní autorizační politiky.

Recepce

TCG se potýká s odporem vůči nasazení této technologie v některých oblastech, kde někteří autoři vidí možná použití, která se netýkají konkrétně Trusted Computing , což může vyvolávat obavy o soukromí. Mezi obavy patří zneužití vzdálené validace softwaru (kde výrobce ‍ a ne uživatel, který vlastní počítačový systém ‍ ‌ rozhoduje o tom, jaký software je povoleno spouštět) a možné způsoby, jak sledovat akce provedené uživatelem zaznamenaným v databázi, v způsobem, který je pro uživatele zcela nezjistitelný.

Nástroj pro šifrování disku TrueCrypt nepodporuje TPM. Původní vývojáři TrueCrypt zastávali názor, že výhradním účelem modulu TPM je „chránit před útoky, které vyžadují, aby měl útočník oprávnění správce nebo fyzický přístup k počítači“. Útočník, který má fyzický nebo administrativní přístup k počítači, může obejít modul TPM, například instalací hardwarového záznamníku úhozů , resetováním TPM nebo zachycením obsahu paměti a načtením klíčů vydaných TPM. Odsuzující text jako takový jde tak daleko, že tvrdí, že TPM je zcela nadbytečný.

V roce 2015 Richard Stallman uvedl, že „existují důvody domnívat se, že nebude možné používat [TPM] pro DRM“. Technologii TPM také nazval „zrádným výpočtem“ a tvrdil, že uživatele vystaví „retroaktivnímu [vymazání] dat ve stylu 1984“.

Útoky

V roce 2010 představil Christopher Tarnovsky útok proti TPM na Black Hat Briefings , kde tvrdil, že dokáže vytěžit tajemství z jednoho TPM. Dokázal to po 6 měsících práce vložením sondy a špehováním interní sběrnice pro Infineon SLE 66 CL PC.

V roce 2015, v rámci odhalení Snowdena , vyšlo najevo, že v roce 2010 tým americké CIA na interní konferenci tvrdil, že provedl útok na analýzu rozdílové síly proti TPM, které dokázaly extrahovat tajemství.

V roce 2018 byla oznámena konstrukční chyba ve specifikaci TPM 2.0 pro statický kořen důvěryhodnosti pro měření (SRTM) ( CVE - 2018-6622 ). Umožňuje protivníkovi resetovat a zformovat konfigurační registry platformy, které jsou navrženy tak, aby bezpečně uchovávaly měření softwaru používaného pro bootstrapping počítače. Oprava vyžaduje hardwarově specifické záplaty firmwaru. Útočník zneužívá přerušení napájení a obnovuje se stav TPM, aby přiměl TPM k domněnce, že běží na nezměněných součástech.

Hlavní distribuce Trusted Boot (tboot) před listopadem 2017 jsou ovlivněny útokem CVE - 2017-16837 s dynamickým kořenem důvěryhodnosti pro měření (DRTM) , který ovlivňuje počítače se spuštěnou rutinou Intel Trusted eXecution Technology (TXT) .

V případě fyzického přístupu jsou počítače s TPM náchylné k útokům za studena, pokud je systém zapnutý nebo je lze zavést bez hesla z vypnutí nebo hibernace , což je výchozí nastavení pro počítače se systémem Windows s šifrováním celého disku BitLocker.

V roce 2021 skupina Dolos vykazovala útok na diskrétní TPM, kde samotný čip TPM měl určitý odpor proti neoprávněné manipulaci, ale ostatní koncové body jeho komunikační sběrnice nikoli. Při přenosu přes základní desku přečetli šifrovací klíč celého disku a použili ho k dešifrování SSD notebooku.

2017 kontroverze generace slabých klíčů

V říjnu 2017 bylo oznámeno, že knihovna kódů vyvinutá společností Infineon , která byla v TPM široce používána, obsahuje zranitelnost, známou jako ROCA, která generovala slabé páry klíčů RSA, které umožňovaly odvozování soukromých klíčů z veřejných klíčů . Výsledkem je, že všechny systémy závislé na soukromí těchto slabých klíčů jsou náchylné ke kompromitaci, jako je krádež identity nebo podvržení.

Kryptosystémy, které ukládají šifrovací klíče přímo v TPM bez zaslepení, by mohly být pro tyto typy útoků obzvláště rizikové, protože hesla a další faktory by neměly smysl, pokud by útoky mohly extrahovat šifrovací tajemství.

Infineon vydal aktualizace firmwaru pro své moduly TPM výrobcům, kteří je používali.

Dostupnost

V současné době modul TPM používají téměř všichni výrobci počítačů a notebooků.

TPM

Modul TPM implementuje několik prodejců:

  • Infineon poskytuje jak čipy TPM, tak software TPM, které jsou dodávány jako verze OEM s novými počítači, a také samostatně od Infineon pro produkty s technologií TPM, které splňují standardy TCG. Například Infineon v roce 2004 licencoval software pro správu TPM společnosti Broadcom Corp.
  • Microchip (dříve Atmel) vyrábí zařízení TPM, o kterých tvrdí, že jsou v souladu se specifikací Trusted Platform Module verze 1.2 revize 116 a nabízena s několika rozhraními (LPC, SPI a I2C), režimy (certifikace FIPS 140-2 a standardní režim), teplotní třídy (komerční a průmyslové) a balíčky (TSSOP a QFN). Jejich TPM podporují počítače a vestavěná zařízení. Poskytují také vývojové kity TPM na podporu integrace jeho zařízení TPM do různých vestavěných návrhů.
  • Nuvoton Technology Corporation poskytuje zařízení TPM pro počítačové aplikace. Nuvoton také poskytuje zařízení TPM pro vestavěné systémy a aplikace internetu věcí (IoT) prostřednictvím hostitelských rozhraní I2C a SPI. Nuvoton TPM vyhovuje společným kritériím (CC) s úrovní zabezpečení EAL 4 rozšířenou o ALC_FLR.1, AVA_VAN.4 a ALC_DVS.2, FIPS 140-2 úroveň 2 s fyzickým zabezpečením a úrovní EMI/EMC 3 a požadavky na shodu Trusted Computing Group , vše podporováno v rámci jednoho zařízení.
  • Společnost STMicroelectronics poskytuje TPM pro platformy PC a vestavěné systémy od roku 2005. Nabídka produktů zahrnuje diskrétní zařízení s několika rozhraními podporujícími Serial Peripheral Interface (SPI) a I²C a různé kvalifikační stupně (spotřebitelský, průmyslový a automobilový). Produkty TPM mají certifikaci EAL4+ s certifikací Common Criteria (CC) doplněnou o ALC_FLR.1 a AVA_VAN.5, certifikaci FIPS 140-2 úrovně 2 s fyzickou úrovní zabezpečení 3 a také certifikaci Trusted Computing Group (TCG).

Existují také hybridní typy; například modul TPM lze integrovat do řadiče Ethernet , čímž odpadá potřeba samostatné součásti základní desky.

Field Upgrade

Field Upgrade je termín TCG pro aktualizaci firmwaru TPM. Aktualizace může probíhat mezi TPM 1.2 a TPM 2.0 nebo mezi verzemi firmwaru. Někteří prodejci omezují počet přechodů mezi 1,2 a 2,0 a někteří omezují návrat k předchozím verzím. OEM výrobci platforem, jako je HP, dodávají nástroj pro upgrade.

Virtuální TPM

  • Google Compute Engine nabízí virtualizované TPM (vTPM) jako součást produktu Google Cloud Shielded VMs.
  • Knihovna libtpms poskytuje softwarovou emulaci modulu Trusted Platform Module (TPM 1.2 a TPM 2.0). Zaměřuje se na integraci funkcí TPM do hypervisorů, primárně do Qemu.

Operační systémy

  • Windows 11 vyžaduje jako minimální požadavek na systém podporu TPM 2.0. Na mnoha systémech je modul TPM ve výchozím nastavení zakázán, což vyžaduje povolení nastavení v UEFI počítače.
  • Modul Trusted Platform Module 2.0 (TPM 2.0) podporuje jádro Linuxu od verze 3.20.

Platformy

  • Google zahrnuje TPM do Chromebooků jako součást svého modelu zabezpečení.
  • Oracle dodává TPM ve svých systémech řady X a T, jako jsou servery řady T3 nebo T4. V systému Solaris 11 je zahrnuta podpora .
  • V roce 2006, se zavedením prvních modelů Macintosh s procesory Intel, začala společnost Apple dodávat počítače Mac s TPM. Apple nikdy neposkytl oficiální ovladač, ale byl k dispozici port pod GPL . Společnost Apple nedodává počítač s čipem TPM od roku 2006.
  • V roce 2011 uvedl tchajwanský výrobce MSI svůj tablet Windpad 110W s procesorem AMD a modulem Infineon Security Platform TPM, který je dodáván s ovládacím softwarem verze 3.7. Čip je ve výchozím nastavení zakázán, ale lze jej povolit pomocí dodaného předinstalovaného softwaru.

Virtualizace

  • Hypervisor VMware ESXi podporuje TPM od 4.x a od 5.0 je ve výchozím nastavení povolen.
  • Xen hypervisor má podporu virtualizovaných TPM. Každý host dostane svůj vlastní jedinečný, emulovaný, softwarový TPM.
  • KVM v kombinaci s QEMU má podporu virtualizovaných TPM. Od roku 2012 podporuje průchod fyzickým čipem TPM jedinému vyhrazenému hostu. QEMU 2.11 vydaný v prosinci 2017 také poskytuje emulované TPM pro hosty.

Software

  • Operační systémy Microsoft Windows Vista a novější používají čip ve spojení s součástí šifrování disku s názvem BitLocker . Společnost Microsoft oznámila, že od 1. ledna 2015 budou všechny počítače muset být vybaveny modulem TPM 2.0, aby mohly projít certifikací hardwaru Windows 8.1 . Při revizi certifikačního programu Windows v prosinci 2014 to však bylo místo toho provedeno jako volitelný požadavek. Pro připojené pohotovostní systémy je však vyžadován TPM 2.0 . Virtuální počítače běžící na Hyper-V mohou mít svůj vlastní virtuální modul TPM počínaje Windows 10 1511 a Windows Server 2016. Microsoft Windows obsahuje dva příkazy související s TPM : tpmtool , nástroj, který lze použít k načtení informací o TPM, a tpmvscmgr , nástroj příkazového řádku, který umožňuje vytvářet a mazat virtuální čipové karty TPM v počítači.

Potvrzovací klíče

Schvalovací klíče TPM (EK) jsou asymetrické páry klíčů jedinečné pro každý TPM. Používají algoritmy RSA a ECC . Výrobce čipu TPM obvykle poskytuje certifikáty schvalovacích klíčů v energeticky nezávislé paměti TPM . Certifikáty potvrzují, že modul TPM je autentický. Počínaje TPM 2.0 jsou certifikáty ve formátu X.509 .

Tito výrobci obvykle na svých webových stránkách poskytují své kořenové (a někdy i zprostředkující) certifikáty certifikační autority .

Softwarové knihovny TPM

Aby uživatel mohl využívat TPM, potřebuje softwarovou knihovnu, která komunikuje s TPM a poskytuje přátelštější API než surová komunikace TPM. V současné době existuje několik takových open-source knihoven TPM 2.0. Některé z nich také podporují TPM 1.2, ale většinou čipy TPM 1.2 jsou nyní zastaralé a moderní vývoj je zaměřen na TPM 2.0.

Knihovna TPM obvykle poskytuje API s mapováním one-to-one na příkazy TPM. Specifikace TCG nazývá tuto vrstvu System API (SAPI). Tímto způsobem má uživatel větší kontrolu nad operacemi TPM, ale složitost je vysoká. Většina knihoven proto také nabízí bohaté API pro vyvolání složitých operací TPM a skrytí části složitosti. Specifikace TCG nazývá tyto dvě vrstvy Enhanced System API (ESAPI) a Feature API (FAPI).

Aktuálně existuje pouze jeden zásobník, který se řídí specifikací TCG. Všechny ostatní dostupné open-source knihovny TPM používají vlastní formu bohatšího API.

Souhrn stávajících open-source knihoven TPM
Knihovny TPM API TPM 2.0 TPM 1.2 Atestační server nebo příklad Microsoft
Windows
Linux Holý kov
tpm2-tss SAPI, ESAPI a FAPI
ze specifikace TCG
Ano Ne Ne, ale existuje samostatný projekt* Ano Ano Možná**
ibmtss Mapování 1: 1 na příkazy TPM
+ bohaté API (mírná vrstva nahoře)
Ano Částečný Ano, „IBM ACS“ Ano Ano Ne
go-tpm Mapování 1: 1 na příkazy TPM
+ bohaté API (mírná vrstva nahoře)
Ano Částečný Ano, „Go-atestation“ Ano Ano Ne
wolfTPM Mapování 1: 1 na příkazy TPM
+ bohaté API (obaly)
Ano Ne Ano, příklady jsou uvnitř knihovny Ano Ano Ano
TSS.MSR Mapování 1: 1 na příkazy TPM
+ bohaté API (obaly)
Ano Ne Ano, příklady jsou uvnitř knihovny Ano Ano*** Ne

(*) Existuje samostatný projekt s názvem „CHARRA“ od Fraunhofera, který pro vzdálené ověřování používá knihovnu tpm2-tss. Ostatní zásobníky mají doprovodné atestační servery nebo přímo obsahují příklady pro atestaci. IBM nabízí na serveru SourceForge svůj open-source Remote Attestation Server s názvem „IBM ACS“ a Google má na GitHubu k dispozici „Go-Attestation“, zatímco „wolfTPM“ nabízí příklady času a lokálních atestací přímo ve svém open-source kódu, také na GitHubu.

(**) Existuje poznámka k aplikaci o příkladu projektu pro 32bitové SoC AURIX využívající knihovnu tpm2-tss.

(***) Ke spuštění v systému Linux vyžaduje další knihovny (dotnet).

Tyto knihovny TPM se někdy také nazývají zásobníky TPM, protože poskytují rozhraní pro vývojáře nebo uživatele k interakci s TPM. Jak je vidět z tabulky, hromádky TPM abstraktují operační systém a transportní vrstvu, takže uživatel mohl migrovat jednu aplikaci mezi platformami. Například pomocí API zásobníku TPM by uživatel komunikoval stejným způsobem s TPM, bez ohledu na to, zda je fyzický čip připojen přes rozhraní SPI, I2C nebo LPC k hostitelskému systému.

Komunita vývojářů

Rostoucí relevance počítačového zabezpečení a zejména hardwarem podporovaného zabezpečení učinila potenciální využití TPM populární mezi vývojáři a uživateli. Existuje několik vývojářských komunit, které používají TPM.

TPM.dev

Tato komunita má platformu podobnou fóru pro sdílení informací a pokládání otázek. Na platformě najdete články a videonávody od členů komunity a hostů. Každý týden probíhá pravidelný online hovor. Hlavním cílem této komunity je snížení bariéry pro přijetí TPM a stávajících softwarových knihoven TPM. Zvláštní důraz je kladen na vzdálené ověřování a důvěryhodné aplikace.

software tpm2

Tato komunita se soustředí na použití TPM s knihovnou tpm2-tss. Komunita se zabývá vývojem tohoto a dalšího softwaru souvisejícího s TPM 2.0, který lze nalézt na jejich účtu GitHub. K dispozici jsou také výukové programy a externí sekce s odkazy na konferenční rozhovory a prezentace.

IBM TSS

Nominálně řešení IBM TSS se většina diskusí týká obecnějšího vývoje aplikací.

Software IBM TPM

Většina diskusí se týká implementace softwaru TPM 2.0 od IBM a většina diskusí se týká obecnějšího vývoje aplikací.

Keylime Project

Open Source projekt, který používá TPM 2.0 pro boot a runtime ověřování počítačů a zařízení.

Seznam adresářů zabezpečení Linux

linux-integrity@vger.kernel.org je velkoobjemový seznam adresátů. Je vhodnější pro problémy s ovladači zařízení TPM než obecné otázky HOWTO.

Omezovací zákon

Čínské (v minulosti) a ruské předpisy omezují přístup k modulům TPM.

Viz také

Reference

Další čtení

  1. Vyzyvatel, David; Goldman, Kenneth; Arthur, Will (2015), A Practical Guide to TPM 2.0 (PDF) , Apress, doi : 10.1007/978-1-4302-6584-9 , ISBN 978-1-4302-6584-9, S2CID  27168869.
  2. Trusted Platform Module (TPM) (webová stránka pracovní skupiny a seznam zdrojů), Trusted Computing Group.
  3. Specifikace PC Client Platform TPM Profile (PTP) (Další specifikace TPM 2.0, jak jsou použity pro TPM pro PC klienty), Trusted Computing Group.
  4. Profil ochrany PC klienta pro TPM 2.0 ( Ochranný profil Common Criteria Protection pro TPM 2.0 aplikovaný na PC klienty), Trusted Computing Group.
  5. „OLS: Linux a důvěryhodné počítače“ , LWN.
  6. Trusted Platform Module (podcast), GRC, 24:30.
  7. Nastavení TPM (pro Mac OS X) , cesta kometou.
  8. „Zabezpečení modulu Trusted Platform Module (TPM): prohlášení na papíře Princeton 26. února“ (PDF) , Bulletin (tisková zpráva), Trusted Computing Group, únor 2008.
  9. „Převezměte kontrolu nad TCPA“ , deník Linux.
  10. TPM Reset Attack , Dartmouth.
  11. Trusted Platforms (white paper), Intel, IBM Corporation, CiteSeerX  10.1.1.161.7603.
  12. Garrett, Matthew, Krátký úvod do TPM , Dream Dream.
  13. Martin, Andrew, důvěryhodná infrastruktura „101“ (PDF) , napájecí zdroj.
  14. Používání TPM: Ověřování a ověřování strojů (PDF) , Úvod do důvěryhodných počítačů, Otevřené školení zabezpečení.
  15. Kořen důvěry v měření: Zmírnění problému ležícího koncového bodu TNC (PDF) , CH : HSR, 2011.
  16. Ochranný profil TPM 1.2 ( Common Criteria Protection Profile ), Trusted Computing Group.