Trusted Platform Module

Trusted Platform Module (bokstavelig talt modul for en pålitelig plattform , ofte forkortet som TPM) er navnet som både spesifikasjonene for å bygge en mikrobrikke dedikert til cybersikkerhet , utgitt av Trusted Computing Group , og selve brikken er angitt. Denne mikrobrikken er generelt implementert som en tilleggsmodul for et hovedkort på en datamaskin , men kan også finnes i håndholdte enheter og andre elektroniske enheter.

Denne brikken var tidligere kjent som Chip Fritz , et navn som stammer fra den amerikanske senatoren Ernest "Fritz" Hollings , en sterk tilhenger av dette prosjektet. Formålet med TPM er å øke IT-sikkerheten: hver brikke er utstyrt med et par unike kryptografiske nøkler, som gjør den unikt identifiserbar, og en asymmetrisk krypteringsmotor for datakryptering.

Trusted Platform Module er designet for å være tilgjengelig på alle operativsystemer eller plattformer [1] . Disse brikkene er populære blant bærbare datamaskiner beregnet på forretningsbrukere , og flere produsenter av hovedkort og stasjonære datamaskiner gir valgfri støtte for denne teknologien. I følge International Data Corporation skulle innen 2010 alle bærbare datamaskiner og praktisk talt alle PC-er ha vært utstyrt med TPM [2] . Til tross for denne spådommen har ikke TPM-brikken spredt seg over alle arkitekturer. Da Apple byttet til Intel-prosessorer i 2006 , inkorporerte det TPM i noen, men ikke alle, Mac-hovedkort [3] , og eliminerte det så fullstendig i 2009 . I juli 2013 , da Windows 8.1-spesifikasjonen ble utgitt, inkluderte Microsoft den som et obligatorisk krav fra og med 1. januar 2015 [4] .

Arkitektur

Spesifikasjonene publisert av Trusted Computing Group [5] definerer hva prosessorarkitekturen skal være og hvilken minimumsfunksjonalitet den skal tilby.

Hver TPM må tilby visse minimumsfunksjoner [6] , nemlig:

For dette formålet må hver Trusted Platform Module være utstyrt med spesifikke komponenter, koblet til hverandre via en intern buss og i stand til å samhandle med resten av datamaskinen via en ekstern buss. Disse komponentene må være følgende:

Input / Output Device

I/O-komponenten skal kunne administrere kommunikasjon på interne og eksterne busser, kryptere og dekode informasjon når det er nødvendig. Den må garantere tilgang til enheten i forbindelse med Opt-In-enheten.

Kryptografisk koprosessor

Hver enhet må ha en prosessor som kan utføre følgende operasjoner:

Denne prosessoren kan også bruke asymmetrisk kryptografi for intern kommunikasjon til modulen, men må ikke eksponere data generert med symmetriske algoritmer til utsiden av modulen. For utstedelse av digitale signaturer brukes den asymmetriske RSA -algoritmen med en nøkkelstørrelse på 2048 byte , selv om modulen også må støtte 512 og 1024 bytenøkler. Disse nøklene kan bare være kjent for modulen eller i forbindelse mellom en ekstern enhet og selve modulen.

Kryptografisk nøkkelgenerator

Nøkkelgeneratoren må kunne generere par av asymmetriske nøkler og symmetriske nøkler. Det er ingen begrensning på opprettelsestiden for nøklene.

HMAC -motor

HMAC-motoren må kunne gi to viktige funksjoner:

For dette formålet brukes HMAC -krypteringsalgoritmen med en nøkkelstørrelse på 20 byte og en datablokkstørrelse på 64 byte. Algoritmens særegenheter gjør den egnet for disse formålene: HMAC bruker en kombinasjon av den opprinnelige meldingen og den hemmelige nøkkelen for å kryptere dataene, og sikrer maksimal sikkerhet.

Pseudorandom Number Generator

Tilfeldig tallmotoren er kilden til tilfeldighet i modulen. Spesifikasjonene sørger for bruk av en pseudo-tilfeldig tallgeneratoralgoritme for nøkkeloppretting og digital signatur . Tilfeldig tallgeneratoren må bestå av en komponent som er i stand til å akseptere og blande uforutsigbare data fra en koprosessor for å returnere disse dataene som et resultat av en ikke-inverterbar funksjon , for eksempel SHA-1- algoritmen . Ved hver samtale må den kunne generere 32 byte med tilfeldige data.

