Gleam.br Wiki

GBR: ADR-0002 WebAuthn & zcap-ld | Wiki

Documentação de engenharia e especificações técnicas da Gleam-BR.

GBR: ADR-0002 WebAuthn & zcap-ld

  • *Status:* Proposed
  • *Data:* 2026-05-11

*Contexto:*

O sistema Gleam-BR utiliza did:key para identidades M2M (Machine-to-Machine) na malha P2P. No entanto, a interação humana (H2M) exige um método de autenticação que seja seguro contra phishing e conveniente (biométrico). Precisamos integrar humanos na malha sem comprometer a natureza descentralizada e sem expor as chaves privadas dos Agentes diretamente aos navegadores.

*Decisão:*

  1. *WebAuthn como Gateway:* Utilizar Passkeys (WebAuthn) exclusivamente na camada de borda (Anel 8 - Web/Mobile) para autenticar o usuário humano contra o seu respectivo Nó Gateway.
  2. *Autorização via zcap-ld:* Em vez de sessões HTTP tradicionais, o sucesso do WebAuthn resultará na geração de uma Invocação de Capability (zcap-ld). O humano assina uma delegação para o did:key do Agente.
  3. *Atenuação de Poderes:* As permissões delegadas via WebAuthn devem conter restrições (timeouts e escopos de comando) para mitigar o risco caso o dispositivo do Agente seja comprometido.
  4. *Verificação no Core:* O pacote shared/gbr_crypto será expandido para validar assinaturas P-256 (comuns em Passkeys) e verificar a cadeia de delegação zcap-ld.

*Consequências:*

  • *Positivas:* Segurança de nível bancário com biometria; compatibilidade com dispositivos modernos (iPhone, Android, Windows Hello); mantém o núcleo P2P agnóstico a navegadores.
  • *Negativas:* Introduz a necessidade de processar curvas P-256 no Rustler (além da Ed25519 nativa); complexidade adicional na montagem dos objetos de delegação em CBOR/DAG-CBOR.

*Referências:*