Inteligenţa embedded permite autentificare digitală în dispozitivele medicale

by donpedro

Figura 1

Este critic ca accesoriile înlocuibile sau consumabile pentru dispozitive medicale să dispună de o metodă de a dovedi că este utilizat accesoriul sau ataşamentul corect. Dacă un accesoriu incorect este utilizat accidental (un astfel de accesoriu este proiectat pentru alt model al aceluiaşi echipament, sau pentru alt echipament al producătorului) acesta poate cauza probleme de siguranţă. Mai mult, reutilizarea unor accesorii consumabile poate conduce la performanţe inferioare şi este adesea nesănătos. Accesoriile contrafăcute sunt de asemenea o ameninţare serioasă de vreme ce ele pot să nu fie proiectate la aceleaşi standarde şi pot avea performanţe mult inferioare.
Autentificarea digitală poate oferi un înalt grad de siguranţă că un accesoriu al unui dispozitiv medical este atât corect şi original, cât şi cu un impact minim asupra proiectului.
Sistemul poate răspunde într-o manieră prescrisă de proiectantul sistemului odată ce a descoperit că un accesoriu nu s-a autentificat cu succes. Răspunsul poate varia de la informarea simplă a utilizatorului că accesoriul nu este autentificat, până la oprirea funcţionării sistemului.

de Jonathan Dillon, Senior Applications Engineer, Microchip Technology Inc.

Autentificare digitală


Sistemele simple ID cu schimb de semnături digitale cuprind o întreagă gamă de scheme de autentificare. Autentificarea digitală necesită inteligenţă integrată în sistem şi în accesoriul autentificat la nivel hardware. Un procesor embedded este prezent adesea în multe sisteme moderne şi poate fi utilizat pentru controlul autentificării. Pentru accesoriu, poate fi prevăzut un procesor pentru implementarea autentificării. Adăugarea unui microcontroler mic, economic, cu consum energetic redus este relativ simplă dacă accesoriul de autentificat nu conţine inteligenţă embedded.
O altă cerinţă fizică este existenţa unui canal de comunicaţie bidirecţional între sistem şi accesoriu pentru a permite schimbul de date. Sistemul şi accesoriul pot utiliza un canal de comunicaţie existent sau un canal din echipament poate fi extins pentru a permite comunicaţia cu accesoriul. UART, I2C™, SPI şi protocoale pe un singur fir (precum protocolul UNI/O®) pot fi implicate dacă este necesară adăugarea unui canal de comunicaţie, datorită numărului limitat de conectori, cerinţelor legate de implementarea unui protocol de nivel scăzut şi gamei largi de dispozitive cu suport hardware. RFID poate fi potrivit pentru unele aplicaţii medicale, deoarece nu necesită conexiune electrică externă. Aceasta simplifică sterilizarea şi curăţarea, după cum accesoriile şi sistemele pot fi etanşate.
Transmisia ID poate furniza o autentificare simplă prin autoidentificarea accesoriului faţă de sistem atunci când se cere. Microcontrolerul accesoriului poate fi înlocuit de un EEPROM serial cu un ID stocat care este gata pentru sistem utilizând această schemă. Problemele utilizării accesoriilor incorecte sau reutilizării accidentale prin stocarea datelor privind accesoriul au fost deja utilizate. Ele sunt prevenite prin transmisia ID. Totuşi, nivelul de securitate este foarte scăzut, de vreme ce falsificatorii trebuie doar să reproducă ID-ul memorat pe accesoriul valid.

Figura 2

Cererea de răspuns/autentificare şi derivatele sale oferă o soluţie mult mai sigură. În această schemă, sistemul pune o întrebare accesoriului la care poate răspunde numai un accesoriu original.
Accesoriul autentic răspunde corect, în vreme ce unul contrafăcut este descoperit şi gestionat corespunzător de către sistem.
Figura 2 demonstrează modul în care funcţionează autentificarea bazată pe Întrebare/Răspuns. Ea se bazează într-o implementare tipică pe câteva etape.
1. Sistemul generează un număr aleatoriu, sau întrebarea.
2. Întrebarea este transmisă accesoriului.
3. Accesoriul modifică întrebarea într-o modalitate prestabilită, neevidentă pentru a crea răspunsul.
4. Accesoriul transmite răspunsul sistemului.
5. Sistemul reţine o copie a întrebării şi o modifică pentru a obţine răspunsul ideal.
6. Sistemul compară răspunsul ideal cu răspunsul accesoriului. Dacă se potrivesc, accesoriul este autentic.