Komponenten for å lage tilfeldige tall må initialiseres under behandling med tilfeldige data, generert for eksempel gjennom termisk forstyrrelse av signalet eller gjennom spesiell programvare; etter denne initialiseringen må ingen enhet, ikke engang produsenten selv, kunne sjekke statusen til den generatoren. Mens den er i bruk, vil denne komponenten fortsette å bruke tilfeldighet i maskinvare eller programvare for å generere tilfeldige data, for eksempel tilfeldig kontroll av tastetrykk eller kombinasjon av musebevegelser . Funksjonen som brukes som utdata må nødvendigvis motta et mindre antall biter i input enn de som returneres i utdata, for å sikre umuligheten av å spore tilstanden til tallgeneratoren.

SHA-1-motor

Modulen må integrere en enhet som er i stand til å håndtere SHA-1- hasher på 160 bits i størrelse. Disse hashene brukes til digital signering av filer.

Power Manager

Trusted Platform Module må være utstyrt med en komponent som er i stand til å administrere modulens strømforsyning og informere modulen selv om strømstatusen til enhetene som er tilgjengelige på maskinen den er installert i. Denne informasjonen brukes av modulen til å oppdage den fysiske tilstedeværelsen av brukere av maskinen for å sikre for eksempel at enkelte spesifikke operasjoner på modulen bare kan utføres gjennom autorisasjon eller, i tilfelle av ekstern administrasjon, ved tilstedeværelse av en operatør.

Meld deg på

Opt-In-komponenten må kunne gi mekanismene og beskyttelsen som er nødvendig for å slå TPM på, av, aktivere eller deaktivere. Det er også komponenten som er ansvarlig for å kontrollere den fysiske tilstedeværelsen av operatører på maskinen som Trusted Platform Module er installert på. Opt-In-komponenten må sikre at modulen kan slås på, av, aktiveres eller deaktiveres kun av brukere som har kontroll over TPM, definert som TPM-eier , eller, i tilfelle en ekstern eier, hvis det er operatører tilstede på maskinen.

Utførelsesmotor

Utførelsesmotoren kjører ekstern kode, hentet fra Input / Output-modulen, for å bruke funksjonaliteten til Trusted Platform Module. Den må kunne garantere åpenhet i driften og beskyttelse av sensitive data.

Ikke-flyktig minne

Modulen må være utstyrt med ikke-flyktig minne , dedikert til vedlikehold av informasjon som identiteten til Trusted Platform Module. Dette minnet må være tilgjengelig for eieren av modulen, eller av enheter autorisert av denne, for sikker lagring av data. Modulen, på grunn av den begrensede levetiden til de ikke-flyktige minnekomponentene, må få tilgang til disse komponentene for ikke å gjøre dem, og derfor selve modulen, for tidlig ubrukelig.

Bruk

For å kunne brukes, krever hver Trusted Platform Module bruk av en spesifikk Trusted Software Stack , også bestemt av spesifikasjonene til Trusted Computing Group . Når den brukes sammen med slik programvare, kan TPM:

Dataforseglingsteknikken tilsvarer lagring av krypterte data ved hjelp av en nøkkel som avhenger av systemets tilstand, det vil si en kombinasjon av maskinvaren og programvaren som kjører. Dekrypteringen av de samme dataene vil kun være mulig med samme nøkkel, det vil si ved å bruke samme systemkonfigurasjon på tidspunktet for lagring (samme maskinvare og samme kjørende programvare).

Binding refererer til kryptering av data ved hjelp av en godkjenningsnøkkel kalt Endorsement Key, det vil si en RSA - nøkkel som unikt identifiserer selve TPM-en som er satt inn i brikken under produksjonen, og dermed sikrer at slike data bare kan dekrypteres av den samme modulen som krypterte den.

Fjernattesteringen utføres ved hjelp av spesielle krypteringsnøkler, kalt AIK ( Attestation Identity Key ), generert om nødvendig av TPM Alternativt, fra versjon 1.2 av TCG-spesifikasjonene, er det mulig å bruke Direct Anonymous Attestation -protokollen for å autentisere på nettverket [7] [8] , som tillater ekstern autentisering av maskinen samtidig som konfidensialiteten til det autentiserte systemet bevares.

