Mă numesc Alexandra Stanciu si sunt asistent in cadrul Universității Transilvania din Brasov, Facultatea de Inginerie Electrică și Știința Calculatoarelor, departamentul de Electronică și Calculatoare. Am absolvit în 2007 Colegiul Național Dr. Ioan Meșotă din Brașov, profilul matematică – informatică. Am ales să îmi continui studiile în Brașov la Facultatea de Inginerie Electrică și Știința Calculatoarelor la o secțiune nou înființată în 2007 – Calculatoare. Am terminat masteratul în 2013 și am susținut teza de doctorat la începutul anului 2017.
Mi-a plăcut foarte mult electronica digitală, materie din anul 2, influențată fiind și de pasiunea domnului profesor pentru acest domeniu cât și de exemplele din viața reală pe care ni le descria. Am ales atunci să merg spre un domeniu mai puțin popular: Proiectarea și verificarea circuitelor integrate. În timpul facultății am participat la diverse concursuri de electronică din tară. Aș menționa aici concursul organizat de compania Digilent din Cluj Napoca, unde m-am calificat în anul 2011 la etapa mondială din Munchen. Cunoștințele teoretice și practice de la cursurile din facultate mi-au fost completate de experiența dobândită în cadrul stagiului de practică la una din companiile private din Brașov, contribuind la experiența mea în domeniul “Proiectarea și verificarea circuitelor integrate”. Învățând și înțelegând tot procesul de proiectare și realizare a circuitelor integrate mi-a fost ușor să găsesc o aplicație într-un domeniu cum este de exemplu securitatea, aplicație dezvoltată ulterior în cadrul tezei de doctorat. Printre ariile de interes as menționa: proiectarea și verificarea circuitelor integrate, utilizarea FPGA-urilor în domeniul telecomunicațiilor, securitatea sistemelor electronice, tehnici de calcul paralel, arhitecturi de microprocesoare.
Metodă pentru generarea secvențelor binare utilizate în operații criptografice folosind circuite RO PUF
Scopul metodei este generarea de secvențe binare pe baza variațiilor de proces ce au loc în etapele de producție ale circuitelor integrate folosind circuite de tipul RO PUF (Ring Oscillator Phyisical Unclonable Functions).
Secvența generată poate fi utilizată:
- ca un identificator unic pentru circuitele intregrate sau sistemele embedded împedicând astfel reproducerea ilegală a circuitelor integrate, sau introducerea în sisteme complexe a unor circuite integrate contrafăcute şi cu funcţiuni suplimentare neautorizate
- pentru a genera chei rezistente la atacuri de securitate iniţiate cu ajutorul tehnologiilor HW/SW actuale (Side Channel Attacks, Hardware Trojan şi algoritmi de inteligenţă artificială). Secvența poate fi utilizată ca seed în algoritmii de generarea a cheilor pseudo-aleatoare.
Secvența binară generată cu ajutorul circuitelor RO PUF poate fi considerată o amprentă a circuitului integrat, două circuite integrate identice din punct de vedere funcțional sunt aparent identice din punct de vedere fizic datorită acestor variații de proces ce apar în timpul execuției fizice complexe a circuitelor integrate.
Caracterul de noutate al proiectului constă în implementarea și validarea metodei de generare a secvențelor binare la nivel de circuite FPGA, interpretarea statistica a rezultatelor folosind cele două metrici existente în literatura de specialitate (distanța Hamming intra-chip și inter-chip) și implementarea în limbaj de descriere hardware a unor algoritmi criptografici ce pot filtra și / sau utiliza secvența binară compusă din ieșirile circuitelor PUF. După o analiză a circuitelor PUF existente în literatura de specialitate, au fost alese pentru implementarea prezentată circuitele de tipul ring oscillator.
Etapele implementării proiectului sunt:
- Un circuit RO PUF a fost implementat pe arhitecturi diferite de FPGA-uri, produse de către Xilinx (Spartan 3E, Spartan 6, Zinq-7000) folosind utilitarul FPGA Editor din pachetul Xilinx ISE 14.x si Xilinx Vivado
- Generarea secvenţei binare pe 128 de biţi folosind 128 de circuite RO PUF, plasate cu ajutorul constrângerilor pe resursele hardware ale FPGA-ului
- Implementarea algoritmul BCH (Bose-Chaudhuri-Hocquenghem) în limbaj de descriere hardware cu scopul de a corecta biții oscilanții din secvența de 128 de biți
- Implementarea de algoritmi de criptografie în hardware pentru utilizarea secvenței binare în soluții de securitate
Pentru implementarea și validarea metodei s-au utilizat:
- Hardware: platforme de dezvoltare cu FPGA: Spartan 3E, Zedboard cu device Zynq
- Software: suita de programe Vivado 16.1: FPGA Editor, Vivado IP Integrator, Chipscope, Xilinx SDK
Circuitul RO PUF a fost implementat pe FPGA ca în Figura 1. Porțile inversor și interconexiunile au fost plasate manual și salvate mai apoi sub forma unui Hard Macro pentru Spartan 3E și Spartan 6 folosind Xilinx 13.2 . În cazul plăcilor mai noi precum Xilinx Zinq, porțile inversor și interconexiunile au fost plasate folosindu-se o descriere text și salvate sub forma unui Hard Macro folosind Xilinx Vivado 16.1. Plasarea unui RO PUF pe resursele hardware ale unui FPGA este descrisă în Figura 2 și Figura 3.
Un număr de 128 de circuite RO PUF sunt plasate în locații fixe pe resursele hardware ale FPGA-ului cu ajutorul constrângerilor. Același bitstream este încărcat pe diverse FPGA-uri din aceeși familie și din familii diferite și în zone diferite ale FPGA-ului. Răspunsurile sunt notate și analizate folosind cele două metrici amintite, distanța Hamming inter-chip și distanța Hamming intra-chip.
- Distanţa Hamming inter-chip – este definită ca numărul de biţi diferiţi dintre valorile identificatorilor proveniţi de la două circuite diferite. Graficul din Figura 4 prezintă distanţa Hamming inter-chip măsurată între oricare două plăci dintre cele 30 utilizate. Din acest grafic se poate observa că distanţa Hamming este în medie 46%, adică între oricare 2 identificatori proveniţi de la circuite diferite există în medie 57 biţi diferiţi. În articolele de specialitate studiate, acest rezultat este considerat satisfăcător.
- Distanţa Hamming intra-chip – este definită ca numărul de biţi diferiţi dintre valorile identificatorilor proveniţi de la acelaşi chip, la rulări diferite. Tabelul din Figura 5 prezintă distanţa Hamming intra-chip. În medie, distanţa intra-chip este de 7%. Aceşti biţi apar în general datorită frecvenţelor apropiate ca valoare, generate de oscilatoarele în inel. Biţii eronaţi pot fi corectaţi cu ajutorul metodei de detecţie şi corecţie a erorilor BCH(Bose, Ray-Chaudhuri, Hocquenghem) des folosită în transmisia datelor, eliminând astfel biţii eronaţi care pot apărea uneori, datorită frecvenţelor apropiate ca valoare.
Distanţa Hamming inter-chip şi distanţa Hamming intra-chip sunt parametrii care descriu cât de valide sunt aceste secvenţe de biţi în practică. Pentru a se putea realiza o autentificare a circuitelor integrate este necesar ca aceste secvenţe să difere de la un circuit la altul în proporţie de 45%, iar valoarea identificatorului pentru acelaşi circuit integrat să rămână constantă în timp, de la o rulare la alta.
Alături de circuitele PUF au fost implementați o serie de algoritmi în limbaj de descriere hardware:
- Algoritmul BCH pentru corecția biților existenți
- Algoritmul Salsa 20/20 pentru generarea secvențelor pseudo-aleatoare pornind de la un seed generat cu circuite RO PUF
- Algoritmul ECC (Elliptic Curve Cryptography)
Metoda implementată și validată este realizată la nivelul hardware oferind astfel o soluție la problema generării de chei criptografice sau identificatori unici şi neclonabili în sisteme informatice. Secvența binară este încorporată în hardware-ul sistemului, orice încercare de a sustrage valorea acesteia conduce la distrugerea acesteia și / sau a circuitului integrat.
Metoda poate fi ușor implementată în circuitele de tipul FPGA însă imposibil de adăugat la circuitele ASIC existente.
Circuitele RO PUF pot fi ușor implementate în sisteme pe chip realizate pe circuite programabile de tipul FPGA. În cazul unui circuit integrat de tipul ASIC este posibilă adăugarea acestor circuite RO PUF doar în etapa de manufacturare, adăugarea ulterioară a acestora fiind imposibilă. Pentru circuitele ASIC implementarea circuitelor RO PUF trebuie considerată încă din specificațiile arhitecturii chip-ului.
Pentru a elimina acest inconvenient, imposibilitatea implementării ciruitelor RO PUF într-un circuit integrat existent, în literatura de specialitate, au fost dezvoltate circuite PUF pe baza celulelor de memorie SRAM. Circuitele SRAM PUF pot fi adăugate oricăror sisteme embedded existente iar una din direcțiile viitoare de dezvoltare a acestui proiect o reprezintă implementarea și analiza statistică a acestor circuite SRAM PUF. Cu ajutorul circuitelor SRAM PUF se pot genera chei criptografice încorporate în hardware, care alături de algoritmi criptografici SW / HW pot contribui la realizarea unor protocoale sigure de securitate în diverse echipamente, device-uri.
Alexandra Bălan, asistent în cadrul Universității Transilvania Brașov, Facultatea de Inginerie Electrică și Știința Calculatoarelor. Am absolvit Colegiul Naţional dr. Ioan Meşotă şi ulterior Facultatea Inginerie Electronică şi Ştiinţa Calculatoarelor a Universităţii Transilvania. Am urmat apoi cursuri de masterat şi doctorat tot la Braşov. Am ales să rămân în Brașov unde am avut ocazia să colaborez cu profesioniști din industria IT care au contribuit la completarea cunoștințele dobândite în cadrul universității și formarea mea profesională în domeniul Calculatoare și Tehnologia Informației. Domeniile de interese sunt: proiectarea și verificarea circuitelor integrate, securitatea sistemele embedded, quantum computing, tehnologii software pentru testarea sistemelor.