Proiectare IoT: o abordare în vederea creării de sisteme sigure, robuste și rezistente

by donpedro

La un sistem embedded pentru IoT este esențial să analizăm modul în care dispozitivul se potrivește în întregul sistem prin simularea amenințărilor și analiza riscurilor pentru a determina performanța acestuia și de ce are nevoie pentru a fi suficient de capabil. Indiferent dacă este conectat prin cablu sau nu, dispozitivul ar putea avea o durată de viață de la unu la 20 de ani, timp în care poate fi expus atacurilor. Putem face față acestor atacuri, dacă ținem cont atunci când dezvoltăm sistemul că securitatea este o prioritate cheie, care include printre altele, necesitatea ca actualizările și întreținerea software-ului să fie efectuate în siguranță.

Aceasta lucru înseamnă că, la începutul proiectării, este esențial să luați în considerare modul în care doriți să conectați dispozitivul la internet, cum va arăta arhitectura sistemului vostru, cum veți gestiona evenimentele care apar și orice probleme legate de întregul sistem.

Deoarece un dispozitiv IoT necesită contribuții din mai multe zone – IT, marketing, inginerie, vânzări, personal executiv, finanțe și juridic – acestea trebuie să definească și să înțeleagă precis nevoile, așteptările, costurile dispozitivului, precum și veniturile pe care acesta le poate genera. Problemele care trebuie luate în considerare includ conformitatea produsului, răspunderea, colectarea datelor, stocarea și utilizarea, precum și modul de soluționare a unei breșe de integritate sau în ceea ce privește siguranța datelor. De asemenea, care este modelul de afacere pentru a acoperi costurile pe termen lung legate de rularea dispozitivului într-un sistem conectat la cloud și ce beneficii oferă utilizatorului? Modul în care un produs este creat și întreținut pe termen lung este puternic influențat de aceste decizii inițiale.

Figura 1: Elementele de bază ale unei soluții IoT  —  (Sursă imagine: Microchip)

Situația a devenit și mai complexă odată cu noile legislații, cum ar fi regulamentul general privind protecția datelor (GDPRGeneral Data Protection Regulation). Ghiduri utile pot fi găsite la serviciul „Secure by Design” al guvernului britanic, Agenția Uniunii Europene pentru securitatea rețelelor și informațiilor (ENISA – European Union Agency for Network and Information Security) și fundația IoT Security.

Ușurința în utilizare și necesitatea de a spori securitatea se află adesea în contradicție la nivelul proiectării, la fel ca parolele complexe și procesele de înregistrare a dispozitivelor. Acest lucru înseamnă că este esențial ca, pentru un produs, să avem în vedere încă de la început securitatea și simplitatea.

Dacă luăm în considerare un produs embedded conectat, acesta constă din patru elemente hardware de bază:

  • Procesare
  • Memorie
  • Comunicație
  • Element hardware securizat

Există, de asemenea, un al cincilea element foarte important – software-ul.

Aceste elemente de bază sunt comune în toate sistemele. Modul exact în care sunt implementate este o alegere de proiectare, care trebuie făcută pe baza cazului concret de utilizare al produsului, a evaluării și atitudinii față de risc, a costului, a capacități de dezvoltare, securitate și mentenanță.

Scopul ar trebui să fie un proiect de sistem care să fie robust, fiabil, rezistent, recuperabil, sigur, de încredere, scalabil, care să permită întreținere, să fie utilizabil și să se poată fabrica. Ar trebui să păstreze integritatea mărcii și să aibă un cost adecvat, relevant cerințelor cu care se va confrunta sistemul. Se presupune că pentru proiectarea, dezvoltarea și fabricarea unui dispozitiv conectat, costurile vor fi mai mari decât un dispozitiv embeded clasic simplu, care nu poate fi actualizat. Cu toate acestea, dacă este proiectat corect, profitul pe termen lung pe care îl va aduce dispozitivul va depăși cu mult costul componentelor. Deci, este justificat din punct de vedere financiar să se dezvolte aplicații IoT fiabile de la început, decât să se repare lucrurile mai târziu, în cazul în care acestea se defectează.

Figura 2: Exemplu de soluție wireless(Sursă imagine: Microchip)

În multe situații, pentru un dispozitiv IoT, se va utiliza cel puțin un procesor. Dispozitivul WiFi va include adesea un anumit nivel de procesare, în special pentru Wi-Fi® și Bluetooth®, pentru a gestiona protocoalele complexe de bază. Arhitectura exactă a unui sistem depinde de tipul său de utilizare, de necesități, de atitudinea față de risc și de mulți alți factori.