Brikken har i hovedsak en passiv kontrollfunksjon på maskinvaren og programvaren installert på maskinen den er til stede på. Ved hjelp av spesielle registre inne i den, kalt PCR (Platform Configuration Register), holder TPM styr på utviklingen av systemstatusen, og måler den (det er praktisk talt behandlingen av en hash av informasjonen hentet fra enhetene og av kjøringen programvare ) i henhold til følgende formel

det vil si at innholdet i den i -te PCR oppdateres (på tidspunktet ) med hashen SHA1 (US Secure Hash Algorithm 1, RFC 3174 ) beregnet på det forrige innholdet i samme register (på det tidspunktet ) og på informasjonen for øyeblikket samlet inn (på tidspunktet ) fra systemet (ved systemoppstart er innholdet i PCR-ene satt til 0).

Programvaren ( oppstartslasteren , operativsystemet , applikasjonsprogrammene), som er passende utformet for å kommunisere med TPM, kan deretter bestemme, basert på informasjonen som for øyeblikket finnes i PCR-ene og basert på sin egen programmerte logikk, hvilke operasjoner som skal utføres. Av åpenbare sikkerhetsgrunner kan TPM forhindre at systemet starter opp fra en hvilken som helst annen stasjon enn den der den er installert, selv om en annen oppstartssekvens er satt på Uefi eller hvis en annen stasjon tvinges til å starte opp. Denne funksjonen er enten forhåndsdefinert eller konfigurerbar. Å starte en gjenopprettingsstasjon eller live-miljø kan også med rette forhindres. Denne situasjonen tvinger brukeren til å være ekstremt forsiktig med å vite nøyaktig hvor krypteringsnøkkelen er lagret og å beholde gjenopprettingspassordet andre steder.

Aktivering

Vanligvis har maskinene utstyrt med en TPM-brikke en fastvarekommando i Uefi-grensesnittet for å aktivere eller deaktivere verktøyet. Bare ved å aktivere TPM fra Uefi lar det operativsystemet oppdage det og deretter aktivere det for påfølgende administrasjon. Derfor, selv om du deaktiverer den fra operativsystemet, forblir TPM aktivert i fastvaren (til du deaktiverer den her).

TPM cache

Både autentiseringsnøkkelen og eventuelle gjenopprettingspassord lagres vanligvis i en bestemt hurtigbuffer . Med mindre du også har opprettet en maskinvareopplåsingsenhet (USB-stasjon), hvis du skulle tømme hurtigbufferen på en kryptert lagring, kan det hende du ikke lenger har tilgang til den lagrede informasjonen. Dette er for eksempel hva som skjer med å tømme BitLocker TPM-bufferen .

Et annet problem kan oppstå når hovedkortets bufferbatteri er fullstendig utladet: i dette tilfellet mister UEFI synkroniseringen med nøyaktig dato og klokkeslett, og derfor kan TPM-enheten gå i beskyttelse, og ikke lenger godta nøkkelautentiseringen eller gjenopprettingspassordet. I disse tilfellene er det nødvendig å enten bytte ut backup-batteriet (eller i alle fall ha det tilstrekkelig ladet, med riktig dato/klokkeslett, i det minste frem til pålogging) eller starte den krypterte enheten på en annen kompatibel datamaskin (etter å ha fjernet den fra først, selvfølgelig).

Kritikk

Mange innvendinger mot bruken av denne typen brikker har oppstått fra sfæren av fri programvare og tilhengere av rettferdig bruk . Motstandere hevder at et slikt system ikke bare kan brukes til å gjøre en maskin sikrere, selv om det gjenstår å avklare hvem som etablerer reglene for at en viss tilstand av systemet skal anses som sikker, men også for å bestemme hvilke programmer som kan få tilgang til visse data, skape eller forsterke et slags monopol fra tilhengerne av Trusted Computing . Mikrobrikken, i henhold til spesifikasjonene publisert av Trusted Computing Group , har imidlertid bare en passiv kontroll over programvaren, det vil si at den ikke er i stand til å bestemme hva en bruker kan bruke; tvert imot kan en programvare basert på Trusted Platform Module bestemme seg for ikke å utføre operasjoner som anses som usikre, som for eksempel å koble til et nettverk som anses som upålitelig.