Sistemul are nevoie să permită o gamă largă de provocări pentru a se apăra împotriva contrafacerilor generând un tabel de căutare pentru răspunsuri autentice. Memorarea unor tabele mari duce la costuri neeconomice pentru falsificatori, iar calculul răspunsului în timp real în locul stocării reduce necesarul de stocare.
Într-un sistem digital deterministic nu este o sarcină uşoară a genera numere aleatoare în sistem pentru a le utiliza ca întrebări. Câteva măsurători externe sunt cu adevărat aleatoare, nepredictibile şi distribuite, iar un număr limitat de întrebări potenţiale reduce numărul de răspunsuri de stocat de către falsificatori. Un algoritm de generare a numerelor pseudo-aleator este o metodă mai robustă prin care fiecare sistem dispune de un număr de bază unic, posibil prin utilizarea unei forme modificate a numărului serial al sistemului. Algoritmul de validare prin generarea unui număr pseudo-aleatoriu produce o secvenţă nerepetitivă de numere uniform distribuită pe domeniul potenţial de valori de ieşire. Numărul de bază utilizat pentru iniţializarea algoritmului determină secvenţa valorilor de ieşire, iar fiecare sistem ar trebui să dispună de o valoare de bază unică pentru a produce o secvenţă de numere unică. Variabilele algoritmului trebuie stocate într-o memorie nevolatilă pentru ca valorile lor să fie păstrate atunci când sistemul nu este alimentat, pentru a preveni reiniţializarea algoritmului şi repetarea aceloraşi secvenţe de numere.
Criptarea întrebării sau trecerea ei printr-o funcţie matematică cu o singură cale, numit tabel de siguranţă poate genera modificarea întrebării. În ambele cazuri modificarea nu este evidentă şi nu produce nicio tendinţă identificabilă a ieşirii pentru intrări secvenţiale. Modificarea trebuie să nu fie evidentă deoarece întrebarea şi răspunsul pot fi monitorizate de falsificatori pe canalul de comunicaţie. Încercarea de a determina modificarea prin criptare şi algoritmi tabelari de siguranţă necesită un număr mare de calcule şi un număr mare de perechi întrebare-răspuns. AES, TDES şi XTEA sunt blocuri de cifrare simetrice potrivite pentru autentificare bazată pe microcontrolere, deoarece necesită puţin RAM şi spaţiu de program, fiind eficiente din punct de vedere al calculelor. Aceste caracteristici permit utilizarea unor microcontrolere economice, iar eficienţa lor înseamnă că se poate realiza criptarea prin executarea unui număr relativ mic de instrucţiuni. Acest lucru reduce curentul global prin plasarea microcontrolerului într-o stare cu consum energetic redus după îndeplinirea misiunii. Blocurile de cifrare criptează un număr de byte la un moment de timp şi produc un rezultat potrivit. Toate cele trei dispozitive de criptare sunt în domeniul public, au rezistat analizei internaţionale în ceea ce priveşte securitatea şi tăria criptării este bine înţeleasă. Algoritmii tabelari de securizare sunt similari unei sume de verificare a întrebărilor, cu o valoare secretă inter-mixată, care furnizează o metodă de determinare în cazul în care calculele au fost realizate de un dispozitiv autentic. Spre deosebire de criptare, algoritmii de amestecare tabelară nu reprezintă o mapare unu la unu. Intrarea originală nu poate fi recuperată dintr-un rezultat, de vreme ce poate fi produsă de mai mult de un set de date de intrare. Aceşti algoritmi precum HMAC-SHA-1 şi HMAC-SHA-256 sunt mai potriviţi, cu toate că necesită mai multă memorie RAM şi memorie program pentru implementare, necesitând un microcontroler mai scump.
Metoda de modificare pentru datele de intrare este determinată de o cheie atât pentru securizarea prin amestecare tabelară cât şi pentru algoritmii de criptare. Cheia, şi nu cifrul de criptare selectat determină securitatea sistemului şi de aceea trebuie ţinut secret. Această metodă, cunoscută ca principiul lui Kerchoff, stabileşte că securitatea nu scade dacă se cunoaşte algoritmul utilizat deoarece cheia determină cum este modificată intrarea. Pentru a se asigura protejarea la citire a cheii şi păstrarea ei secretă, ea trebuie păstrată în memoria sistemului, fie flash fie EEPROM. Acest lucru poate fi realizat de asemenea prin stocarea cheii în memoria pe cip a microcontrolerului, activând funcţia de blocare la descărcarea ei şi prevenind identificarea cheii. În toate cazurile, manipularea şi cunoaşterea cheii pe perioada de proiectare şi producţie trebuie atent gestionată pentru prevenirea problemelor.
Unii algoritmi pot suporta chei de dimensiuni variabile, de vreme ce chei mai mari oferă securitate crescută cu preţul unor calcule şi resurse suplimentare pentru criptare. Toate schemele de criptare sunt vulnerabile la atacuri cu forţă brută. Utilizând o pereche cunoscută de date de intrare şi ieşire, intrarea este criptată cu o serie progresivă de chei până când ieşirea potrivită este produsă. În ciuda faptului că aceasta poate solicita calcule considerabile chiar şi pentru chei mici, creşterea constantă a puterii de calcul disponibile înseamnă că merită să fie implementate cele mai mari chei posibile pentru o gamă potrivită de microcontrolere, deoarece numărul de chei creşte exponenţial cu dimensiunea cheii, crescând în acelaşi mod şi timpul necesar pentru un atac cu forţă brută. Cheile trebuie alese aleatoriu pentru a le face mai puţin probabile în cazul unui atac. Cu toate că matematic există posibilitatea ca un atac în forţă să găsească cheia de la prima încercare, în realitate numărul de posibilităţi este uriaş.

