Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Diseo de aplicacin
NOTA: El pinpad debe ser cargado con una versin 2.x para soporte de cifrado.
Documento
001
Este documento y la informacin contenida en l son propiedad de Ingenico. Prohibida su reproduccin y difusin parcial o total, por cualquier medio sin autorizacin previa y por escrito de Ingenico.
CONTENIDO
INTRODUCCIN
1 Esquema propuesto 2 Formato de mensajes y campos de datos 3 Protocolo de comunicacin 4 Flujo de mensajes 5 Descripcin de mensajes MENSAJE CF0 request MENSAJE CF0 answer MENSAJE CF1 request / CF1 answer MENSAJE BIN request / BIN answer MENSAJE IC0 (request) MENSAJE IC0 (answer) MENSAJE IC1 (request) MENSAJE IC1 (answer) MENSAJE DSP MENSAJE RMV request / RMV answer MENSAJE KBD request MENSAJE KBD answer MENSAJE LWK request / LWK answer MENSAJE KEY request / MENSAJE KEY answer MENSAJE TK0 request/ TK0 answer MENSAJE IK0 request/ IK0 answer MENSAJE LET request/ LET answer Anexo A. Formato de datos para despliegue de imagen Anexo B. Formato para carga de llave pblica de EMV Anexo C. Formato de bloque de datos en claro antes de cifrar
Pg.
___________________________________________________________
Documento
001
Este documento y la informacin contenida en l son propiedad de Ingenico. Prohibida su reproduccin y difusin parcial o total, por cualquier medio sin autorizacin previa y por escrito de Ingenico.
INTRODUCCIN
___________________________________________________________ Aplicacin EMV en pinpad
Atendiendo las regulaciones de las marcas para agregar mayor seguridad a los procesos de pago con tarjetas y considerando que ya existe una gran cantidad de tarjetas hibridas que tienen la banda magntica tradicional y adems un chip que cumple con los estndares EMV, se ha desarrollado la presente aplicacin para pinpads de Ingenico. Este documento tiene como intencin proponer una solucin que pueda ser implementada para permitir a las cajas registradoras el procesamiento de tarjetas con chip EMV para realizar procesos de pago electrnico. Adicionalmente se ha integrado el soporte para el cifrado de datos sensitivos bajo un esquema DUKPT.
__________________________________________________________________
Documento
001
Este documento y la informacin contenida en l son propiedad de Ingenico. Prohibida su reproduccin y difusin parcial o total, por cualquier medio sin autorizacin previa y por escrito de Ingenico.
1 Esquema propuesto
El escenario propuesto para esta implementacin es utilizar un pin pad Ingenico el cual funcione con una aplicacin que interacta con la caja registradora y que aparte realice todos los procesos EMV con la tarjeta chip o la lectura de tarjetas de banda magntica dependiendo de las caractersticas de la tarjeta. Este esquema permite que las cajas mantengan la funcionalidad tradicional pero que adicionalmente puedan procesar pagos con tarjetas con chip EMV.
Documento
001
Este documento y la informacin contenida en l son propiedad de Ingenico. Prohibida su reproduccin y difusin parcial o total, por cualquier medio sin autorizacin previa y por escrito de Ingenico.
Descripcin
Inicio de mensaje identificador del mensaje Longitud en bytes de los datos del mensaje. Datos Variable Bin** Informacin del mensaje. ETX 1 Byte Bin Fin del mensaje LRC 1 Byte Bin Resultado de Longitudinal redundancy check (*). (*) Se calcula incluyendo el ETX y excluyendo el STX. (**)
El formato especfico de cada campo que conforman los datos puede ser alguno de los siguientes tipos definidos en la siguiente tabla: Tipo Descripcin / Ejemplos Relleno para valores menores a la longitud mxima (padeo) Espacios a la derecha o izquierda.
Alfanumrico: Caracteres ASCII imprimibles (sin bytes de control). Ejemplos: IC0, DSP, Inserte tarjeta BCD Binario codificado en decimal: Valor numrico (solo dgitos decimales), cada par de dgitos conforman un byte. Ejemplos: 04 84, 00 00 00 12 00 00 HEX Hexadecimal: Valor expresado en hexadecimal (0-F), dos dgitos conforman un byte. Ejemplos: E8 F3, 02 F4 Bin Binario: Al menos se tiene un byte conformado por 8 bits donde cada bit activa o desactiva una funcin. El bit menos significativo de denota como b0 y el ms significativo como b7. En algunos casos se usa el valor binario para configurar un parmetro con su equivalente decimal. Ejemplo: 03 (00000011: b0=1,b1=1, b2=b3=b4=b5=b6=b7=0) Ejemplo: 3C (60 decimal, para configurar un tiempo de 60 seg)
AN
Ceros a la izquierda
Ceros a la izquierda
Documento
001
Este documento y la informacin contenida en l son propiedad de Ingenico. Prohibida su reproduccin y difusin parcial o total, por cualquier medio sin autorizacin previa y por escrito de Ingenico.
3 Protocolo de comunicacin
De igual forma, para sincronizar los puertos de ambos dispositivos, se utilizar comunicacin asncrona para el intercambio de mensajes entre el pinpad y la caja con la siguiente configuracin por default: 19200,N,8,1 Donde: Velocidad: Paridad: Bits de datos: Bits de parada:
Cada mensaje transmitido o recibido, adems de cumplir con el formato definido en el punto 2 debe ser confirmada su recepcin con un ACK (06h) cuando el LRC recibido coincide con el calculado por el dispositivo receptor o notificar el error en el LRC a travs de un NAK (15h) para que se retransmita.
Documento
001
Este documento y la informacin contenida en l son propiedad de Ingenico. Prohibida su reproduccin y difusin parcial o total, por cualquier medio sin autorizacin previa y por escrito de Ingenico.
4 Flujo de mensajes
El flujo de intercambio de mensajes para el proceso de una transaccin EMV con aprobacin OFFLINE sera como sigue:
IC0
IC0
RMV
RMV
Documento
001
Este documento y la informacin contenida en l son propiedad de Ingenico. Prohibida su reproduccin y difusin parcial o total, por cualquier medio sin autorizacin previa y por escrito de Ingenico.
El flujo de intercambio de mensajes para el proceso de una transaccin EMV con aprobacin ONLINE sera como sigue:
IC0
IC0
AUTORIZACION DE HOST
( Espera respuesta )
IC1 Request
IC1
RMV
RMV
Documento
001
Este documento y la informacin contenida en l son propiedad de Ingenico. Prohibida su reproduccin y difusin parcial o total, por cualquier medio sin autorizacin previa y por escrito de Ingenico.
5 Descripcin de mensajes
MENSAJE CF0 request Su funcin es enviar la configuracin de parmetros en el pinpad para que
este quede operativo. Se utiliza cuando se instala el equipo o cuando se desea ajustar algn parmetro. TipoCampo Descripcin Ejemplo Long (bytes) 1 Currency code BCD(2) 08 40 2 Currency Symbol AN(3) USD 3 TAC Online HEX(5) D8 40 04 F8 00 4 TAC Denial HEX(5) 00 10 00 00 00 5 TAC Default HEX(5) D8 40 00 A8 00 6 Terminal capabilities* HEX(3) E0 F8 C0 7 Term.Add.Capabilities HEX(5) 60 00 F0 F0 40 8 Floor limit HEX(6) 00 00 00 01 00 00 (100.00) 9 Config options Bin(1) 1=Activado / 0=Desactivado b0: Fallback b1: Lector de banda. b2: Captura de numero de tarjeta por teclado b3: Valida nmero de cuenta capturada por teclado b4: Habilita DUKPT para captura de PIN b5: Habilita DES para cifrado (0=cifrado con 3DES) b6: Habilita DUKPT con cifrado 3DES para datos. 10 Timeout Fallback Bin(1) Mx. 255 Segundos para espera de fallback 11 Timeout Wait Insert Card Bin(1) Mx. 255 Segundos para esperar insercin de tarjeta 12 Timeout to capture Bin(1) Mx. 255 Segundos para captura de datos 13 Target % BCD(1) 00-99 14 Max. Target % BCD(1) 00-99 15 Treshold value BCD(6) 00 00 00 00 00 00 16 Debug control Bin(1) 00 Desactivada la funcin. FF Funcin activada 17 Busy Message AN(16) Texto a desplegar mientras se procesa una transaccin 18 Request card Message AN(16) Texto a desplegar mientras se espera la insercin de tarjeta 19 PIN request Message AN(16) Mensaje a mostrar durante la captura de PIN. 20 Last PIN request Message AN(16) Mensaje a mostrar en ltimo intento de captura de PIN. 21 Wrong PIN Message AN(32) Mensaje para mostrar con captura de PIN errneo. 22 Retries before fallback Bin(1) Reintentos de lectura de chip antes de activar fallback. 23 RFU HEX(31) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 * El campo Terminal Capabilities se conserva solo por compatibilidad con versiones anteriores de software, su valor depende del kernel de EMV cargado en el pinpad.
Documento
001
Este documento y la informacin contenida en l son propiedad de Ingenico. Prohibida su reproduccin y difusin parcial o total, por cualquier medio sin autorizacin previa y por escrito de Ingenico.
Ejemplo: 02 43 46 00 10 00 F0 40 00 00 00 00 2E 2E 2E 6A 65 74 20 20 20 6E 74 6F 4F 4E 49 54 41 20 00 00 00 00 00 00
30 00 00 00 20 61 20 20 43 20 00 00
00 00 00 FF 20 20 20 20 41 20 00 00
AF D8 01 50 49 49 55 46 20 00 00 03
08 40 20 72 6E 6E 6C 49 20 00 00 98
40 00 00 6F 73 67 74 52 20 00 00
4D A8 03 63 65 72 69 4D 49 00 00
58 00 78 65 72 65 6D 2E 4E 00 00
4E E0 1E 73 74 73 6F 45 43 00 00
D8 F8 1E 61 65 65 20 4C 4F 00 00
40 C0 00 6E 20 20 49 45 52 00 00
04 60 00 64 54 50 6E 43 52 00 00
F8 00 00 6F 61 49 74 54 45 00 00
00 F0 00 20 72 4E 65 52 43 00 00
.CF0. .@MXN@.. .....@..`. @.... ..x...... ....Procesando ... Inserte Tar jeta Ingrese PIN Ultimo Inte nto FIRM.ELECTR ONICA INCORREC TA ........... ................ ......
2 3
Ejemplo: 02 43 46 30 00 1C 00 01 01 77 70 07 95 62 50 50 5F 45 43 52 5F 45 4D 56 5F 30 31 2E 30 30 20 20 20 20 03 80
Documento
001
Este documento y la informacin contenida en l son propiedad de Ingenico. Prohibida su reproduccin y difusin parcial o total, por cualquier medio sin autorizacin previa y por escrito de Ingenico.
MENSAJE CF1 request Solicita la configuracin del equipo (Este mensaje no enva ningn campo
de datos hacia el pinpad). Ejemplo: 02 43 46 31 00 00 03 37 .CF1.7
5 6
Ejemplo (sin cifrado DUKPT para datos activo): 02 43 46 31 00 21 01 01 77 70 07 95 62 50 50 5F 45 43 52 5F 45 4D 56 5F 30 31 2E 30 30 20 20 20 20 69 50 50 33 32 30 03 C3 Ejemplo (con cifrado DUKPT para datos activo): 02 45 20 30 43 43 69 31 46 52 50 43 31 5F 50 40 00 45 33 03 2E 01 01 77 70 07 95 62 50 50 5F 4D 56 5F 30 31 2E 30 30 20 20 20 32 30 1C 4C 4C 41 56 45 30 30 31 75 .CF1.!..wp.bPP_ ECR_EMV_01.00 iPP320..LLAVE001 01C@.. .CF1.!..wp.bPP_ ECR_EMV_01.00 iPP320.
Documento
001
Este documento y la informacin contenida en l son propiedad de Ingenico. Prohibida su reproduccin y difusin parcial o total, por cualquier medio sin autorizacin previa y por escrito de Ingenico.
MENSAJE BIN request Recupera el BIN de la tarjeta ledo de banda o chip. Si es ingreso por chip se inicia solo la primera fase de EMV hasta obtener el dato requerido, sin completar ninguna transaccin de EMV, por lo que es posible iniciar posteriormente una transaccin de EMV sin retirar la tarjeta que contina dentro del lector (por lo tanto no se debe enviar al pinpad el mensaje RMV, hasta que la transaccin de EMV sea completada). Si solo se recupera el BIN y no se efecta ninguna transaccin, entonces el comando RMV si debe ser enviado para retirar la tarjeta.
Campo 1 Descripcin Prompt Message Long. A32 Ejemplo Mensaje a mostrar en las primeras 2 lneas al inicio de la operacin (en conjunto con el texto configurado para insertar tarjeta y monto de la transaccin): INGENICO DEMO EMV FULL 3070 08
H2
Ejemplo:
Devuelve los primeros dgitos del nmero de tarjeta recuperado de la banda deslizada o del chip de la tarjeta. Campo 1 Descripcin Status de la operacin Long. BCD(1) Ejemplo 00 Sin error 01 Error de lectura de chip 02 Tarjeta retirada antes de concluir transaccin 03 Operacin cancelada 04 Aviso de Fallback 05 Informacin recuperada por fallback activado 06 Informacin recuperada por banda magntica 07 Error de lectura por banda magntica 08 Nmero de cuenta capturado por teclado 09 Error en nmero de cuenta por teclado 99 Error desconocido 35 34 38 32 33 34 30 33
2 Ejemplo:
Bin de tarjeta
AN..12
02 42 49 4E 00 09 00 35 34 38 32 33 34 30 33 03 40
.BIN..54823403.. A
NOTA: Para una tarjeta deslizada o digitada, la respuesta ser similar a un mensaje ICO con toda la informacin (Track1 y Track2 en caso de deslizada) recuperada.
Documento
001
Este documento y la informacin contenida en l son propiedad de Ingenico. Prohibida su reproduccin y difusin parcial o total, por cualquier medio sin autorizacin previa y por escrito de Ingenico.
MENSAJE IC0 (request) - Este mensaje indica al Pinpad que inicie una transaccin. La respuesta a
este mensaje es obtenida hasta que se inserta/desliza la tarjeta a procesar(*) o se agota el timeout programado a travs del mensaje CF0 de configuracin para esperar la insercin de la tarjeta. Los datos proporcionados para el pinpad se indican en la siguiente tabla: Campo 1 Descripcin Prompt Message TipoLong (bytes) AN(32) Ejemplo Mensaje a mostrar en las primeras 2 lneas al inicio de la operacin (en conjunto con el texto configurado para insertar tarjeta y monto de la transaccin): INGENICO DEMO EMV FULL iPP320 20 07 10 29 19 46 23
3 4 5 6
Fecha-hora de transaccin AAAAMMDDHHMMSS Monto de transaccin Monto adicional Forzar en lnea Opciones de validacin
BCD(7)
00 00 00 05 10 50 00 00 00 04 80 00
(510.50) (480.00)
00 Decisin del chip 01 Forzar en lnea 1=Activado / 0=Desactivado b0: Para banda, solicitar y validar ltimos 4 dgitos. b1: Para banda, solicitar PIN y generar PIN block (se requieren llaves cargadas, de acuerdo a la configuracin de cifrado establecida en el mensaje CF0) b2: Capturar CVV2 (mximo 4 dgitos), no aplica si el ingreso de la tarjeta es por chip. 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 28 9F 39 5F 34 8A 5F 2A 82 84 95 9A 9C 9F 02 9F 03 9F 09 9F 10 9F 1A 9F 1E 9F 26 9F 27 9F 33 9F 34 9F 35 9F 36 9F 37 9F 41
7 8
RFU
HEX(31)
TLV a solicitar (los dos Bin(Var.) primeros bytes de este campo es el tamao de la lista) (*)NOTA: En caso de que el mensaje IC0 sea precedido por un mensaje BIN, se omitir una nueva lectura de tarjeta para banda o teclado y se retornar la informacin de la tarjeta leda en el mensaje BIN. Para chip, se inicia una transaccin de EMV completa. Ejemplo: 02 49 43 20 44 45 33 30 37 05 10 50 00 00 00 00 00 00 8A 5F 2A 9F 1A 9F 9F 37 9F
30 4D 30 00 00 00 82 1E 41
00 4F 20 00 00 00 84 9F 03
7E 20 20 00 00 00 95 26 50
49 20 20 04 00 00 9A 9F
4E 45 07 80 00 00 9C 27
47 4D 10 00 00 00 9F 9F
45 56 30 01 00 00 02 33
4E 20 00 00 00 00 9F 9F
49 46 03 00 00 28 03 34
43 55 57 00 00 9F 9F 9F
4F 4C 00 00 00 39 09 35
20 4C 00 00 00 5F 9F 9F
20 20 00 00 00 34 10 36
Documento
001
Este documento y la informacin contenida en l son propiedad de Ingenico. Prohibida su reproduccin y difusin parcial o total, por cualquier medio sin autorizacin previa y por escrito de Ingenico.
MENSAJE IC0 (answer) - Retorna informacin de la transaccin iniciada (concluida si fue procesada offline, denegada, cancelada o si se produjo algn error) TipoCampo Descripcin Ejemplo Long (bytes) 1 Status de la operacin BCD(1) 00 Sin error 01 Error de lectura de chip 02 Tarjeta retirada antes de concluir transaccin 03 Operacin cancelada 04 Aviso de Fallback 05 Informacin recuperada por fallback activado 06 Informacin recuperada por banda magntica 07 Error de lectura por banda magntica 08 Nmero de cuenta capturado por teclado 09 Error en nmero de cuenta por teclado 10 Error en validacin con ltimos 4 dgitos 11 Falta cargar llave para cifrado de PIN 12 No se captur PIN 13 Error en modulo de seguridad 14 Tiempo de captura excedido 15 Error en longitud o formato de mensaje 99 Error desconocido 2 Informacin de HEX(1) 80 ARQC generado criptograma 3 Valor del criptograma HEX(8) 04 FE AC 4F 37 0D 24 15 4 PAN HEX(10) 40 00 00 00 00 00 00 02 FF FF HEX(21) 11 47 61 73 90 01 01 00 10 D1 01 22 01 11 43 87 5 Track2Data 80 89 FF FF FF El primer byte es la longitud del Track2. (DUKPT) Ejemplo con cifrado: : Para cifrado * 25 03 4B (25h=37 bytes de long. Track 2) El primer byte indica la (03h=03 bytes de long. CVV2) longitud real del Track2, (4Bh=75 bytes de long. Track 1) El segundo byte contiene la longitud del CVV2 y el tercer byte la longitud del track 1. 6 Cardholder name (chip)/ AN(81) 56 49 53 41 20 41 43 51 55 49 52 45 52 20 54 45 Track 1 Data (banda*) 53 54 20 43 41 52 44 20 33 38 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 *El primer byte es la 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 longitud SOLO para 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 lectura por banda. 00 7 TVR HEX(5) 00 80 00 00 00 8 CVM Data Bin(1) b0 Firma autgrafa b1 PIN offline solicitado b2 PIN online solicitado
9 Pinblock generado / Autorizacin offline HEX(8) [8 bytes de Pinblock]
Documento
001
Este documento y la informacin contenida en l son propiedad de Ingenico. Prohibida su reproduccin y difusin parcial o total, por cualquier medio sin autorizacin previa y por escrito de Ingenico.
00 8C 9F 39 01 05 5F 34 01 01 5F 2 02 08 40 82 02 5C 00 84 07 A0 00 00 00 03 10 10 95 05 00 80 00 88 00 9A 03 07 10 30 9C 01 00 9F 02 06 00 00 00 09 90 50 9F 03 06 00 00 00 04 80 00 9F 09 02 00 84 9F 10 07 06 01 0A 03 A4 00 00 9F 1A 02 08 40 9F 1E 08 30 39 36 30 36 39 30 32 9F 26 08 D4 4F F8 72 D1 BD 7F 06 9F 27 01 80 9F 33 03 E0 F8 C0 9F 34 03 01 03 02 9F 35 01 22 9F 36 02 00 99 9F 37 04 B9 DD D4 E9 9F 41 04 00 00 00 01 10 00 00 00 00 00 00 00 00 1F KSN devuelto para cifrado de PIN, si no se cifra PIN online se retorna com ceros. b0 Track2 presente b1 Track1 presente b2 CVV2 presente 00 00 00
11
KSN_PIN
HEX(10)
12
Bin(1)
13
HEX(3)
14
HEX(3)
00 00 29
15
HEX(10)
10 00 00 00 00 00 00 00 00 2F KSN devuelto para cifrado de datos. Bloque de datos cifrados correspondiente al track1 (solo banda), track2 y CVV2 (solo banda).
16
Datos cifrados*
(DUKPT)
HEX(104)
CRC32 calculado sobre la primer parte del bloque cifrado que comprende al track2 y al CVV2 (primeros 24 bytes). El bloque es representado en ASCII para el clculo de CRC32. 18 CRC32-Track1 HEX(4) CRC32 calculado sobre la parte que contiene al track 1 cifrado (del byte 25 hasta el ltimo byte del campo 16). El bloque es representado en ASCII para el clculo de CRC32. *(DUKPT) Cuando se activa el modo de cifrado de datos con DUKPT, los campos que contienen informacin cifrada sern llenados y los campos de datos en claro se devuelven en ceros, excepto al retornar informacin adicional o para el retorno del PAN y nombre del tarjetahabiente. En caso de no habilitar el cifrado de datos sern los datos en claro los que son distintos a cero con la informacin de la tarjeta. En el anexo C se detalla la estructura de los datos en claro antes del cifrado, el bloque cifrado es retornado en el campo 16 de este mensaje. Ejemplo: (Lectura de chip) 02 49 43 30 01 1E 00 40 E6 3B 38 19 D7 C6 1D 80 47 61 73 90 01 01 00 10 FF FF 11 47 61 73 90 01
17
CRC32_Track2-CVV2
HEX(4)
.IC0...@.;8..... Gas........Gas..
Documento
001
Este documento y la informacin contenida en l son propiedad de Ingenico. Prohibida su reproduccin y difusin parcial o total, por cualquier medio sin autorizacin previa y por escrito de Ingenico.
....."..C......V ISA.ACQUIRER.TES T.CARD.38....... ................ ................ ................ ......310710.... .9.._4....Y1_*.. ...\............ .........1...... ................ ................ ......09606902.& ..;8......'.@.3. ....4.....5.".6. ...7.?g.k.A..... .7.A..
00 FF 00 33 45 47 30 30
00 FF 00 32 5A 49 30 30 ..
00 10 25 30 20 4F 30 30
00 54 FF 36 49 5E 30 00
00 82 FF 38 4E 30 30 00
00 34 FF 39 54 37 30 00
00 03 FF 35 45 30 30 00
00 20 4B 36 52 35 30 00
.IC0............ @..........g
Documento
001
Este documento y la informacin contenida en l son propiedad de Ingenico. Prohibida su reproduccin y difusin parcial o total, por cualquier medio sin autorizacin previa y por escrito de Ingenico.
MENSAJE IC1 (request) - Enva informacin de la respuesta del host hacia el Pin pad en respuesta a las transacciones que son procesadas en lnea y slo es indispensable su envo para transacciones de chip que son procesadas en lnea, si la operacin de EMV es procesada fuera de lnea no debe generarse.
Campo 1 Descripcin Status de comunicaciones TipoLong (bytes) BCD(1) Ejemplo 00 Comunicacin exitosa 01 Error de comunicaciones 02 Sin respuesta del host 03 Comunicacin cancelada 00 Aprobada XX Rechazada 41 31 32 33 34 35 20 07 10 18 19 35 12
2 3 4
5 6
Cdigo de respuesta del host Cdigo de aprobacin Fecha Hora transaccin AAAAMMDDhhmmss RFU TLV con tags a solicitar y TLV (opcional) con informacin de scripts para entregar a la tarjeta
HEX(32) Bin(Var.)
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09 9F 26 9F 27 95 9F 36 9F 41
Ejemplo: 02 49 43 07 10 18 00 00 00 00 00 00 41 03 CC
31 19 00 00
00 35 00 00
3B 12 00 00
00 00 00 00
30 00 00 09
30 00 00 9F
41 00 00 26
31 00 00 9F
32 00 00 27
33 00 00 95
34 00 00 9F
35 00 00 36
20 00 00 9F
Documento
001
Este documento y la informacin contenida en l son propiedad de Ingenico. Prohibida su reproduccin y difusin parcial o total, por cualquier medio sin autorizacin previa y por escrito de Ingenico.
3 4 5 6
Valor del criptograma final TVR RFU TLV con informacin del resultado de la ejecucin de scripts si fueron proporcionados previamente.
Ejemplo: 02 49 43 00 80 00 00 00 00 00 00 00 1C 2A 9F 00 9B 9F
31 08 00 00 27 41
00 00 00 00 01 04
53 00 00 00 40 00
00 00 00 22 95 00
40 00 00 9F 05 00
09 00 00 26 00 01
E8 00 00 08 80 03
68 00 00 09 00 D4
CD 00 00 E8 08
1B 00 00 68 00
EE 00 00 CD 9F
1C 00 00 1B 36
2A 00 00 EE 02
Documento
001
Este documento y la informacin contenida en l son propiedad de Ingenico. Prohibida su reproduccin y difusin parcial o total, por cualquier medio sin autorizacin previa y por escrito de Ingenico.
MENSAJE DSP - El mensaje DSP solicita al pin pad desplegar mensaje en la pantalla o sustituir la imagen de logo mostrada en estado de reposo en la pantalla del pinpad (an cuando sea apagado el equipo, la nueva imagen recibida ser grabada para ser utilizada hasta que se defina una nueva).
Campo 1 Descripcin Mensaje a desplegar TipoEjemplo Long (bytes) AN(..32) INGENICO iPP320DEMO EMV FULL El primer carcter opcionalmente puede ser: Un caracter de control (0x1X): Donde el nible X controla: b0: Limpia pantalla b1: Emisin de beep alto b2: Emisin de beep bajo Un especificador para despliegue grfico (0xFF): Los bytes siguientes se tomar como la informacin de un BMP monocromtico de 128 x 32 pixeles (512 bytes codificados). Ver anexo A para formato de imagen. Un especificador para despliegue grfico del logo guardado (0xFE): NO SE REQUIEREN bytes adicionales debido a que se mostrar el grfico almacenado por default o el ltimo recibido.
.DSP.....
Documento
001
Este documento y la informacin contenida en l son propiedad de Ingenico. Prohibida su reproduccin y difusin parcial o total, por cualquier medio sin autorizacin previa y por escrito de Ingenico.
MENSAJE RMV request - Solicitud para retiro de tarjeta. Es indispensable invocar esta funcin SIEMPRE que se detecte que se haba insertado una tarjeta de chip para que la aplicacin del pinpad cierre la sesin que se haba iniciado para comunicarse con el chip.
Campo Descripcin Tipo- Ejemplo Long (bytes) AN(..32) REMOVE YOUR CARD * Si el primer carcter es 0x1A, se limpia pantalla.
Mensaje a desplegar
Ejemplo: 02 52 4D 56 00 1C 20 20 20 20 20 52 45 4D 4F 56 45 20 20 20 20 20 20 20 20 59 4F 55 52 20 43 41 52 44 03 55
Ejemplo: 02 52 4D 56 00 01 00 03 4B
.RMV....K
Documento
001
Este documento y la informacin contenida en l son propiedad de Ingenico. Prohibida su reproduccin y difusin parcial o total, por cualquier medio sin autorizacin previa y por escrito de Ingenico.
Longitud Mx.
3 4
Documento
001
Este documento y la informacin contenida en l son propiedad de Ingenico. Prohibida su reproduccin y difusin parcial o total, por cualquier medio sin autorizacin previa y por escrito de Ingenico.
Datos de captura
AN(Var.)
00 41 49 44 36
25 54 43 00 37
41 4F 4F 11 38
4E 20 20 00 39
10 20 20 41 03
01 20 20 42 3E
02 20 20 43
43 41 03 31
41 50 54 55 4C 46 41 4E 07 32 33 20 31
42 20 4F 42 32
44 44 20 44 33 44 20 2F 44
00 41 20 00 34 00 20 41 00
25 54 20 11 35 25 20 41 05
4E 4F 20 00 36 44 20 20 00
55 20 20 31 03 48 20 20 30
10 20 20 32 59 01 20 20 39
01 20 20 33
02 20 20 34
43 4E 03 35
41 50 54 55 4D 45 19 36 37 38
..KBD.%NU...CAPT URA DATO NUME RICO .. ..KBD...12345678 90123456.Y ..KBD.%DH...CAPT URA FECH A MM/AA .c ..KBD...0908.J
Fecha MM/AA 06 02 4B 42 55 52 41 20 41 20 4D 4D 06 02 4B 42
01 20 20 30
02 20 20 38
43 46 03 03
41 50 54 45 43 48 63 4A
Documento
001
Este documento y la informacin contenida en l son propiedad de Ingenico. Prohibida su reproduccin y difusin parcial o total, por cualquier medio sin autorizacin previa y por escrito de Ingenico.
00 45 20 00
25 43 20 07
44 48 20 00 44 20 4D 00
48 41 20 30 48 20 4D 31
02 20 20 38 03 20 20 32
01 20 20 31 01 20 20 31
02 20 20 31 02 20 20 31
43 44 03 30 43 44 03 32
41 50 54 44 2F 4D 6F 37 03 46 41 50 54 44 4D 4D 07 30 30 39
..KBD.%DH...CAPT URA FECHA DD/M M/AA .o ..KBD...081107.F ..KBD.%DH...CAPT URA DDMM AAAA HHMM .. ..KBD...12112009 1258.E ..KBD..DH...CAPT URA HORA .' ..KBD...1428.D ..KBD.%KB...Pres ione cual quier tecla .V ..KBD...A.. ..KBD.5MN...TITU LO DE MENU Opci on A Opci on B .d ..KBD.....M ..KBD.%PW...CAPT URA DATO PASS WORD .. ..KBD...12345678 91234567.^
Captura de password 06 02 4B 42 44 00 55 52 41 20 44 41 57 4F 52 44 20 20 06 02 4B 42 44 00 39 31 32 33 34 35
02 20 20 34
43 50 03 35
41 50 54 41 53 53 1E 36 37 38
Documento
001
Este documento y la informacin contenida en l son propiedad de Ingenico. Prohibida su reproduccin y difusin parcial o total, por cualquier medio sin autorizacin previa y por escrito de Ingenico.
MENSAJE LWK (request) Efecta la carga de una Workingkey para cifrado de PIN (se requiere
tambin la carga de una Masterkey). No aplica con DUKPT habilitado. Campo 1 Descripcin Llave para cifrado de PIN (Working Key) de 16 bytes para 3DES o de 8 bytes para DES. TipoEjemplo Long (bytes) HEX(8/16) B0 54 82 2F A3 3B 53 C2 3F D2 34 69 D3 C5 B1 A6
Ejemplo: 02 4C 57 4B 00 10 B0 54 82 2F A3 3B 53 C2 3F D2 34 69 D3 C5 B1 A6 03 B2
.LWK........'...
Ejemplo: 02 4C 57 4B 00 01 00 03 52
.LWK...R
Documento
001
Este documento y la informacin contenida en l son propiedad de Ingenico. Prohibida su reproduccin y difusin parcial o total, por cualquier medio sin autorizacin previa y por escrito de Ingenico.
MENSAJE KEY (request) Efecta la carga de una llave pblica de EMV o el borrado de toda la lista de llaves de acuerdo a la accin indicada. El nmero mximo de llaves que pueden ser cargadas es de 20.
Campo Descripcin TipoLong (bytes) BCD(1) Ejemplo
Accion a realizar
00 Borrado de todas las llaves (accin requerida para iniciar la carga de una nueva lista). 01 Carga de llave especificada en el siguiente campo de este mensaje.
Llave a cargar de HEX(Var.) 07 00 00 00 03 A0 00 00 00 03 A5 6F acuerdo al formato del anexo B. (Campo ausente si la accin corresponde a un borrado de llaves) CRC32 HEX(4) CRC32 del campo 02
.KEY....U
07 8C 2F 10 DC F1 D8 8A 88 31
00 A8 97 A1 47 2E CD 1B 84 40
00 B4 DE CC 0B 92 5B 99 74 43
00 04 D7 31 B1 C1 EC 6F B8 3D
03 27 0A 8D 1E C5 EA 92 36 50
A0 D9 E5 06 D6 29 16 78 12 72
00 27 E4 D2 35 27 FE B0 A8 5F
00 B4 48 F8 69 6D 40 B7 2E 03
00 A1 0F F5 9C 8A 88 E3 4E F7
.KEY.... .... %o%.'' M~&/.H. r.q.1.. JyG..5i .....)'m .(I [.@ J.B2.ox 1.l/t6..N .@ix1@C=Pr_.
Ejemplo: 02 4B 45 59 00 01 00 03 55
.KEY....U
Documento
001
Este documento y la informacin contenida en l son propiedad de Ingenico. Prohibida su reproduccin y difusin parcial o total, por cualquier medio sin autorizacin previa y por escrito de Ingenico.
MENSAJE TK0 (request) Solicita una llave aleatoria (TK) la cul ser cifrada con la llave pblica RSA
precargada en el pinpad de 256 bytes de longitud, para que en un siguiente mensaje se efecte la carga de la llave de inicializacin para DUKPT. (Este mensaje no enva ningn campo de datos hacia el pinpad). Ejemplo (Solicita llave TK cifrada): 02 54 4B 30 00 00 03 2C
.TK0...,
MENSAJE TK0 (answer) Retorna la llave aleatoria (TK) cifrada con RSA para enviar al host y solicitar
la llave DUKPT de inicializacin. Campo Descripcin TipoLong (bytes) HEX(256) HEX(4) Ejemplo
1 2
Llave TK cifrada con RSA CRC32 del bloque anterior. Checkvalue de llave TK
HEX(3)
D0 F5 C8
ID Llave cargada
AN(8)
LLAVE001
AN(2)
01
EB B7 C1 F5 DA E1 8C 16 39 A2 23 B0 EB E3 87 20 69
1D F7 FB AD 4F 64 CE D8 D7 07 37 B4 F4 19 03 28 06
CA F7 71 C4 E6 10 FE B5 B3 44 3E 54 52 91 D5 BF C2
F3 CF E1 AA DB B0 29 8F F5 84 AB AF A5 12 60 B8 2D
CB C0 E1 77 17 4B 00 1F 20 E0 E5 CC 4D B2 E6 A1 4C
52 DE E2 09 D5 78 B4 58 1F 9C E8 FB ED 62 6B 60 4C
.TK0... .R d. v.7q 3~.-w. \t..O. 9W. . Nd.Kx 1=0.9b!4). .|. .X cpRyr9 . .Z;l/Es.D [h #7> (.C.T ztFVRM c....C..b 1|Pe O\.`k i..@a (` p4;4WVai.-LL AVE00101.g
Documento
001
Este documento y la informacin contenida en l son propiedad de Ingenico. Prohibida su reproduccin y difusin parcial o total, por cualquier medio sin autorizacin previa y por escrito de Ingenico.
MENSAJE IK0 (request) Inyecta la llave de inicializacin para cifrado de datos con DUKPT recibida del host, la cual es cifrada con la llave TK anteriormente enviada, as como tambin se le proporciona al pinpad el KSN inicial.
Campo Descripcin TipoLong (bytes) HEX(16) Ejemplo
Llave a inicializar cifrada con la llave TK KSN Inicial CRC32 de la llave cifrada, calculado sobre la representacin ASCII del campo 1.
2 3
HEX(10) HEX(4)
01 1F 12 00 00 00 00 00 00 01 60 FE C8 EA
Status
00: Inicializacin exitosa. 01: CRC32 incorrecto 13: Error en mdulo de seguridad 15:Error en longitud o formato de mensaje 99: Error desconocido
.IK0.....
Documento
001
Este documento y la informacin contenida en l son propiedad de Ingenico. Prohibida su reproduccin y difusin parcial o total, por cualquier medio sin autorizacin previa y por escrito de Ingenico.
MENSAJE LET (request) Efecta la carga de una tabla de bines para no cifrar datos con las tarjetas comprendidas en esta tabla proporcionada por el host.
Campo 1 2 Descripcin ID de la tabla de bines Version de la tabla de bines. Longitud usada del buffer cifrado Longitud real de la tabla de bines Bloque cifrado de la tabla de bines. CRC32 del bloque cifrado para la tabla TipoLong (bytes) AN(8) AN(2) Ejemplo TABLA001 03
BCD(2)
00 48
BCD(2)
03 20
HEX(4)
CF 43 D4 B5
MENSAJE LET (answer) - Mensaje de respuesta con el status de la carga de la tabla de bines.
Campo 1 Descripcin Status TipoEjemplo Long (bytes) BCD(1) 00 Sin error 01 CRC32 Incorrecto 02 Error en el formato de la tabla 15 Error en la longitud de la tabla 99 Error desconocido al cargar la tabla.
Documento
001
Este documento y la informacin contenida en l son propiedad de Ingenico. Prohibida su reproduccin y difusin parcial o total, por cualquier medio sin autorizacin previa y por escrito de Ingenico.
La imagen monocromtica que es desplegada por el pinpad corresponde a una matriz de 128x32 pixeles. Un pxel encendido se representa con el color negro de la imagen:
1 1 2 3 4 32 2 3 4 5 6 7 8 . . . 128
Cada grupo de 8 pixeles (mostrado el primero de ellos en color gris) representa los 8 bits de informacin de la imagen que puede codificarse en un arreglo de 16 bytes por cada lnea; con un total de 32 lneas, el tamao del arreglo es de 512 bytes. El primer byte de la figura corresponde al valor: 0 0 1 1 1 0 0 0 = 38h.
Si estos 3 pixeles fueran los nicos que son encendidos para toda la imagen, la matriz de datos completa de esta imagen es: 38 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Lnea 1 Lnea 2 Lnea 3 Lnea 32
Y estos son los 512 bytes de datos que forman parte del mensaje DSP que se enva al pinpad para su despliegue en pantalla.
Documento
001
Este documento y la informacin contenida en l son propiedad de Ingenico. Prohibida su reproduccin y difusin parcial o total, por cualquier medio sin autorizacin previa y por escrito de Ingenico.
Anexo B. Formato para carga de llave pblica para EMV La carga de una llave requiere el uso del siguiente formato.
Campo 1 2 3 4
Ejemplo 07 00 00 00 03 A0 00 00 00 03 A89F25A56FA6DA258C8CA8B40427D927B4 A1EB4D7EA326BBB12F97DED70AE5E4480F C9C5E8A972177110A1CC318D06D2F8F5C4 844AC5FA79A4DC470BB11ED635699C1708 1B90F1B984F12E92C1C529276D8AF8EC7F 28492097D8CD5BECEA16FE4088F6CFAB4A 1B42328A1B996F9278B0B7E3311CA5EF85 6C2F888474B83612A82E4E00D0CD4069A6 783140433D50725F
Documento
001
Este documento y la informacin contenida en l son propiedad de Ingenico. Prohibida su reproduccin y difusin parcial o total, por cualquier medio sin autorizacin previa y por escrito de Ingenico.
Anexo C. Formato del bloque de datos en claro antes del cifrado: Los datos que no estn presentes o no aplican por el tipo de ingreso, as como el padeo para llenar la longitud fija, sern llenados con Fs.
Campo 1 2
Descripcin Datos del Track 2 CVV capturado (no aplica para chip, donde se padea con FFs). Track 1 leido de la tarjeta de banda, si no est presente o la lectura no es por banda se establece en FFs
Ejemplo
52 23 33 45 34 43 50 04 D1 31 22 01 04 04 45 67 FF FF FF 23 8F FF FF FF
HEX(80)
42 34 37 30 30
35 5E 30 30 30
32 31 30 30 30
32 33 30 30 30
33 31 30 30 30
33 32 30 30 30
33 32 30 30 30
34 30 30 30 30
35 31 30 30 30
33 30 30 30 30
34 34 30 30 30
34 30 30 30 30
33 34 30 30 FF
35 34 30 30 FF
30 35 30 30 FF
30 36 30 30 FF
Documento
001
Este documento y la informacin contenida en l son propiedad de Ingenico. Prohibida su reproduccin y difusin parcial o total, por cualquier medio sin autorizacin previa y por escrito de Ingenico.