JWE Requisitos para RDX
Introdução
Esta informação fornece os requisitos para a implementação de JSON Web Encryption (JWE) com a API de Troca de Dados em Tempo Real (RDX) do VCAS. A implementação do JWE com RDX facilita a transmissão segura de solicitações de API do VCAS para o emissor/parceiro, protegendo dados sensíveis e não sensíveis fornecidos através do processo de desafio.
Criptografia Web JSON
JSON Web Encryption (JWE) é um formato de criptografia de mensagens aberto que pode ser utilizado como um método para passar a mensagem RDX de forma segura durante o processamento de transações. Este é um formato de convenção de nomenclatura padrão usado pela Cardinal para identificar as informações de rotação de certificados JWE. Informações específicas sobre a implementação do JWE são abordadas no RFC-7516.
O VCAS criptografa a mensagem de payload do RDX e a formata de acordo com a especificação JWE. A mensagem de payload do RDX criptografada é então enviada para o servidor do emissor, onde o emissor processa o JWE e descriptografa a mensagem para processamento adicional. Observe que a resposta do cliente RDX não será criptografada.
Formatos JWE Suportados
Atualmente, o VCAS suporta apenas certos algoritmos JWE tanto para gerenciamento de chaves quanto para criptografia de conteúdo. O algoritmo de gerenciamento de chaves é utilizado para a troca de chaves entre a Cardinal e o emissor e para encapsular a chave de criptografia de conteúdo durante a criptografia de mensagens para JWE.
• JWE usa compact serialization
• O tipo de conteúdo JWE será application/jose
Algoritmo de Gerenciamento de Chaves | Valor do Algoritmo JWE (alg) |
---|---|
RSAES OAEP usando SHA-256 e MGF1 | RSA-OAEP-256 |
O algoritmo de criptografia de conteúdo é utilizado para a geração de chave efêmera e criptografia de conteúdo do payload/mensagem RDX.
Algoritmo de Criptografia de Conteúdo | Valor de Criptografia JWE (enc) |
---|---|
AES GCM usando 256-bit chave | A256GCM |
Exemplo de Requisição JWE
A captura de tela abaixo mostra um exemplo do payload criptografado semelhante ao que os emissores recebem do VCAS.
Headers: Content-Type:application/jose
Payload Criptografado
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
Payload Descriptografado
{
"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"
}
}
Criação de Certificado JWE (Novas Implementações)
Durante o processo de implementação, o VCAS solicitará o certificado inicial do emissor. Os emissores devem trabalhar com seu Gerente de Implementações do VCAS para coordenar os detalhes da criação do novo certificado JWE.
Após a criação do certificado, o emissor deve exportar e enviar apenas a chave pública no formato de certificado para a CardinalCommerce.
Geração de Par de Chaves (Novas Implementações)
O emissor gerará um par de chaves com base no algoritmo de gerenciamento de chaves escolhido acima, utilizando openssl, key tool ou uma ferramenta similar. A chave pública/certificado será codificada com várias informações, conforme mostrado abaixo. A chave/certificado será então exportada como um certificado e enviada para a equipe de gerenciamento de chaves da Cardinal para ser importada no sistema VCAS. A Cardinal segue as recomendações do NIST para encapsulamento de chaves por dois anos.
Abaixo está um exemplo do certificado que o emissor envia para o VCAS:
-----INÍCIO DO 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
-----FIM DO CERTIFICADO-----
Processo de Troca de Chaves (Novas Implementações)
Implementação: Durante a integração, os emissores são obrigados a gerar e trocar um novo par de chaves usando suas próprias convenções internas. Pares de chaves únicos devem ser gerados tanto para os ambientes de Homologação (UAT) quanto para Produção.
O par de chaves gerado deve ser usado apenas para a integração JWE e para nenhum outro propósito.
- O emissor gera o par de chaves em seu sistema usando suas convenções (não definidas pela Cardinal)
- Um par de chaves para cada ambiente – HOM (UAT) e PROD
- Frequência de rotação de chaves
a. NIST – Two-year recommendation - O emissor gera um certificado
a. Geração de chaves- RSA criptografia: RSA 2048, 3072 or 4096
- é o formato preferido
b. Estes parâmetros no certificado precisam ser preenchidos com as informações apropriadas: - “uso da chave”, “o”, “ou”
- o = organizacion
- ou = unidade organizacional
e-mail de contato no certificado para fácil rastreamento quando estiver expirando
- especificar uma data de expiração de dois anos
c. O certificado deve ser do tipo X.509 usando uma das seguintes extensões: - .pem
- .cer
- .crt
- .p7b
- O emissor ou a Autoridade Certificadora (CA) não precisa assinar este certificado
- O emissor fornece e-mail e informações de contato para sua equipe de chaves / renovação
- O emissor exporta e envia apenas a chave pública para a Cardinal
- O emissor envia um e-mail com o certificado/chave pública para seu representante VCAS
- O representante VCAS envia uma solicitação interna para a equipe de gerenciamento de certificados para revisão
- O representante VCAS fornece ao cliente o nome do alias. O nome do alias é parte da mensagem criptografada. O cliente precisará garantir a aceitação do nome do alias da VCAS; os nomes dos alias devem corresponder ao que é fornecido pela VCAS; os nomes dos alias são únicos por ambiente; HOM, PROD
- O emissor envia um e-mail de acompanhamento com o valor de checksum SHA256 do certificado para validação de autenticidade
Nota: A VCAS usa uma convenção de nomenclatura padrão ao criar um novo certificado público. Os emissores devem seguir essa convenção de nomenclatura para garantir a compatibilidade com os certificados VCAS. O nome do alias da VCAS será fornecido ao emissor durante o processo de implementação.
Informações Adicionais sobre JWE
• O Nome Comum é determinado pelo cliente que cria o certificado.
• O ID da Chave é um valor que aparece após o emissor descriptografar o payload RDX, que é uma convenção de nomenclatura atribuída pela Cardinal/VCAS. Isso pode ser fornecido pelo seu representante VCAS. O formato para o ID da Chave é mostrado abaixo:
o [Motivo/Entidade]-[Caso de Uso do Certificado]-[MPI/ACS]-[Entidade Proprietária do Certificado]-[Comprimento do Bit/Algoritmo]-[Ambiente]
o Exemplo: 1234dadc1234b704c1f23dc4-PKE-ACS-Client-2048SHA2-HOM
Após receber a solicitação RDX, o emissor irá descriptografar o payload e processar a solicitação RDX.
Para a geração de novos certificados e renovações de certificados, a VCAS se comunicará com o cliente via e-mail para o endereço fornecido durante o processo de integração do cliente. Os clientes devem configurar suas contas de e-mail para reconhecer e confiar em e-mails provenientes de [email protected]
Expiração e Renovação do Certificado JWE
Para renovações de certificados, a equipe de PKI da VCAS enviará um e-mail de notificação de renovação a partir de [email protected] pelo menos 60 dias antes da expiração. A notificação de renovação da VCAS fornecerá detalhes das chaves do certificado que está expirando, incluindo o nome comum, número de série, alias e data de expiração.
Uma vez que o cliente emitir o certificado de substituição, ele deve encaminhá-lo para [email protected]. A VCAS então iniciará o processo de controle de mudanças para rotacionar o certificado. O cliente deve suportar ambos os certificados até receber um e-mail da VCAS confirmando que o novo certificado foi instalado.
A Cardinal segue as recomendações do NIST sobre a frequência de rotação de chaves, exigindo rotação de key-wrapping a cada dois anos. Para a rotação de chaves, os emissores são obrigados a realizar um processo de geração de chaves e enviar o novo certificado público para a VCAS. A equipe de certificados da VCAS enviará ao emissor uma notificação de renovação 60 dias antes da expiração da chave. Se a VCAS não receber uma resposta, a VCAS envolverá a
equipe de suporte para fornecer um contato alternativo do emissor.
Entre em contato com seu representante de conta da VCAS para obter informações adicionais.
Updated 4 days ago