Pix
Las API del módulo Pix están diseñadas para utilizar las funcionalidades de firma, verificación, envío y recepción de solicitudes HTTP de Pix.
Red
El HSM no accede directamente a los servidores Pix/DICT, sino que se sitúa en la red para ser utilizado por los servidores internos del PSP.
---
title: Diagrama físico de rede
---
%%{ init: { 'flowchart': { 'curve': 'basis' } } }%%
flowchart LR
psp[Aplicação PSP]
hsm[HSM fa:key]
fw[Firewall]
rsfn{{RSFN}}
spi["SPI (Pix/Dict)"]
subgraph redepsp [Rede PSP]
hsm <--> psp
psp <--> fw
end
fw <--> rsfn
rsfn <--> spi
Firma y verificación
Las API de firma y verificación Pix se basan en la norma ISO 20.022, y las API DICT siguen el formato XMLDSig, ambos definidos por SPI en el documento "Anexo IV - Manual de seguridad".
Las funciones API para su uso con la firma Pix y DICT requieren el almacenamiento interno en el HSM de los certificados digitales para la firma digital y la cadena de confianza completa de los certificados para la verificación.
Para escribir un certificado digital (o un archivo) en el HSM, utilice la consola de gestión remota o la API DWriteFile().
El certificado digital para la firma debe estar codificado en formato binario ASN1 DER y seguir también el estándar X.509. El archivo que contiene la cadena de confianza para verificar la firma digital debe estar codificado en formato PKCS#7 (Public Key Cryptography Standard #7 - Cryptographic Message Syntax Standard).
Las funciones de firma y validación de JWS Pix siguen el RFC 7515 y la documentación de SPI.
Peticiones HTTP
Las API de solicitud HTTP de Pix proporcionan una comunicación HTTP segura con los servidores Pix o DICT, utilizando las claves y certificados protegidos por el HSM.
Las funciones de comunicación segura del estándar Pix que siguen las definiciones descritas en los siguientes documentos: "Anexo IV - Manual de Seguridad", "Especificaciones técnicas y de negocio del ecosistema brasileño de pagos instantáneos" y "Anexo III - Manual de Interfaces de Comunicación" definidos en el SPI.
Operación
La conexión segura se realiza entre el servidor PSP y el servidor Pix/DICT, el HSM sólo se utiliza para utilizar objetos PSP y claves privadas.
El acceso al HSM sólo se produce durante el handshake TLS. Una vez cerrado el túnel, la comunicación sólo se mantiene entre el servidor PSP y el servidor Pix/DICT.
---
title: Visão geral handshake TLS utilizando o HSM
---
%%{ init: { 'flowchart': { 'curve': 'basis' }} }%%
sequenceDiagram
participant hsm as HSM
participant psp as PSP
participant spi as SPI (Pix/Dict)
Note over hsm: certificado TLS
psp ->> spi: Inicia handshake TLS
spi ->> psp: Requisita<br>credenciais do PSP
psp ->> psp: Autentica SPI
psp ->> hsm: Requisita informações<br>de autenticação
hsm ->> hsm: Gera assinatura<br>para autenticação TLS
destroy hsm
hsm ->> psp: Envia assinatura
psp ->> spi: Envia dados<br>de autenticação
spi ->> spi: Autentica PSP
loop Canal TLS
%% necessário manter o espaço após o spi: (ou usar um text)
psp-->spi:
psp ->> spi: Requisição<br>Pix/Dict
spi ->> psp: Resposta
end
Una conexión HTTP se asocia con el manejador de sesión del HSM que se utilizó para abrir la sesión HTTP. Esto permite mantener la asociación y el acceso a los objetos de conexión (clave privada, certificado y cadena de certificados) dentro del HSM.
---
title: Handle de sessão do HSM
---
%%{ init: { 'flowchart': { 'curve': 'basis' } } }%%
flowchart TB
hsm[Sessão HSM]
http[Sessão HTTP]
%% necessário manter os espaços após o subpgraph (ou usar um text)
subgraph
hsm
http
end
- La sesión HTTP sólo se abre en las llamadas de petición HTTP de Pix.
- La sesión HTTP se cierra cuando su respectiva sesión HSM se cierra físicamente (cierre de sesión con caché desactivada o configurada explícitamente para cerrar físicamente la sesión).
- Una sesión cerrada (sin definición explícita de cierre físico y sin caché desactivada) no cierra la sesión HTTP asociada porque no hay cierre físico de la sesión.
- La sesión HTTP se reutiliza en llamadas HTTP posteriores, independientemente del tipo de operación HTTP (POST, GET, DELETE o PUT) utilizada.
- La sesión HTTP no se reutiliza cuando se cambian los parámetros de conexión (IP, puerto).
Por ejemplo: supongamos que se realiza una operación POST, la sesión HTTP se mantiene abierta dentro del manejador de sesión de HSM. Al cerrar la sesión de HSM (sin desactivar la caché de sesión), la sesión se almacena en la caché de sesión junto con la sesión HTTP. Si se solicita una nueva sesión, se devolverá la sesión almacenada en caché. Al reutilizar el manejador de sesión de HSM para una operación GET, la sesión HTTP se reutiliza porque se almacenó en el manejador de sesión de HSM.
JWS
El módulo Pix proporciona APIs para ayudarle a utilizar el código QR dinámico Pix. Hay APIs disponibles para firmar y comprobar JWS (JSON Web Signature).