Modul de platformă de încredere

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Trusted Platform Module (literalmente modul pentru o platformă de încredere , adesea prescurtată ca TPM) este denumirea prin care sunt indicate atât specificațiile pentru construirea unui microcip dedicat securității cibernetice , publicate de Trusted Computing Group , cât și cipul în sine. Acest microcip este în general implementat ca un modul suplimentar pentru o placă de bază a computerului , dar poate fi găsit și în handheld-uri și alte dispozitive electronice.

Acest cip a fost cunoscut anterior sub numele de Chip Fritz , un nume derivat de la senatorul american Ernest "Fritz" Hollings , un puternic susținător al acestui proiect. Scopul TPM este de a crește securitatea IT: fiecare cip este echipat cu o pereche de chei criptografice unice, care îl fac identificabil unic, și un motor de criptare asimetric pentru criptarea datelor.

Modulul Trusted Platform este conceput pentru a fi disponibil pe orice sistem de operare sau platformă [1] . În prezent, aceste cipuri sunt populare în rândul utilizatorilor de telefonie mobilă pentru companii și mai mulți producători de plăci de bază și computere desktop și oferă suport opțional pentru această tehnologie. Conform International Data Corporation, până în 2010 toate laptopurile și practic toate computerele ar fi trebuit să fie echipate cu TPM [2] . În ciuda acestei previziuni, cipul TPM nu s-a răspândit în toate arhitecturile. Când Apple a trecut la procesoarele Intel în 2006 , a încorporat TPM în unele, dar nu în toate, plăcile de bază Mac [3] , apoi l-a eliminat complet în 2009 . În iulie 2013 , când a fost lansată specificația Windows 8.1, Microsoft a inclus-o ca o cerință obligatorie începând cu 1 ianuarie 2015 [4] .

Arhitectură

Specificațiile publicate de Trusted Computing Group [5] definesc care ar trebui să fie arhitectura procesorului și ce funcționalitate minimă ar trebui să ofere.

Fiecare TPM trebuie să ofere anumite funcții minime [6] , și anume:

În acest scop, fiecare modul de platformă de încredere trebuie să fie echipat cu componente specifice, conectate între ele printr-o magistrală internă și capabile să interacționeze cu restul computerului printr-o magistrală externă. Aceste componente trebuie să fie următoarele:

Dispozitiv de intrare / ieșire

Componenta I / O trebuie să fie capabilă să gestioneze comunicațiile pe magistrale interne și externe, criptând și decodând informațiile atunci când este necesar. Acesta trebuie să garanteze accesul la dispozitiv în asociere cu dispozitivul Opt-In.

Coprocesor criptografic

Fiecare dispozitiv trebuie să fie echipat cu un procesor capabil să efectueze următoarele operații:

  • Generarea de chei asimetrice
  • Criptare și decriptare asimetrică
  • Generarea de numere aleatorii
  • SHA-1 hashing

Acest procesor poate utiliza, de asemenea, criptografie asimetrică pentru comunicațiile interne către modul, dar nu trebuie să expună datele generate cu algoritmi simetrici în exteriorul modulului. Pentru emiterea semnăturilor digitale, se utilizează algoritmul asimetric RSA cu dimensiunea cheii de 2048 octeți , deși modulul trebuie să accepte și cheile de 512 și 1024 octeți. Aceste chei pot fi cunoscute doar de modul sau în combinație între o entitate externă și modulul în sine.

Generator de chei criptografice

Generatorul de chei trebuie să poată genera perechi de chei asimetrice și chei simetrice. Nu există nicio limitare a timpului de creare a tastelor.

Motor HMAC

Pictogramă lupă mgx2.svg Același subiect în detaliu: HMAC .

Motorul HMAC trebuie să fie capabil să ofere două funcții importante:

  • Dovada faptului că datele de identificare sunt corecte
  • Dovada faptului că datele care intră în formular sunt autorizate și nu s-au modificat în timpul transmiterii.

În acest scop, se utilizează algoritmul criptografic HMAC cu o dimensiune a cheii de 20 de octeți și o dimensiune a blocului de date de 64 de octeți. Particularitățile algoritmului îl fac potrivit pentru aceste scopuri: HMAC folosește o combinație a mesajului original și a cheii secrete pentru a cripta datele, asigurând o securitate maximă.

Generator de numere pseudorandom

