Trusted Platform Module - Trusted Platform Module

Trusted Platform Module
Status Publisert
Året startet 2009 ; 12 år siden ( 2009 )
Siste versjon ISO / IEC 11889: 2015
2015 ; 6 år siden ( 2015 )
Organisasjon Trusted Computing Group , ISO/IEC JTC 1
Domene Sikker kryptoprosessor
Forkortelse TPM
Nettsted ISO/IEC 11889-1: 2015 , ISO/IEC 11889-2: 2015 , ISO/IEC 11889-3: 2015 , ISO/IEC 11889-4: 2015
Komponenter i en Trusted Platform Module som overholder TPM versjon 1.2 -standarden

Trusted Platform Module ( TPM , også kjent som ISO/IEC 11889 ) er en internasjonal standard for en sikker kryptoprosessor , en dedikert mikrokontroller designet for å sikre maskinvare gjennom integrerte kryptografiske nøkler. Begrepet kan også referere til en brikke i samsvar med standarden.

Historie

Trusted Platform Module (TPM) ble unnfanget av et konsortium innen datamaskinindustrien kalt Trusted Computing Group (TCG), og ble standardisert av International Organization for Standardization (ISO) og International Electrotechnical Commission (IEC) i 2009 som ISO/IEC 11889.

Når en ny revisjon slippes, deles den i tre deler av Trusted Computing Group. Hver del består av en PDF som utgjør hele den nye TPM -spesifikasjonen.

  • Del 1 - Designprinsipper
  • Del 2 - Strukturene til TPM
  • Del 3 - Kommandoer

TCG fortsetter å revidere TPM -spesifikasjonene for å holde det oppdatert med dagens behov. TPM -hovedspesifikasjon versjon 1.2 ble ferdigstilt 3. mars 2011 og fullførte revisjonen. TCG ga deretter ut TPM Library Specification 2.0 , med den siste utgaven utgitt i 2019.

Oversikt

Trusted Platform Module gir

  • En maskinvare for tilfeldig tallgenerator
  • Fasiliteter for sikker generering av kryptografiske nøkler for begrenset bruk.
  • Remote attestasjon : Oppretter en nesten unforgeable firkanttasten oppsummering av maskinvare og programvare konfigurasjonen. Programvaren som har ansvaret for hashing av konfigurasjonsdataene, bestemmer omfanget av sammendraget. Dette lar en tredjepart kontrollere at programvaren ikke er endret.
  • Binding: Krypterer data ved hjelp av TPM -bindingsnøkkelen, en unik RSA -nøkkel som stammer fra en lagringsnøkkel.
  • Forsegling : I likhet med binding, men i tillegg spesifiserer TPM -tilstanden for dataene som skal dekrypteres (ikke forseglet).
  • Andre Trusted Computing -funksjoner for at dataene skal dekrypteres (ikke forseglet).

Dataprogrammer kan bruke en TPM til å autentisere maskinvareenheter, siden hver TPM -brikke har en unik og hemmelig godkjenningsnøkkel (EK) brent inn mens den produseres. Sikkerhet innebygd i maskinvare gir mer beskyttelse enn en programvareløsning.

Bruker

Det amerikanske forsvarsdepartementet (DoD) spesifiserer at "nye datamaskinressurser (f.eks. Server, skrivebord, bærbar datamaskin, tynn klient, nettbrett, smarttelefon, personlig digital assistent, mobiltelefon) som er anskaffet for å støtte DoD, vil inneholde en TPM -versjon 1.2 eller høyere der det kreves av Defense Information Systems Agency (DISA) Security Technical Implementation Guides (STIGs) og der slik teknologi er tilgjengelig. " DoD regner med at TPM skal brukes til enhetsidentifikasjon, autentisering, kryptering og verifisering av enhetens integritet.

Plattformens integritet

Det primære omfanget av TPM er å sikre integriteten til en plattform. I denne sammenhengen betyr "integritet" "oppfør seg som tiltenkt", og en "plattform" er hvilken som helst datamaskin, uansett operativsystem . Dette er for å sikre at oppstartsprosessen starter fra en pålitelig kombinasjon av maskinvare og programvare, og fortsetter til operativsystemet er fullstendig startet og applikasjoner kjører.

