Acesta este un microcontroler cu motor de criptare hardware integrat şi tehnologie de ultra joasă putere XLP (eXtreme Low Power) pentru protejarea datelor în aplicaţii de securitate embedded de consum energetic redus. Numeroase alte soluţii pentru criptare necesită microcontrolere pe 32 de biţi cu performanţe mai ridicate şi consum energetic mai mare, care pot secătui repede bateriile. Specificaţiile XLP pentru familia “GB2” însemnă un curent de mod sleep de 18 nA şi 180 μA/MHz în mod de funcţionare, ideal pentru aplicaţii alimentate de la baterii.
Cu scopul de conectare a aplicaţiei la restul lumii, “GB2” include USB integrat pentru conectare simplă la stick-uri de memorie sau computere. Proiectanţii pot asigura conectarea wireless, utilizând modulele Microchip certificate Wi-Fi®, ZigBee® sau Bluetooth® Low Energy. Aceste module oferă de asemenea un consum energetic redus pentru conectare la Internet sau alte protocoale.
Aplicaţii ţintă
Beneficiind atât de consum energetic redus, cât şi de securitatea datelor, familia “GB2” poate fi utilizată într-o gamă largă de aplicaţii industriale, de sisteme de calcul şi medicale / fitness.
Exemplele pot include sisteme de siguranţă pentru blocare uşi şi control acces, fie că operează prin tastatură, card magnetic sau conexiune wireless. Alte aplicaţii includ camere de securitate şi terminale POS, ambele necesitând un înalt nivel de protecţie a datelor. De asemenea, multe aplicaţii de noduri senzoriale pentru Internetul Lucrurilor (IoT) pot beneficia de consumul energetic redus şi protecţia datelor, atunci când monitorizează presiunea, temperatura, lumina şi umiditatea.
În zona sistemelor de calcul, “GB2” este foarte potrivit pentru dispozitive periferice de joasă putere ce necesită consum energetic redus şi conexiune USB sau wireless, precum căşti sau imprimante wireless.
În ceea ce priveşte zona medicală şi de fitness, aplicaţiile precum pedometre şi alte dispozitive purtabile pentru fitness, au toate date personale sensibile şi necesită comunicaţii cu alte dispozitive, precum telefoane mobile, tablete sau computere personale.
Stocarea sigură a datelor este importantă pentru multe aplicaţii, inclusiv acelea care se concentrează pe înregistrarea datelor pe un stick de memorie, sau aplicaţiile ce necesită încărcarea unor fişiere de configurare multiple. Fie că datele sunt stocate lângă MCU pe o placă cu un fel de memorie externă (precum EEPROM), sau trimise prin USB sau wireless pe un alt dispozitiv, criptarea este vitală pentru protejarea integrităţii datelor.
Motor de criptare
Familia PIC24 “GB2” include un motor de criptare complet, cu suport pentru AES, DES şi Triple DES. El este înalt configurabil, incluzând opţiuni pentru criptare / decriptare AES pe 128-, 196- sau 256-biţi.
“GB2” suportă de asemenea toate modurile din cadrul acestor protocoale (ECB, CBC, CFB, OFB şi CTR care este de asemenea utilizat pentru a suporta GCM), pentru o gamă largă de aplicaţii de transfer şi stocare sigură a datelor.
Prin implementarea acestor caracteristici în hardware (în loc de software) sunt reduse suprasarcinile şi lăţimea de bandă de procesare. Motorul de criptare hardware realizează de asemenea calcule de criptare/decriptare cu de mai multe ori viteza software-ului. În mod specific, implementarea hardware necesită câteva sute de cicluri pe bloc de date pentru a completa o operaţie, faţă de software, care necesită câteva mii de cicluri pe bloc. În cazul hardware, procesorul poate continua să facă alte operaţii în timpul transferării şi stocării datelor, în vreme ce, în cazul software, procesorul este blocat pe operaţiile curente.
Timpii operării de bază vor varia în funcţie de operaţiile ce se execută, de numărul de blocuri de date ce trebuie criptate şi de tăria cheii de criptare utilizate. Motorul de criptare operează fără intervenţia vreunui procesor, astfel încât MCU poate continua să execute instrucţiuni în timpul efectuării operaţiei de criptare. Figura 2 oferă o aproximare a timpilor de operare necesari pentru multe dintre modurile de criptare ale familiei PIC24 “GB2”. Acesta este un alt exemplu de periferice independente de nucleu ale Microchip.
Capacitatea de a termina munca în mai puţine cicluri are ca efect şi un consum energetic mai mic în timp pentru a îndeplini o sarcină. Proiectanţii pot fie rula MCU la o frecvenţă mai mică pentru a economisi energie, fie la o frecvenţă mai mare pentru a termina sarcina mai repede, permiţând sistemului să revină mai repede în modul de aşteptare cel mai economicos energetic.
De asemenea, aplicaţia dvs. poate fi îndeplinită cu un microcontroler mai mic şi economic, cu cerinţe de memorie şi procesare mai reduse, lăsând suficiente performanţe şi spaţiu de program pentru restul aplicaţiei.
Fie un exemplu specific de AES pe 128 biţi, cu un număr de cicluri de 250 cicluri pe bloc prin motorul de criptare, considerând 1024 byte de date de procesat. Dacă rulează la viteza maximă, adică 32 MHz, se obţin 16,000,000 de cicluri pe secundă. Transferul maxim va fi atunci 1,024,000 byte pe secundă.
Ecuaţia 1: Calculul transferului maxim
(16,000,000 cicluri/secundă) / (250 cicluri/bloc) * (16 byte/bloc) = 1,024,000 byte pe secundă
Acum, pentru a calcula energia necesară, să luăm cantitatea de date procesate (1024 byte) şi să ne dăm seama de numărul de cicluri necesare pentru rularea criptării. Apoi să utilizăm viteza procesorului (32 MHz) pentru a calcula cantitatea finală de putere consumată pentru a finaliza această sarcină, presupunând că avem un consum maxim de 7,6mA la 32 MHz şi 2V. Acest calcul conduce la 0,001 secunde (1 ms), sau 0,0076 mAh pentru consumul total de energie necesar pentru sarcina indicată.
Ecuaţia 2: Calculul timpului necesar pentru sarcină
1024 byte / (1,024,000 byte/secundă) = 0,001 secunde (1 ms)
Ecuaţia 3: Calculul consumului total de energie
7,6 mA * 0,001 secunde = 0,0076 mAh
Generare de chei
Pentru crearea cheilor de criptare / decriptare a datelor şi autentificare este utilizat un RNG. Acesta oferă un înalt nivel de securitate, făcând cheile dificil de reprodus. Familia “GB2” suportă atât RNG real, cât şi pseudo RNG.
Cheile cu adevărat aleatoare nu pot fi reproduse, reducând posibilitatea de acces software neautorizat, ceea ce este ideal pentru aplicaţii de securitate şi jocuri de noroc. Unele aplicaţii de simulare şi modelare apelează la caracteristicile deterministe ale unui pseudo RNG. Astfel, “GB2” suportă ambele opţiuni.
Stocarea în siguranţă a cheilor
Stocarea OTP a cheilor protejează cheile de criptare de a fi citite sau suprascrise prin software.
Acest lucru face cheia “sigură din punct de vedere al programării”, deoarece software-ul nu este niciodată expus la chei. Fără stocarea în siguranţă a cheilor, acestea sunt cumva uşor de furat; în special dacă aplicaţia implementează o instrucțiune bootloader. Cu ajutorul celor 512 biţi de OTP, pot fi stocate mai multe chei.
Dacă un client utilizează 256-biţi AES, pot fi stocate 2 chei, iar pentru 128-bţi AES pot fi stocare 4 chei. DES are o lungime a cheii de 64-biţi, astfel încât, în acest caz pot fi stocate 8 chei.
O altă cale de a avea virtual un număr nelimitat de chei, este de a utiliza conceptul de cheie de criptare a cheii (KEK). Se stochează cheia de criptare în Flash sau RAM, iar cheia ce este utilizată pentru criptarea cheilor din Flash sau RAM poate fi stocată în OTP. Cheile pot fi de asemenea stocate în memoria externă şi apoi încărcate în RAM pentru decriptare de către KEK. În acest scenariu, modulul decriptează aceste chei într-un registru de chei, care nu poate fi citit în software.
Exemplu de aplicaţie:
Sistem de blocare electronică a uşilor
Figura 3 prezintă un exemplu de diagramă bloc pentru un sistem electronic de blocare a uşilor sau un sistem de control acces.
Sistemul de blocare a uşilor utilizează un motor de criptare pe “GB2” pentru a cripta datele de utilizator, precum numele angajaţilor, codurile, datele sau orele de intrare sau de ieşire. El poate fi de asemenea utilizat pentru a autentifica accesul în anumite zone de siguranţă a unei clădiri, pe baza unor acreditări. Utilizând stocarea în siguranţă a cheilor, aceste date sunt protejate până când cineva este gata de a le decripta.
Suplimentar, perifericul Unitate de Măsurare a Timpului de Încărcare (CTMU) integrat în MCU, poate fi utilizat pentru a implementa butoane tactile sau detecţie de proximitate pentru o tastatură de control. Atunci când nimeni nu interacţionează cu sistemul, el poate intra în modul de adormire care oferă cel mai redus consum energetic pentru a economisi bateria.
Pentru deblocarea zăvorului uşii este utilizată notificarea printr-un simplu semnal de întrerupere. Unele dintre aceste sisteme sunt alimentate direct, în vreme ce altele sunt alimentate de la 4 baterii AA.
Sistemul poate funcţiona cu alimentare de la baterii tot timpul, caz în care acestea trebuie schimbate la fiecare câţiva ani. “GB2” are o conexiune VBAT pentru a utiliza o baterie de rezervă, cu RTCC (Real Time Clock Calendar), care este utilizată pentru păstrarea ceasului, chiar dacă bateria ce reprezintă sursa principală este descărcată.
Interfaţa UART este utilizată pentru conectarea cu un card magnetic sau fără fir. În unele aplicaţii de înaltă tehnologie, utilizatorul va căpăta un cod de acces pentru telefonul său inteligent, pentru a bloca sau debloca uşi. Această comunicaţie se poate realiza prin Bluetooth LE sau NFC (Near Field Communication).
Exemplu de aplicaţie:
Securizarea în EEPROM a datelor de sistem
Numeroase aplicaţii de uz general stochează parametri importanţi la nivel de sistem în memorii externe EEPROM de pe placă. Chiar şi dacă aceste date sunt stocate local, tot este important să fie protejate. Uneori oamenii îndepărtează cipurile de memorie EEPROM de pe produsul final şi le înlocuiesc cu altele cu parametri modificaţi pentru a schimba performanţele dispozitivului, în aplicaţii precum maşini, sisteme de jocuri video sau maşini de pinball. De exemplu, într-o maşină, cineva poate înlocui memoria EEPROM ce păstrează parametrii de limitare ai motorului pentru a îmbunătăţi performanţele maşinii. Totuşi, în acest fel se compromite eficienţa motorului şi impactul emisiilor vehiculului.
Un alt exemplu îl reprezintă în cazul sistemelor de jocuri modificarea dificultăţii sau corectitudinii. Acest tip nedorit de modificări poate fi prevenit dacă datele din EEPROM sunt criptate.
Mediul de dezvoltare
Familia PIC24 “GB2” lucrează cu placa de dezvoltare ecosistem completă Explorer 16 de la Microchip. Singurul lucru de care avem nevoie este un nou procesor PIM (modul plug-in).
Cele două noi PIM-uri sunt reliefate cu galben în Figura 4, unul pentru aplicaţii USB şi altul pentru aplicaţii non-USB.
Pentru adăugare de conexiuni hardware la USB, carduri inteligente sau carduri SIM, există plăci de conectare flexibile (daughter cards). De asemenea, există şi o gamă flexibilă de carduri de extensie certificate wireless, inclusiv Wi-Fi şi Bluetooth LE.
Sumar
În ceea ce priveşte siguranţa datelor şi durata de viaţă a bateriilor, familia PIC24F “GB2” răspunde cerinţelor aplicaţiilor embedded din această lume conectată la Internet.
Pentru transfer şi stocare sigură datelor, familia PIC24F integrează un motor de criptare cu scop de criptare, decriptare şi autentificare. Stocarea în siguranţă a cheilor RNG şi OTP asigură un nivel suplimentar de siguranţă în generarea şi stocarea de chei.
Utilizatorii pot obţine transfer şi stocare sigură a datelor, fără a sacrifica consumul energetic, datorită specificaţiilor de joasă putere XLP, ce conduc la o durată de viaţă mai mare a bateriilor în aplicaţii portabile.
Familia “GB2” permite de asemenea conectarea simplă la alte sisteme, cu sau fără fir. USB-ul integrat simplifică conectarea la computere sau stick-uri de memorie. “GB2” oferă o interfaţă simplă UART la modulul wireless certificat Microchip, creând aplicaţii sigure, conectate şi de joasă putere.
Resurse
Pentru mai multe informaţii, descărcarea datelor tehnice, manuale de referinţă şi alte documente, vizitaţi www.microchip.com/pic24fj128gb204.
Figura 5 prezintă o listă cu variante de produse.
Autor: Alexis Alcott, Sr. Product Marketing Manager, MCU16 Division, Microchip Technology Inc.
Microchip Technology
www.microchip.com
Numele şi logo-ul Microchip şi PIC sunt mărci înregistrate ale Microchip Technology Incorporated în SUA şi alte ţări. PICtail este marcă înregistrată a Microchip Technology Incorporated în SUA şi alte ţări. Toate celelalte mărci menţionate aici sunt proprietatea companiilor deţinătoare.