Motorul cu numere aleatorii este sursa aleatoriei din cadrul modulului. Specificațiile prevăd utilizarea unui algoritm generator de numere pseudo-aleatorii pentru crearea cheilor și semnătura digitală . Generatorul de numere aleatorii trebuie să fie format dintr-o componentă capabilă să accepte și să amestece date imprevizibile de la un coprocesor pentru a returna acele date ca urmare a unei funcții non-inversabile, cum ar fi algoritmul SHA-1 . La fiecare apel trebuie să poată genera 32 de octeți de date aleatorii.

Componenta pentru crearea de numere aleatorii trebuie inițializată în timpul procesării cu date aleatorii, generate de exemplu prin perturbarea termică a semnalului sau prin software special; după această inițializare, nicio entitate, nici măcar producătorul în sine, nu trebuie să poată verifica starea generatorului respectiv. În timp ce este utilizată, această componentă va continua să utilizeze aleatorii hardware sau software pentru a genera date aleatorii, cum ar fi verificarea aleatorie a tastelor sau combinarea mișcărilor mouse-ului . Funcția utilizată ca ieșire trebuie să primească în mod necesar un număr mai mic de biți în intrare decât cele returnate în ieșire, pentru a garanta imposibilitatea urmăririi stării generatorului de numere.

Motor SHA-1

Modulul trebuie să integreze un dispozitiv capabil să gestioneze hash- uri SHA-1 de 160 de biți. Aceste hash-uri sunt utilizate pentru semnarea digitală a fișierelor.

Power Manager

Modulul Trusted Platform trebuie să fie echipat cu o componentă capabilă să gestioneze sursa de alimentare a modulului și să informeze modulul însuși despre starea de alimentare a dispozitivelor disponibile pe mașina în care este instalat. Aceste informații sunt utilizate de modul pentru a detecta prezența fizică a utilizatorilor mașinii pentru a se asigura, de exemplu, că unele operațiuni specifice de pe modul pot fi efectuate numai prin autorizare sau, în cazul gestionării de la distanță, prin prezența unui operator.

Înscrieți-vă

Componenta Opt-In trebuie să poată furniza mecanismele și protecțiile necesare pentru a activa, dezactiva, activa sau dezactiva TPM. Este, de asemenea, componenta responsabilă pentru verificarea prezenței fizice a operatorilor pe mașina pe care este instalat Trusted Platform Module. Componenta Opt-In trebuie să se asigure că modulul poate fi pornit, oprit, activat sau dezactivat numai de către utilizatorii care dețin controlul TPM, definit ca proprietar TPM sau, în cazul unui proprietar la distanță, dacă există operatori prezent pe aparat.

Motor de execuție

Motorul de execuție execută codul extern, obținut din modulul Input / Output, pentru a utiliza funcționalitatea modulului Trusted Platform. Acesta trebuie să poată garanta transparența operațiunilor și protecția datelor sensibile.

Memorie non volatila

Modulul trebuie să fie echipat cu memorie non-volatilă , dedicată menținerii informațiilor, cum ar fi identitatea modulului Trusted Platform. Această memorie trebuie să fie accesibilă proprietarului modulului sau de către entitățile autorizate de acesta, pentru stocarea sigură a datelor. Modulul, datorită duratei limitate de viață a componentelor de memorie nevolatile, trebuie să acceseze aceste componente pentru a nu le face și, prin urmare, modulul în sine, prematur inutilizabil.

Utilizare

Pictogramă lupă mgx2.svg Același subiect în detaliu: Trusted Computing § Applications of Trusted Computing .

Pentru a fi utilizat, fiecare modul de platformă de încredere necesită utilizarea unui anumitpachet de software de încredere , determinat și de specificațiile Grupului de calcul de încredere . Atunci când este utilizat împreună cu un astfel de software, TPM poate:

  • certifică identitatea și statutul de încredere al platformei de care aparține ( atestare la distanță );
  • criptați informațiile care sunt trimise pe magistralele de sistem sau salvate în memoria de masă ( sigilarea datelor , literalmente „sigilarea datelor” și legarea datelor , literal „conexiunea de date” la TPM);

Tehnica de etanșare a datelor corespunde salvării datelor criptate folosind o cheie care depinde de starea sistemului, adică o combinație între hardware și software-ul care rulează. Decriptarea acelorași date va fi posibilă numai utilizând aceeași cheie, adică utilizând aceeași configurație de sistem în momentul salvării (același hardware și același software care rulează).

Legarea se referă la criptarea datelor folosind o cheie de aprobare numită Cheie de aprobare, care este o cheie RSA care identifică în mod unic TPM însuși introdus în cip în timpul fabricării sale, asigurându-se astfel că astfel de date pot fi decriptate doar de același modul care a criptat-o. .