Når TPM brukes, er fastvaren og operativsystemet ansvarlig for å sikre integriteten.

For eksempel kan Unified Extensible Firmware Interface (UEFI) bruke TPM til å danne en tillitsrot : TPM inneholder flere Platform Configuration Registers (PCR) som tillater sikker lagring og rapportering av sikkerhetsrelevante beregninger. Disse beregningene kan brukes til å oppdage endringer i tidligere konfigurasjoner og bestemme hvordan de skal fortsette. Gode ​​eksempler finnes i Linux Unified Key Setup (LUKS), BitLocker og PrivateCore vCage -minnekryptering. (Se nedenfor.)

Et annet eksempel på plattformintegritet via TPM er bruk av Microsoft Office 365 -lisensiering og Outlook Exchange.

Et eksempel på TPM -bruk for plattformintegritet er Trusted Execution Technology (TXT), som skaper en kjede av tillit. Det kan eksternt bekrefte at en datamaskin bruker spesifisert maskinvare og programvare.

Diskkryptering

Fullstendig kryptering hjelpemidler, for eksempel DM-krypten og BitLocker , kan bruke denne teknologien for å beskytte de nøklene som er brukt for å kryptere datamaskinens lagringsenheter og gir integritet autentisering for en pålitelig støvel bane som omfatter fastvare og oppstartsektoren .

Andre bruksområder og bekymringer

Enhver applikasjon kan bruke en TPM -brikke for:

Det finnes andre bruksområder, hvorav noen gir anledning til bekymringer for personvernet . Den "fysiske tilstedeværelsen" -funksjonen i TPM adresserer noen av disse bekymringene ved å kreve bekreftelse på BIOS-nivå for operasjoner som å aktivere, deaktivere, slette eller endre eierskap til TPM av noen som er fysisk tilstede ved maskinens konsoll.

TPM -implementeringer

Trusted Platform Module installert på et hovedkort
TPM 2.0 Referanseimplementering
Utvikler (er) Microsoft
Oppbevaringssted github .com /Microsoft /ms-tpm-20-ref
Skrevet inn C , C ++
Type TPM -implementering
Tillatelse BSD -lisens
Nettsted trustcomputinggroup .org /tpm-library-spesifikasjon

I 2006 begynte nye bærbare datamaskiner å bli solgt med en innebygd TPM-brikke. I fremtiden kan dette konseptet samlokaliseres på en eksisterende hovedkortbrikke i datamaskiner eller andre enheter der TPM-anleggene kan brukes, for eksempel en mobiltelefon . På en PC brukes enten LPC -bussen eller SPI -bussen for å koble til TPM -brikken.

Trusted Computing Group (TCG) har sertifiserte TPM -brikker produsert av Infineon Technologies , Nuvoton og STMicroelectronics , etter å ha tildelt TPM -leverandør -ID -er til Advanced Micro Devices , Atmel , Broadcom , IBM , Infineon, Intel , Lenovo , National Semiconductor , Nationz Technologies, Nuvoton , Qualcomm , Rockchip , Standard Microsystems Corporation , STMicroelectronics, Samsung , Sinosun, Texas Instruments og Winbond .