Rădăcina de încredere (,,Root of Trust”)

Un sistem sigur necesită o modalitate de încredere de stocare a elementelor secrete și de a autentifica validitatea, asigurându-se în același timp că secretul în sine nu este niciodată dezvăluit. O „ancoră de încredere”, de obicei sub forma unui element sigur, va face acest lucru. Aceste dispozitive oferă metode fizice multiple pentru a preveni atacurile hardware cunoscute și adaugă în același timp funcții precum NIST SP 800 – un generator de numere aleatorii (RNG Random Number Generators) de calitate – și algoritmi criptografici, cum ar fi FIPS, conform cu Elliptic Curve Digital Signature Algorithm (ECDSA-P256).

Un element sigur ajută la:

  • Autentificarea unui dispozitiv către servicii bazate pe cloud folosind metodologii de infrastructură, bine testate și înțelese, cu cheie publică (PKI Public Key Infrastructure). Aceasta permite preînregistrarea dispozitivelor în sistem la fabricare, cu certificat individual per dispozitiv și generarea unui cod QR la fabricare pentru a asocia produsul final cu un certificat specific. La punerea în funcțiune, codul QR se corelează cu contul utilizatorului și cu sistemul (back-end) de siguranță, care face legătura între certificate și contul clientului, asigurând un proces de punere în funcțiune simplu și sigur, îndeplinind în același timp cerințele de reglementare. De fapt, Microchip Technology a introdus recent prima soluție de chei securizate pre-provizionate din industrie, disponibile într-o cantitate minimă de comandă (MOQ Minimum Orderable Quantity) – redusă de 10 unități – ajutând dezvoltatorii să automatizeze autentificarea cloud securizată pentru un proiect de orice dimensiune. Cunoscută sub numele de Platformă de încredere (Trust Platform), această ofertă pe trei niveluri pune la dispoziție elemente sigure gata de utilizat, preconfigurate sau complet personalizabile și are capacitatea de a se autentifica în orice infrastructură cloud, publică sau privată, sau rețea LoRaWAN ™.
  • Autentificarea datelor. Cu ajutorul ancorei de încredere, este posibil să se determine dacă măsurătorile provin doar de la un anumit dispozitiv și nu au fost modificate. Acest lucru ajută, de asemenea, la identificarea anomaliilor datelor prin analiza cloud, deoarece intervenția fizică la scară largă este dificil de realizat.
  • Pornirea sigură (secure boot), ceea ce înseamnă utilizarea datelor secrete stocate în elementul securizat pentru a identifica modificările semnăturii criptografice din microcontrolerul gazdă și a imaginilor stocate pentru actualizarea firmware-ului. Se pot utiliza și alte verificări de integritate în timpul rulării, folosind procedee din metodologiile bibliotecilor de siguranță clasa B.
  • Actualizarea securizată a firmware-ului prin aer (FUOTASecure Firmware Upgrade Over the Air), adică datele secrete stocate în elementul securizat sunt utilizate pentru a verifica integritatea sursei de actualizare și, de asemenea, semnătura imaginii trimise dispozitivului înainte de încărcare pentru a confirma că imaginea este valabilă.
  • Anti-clonarea, dacă fabricația este gestionată corect, un element sigur ajută la anti-clonare și prevenirea falsificării hardware-ului.

Dar, pentru a avea un mijloc de stocare a secretelor unui produs individual, într-un element securizat hardware, este necesar, de asemenea, ca dispozitivele să fie programate într-un mediu de fabricație sigur. Acest lucru pune probleme legate de scalabilitatea și încrederea asociate, în multe cazuri, producătorilor sub-contractați. Flexibilitatea de fabricație și punerea ușoară în funcțiune sunt asigurate prin achiziționarea de dispozitive care conțin informații private, pre-programate de furnizorul dispozitivului, într-un mediu sigur, cu capacitatea de a încărca informațiile publice în cloud într-un proces simplu și automat.

Memorie consistentă

Actualizările firmware-ului se efectuează de obicei folosind un cablu, direct la dispozitiv, printr-un port serial. Acest lucru a funcționat de mulți ani, dar cum poate funcționa această abordare cu dispozitive conectate, posibil în locații inaccesibile, răspândite la scară largă?

În cazul unei probleme care necesită ca o actualizare să se desfășoare rapid, în afara unui ciclu de întreținere de rutină, ar trebui evitată o abordare care necesită intervenția fizică. Alternativa este să utilizați actualizările FUOTA și, în mod ideal, actualizările sigure FUOTA. Deoarece aceasta este o abordare de la distanță, sistemul trebuie să profite de integritatea activată de elementul de siguranță pentru a preveni actualizările corupte de la o sursă incertă/necunoscută.