Atestarea la distanță se realizează prin intermediul unor chei de criptare speciale, numite AIK ( Attestation Identity Key ), generate dacă este necesar de TPM. Alternativ, din versiunea 1.2 a specificațiilor TCG, este posibil să se utilizeze protocolul de atestare directă anonimă pentru autentificare în rețea [7] [8] , care permite autentificarea la distanță a mașinii, păstrând în același timp confidențialitatea sistemului autentificat.

Cipul, în esență, are o funcție de control pasiv pe hardware-ul și software-ul instalat pe mașina pe care este prezent. Prin intermediul unor registre speciale din interior, denumite PCR (Platform Configuration Register), TPM ține evidența evoluției stării sistemului, măsurându-l (este practic prelucrarea unui hash al informațiilor preluate de pe dispozitive și software-ul care rulează ) conform următoarei formule

adică, conținutul PCR - lea este actualizat j- (la momentul ) cu hash SHA1 (US Secure Hash Algorithm 1, RFC 3174 ) calculat pe conținutul anterior al aceluiași registru (la momentul respectiv ) și cu privire la informațiile colectate în prezent (la momentul respectiv ) din sistem (la pornirea sistemului, conținutul PCR-urilor este setat la 0).

Software-ul ( încărcătorul de boot , sistemul de operare , programele de aplicație), proiectat în mod adecvat pentru a interfața cu TPM, poate decide apoi, pe baza informațiilor conținute în prezent în PCR și pe baza propriei logici programate, ce operațiuni să întreprindă. Din motive evidente de securitate, TPM ar putea împiedica sistemul să pornească de pe orice unitate, alta decât cea pe care este instalat, chiar dacă o secvență de încărcare diferită este setată pe Uefi sau dacă o unitate diferită este forțată să pornească. Această caracteristică este fie predefinită, fie configurabilă. Lansarea unei unități de recuperare sau a unui mediu live ar putea fi, de asemenea, prevenită în mod legitim. Această situație îl obligă pe utilizator să fie extrem de atent în a ști exact unde este stocată cheia de criptare și să păstreze parola de recuperare în altă parte.

Activare

De obicei, mașinile echipate cu un cip TPM au o comandă de firmware în interfața Uefi pentru a activa sau a dezactiva instrumentul. Numai prin activarea TPM de la Uefi permite sistemului de operare să îl detecteze și apoi să îl activeze pentru administrare ulterioară. Prin urmare, chiar dacă îl dezactivați din sistemul de operare, TPM rămâne activat în firmware (până când îl dezactivați aici).

Cache TPM

Atât cheia de autentificare, cât și orice parolă de recuperare sunt de obicei stocate într-un cache specific. Cu excepția cazului în care ați creat și un dispozitiv de deblocare hardware (unitate USB), dacă ați șterge memoria cache a unui spațiu de stocare criptat, este posibil să nu mai aveți acces la informațiile stocate. De exemplu, acest lucru se întâmplă cu ștergerea memoriei cache BitLocker TPM.

O altă problemă poate apărea atunci când bateria tampon a plăcii de bază este complet descărcată: în acest caz, UEFI își pierde sincronizarea cu data și ora exacte și, prin urmare, dispozitivul TPM ar putea intra în protecție, nemaifiind acceptarea cheii.autentificarea și nici parola de recuperare. În aceste cazuri, este necesar să înlocuiți bateria de rezervă (sau, în orice caz, să o aveți suficient încărcată, cu data / ora corectă, cel puțin până la autentificare) sau să porniți unitatea criptată pe un alt computer compatibil (după ce ați scos-o din mai întâi, desigur).

Critici

Pictogramă lupă mgx2.svg Același subiect în detaliu: Critica computerului de încredere .

Multe obiecții la adoptarea acestui tip de cip au apărut din sfera software-ului liber și a susținătorilor utilizării corecte . Detractorii susțin că un astfel de sistem poate fi utilizat nu numai pentru a face o mașină mai sigură, deși rămâne de clarificat cine stabilește regulile în baza cărora o anumită stare a sistemului este considerată sigură, ci și pentru a decide ce programe pot accesa anumite date, crearea sau amplificarea unui fel de monopol din partea susținătorilor Trusted Computing . Microcipul, conform specificațiilor publicate de Trusted Computing Group , are însă un control pasiv asupra software-ului, adică nu este capabil să decidă ce poate folosi un utilizator; dimpotrivă, totuși, un software bazat pe Trusted Platform Module ar putea decide să nu efectueze operațiuni considerate nesigure, cum ar fi, de exemplu, conectarea la o rețea considerată nedemnă de încredere.