Det er fem forskjellige typer TPM 2.0 -implementeringer (oppført i rekkefølge fra de fleste til minst sikre):

  • Diskrete TPM -er er dedikerte sjetonger som implementerer TPM -funksjonalitet i sin egen tamper -resistente halvlederpakke. De er teoretisk sett den sikreste typen TPM fordi rutinene som er implementert i maskinvare bør være mer motstandsdyktige mot feil mot rutiner som er implementert i programvare, og pakkene deres er påkrevd for å implementere noe manipulasjonsmotstand.
  • Integrerte TPM er en del av en annen brikke. Selv om de bruker maskinvare som motstår programvarefeil, er det ikke nødvendig å implementere manipulasjonsmotstand. Intel har integrert TPM -er i noen av brikkesettene .
  • Firmware-TPM-er (fTPM-er) er fastvarebaserte (f.eks. UEFI ) -løsninger som kjøres i en CPUs pålitelige utførelsesmiljø . Intel, AMD og Qualcomm har implementert fastvare -TPM.
  • Hypervisor TPM -er (vTPM -er) er virtuelle TPM -er som tilbys av og er avhengige av hypervisorer , i et isolert utførelsesmiljø som er skjult for programvaren som kjører inne i virtuelle maskiner for å sikre koden fra programvaren i de virtuelle maskinene. De kan gi et sikkerhetsnivå som kan sammenlignes med en fastvare -TPM.
  • Programvare -TPM -er er programvareemulatorer for TPM -er som ikke kjører mer beskyttelse enn et vanlig program får i et operativsystem. De er helt avhengige av miljøet de kjører i, så de gir ikke mer sikkerhet enn det som kan gis av det normale utførelsesmiljøet, og de er sårbare for sine egne programvarefeil og angrep som trenger inn i det normale utførelsesmiljøet. De er nyttige for utviklingsformål.

Den offisielle TCG -referanseimplementeringen av TPM 2.0 -spesifikasjonen er utviklet av Microsoft . Den er lisensiert under BSD -lisens og kildekoden er tilgjengelig på GitHub . Microsoft tilbyr en Visual Studio -løsning og Linux autotools bygger skript.

I 2018 åpnet Intel programvarebunken Trusted Platform Module 2.0 (TPM2) med støtte for Linux og Microsoft Windows. Kildekoden ligger på GitHub og er lisensiert under BSD -lisens .

Infineon finansierte utviklingen av en åpen kildekode TPM -mellomvare som er i samsvar med Software Stack (TSS) Enhanced System API (ESAPI) -spesifikasjonen for TCG. Det ble utviklet av Fraunhofer Institute for Secure Information Technology (SIT).

IBMs programvare TPM 2.0 er en implementering av TCG TPM 2.0 -spesifikasjonen. Den er basert på TPM -spesifikasjonen Del 3 og 4 og kildekoden donert av Microsoft. Den inneholder flere filer for å fullføre implementeringen. Kildekoden ligger på SourceForge og GitHub og er lisensiert under BSD -lisens.

TPM 1.2 vs TPM 2.0

Selv om TPM 2.0 adresserer mange av de samme brukstilfellene og har lignende funksjoner, er detaljene forskjellige. TPM 2.0 er ikke bakoverkompatibel med TPM 1.2.

Spesifikasjon TPM 1.2 TPM 2.0
Arkitektur Spesifikasjonen i en størrelse passer for alle består av tre deler. En komplett spesifikasjon består av en plattformsspesifikk spesifikasjon som refererer til et vanlig firedelt TPM 2.0-bibliotek. Plattformspesifikke spesifikasjoner definerer hvilke deler av biblioteket som er obligatoriske, valgfrie eller utestengt for den plattformen; og detaljer andre krav til den plattformen. Plattformspesifikke spesifikasjoner inkluderer PC Client, mobile og Automotive-Thin.
Algoritmer SHA-1 og RSA er påkrevd. AES er valgfritt. Triple DES var en gang en valgfri algoritme i tidligere versjoner av TPM 1.2, men har blitt utestengt i TPM 1.2 versjon 94. Den MGF1 hash-baserte maskegenereringsfunksjonen som er definert i PKCS#1 er påkrevd. Spesifikasjonen for PC Client Platform TPM Profile (PTP) krever SHA-1 og SHA-256 for hashes; RSA , ECC ved bruk av Barreto-Naehrig 256-bit kurve og NIST P-256 kurve for offentlig nøkkel kryptografi og asymmetrisk digital signaturgenerering og verifikasjon; HMAC for generering og verifisering av digital signatur; 128-biters AES for symmetrisk nøkkelalgoritme ; og MGF1-hashbasert maskegenereringsfunksjon som er definert i PKCS#1, er påkrevd av TCG PC Client Platform TPM Profile (PTP) Specification. Mange andre algoritmer er også definert, men er valgfrie. Vær oppmerksom på at Triple DES ble lest inn i TPM 2.0, men med begrensninger noen verdier i en hvilken som helst 64-biters blokk.
Crypto Primitives En tilfeldig tallgenerator , en offentlig nøkkel kryptografisk algoritme , en kryptografisk hashfunksjon , en maskegenereringsfunksjon, generering og verifisering av digital signatur og Direkte anonym attestering kreves. Symmetriske nøkkelalgoritmer og eksklusive eller er valgfrie. Nøkkelgenerering er også nødvendig. Et tilfeldig tall generator , offentlig-nøkkel krypteringsalgoritmer , kryptografiske hash-funksjoner , symmetrisk nøkkel-algoritmer , digital signaturgenerering og verifikasjon, maske funksjonene for generering, eksklusive eller , og ECC -baserte direkte Anonyme Slik bekreftelse ved hjelp av Barreto-Naehrig 256-bit kurve er kreves av TCG PC Client Platform TPM Profile (PTP) Specification. Den vanlige bibliotekspesifikasjonen TPM 2.0 krever også nøkkelgenerering og viktige avledningsfunksjoner .
Hierarki En (lagring) Tre (plattform, lagring og godkjenning)
Root Keys En (SRK RSA-2048) Flere nøkler og algoritmer per hierarki
Autorisasjon HMAC , PCR, lokalitet, fysisk tilstedeværelse Passord, HMAC og policy (som dekker HMAC, PCR, lokalitet og fysisk tilstedeværelse).
NVRAM Ustrukturerte data Ustrukturerte data, teller, bitmap, utvid, PIN -kode og mislykkes