Dar cum se efectuează actualizarea în sine? În mod ideal, actualizările sigure FUOTA ar trebui efectuate neîntrerupând funcționarea microcontrolerului gazdă. Efectuarea unei actualizări directe pe memoria flash a programului dispozitivului, fără backup local, riscă temutul scenariu de „bricking” în care apare o eroare nerecuperabilă în timpul actualizării.

Metoda FUOTA aleasă ar trebui să fie comunicația agnostică medie (medium agnostic). Adică același proces ar trebui să poată face față lățimii de bandă, latenței, căderilor și pierderilor pe orice mediu fizic. În acest fel, același server de proces de fundal și același mecanism de descărcare, stocare și verificare a integrității trebuie implicate și menținute pe o varietate de medii diferite. Inevitabil, va exista o oarecare variabilitate în ceea ce privește metoda care se potrivește tuturor situațiilor, pe baza implementării complete a sistemului, dar se menține o abordare aproape de standard folosind metode modulare, care ajută la întreținerea codului pe termen lung.

Alimentarea

Dacă implementați dispozitive la nivel global și mergeți chiar și mai departe, către o actualizare controlată pentru grupuri de dispozitive, este dificil să cunoașteți alimentarea exactă și condițiile de mediu pentru fiecare dispozitiv. Cu toate acestea, ne așteptăm la o funcționare identică cu cea din laborator din timpul testelor și garantăm că va păstra dispozitivul în condițiile ideale de funcționare. Dar dacă nu? Ce se întâmplă dacă un eveniment ESD apare pe pe un singur grup de dispozitive șî nu apare pe un altul? Proiectarea PSU ar trebui, de asemenea, să facă parte din scenariile „și dacă?” și ar trebui să fie integrată într-o strategie generală de rezistență și recuperare.

Dacă nu se întâmplă nimic rău și sistemul vostru nu a fost piratat niciodată…

  • Fiți recunoscători. S-ar putea să fiți norocoși sau abordarea voastră de planificare și prevenire asiduă a făcut tentativa de atac suficient de dificilă, încât atacatorii obișnuiți s-au orientat în altă parte.
  • Nu există o securitate perfectă și va fi pusă la încercare în timp. Dar se pot utiliza cele mai bune tehnici și funcționalități disponibile astăzi și se pot planifica abordări pentru viitor. Dacă sistemul nostru este conceput pentru a valorifica rădăcina de încredere a dispozitivelor și poate fi actualizat într-o manieră sigură, atunci putem folosi partea mai flexibilă, partea cloud a sistemului nostru, pentru a face față majorității sarcinilor – cu condiția să fi fost proiectată având în vedere acest lucru.
  • Abordați proiectarea utilizând tehnicile disponibile prin intermediul organizaților cunoscute precum IoT Security Foundation, Gov.UK Secure by Design, UL2900, ISA 62443 și ISA Secure și altele pe măsură ce apar.
  • Asigurați suficient spațiu pentru a permite creșterea inevitabilă a dimensiunii codului.
  • Proiectați luând în considerare mai degrabă cel mai rău caz, pentru a face față ulterior, decât o proiectare bazată pe costuri minime, fără a lua în considerare scenariul „și dacă se întâmplă?”. Dispozitivele IoT pot atrage atât hackeri rău intenționați, cât și oameni inteligenți dornici… să se distreze.
  • Chiar dacă nu puteți identifica motive clare pentru care dispozitivul vostru este atacat, daunele potențiale aduse oamenilor, produselor, utilajelor, mărcilor și companiilor pot fi semnificative

Rețineți ….. a spune ,,nu mi se întâmplă mie” nu e o protecție când se întâmplă.

 

Autor: Ian Pearson,
Principal Applications Engineer – Wireless, Cloud & IoT Systems

Microchip Technology   |   https://www.microchip.com

Sigla-Microchip

 

 

Despre autor:
Ian are peste 20 de ani de experiență în proiectarea sistemelor embedded. În ultimii 10 ani s-a ocupat de sistemele embedded conectate, concentrându-se inițial pe Ethernet și TCP/IP. De atunci el a fost activ în implementarea soluțiilor fără fir de la Microchip: Wi-Fi, Bluetooth și LoRa în spațiul embedded. Ian a fost activ în IoT încă de la începuturi și este un partizan vocal pentru proiectarea de sisteme IoT sigure.

S-ar putea să vă placă și