Getnet DocsGetnet Docs

Modelo de segurança e PIN

O aplicativo Pinpad Getnet usa uma arquitetura de segurança robusta para proteger os dados sensíveis do portador do cartão. Esse modelo se apoia em três pilares principais. A criptografia assimétrica RSA protege os dados de mensageria, e o gerenciamento de chaves DUKPT criptografa o PIN e o PAN. O módulo especializado PinEntryActivity gerencia o ciclo de vida do teclado seguro. Para o modelo completo de criptografia, consulte Criptografia do Pinpad.

Criptografia RSA para dados sensíveis

O terminal usa uma chave pública RSA, fornecida pelo Sistema Host na requisição Y19, para criptografar informações sensíveis do cartão antes da transmissão. Assim, mesmo que a comunicação serial seja interceptada, os dados permanecem ilegíveis sem a chave privada correspondente. A criptografia se aplica aos dados sensíveis retornados nas respostas dos comandos Y19 (para contactless) e Y02 (para chip/tarja).

Os seguintes elementos de dados são criptografados com a chave RSA:

  • Dados da Trilha I e da Trilha II.
  • Código de segurança (CDS).
  • Dados EMV.

o PAN (número do cartão) não é criptografado com RSA. Ele é criptografado separadamente com 3DES DUKPT — retornado como ENC-PAN com seu próprio KSN-PAN — e o PAN dentro das trilhas criptografadas com RSA é mascarado com zeros. Consulte Criptografia do Pinpad.

O Sistema Host gera o par de chaves e informa o módulo e o expoente nos campos RSA e EXP do Y19. Para o procedimento, consulte Gerar e Injetar Chaves de Criptografia.

Gerenciamento de chaves DUKPT

O terminal usa o DUKPT (Derived Unique Key Per Transaction) para criptografar o PIN e o PAN. Cada transação deriva uma chave única a partir de uma chave base, montando o PINBLOCK e o KSN (PIN) e o ENC-PAN e o KSN-PAN (PAN) enviados nas respostas Y19 e Y02. O PIN e o PAN usam contadores KSN independentes. Consulte Criptografia do Pinpad para ver os slots de chave e os parâmetros ENC e PMK.

As chaves base não são geradas pelo Host. Elas são injetadas na memória segura do Pinpad em um ambiente controlado — o slot 3 para o PIN e o slot 4 para o PAN em terminais de chave dupla — e o Pinpad nunca as expõe em texto claro. Se um comando referenciar um slot de chave que não contém chave, a operação termina imediatamente com erro. Para o procedimento de injeção, consulte Gerar e Injetar Chaves de Criptografia.

Tratamento e verificação do PIN

A PinEntryActivity gerencia a interface do teclado seguro e captura a entrada do usuário com segurança dentro da área segura do terminal.

  • Comportamento da interface: o teclado permite no máximo seis dígitos. Cada dígito inserido é mascarado na tela especificamente com um asterisco (*).
  • Tempo limite: o teclado seguro tem um tempo limite fixo de 10 segundos. Se nenhuma ação ocorrer nessa janela, o processo de entrada expira.

Métodos de verificação de PIN

O método usado é determinado pelo perfil do cartão e informado ao Host:

  • PIN Online: o PIN capturado é criptografado com DUKPT e enviado ao Sistema Host para validação remota.
  • PIN Offline: o PIN é validado localmente pelo chip do cartão, sem criptografia adicional. Para transações CHIP, o campo Y02.PVF indica se um PIN Offline foi verificado com sucesso.
  • PIN Offline Cifrado: o PIN é validado pelo cartão, mas viaja criptografado do teclado seguro até o chip com uma chave fornecida pelo próprio cartão.

Regras de comportamento de segurança

  • Bloqueio de comandos e Y06: para evitar a interrupção de uma entrada segura, o Pinpad ignora todos os comandos enquanto o teclado seguro está ativo. Isso inclui especificamente o comando Y06 (Cancel).
  • PIN Bypass: para emissores específicos, como a American Express, o usuário pode pular a entrada do PIN pressionando “Confirmar” sem digitar nada. A transação prossegue como se nenhum PIN fosse necessário.
  • Falhas de validação: se o índice do slot de chave DUKPT informado no comando não corresponder a uma chave carregada na memória do terminal, a operação é finalizada imediatamente com erro.

Recursos relacionados

  1. Gerar e Injetar Chaves de Criptografia: gere o par RSA e carregue as chaves DUKPT no terminal.
  2. Processar Pagamentos com Cartão: siga os fluxos de transação passo a passo.
  3. Comandos da API: revise a estrutura de baixo nível dos comandos Y19 e Y02 para preencher corretamente os campos RSA e DUKPT.