TPM 2.0 -policyautorisasjonen inkluderer 1.2 HMAC, lokalitet, fysisk tilstedeværelse og PCR. Den legger til autorisasjon basert på en asymmetrisk digital signatur, indireksjon til en annen autorisasjonshemmelighet, tellere og tidsbegrensninger, NVRAM -verdier, en bestemt kommando eller kommandoparametere og fysisk tilstedeværelse. Det tillater ANDing og ORing av disse autorisasjonsprimitivene å konstruere komplekse autorisasjonspolicyer.

Resepsjon

TCG har møtt motstand mot distribusjon av denne teknologien på noen områder, der noen forfattere ser mulige bruksområder som ikke er spesielt relatert til Trusted Computing , noe som kan skape bekymringer om personvernet. Bekymringene inkluderer misbruk av fjernvalidering av programvare (der produsenten‍ - ‌ og ikke brukeren som eier datasystemet‍ - ides bestemmer hvilken programvare som skal kjøres) og mulige måter å følge handlinger utført av brukeren som blir registrert i en database, i en måte som er helt uoppdagelig for brukeren.

Den TrueCrypt disk kryptering funksjonen støtter ikke TPM. De originale TrueCrypt -utviklerne var av den oppfatning at det eksklusive formålet med TPM er "å beskytte mot angrep som krever at angriperen har administratorrettigheter eller fysisk tilgang til datamaskinen". Den angriper som har fysisk eller administrativ tilgang til en datamaskin kan omgå TPM, for eksempel ved å installere en hardware tastetrykk logger , ved å tilbakestille TPM, eller ved å fange innholdet i minnet og hente TPM utstedt nøkler. Som sådan går den fordømmende teksten så langt som å hevde at TPM er helt overflødig.

I 2015 uttalte Richard Stallman at "det er grunner til å tro at det ikke vil være mulig å bruke [TPM] for DRM". Han kalte også TPM-teknologien "forræderisk databehandling" og hevdet at den ville utsette brukere for "tilbakevirkende [data] sletting i 1984-stil".

Angrep

I 2010 presenterte Christopher Tarnovsky et angrep mot TPM -er på Black Hat Briefings , hvor han hevdet å kunne trekke ut hemmeligheter fra en enkelt TPM. Han klarte dette etter 6 måneders arbeid ved å sette inn en sonde og spionere på en intern buss for Infineon SLE 66 CL PC.

I 2015, som en del av Snowden -avsløringene , ble det avslørt at et amerikansk CIA -team i 2010 hevdet på en intern konferanse å ha utført et differensial kraftanalyseangrep mot TPM -er som var i stand til å hente ut hemmeligheter.

