Introdução • Identificação x Autenticação; • Identificação não requer autenticação; • Autenticação requer identificação; • Usar hash para senhas. Ex. SHA-2; Momento da Autenticação • O quanto antes; • Usuário não deve fazer nada sem autenticação; • Usuário pode tentar acessar informações sem passar pelo sistema: – Ex. acesso direto à base de dados, sem autenticar no sistema. Impossibilidade de Fraude • Administrador não pode saber a senha do usuário; • Prevenção de ataque de replay; – Na rede; – Utilizar data e hora; Reautenticação • Autenticar sempre que o sistema ficar parado por muito tempo; • Autenticar sempre que algo crítico for executado; • Mensagens de autenticação: cuidado para não dar pistas nas mensagens; – Mensagens de erro; Quando usar autenticação? • Usuário deve ser responsabilizado por seus atos; • As informações dos usuários são confidenciais; • Deseja-se mecanismo de controle de acesso; ISO 15408 • Identificação do usuário (FIA_UID); • Autenticação do usuário (FIA_UAU); • Tratamento de falhas de autenticação (FIA_AFL); Auditoria de Identificação • Mínimo: insucessos na identificação do usuário; • Básico: qualquer uso dos mecanismos de identificação; Auditoria de Autenticação • Mínimo: – Falha na autenticação; – Fraude nos dados; – Reutilização de dados; • Básico: – Todo uso da autenticação e reautenticação; – Todas as decisões tomadas; • Detalhado: tudo que foi feito antes da autenticação; Dados para autenticação • • • • Identificação; Dado de autenticação; Prazo de validade; Prazo para emitir alerta de alteração de dados para o usuário; • Flag de conta bloqueada; • Data e hora de liberação de bloqueio; Requisitos de Senha • Número mínimo de caracteres; • Letras, números e sinais; • Não usar dados do usuário; Auditoria de Definição de Senhas • Mínimo: rejeição de senhas; • Básico: rejeição ou aceitação de senhas; • Detalhado: informação de alterações nas métricas de geração e verificação; Autenticação entre sistemas • As vezes um sistema autenticado chama outros sistemas; • O sistema chamado pode confiar na autenticação do primeiro; • Uma opção é o primeiro sistema se autenticar novamente no segundo através de outra conta pré-definida; – Ex. sistemas de banco de dados; Auditoria de Usuário ligado ao sistemas • Mínimo: falha na criação de processo com a informação do usuário; • Básico: todas as ligações de processos com o usuário; • Obs: ligação de processo é o relacionamento de um sistema com outro sistema. Opções de Autenticação • Autenticação Básica: – Muito fraca; – Definida na RFC 2617; – Usuário e senha em base 64; Opções de Autenticação • Autenticação de hash ou de resumo: – RFC 2617; – Senha não trafega em texto plano; – Usa Hash; – Usado em LDAP; IMAP; POP3 e SMTP; Opções de Autenticação • Autenticação Microsoft passport: – Autenticação centralizada da microsoft; – Usado pelo hotmail e msn; – Para desenvolver, usar o Passport Software Development Kit: www.passport.com; – ASP.NET suporta o passport; – IIS 6 também suporta; Opções de Autenticação • Autenticação do Windows – Suporta 2 protocolos: NTLM e Kerberos; – Suportados pela Security Support Providers Interface (SSPI); – Kerberos 5 é definido em RFC 1510; – Kerberos é considerado mais seguro do que o NTLM Opções de Autenticação • Assinatura Digital: Atividade • Desenvolver implementação de autenticação com hash – Cadastramento da senha com persistência do hash – Comparação do hash na entrada do sistema