Controllo dell'identità tramite ICAO e NFC
Controllo completo dei documenti di identità secondo lo standard ICAO 9303. Include scansione MRZ, lettura chip NFC, PACE/BAC/CAN, convalida SOD, autenticazione passiva, autenticazione attiva e autenticazione chip.
Perché il controllo dell'identità ICAO/NFC?
ProjectAssistant integra un’implementazione completa ICAO 9303 per la verifica di passaporti e carte d’identità. Tramite la scansione MRZ e la comunicazione NFC del chip vengono letti direttamente dal chip sicuro dati quali nome, data di nascita, nazionalità, numero del documento e fotografia. In questo modo viene confermata l’autenticità del documento di identità in conformità agli obblighi legali di identificazione e documentazione.
- Nessun inserimento manuale: tutti i dati vengono acquisiti automaticamente da DG1 e DG2.
- Controllo secondo gli standard di sicurezza ICAO 9303
- Rilevamento delle contraffazioni tramite SOD e catena di hash
- Supporto per PACE, CAN, BAC
- Controllo qualità delle foto e dei dati dei documenti
Passaggio 1: scansione MRZ
Il controllo inizia con la scansione della zona a lettura ottica (MRZ) di una carta d'identità o di un passaporto. L'app mobile utilizza una sovrapposizione della telecamera live con rilevamento automatico di:
- Tipo MRZ (TD1, TD2, TD3)
- Convalida del checksum
- Derivazione CAN per PACE
- Numero del documento, data di nascita, data di scadenza
Sulla base dell'MRZ vengono calcolate le chiavi per BAC o PACE e viene avviata la lettura NFC.
Fase 2: Accesso NFC (PACE / BAC / CAN)
L'app prova sempre prima PACE: è più moderno, più sicuro e più veloce. Se il documento non supporta PACE, il sistema ricorre a BAC o CAN.
Ordine dei protocolli
- PACE (preferito) – protocolli moderni, ECDH/ECDSA, più sicuro
- CAN – tramite Card Access Number (per le carte d'identità dell'UE)
- BAC – Passaporti e documenti d'identità obsoleti
Flusso PACE (GA1 → GA4)
- GA1: Avvio dell'accordo chiave (mappatura OID → curva)
- GA2: scambio ECDH
- GA3: Mappatura nonce + autenticazione reciproca
- GA4: Derivazione della chiave di messaggistica sicura
Risultato: chiave ENC e chiave MAC con cui vengono protetti tutti gli APDU successivi.
Fase 3: Lettura dei gruppi di dati (DG1–DG15)
L'app legge tutti i gruppi di dati necessari dal chip. Nella tua implementazione vengono letti, tra gli altri, DG1, DG2, DG7, DG11 e DG12 a seconda del Paese e della disponibilità.
- DG1 - Dati leggibili da macchina (nome, data di nascita, numero del documento)
- DG2 - Scansione del volto / foto
- DG7 - Firme (per alcuni paesi)
- DG11 - Dati personali aggiuntivi
- DG12 - Informazioni sul documento
- SOD - Oggetto di sicurezza dei documenti (hash e firma root)
Il mapping dei dati avviene automaticamente nel tuo EmployeeIdentityModel.
Fase 4: Verifica SOD e autenticazione passiva
Il SOD contiene i valori hash di ciascun gruppo di dati e una firma digitale dello Stato emittente. ProjectAssistant convalida:
- Catena hash: DG1 hash = SOD hash
- Firma: firma PKI con certificati CSCA e DS
- Validità e revoca del certificato
Se il controllo SOD ha esito positivo, il documento è autentico dal punto di vista crittografico.
Passaggio 5: Autenticazione attiva
Se supportato dal documento, l'app esegue l'autenticazione attiva. In questo modo controlliamo che il chip sia originale e non clonato.
- Sfida → Risposta
- Verifica ECDSA / RSA
- Controllo di sicurezza contro le copie
Se la firma è corretta, il chip è unico e non è stato copiato.
Fase 6: Autenticazione chip
La Chip Authentication sostituisce l'Active Authentication nei moderni eID. Conferma l'autenticità del chip tramite un nuovo scambio ECDH.
- ECDH con chiave privata su chip
- Nuove chiavi di sessione
- Prova completa di autenticità
Collegamento al dipendente
Dopo aver superato la verifica, tutti i dati vengono automaticamente collegati al dipendente:
- Nome, data di nascita, nazionalità
- Numero documento, data di scadenza
- Foto da DG2
- Registro di controllo comprensivo dei dettagli PACE/BAC/CAN
Il documento viene visualizzato automaticamente nel sistema di documentazione dei dipendenti.