I 2018 ble det rapportert om en designfeil i TPM 2.0 -spesifikasjonen for den statiske roten til tillit til måling (SRTM) ( CVE - 2018-6622 ). Det gjør det mulig for en motstander å tilbakestille og smi plattformkonfigurasjonsregistre som er utformet for å holde målinger av programvare som brukes til å starte datamaskinen på en sikker måte. Å fikse det krever maskinvarespesifikke fastvareoppdateringer. En angriper misbruker strømavbrudd og TPM-tilstand gjenoppretter for å lure TPM til å tro at den kjører på komponenter som ikke er manipulert.

Main Trusted Boot (tboot) -distribusjonene før november 2017 påvirkes av en dynamisk rot for tillit for måling (DRTM) angrep CVE - 2017-16837 , som påvirker datamaskiner som kjører på Intels Trusted eXecution Technology (TXT) for oppstartsrutinen.

Ved fysisk tilgang er datamaskiner med TPM sårbare for kaldstart -angrep så lenge systemet er på eller kan startes opp uten et passord fra nedleggelse eller dvalemodus , som er standardoppsettet for Windows -datamaskiner med BitLocker full diskkryptering.

I 2021 viste Dolos Group et angrep på en diskret TPM, der selve TPM -brikken hadde en viss manipulasjonsmotstand, men de andre endepunktene for kommunikasjonsbussen ikke. De leste en full-disk-krypteringsnøkkel da den ble overført over hovedkortet, og brukte den til å dekryptere den bærbare SSD-en.

Kontrovers i svak nøkkelgenerasjon i 2017

I oktober 2017 ble det rapportert at et kodebibliotek utviklet av Infineon , som hadde vært i utbredt bruk i sine TPM -er, inneholdt en sårbarhet, kjent som ROCA, som genererte svake RSA -nøkkelpar som gjorde at private nøkler kunne utledes av offentlige nøkler . Som et resultat er alle systemer avhengig av personvernet til slike svake nøkler sårbare for kompromisser, for eksempel identitetstyveri eller spoofing.

Kryptosystemer som lagrer krypteringsnøkler direkte i TPM uten å blende kan være i særlig fare for denne typen angrep, ettersom passord og andre faktorer ville være meningsløse hvis angrepene kan trekke ut krypteringshemmeligheter.

Infineon har gitt ut firmwareoppdateringer for sine TPM -er til produsenter som har brukt dem.

Tilgjengelighet

For tiden brukes en TPM av nesten alle PC- og bærbare produsenter.

TPM

TPM er implementert av flere leverandører:

  • Infineon tilbyr både TPM -brikker og TPM -programvare, som leveres som OEM -versjoner med nye datamaskiner, samt separat av Infineon for produkter med TPM -teknologi som overholder TCG -standarder. For eksempel lisensierte Infineon TPM -administrasjonsprogramvare til Broadcom Corp. i 2004.
  • Microchip (tidligere Atmel) produserer TPM-enheter som den hevder å være i samsvar med Trusted Platform Module-spesifikasjon versjon 1.2 revisjon 116 og tilbys med flere grensesnitt (LPC, SPI og I2C), moduser (FIPS 140-2 sertifisert og standardmodus), temperaturklasser (kommersielle og industrielle) og pakker (TSSOP og QFN). TPM -ene deres støtter PCer og innebygde enheter. De tilbyr også TPM -utviklingssett for å støtte integrering av TPM -enhetene i forskjellige innebygde design.
  • Nuvoton Technology Corporation tilbyr TPM -enheter for PC -applikasjoner. Nuvoton tilbyr også TPM -enheter for innebygde systemer og Internet of Things (IoT) -applikasjoner via I2C- og SPI -vertsgrensesnitt. Nuvotons TPM oppfyller Common Criteria (CC) med sikkerhetsnivå EAL 4 forsterket med ALC_FLR.1, AVA_VAN.4 og ALC_DVS.2, FIPS 140-2 nivå 2 med fysisk sikkerhet og EMI/EMC nivå 3 og Trusted Computing Group Compliance-krav, alt støttes på en enkelt enhet.
  • STMicroelectronics har levert TPM -er for PC -plattformer og innebygde systemer siden 2005. Produkttilbudet inkluderer diskrete enheter med flere grensesnitt som støtter Serial Peripheral Interface (SPI) og I²C og forskjellige kvalifikasjonsklasser (forbruker, industri og bil). TPM-produktene er Common Criteria (CC) -sertifisert EAL4+ forsterket med ALC_FLR.1 og AVA_VAN.5, FIPS 140-2 nivå 2 sertifisert med fysisk sikkerhetsnivå 3 og også Trusted Computing Group (TCG) -sertifisert.