Det har vært reist kritikk mot fjernattesteringssystemet [9] , mens noen mener at forsegling har den essensielle funksjonen å skape nye og mer effektive systemer for styring av digitale rettigheter , i stedet for å beskytte informasjonen i seg selv.

Feil

I oktober 2007 ble en bufferoverflyt- basert sikkerhetsfeil oppdaget i tjenestene levert av TPM-modulen installert på IBM ThinkPad bærbare datamaskiner som ville tillate vilkårlig kodekjøring gjennom HTTP -pakker [10] . IBM har videresendt alle data knyttet til bruddet til Lenovo [11] for å løse problemet. Per desember 2007 er ingen ytterligere informasjon tilgjengelig i denne forbindelse.

Trusted Software Stack

Trusted Software Stack er en standard API for bruk av Trusted Platform Module, hvis spesifikasjoner er publisert av Trusted Computing Group [12] .

Trusted Software Stack er designet for interoperabilitet på tvers av alle operativsystemer. Med versjon 1.2 av spesifikasjonen har den blitt oppdatert for å garantere støtte for Direct Anonymous Attestation -protokollen og opprettelsen av AIK -attestasjonsnøkler [13] .

Hovedfunksjoner

Følgende er bare noen av funksjonene som den pålitelige programvarestabelen gir. I praksis må enhver applikasjon som utnytter funksjonaliteten som tilbys av klarert databehandling bruke en pålitelig programvarestabel for å få tilgang til funksjonene som tilbys av TPM. Funksjonene som er oppført nedenfor bør derfor betraktes som funksjonaliteter som kan tilbys av applikasjoner som kjører på en klarert plattform som drar nytte av API-ene levert av Trusted-programvarestabelen. Faktisk har ikke funksjonaliteten til disse applikasjonene blitt standardisert av TCG.

Oversettelse av retningslinjer

Implementering av alle sikkerhetspolicyer som pålegges av programmer på brukeren eller programmer av brukeren.

Personvern

Brukerforsvar mot TC-misbruk (ingen programvare må for eksempel forsegle dataene eller sende den offentlige delen av godkjenningsnøkkelen til tredjeparter uten samtykke fra TPM-eieren).

Klarert GUI

Den garanterer beskyttelse av data som anses som sensitive av applikasjoner som bruker TSS både i input og output.

Romsjef

Administrer utførelsespartisjoner; noen applikasjoner kan startes i en beskyttet utførelsespartisjon som drar fordel av funksjonene som tilbys av pålitelig databehandling for å sikre integriteten til applikasjonen og personvernet til dataene den behandler.

Merknader

  1. ^ Trusted Platform Module FAQ Arkivert 3. oktober 2006 på Internet Archive ., FAQ
  2. ^ Microsofts slankere tilnærming til Vista-sikkerhet Arkivert 21. november 2006 på Internet Archive .,
  3. ^ Apple dropper Trusted Computing , ingen TPM på nye Apple-hovedkort
  4. ^ Windows 81-krav , TPM blant Windows 8.1-kravene
  5. ^ Trusted Computing Group - Utviklere
  6. ^ Trusted Computing Specifications Arkivert 15. november 2008 på Internet Archive ., Versjon 1.2, revisjon 103, side 16 og følgende.
  7. ^ Direkte anonym attestasjon _
  8. ^ Direkte anonym attestasjon - forkortet versjon
  9. ^ http://www.oceanidigitali.it/drupal/DAA Arkivert 19. oktober 2007 på Internet Archive .
  10. ^ Http://en.securitylab.ru/nvd/305875.php Arkivert 11. desember 2007 på Internet Archive .
  11. ^ Information Risk Management Plc. - Leverandørvarsler - 0 dager , på irmplc.com . Arkivert fra originalen 24. juli 2008 .
  12. ^ Arkivert kopi , på trustedcomputinggroup.org . Hentet 28. januar 2013 (arkivert fra originalen 2. mai 2015) . ( NO ) FAQ for Trusted Software Stack
  13. ^ https://trustedcomputinggroup.org/resource/tcg-software-stack-specification-tss-1-2-faq/ ( EN ) Trusted Software Stack versjon 1.2 FAQ

Bibliografi

Relaterte elementer

Andre prosjekter

Eksterne lenker