DEV Community

Gabriel Galdino
Gabriel Galdino

Posted on • Edited on

Por que autenticação e autorização são importantes para desenvolvedores?

A implementação de medidas de autenticação e autorização é crucial para assegurar a segurança da aplicação e criar uma primeira linha de defesa contra ataques.

Pode-se dizer, ainda, que essas medidas ajudam a aumentar a confiança dos usuários no software, pois garantem que apenas usuários autorizados tenham acesso a funcionalidades e informações confidenciais.

Preparei esse resumo que ajuda a entender melhor sobre esses conceitos trazendo algumas dicas da OWASP.

Confira este artigo da Conviso que detalha outros conceitos importantes.

Autenticação x Autorização

Em resumo, a autenticação é necessária para confirmar que a pessoa que está tentando acessar uma aplicação é realmente quem diz ser.

Já a autorização é o processo de garantir que o usuário tenha permissão para realizar a ação que está tentando realizar. Por exemplo, um usuário pode ter a autenticação confirmada, mas ainda não ter a autorização para acessar uma área restrita do sistema.

É importante notar que a autenticação e a autorização são duas etapas diferentes e independentes.

Tipos de Autenticação

Por usuário e senha: neste caso, o usuário fornece um nome de usuário e uma senha para acessar uma conta.

Autenticação de três fatores: é uma técnica que combina três tipos diferentes de informações para verificar a identidade do usuário. Esses três tipos são:

  • Algo que você conhece: geralmente uma senha ou frase de segurança.
  • Algo que você tem: geralmente um dispositivo físico, como um token de segurança ou um aplicativo de autenticação em seu celular.
  • Algo que você usa: geralmente algo que está relacionado ao seu corpo, como uma impressão digital ou reconhecimento facial.

Autenticação baseada em tokens: neste caso, o usuário recebe um token de acesso que é enviado junto com cada solicitação de API.

Autenticação através de certificados: o usuário possui um certificado digital que é usado para autenticar sua identidade.

Exemplos para entender Autorização

Permissões de usuário: usada para garantir que o usuário só tenha acesso às ações que estão dentro de suas permissões.

Baseada em papéis: um usuário pode ter um determinado papel em uma aplicação, como administrador ou usuário comum. A autorização é usada para garantir que o usuário só tenha acesso às ações permitidas para o seu papel.

Baseada em condições externas: a autorização pode ser concedida ou negada com base em condições externas, como localização geográfica, horário ou padrões de uso.

Por que são necessárias?

A autenticação é crucial para garantir que apenas os usuários autorizados tenham acesso à aplicação, enquanto a autorização é fundamental para assegurar que os usuários só possam realizar as ações permitidas.

Essas medidas são importantes para proteger a integridade e a segurança da aplicação e dos dados. Além disso, a autenticação e a autorização são essenciais para manter a privacidade e a confidencialidade das informações e garantir que apenas os usuários autorizados tenham acesso a elas.

Implementando autenticação e autorização

Implementar autenticação e autorização em uma aplicação envolve diversas etapas e pode ser realizado de diferentes maneiras, dependendo do contexto e das necessidades da aplicação.

Algumas dicas gerais para a implementação de autenticação e autorização segundo a documentação da OWASP ASVS:

1º Utilizar autenticação de multifatores:

A autenticação de vários fatores exige que o usuário forneça outra informação além da senha para acessar a aplicação.

Essa técnica inclui ainda mais fatores de autenticação, como reconhecimento de voz ou biometria.

2º Armazenar senhas de maneira segura:

É fundamental garantir que as senhas dos usuários sejam armazenadas de maneira segura, para evitar que elas sejam comprometidas em caso de ataques.

Para isso, é recomendável usar criptografia de senhas ou outras técnicas de segurança, como hash de senhas com sal ou PBKDF2 (Password-Based Key Derivation Function 2).

3º Utilizar tokens de acesso seguros

Se a aplicação utiliza tokens de acesso (como JWTs ou cookies) para autenticar os usuários, é importante garantir que esses tokens sejam seguros e protegidos contra ataques.

Isso pode incluir usar assinaturas criptográficas para validar os tokens e renová-los com frequência.

É isso!

Consulte a documentação completa da OWASP para saber mais. Acesse os canais da Conviso e fique atualizado com os principais tópicos sobre Segurança de Aplicações.

Referência: https://bit.ly/3vP1IJX

Top comments (2)

Collapse
 
cmsouzaac profile image
Cristian Souza

Muito obrigado por partilhar, assunto muito importante no cenário que vivemos.

Collapse
 
eduardojm profile image
Eduardo Oliveira

Esse é um bom resumo e explicação sobre esses termos. Obrigado por compartilhar =)