Det finnes også hybridtyper; for eksempel kan TPM integreres i en Ethernet -kontroller, og dermed eliminere behovet for en separat hovedkortkomponent.

Feltoppgradering

Feltoppgradering er TCG -begrepet for oppdatering av TPM -fastvaren. Oppdateringen kan være mellom TPM 1.2 og TPM 2.0, eller mellom fastvareversjoner. Noen leverandører begrenser antall overganger mellom 1,2 og 2,0, og noen begrenser tilbakeføring til tidligere versjoner. Plattform -OEMer som HP tilbyr et oppgraderingsverktøy.

Virtuell TPM

  • Google Compute Engine tilbyr virtualiserte TPM (vTPM) som en del av Google Clouds skjermede VM -produkt.
  • Libtpms -biblioteket gir programvareemulering av en Trusted Platform Module (TPM 1.2 og TPM 2.0). Den er rettet mot integrering av TPM -funksjonalitet i hypervisorer, først og fremst i Qemu.

Operativsystemer

  • Windows 11 krever TPM 2.0 -støtte som et minimumskrav til systemet. På mange systemer er TPM deaktivert som standard, noe som krever endring av innstillinger i datamaskinens UEFI for å aktivere det.
  • Trusted Platform Module 2.0 (TPM 2.0) har blitt støttet av Linux -kjernen siden versjon 3.20.

Plattformer

  • Google inkluderer TPM -er i Chromebook som en del av sikkerhetsmodellen.
  • Oracle sender TPM-er i X- og T-serien, for eksempel T3- eller T4-servere. Støtte er inkludert i Solaris 11 .
  • I 2006, med introduksjonen av de første Macintosh -modellene med Intel -prosessorer, begynte Apple å sende Mac -er med TPM. Apple ga aldri en offisiell driver, men det var en port under GPL tilgjengelig. Apple har ikke sendt en datamaskin med TPM siden 2006.
  • I 2011 lanserte den taiwanske produsenten MSI sitt Windpad 110W -nettbrett med en AMD -CPU og Infineon Security Platform TPM, som leveres med kontrollprogramvareversjon 3.7. Brikken er deaktivert som standard, men kan aktiveres med den medfølgende, forhåndsinstallerte programvaren.

Virtualisering

  • VMware ESXi hypervisor har støttet TPM siden 4.x, og fra 5.0 er den aktivert som standard.
  • Xen hypervisor har støtte for virtualiserte TPM -er. Hver gjest får sin egen unike, emulerte TPM -programvare.
  • KVM , kombinert med QEMU , har støtte for virtualiserte TPM -er. Fra 2012 støtter den å passere gjennom den fysiske TPM -brikken til en enkelt dedikert gjest. QEMU 2.11 utgitt i desember 2017 gir også etterlignede TPM -er til gjester.

Programvare

  • Microsofts operativsystemer Windows Vista og senere bruker brikken i forbindelse med den medfølgende diskkrypteringskomponenten BitLocker . Microsoft hadde kunngjort at alle datamaskiner fra 1. januar 2015 må være utstyrt med en TPM 2.0 -modul for å kunne passere Windows 8.1 -maskinvaresertifisering . Imidlertid ble dette i stedet gjort til et valgfritt krav i en gjennomgang av Windows -sertifiseringsprogrammet i desember 2014. TPM 2.0 er imidlertid nødvendig for tilkoblede standby -systemer. Virtuelle maskiner som kjører på Hyper-V kan ha sin egen virtuelle TPM-modul som starter med Windows 10 1511 og Windows Server 2016. Microsoft Windows inneholder to TPM-relaterte kommandoer : tpmtool , et verktøy som kan brukes til å hente informasjon om TPM, og tpmvscmgr , et kommandolinjeverktøy som lar deg lage og slette virtuelle TPM- smartkort på en datamaskin.

