TPM ( English Trusted Platform Module ) este o specificație care descrie un criptoprocesor care stochează chei criptografice pentru a proteja informațiile, precum și un nume generic pentru implementările acestei specificații, de exemplu, sub forma unui „cip TPM” sau „securitate TPM”. dispozitiv” (Dell). Dezvoltat de organizația non-profit Trusted Computing Group ; versiunea actuală este 2.0 revizuirea 1.59 lansată în noiembrie 2019 [TCG 1] .
În ianuarie 1999, un grup de lucru de companii producătoare numit Trusted Computing Platform Alliance (TCPA ) a fost creat pentru a dezvolta mecanisme de securitate și încredere în platformele informatice. Inițial, TCPA a inclus dezvoltatori de top de hardware și software - HP , Compaq (mai târziu - HP și HPE ), IBM , Intel , Microsoft [1] .
În octombrie 1999, specificația de proiectare a fost anunțată și a fost deschisă oportunitatea altor companii de a se alătura alianței. În august 2000, o versiune publică preliminară a specificației a fost lansată spre discuție. Specificația TCPA versiunea 1.0 a fost publicată în februarie 2001, care definea cerințele de bază pentru TPM din punctul de vedere al unui producător de dispozitive electronice [2] .
Apoi a fost format un grup de lucru TPM, care a revizuit specificația generală din punct de vedere practic al Modulului de încredere (TPM). În august 2001, a fost lansată specificația versiunii 1.1 și a fost creat un grup de lucru pentru a proiecta platforma computerului personal pe care este instalat modulul de încredere [2] .
În aprilie 2003, a fost organizată organizația non-profit „Trusted Computer Group” (TCG), care a devenit succesorul TCPA și a continuat să lucreze la dezvoltarea specificațiilor deja lansate. Pe lângă grupurile de lucru de proiectare a platformelor TPM și PC deja stabilite, au fost create grupuri pentru a dezvolta specificații pentru dispozitive mobile, clienți PC, servere, dispozitive de stocare, infrastructură de calcul de încredere, software (Eng. Trusted Software Stack, TSS) și conexiune la rețea de încredere . În noiembrie 2003 a fost publicată versiunea 1.2 a specificației TPM, cea mai recentă versiune cu modificări semnificative, care descrie în esență funcționalitatea TPM [2] .
TPM, care conține un criptoprocesor , oferă mijloacele de a genera în siguranță chei de criptare capabile să restricționeze utilizarea cheilor (atât pentru semnare, cât și pentru criptare și decriptare) cu același grad de nerepetabilitate ca un generator de numere aleatorii . De asemenea, acest modul are următoarele caracteristici: certificare la distanță, legare și stocare securizată. Atestarea de la distanță creează o legătură între hardware, pornirea sistemului și configurația gazdă ( OS computer ), permițând unei terțe părți (cum ar fi un magazin de muzică digitală) să verifice dacă software-ul sau muzica descărcată din magazin nu a fost modificată sau copiată de utilizator (vezi DRM ). Criptoprocesorul criptează datele în așa fel încât să poată fi decriptate doar pe computerul unde au fost criptate, rulând același software. Legarea criptează datele folosind cheia de confirmare TPM, o cheie RSA unică scrisă pe cip în timpul procesului de fabricație sau o altă cheie de încredere [3] .
Modulul TPM poate fi utilizat pentru autentificarea hardware-ului. Deoarece fiecare cip TPM este unic pentru un anumit dispozitiv, acest lucru face posibilă autentificarea unică a platformei. De exemplu, pentru a verifica dacă sistemul accesat este sistemul așteptat.
Specificația TCG descrie setul minim de algoritmi și protocoale pe care trebuie să le îndeplinească un cip TPM. În plus, algoritmi și protocoale suplimentari pot fi implementați de către producător (care, desigur, ar trebui să fie descrise de producător în documentația relevantă) [TCG 2] .
Următoarele mecanisme de protecție sunt implementate în arhitectura cipului:
Cipul implementează algoritmi de criptare asimetrică care oferă un nivel ridicat de securitate. Unele elemente ale designului logic al cipului nu sunt standard în ceea ce privește metodele tipice de proiectare a circuitelor integrate (IC) . De asemenea, sunt utilizate tehnici speciale de proiectare IC: „încurcarea” topologiei straturilor IC, ceea ce complică analiza funcțiilor elementelor de microcircuit. O serie de caracteristici tehnologice ale cipurilor de securitate nu sunt dezvăluite în mod specific de companiile producătoare pentru a reduce probabilitatea de hacking, chiar și atunci când pentru aceasta sunt utilizate metode moderne de analiză a funcționării cipurilor și echipamente scumpe [4] .
Componenta de intrare/ieșire (I/O) gestionează fluxul de informații pe magistrală și gestionează mesajele între componentele TPM respective. Componenta aplică politica de acces asociată cu funcțiile TPM. Regulile de acces sunt definite de steaguri de acces stocate în blocul Opt-In al memoriei nevolatile [5] .
Criptoprocesorul efectuează operațiuni criptografice în interiorul TPM:
TPM folosește aceste capabilități pentru a genera secvențe aleatorii, a genera chei asimetrice, a semna digital și a păstra confidențialitatea datelor stocate. TPM acceptă și criptarea simetrică intern. Toate cheile stocate trebuie să fie la fel de puternice ca o cheie RSA de 2048 de biți [5] .
Memoria nevolatilă este utilizată pentru a stoca cheia de confirmare, cheia rădăcină de stocare (SRK ), datele de autorizare, diverse semnalizatoare de acces și blocul Opt-In. Cantitatea acestui tip de memorie este limitată (1280 de octeți) [6] .
Cheia de aprobare (EK ) este o cheie RSA de 2048 de biți care identifică cipul, precum și întregul dispozitiv, o componentă fundamentală a TPM. Partea deschisă se numește PUBEK, partea închisă se numește PRIVEK. Conform politicii de securitate, PRIVEK nu ar trebui să fie disponibil în afara cipului, nu este niciodată folosit pentru a genera semnături . PUBEK este stocat în certificat și este folosit doar pentru a stabili proprietarul TPM și în timpul procesului de generare a AIK. EK este generat înainte ca utilizatorul final să primească platforma. Standardul permite schimbarea acestei chei, ceea ce poate limita utilizarea TPM [5] .
Cheile de identitate de atestare (AIK ) este o cheie RSA de 2048 de biți utilizată numai pentru semnături, nu este utilizată pentru criptare. TPM-ul poate genera un număr nelimitat de AIK-uri, aceste chei trebuie să fie persistente, dar se recomandă stocarea AIK-urilor ca blob -uri în memoria externă persistentă, nu în memoria nevolatilă a TPM. Specificația presupune că producătorii oferă suficient spațiu pentru ca multe blob-uri AIK să fie încărcate simultan în memoria volatilă a TPM. Tranziția AIK de la un TPM la altul este interzisă [6] .
Registrele de configurare a platformei (PCR ) sunt caracteristici TPM unice care conțin, în formă criptată, toate informațiile despre integritatea valorilor sistemului , de la pornirea BIOS până la oprirea sistemului . Informațiile conținute în PCR formează Root of Confidence for Measurements (RTM). Ele pot fi stocate atât în memoria nevolatilă, cât și în cea volatilă. Aceste registre sunt resetate la pornire și când sistemul este repornit. Specificația prescrie un număr minim de registre (16), fiecare registru conține 160 de biți de informații. Registrele 0-7 sunt rezervate pentru nevoile TPM. Registrele 8-15 sunt disponibile pentru utilizare de către sistemul de operare și aplicații [5] . Modificările la valorile PCR sunt ireversibile, iar valorile acestora nu pot fi scrise direct, ele pot fi extinse doar cu noi valori care depind de cele anterioare. Toate modificările valorilor PCR sunt înregistrate într-un jurnal de modificări , care este stocat în memoria volatilă [6] .
Generator de numere aleatorii generator de numere aleatorii, RNG este folosit pentru a genera chei și aleatoriu în semnături [6] . TPM-ul trebuie să poată furniza 32 de biți aleatori per apel. Generatorul de numere aleatoare al cipului este format din următoarele componente:
Sursa de entropie - procese care furnizează entropie ( zgomot , contor ciclului procesorului și alte evenimente). Colectorul de entropie este un proces care colectează entropia, elimină părtinirea, aplatizează ieșirea. Entropia ar trebui să fie transmisă numai la registrul de stat.
Implementarea registrului de stare poate folosi 2 registre: volatile si independente. La pornire, TPM-ul încarcă registrul volatil din cel nevolatil. Orice modificare ulterioară a registrului de stare de la sursa de entropie sau de la funcția de amestecare afectează registrul volatil. La oprire, TPM scrie valoarea curentă a registrului de stare într-un registru nevolatil (această actualizare poate avea loc în orice alt moment). Motivul acestei implementări este dorința de a implementa un registru nevolatil pe memoria flash , numărul de scrieri la care este limitat. TPM trebuie să se asigure că registrul de stare nu este exportat.
Funcția de amestecare preia valoarea din registrul de stare și produce ieșirea RNG. Fiecare utilizare a funcției de amestecare trebuie să modifice registrul de stare.
Când alimentarea este pierdută, RNG este resetat. Orice ieșire RNG către TPM trebuie protejată.
Blocul SHA-1 este utilizat pentru calcularea semnăturilor (semnăturilor), generarea de blocuri de chei și alte scopuri generale. Interfețele hash sunt disponibile în afara TPM. Acest lucru permite mediului să aibă acces la funcția hash .
Generatorul de chei RSA generează perechi de chei RSA. TCG nu definește cerințe pentru timpul de generare a cheilor [6] .
Dispozitivul RSA este utilizat pentru semnături digitale și criptare. Nu există restricții privind implementarea algoritmului RSA. Lungimea minimă recomandată a cheii este de 2048 de biți [5] . Producătorii pot folosi teorema chineză a restului sau orice altă metodă. Valoarea exponentului deschis trebuie să fie .
Această componentă este responsabilă pentru starea TPM și starea de proprietate a utilizatorului TPM. Trei grupuri de variabile sunt responsabile pentru aceasta: TPM activat/dezactivat (în starea dezactivată, toate operațiunile sunt blocate), TPM activat/dezactivat (în starea dezactivată, este posibil să se efectueze operațiuni, de exemplu, schimbarea proprietarului), utilizatorul a trecut/nu a trecut autentificarea ca proprietar al modulului. Aceste informații sunt stocate sub formă de steaguri [5] .
Ideea unei platforme de încredere ( ing. The trusted Platform ) sau a unei platforme care poate fi de încredere (comportamentul ei așteptat se potrivește întotdeauna cu cel real) se bazează pe conceptul de „rădăcină a încrederii” ( ing. Root of Trust ) - un set de componente care trebuie să fie de încredere. Setul complet de rădăcini de încredere are funcționalitatea minimă necesară pentru a descrie o platformă, ceea ce afectează încrederea în platforma respectivă. Există trei rădăcini de încredere: o rădăcină de măsurare a încrederii (RTM), o rădăcină de stocare a încrederii (RTS) și o rădăcină a încrederii mesajului (RTR) [3] . RTM este un motor de calcul care face măsurători fiabile ale integrității platformei. RTS este un motor de calcul capabil să stocheze hash-uri ale valorilor de integritate. RTR este un mecanism care raportează în mod fiabil informațiile stocate în RTS. Datele de măsurare descriu proprietățile și caracteristicile componentelor măsurate. Hash-urile acestor măsurători sunt un „instantaneu” al stării computerului. Stocarea lor este gestionată de funcționalitatea RTS și RTR. Comparând hash-ul valorilor măsurate cu hash-ul stării de încredere a platformei, se poate judeca integritatea sistemului [7] .
TPM este un token de autentificare de generație următoare . Criptoprocesorul acceptă atât autentificarea utilizatorului, cât și a computerului, asigurându-se că numai utilizatorii autorizați și computerele pot accesa rețeaua [TCG 3] . Aceasta poate fi folosită, de exemplu, pentru securitatea e-mailului bazată pe criptare sau pentru semnarea certificatelor digitale asociate cu TPM. Eliminarea parolelor și utilizarea TPM permite modele de autentificare mai puternice pentru acces prin cablu, fără fir și VPN [8] .
Acesta este scopul principal al unui „container sigur”. Dispozitivele cu auto-criptare implementate pe baza specificațiilor Trusted Computing Group permit criptarea încorporată și controlul accesului la date. Aceste dispozitive oferă criptare completă a discului, protejând datele în cazul în care computerul este pierdut sau furat [TCG 4] .
Avantaje:
Pachetul TPM + Bitlocker are perspective mari . Această soluție vă permite să criptați în mod transparent întregul disc din software [7] .
TPM poate autentifica un computer și chiar funcționalitatea acestuia chiar înainte de a obține acces la rețea și, dacă este necesar, pune computerul în carantină [9] .
Certificarea codului programului va proteja jocurile de înșelăciune, iar programele care necesită îngrijire specială, cum ar fi clienții bancare și de corespondență, de modificări intenționate [8] . Adăugarea unui „ cal troian ” în aplicația instalată va fi oprită imediat .
Protecția la copiere se bazează pe următorul lanț: programul are un certificat care îi oferă acestuia (și numai acestuia) acces la cheia de decriptare (care este stocată și în TPM). Acest lucru oferă protecție la copiere care nu poate fi ocolită de software [8] .
TPM 1.2 este folosit pentru a stoca datele Safer Mode Extensions [10] .
Deși specificația presupune atât implementări hardware cât și software ale sistemului TPM, asigurarea nivelului adecvat de securitate stabilit în specificația generală este în prezent posibilă doar cu implementarea hardware [2] . O implementare hardware sub forma unui cip TPM a fost lansată pentru prima dată în 2005 [11] . Până în prezent, peste 500.000.000 de computere [TCG 5] sunt echipate cu cip TPM . În viitor, TPM poate fi instalat pe dispozitive precum telefoanele mobile, dispozitivele de intrare și stocare. Microcontrolerele TPM sunt fabricate și utilizate de multe companii astăzi [TCG 6] .
Modulul Trusted Platform este criticat de unii [12] profesioniști IT pentru numele său. Încrederea ( încrederea în engleză ) ar trebui să fie întotdeauna reciprocă, în timp ce dezvoltatorii TPM nu au încredere în utilizator, ceea ce duce la încălcarea libertății. Potrivit unor specialiști IT [8] [13] , denumirea de „calcul perfid” este mai potrivită pentru calculul de încredere , deoarece prezența modulului garantează contrariul - eliberarea sistematică a computerului din subordonare. De fapt, computerul încetează să mai funcționeze ca un computer de uz general, deoarece orice operațiune poate necesita permisiunea explicită a proprietarului computerului [13] .
Proprietarul computerului nu mai poate face ce vrea cu el, deoarece transferă unele dintre drepturile sale către producătorii de software. În special, TPM poate interfera (din cauza erorilor în software sau a deciziei intenționate a dezvoltatorilor):
Un computer echipat cu un TPM are un identificator unic încorporat într-un cip. Identificatorul este cunoscut de producătorul software-ului și nu poate fi schimbat. Acest lucru compromite unul dintre avantajele naturale ale Internetului - anonimatul [8] . În acest moment, dacă nu există troieni pe computer, nu există erori evidente în software , iar cookie -urile sunt eliminate, adresa IP și anteturile HTTP rămân singurul identificator de utilizator . Odată cu creșterea securității, prezența unui modul TPM poate avea un efect negativ asupra libertății de exprimare, ceea ce este valabil mai ales pentru țările în curs de dezvoltare. Pentru a înțelege la ce poate duce un identificator de computer care poate fi citit și imuabil de la distanță, este suficient să ne amintim o problemă similară cu numărul de identificare a procesorului Pentium III .
Un program lider în industrie (cum ar fi AutoCAD , Microsoft Word sau Adobe Photoshop ) poate seta criptarea fișierelor sale, făcând imposibilă accesarea acestor fișiere prin intermediul programelor de la alți producători , creând astfel o potențială amenințare la adresa concurenței libere pe piața de software de aplicație [8]. ] .
În cazul defecțiunii unui modul, containerele TPM protejate de acesta devin inaccesibile, iar datele din ele devin irecuperabile. Pentru a garanta pe deplin recuperarea datelor în cazul coruperii TPM, trebuie efectuată o procedură complexă de backup . Pentru a asigura confidențialitatea, sistemul de rezervă trebuie să aibă și propriile module TPM.
La conferința de securitate informatică Black Hat 2010 , a fost anunțat un hack pe cipul Infineon SLE66 CL PE, fabricat conform specificației TPM [14] . Acest cip este utilizat în computere, echipamente de comunicații prin satelit și console de jocuri. Hackul a folosit un microscop electronic (în valoare de aproximativ 70.000 USD). Carcasa cipului a fost dizolvată cu acid, au fost folosite ace minuscule pentru a intercepta comenzile. Infineon susține că știau despre posibilitatea piratarii fizice a cipului. Jörg Borchert, vicepreședintele companiei, a asigurat că echipamentul scump și complexitatea tehnică a hackingului nu reprezintă un pericol pentru marea majoritate a utilizatorilor de cipuri.
Pe 24 iunie 2021, în timpul prezentării oficiale a viitorului sistem de operare Windows 11, a fost anunțat că un computer pe care îl rulează necesită un cip TPM în sistem. În majoritatea platformelor PC moderne nu există cip fizic, dar există o implementare software a modulului TPM (fTPM), în cele în care nu este, este posibil să se conecteze un modul hardware (adică există un conector pe placa de baza pentru conexiunea acesteia). În câteva zile de la prezentare, prețurile modulelor au crescut de 5 ori (de la 20 USD la 100 USD). Shen Ye, unul dintre liderii HTC Vive, a spus că speculatorii speră că în curând mulți utilizatori, neștiind cum să activeze fTPM, se vor grăbi să cumpere module și că va fi posibil să profite de acest lucru; din această cauză, speculatorii au început să cumpere masiv module și astfel au provocat o creștere a prețurilor [15] .
Software gratuit și open source | |
---|---|
Lucrul principal |
|
Comunitate |
|
Organizații | |
Licențe | |
Probleme | |
Alte |
|
|