Internetul lucrurilor (IoT), definit pe scurt ca o combinație de tehnologie de calcul cu un consum de putere ultra redus și conectivitate, se află la o răscruce de drumuri. Pe de o parte, nodurile IoT promit o transformare a proiectelor în multe domenii (industrial, medical, auto, case inteligente). Pe de altă parte, fluxul continuu de știri despre încălcări de securitate, de la injecții malware la atacuri DDoS (Distributed Denial-of-Service – Blocarea distribuită a serviciului) și până la atacuri de descărcare a bateriei (battery-drain attacks), are potențialul de a pune în pericol întreaga promisiune a IoT. Nu este surprinzător, prin urmare, că vulnerabilitățile asociate cu aceste încălcări ale securității dispozitivelor de la marginea rețelei (Edge) au devenit o preocupare majoră pentru dezvoltatorii IoT.
Aici, merită să menționăm că, în timp ce practicile convenționale de securitate sunt implementate la nivelul serverului sau gateway-ului, consumul redus de putere și designul compact al dispozitivelor edge (aflate la marginea rețelei) sunt factori limitativi în implementarea funcțiilor robuste de securitate, atunci când se proiectează nodurile IoT. Mai mult, dezvoltarea aplicațiilor de securitate poate adăuga costuri suplimentare considerabile în ceea ce privește timpul și costul de proiectare.
Aspecte ale securității unui nod IoT
Un design robust al nodului IoT trebuie să ofere securitate împotriva atacurilor de comunicație, malware-urilor și atacurilor fizice. Pentru a evita atacurile de comunicație sau atacurile man-in-the-middle (MITM) (Atacul MITM presupune ca hackerul să intercepteze și, dacă are nevoie, să modifice conținutul mesajelor dintre două calculatoare, făcând ca ambele să “creadă” că acestea comunică între ele, conversația fiind de fapt controlată de atacator), o practică obișnuită este utilizarea unui modul cripto care efectuează criptare, decriptare și autentificare.
Tehnologia Arm® TrustZone® restricționează accesul la anumite părți de memorie, periferice și componente I/O. Aceasta partiționează microcontrolerul în zone de încredere și de neîncredere și izolează datele sensibile de datele noncritice. Încărcarea (boot) securizată asigură pornirea microcontrolerului într-o stare bună, cunoscută, iar atunci când este implementat cu Arm TrustZone, acesta poate oferi un mediu capabil să contracareze malware-ul.
Securitatea fizică a unui nod IoT poate fi îmbunătățită cu pini anti-tampering (anti-tampering – acțiuni împotriva comenzilor neautorizate) care oferă protecție împotriva manipulării la nivel de placă. Atunci când placa de circuit sau o incintă este atacată, pinii anti-tampering pot fi programați pentru a oferi răspunsuri multiple, inclusiv ștergerea datelor secrete. De asemenea, este important să existe o protecție (rezistență) împotriva manipulării care să se extindă până la nivelul cipului. Acest lucru va permite protecția împotriva clonării și furtului de proprietate intelectuală (IP). În plus față de aceste trei aspecte, este esențial să se implementeze o rădăcină hardware de încredere, care poate fi realizată cu o secvență de pornire sigură și îmbunătățită printr-un mecanism sigur de furnizare a cheilor.
Proiectanții de noduri IoT trebuie să găsească un echilibru între consumul redus de putere și securitate. Aplicațiile actuale necesită atât un consum redus de putere, cât și o proiectare care să asigure securitate maximă, pentru a nu compromite performanța și fără apariția unor costuri suplimentare privind timpul și costul de proiectare. Pentru dispozitivele IoT aflate la marginea unei rețele (IoT edge devices), consumul de putere este un factor decisiv. Acest lucru necesită microcontrolere capabile să reducă drastic consumul de putere, adăugând în același timp funcții robuste de securitate.
Nu în ultimul rând, proiectele de noduri IoT cu costuri reduse necesită un mecanism simplu pentru implementarea securității. Un mecanism care abstractizează detaliile de securitate la nivel scăzut pentru a evita complexitatea, curbele abrupte de învățare și un cost general semnificativ.
Simplificarea securității embedded
Un exemplu de microcontroler capabil să simplifice implementarea acestor caracteristici de securitate este microcontrolerul SAM L11, dispozitiv căruia i-au fost încorporate funcții de securitate încă din timpul fazei de proiectare a cipului de siliciu. Acesta rulează la 32 MHz, cu o configurație de memorie de până la 64 KB Flash și 16 KB SRAM. Pentru a ilustra la ce ar trebui dezvoltatorii să acorde atenție pentru a introduce securitate în microcontrolere încă de la începutul ciclului de proiectare, vom analiza mai îndeaproape cele patru elemente de securitate esențiale incluse în SAM L11.
- Pornire securizată, imutabilă
SAM L11 este proiectat în așa fel încât secvența inițială de pornire provine de la un program reținut într-o zonă de memorie ROM de pornire, care nu poate fi modificată după fabricare și deci nu poate fi ocolită în proces. Microcontrolerul integrează un accelerator criptografic CRYA (Crypto Accelerator), care accelerează algoritmii de calcul AES, SHA și GCM pentru criptare, decriptare și autentificare și un generator TRNG (True Random Number Generator), conform NIST, pentru generare de numere aleatorii.
- Mediu de execuție de încredere
Tehnologia Arm® TrustZone® permite crearea unei zone sigure în microcontrolerul SAM L11. Împreună cu funcția de pornire securizată, imutabilă, această tehnologie creează un mediu de execuție de încredere (TEE – Trusted Execution Environment), pentru a contracara în mod eficient software-ul malițios. Mediul TEE permite nodurilor IoT să ia măsuri de remediere ori de câte ori este detectat un malware. Astfel, se evită opririle funcțiilor critice și se îmbunătățește semnificativ fiabilitatea nodurilor IoT.
- Stocare securizată a cheilor
În plus față de pinii tamper pentru protecția împotriva manipulării la nivel de placă, SAM L11 mai dispune și de o protecție activă formată din 256 de octeți de memorie RAM, care poate rezista la atacuri de tip microprobare la nivel de cip sau la probleme de remanență a datelor, pentru a oferi stocare sigură pentru cheile volatile. De asemenea, microcontrolerul dispune de o zonă de memorie Flash dedicată, de 2 KB, care poate fi criptată pentru a stoca chei nevolatile, certificate și alte date sensibile. Stocarea sigură a cheilor pe dispozitiv protejează sistemele de atacuri de software și de comunicații și oferă dezvoltatorilor opțiunea de a șterge datele sensibile atunci când este detectat un eveniment tamper (acțiuni externe de pătrundere forțată în sistem).
- Cadru cuprinzător pentru soluții de securitate
SAM L11 este susținut de un cadru cuprinzător de soluții de securitate, care oferă protecție de la un capăt la altul, de la furnizarea de chei într-o facilitate securizată în timpul etapei de fabricare a semiconductoarelor până la implementarea modulelor de securitate în timpul dezvoltării aplicației și până la actualizarea firmware-ului de la distanță, în orice moment al ciclului de viață al componentei. Cadrul include software-ul de securitate Kinibi-M de la Trustonic, care abstractizează detaliile de nivel inferior ale caracteristicilor de securitate ale dispozitivului și oferă o interfață modulară de tip GUI pentru ca proiectanții să aleagă modulul de securitate relevant pentru aplicația lor. Să luăm, de exemplu, bootloader-ul folosit pentru securizarea actualizărilor de firmware. Aici, proiectanții de sisteme embedded nu trebuie să treacă prin sute de pagini dintr-o foaie de catalog pentru a afla cum să creeze un bootloader sigur.
Cadrul de securitate este bine definit și oferă un modul cu ajutorul căruia dezvoltatorii pot implementa rapid un bootloader securizat în aplicația lor. Astfel, orele de studiu în domeniul securității embedded sunt eliminate, iar timpul și costurile de dezvoltare se vor reduce semnificativ.
Caracteristicile de securitate hardware adânc încorporate în microcontrolerele SAM-L11 ajută proiectanții de sisteme embedded la securizarea cheilor în facilitățile securizate ale Microchip utilizând fluxul Root of Trust (RoT) al Trustonic. Figura 2 prezintă diferite module furnizate de cadru pentru implementarea mai ușoară a funcțiilor de securitate.
Un cadru cuprinzător de soluții de securitate sprijină dezvoltatorii de sisteme embedded care nu sunt foarte familiarizați cu aspectele de securitate să evite curbele abrupte de învățare și costurile generale. În cel mai scurt timp, puteți implementa cu ușurință caracteristici robuste de securitate într-o mare varietate de cazuri de aplicație, așa cum este prezentat în figurile 3, 4, 5 și 6.
Dispozitivul folosește tehnologia picoPower, care asigură un consum redus de putere în modul activ și cel de repaus, cu scoruri ULPMark de top la nivel industrial și certificat de EEMBC. De asemenea, acesta oferă diverse moduri de economisire a energiei și tehnici de consum redus de putere pentru a oferi flexibilitate, astfel încât proiectanții pot implementa în mod convenabil securitatea fără a sacrifica consumul de putere.
Concluzie
Rata la care sunt conectate dispozitivele IoT edge a depășit rata la care aceste dispozitive sunt implementate în siguranță. Unul dintre motive este că ideea de securitate a apărut mai tîrziu, în spațiul aplicațiilor embedded, iar un alt factor, care contribuie la această tendință este că nu există multe microcontrolere disponibile astăzi pe piață, care să încorporeze caracteristici robuste de securitate în amprente de 64 KB Flash sau mai jos și care să corespundă constrângerilor de preț cerute de nodurile IoT.
Cu toate acestea, în timp ce vulnerabilitățile de securitate embedded deschid noi vectori de atac pentru hackeri, o nouă gamă de microcontrolere permite dezvoltatorilor de noduri IoT să configureze și implementeze caracteristici de securitate rapid și eficient.
Articolul a arătat cum aceste microcontrolere de securitate pot simplifica implementarea unor protecții robuste, reducând în același timp orele de studiu și costurile generale.
Resurse
Autor: Ramanuja Konreddy,
Inginer principal – Marketing de produse în cadrul departamentului Microcontrolere pe 32-biți la Microchip
Microchip Technology | https://www.microchip.com