DEV Community

Gabriel Galdino
Gabriel Galdino

Posted on • Edited on

9

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

AWS GenAI LIVE image

How is generative AI increasing efficiency?

Join AWS GenAI LIVE! to find out how gen AI is reshaping productivity, streamlining processes, and driving innovation.

Learn more

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 =)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay