Protocolos de Autenticação Modernos: Do OAuth 2.0 às Passkeys
Na era digital, "Quem é você?" e "O que tem permissão para fazer?" são duas das questões mais críticas que um sistema deve responder. A Autenticação (AuthN) e a Autorização (AuthZ) são os pilares da segurança. Este guia explora os protocolos modernos que gerem estes processos.
1. Identidade Federada e Autorização
OAuth 2.0 (Autorização)
O OAuth 2.0 é o protocolo padrão da indústria para autorização. Permite que um website ou aplicação aceda a recursos alojados por outros serviços web em nome de um utilizador (ex: "Entrar com o Google").
- Bearer Token: O tipo mais comum de token de acesso utilizado no OAuth 2.0. Se tiver o token, tem acesso.
- API Key: Uma forma mais simples de autenticação, frequentemente utilizada para comunicação entre máquinas.
OpenID Connect (OIDC)
Construído sobre o OAuth 2.0, o OIDC adiciona uma camada de identidade. Enquanto o OAuth se foca no acesso, o OIDC foca-se na identidade. Permite aos clientes verificar a identidade do utilizador final com base na autenticação realizada por um Servidor de Autorização.
SAML (Security Assertion Markup Language)
Um padrão baseado em XML utilizado principalmente em ambientes empresariais para Single Sign-On (SSO). Permite aos fornecedores de identidade (IdP) passar credenciais de autorização aos fornecedores de serviços (SP).
2. Serviços de Diretório Empresariais e Legados
LDAP (Lightweight Directory Access Protocol)
Um protocolo maduro utilizado para aceder e manter serviços de informação de diretório distribuídos. É a espinha dorsal de muitas bases de dados de funcionários corporativos.
Kerberos
Um protocolo de autenticação de rede concebido para fornecer autenticação forte para aplicações cliente/servidor através da utilização de criptografia de chave secreta. É o método de autenticação predefinido no Windows Active Directory.
3. Autenticação de Múltiplos Fatores (MFA)
OTP (One-Time Password)
- HOTP: Palavra-passe de uso único baseada em HMAC (baseada em eventos).
- TOTP: Palavra-passe de uso único baseada no tempo (utilizada por apps como o Google Authenticator).
4. O Futuro sem Palavra-passe: FIDO e WebAuthn
FIDO2 & WebAuthn
A FIDO Alliance criou estes padrões para substituir as palavras-passe por criptografia de chave pública segura. O WebAuthn é a API do navegador que permite isto.
Passkeys
As Passkeys são uma implementação específica dos padrões FIDO que permitem aos utilizadores iniciar sessão em websites e apps utilizando a mesma biometria ou PIN que utilizam para desbloquear os seus dispositivos (FaceID, impressão digital). São sincronizadas entre dispositivos via nuvem (Apple iCloud, Gestor de Palavras-passe da Google).
U2F (Universal 2nd Factor)
Um padrão FIDO mais antigo, que normalmente requer uma chave de segurança física (como uma YubiKey) como segundo fator.
Resumo Comparativo
| Protocolo | Tipo | Caso de Uso Principal | Formato |
|---|---|---|---|
| OAuth 2.0 | Autorização | Acesso a API, integração de terceiros | JSON / JWT |
| OIDC | Identidade | Botões "Entrar com..." | JWT (ID Token) |
| SAML | Identidade/SSO | Login empresarial corporativo | XML |
| WebAuthn | AuthN | Sem palavra-passe / Passkeys | Cripto de Chave Pública |
| LDAP | Diretório | Gestão de utilizadores corporativos | Binário |
Conclusão
A mudança das palavras-passe para as Passkeys e o OIDC está a tornar a internet mais segura e fácil de utilizar. Enquanto o OAuth 2.0 continua a ser o rei da autorização de APIs, o futuro do login do utilizador é, sem dúvida, apoiado por hardware e sem palavras-passe. Compreender estes protocolos é essencial para qualquer programador que crie aplicações seguras hoje em dia.