For the complete documentation index, see llms.txt. This page is also available as Markdown.

Integração Prática e Casos de Uso

Esta secção apresenta o roteiro recomendado para colocar o módulo Crypto em produção e detalha cenários reais de aplicação no ecossistema de pagamentos, ilustrando a sequência exata de chamadas de API .

Fluxo de Integração Recomendado

As cinco etapas abaixo cobrem o ciclo de vida completo da integração da sua aplicação cliente ao módulo PayShield Crypto, desde o setup até à monitorização em produção .

1. Provisionamento e Setup

  • Solicite à equipa da First Tech a criação do seu client_id e o cadastro das chaves criptográficas necessárias .

  • Armazene os keyId recebidos de forma segura nas configurações da sua aplicação.

  • Defina, em conjunto com o seu time de segurança, os modos de operação (modeEncFlag) adequados para cada caso de uso.

2. Gestão de Autenticação

  • Obtenha o token Bearer junto ao serviço Auth0 da First Tech .

  • Implemente cache do token: Respeite o Time-To-Live (TTL) fornecido.

  • Renovação proativa: Implemente a renovação do token antes da sua expiração para evitar picos de erros 401 em transações críticas.

3. Operação Padrão

  • Construa o payload da requisição com atenção redobrada aos campos de dados (lembre-se: p_ht_data para cifragem/MAC e p_h_data para decifragem) .

  • Configure timeouts HTTP adequados ao seu caso de uso (mais curtos para tráfego transacional online, mais longos para processamento batch).

  • Analise sempre o retCode no envelope de resposta antes de validar a flag retValid.

4. Tratamento de Erros e Resiliência

  • Erros 4xx: Geralmente indicam problemas estruturais na requisição (ex.: payload inválido, chave incorreta). Não aplique retry cego sem corrigir a origem do problema .

  • Erros 5xx: Podem representar falhas transitórias do serviço ou de rede. Implemente políticas de retry com backoff exponencial e jitter .

  • Regra de Segurança: Registe nos logs os campos retCode e retDesc, mas nunca imprima o conteúdo em claro de p_ht_data ou os retornos criptografados.

5. Observabilidade em Produção

  • Métricas Mínimas: Monitorize a taxa de chamadas por endpoint, a latência nos percentis p50/p95/p99, e a volumetria de erros agrupada por retCode .

  • Alertas: Configure alarmes para desvios de SLA (latência), incrementos súbitos do retCode 155 (Chave não encontrada) ou respostas 401 persistentes.

Casos de Uso Reais da Indústria

Cenário 1: Tokenização de PAN para Armazenamento

Desafio: Uma aplicação necessita de armazenar números de cartão (PAN) em base de dados própria, mantendo o dado cifrado em repouso e garantindo que as chaves não fiquem na posse da própria aplicação .

Sequência de Operações:

  1. Ingestão: A aplicação recebe o PAN em claro via canal seguro (TLS) .

  2. Cifragem: A API do cliente consome o endpoint EncryptData (modo CBC ou ECB) .

  3. Retorno Seguro: O Hop devolve o PAN cifrado e o IV utilizado. Imediatamente, a API descarta o PAN em claro da memória .

  4. Persistência: O PAN cifrado, o IV e o keyId são armazenados na base de dados .

  5. Recuperação: Ao necessitar do dado (ex.: autorização), a base de dados fornece a cifra e o IV à API .

  6. Decifragem: A API consome o endpoint DecryptData .

  7. Entrega: O Hop devolve o PAN em claro, que é entregue à aplicação final e descartado da memória após o uso .

Cenário 2: Proteção de Campo Sensível em Mensagem ISO 8583

Desafio: Um host adquirente recebe mensagens transacionais (ISO 8583) de um POS contendo campos sensíveis cifrados com chave de sessão. O host precisa de os decifrar e re-cifrar com chave de zona antes de encaminhar à bandeira.

Sequência de Operações:

  1. Origem: O POS envia a mensagem ISO 8583 com o campo sensível cifrado .

  2. Decifragem Transitória: O host adquirente extrai o campo e consome o DecryptData no Hop (modo CBC) .

  3. Tratamento: O Hop devolve o dado em claro. O host valida o conteúdo (ex.: formato, expiração do cartão) .

  4. Re-cifragem (Roteamento): O host consome novamente o EncryptData, desta vez aplicando a chave ZPK específica para a bandeira ou emissor .

  5. Finalização: A autorização retorna do emissor e é devolvida ao POS .

Cenário 3: Migração de Base com Rotação de Chaves

Desafio: Troca programada da chave criptográfica de uma base inteira de dados para cumprir exigências de conformidade (PCI DSS). A operação é feita em batch .

Sequência de Operações:

  1. Leitura: O Job lê um lote de N registos cifrados e os seus respetivos IVs da base antiga .

  2. Decifragem em Massa: O Job invoca o SuperDecryptData referenciando a chave antiga .

  3. Memória Volátil: O Hop devolve a lista de dados em claro. Estes dados são mantidos apenas em memória e não são guardados em ficheiros intermediários .

  4. Re-cifragem Individual: O Job itera sobre cada registo invocando EncryptData com o keyId da nova chave .

  5. Recepção: O Hop devolve o novo conteúdo cifrado e o novo IV .

  6. Persistência Atualizada: O Job grava o registo na base de dados utilizando o novo keyId e IV .

Cenário 4: MAC Multi-bloco em Comunicação Host-to-Host

Desafio: Envio de ficheiros de remessa ou mensagens muito longas entre dois hosts que precisam de ser autenticados com um único MAC, exigindo o particionamento do ficheiro em blocos suportáveis .

Sequência de Operações:

  1. Primeiro Bloco: O Host de origem invoca GenerateMac com macModeFlag = 1 no primeiro segmento .

  2. IV Intermediário: O Hop devolve um IV parcial para encadeamento .

  3. Blocos Intermediários: O Host itera sobre o ficheiro invocando GenerateMac com macModeFlag = 2, alimentando-o com o IV recebido na etapa anterior .

  4. Bloco Final: O Host invoca GenerateMac com macModeFlag = 3 com o segmento final. O Hop devolve o MAC definitivo .

  5. Transmissão: A mensagem completa e o MAC são enviados ao destino .

  6. Validação Rigorosa: O Host de destino reproduz o particionamento exato e invoca o ValidateMac (com flags 1, 2 e 3). O Hop devolve retValid: true se o ficheiro estiver intacto .

Last updated