Funciones específicas de visa - AWS Criptografía de pagos

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Funciones específicas de visa

ARQC - CVN18/CVN22

CVN18y CVN22 utilice el CSKmétodo de derivación de claves. Los datos exactos de la transacción varían entre estos dos métodos; consulte la documentación del esquema para obtener más información sobre cómo crear el campo de datos de la transacción.

ARQC- CVN1 0

CVN1El 0 es un método más antiguo de Visa para EMV las transacciones que utiliza la obtención de la clave por tarjeta en lugar de la derivación de la sesión (por transacción) y también utiliza una carga útil diferente. Para obtener información sobre el contenido de la carga útil, ponte en contacto con el programa para obtener más información.

Crear clave

$ aws payment-cryptography create-key --exportable --key-attributes KeyAlgorithm=TDES_2KEY,KeyUsage=TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS,KeyClass=SYMMETRIC_KEY,KeyModesOfUse='{DeriveKey=true}' --tags='[{"Key":"KEY_PURPOSE","Value":"CVN10"},{"Key":"CARD_BIN","Value":"12345678"}]'

La respuesta refleja los parámetros de la solicitud, incluida una ARN para las llamadas posteriores y un valor de verificación clave (KCV).

{ "Key": { "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk", "KeyAttributes": { "KeyUsage": "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS", "KeyClass": "SYMMETRIC_KEY", "KeyAlgorithm": "TDES_2KEY", "KeyModesOfUse": { "Encrypt": false, "Decrypt": false, "Wrap": false, "Unwrap": false, "Generate": false, "Sign": false, "Verify": false, "DeriveKey": true, "NoRestrictions": false } }, "KeyCheckValue": "08D7B4", "KeyCheckValueAlgorithm": "ANSI_X9_24", "Enabled": true, "Exportable": true, "KeyState": "CREATE_COMPLETE", "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY", "CreateTimestamp": "2024-03-07T06:41:46.648000-07:00", "UsageStartTimestamp": "2024-03-07T06:41:46.626000-07:00" } }

Toma nota de lo KeyArn que representa la clave, por ejemplo arn:aws:payment-cryptography:us-east- 2:111122223333:key/pw3s6nl62t5ushfk. Lo necesitará en el siguiente paso.

Valide la ARQC

En este ejemplo, validaremos un ARQC generado con Visa CVN1 0.

Si la criptografía de AWS pago puede validar elARQC, se devuelve un http/200. Si el arqc no se valida, devolverá una respuesta http/400.

$ aws payment-cryptography-data verify-auth-request-cryptogram --auth-request-cryptogram D791093C8A921769 \ --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk \ --major-key-derivation-mode EMV_OPTION_A \ --transaction-data 00000000170000000000000008400080008000084016051700000000093800000B03011203000000 \ --session-key-derivation-attributes='{"Visa":{"PanSequenceNumber":"01" \ ,"PrimaryAccountNumber":"9137631040001422"}}'
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk", "KeyCheckValue": "08D7B4" }

CAVVV7

En el caso de las transacciones con Visa Secure (3DS), el servidor de control de acceso CAVV () del emisor genera un (valor de verificación de la autenticación del titular de la tarjeta). ACS Esto demuestra que el CAVV titular de la tarjeta se ha autenticado, es único para cada transacción de autenticación y lo proporciona el adquirente en el mensaje de autorización. CAVVLa versión 7 vincula a la aprobación los datos adicionales sobre la transacción, incluidos elementos como el nombre del vendedor, el importe de la compra y la fecha de compra. De esta forma, se trata, en efecto, de un hash criptográfico de la carga útil de la transacción.

Criptográficamente, CAVV V7 utiliza el CVV algoritmo, pero todas las entradas se han cambiado o reutilizado. Consulte la documentación correspondiente de terceros o de VISA sobre cómo producir las entradas para generar una carga útil del V7. CAVV

Cree la clave

$ aws payment-cryptography create-key --exportable --key-attributes KeyAlgorithm=TDES_2KEY,KeyUsage=TR31_C0_CARD_VERIFICATION_KEY,KeyClass=SYMMETRIC_KEY,KeyModesOfUse='{Generate=true,Verify=true}' --tags='[{"Key":"KEY_PURPOSE","Value":"CAVV-V7"},{"Key":"CARD_BIN","Value":"12345678"}]'

La respuesta refleja los parámetros de la solicitud, incluidos uno ARN para las llamadas posteriores y un valor de verificación de clave (KCV).

{ "Key": { "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/dnaeyrjgdjjtw6dk", "KeyAttributes": { "KeyUsage": "TR31_C0_CARD_VERIFICATION_KEY", "KeyClass": "SYMMETRIC_KEY", "KeyAlgorithm": "TDES_2KEY", "KeyModesOfUse": { "Encrypt": false, "Decrypt": false, "Wrap": false, "Unwrap": false, "Generate": true, "Sign": false, "Verify": true, "DeriveKey": false, "NoRestrictions": false } }, "KeyCheckValue": "F3FB13", "KeyCheckValueAlgorithm": "ANSI_X9_24", "Enabled": true, "Exportable": true, "KeyState": "CREATE_COMPLETE", "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY", "CreateTimestamp": "2023-06-05T06:41:46.648000-07:00", "UsageStartTimestamp": "2023-06-05T06:41:46.626000-07:00" } }

Toma nota de lo KeyArn que representa la clave, por ejemplo arn:aws:payment-cryptography:us-east- 2:111122223333:key/dnaeyrjgdjjtw6dk. Lo necesitará en el siguiente paso.

Genera un V7 CAVV

En este ejemplo, generaremos un CAVV V7 para una transacción determinada con las entradas especificadas en las especificaciones. Tenga en cuenta que, en el caso de este algoritmo, los campos se pueden reutilizar o reutilizar, por lo que no se debe suponer que las etiquetas de los campos coinciden con las entradas.

Para ver todos los parámetros disponibles, consulte el apartado CardVerificationValue1 de la guía de referencia. API

$ aws payment-cryptography-data generate-card-validation-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/dnaeyrjgdjjtw6dk --primary-account-number=171234567890123 --generation-attributes CardVerificationValue1='{CardExpiryDate=9431,ServiceCode=431}'
{ "KeyArn": "", "KeyCheckValue": "F3FB13", "ValidationData": "491" }

Valide la CAVV versión 7

Para la validación, las entradas son los CVK valores de entrada calculados y los CAVV proporcionados durante la transacción que se va a validar.

Para ver todos los parámetros disponibles, consulte el CardVerificationValueapartado 1 de la guía de API referencia.

nota

CAVVno es un valor introducido por el usuario (comoCVV2), sino que lo calcula el emisor. ACS Se debe tener en cuenta si siempre se debe validar cuando se proporciona.

$ aws payment-cryptography-data verify-card-validation-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/dnaeyrjgdjjtw6dk --primary-account-number=171234567890123 --verification-attributes CardVerificationValue1='{CardExpiryDate=9431,ServiceCode=431} --validation-data 491
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/dnaeyrjgdjjtw6dk", "KeyCheckValue": "F3FB13", "ValidationData": "491" }