Saltar para o conteúdo principal
Didit angaria 7,5 milhões de dólares para construir a infraestrutura para identidade e fraude
Didit
Voltar ao blog
Blog · 14 de março de 2026

Desenvolvimento de SDKs Multiplataforma para a Carteira EUDI: Uma Análise Técnica Aprofundada (PT-PT)

Explore a arquitetura de SDKs multiplataforma para a Carteira EUDI, focando na modularidade, segurança e experiência do utilizador. Aprenda a conceber soluções robustas, conformes e interoperáveis para a identidade digital na UE.

Por DiditAtualizado
cross-platform-eudi-wallet-sdk-architecture.png

Design ModularEnfatize uma arquitetura modular e em camadas para suportar diversas plataformas e especificações EUDI em evolução, garantindo flexibilidade e manutenção.

Segurança em Primeiro LugarImplemente medidas criptográficas robustas, integração de elementos seguros e adesão aos padrões eIDAS2 para proteger dados de identidade sensíveis e prevenir fraudes.

Experiência de Utilizador FluidaPriorize interfaces amigáveis e fluxos de trabalho intuitivos para emissão, apresentação e gestão de credenciais em diferentes dispositivos e sistemas operativos.

InteroperabilidadeProjete o SDK para garantir compatibilidade com várias implementações da Carteira EUDI, dependendo de padrões e protocolos abertos para uma ampla adoção no ecossistema.

Compreender a Carteira EUDI e o seu Mandato Técnico

A Carteira Europeia de Identidade Digital (EUDI) representa um passo monumental em direção a um quadro de identidade digital unificado, seguro e centrado no utilizador em toda a União Europeia. Mandatada pelo regulamento eIDAS2, esta carteira digital permite aos cidadãos armazenar e partilhar de forma segura os seus atributos de identidade, como idade, morada e qualificações profissionais, de uma forma verificável e fiável. Para os programadores, a construção de Software Development Kits (SDKs) para Carteiras EUDI apresenta uma oportunidade significativa e um desafio técnico complexo. O mandato principal é fornecer uma experiência altamente segura, interoperável e fácil de usar numa multiplicidade de dispositivos e sistemas operativos.

Um SDK multiplataforma para a Carteira EUDI deve abstrair as complexidades subjacentes dos diferentes sistemas operativos móveis (iOS, Android) e, potencialmente, ambientes web, enquanto adere estritamente às especificações técnicas estabelecidas pela Comissão Europeia. Isto inclui padrões criptográficos, modelos de dados para Credenciais Verificáveis (VCs) e Apresentações Verificáveis (VPs), protocolos de comunicação (por exemplo, OpenID para Emissão/Apresentação de Credenciais Verificáveis) e dependência de hardware seguro onde disponível. A arquitetura do SDK deve ser resiliente o suficiente para lidar com futuras atualizações a estas especificações sem exigir uma revisão completa.

Componentes Arquitetónicos Essenciais de um SDK Multiplataforma para a Carteira EUDI

