Verificarea bateriilor autentificate pentru dispozitive portabile

26 APRILIE 2007

Autentificarea bateriei a devenit o necesitate pentru multe dispozitive portabile. Există rapoarte ce atestă supraîncălzirea surselor de putere, până la punctul de explozie, iar dispozitivele sunt unele des întâlnite, cum ar fi computerele şi telefoanele mobile.
De exemplu, în Iunie 2004, o reţea wireless mare a accesat 50,000 de telefoane cu baterii contrafăcute. Acest lucru a fost făcut ca răspuns la 18 plângeri de răniri sau distrugeri de bunuri personale din cauza exploziei bateriilor. În Octombrie 2004, un furnizor important de telefoane mobile a anunţat posesorii a 1,000,000 de aparate în legătură cu sursele de energie contrafăcute din dispozitivele acestora.
Aceste incidente sunt doar două exemple de surse de putere nesigure şi falsificate ce se pot încălzi. Problema a ajuns de interes naţional deoarece aceste dispozitive explodează şi, în unele cazuri, provoacă răni corporale.
Relatările legate de sursele de energie neautorizate în telefoanele mobile şi computere nu exclud şi alte dispozitive controlate de baterii de la a avea aceeaşi problemă. Sisteme, cum ar fi, minicomputerele PDA (Personal Data Assistants), încărcătoarele de baterii, camerele digitale, dispozitive personale multifuncţionale, instrumente portabile (acestea fiind doar câteva), prezintă de asemenea riscul de a fi conectate la surse de energie falsificate şi periculoase. Problema fundamentală din spatele acestor baterii imperfecte sau defectuoase o reprezintă manufacturierea necorespunzătoare sau nesatisfăcătoare. Este important să subliniem că Manufacturierii de Echipamente Originale (OEM) nu sunt responsabili pentru aceste lucruri. Sursele secundare, sau ‘piaţa gri’, produc şi livrează aceste surse de putere ca o alternativă atractivă şi mai puţin costisitoare. O modalitate de a deghiza bateriile contrafăcute este de a duplica pachetul, carcasa acestora şi/sau etichetele de livrare. Deseori, pachetul şi eticheta de pe carcasa surselor de energie pentru dispozitivele contrafăcute sunt aproape identice cu cele originale, realizate de OEM. Ca expert, de obicei, poţi identifica etichetele falsificate prin inspecţie, dar câţi dintre noi sunt experţi?
Deşi e dificil să identificăm o baterie originală în comparaţie cu una falsificată în momentul achiziţionării, OEM-urile oferă un ultim paravan de protecţie prin includerea părţii de soft şi hard pentru autentificarea surselor de putere în produsele lor portabile. Acest lucru asigură siguranţa şi protecţia mărcii, precum şi apărarea proprietăţii OEM-urilor. Soft-ul din interiorul unui controler sau a unui procesor implementează o rutină de autentificare în interiorul bateriei şi încărcătorului (vezi Figura 1). Partea de hardware protejează împotriva scurt-circuitului, supraîncălzirii şi condiţiilor de supra-descărcare. Când există o situaţie în care poate apărea o eroare, echipamentul va atenţiona utilizatorul sau se va închide.
Inclus în softul gazdă din Figura 1, factorii de autentificare a acumulatorului includ complexitatea codului folosit, lungimea biţilor de test şi răspuns, precum şi soluţia de codificare/decodificare. O tehnică efectivă de recunoaştere a bateriilor, Prieten de Identificare sau Duşman (IFF – Identify Friend or Foe), simplifică acest proces folosind formule de compilare în locul valorilor fixe. Într-un sistem simplu, controlerul gazdă verifică bateria prin trimiterea unui număr mare. Controlerul din interiorul acumulatorului calculează o valoare pentru răspuns şi o trimite înapoi. Dispozitivul gazdă compară valoarea primită cu cea calculată de el. Repetarea procesului măreşte nivelul de confidenţialitate şi securitate.
IFF a fost o tehnică militară folosită în timpul Celui de-al Doilea Război Mondial pentru a identifica şi recunoaşte avioanele de luptă. Cu sistemele IFF, numeroase baze militare au trimis un semnal numeric de recunoaştere a avioanelor de luptă, au aşteptat răspunsul acestora şi au verificat apoi această replică, verificare bazată pe un calcul matematic predeterminat. Primirea rezultatelor numerice corespunzătoare identificau avioanele ce veneau drept aliaţi sau inamici.
Acum, această tehnică este folosită în sisteme bazate pe dispozitive de recepţie-transmisie automate, unde gazda trimite un semnal de test oarecare, aşteaptă răspunsul şi verifică apoi autenticitatea prin repetarea aceloraşi calcule matematice în dispozitivul sursă. Majoritatea sistemelor folosesc o ecuaţie matematică predefinită (algoritm) şi o cantitate de informaţie pentru acel sistem/unitate (o soluţie de codificare) pentru a calcula răspunsul corespunzător.
Când se comunică de la sursă la baterie, este de dorit să se verifice originalitatea bateriei. Parole statice şi numele utilizatorului pot fi cu uşurinţă folosite, dar trimiterea tuturor acestora într-un format necodificat între sursa de putere şi gazdă reprezintă un mare dezavantaj. Cu acest sistem există posibilitatea ca un utilizator neautorizat să poată citi sau reproduce datele. Un alt tip de sistem constă dintr-o metodă de criptografiere simetrică ce implementează verificarea conexiunii. Aceasta e simplă şi, în acelaşi timp relativ sigură. Gazda foloseşte un tip de securizare accesibilă (un cod şi o parolă) pentru verificare, iar informaţia securizată nu este transferată în reţea. Procesul de autorizare este:
• Bateria este conectată
• Gazda trimite numărul generat aleator acumulatorului
• Bateria primeşte acest număr de la sursă, îl încifrează folosind codul (securizarea accesibilă) şi trimite rezultatul înapoi server-ului.
Urmărind secvenţa de mai sus, dispozitivul gazdă primeşte răspunsul. Folosind numărul ce a fost trimis anterior acumulatorului, descifrează rezultatul primit şi compară parola cu a lui. Dacă răspunsul este corect, puterea este transferată. Dacă nu, conexiunea este terminată din partea gazdei. Figura 2 recapitulează şi compară resursele necesare pentru implementarea unor tipuri des întâlnite de algoritmi de codificare.
Criptarea KEELOQ®
Criptografierea KEELOQ este o tehnologie pentru generarea codurilor, proprietate Microchip, ce este bazată pe un algoritm de codare simetrică al unui bloc de 32 biţi şi foloseşte un cod de criptare pe 64 biţi. Această tehnologie poate fi folosită în aplicaţii de autentificare, de la sisteme cu Acces Comandat fără Cheie (RKE – Remote Keyless Entry) şi Acces Pasiv fără Cheie (PKE – Passive Keyless Entry) până la recunoaşterea proprietăţii. Ciclurile de execuţie pentru codul KEELOQ sunt de 16k dacă este folosit microcontrolerul PIC16C62x, de la Microchip. Nu este bazat pe o schemă detailată ce calculează o sumă de control sau o formă a semnalului, având ca fundament numeroasele semnale de intrare, dar impulsurile de intrare actuale pot fi refăcute folosind algoritmul invers (criptare contra decriptare). Dimensiunea relativ scăzută a cifrului, de 47 cuvinte permite folosirea unor microcontrolere mai mici, cum ar fi PIC10F, care este disponibil în capsulă SOT-23 cu 6 pini.
Nu e un secret că tehnologia KEELOQ foloseşte calcule matematice. Securitatea tehnologiei KEELOQ constă în cât de dificil este să fie prezis rezultatul plecând de la un acces doar limitat la intrare sau unele combinaţii intrare/ieşire. Algoritmii ce ţin de protecţie sunt analizaţi ţinând cont de natura neliniară a acestora; lucru ce face şi mai dificilă determinarea unui tipar sau a unei secvenţe bazate pe seturi de perechi intrare/ieşire, lungimea datelor fiind criptată, precum şi lungimea codului de cifrare. Cu cât datele şi/sau mărimea codului de cifrare ocupă un volum mai mare, cu atât sunt mai multe combinaţii posibile. Acest lucru măreşte timpul necesar oricărui atac ce foloseşte forţa brută (încercarea tuturor combinaţiilor posibile), astfel făcându-l irealizabil. Algoritmul KEELOQ este analizat din punct de vedere al siguranţei calculelor matematice. Acest lucru este combinat cu un volum de date de 32 biţi, lungimea codului de 64 biţi, transformând algoritmul într-unul suficient de bun pentru aplicaţii cum ar fi controlul accesului sau identificarea proprietăţii. Securitatea se bazează pe siguranţa algoritmului şi pe modul în care sistemul utilizează codul de criptare.
Managementul codului este schema pe care un sistem bazat pe securitate o foloseşte pentru a determina codul unic de încifrare, ce face parte dintr-un set de instrucţiuni pentru o unitate specifică. O asemenea metodă constă în folosirea unui cod general de sistem, ce este stocat şi bine păzit în fiecare gazdă în timpul fazei de producţie. Din acest cod se obţine soluţia de încriptare a unităţii bazată pe un număr fix de identificare (serial) ce este citit din subsistem, cum ar fi o baterie. Unitatea subsistemului are acces la propriul număr serial şi la un cod de încriptare unic ce este bine protejat şi programat în propria memorie nonvolatilă în timpul producţiei.
Folosind un număr pe doar 32 biţi pentru calcularea perechii test/răspuns, combinaţii posibile vor fi 4.3 miliarde. Acum, dacă acest număr nu pare suficient de mare, consideraţi că algoritmul KEELOQ foloseşte o soluţie unică pe 64 biţi pentru fiecare unitate ce a fost obţinută din respectivul cod al fabricantului. Acest lucru, combinat cu crearea unui semnal de test aleator şi în continuă schimbare pe 32 biţi, ce este determinat de gazdă, pot mării numărul de permutări posibile incluzând suprapunerea numărului unic pe 64 biţi peste răspunsul de 32 biţi. Acest lucru dimensionează rezultatul posibil la 264 x 232 = 296 combinaţii posibile, ce este, fără îndoială un număr foarte mare. Dispozitivul gazdă poate implementa o schemă de autentificare în mai mulţi paşi unde sunt necesare mai mult de un calcul al perechii test/răspuns pe 32 biţi, pentru a asigura autenticitatea şi/sau adăugarea timpilor de întârziere pentru un răspuns necorespunzător, astfel mărind timpul necesar pentru încercarea combinaţiilor multiple.
Micul Algoritm de Criptare
Micul Algoritm de Criptare (TEA) a fost realizat de către David Wheeler şi Roger Needham şi se bazează pe un algoritm cifru bloc, simetric, pe 64 biţi, ce foloseşte o cheie de criptare pe 128 biţi. Ciclurile de execuţie pentru acesta sunt mai rapide decât cele ale tehnologiei KEELOQ, operând la 6.5k când este utilizat cu microcontrolerul Microchip, PIC16C62x (vezi Figura 2), însă, viteza nu este un factor important pentru majoritatea aplicaţiilor cu baterii. Algoritmul nu foloseşte o schemă detailată pentru calculul unei sume de control sau a unei forme a semnalului bazându-se pe diferite valori la intrare, ci foloseşte chiar intrările ce sunt obţinute din chiar algoritmul invers (criptare contra decriptare). Dimensiunea codului, de 240 cuvinte, face ca TEA să nu poată fi utilizat în mod corespunzător cu microcontrolere de dimensiuni mici.
Cu TEA, cheia de criptare este pe 128 biţi. Datortă lungimii acesteia, nu există posibilitate de scanare a numărului de perechi test/răspuns necesare pentru recunoaşterea codului. Acesta poate fi descifrat doar dacă una din gazde este furată. Dacă acest lucru se întâmplă, parola lipsă trebuie modificată atunci când pe modulul gazdă se intră în setup. TEA poate de asemenea fi compromis, cum se poate întâmpla cu orice măsuri de siguranţă, folosind parole evidente, cum ar fi “fantomă” sau “numele soţiei mele”.
Versiunea a 2-a a Micului Algoritm de Criptare, XTEA, este un algoritm de codare mai mic decât TEA. XTEA a fost realizat pentru a se adresa unui punct slab găsit în structura primului. Partea de securitate a celei de-a doua versiuni este îmbunătăţită datorită numărului de repetări ale criptărilor. Pentru versiunea 2, sunt recomandate 64 de repetări pentru securizare avansată, însă, un număr de 32 de repetări ar trebui să fie suficient de sigure pentru câteva decenii, iar un număr de 16 sunt suficiente pentru aplicaţii cu un nivel de siguranţă scăzut.
Standardul pentru Criptarea Datelor
Standardul pentru Criptarea Datelor (DES) este un algoritm de codare folosit de organizaţiile Federale şi are la bază un algoritm bloc de criptare simetric, pe 64 biţi ce foloseşte o cheie de codare pe 54 biţi. Viteza de execuţie pentru codul DES este, la 10.4k, puţin mai rapidă decât KEELOQ, când este folosit microcontrolerul PIC18F242, al Microchip (vezi Figura 2). Algoritmul se bazează, de asemenea, pe semnalele de la intrare obţinute folosind algoritmul invers (criptare contra decriptare) şi are o dimensiune a codului, de 1171 cuvinte, făcându-l şi pe acesta să nu fie potrivit pentru microcontrolerele mai mici.
Un cod constă în 64 de digiţi binari (0-uri sau 1-uri), din care 56 biţi sunt generaţi aleator şi folosiţi în mod direct de către algoritm. Ceilalţi 8, care nu sunt utilizaţi de program, sunt pentru detecţia erorii. Aceştia sunt fixaţi pentru realizarea parităţii fiecărui al 8-lea bit dintr-un byte al codului impar, astfel încât să fie un număr impar de 1-uri în fiecare octet. Utilizatorii de date computerizate criptate autorizaţi trebuie să deţină codul ce a fost folosit la cifrare pentru a le putea decripta. Algoritmul de cifrare specificat în acest standard este binecunoscut. Cheia unică aleasă pentru a fi folosită într-o anumită aplicaţie, face ca rezultatele datelor codate să fie unice. Selectarea unei soluţii diferite face ca cifrul ce este produs pentru fiecare set de date de intrare să fie diferit. Securitatea datelor cifrate depinde de securitatea asigurată codului folosit pentru criptarea şi decriptarea datelor.
Datele pot fi recuperate de la cifru doar dacă este folosit exact acelaşi cod utilizat pentru criptarea lor. Părţi neautorizate ale cifrului, ce cunosc succesiunea de instrucţiuni dar nu deţin cheia corectă, nu pot obţine datele originale cu ajutorul său. Însă, oricine are cheia şi algoritmul poate cu uşurinţă descifra cifrul şi oţine informaţiile originale. Un algoritm standard ce are la bază un cod sigur, conferă o temelie pentru schimbul de date computerizate criptate, prin faptul că oferă cheia folosită celor autorizaţi să deţină informaţiile.
Standardul pentru Criptare Avansată
Standardul pentru Criptare Avansată (AES) este o versiune îmbunătăţită a algoritmului DES. Are la bază un bloc de instrucţiuni de cifrare pe 128 biţi, ce foloseşte un cod de criptare de 1286 biţi şi, când este folosit microcontrolerul PIC16C628, al celor de la Microchip, ajunge la o viteză de execuţie de 7.3k (vezi Figura 2). Precum TEA şi DES, AES foloseşte datele de intrare obţinute cu ajutorul algoritmului invers şi, cu o dimensiune a codului de 1100 cuvinte, este potrivit numai pentru microcontrolere mari.
AES înlocuieşte DES şi DES Triplu. DES are o lungime a codului relativ scăzută, de 56 biţi şi este vulnerabil atacurilor ce folosesc forţa brută. Scopul principal al AES este de a micşora timpul necesar procesorului, de a reduce vulnerabilitatea la atacuri şi de a-l face utilizabil în platforme cu resurse limitate. Succesiunea de comenzi a AES este de obicei folosită în microcontrolere PIC18F, ale Microchip şi în controlere dsPIC®, ce lucrează cu semnal digital.
Concluzie
Există un număr de algoritmi făcuţi publici ce criptează şi decriptează Coduri de Autentificare a Mesajelor (MAC – Message-Authentication Codes) şi calculează un răspuns ireversibil, lipsit de coliziuni, cu un grad mare de dispersivitate. Este însă important să ştim că unele programe de criptare pot avea combinaţii multiple pentru intrare, ce rezultă în aceeaşi ieşire decriptată. Acest lucru exclude toate combinaţiile necesare spargerii algoritmului. Tehnologia KEELOQ este un cifru bloc unu-la-unu ce are o singură ieşire pentru orice set de la intrare (un semnal test pe 32 biţi şi o combinaţie a codului de 64 biţi). Poate fi folosită pentru codarea informaţiilor importante şi, datorită naturii simetrice a blocului de cifrare a algoritmului, poate reface intrarea dintr-o valoare calculată la ieşire folosind acelaşi cod de criptare şi algoritmul invers.
Comparat cu mulţi algoritmi, pasul de implementare al KEELOQ este mic. Succesiunea de comenzi KEELOQ, necesită mai puţin RAM şi memorie de program, cu preţul unei execuţii mai lente, ce-l face potrivit pentru microcontrolerul Microchip PIC10F cu 6 pini, accesibil din punct de vedere al costului.
AES este o transformare secretă ce a fost realizată pentru a înlocui Standardul pentru Criptarea Datelor (DES). AES oferă un cod de criptare de lungime mai mare decât DES, în timp ce se asigură că singurul mod de decriptare a mesajelor, pentru un intrus, este să încerce fiecare soluţie.
Notă: Numele şi logo-ul Microchip, PIC, KEELOQ, şi dsPIC sunt mărci înregistrate a Microchip Technology Inc. în SUA şi alte ţări.Toate celelalte mărci înregistrate menţionate mai sus sunt proprietatea respectabilelor lor companii.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *

  • Folosim datele dumneavoastră cu caracter personal NUMAI pentru a răspunde comentariilor/solicitărilor dumneavoastră.
  • Pentru a primi raspunsuri adecvate solicitărilor dumneavoastră, este posibil să transferăm adresa de email și numele dumneavoastră către autorul articolului.
  • Pentru mai multe informații privind politica noastră de confidențialitate și de prelucrare a datelor cu caracter personal, accesați link-ul Politica de prelucrare a datelor (GDPR) si Cookie-uri.
  • Dacă aveți întrebări sau nelămuriri cu privire la modul în care noi prelucrăm datele dumneavoastră cu caracter personal, puteți contacta responsabilul nostru cu protecția datelor la adresa de email: gdpr@esp2000.ro
  • Abonați-vă la newsletter-ul revistei noastre