Cum să alegeți un RoT accesibil pentru securitate IoT maximă

Nodul sursă: 1442950
Securitate IoT încorporată
Ilustrație: © IoT For All

Dispozitivele Edge sunt cele mai comune dispozitive IoT implementate în fiecare an, dar fiecare dispozitiv Edge adaugă un potențial punct de acces pentru un hacker. Aceste dispozitive de vârf sunt de obicei senzori care colectează date, cum ar fi temperatura sau locația, și apoi se conectează la rețelele locale pentru a trimite datele către un serviciu cloud sau un server intern. Cu numărul mare de dispozitive de vârf și accesul pe care acestea îl oferă la rețele, importanța securității lor nu poate fi subestimată.

Securitatea dispozitivului IoT începe cu microcontrolerul. Există multe măsuri de protecție care trebuie integrate în microcontroler, cum ar fi încărcarea securizată imuabilă și rezistența la manipulare. Pentru a comunica în siguranță cu un dispozitiv conectat, o altă cerință cheie este autentificarea dispozitivului, adică dovada identității. Această identitate trebuie să fie unică. Odată ce identitatea a fost stabilită și dovedită, se poate construi o legătură de comunicații sigură. Legătura este criptată folosind chei criptografice. Atât identitatea dispozitivului, cât și cheile sale criptografice sunt derivate din numere aleatorii pe care le numim „semințe”. Împreună, un microcontroler securizat, o identitate unică și cheile criptografice formează un Root-of-Trust (RoT). RoT este fundamentul securității în cadrul unei rețele IoT.

Cum este încorporat RoT într-un cip semiconductor

Există două metodologii fundamentale pentru crearea RoT într-un microcontroler. Cel mai frecvent folosește un computer extern numit Hardware Security Module (HSM). Acesta este un computer care este dedicat generării de numere aleatorii și chei criptografice și gestionării acelor chei. Cheile sunt generate extern microcontrolerului și sunt programate în acesta - un proces cunoscut sub numele de „injectare cheie” – folosind o interfață de programare. În mod obișnuit, există probleme de securitate cu injectarea cheii, deoarece interfața nu poate fi adesea criptată.

Cealaltă metodologie este cea în care cipul în sine generează valori unice și le convertește în chei criptografice. De obicei, microcontrolerul poate folosi variații fizice aleatorii care apar în timpul procesului de fabricație pentru a genera semințe aleatorii. Aceste variații de proces sunt numite Funcții fizice neclonabile sau PUF. PUF-urile generează semințe aleatorii, care apoi pot fi convertite în identități și chei criptografice printr-un accelerator de generare a cheilor, o funcție de circuit periferic care este deja integrată în microcontroler.

Mai multe despre Key Injection

Injectarea cheii poate fi relativ costisitoare din cauza necesității de echipamente de programare specializate. De obicei, aceasta este furnizată de o casă de programare specializată care utilizează programatori legați îndeaproape de HSM-uri. Deoarece aveți de-a face cu o terță parte, acest lucru introduce un risc de securitate, iar metodologia contravine celor mai recente recomandări ale experților în securitate, care constă în adoptarea unei abordări de securitate zero, evitând implicarea terților.

Cheile injectate trebuie să fie stocate în memorie în interiorul dispozitivului. Ele sunt în general stocate în memorie nevolatilă și apoi protejate de tehnologia de securitate hardware din interiorul microcontrolerului. De exemplu, tehnologia Arm TrustZone descompune mediul de execuție în memorie, periferice și funcții sigure și nesecurizate. Chiar și cu astfel de măsuri în vigoare, cheile pot fi vulnerabile la citirea de către persoane cu intenții rău intenționate, deoarece sunt doar în memoria flash standard a dispozitivului. O altă vulnerabilitate este că cheile sunt adesea transferate către dispozitive printr-o legătură necriptată, ceea ce le poate expune atacurilor.

Cum PUF elimină unele dintre riscurile de securitate

Să ne uităm la PUF mai detaliat. SRAM PUF este un bun exemplu de tehnologie PUF de prima generație. SRAM este încorporat în majoritatea microcontrolerelor și microprocesoarelor. Când porniți aceste cipuri, celulele SRAM capătă fiecare o stare zero sau una. Starea în care se stabilesc depinde de micile variații fizice ale plachetei de siliciu. Variațiile sunt aleatorii și sunt folosite pentru a crea semințele care pot fi folosite pentru a genera chei criptografice. SRAM-ul dintr-un dispozitiv devine amprenta acelui microcontroler și îi oferă o identitate unică. Deoarece SRAM PUF utilizează tehnologia de memorie care este deja într-un microcontroler, aveți nevoie doar de un software pentru a conduce PUF.

Memoria flash este un alt tip de PUF. Memoria flash este din nou deja disponibilă în majoritatea microcontrolerelor. Celulele flash sunt „programate” prin suprasolicitarea lor până la punctul în care este cauzată o oarecare defalcare în stratul de izolație cu oxid de siliciu al porților tranzistoarelor din fiecare celulă de memorie. Din cauza nepotrivirii dintre cele două tranzistoare care cuprind fiecare celulă flash, veți obține fie unul, fie zero. Aveți nevoie de o tensiune înaltă pentru a induce ruptura oxidului de poartă în acest tip de tehnologie, deci există o fază inițială de programare, dar odată ce programul este finalizat, obțineți date aleatorii în acea celulă flash, pe care le puteți citi. Acest lucru necesită o pregătire, dar din nou profită de tehnologia care este deja în microcontroler sau microprocesor.

Avantajele și dezavantajele acestor tehnologii PUF de prima generație