Um SDK de Carteira EUDI bem projetado consistirá tipicamente em várias camadas-chave, cada uma responsável por um conjunto específico de funcionalidades. Esta abordagem modular é crucial para a compatibilidade multiplataforma, manutenção e escalabilidade.

  1. Camada de Abstração de Plataforma (PAL): Esta é a base, fornecendo uma interface unificada para funcionalidades específicas da plataforma. Por exemplo, abstrairia o acesso a armazenamento seguro (Keychain no iOS, Keystore no Android), autenticação biométrica (Face ID/Touch ID, Android BiometricPrompt) e funcionalidades de conectividade de rede. Esta camada garante que a lógica central do SDK pode permanecer agnóstica à plataforma.

    // Exemplo: Interface de Armazenamento Seguro iOS
    protocol SecureStorageManager {
        func saveData(key: String, data: Data) throws
        func retrieveData(key: String) throws -> Data?
    }
    
    class iOSSecureStorage: SecureStorageManager {
        // ... implementação do Keychain ...
    }
    
  2. Camada de Criptografia e Segurança: Este é, sem dúvida, o componente mais crítico. Lida com todas as operações criptográficas, incluindo geração de chaves, assinatura digital, encriptação/desencriptação e interação com elementos seguros. Deve suportar vários algoritmos criptográficos (por exemplo, ECDSA, EdDSA) e garantir que as chaves são armazenadas e usadas de forma segura, muitas vezes aproveitando funcionalidades de segurança baseadas em hardware. Esta camada é responsável por salvaguardar as chaves privadas associadas à identidade digital do utilizador.

  3. Camada de Gestão de Credenciais Verificáveis (VC): Esta camada lida com o ciclo de vida das Credenciais Verificáveis. Inclui funcionalidades para análise, armazenamento e validação de VCs recebidas de Emissores. Também gere o consentimento do utilizador para partilhar VCs ou atributos específicos, e constrói Apresentações Verificáveis (VPs) de acordo com o pedido de uma Parte Confiável.

    // Exemplo: Estrutura VC (simplificada)
    interface VerifiableCredential {
        id: string;
        type: string[];
        issuer: string;
        issuanceDate: string;
        credentialSubject: {
            id: string;
            [key: string]: any;
        };
        proof: any;
    }
    
  4. Camada de Comunicação e Protocolo: Esta camada implementa os vários protocolos de comunicação necessários para interagir com Emissores e Partes Confiáveis. Isto inclui OpenID para Emissão de Credenciais Verificáveis (OID4VCI) e OpenID para Apresentação de Credenciais Verificáveis (OID4VP), bem como, potencialmente, DIDComm para interações ponto a ponto. Lida com o estabelecimento seguro de canais, formatação de mensagens e tratamento de erros.

  5. Camada de Interface de Utilizador (UI) (Opcional, mas Recomendada): Embora um SDK possa ser puramente "headless", um SDK de Carteira EUDI completo muitas vezes inclui componentes de UI configuráveis. Estes componentes fornecem uma experiência de utilizador consistente e conforme para tarefas comuns como aceitação de credenciais, consentimento de apresentação e avisos biométricos. Esta camada deve ser projetada com temas e personalização em mente para permitir que os integradores correspondam à sua marca.

Estratégias de Implementação Multiplataforma

Para alcançar verdadeira compatibilidade multiplataforma, os programadores podem adotar várias estratégias:

  • Código Nativo com Lógica Central Partilhada: A abordagem mais comum envolve escrever "wrappers" específicos da plataforma (por exemplo, Swift/Kotlin) que expõem uma API unificada a uma lógica central partilhada escrita numa linguagem como C++ ou Rust. Esta lógica central lida com as complexas camadas criptográfica, de gestão de VC e de protocolo, garantindo consistência e reduzindo a duplicação de esforços. A PAL é crucial aqui para fazer a ponte entre a lógica central e as funcionalidades nativas da plataforma.

  • Estruturas Multiplataforma (por exemplo, React Native, Flutter): Para SDKs que incluem componentes de UI, podem ser utilizadas estruturas como React Native ou Flutter. Estas estruturas permitem aos programadores escrever uma única base de código que compila para aplicações nativas iOS e Android. No entanto, o acesso a funcionalidades profundamente nativas como elementos seguros ainda requer módulos ou "plugins" específicos da plataforma, que a PAL geriria.

  • WebAssembly (Wasm): Para implementações da Carteira EUDI baseadas na web ou SDKs projetados para serem incorporados em aplicações web, compilar a lógica central para WebAssembly pode oferecer benefícios significativos de desempenho e segurança, permitindo operações criptográficas complexas diretamente no navegador.

Exemplo Prático: Fluxo de Emissão de Credenciais

Considere um utilizador a obter uma credencial de 'Idade Verificada'. O SDK faria o seguinte:

  1. Uma Parte Confiável (por exemplo, uma loja online) solicita uma verificação de idade.
  2. O SDK inicia um fluxo OID4VP, solicitando ao utilizador o consentimento para apresentar a sua credencial de 'Idade Verificada'.
  3. Após a aprovação do utilizador e autenticação biométrica, o SDK constrói uma Apresentação Verificável assinada contendo o atributo de idade.
  4. O SDK transmite esta VP de forma segura à Parte Confiável.
  5. A Parte Confiável valida a autenticidade da VP e o conteúdo da credencial usando o módulo de verificação do SDK.