Godkjenningsnøkler

TPM -godkjenningsnøkler (EK) er asymmetriske nøkkelpar som er unike for hver TPM. De bruker RSA- og ECC -algoritmene. TPM-produsenten leverer vanligvis godkjenningsnøkkelsertifikater i TPM ikke-flyktig minne . Sertifikatene bekrefter at TPM er autentisk. Fra og med TPM 2.0 er sertifikatene i X.509 -format.

Disse produsentene leverer vanligvis sine sertifikatautoritetsrot (og noen ganger mellomliggende) sertifikater på sine nettsteder.

TPM -programvarebiblioteker

For å bruke en TPM trenger brukeren et programvarebibliotek som kommuniserer med TPM og gir et vennligere API enn rå TPM -kommunikasjon. For tiden er det flere slike åpen kildekode TPM 2.0-biblioteker. Noen av dem støtter også TPM 1.2, men for det meste er TPM 1.2 -brikker nå utfaset og moderne utvikling er fokusert på TPM 2.0.

Vanligvis gir et TPM-bibliotek API med en-til-en-tilordninger til TPM-kommandoer. TCG -spesifikasjonen kaller dette laget for System API (SAPI). På denne måten har brukeren mer kontroll over TPM -operasjonene, men kompleksiteten er høy. Derfor tilbyr de fleste biblioteker også rik API for å påberope komplekse TPM -operasjoner og skjule noe av kompleksiteten. TCG -spesifikasjonen kaller disse to lagene Enhanced System API (ESAPI) og Feature API (FAPI).

Det er for tiden bare en stabel som følger TCG -spesifikasjonen. Alle de andre tilgjengelige åpen kildekode-TPM-bibliotekene bruker sin egen form for rikere API.

Sammendrag av de eksisterende åpen kildekode TPM-bibliotekene
TPM Libraries API TPM 2.0 TPM 1.2 Attestasjonsserver eller eksempel Microsoft
Windows
Linux Rent metall
tpm2-tss SAPI, ESAPI og FAPI
fra TCG -spesifikasjonen
Ja Nei Nei, men det er et eget prosjekt* Ja Ja Kan være**
ibmtss 1: 1 -kartlegging til TPM -kommandoer
+ rik API (mildt lag på toppen)
Ja Delvis Ja, "IBM ACS" Ja Ja Nei
gå-tpm 1: 1 -kartlegging til TPM -kommandoer
+ rik API (mildt lag på toppen)
Ja Delvis Ja, "Go-attest" Ja Ja Nei
wolfTPM 1: 1 -tilordning til TPM -kommandoer
+ rich API (wrappers)
Ja Nei Ja, eksempler er inne i biblioteket Ja Ja Ja
TSS.MSR 1: 1 -tilordning til TPM -kommandoer
+ rich API (wrappers)
Ja Nei Ja, eksempler er inne i biblioteket Ja Ja*** Nei

(*) Det er et eget prosjekt kalt "CHARRA" av Fraunhofer som bruker tpm2-tss-biblioteket for fjernattestering. De andre stablene har tilhørende attestasjonsservere eller inkluderer direkte eksempler for attestation. IBM tilbyr sin åpne kildekode Remote Attestation Server kalt "IBM ACS" på SourceForge og Google har "Go-Attestation" tilgjengelig på GitHub, mens "wolfTPM" tilbyr tid og lokale attestasjonseksempler direkte i åpen kildekode, også på GitHub.

(**) Det er en applikasjonsnotat om et eksempelprosjekt for AURIX 32-biters SoC ved bruk av tpm2-tss-biblioteket.

(***) Krever flere biblioteker (dotnet) for å kjøre på Linux.

