Reznex Background
Lecția 08Protecție practică
6 minute de lectură

MIFARE DESFire: securitate modernă

"O cartelă cu microprocesor și criptare AES-128 este mult mai greu de copiat decât un simplu tag."

Ce înveți din asta:

Înțelegi diferența dintre tagurile simple, fără criptare, și cardurile care pot folosi criptare hardware.

  • De ce DESFire oferă funcții de securitate peste cele ale MIFARE Classic.
  • Cum funcționează AES-128 și 3DES pe cip.
  • Arhitectura cu fișiere și aplicații separate (EV1, EV2, EV3).
  • Autentificarea mutuală și rolul ei în limitarea copierii și a atacurilor de replay.

Vulnerabilitățile unor tehnologii vechi, precum EM4100 la 125 kHz și MIFARE Classic la 13,56 MHz, au încurajat adoptarea unor carduri cu autentificare și criptare mai puternice.

O astfel de familie este MIFARE DESFire. Cardurile includ un microprocesor și funcții criptografice care pot fi folosite de sistemul de acces.


1. De la card de memorie la microprocesor

Un card simplu poate expune date dacă folosește chei slabe sau configurări nesigure. Cardurile DESFire au un microprocesor și pot folosi algoritmi criptografici standard precum AES-128, 3DES și DES.

AES-128 este un standard public analizat pe scară largă. Securitatea unui sistem depinde însă și de implementare, gestionarea cheilor și configurarea cititorului.

Ce înseamnă AES-128?

Advanced Encryption Standard cu cheie de 128 de biți. O cheie sigură este foarte greu de ghicit prin forță brută, dar protecția reală depinde și de folosirea corectă a algoritmului.

2. Autentificarea mutuală: ambele părți se verifică

Unele carduri vechi nu autentificau cititorul înainte de a răspunde. DESFire poate folosi autentificare mutuală (challenge-response bazat pe AES).

Pasul 1: cardul verifică cititorul

Înainte de a permite accesul la date protejate, cardul poate cere cititorului să demonstreze că deține cheia corectă. Dacă verificarea eșuează, accesul este refuzat.

Pasul 2: cititorul verifică cardul

Cititorul verifică și cardul. În funcție de configurație, datele sesiunii pot fi protejate prin criptare și un cod de autentificare a mesajului (CMAC).

3. Structură flexibilă de fișiere (EV1, EV2, EV3)

Denumirea DESFire este asociată cu Dual Interface, DES Encryption, Fast, Innovative, Reliable and Enhanced. Spre deosebire de cardurile organizate în sectoare fixe, DESFire folosește o structură de aplicații și fișiere.

Pe același card pot exista aplicații distincte, fiecare cu propriile chei și permisiuni. De exemplu:

  • •Aplicația 1: accesul în clădirea de birouri.
  • •Aplicația 2: abonamentul de transport public.
  • •Aplicația 3: portofelul electronic al cantinei.

Separarea cheilor poate limita accesul fiecărui furnizor la propria aplicație, dacă sistemul este configurat corect.

4. Cât de ușor se pot copia cardurile MIFARE DESFire?

Un UID copiat nu este, de unul singur, suficient pentru a reproduce un card configurat cu autentificare criptografică.

Cheile AES sunt proiectate să rămână protejate în cip și nu sunt expuse printr-o citire obișnuită. Un instrument de analiză poate totuși identifica datele publice, precum UID-ul, sau informațiile necriptate, dacă există.

Dacă cititorul verifică autentificarea criptografică și nu doar UID-ul, un tag care reproduce numai UID-ul ar trebui respins. Rezultatul depinde de configurarea cititorului și a cardului.

O configurare care slăbește securitatea

Dacă sistemul verifică doar UID-ul public și ignoră autentificarea criptografică, pierde o parte importantă din protecția oferită de DESFire. Verifică cerințele și configurarea sistemului.

Notă pentru audit

Într-un audit autorizat, verifică dacă cititorul efectuează autentificarea criptografică necesară sau se bazează doar pe UID-ul public.

Recapitulare rapidă (ce ai reținut):

  • •Cardurile MIFARE DESFire pot folosi un microprocesor cu funcții criptografice hardware, inclusiv AES-128.
  • •Autentificarea mutuală permite cardului și cititorului să se verifice înainte de schimbul de date protejate.
  • •Cheile sunt proiectate să rămână protejate în cip; securitatea depinde și de implementare și configurare.
  • •Un singur card poate găzdui mai multe aplicații cu chei și permisiuni separate.