Logo Logo
GitHub Designed by Logto

O que é autenticação (Authentication)?

Resumindo: Autenticação (Authentication) responde à pergunta “Qual identidade você possui?”

Aqui estão alguns exemplos típicos de autenticação (Authentication):

Não usamos a frase “Quem é você?” porque:

  • No domínio de Gerenciamento de identidade e acesso (IAM) , a autenticação (Authentication) é sobre verificar a propriedade de uma identidade, não identificar a pessoa ou entidade. Por exemplo, quando um dos seus familiares usa suas credenciais para entrar na sua conta, eles não são você, mas a identidade para o sistema é a mesma.
  • A identidade pode ser um usuário, um serviço ou um dispositivo. Por exemplo, um serviço pode autenticar-se para outro serviço usando API keys.

Diferença entre autenticação (Authentication) e autorização (Authorization)

Esses dois termos são frequentemente confundidos, mas são fundamentalmente diferentes: Autorização (Authorization) responde à pergunta “O que você pode fazer?”. Além disso, a autenticação (Authentication) é um pré-requisito para a autorização (Authorization) porque o sistema precisa conhecer a identidade antes de decidir quais ações ela pode realizar.

Fatores de autenticação (Authentication)

A autenticação (Authentication) pode ser realizada usando um ou mais fatores. Aqui estão alguns fatores comuns:

  • Fator de conhecimento: Algo que você sabe (por exemplo, senha, PIN)
  • Fator de posse: Algo que você tem (por exemplo, smartphone, token de segurança)
  • Fator de inerência: Algo que você é (por exemplo, impressão digital, reconhecimento facial)

Autenticação multifator (MFA) é uma prática comum que combina múltiplos fatores para aumentar a segurança. Por exemplo, quando você entra na sua conta bancária, pode precisar fornecer uma senha (fator de conhecimento) e um código único de um aplicativo autenticador (fator de posse).

Chave de Acesso (Passkey) é um fator de autenticação (Authentication) moderno que pode combinar múltiplos fatores e é resistente a ataques de phishing.

Estruturas de autenticação (Authentication) (protocolos)

Em vez de construir um sistema de autenticação (Authentication) próprio, é recomendado usar estruturas e protocolos estabelecidos, pois eles foram testados e revisados por especialistas em segurança. Existem várias estruturas e protocolos de autenticação (Authentication) que definem como a autenticação (Authentication) deve ser realizada. Dois comuns são:

A escolha da estrutura depende do seu caso de uso e requisitos. Para novos aplicativos, OIDC é recomendado devido ao seu design moderno e suporte para JSON Web Token (JWT) .

No entanto, trabalhar diretamente com esses protocolos ainda pode ser complexo e demorado. Ambos os protocolos têm curvas de aprendizado acentuadas e requerem implementação cuidadosa para garantir a segurança. Em vez disso, usar um Provedor de identidade (IdP) que suporte ou seja construído sobre esses protocolos pode simplificar muito o processo de autenticação (Authentication). Um bom provedor de identidade também fornecerá recursos adicionais como Autenticação multifator (MFA) e Single sign-on (SSO) para suas necessidades futuras.

Veja também