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)
Muito obrigado por partilhar, assunto muito importante no cenário que vivemos.
Esse é um bom resumo e explicação sobre esses termos. Obrigado por compartilhar =)