RDX Specification

JWE Requisitos para RDX

Esta información proporciona los requisitos para la implementación de JSON Web Encryption (JWE) con la API de Intercambio de Datos en Tiempo Real (RDX) de VCAS. La implementación de JWE con RDX facilita la transmisión segura de solicitudes de API desde VCAS al emisor/socio, protegiendo datos sensibles y no sensibles proporcionados a través del proceso de desafío.

JSON Web Encryption

JSON Web Encryption (JWE) es un formato abierto de encriptación de mensajes que se puede utilizar como un método para pasar de manera segura el mensaje RDX durante el procesamiento de transacciones. Este es un formato de convención de nomenclatura estándar utilizado por Cardinal para identificar la información de rotación del certificado JWE. La información específica sobre la implementación de JWE se cubre en el RFC-7516.

VCAS encripta el mensaje de carga útil de RDX y lo formatea de acuerdo con la especificación JWE. El mensaje de carga útil de RDX encriptado se envía luego al servidor del emisor, donde el emisor procesa el JWE y desencripta el mensaje para su procesamiento posterior. Tenga en cuenta que la respuesta del cliente RDX no estará encriptada.

Formatos JWE Soportados

Actualmente, VCAS solo soporta ciertos algoritmos JWE tanto para la gestión de claves como para la encriptación de contenido. El algoritmo de gestión de claves se utiliza para el intercambio de claves entre Cardinal y el emisor y para envolver la clave de encriptación de contenido durante la encriptación del mensaje para JWE.
• JWE utiliza serialización compacta
• El tipo de contenido de JWE será application/jose

Algoritmo de Gestión de ClavesValor del Algoritmo JWE (alg)
RSAES OAEP usando SHA-256 y MGF1RSA-OAEP-256

El algoritmo de encriptación de contenido se utiliza para la generación de claves efímeras y la encriptación de contenido de la carga útil/mensaje RDX.

Algoritmo de Encriptación de ContenidoValor de Encriptación JWE (enc)
AES GCM usando una clave de 256 bitsA256GCM

Solicitud de Ejemplo de JWE

La captura de pantalla a continuación muestra un ejemplo de la carga útil encriptada similar a la que los emisores reciben de VCAS. Para un ejemplo de los datos de la carga útil de la solicitud RDX después de la desencriptación, consulte el sitio de Desarrolladores de VCAS.
Encabezados: Content-Type:application/jose

Carga Útil Encriptada

eyJraWQiOiJSRFhNRVRFU1QtUEtFLUFDUy1DQy0yMDQ4U0hBMi1ERVYiLCJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkEyNTZHQ00ifQ.EOx5dinhHNb8YcFnI7qFXofquFVMAQqjo7gH_FNJAPwvYeQcBMIIT3ivlx3EcQL7B0tgGMHfNY_pBgdvVB3yp6ULYeWn-r3TXMnTQ-BTPQn1SfCV-XrSlajs4npvjHTtE75GO3pk3p3At6UbwUKC36O8tDHIejJi1Ffc_DBJJuCl50c1ymq1mmwu3_mLrkrhDZkv5-Y7Ypchpl6zpl2P9n74JqKB0lqTy79mInw6ep5RMdS87tAfpacKHsHRal6CcEfGwzW-CjnnDtWPwCoiE17vGR6lX7Jaaxg-zoAR2w5MMNdy0SOq9z5axaNwPqXbWA5vgx0hdRFhcXWp6idvTA.zzyUpS2qJBGn6IKI.nEkGBa8H7T9k40AyD8FtjdvZ89xtkBx8DzQ2wsPcUaexJknXTzqWOaXgApJbLON7g7Vc2br7czxL9U-f24KPG73tHyiWc5pcddpTQb_wpK1zGd3QJzkjkaCxkW_8PXI5VqRGZTVLQ_eGHl7y3YIAR_hdBsFigjZYns5osAoUN5udTZoaV6Te2VssyBrC5epPmfRnM2iOs1BZaP4zqDmwDDNPZUu1_bmPQ3AR4hJGY6xjzXCCjH-2iQ-WpWcpzAMxx-jDl7z4g7aR4KrlamCQx-zi8RoyNBmxtTJWSv7P6bJYM_Ukz-aC2VoyWmCYEI1YQ6wcovzrl-cMXRAzYYQFV_rdOg9RvXjKeGSE4UgMW5wWyzyBbRTRRBvlXsPih9E59g8we5WFJU03QRMWcIzb3XUr1gCW7qA5xhsuG-qJk-8jCwoEoRCmFi3wQipZbpEBW_ycVTeFrJudajx6XErS34Dr2FC1x5sfqiv6-IwiXWTWE8XKUylwPDQ94cIHs5IvtK9JisvYQtIXIFdxbg68nwlJM7wKltZBga-o8JEENkR_gbFhIUVNcfJSfHFYYkrj__NrtodnQL85sbefPdUPzuaZk64U97cdRRRxQ8IrOhaQHwm4W6alLpMW6675wrTHevh4eCw793ftDiQ-sfL4-LyJ7TqeVahNYnwp3c2zzU_NQsPcp9Ofz4FuE6-ohdSD8hpcJxZUcnhFn1d0X3DmN2EQE7xB4WFj8Tcbvh4jedHp5pN9B7vE0EgnRC75ZMazcDxBYXJFMubesLXSOnBgBwKNqchoJXldtJwjSKan4U9QPn4IqwNZJVNDN3KXskH-GBwPskTQuODPw9z38NVy5h9cytsFOPX4eqBLP0hgxaIu-zVjEs1iyiVCJ0gyfGdtwDLdFV0CLAcrRtWvzudc1ez5VpQ9asnlN0M6B9yv1ss-RN23hyebhz6CGDg0h6K-udUdS6Zg8Qku6D4EJoYOjju5o_MpkYO3yUBict8Tx_HnNjisCZYUDb1_ytvweyupCjdn_8cS6r4QayA1kggjtu0d5JzYwFbwcYUdVDuvHmVl4PgDDw-OdJ8FYX8coOl2W_zQV6bmKIVO4nBL8n1Oq63ugDFks2r_YzseWMJ5Nfj7QZUEWKIXGEiB6IljfULoaYXNtdfwOvRKtY_Xz6UnpgNr8qQ0U8MYXD565wOurybcm6MoVBksfVWkq2SWKtDH-CAzdbuGOUzDDCZIwjTtfdXNKS7gJu8JPxvF0gztqsCLNeKmEqezEKgcZlKqWSp6wEyFeMr07GzOzJE8ehBbDkvwUZNYppm7Jklw79LlwrFwyrTgzRHO3tTJFHZrFZYIvuT4hMwiZS9Ec-z74pg2TUnC9_xSXQTUvuVXanyY_qQHiCxn6HsvqKxmXLzCQ4cbhKWkKdHP7kqTwmzdry0-UZ_5QLGP7zn50Cm3mpccHwYkvPCiu_9Uhpz4pN2LV4-fyXDQBh2RloCwznMVPLngDbeeCQuFNRmgunkZ3OuUj_HJuLA37egolRG9PYXztZxeemnRiTGi7F05HDMCpdMTiuTiV7EZaL6-Ivq8ADrdYLeV0nAyJcihlgLQjauMbbXQdzv644vvzqFn_knAnC4WHAb1lEtwEXZMqVcCFHRiC8Pc6eSTKHR69MOsbaYPiKlcRrMMMDOkp3Yq7Z_4wLCWj4qSUqcXqESynOayS17ENs5AzKb7nsEMWX4xWLvIY76z3cC7kbr-ExBk6A3M3rKsHWCVQJL8nFHbV551wtMbyjan61SLnuASntKNqmxh5JfMqwxSOEr4YZMhlzuLxdDUE66A5xxdhEuItRE0Zr1GutkoLVkc4anqD3OU9LYCJUItOA7rLDzQebX2bnloA13tzjYHSz_aRaqZogwWR-itzBSbdO4rGewuzvv10W9n3ldyrAfFGW75OKyX6SjDym6mm_TYMvJVpg2dHRLHED9ShqSsAe76R2V2pHHg65rPCp-MNIl4bFCLgRVT8CwtVRqnXRNbd37h0dPscGt6eU6kr7emUJdTTbeO.YOf0HEccaA7Wiw4PuWJlGQ

Carga Útil Desencriptada

{
  "kid": "RDXMETEST-PKE-ACS-CC-2048SHA2-DEV",
  "alg": "RSA-OAEP",
  "enc": "A256GCM"
} 
{
  "ProcessorId": "5723ae630063ac1a9c3ab079",
  "IssuerId": "5723ae630063ac1a9c3ab083",
  "TransactionId": "00ec043e-40b5-4ce4-95c2-9e83b644f412",
  "DSTransactionId": "00ec043e-40b5-4ce4-95c2-9e83b644f987",
  "ThreeDSRequestorAuthenticationInd": "01",
  "StepupRequestId": "878f4751-4140-4881-9e4a-003e83524f22",
  "DeviceLocale": "en-US",
  "DeviceUserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36",
  "MessageVersion": "2.2.0",
  "RDXMessageVersion": "2.2.3",
  "MessageCategory": "01",
  "MerchantInfo": {
    "AcquirerId": "1337",
    "AcquirerCountryCode": "840",
    "MerchantId": "876543210",
    "MerchantName": "Ranier Expeditions",
    "MerchantURL": "https://www.requestor.com",
    "MerchantCategoryCode": "0123",
    "MerchantCountryCode": "840",
    "MerchantAppRedirectURL": "merchantScheme://appName?transID=b2385523-a66c-4907-ac3c-91848e8c0067"
  },
  "PaymentInfo": {
    "CardNumber": "redacted",
    "CardExpiryMonth": "08",
    "CardExpiryYear": "28",
    "CardHolderName": "Jane Doe"
  },
  "TransactionInfo": {
    "TransactionCurrency": "840",
    "Channel": "02"
  }
}

Creación de Certificados JWE (Nuevas Implementaciones)

Durante el proceso de implementación, VCAS solicitará el certificado inicial del emisor. Los emisores deben trabajar con su Gerente de Implementaciones de VCAS para coordinar los detalles de la nueva creación del certificado JWE.
Después de la creación del certificado, el emisor debe exportar y enviar solo la clave pública en formato de certificado a CardinalCommerce.

Generación de Pares de Claves (Nuevas Implementaciones)

El emisor generará un par de claves basado en el algoritmo de gestión de claves elegido anteriormente, utilizando openssl, key tool u otra herramienta similar. La clave pública/certificado se codificará con varias piezas de información como se muestra a continuación. Luego, la clave/certificado se exportará como un certificado y se enviará al equipo de gestión de claves de Cardinal para ser importado en el sistema VCAS. Cardinal sigue las recomendaciones de NIST para el empaquetado de claves de dos años.

A continuación se muestra un ejemplo del certificado que el emisor envía a VCAS:

----- INICIO DEL CERTIFICADO-----
MIIJojCCB4qgAwIBAgITFQACoT1f6hJJ+g1QuwAAAAKhPTANBgkqhkiG9w0BAQsF
ADBoMRMwEQYKCZImiZPyLGQBGRYDY29tMRMwEQYKCZImiZPyLGQBGRYDY
GAYKCZImiZPyLGQBGRYKZ2xvYmFsdGVzdDEgMB4GA1UEAxMXQU5aIEdsb2Jh
c3QgQ0EgMDEgdjMwHhcNMjIxMDE5MDMzMDIxWhcNMjMxMDE5MDMzMDIxW
mvpuGfZHkPbUC/91IQLe/Kerp/IBgz6TuOriTuKn8xJwpypwH0iqK6cBlm9WWgW
vizZa0LnAoCz2xYeUc9ebH+0Fl2+4ZEc3pWEJxc8UdEA6ZmtxhInY56gANpxyRp9
ByDr2JzzcweEEBmq6ShFjZyb5njUYixjYPDspL2QRh5D/6D1Ybmbk0nBGhdYAjxe
sis+rCjA3yotZSjsm39QZMxYulHayIHK7f4hQrZcqwEf3OioDwqqCfo89+NIunD0lpk
pKmCCxCqEZZVrr55XXP6JqXk/XCIo/YcwrteLaryqUSWPxaSrFWceLw6mSA9kRC
/xdmYkkehzc7R2rFIXlI1pQwpwIDAQABo4ID5jCCA+IwRAYJKoZIhvcNAQkPBDcwl
NTAOBggqhkiG9w0DAgICAIAwDgYIKoZIhvcNAwQCAgCAMAcGBSsOAwIHMAoG
SIb3DQMHMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQ
cDySVyZ3hZLIX3SAt2asO+meYp0McT5tSEC95Oksgm6/sdwErFbiiRnt2ytlgO8Nko
T9HwMWWJOqn6/dJfwrdBfiawwPdznkEP10olExj9ggX814fnVN6nwm2d2YzieMXp
----- FIN DEL CERTIFICADO-----

Proceso de Intercambio de Claves (Nuevas Implementaciones)

Implementación: Durante la incorporación, los emisores deben generar y intercambiar un nuevo par de claves utilizando sus propias convenciones internas. Se deben generar pares de claves únicos tanto para los entornos de Staging (UAT) como para los de Producción.

