Conoce cómo puedes obtener las claves criptográficas para permitir el intercambio seguro de información entre Kushki y tu comercio.¿Cómo puedo obtener las claves criptográficas?#
Para integrar este servicio es necesario que realices las solicitudes de integración a través de HTTPS, utilizando las credenciales que te proporcionaremos. Recuerda que esta información es confidencial y no debes compartir datos sensibles en lugares públicos.
Esta funcionalidad se encuentra disponible para los siguientes modelos:
☑ Adquirente
☐ Agregador Para obtener las claves criptográficas que utilizará tu comercio para comunicarse con Kushki y habilitar el procesamiento de transacciones con tarjeta presente tu comercio, es necesario realizar los siguientes pasos:Dichos pasos se detallan a continuación:1. Definición de acuerdos y condiciones de operación#
Como primer paso, se realizará una sesión entre tu comercio y Kushki, para establecer el curso de las siguientes acciones:1.1. Revisión y aprobación de las condiciones de la ceremonia de intercambio de claves#
El HSM es un módulo de seguridad de hardware que genera, protege y administra las claves que se utilizarán para cifrar y descifrar los datos del procesamiento de transacciones en tu comercio.
Tu proveedor de HSM debe estar de acuerdo con las condiciones de la ceremonia de intercambio de claves criptográficas.
Al estar de acuerdo con dichas condiciones, tu comercio deberá intercambiar componentes con el proveedor de HSM de Kushki y realizar las siguientes solicitudes:Realizar la firma de un Acuerdo de confidencialidad (NDA) del servicio HSM (Hardware Security Module), en el que se cargará la información de las claves criptográficas compartidas. Este proceso asegurará el resguardo de las claves y de esta manera, tu comercio podrá acceder al portal de HSM.
Crear y mantener la información de los Security Officers (SOs), incluyendo los detalles de contacto y los grupos de SO correctos dentro del portal. Estas personas serán las responsables de la seguridad en el proceso de intercambio de claves.
Seguir el paso a paso citado en este artículo para completar el proceso de intercambio de claves.Si estás en fase de pruebas y no tienes aún un HSM 💡
Si deseas probar la API de Kushki mientras gestionas un proveedor de HSM puedes solicitar a Kushki recibir las claves de prueba (BDK) con anterioridad sin necesidad de tener aún la clave de transporte (KEK) que se almacena en el HSM.
Al recibir las claves de prueba podrás encriptar los datos de la transacción usando alguna librería. Este artículo te guía paso a paso en un ejemplo de cómo encriptar estos datos y así empezar a probar.
1.2. Establecimiento de mecanismos de trabajo y canales seguros#
Se establecerán los mecanismos de trabajo y los canales seguros por los que se compartirá información sensible entre tu comercio y Kushki.
Se definirán al menos dos (2) custodios de seguridad (conocidos como Security Officers), quienes estarán a cargo de ejecutar el intercambio de claves en las terminales POS de tu comercio. Estos custodios de seguridad no deben reportar a la misma persona.Para iniciar el proceso de intercambio de claves criptográficas:Te solicitaremos información requerida en el proceso de afiliación y obtención del servicio de tarjeta presente. Este proceso se realizará para habilitar el servicio de HSM de Kushki y disponibilizar la información de tu comercio en la consola de Kushki.
Tu comercio compartirá los datos solicitados, los cuales serán recibidos por Kushki para iniciar el proceso de revisión, y de esta forma comenzar el proceso de integración del servicio de tarjeta presente.Al recibir la información solicitada, Kushki revisará y validará estos datos con el fin de dar de alta a tu comercio y habilitar el servicio a través del HSM; con el fin de ofrecer a tu comercio una conexión de host segura y de alta disponibilidad para el procesamiento de transacciones de tu comercio.Una vez recibida y validada la información, el proceso continuará.5. Kushki genera y envía KEK y KCV#
Kushki generará y enviará las siguientes componentes de claves para cifrado:La clave KEK (Key Encryption Key) corresponde a una clave de transporte, la cual es compartida por Kushki a través de paquetería segura (ambiente de producción) o medios electrónicos seguros (ambiente de pruebas). Esta clave permitirá cifrar y descifrar otras claves que se compartirán en el futuro entre Kushki y tu comercio; por lo que dicha información debe almacenarse bajo estrictos estándares de confidencialidad en el Hardware Security Module (HSM) de tu comercio.
Las claves KCV (Key Checksum Value) correspondientes para verificar la integridad de las claves generadas. Esta información será enviada directamente a través de correo electrónico a los custodios de seguridad (Security officer/s) que se definieron en el paso 1.1.1.
Cuando se envíen los componentes de clave, los custodios de seguridad recibirán la siguiente información:Información de referencia de la clave generada (Key reference information).
Datos de contacto (excluyendo la dirección) del SO que envía la componente de clave criptográfica.
Los detalles del envío y el número de serie de la bolsa de seguridad (TEA bag).
Un enlace a la página del Portal de HSM donde se debe completar la lista de verificación después de la recepción.
Ten en cuenta que, para que Kushki pueda realizar el intercambio de claves, los custodios de seguridad asignados (SOs), deben cumplir con los siguientes requisitos:Ser dados de alta en el portal del servicio de HSM de Kushki.
Contar con una cuenta activa para que puedan participar en el intercambio de claves criptográficas.
Ser incluidos en los grupos SO correctos (1, 2 o 3).
Asegurarse de actualizar la dirección para el envío de las componentes físicas cuando sea requerido.
Una vez que los SO de tu comercio hayan cumplido con los requisitos mencionados en el apartado anterior, estos recibirán la información sobre la cuenta de tu comercio en el portal del proveedor de HSM de Kushki. La recepción de esta información dependerá del ambiente de trabajo.Ambiente de pruebas (UAT):
En este ambiente, los componentes pueden enviarse a través de medios electrónicos seguros, tales como correo electrónico cifrado, una bóveda de seguridad y SFTP (Protocolo de transferencia de archivos SSH). La información que recibirás aparecerá en un formato similar al siguiente:| KEY ID | DESCRIPTION | ALGORITHM | LENGTH | CLEAR TEXT KEY/COMPONENT | KCV |
|---|
| ZMK | component 1 | 3DES | double | A2F2 9E20 4515 D531 6B2C 32BC 3E58 612F | EF0F99 |
| Double-len | component 2 | 3DES | double | BA1F 23CD 8529 2C7A 51EC 07A2 EA8A C11F | F23EFF |
| component 3 | 3DES | double | F70D 38D6 E557 A176 BC4F 1002 3D4C 01E9 | C41DBB |
Kushki enviará tres sobres con un componente de clave física enviada por medio de paquetería segura de manera intercambiada a al menos dos de los custodios de seguridad que no reporten a la misma persona.Este proceso puede tomar un aproximado de dos semanas, dependiendo de las ubicaciones de los Security Officers (SO).
7. Tu comercio valida y carga los componentes en tu HSM#
Recibe los componentes y las sumas de comprobación de cada clave para posteriormente cargarlos y validarlos en tu HSM. Si dicha comprobación fue exitosa, es necesario que realices los siguientes pasos:Los SOs de tu comercio deberán completar la lista de verificación para confirmar la recepción de los componentes de clave a través del portal del proveedor de servicio de HSM de Kushki. Esta información se recibirá a través de correo electrónico, siguiendo las instrucciones allí incluidas.
Si evidencias algún problema en la carga y validación de los componentes en tu HSM, por favor comunica esta información al correo electrónico seguridad@kushkipagos.com.Es requerido que los SOs de tu comercio realicen la destrucción del componente, una vez este haya sido activado en el portal de servicio del HSM de Kushki.
Ten en cuenta que para que Kushki pueda habilitar la información de tu comercio en la consola, tu proceso de afiliación debe haberse realizado satisfactoriamente. Lo anterior, teniendo en cuenta que, para la generación de la BDK requerimos conocer la información que se menciona en el presente apartado. Kushki dará de alta a tu comercio en la consola. En esta plataforma podrás verificar la siguiente información:Merchant_id: identificador de tu comercio en las plataformas de Kushki.
Private-Credential-Id (llave privada): Clave de seguridad privada para validar y autorizar todas las transacciones de tu comercio.
Otra información relevante, tal como la Public-Credential-Id (llave pública), la cual corresponde a una clave alfanumérica exclusiva de Kushki que te permite autenticar las transacciones ejecutadas.
Para consultar esta información en la consola de Kushki de tu comercio, te recomendamos realizar el paso a paso citado en nuestra guía de llave pública y privada. 9. Generación y envío de la BDK#
Kushki genera dos claves de derivación base (Base Derivation Key, BDK). Estas claves te permitirán hacer la derivación correspondiente para seguir con el proceso DUKPT.La primera Base Derivation Key se creará para el campo data.
La segunda Base Derivation Key se creará para el campo pin (pin_block).
Estas claves serán intercambiadas de manera cifrada y a través de medios electrónicos seguros con la KEK (Key Encryption Key) en formato TR-31.Los tiempos de envío (SLAs) de esta información son los siguientes:| Envío de KEK en ambiente UAT | Envío de KEK en ambiente de producción | Envío de BDKs en ambiente de UAT y producción |
|---|
| 1 día hábil | 2 semanas | 1 día hábil |
Un ejemplo de la información de la BDK cifrada con una KEK en formato TR-31 se menciona a continuación:RD0112B0TX00N00004FD842D565C0BDD9741A3EAB5106A78087A4D0729A56319F32AF9FBFC6FAE0A184DA40D08FA279FBB50E7598936AD18F
Ten en cuenta que las BDKs en ambiente de producción se compartirán a través de medios electrónicos seguros. Por ejemplo, a través de 1password.
10. Tu comercio ejecuta procesos internos para gestión de terminales POS#
Ahora que los custodios de seguridad de tu comercio (SOs) han recibido las BDKs, es momento de que ejecutes los procesos internos para gestionar esta información en las terminales POS utilizando el proceso DUKPT.Acepta pagos
Acepta pagos con una terminal POS desde tu punto de venta a través de Raw card-present API.Cifra datos de tarjeta por medio de script
Aprende cómo puedes encriptar la información de la transacción y empezar a hacer transacciones de prueba a través del API de Kushki.