Disse TPM -bibliotekene kalles noen ganger også TPM -stabler, fordi de gir grensesnittet for utvikleren eller brukeren til å samhandle med TPM. Som det fremgår av tabellen, abstrakt TPM -stablene operativsystemet og transportlaget, slik at brukeren kan migrere ett program mellom plattformer. For eksempel, ved å bruke TPM stack API ville brukeren samhandle på samme måte med en TPM, uansett om den fysiske brikken er koblet over SPI, I2C eller LPC grensesnitt til vertssystemet.

Utviklermiljøer

Den økende relevansen av datasikkerhet og spesielt maskinvarestøttet sikkerhet har gjort den potensielle bruken av TPM populær blant utviklere og brukere. Det er flere utviklermiljøer rundt som bruker en TPM.

TPM.dev

Dette fellesskapet har en forumlignende plattform for deling av informasjon og spørsmål. På plattformen finner du artikler og videoopplæringer fra fellesskapsmedlemmer og gjester. Det er en vanlig ukentlig online -samtale. Hovedfokuset for dette fellesskapet er å senke barrieren for adopsjon av TPM og eksisterende TPM Software Libraries. Spesielt fokus er lagt på Remote Attestation og pålitelige applikasjoner.

tpm2-programvare

Dette fellesskapet er sentrert rundt bruk av TPM med tpm2-tss-biblioteket. Samfunnet driver med å utvikle det og annen TPM 2.0 -relatert programvare som finnes på deres GitHub -konto. Det er også en veiledning og ekstern seksjon med lenker til konferansesamtaler og presentasjoner.

IBM TSS

De fleste diskusjonene som er nominelt adressert til IBM TSS, vedrører mer generell applikasjonsutvikling.

IBM Software TPM

De fleste diskusjonene omhandler IBM -implementeringen av en TPM 2.0 -programvare, og de fleste diskusjonene gjelder mer generell applikasjonsutvikling.

Keylime Project

Open Source -prosjekt som bruker TPM 2.0 for oppstart og kjøretidsattest av datamaskiner og enheter.

Linux Security Mailing List

linux-integrity@vger.kernel.org er en e-postliste med høyt volum. Det er mer passende for TPM -enhetsdriverproblemer enn generelle HOWTO -spørsmål.

Begrensningslov

Kinesiske (tidligere) og russiske forskrifter begrenser tilgangen til TPM -moduler.

Se også

Referanser

Videre lesning

  1. Challener, 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) (arbeidsgruppes webside og liste over ressurser), Trusted Computing Group.
  3. PC Client Platform TPM Profile (PTP) Specification (Ytterligere TPM 2.0 -spesifikasjoner som gjelder for TPM -er for PC -klienter), Trusted Computing Group.
  4. PC -klientbeskyttelsesprofil for TPM 2.0 ( Common Criteria Protection Profile for TPM 2.0 slik den brukes på PC -klienter), Trusted Computing Group.
  5. "OLS: Linux og pålitelig databehandling" , LWN.
  6. Trusted Platform Module (podcast), GRC, 24:30.
  7. TPM -oppsett (for Mac OS X) , Comet way.
  8. "The Security of the Trusted Platform Module (TPM): statement on Princeton 26. februar paper" (PDF) , Bulletin (pressemelding), Trusted Computing Group, februar 2008.
  9. "Ta kontroll over TCPA" , Linux -journal.
  10. TPM Reset Attack , Dartmouth.
  11. Trusted Platforms (white paper), Intel, IBM Corporation, CiteSeerX  10.1.1.161.7603.
  12. Garrett, Matthew, En kort introduksjon til TPMer , Drømmebredde.
  13. Martin, Andrew, Trusted Infrastructure "101" (PDF) , PSU.
  14. Bruke TPM: Maskinautentisering og attestering (PDF) , Introduksjon til klarert databehandling, Åpen sikkerhetstrening.
  15. A Root of Trust for Measurement: Mitigating the Lying Endpoint Problem of TNC (PDF) , CH : HSR, 2011.
  16. TPM 1.2 beskyttelsesprofil ( Common Criteria Protection Profile ), Trusted Computing Group.