El par de claves generado debe ser utilizado únicamente para la integración JWE y para ningún otro propósito.

  1. El emisor genera un par de claves en su sistema utilizando sus propias convenciones (no definidas por Cardinal).
  2. Un par de claves para cada entorno – STAG (UAT) y PROD.
  3. Frecuencia de rotación de claves.
    a. NIST – Recomendación de dos años
  4. El emisor genera un certificado
    a. Generación de claves:
    1. Cifrado RSA - RSA 2048, 3072 o 4096
    2. 4096 es el formato preferido
      b. Estos parámetros en el certificado deben completarse con la información adecuada:
    3. “key usage”, “o”, “ou”
      1. o = organización
      2. ou = unidad de organización
    4. correro electrónico de contacto en el certificado para un fácil seguimiento cuando caduque
    5. especificar una fecha de expiración de dos años
      c. El certificado debe ser de tipo X.509 utilizando una de las siguientes extensiones:
    • .pem
    • .cer
    • .crt
    • .p7b
  5. El emisor o CA no necesita firmar este certificado
  6. El emisor proporciona el correo electrónico y la información de contacto de su equipo clave/renovación
  7. El emisor exporta y envía solo la clave pública a Cardinal
  8. El emisor envía un correo electrónico con el certificado/clave pública a su representante de VCAS
  9. El representante de VCAS presenta una solicitud interna al equipo de gestión de certificados para su revisión
  10. El representante de VCAS proporciona al cliente un nombre de alias. El nombre de alias es parte del mensaje encriptado. El cliente deberá asegurarse de aceptar el nombre de alias de VCAS; los nombres de alias deben coincidir con lo proporcionado por VCAS; los nombres de alias son únicos por entorno; STAG, PROD
  11. El emisor envía un correo electrónico de seguimiento con el valor de checksum SHA256 del certificado para la validación de autenticidad

Nota: VCAS utiliza una convención de nombres estándar al crear un nuevo certificado público. Los emisores deben seguir esta convención de nombres para asegurar la compatibilidad con los certificados de VCAS. El nombre de alias de VCAS será proporcionado al emisor durante el proceso de implementación.

Información adicional de JWE

  • El Nombre Común es proporcionado por el cliente que crea el certificado.
  • El ID de la Clave es un valor que aparece después de que el emisor descifra la carga útil de RDX, lo cual es una convención de nombres asignada por Cardinal/VCAS. Esto puede ser proporcionado por su representante de VCAS. El formato para el ID de la Clave se muestra a continuación:
  • [Motivo/Entidad]-[Caso de Uso para el Certificado]-[MPI/ACS]-[Entidad Propietaria del Certificado]-[Longitud de Bit/Algoritmo]-[Entorno]
  • Ejemplo: 1234dadc1234b704c1f23dc4-PKE-ACS-Cliente-2048SHA2-STAG

    Después de recibir la solicitud de RDX, el emisor descifrará la carga útil y procesará la solicitud de RDX.

    Para la generación de nuevos certificados y renovaciones de certificados, VCAS se comunicará con el cliente vía correo electrónico a la dirección proporcionada durante el proceso de incorporación del cliente. Los clientes deben configurar sus cuentas de correo electrónico para reconocer y confiar en los correos electrónicos de [email protected].

    Vencimiento y Renovación del Certificado JWE

    Para las renovaciones de certificados, el equipo PKI de VCAS enviará un correo electrónico de notificación de renovación desde [email protected] al menos 60 días antes del vencimiento. La notificación de renovación de VCAS proporcionará detalles clave del certificado que expira, incluyendo el nombre común, número de serie, alias y fecha de vencimiento.

    Una vez que el cliente emita el certificado de reemplazo, debe enviarlo a [email protected]. VCAS entonces iniciará el proceso de control de cambios para rotar el certificado. El cliente debe soportar ambos certificados hasta recibir un correo electrónico de VCAS confirmando que el nuevo certificado ha sido instalado.

    Cardinal sigue las recomendaciones de NIST sobre la frecuencia de rotación de claves, que requiere la rotación de envoltura de claves cada dos años. Para la rotación de claves, los emisores deben realizar un proceso de generación de claves y enviar el nuevo certificado público a VCAS. El equipo de certificados de VCAS enviará al emisor una notificación de renovación 60 días antes del vencimiento de la clave. Si VCAS no recibe una respuesta, VCAS involucrará al equipo de soporte para proporcionar un contacto alternativo del emisor.

    Contacte a su representante de cuenta de VCAS para información adicion