Să ne uităm mai întâi la varianta SRAM. Un avantaj major este că nu trebuie să injectați chei în microcontroler. Semințele pentru a genera cheile sunt create chiar de SRAM, care este deja în cip. Cheile nu sunt stocate în memorie, ci în alcătuirea fizică a celulelor SRAM. Acest lucru face cipul dificil de piratat.

Tehnologia SRAM PUF este utilizată de mai mulți producători de semiconductori, inclusiv Intel, Microsemi, NXP și Xilinx. Cu toate acestea, tehnologia are limitări, una dintre acestea fiind că, în general, tinde să fie generată o singură sămânță. Dacă doriți mai multe chei criptografice, trebuie să le generați din această sămânță comună, ceea ce înseamnă că sunt corelate matematic și în mod inerent mai puțin sigure decât dacă acea relație nu ar exista.

Un alt compromis este că celulele nu pornesc întotdeauna în aceeași stare preferată. Aceasta înseamnă că aveți nevoie de corectarea erorilor pentru a vă asigura că sămânța pe care doriți să o creați din celule este stabilă și repetabilă. Gradul de repetabilitate depinde de producătorul specific de memorie și uneori entropia sau gradul de aleatorie a unui PUF bazat pe SRAM poate fi slabă. Există o rezistență îndoielnică la atac. Deoarece identitatea se află în interiorul unei celule SRAM, vedeți curenți care curg și, prin urmare, celula ar putea fi susceptibilă la atacul pe canalul lateral, unde măsurarea fluxului de curent sau un alt fenomen electric poate fi utilizată pentru a citi starea fiecărei celule. SRAM PUF suferă, de asemenea, de un timp de configurare relativ lung în timpul pornirii, lăsând microcontrolerul și dispozitivul IoT pe care îl conduce, susceptibile de a fi atacate în această perioadă.

Să luăm acum în considerare PUF-urile de memorie flash. Încă o dată, nu trebuie să injectați chei în dispozitiv, iar semințele sunt create în memoria flash care se află deja în microcontroler. Odată ce semințele au fost programate în memorie, le puteți extrage cu o latență scăzută folosind o simplă citire. Procesul nu necesită corectarea erorilor, deoarece după ce a fost programată celula flash, starea acesteia nu variază.

Desigur, stocarea semințelor în memorie ar putea însemna că acestea sunt susceptibile la atac, iar un alt dezavantaj al memoriei flash PUF este suprafața suplimentară de siliciu din cauza necesității unei pompe de încărcare, care este necesară pentru a introduce tensiuni înalte în proces pentru a ruperea stratului de oxid al semiconductorului. La fel ca PUF-urile SRAM, PUF-urile de memorie flash nu se bazează pe un bloc de circuit de securitate dedicat autonom. Deoarece memoria flash este reutilizată, nu este disponibilă pentru alte funcții. Există, de asemenea, un timp de configurare relativ lung, deoarece trebuie să programați memoria pentru a provoca ruperea stratului de oxid.

Cum PUF de a doua generație îmbunătățesc securitatea IoT

PUF-urile de a doua generație sunt blocuri IP din siliciu concepute special pentru securitate și optimizate pentru procesele CMOS standard. Ele cuprind de obicei o matrice de celule de 64 pe 64 care este inclusă în procesul CMOS al fiecărui dispozitiv din care este extrasă o amprentă. Natura aleatorie a acelei amprente se bazează pe pozițiile atomice și pe imperfecțiunile nanostructurilor din stratul de oxid de siliciu al tranzistorilor CMOS din matrice. Circuitele din IP măsoară curentul de tunel cuantic prin stratul de oxid al fiecărei perechi de tranzistori. Natura probabilistică, aleatorie a curentului de tunel generează cele și zerourile amprentei. Curenții măsurați sunt de ordinul femto amperi. Variațiile acestor curenți generează numere aleatorii care sunt folosite pentru a produce identități de cip unice, imuabile și neclonabile, din care pot fi create și chei criptografice la cerere.

Aceste PUF de a doua generație oferă cea mai mare securitate posibilă. În primul rând, ele prezintă o entropie ridicată sau aleatorie. Acest lucru este garantat pentru că măsurați un efect cuantic probabilist. Acestea produc mai multe chei necorelate în cadrul matricei de celule 64 pe 64 și cheile sunt generate la cerere, astfel încât nu trebuie să fie stocate în memorie unde ar fi susceptibile de scurgeri.

Testarea independentă a tehnologiei arată că aceasta poate fi sigură împotriva tuturor metodelor de atac cunoscute și poate suporta certificarea de securitate EAL Nivel 4. O versiune este, de asemenea, certificată PSA ca fiind pregătită pentru nivelul doi. Desigur, ca și omologii lor SRAM și memorie flash, PUF-urile de a doua generație elimină nevoia de injectare a cheilor și riscurile de securitate implicate în acest proces. IP-ul are o amprentă mică de siliciu pentru a menține costurile la un nivel minim și rate de eroare scăzute, care sunt ușor compensate cu un algoritm mic de corectare a erorilor care consumă o suprasarcină minimă a procesorului. Cipurile de testare dovedite sunt disponibile astăzi și marile companii de semiconductori vor anunța adoptarea acestei a doua generații PUF ca tehnologie Root-of-Trust în lunile următoare.

Autorul a creat un videoclip care explică mai multe despre Root-of-Trust, care poate fi vizionat aici:

Sursa: https://www.iotforall.com/how-to-choose-an-affordable-rot-for-maximum-iot-security

Timestamp-ul:

Mai mult de la IOT pentru toți