Please enable JavaScript.
Coggle requires JavaScript to display documents.
AUTENTICAÇÕ DE USUÁRIO
image - Coggle Diagram
AUTENTICAÇÕ DE USUÁRIO
Segundo a RFC 4949 (Internet Security Glossary, Version 2), autenticação de usuário é: O processo de verificação de uma identidade alegada por ou para uma entidade do sistema
ATAQUES E CONTRAMEDIDAS
Ataque a senha popular:Teste de senha para os IDs. Contramedidas: políticas para inibir inclusão de senhas comuns.
Exploração de Erros do Usuário: Anotar a senha em post-its ou compartilhamento. Contramedidas: treinamento do usuário.
Sequestro de estação de trabalho: Atacante aguarda que o usuário deixe a estação logada. Contramedidas: bloqueio automático da estação de trabalho por inatividade.
Consiste em duas etapas:
Identificação É o meio pelo qual um usuário provê uma identidade alegada ao sistema.
Autenticação É o meio para estabelecer a validade da alegação.
Há três meios de autenticação de usuário (usados / isolados / combinados)
Sabe (Conhecimento) Ex.: senhas, etc
Tem (Objeto) Ex.: tokens, smart card, etc
É (Características) Ex.: biometria Biometria estática – impressão digital, face / Biometria dinâmica – padrão de voz, ritmo de digitação
Hash de senhas:
Consiste no armazenamento dos hash de senhas para evitar ataques de criptoanálise.
Aplica-se uma senha juntamente com um valor de salt (valor aleatório, não-secreto) como entrada para um algoritmo de hash.
Onde um valor de hash é produzido (execução lenta*).
O hash de senha é armazenado juntamente com uma cópia em texto as claras do sal, no arquivo de senhas para o ID do usuário.
-
-
-
Baseada em token:
Os objetos utilizados pelos usuários com a finalidade de autenticação são conhecidos por tokens. São exemplos de tokens: Cartões de memória e Smart Cards.
Autenticação Biométrica:
Baseada nas características físicas do usuário. Comumente temos:
Características faciais
Impressões digitais
Geometria da mão
Padrão da retina
Assinatura Voz
Autenticação biométrica dinâmica
Baseada em um desafio gerado pelo sistema.
A sequência de desafio consiste em uma sequência de números, caracteres ou palavras.
Onde o usuário deverá falar, digitar ou escrever essa sequência, gerando um sinal biométrico.
Esse sinal é cifrado e enviado como parâmetro na autenticação.
-
OAuth 2.0
Está na RFC 6749 e é um protocolo de autorização que permite que aplicativos obtenham acesso limitado a contas de usuários em um serviço HTTP sem a necessidade de enviar seu usuário e senha. Ex.: “Logar com sua conta do Google” ou “Logar com sua conta do Facebook”
Cliente
Um aplicativo que faz solicitações de recursos protegidos em nome do proprietário do recurso e com sua autorização. OAuth define dois tipos de clientes: Confidencial (mantem o sigilo das credenciais) Público (não mantem o sigilo das credenciais)
Proprietário do recurso
Entidade capaz de conceder acesso a um recurso protegido. Quando o proprietário do recurso é uma pessoa, é referido como um usuário final.
Servidor de autorização
O servidor que emite tokens de acesso ao cliente após autenticar o proprietário do recurso e obter autorização.
Servidor de recursos
O servidor que hospeda os recursos protegidos. Capaz de aceitar e responder a solicitações de recursos protegidos a partir de tokens de acesso.
Escopo
O parâmetro scope retornado pelo token é um subconjunto de valores que indica quais recursos do Resource Owner (proprietário do recurso) o aplicativo deseja obter acesso.
Nota 01: O servidor de autorização pode ser o mesmo servidor que o servidor de recursos ou uma entidade separada.
Nota 02: Um único servidor de autorização pode emitir tokens de acesso aceitos por vários servidores de recursos.
JSON Web Tokens (JWT)
Está na RFC7519 e é um padrão para autenticação e troca de informações. Armazenar de forma segura e compacta objetos JSON. O formato JSON (JavaScript Object Notation) é uma forma de notação de objetos JavaScript.
É um token código Base64.
Pode ser assinado usando um segredo ou par de chaves privadas/públicas. Se assinados, permitem a verificação da integridade e autenticidade.
Pertence a uma família de especificações: família JOSE. JOSE significa: JSON Object Signing and Encryption (Assinatura e criptografia de objetos JSON).
Outras especificações desta família:
JWT (JSON Web Tokens): representa o token propriamente dito;
JWS (JSON Web Signature): representa a assinatura do token;
JWE (JSON Web Encryption): representa a assinatura para criptografia do token;
JWK (JSON Web Keys): representa as chaves para a assinatura;
JWA (JSON Web Algorithms): representa os algoritmos para assinatura do token.
Componentes básicos: header, payload e a signature.
As três partes são separadas por pontos (.):
header.payload.signature