Codifica Card DESFire EV1/EV2/EV3: la guida completa

codifica card DESFire

Le card MIFARE DESFire sono lo standard di riferimento ovunque serva un livello di sicurezza superiore a quello di una card RFID “semplice”: controllo accessi aziendale, trasporto pubblico, badge multiservizio, sistemi di pagamento a circuito chiuso. In questa guida vediamo cosa le distingue dalle altre tecnologie RFID, come funziona la loro architettura interna e cosa serve, in pratica, per programmarle correttamente. Un professionista di esperienza è fondamentale per la codifica card DESFire.

codifica card DESFire

Cos’è una card DESFire e perché è diversa dalla MIFARE Classic

La famiglia MIFARE Classic (1K/4K) usa un sistema di sicurezza proprietario NXP (Crypto-1) che negli anni ha mostrato vulnerabilità note e oggi è considerato adatto solo ad applicazioni a basso rischio: badge identificativi semplici, tessere fedeltà, controllo presenze non critico.

MIFARE DESFire nasce per un livello di sicurezza nettamente superiore. Non è una semplice memoria protetta da password, ma un vero e proprio microprocessore crittografico ISO14443-4 con un file system interno, supporto a cifrari standard (DES, 3DES, AES) e un motore di autenticazione reciproca tra card e lettore. È la tecnologia scelta per sistemi dove un mancato controllo ha conseguenze reali: accesso a edifici, aree riservate, sistemi antintrusione integrati.

Le tre generazioni: EV1, EV2, EV3

VersioneAnno introduzionePunti chiave
DESFire EV12006Prima generazione con supporto AES-128 oltre a DES/3DES. Ancora molto diffusa, ma priva di alcune protezioni anti-side-channel introdotte dopo.
DESFire EV22016Introduce il Secure Unique NFC (SUN), la gestione di più set di chiavi per applicazione (key versioning), transazioni con backup/rollback e una protezione più solida contro gli attacchi fisici.
DESFire EV32020Ottimizza consumi ed efficienza di lettura, aggiunge funzioni di virtual card e migliora ulteriormente la resistenza agli attacchi hardware.

Per un progetto nuovo, salvo vincoli di compatibilità con hardware già installato, EV2 o EV3 sono oggi la scelta corretta: EV1 resta comunque perfettamente valida per la sostituzione di parco card esistente. https://www.nxp.com/products/rfid-nfc/mifare-hf/mifare-desfire:MC_53450

L’architettura logica: Card → Applicazioni → File

A differenza della MIFARE Classic, che ragiona per “settori e blocchi”, la codifica card desfire organizza i dati in modo gerarchico, più simile a un file system:

  1. Card Master Key — la chiave che protegge le operazioni a livello scheda (creazione/cancellazione applicazioni).
  2. Applicazioni (AID) — ogni card può contenere più applicazioni indipendenti, ciascuna identificata da un AID a 3 byte. Puoi pensare a un’applicazione come a un “contenitore” separato: un’azienda può avere l’applicazione controllo accessi e, sulla stessa card, l’applicazione mensa aziendale, ciascuna con le proprie chiavi e permessi.
  3. File — dentro ogni applicazione risiedono i file veri e propri: Standard Data File, Backup Data File (con transazione atomica), Value File (per contatori/borsellini elettronici), Record File (per log a scorrimento).
  4. Set di chiavi per applicazione — ogni applicazione può avere fino a 14 chiavi indipendenti, ciascuna assegnabile a operazioni specifiche (lettura, scrittura, lettura+scrittura, gestione chiavi).

Questa struttura è ciò che rende DESFire adatta a sistemi multi-funzione: la stessa card fisica può convivere tra sistemi gestiti da fornitori diversi, senza che uno possa leggere o modificare i dati dell’altro, perché ogni applicazione ha le proprie chiavi.

Codifica card DESFire, i livelli di crittografia disponibili

DESFire supporta tre famiglie di cifratura, selezionabili in fase di creazione applicazione:

  • DES / 2K3DES — presente per retrocompatibilità, sconsigliato per nuovi progetti.
  • 3K3DES — sicurezza intermedia, ancora utilizzata in sistemi legacy.
  • AES-128 — lo standard raccomandato oggi per qualsiasi nuovo progetto, disponibile da EV1 in poi.

La scelta del cifrario incide anche sulla modalità di comunicazione tra card e lettore, che può essere:
Plain — dati in chiaro (solo per file non sensibili)
MAC — dati in chiaro ma con verifica di integrità
Full Encryption — dati cifrati end-to-end tra chip e lettore

