En el contexto de las tarjetas inteligentes , una unidad de datos de protocolo de aplicación ( APDU ) es la unidad de comunicación entre un lector de tarjetas inteligentes y una tarjeta inteligente. La estructura de la APDU está definida por ISO / IEC 7816 -4 Organización, seguridad y comandos para el intercambio . [1]
Hay dos categorías de APDU: APDU de comando y APDU de respuesta. El lector envía un comando APDU a la tarjeta; contiene un encabezado obligatorio de 4 bytes (CLA, INS, P1, P2) y de 0 a 65 535 bytes de datos. La tarjeta envía una APDU de respuesta al lector: contiene de 0 a 65 536 bytes de datos y 2 bytes de estado obligatorios (SW1, SW2).
Mando APDU | ||
---|---|---|
Nombre del campo | Longitud (bytes) | Descripción |
CLA | 1 | Clase de instrucción: indica el tipo de comando, p. Ej., Interindustrial o patentado |
EN S | 1 | Código de instrucción: indica el comando específico, por ejemplo, "escribir datos" |
P1-P2 | 2 | Parámetros de instrucción para el comando, por ejemplo, desplazamiento en el archivo en el que escribir los datos |
L c | 0, 1 o 3 | Codifica el número (N c ) de bytes de datos de comando a seguir 0 bytes denota N c = 0 |
Datos de comando | N c | N c bytes de datos |
L e | 0, 1, 2 o 3 | Codifica el número máximo (N e ) de bytes de respuesta esperados 0 bytes denota N e = 0 |
Respuesta APDU | ||
Datos de respuesta | N r (como máximo N e ) | Datos de respuesta |
SW1-SW2 (tráiler de respuesta) | 2 | El estado de procesamiento del comando, por ejemplo, 90 00 ( hexadecimal ) indica éxito |