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:*
- *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.
-
*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:keydo Agente. - *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.
-
*Verificação no Core:* O pacote
shared/gbr_cryptoserá 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:*