Per un sistema di controllo accessi la combinazione corretta è quasi sempre AES-128 in Full Encryption.

Cos’è la key diversification (e perché è fondamentale)

Un errore molto comune — e molto pericoloso — è usare la stessa chiave su tutte le card di un parco badge. Se quella chiave viene compromessa, l’intero sistema è vulnerabile in un colpo solo.

La pratica corretta è la key diversification: invece di scrivere la stessa chiave ovunque, si deriva una chiave univoca per ogni card a partire da una chiave master conservata in modo sicuro (idealmente in un HSM o in un secure element del lettore) combinata con l’UID univoco del chip. In questo modo, anche se la chiave di una singola card venisse estratta, non permetterebbe di accedere a nessun’altra card del sistema.

L’implementazione concreta dell’algoritmo di diversificazione (schema di derivazione, ordine dei byte, eventuali salt aggiuntivi) va progettata insieme all’integratore del sistema di controllo accessi, e non va mai pubblicata o condivisa fuori dal perimetro del progetto: è, di fatto, la chiave di volta della sicurezza dell’intero impianto.

Cosa serve per la codifica di card DESFire

Hardware: un lettore/encoder PC/SC compatibile ISO14443-4, non un semplice lettore MIFARE Classic. I lettori della gamma Elatec TWN4 e i lettori integrati nelle stampanti badge con encoder RFID gestiscono correttamente il protocollo DESFire.

Software: per progetti di codifica massiva o integrata in un flusso di stampa badge, ambienti come CardPresso (con moduli DESFire abilitati) permettono di gestire creazione applicazioni, scrittura file e autenticazione direttamente dal workflow di progettazione grafica della card. Per integrazioni personalizzate (es. collegamento a un database HR o a un gestionale controllo accessi) si lavora invece via SDK a basso livello, con logica di autenticazione e diversificazione implementata su misura.

Errori comuni da evitare

  • Riutilizzare la default key di fabbrica senza sostituirla con una chiave propria in fase di provisioning.
  • Non diversificare le chiavi tra le card del parco badge.
  • Usare modalità Plain su file che contengono dati sensibili o di autorizzazione.
  • Confondere UID e dati applicativi: l’UID identifica il chip ma non deve mai essere l’unico fattore su cui si basa la logica di accesso, va sempre combinato con l’autenticazione crittografica.
  • Non pianificare la gestione delle chiavi master: chi la conserva, come viene ruotata, cosa succede in caso di turnover del fornitore.

Domande frequenti

Qual è la differenza pratica tra MIFARE Classic e DESFire per un’azienda?
La Classic è adatta a badge identificativi semplici o a basso rischio; la DESFire è la scelta corretta ovunque il badge controlli un accesso fisico o un dato sensibile, grazie a crittografia AES-128 e autenticazione reciproca. https://www.nxp.com/products/rfid-nfc/mifare-hf/mifare-desfire:MC_53450

Posso convertire un sistema esistente da MIFARE Classic a DESFire?
Sì, ma è una migrazione che coinvolge sia le card sia, spesso, i lettori installati (serve supporto ISO14443-4). Va pianificata insieme all’integratore del sistema di controllo accessi.

Le card DESFire funzionano anche per NFC e pagamenti?
Il chip DESFire è compatibile con lo standard ISO14443 Type A e con le funzionalità NFC di lettura/scrittura, questo la rende adatta anche a biglietti da visita digitali NFC e applicazioni di loyalty, oltre al controllo accessi.

Qual è il livello di sicurezza minimo consigliato oggi?
AES-128 con comunicazione in Full Encryption e chiavi diversificate per card è lo standard minimo raccomandato per qualsiasi progetto nuovo.

Pluscard fornisce supporto per la codifica DESFire?
Sì: forniamo card DESFire EV1/EV2/EV3, lettori/encoder compatibili e consulenza tecnica per la configurazione di applicazioni, file e schema di sicurezza, in coordinamento con il tuo integratore di sistema.


Hai un progetto di controllo accessi o identificazione che richiede card DESFire? Contatta il nostro Staff per una consulenza tecnica gratuita, oppure scopri la nostra gamma di Card RFID e delle soluzioni software CardPresso.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Menu principale

Richiedi un campione gratuito
(ricevilo in 48h)

Ci serve solo sapere cosa devi stampare

Preferisci spiegarci a voce?
Chiamaci direttamente::

02.89.300.930 - Milano

06.52.834.385 - Roma

(lun-ven da 9:00 alle 18:30)