Figura 3

Pentru întârzierea unui atac, este posibilă creşterea suficientă a timpului de generare a tabelului de răspunsuri autentice. Implementarea de expirări de timp, precum 5 secunde între autentificări şi plasarea de limite maxim acceptabile de viteză de comunicare conduc la întârzieri mari ale atacului. Odată ce dimensiunea în biţi a întrebării creşte exponenţial dimensiunea tabelului, stocarea devine prea scumpă pentru falsificatori. Există de asemenea metode pentru întrebări mai mari decât dimensiunea blocului de cifrare. Re-autentificarea periodică poate preveni ca sistemul să fie pornit cu un dispozitiv autentic şi apoi acesta să fie înlocuit post-autentificare.
Chestionarea mai multor accesorii în paralel va reduce timpii necesari pentru generarea tabelului de răspunsuri bune. Cu toate acestea, tabelul va necesita volume mari de stocare, iar timpul necesar poate fi încă semnificativ. Echiparea fiecărui accesoriu autentificat cu o cheie de criptare individuală este o îmbunătăţire ce oferă fiecărui accesoriu răspunsul său unic la o întrebare, dar necesită ca sistemul să stocheze toate cheile pentru accesoriile de autentificat sau să fie capabil să obţină cheile necesare. Ambele metode necesită ca accesoriul să aibă un număr serial pentru a identifica cheia cerută, dar obţinerea cheii este mai eficientă din punctul de vedere al stocării. Sistemul identifică cheia criptând numărul serial al accesoriului utilizând o cheie master extra-secretă, după cum se poate observa în figura 3. Rezultatul acestei operaţii este utilizat ca şi cheie de criptare pentru autentificare. Dacă cheia master este compromisă, schema nu este capabilă să detecteze duplicate, astfel încât trebuie luate măsuri pentru siguranţa cheii master. Numai sistemul trebuie să reţină cheia, iar numerele seriale ale accesoriilor sunt cunoscute la fabricaţie, iar cheia master este deja determinată, ceea ce conduce la stabilirea cheii de criptare pentru fiecare accesoriu.
De aceea, accesoriile trebuie doar să fie programate cu numărul lor serial şi cheia lor de criptare şi nu necesită cheia master.
Avantajul acestei scheme este acela că mai multe dispozitive nu pot fi interogate în paralel, deoarece fiecare va avea un răspuns diferit. De asemenea, dacă un accesoriu autentic este compromis, pot fi produse numai clone ale acestui accesoriu cu numere seriale identice. Odată detectate aceste numere, sistemele pot fi programate cu o listă neagră a acestora.
Un număr serial de accesoriu poate fi înregistrat automat de sistem cu adăugarea autentificării digitale, permiţând managementul rechemărilor şi stabilirea datelor de expirare. Autentificarea digitală utilizează criptarea ca o modificare, iar decriptarea nu este implementată. Cu toate acestea, decriptarea poate necesita resurse similare şi segmente de cod, făcând posibilă adăugarea unei comunicaţii securizate între sistem şi accesoriu. În memoria nevolatilă a microcontrolerului pot fi stocate date suplimentare, putând ajuta la calibrarea accesoriului şi permiţând înregistrarea datelor de utilizare.

Concluzie
Siguranţa accesoriilor medicale poate fi îmbunătăţită prin autentificare digitală în mai multe moduri – prevenirea accidentelor, a neglijenţelor ce cauzează reutilizarea accesoriilor consumabile şi propagarea produselor contrafăcute, protejând în acelaşi timp şi veniturile producătorilor. Microcontrolerele mici, economice şi de joasă putere pot răspunde cu uşurinţă cerinţelor hardware. Există un număr de canale de comunicaţie ce pot fi utilizate. Blocurile de criptare necesită o memorie RAM minimă şi pot fi implementate cu uşurinţă în microcontrolere mici.

www.microchip.com

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