Arquitetura e Componentes (Security Servers)

Visão Geral da Arquitetura

O X-Road opera como uma camada de comunicação segura (middleware) sobre a Internet pública.

Componentes Principais

Os componentes fundamentais da arquitetura X-Road (e sua implementação X-Valid) são:

  • Security Servers (Servidores de Segurança - SS): Pontos de acesso para a troca de dados peer-to-peer.
  • Central Services / Registry (Registro): Servidor central responsável pelo cadastro e gerenciamento de membros.
  • Trust Services (Serviços de Confiança) / Verifier (Verificador) / Timestamping Authority (Autoridade de Carimbo de Tempo): Componentes que garantem a autenticidade e o não repúdio.
  • Directory (Diretório): Componente de transparência pública que lista o catálogo de serviços.
  • Link (Adaptador): (Específico do X-Valid) Componente que permite criar serviços/APIs de forma Low-Code a partir de bancos de dados.
  • Configuration Proxy: Componente de arquitetura do X-Road relacionado à distribuição de configurações.

Security Servers (SS)

Função e Importância

Os Security Servers são os pontos de acesso centrais pelos quais os membros de um ecossistema trocam dados. Eles são sistemas especializados projetados para garantir:

  • Integridade, confidencialidade e disponibilidade dos dados e recursos.
  • Troca de mensagens com sigilo, autenticação e não repúdio.
  • Gerenciamento de Subsistemas e Serviços: Cada organização gerencia seus subsistemas e serviços através do seu SS.

Exemplo de Configuração: Cada organização deve configurar um SS em sua infraestrutura. Por exemplo, no X-Valid, o DETRAN-SS e o PEFOCE-SS são Servidores de Segurança que gerenciam a troca de dados entre o DETRAN e a PEFOCE.

Arquitetura de um Security Server

O Security Server atua como um proxy ou middleware de comunicação:

  • Estabelecer conexões seguras: O SS de origem cria um canal seguro com o SS de destino (o canal é suportado pela Internet pública).
  • Gerenciamento de certificados: O SS gerencia Certificados de Autenticação (para verificar a identidade do servidor e estabelecer a conexão segura) e Certificados de Assinatura (para garantir a integridade e autenticidade dos dados). Os membros recebem certificados emitidos por uma Autoridade Certificadora (CA) confiável.
  • Interface de Gestão de API: O X-Road fornece uma interface gráfica em cada SS para a gestão de APIs (criação, permissão de acesso, ativação de serviços).
  • Processamento de mensagens: O SS encaminha a requisição do subsistema consumidor para o SS do provedor. A invocação de serviço é registrada no SS para auditoria.

Fluxo de Comunicação

A troca de dados é direta (peer-to-peer) entre o produtor e o consumidor.

Passo a Passo

  1. Requisição do cliente (Consumidor): O subsistema do cliente (Ex: Sistema CNH do DETRAN) inicia a comunicação enviando a requisição para o Security Server de origem (SS do Consumidor).

    • A requisição deve ser autenticada usando Certificado para fechar o canal TLS mútuo.
    • O Header da requisição deve conter os identificadores obrigatórios: UXP-Client (identificando o Consumidor, ex: HML-GOV-CE/GOV/DETRAN/CNH) e UXP-Service (identificando o Provedor, o serviço e a versão, ex: HML-GOV-CE/GOV/PEFOCE/IDENTIDADE-CIVIL/dados-cidadao/v1).
  2. Processamento no Security Server de origem (Consumidor): O SS do Consumidor assina a requisição e cria um registro para auditoria. Ele então cria um canal seguro com o SS do Provedor.

  3. Transmissão segura: A mensagem assinada é enviada pelo canal seguro entre os SSs pela Internet pública.

  4. Processamento no Security Server de destino (Provedor): O SS do Provedor valida a assinatura da requisição e verifica a permissão de acesso ao serviço. Em seguida, roteia a requisição para o servidor dentro de sua rede interna que implementa o serviço (este servidor interno não precisa estar exposto à Internet pública).

  5. Resposta ao cliente: O SS do Provedor recebe a resposta do serviço interno, assina essa resposta e registra a auditoria. A resposta segue o caminho inverso para o SS do Consumidor, utilizando o mesmo canal seguro.

    • Registro Central: Toda requisição entre Security Servers gera um registro no Verifier e no Directory.

Componentes Adicionais

Central Server (Registry)

O X-Road Central Services é estabelecido por um órgão governamental para hospedar serviços gerais de cadastro e autenticação. No X-Valid, o componente chave para essa função é o Registry (Registro).

  • Gerenciamento central da infraestrutura: O Central Server/Registry controla o cadastro de qualquer novo membro ou subsistema.
  • Registro de membros: O processo de entrada em um ecossistema X-Road envolve a verificação da identidade da organização e do ponto de acesso técnico por meio de certificados. O Registry mantém as identidades centralizadas.
  • Gerenciamento de Solicitação: O Registro exibe as Solicitações de Gerenciamento (aprovação ou rejeição do cadastro de clientes/subsistemas, que devem ser cadastrados tanto no SS quanto no Registry).
  • Distribuição de configurações: O Central Server gerencia o Global Configuration Distribution.

Trust Services (Serviços de Confiança) / Verifier (Verificador)

Os Serviços de Confiança fornecem a base para a validade jurídica das transações:

  • Serviços de Confiança: Incluem a Autoridade Certificadora (CA) e o serviço de marcação de tempo (time-stamping).
  • Timestamping Authority: O Security Server usa o serviço de time-stamping para marcar todas as requisições e respostas. O propósito da marcação é verificar a existência de itens de dados em determinado ponto do tempo. A geração e o armazenamento desses registros impactam o desempenho, mas são essenciais para a segurança.
  • Verifier (Verificador): É o componente de auditoria jurídica no X-Valid. Valida as transações por meio dos certificados digitais ICP-Brasil e do carimbo de tempo. Os registros gerados podem ser usados em procedimentos legais como evidência. O Verifier também exibe a Resposta do OCSP, indicando o status de validade dos certificados.