Arquitetura CPQD iD ################### Modelo conceitual em camadas **************************** A fim de facilitar o entendimento conceitual da solução de `Identidade Digital Descentralizada`_ ou Identidade Digital Autossoberana, foi desenvolvido pelo CPQD um modelo conceitual em quatro camadas que representam os seguintes segmentos da solução: i camada de aplicação; ii camada lógica e de regras de negócios; iii camada de integração e iv camada de segurança que é transversal em todas as demais camadas, visando garantir a disponibilidade, confiabilidade da aplicação e confidencialidade das informações trafegadas pela solução CPQD iD de Identidade Digital Descentralizada. .. figure:: /_images/cpqdidArchitecture.png :alt: text :align: center :width: 75% Figura 1: Modelo conceitual em camada de Solução SSI A seguir, será apresentado mais detalhes de cada uma das camadas do modelo conceitual da solução CPQD iD de Identidade Digital Descentralizada. Camada de aplicação =================== Camada responsável por prover uma API para integração de aplicações clientes. .. figure:: /_images/cpqdidApplicationLayer.png :alt: text :align: center :width: 75% Figura 2: Camada de aplicação Ressalta-se – mas não está limitada – as seguintes aplicações clientes: * Aplicações web para clientes corporativos (e.g.: emissores e verificadores); * Aplicação web para administração e operação da solução; * Sistemas legados. Essa camada pode ser considerada o principal recurso de integração com aplicações clientes. É por meio dela que sistemas legados realizam seus acessos de integração com as principais funcionalidades desenvolvidas na solução. Camada lógica e regras de negócio ================================= Camada dos componentes que implementam as funcionalidades da solução de Identidade Digital Descentralizada para a criação e gerenciamento de agentes verificadores, agentes emissores, definição de credencial e configurações necessárias para os participantes (configuração de rede, de emissão de credencial, verificação de credencial e registro de aplicações de domínio do cliente). .. figure:: /_images/cpqdidLogicalLayer.png :alt: text :align: center :width: 75% Figura 3: Camada lógica e regras de negócio Camada de integração ==================== Camada dos componentes que realizam integração aos serviços necessários da plataforma de identidade do CPQD (CPQD iD), como por exemplo serviços de *cloud*, *Billing* e antifraude. Além disso, são responsáveis por integrar a solução a serviços de banco de dados e redes DLTs. .. figure:: /_images/cpqdidIntegrationLayer.png :alt: text :align: center :width: 100% Figura 4: Camada de integração Camada de segurança =================== Camada dos componentes de Segurança da Informação, garantindo à plataforma alta disponibilidade, confiabilidade e confidencialidade dos dados e informações por ela trafegados. .. figure:: /_images/cpqdidSecurityLayer.png :alt: text :align: center :width: 75% Figura 5: Camada de segurança Arquitetura da Solução de Identidade Digital Descentralizada ************************************************************ O metassistema de Identidade descentralizada é composto majoritariamente por três atores: o emissor, o usuário (*holder*) e o verificador. Muito tem se debatido e testado no âmbito do *holder*, como a criação de carteiras digitais, usabilidade para consentimento e gerenciamento de seus dados, mas o mesmo não ocorre com os emissores e verificadores, que geralmente são compostos por organizações e, ao invés de manusearem uma aplicação mobile, no formato de uma carteira, possuem aplicações implantadas em nuvens que automatizam processos e tomam decisões. Os desenvolvimentos do CPQD são baseados em agentes em nuvem, que se mostraram efetivos quanto à segurança, versatilidade e persistência das informações, ainda que em casos de sinistros (como perda ou roubo do dispositivo). Ao prover um *Agent Cloud*, torna-se mais simples e natural a criação de um agente “multiplataforma” para o gerenciamento da identidade descentralizada das pessoas. Isso torna possível ofertar a solução CPQD iD de identidade digital descentralizada na forma de serviço (SaaS – *Software as a Service*). A plataforma possui funcionalidades para gerenciamento de agentes — para operação de credenciais verificáveis — e fornece os seguintes recursos: * Criação de *Agents Clouds*; * APIs para integração com os *Agents Clouds*; * Mecanismos para mensageria de eventos entre agentes; * Aplicações clientes facultativas para administração dos agentes (tanto mobile quanto web); * Sistema de antifraude para detecção de fraude em transações realizadas pela identidade dos usuários. A fim de se atender às exigências de uma solução escalável e de alta disponibilidade para Identidade Digital Descentralizada, foi concebida uma arquitetura de solução de nuvem baseada em microsserviços. Além disso, para a correta integração entre os componentes e também um bom desempenho das requisições entre os microsserviços, foi projetada a implantação de um sistema de mensageria utilizando a ferramenta `Apache Kafka`_. Na imagem abaixo é possível visualizar a arquitetura proposta para a solução de Identidade Digital Descentralizada por demanda, CPQD iD. .. figure:: /_images/cpqdidArchMicroService.png :alt: text :align: center :width: 100% Figura 6: Arquitetura de microsserviços da Solução de Identidade Digital Descentralizada, CPQD iD. .. _Identidade Digital Descentralizada: https://www.cs.cornell.edu/andru/papers/sif.pdf .. _Apache Kafka: https://kafka.apache.org/documentation/ .. toctree:: :maxdepth: 3 cpqdidComponents