Au fost ridicate critici împotriva sistemului de atestare la distanță [9] , în timp ce unii cred că sigilarea are funcția esențială de a crea sisteme noi și mai eficiente de gestionare a drepturilor digitale , mai degrabă decât de a proteja informațiile în sine.

Gândac

În octombrie 2007, a fost descoperit un defect de securitate bazat pe depășirea bufferului în serviciile furnizate de modulul TPM instalat pe notebook-urile IBM ThinkPad care ar permite executarea arbitrară a codului prin pachete HTTP [10] . IBM a transmis toate datele referitoare la încălcare către Lenovo [11] pentru rezolvarea problemei. Începând cu decembrie 2007, nu sunt disponibile alte informații în acest sens.

Stivă de software de încredere

Trusted Software Stack este un API standard pentru utilizarea Trusted Platform Module, ale cărui specificații sunt publicate de Trusted Computing Group [12] .

Stiva software de încredere este concepută pentru interoperabilitate în toate sistemele de operare. Cu versiunea 1.2 a specificației, a fost actualizat pentru a garanta suportul pentru protocolul de atestare directă anonimă și crearea cheilor de atestare AIK [13] .

Caracteristici principale

Următoarele sunt doar câteva dintre caracteristicile oferite de stiva software de încredere. În practică, orice aplicație care profită de funcționalitatea oferită de calculul de încredere trebuie să utilizeze o stivă de software de încredere pentru a accesa funcțiile oferite de TPM. Funcționalitățile enumerate mai jos ar trebui, prin urmare, să fie considerate funcționalități care ar putea fi oferite de aplicațiile care rulează pe o platformă de încredere care profită de API-urile furnizate de stiva software Trusted. De fapt, funcționalitățile acestor aplicații nu au fost standardizate de către TCG.

Traducere de politici

Implementarea tuturor politicilor de securitate impuse de programe utilizatorului sau de programe de către utilizator.

Protecție a vieții private

Apărarea utilizatorului împotriva abuzurilor TC (niciun software nu trebuie, de exemplu, să sigileze datele sau să trimită partea publică a cheii de aprobare către terți fără acordul proprietarului TPM).

GUI de încredere

Garantează protecția datelor considerate sensibile de aplicațiile care utilizează TSS atât la intrare, cât și la ieșire.

Manager compartiment

Gestionați partițiile de execuție; unele aplicații pot fi pornite într-o partiție de execuție protejată care profită de caracteristicile oferite de calculele de încredere pentru a asigura integritatea aplicației și confidențialitatea datelor pe care le procesează.

Notă

  1. ^(EN) Întrebări frecvente despre modulul Platformă de încredere Depus 3 octombrie 2006 în Arhiva Internet ., Întrebări frecvente
  2. ^(EN) Abordarea mai slabă a Microsoft în ceea ce privește securitatea Vista Arhivat pe 21 noiembrie 2006 în Internet Archive .,
  3. ^(EN) Apple Drops Trusted Computing , TPM lipsește noua placă de bază Apple
  4. ^ Cerințele Windows 81 , TPM printre cerințele Windows 8.1
  5. ^ Trusted Computing Group - Dezvoltatori
  6. ^(EN) specificații ale computerului de încredere Depus la 15 noiembrie 2008 în Internet Archive ., Versiunea 1.2, Revizia 103, 16 și paginile ulterioare.
  7. ^(EN) atestare directă anonimă
  8. ^(EN) atestare directă anonimă redusă -versiune
  9. ^ http://www.oceanidigitali.it/drupal/DAA Arhivat 19 octombrie 2007 la Internet Archive .
  10. ^(EN) http://en.securitylab.ru/nvd/305875.php Depus la 11 decembrie 2007 Internet Archive .
  11. ^ Information Risk Management Plc. - Alerte pentru furnizori - 0 zile , pe irmplc.com . Adus la 13 martie 2019 (depus de „url original 24 iulie 2008).
  12. ^ Copie arhivată , pe Trustcomputinggroup.org . Adus la 28 ianuarie 2013 (arhivat din original la 2 mai 2015) . ( EN ) Întrebări frecvente despre pila de software de încredere
  13. ^ https://trustedcomputinggroup.org/resource/tcg-software-stack-specification-tss-1-2-faq/ ( EN ) Trusted Software Stack versiunea 1.2 Întrebări frecvente

Bibliografie

Elemente conexe

Alte proiecte

linkuri externe

Securitate IT Portal de securitate IT : accesați intrările Wikipedia care se ocupă cu securitatea IT