Getnet DocsGetnet Docs

Modelo de seguridad y PIN

La aplicación Pinpad de Getnet usa una arquitectura de seguridad robusta para proteger los datos sensibles del titular de la tarjeta. Este modelo se basa en tres pilares fundamentales: el cifrado asimétrico RSA para los datos de mensajería, la gestión de claves DUKPT para el cifrado seguro del PIN y del PAN, y el módulo especializado PinEntryActivity para gestionar el ciclo de vida del teclado seguro. Para conocer el modelo de cifrado completo, consulte Cifrado del Pinpad.

Cifrado RSA para datos sensibles

El terminal usa una clave pública RSA, proporcionada por el Sistema Host en el requerimiento Y19, para cifrar la información sensible de la tarjeta antes de transmitirla. Así, aunque se intercepte la comunicación serie, los datos subyacentes siguen siendo ilegibles sin la clave privada correspondiente. El cifrado se aplica a los datos sensibles devueltos en las respuestas de los comandos Y19 (para contactless) e Y02 (para chip/banda).

Los siguientes elementos de datos se cifran con la clave RSA:

  • Datos de Pista I y Pista II.
  • Código de seguridad (CDS).
  • Datos EMV.

El PAN (número de tarjeta) no se cifra con RSA. Se cifra por separado con 3DES DUKPT —se devuelve como ENC-PAN con su propio KSN-PAN— y el PAN dentro de las pistas cifradas con RSA se enmascara con ceros. Consulte Cifrado del Pinpad.

El Sistema Host genera el par de claves y entrega el módulo y el exponente en los campos RSA y EXP del Y19. Para el procedimiento, consulte Generar e Inyectar Claves de Cifrado.

Gestión de claves DUKPT

El terminal usa DUKPT (Derived Unique Key Per Transaction) para cifrar tanto el PIN como el PAN. Cada transacción deriva una clave única a partir de una clave base y construye el PINBLOCK y el KSN (PIN), y el ENC-PAN y el KSN-PAN (PAN) que se envían en las respuestas Y19 e Y02. El PIN y el PAN usan contadores KSN independientes. Consulte Cifrado del Pinpad para ver las ranuras de claves y los parámetros ENC y PMK.

Las claves base no las genera el Host. Se inyectan en la memoria segura del Pinpad en un entorno controlado —la ranura 3 para el PIN y la ranura 4 para el PAN en terminales de doble clave— y el Pinpad nunca las expone en claro. Si un comando referencia una ranura de clave que no contiene ninguna clave, la operación termina de inmediato con error. Para el procedimiento de inyección, consulte Generar e Inyectar Claves de Cifrado.

Gestión y verificación del PIN

La PinEntryActivity gestiona la interfaz del teclado seguro y captura la entrada del usuario de forma segura dentro del área segura del terminal.

  • Comportamiento de la IU: El teclado admite un máximo de seis dígitos. Cada dígito introducido se enmascara en la pantalla específicamente con un asterisco (*).
  • Tiempo de espera: El teclado seguro tiene un tiempo de espera fijo de 10 segundos. Si no se realiza ninguna acción en esa ventana, el proceso de entrada expira.

Métodos de verificación del PIN

El método usado depende del perfil de la tarjeta y se informa al Host:

  • PIN Online: El PIN capturado se cifra con DUKPT y se envía al Sistema Host para su validación remota.
  • PIN Offline: El PIN se valida localmente en el chip de la tarjeta, sin cifrado adicional. Para las transacciones CHIP, el campo Y02.PVF indica si un PIN Offline se verificó correctamente.
  • PIN Offline Cifrado: El PIN lo valida la tarjeta, pero viaja cifrado desde el teclado seguro hasta el chip con una clave que proporciona la propia tarjeta.

Reglas de comportamiento de seguridad

  • Bloqueo de comandos e Y06: Para evitar la interrupción de una entrada segura, el Pinpad ignora todos los comandos mientras el teclado seguro está activo. Esto incluye específicamente el comando Y06 (Cancel).
  • PIN Bypass: Para emisores específicos, como American Express, el usuario puede saltar la introducción del PIN pulsando “Confirmar” sin introducir dígitos. La transacción continúa como si no se hubiera requerido el PIN.
  • Fallos de validación: Si el índice de la ranura de clave DUKPT indicado en el comando no corresponde a una clave cargada en la memoria del terminal, la operación finaliza de inmediato con error.

Recursos relacionados

  1. Generar e Inyectar Claves de Cifrado: genere el par RSA y cargue las claves DUKPT en el terminal.
  2. Procesar Pagos con Tarjeta: siga los flujos de transacción paso a paso.
  3. Comandos de la API: revise la estructura de bajo nivel de los comandos Y19 e Y02 para completar correctamente los campos RSA y DUKPT.