Verificación de identidad mediante ICAO y NFC
Control completo de documentos de identidad según la norma ICAO 9303. Incluye escaneo MRZ, lectura de chip NFC, PACE/BAC/CAN, validación SOD, autenticación pasiva, autenticación activa y autenticación por chip.
¿Por qué el control de identidad ICAO/NFC?
ProjectAssistant integra una implementación completa de ICAO 9303 para la verificación de pasaportes y documentos de identidad. Mediante escaneo MRZ y comunicación NFC del chip se leen directamente del chip seguro datos como nombre, fecha de nacimiento, nacionalidad, número de documento y fotografía. De este modo se confirma la autenticidad del documento conforme a los requisitos legales de identificación y documentación.
- Sin introducción manual: todos los datos se obtienen automáticamente de DG1 y DG2.
- Control según las normas de seguridad ICAO 9303.
- Detección de falsificaciones mediante SOD y cadena hash
- Compatibilidad con PACE, CAN, BAC
- Control de calidad de los datos de fotos y documentos
Paso 1: Escaneo MRZ
El control comienza con el escaneo de la zona legible por máquina (MRZ) de una tarjeta de identificación o pasaporte. La aplicación móvil utiliza una superposición de cámara en vivo con detección automática de:
- Tipo MRZ (TD1, TD2, TD3)
- Validación de suma de comprobación
- Derivación CAN para PACE
- Número de documento, fecha de nacimiento, fecha de caducidad
A partir del MRZ, se calculan las claves para BAC o PACE y se inicia la lectura NFC.
Paso 2: Acceso NFC (PACE / BAC / CAN)
La aplicación siempre intenta primero PACE, que es más moderno, seguro y rápido. Si el documento no es compatible con PACE, el sistema recurre a BAC o CAN.
Orden de los protocolos
- PACE (preferido): protocolos modernos, ECDH/ECDSA, más seguro.
- CAN: mediante número de acceso de tarjeta (en tarjetas de identificación de la UE)
- BAC: pasaportes y documentos de identidad antiguos
Flujo PACE (GA1 → GA4)
- GA1: Iniciar acuerdo de clave (asignación OID → curva)
- GA2: Intercambio ECDH
- GA3: Mapeo de nonce + autenticación mutua
- GA4: Derivación de claves de mensajería segura
Resultado: clave ENC y clave MAC con las que se protegen todas las APDU siguientes.
Paso 3: Lectura de grupos de datos (DG1–DG15)
La aplicación lee todos los grupos de datos necesarios del chip. En tu implementación se leen, entre otros, DG1, DG2, DG7, DG11 y DG12, dependiendo del país y la disponibilidad.
- DG1 - Datos legibles por máquina (nombre, fecha de nacimiento, número de documento)
- DG2 - Escaneo facial / foto
- DG7 - Firmas (en algunos países)
- DG11 - Datos personales adicionales
- DG12 - Información del documento
- SOD - Objeto de seguridad de documentos (hash y raíz de firma)
El mapeo de datos se realiza automáticamente en tu EmployeeIdentityModel.
Paso 4: Verificación SOD y autenticación pasiva
El SOD contiene los valores hash de cada grupo de datos y una firma digital del estado emisor. ProjectAssistant valida:
- Cadena hash: DG1 hash = SOD hash
- Firma: Firma PKI con certificados CSCA y DS
- Validez y revocación del certificado
Si la comprobación SOD tiene éxito, el documento es criptográficamente auténtico.
Paso 5: Autenticación activa
Si el documento lo admite, la aplicación ejecuta la autenticación activa. De este modo, comprobamos si el chip es original y no ha sido clonado.
- Desafío → Respuesta
- Verificación ECDSA / RSA
- Control de seguridad contra copias
Si la firma es correcta, el chip es único y no ha sido copiado.
Paso 6: Autenticación de chip
La autenticación por chip sustituye a la autenticación activa en los eID modernos. Confirma la autenticidad del chip mediante un nuevo intercambio ECDH.
- ECDH con clave privada de chip
- Nuevas claves de sesión
- Prueba completa de autenticidad
Vinculación con el empleado
Tras una verificación satisfactoria, todos los datos se vinculan automáticamente al empleado:
- Nombre, fecha de nacimiento, nacionalidad
- Número de documento, fecha de vencimiento
- Foto de DG2
- Registro de control, incluidos los detalles PACE/BAC/CAN.
El documento aparecerá automáticamente en el sistema de documentos de los empleados.