Considerações de Segurança, Conformidade e Interoperabilidade

O sucesso de um SDK da Carteira EUDI depende da sua capacidade de cumprir rigorosos padrões de segurança e conformidade, garantindo ao mesmo tempo uma ampla interoperabilidade.

  • Conformidade com eIDAS2: A adesão aos padrões técnicos e requisitos legais do regulamento eIDAS2 é fundamental. Isto inclui proteção de dados (RGPD), processamento seguro de dados pessoais e o uso de assinaturas ou selos eletrónicos qualificados, quando aplicável.

  • Integração de Elementos Seguros: Onde disponível, aproveitar elementos seguros baseados em hardware (por exemplo, TEE no Android, Secure Enclave no iOS) é crucial para proteger chaves criptográficas e dados sensíveis contra ataques avançados. O SDK deve fornecer mecanismos para gerar, armazenar e usar chaves de forma segura nestes ambientes.

  • Provas de Conhecimento Zero (ZKPs): Embora não estritamente obrigatório para todos os casos de uso da Carteira EUDI inicialmente, um SDK avançado pode considerar o suporte a ZKPs. Isso permite que os utilizadores provem factos específicos sobre a sua identidade (por exemplo, 'Tenho mais de 18 anos') sem revelar os dados sensíveis subjacentes (por exemplo, a sua data de nascimento exata), aumentando significativamente a privacidade.

  • Interoperabilidade com Identificadores Descentralizados (DIDs): Espera-se que o ecossistema da Carteira EUDI se integre com Identificadores Descentralizados, que fornecem um identificador globalmente único, persistente e criptograficamente verificável para indivíduos e organizações. O SDK deve suportar a resolução de DIDs e protocolos de comunicação baseados em DIDs, como o DIDComm.

  • Auditoria e Registo: Capacidades abrangentes de auditoria e registo são essenciais para conformidade e depuração. O SDK deve registar de forma segura eventos relevantes, como emissão de credenciais, apresentação e tentativas de acesso, sem comprometer a privacidade do utilizador.

Como a Didit Ajuda

A Didit fornece uma plataforma de identidade robusta e completa que pode acelerar significativamente o desenvolvimento e a integração de funcionalidades da Carteira EUDI. A nossa plataforma oferece um conjunto completo de primitivas de identidade, incluindo biometria avançada, verificação segura de identidade e deteção de fraudes, tudo orquestrado através de uma única API. Para programadores que constroem SDKs da Carteira EUDI, a arquitetura modular da Didit e a abordagem "compliance-first" podem servir como um poderoso backend, lidando com as complexidades da gestão segura de identidade. A nossa deteção de vivacidade certificada iBeta Nível 1, certificações SOC 2 Tipo II e ISO 27001, e conformidade com o RGPD garantem que os processos subjacentes de verificação de identidade cumprem os mais altos padrões exigidos para a EUDI. Ao aproveitar a Didit, pode concentrar-se nos aspetos voltados para o utilizador do seu SDK da Carteira EUDI, confiante de que a infraestrutura central de verificação de identidade e segurança é tratada por um especialista.

Pronto para Começar?

Desenvolver um SDK multiplataforma para a Carteira EUDI é um empreendimento complexo, mas recompensador. Ao focar-se numa arquitetura modular, priorizando a segurança e a conformidade, e garantindo uma interoperabilidade fluida, os programadores podem contribuir para um futuro de identidade digital segura, privada e centrada no utilizador. Explore a documentação técnica da Didit para ver como a nossa plataforma de identidade pode apoiar as suas iniciativas da Carteira EUDI. Quer vê-lo em ação? Assista ao nosso vídeo de demonstração do produto ou visite o nosso Centro de Demonstrações. Para questões diretas, entre em contacto com hello@didit.me.

Infraestrutura para identidade e fraude.

Uma API para KYC, KYB, Monitorização de Transações e Rastreio de Carteiras. Integre em 5 minutos.

Peça a uma IA para resumir esta página
Arquitetura de SDK da Carteira EUDI: Análise Técnica.