Sistemas de Autenticação



Documentos relacionados
Sistemas de Autenticação. Jaime Dias FEUP > DEEC > MRSC > Segurança em Sistemas e Redes v3.1

EAP (Extensible Authentication Protocol) RFC 3748

Remote Authentication Dial in User Service (RADIUS) Rômulo Rosa Furtado

Projeto Integrador - Projeto de Redes de Computadores

Projeto de Redes de Computadores. Desenvolvimento de Estratégias de Segurança e Gerência

Segurança em Redes de Computadores IEEE 802.1x

Introdução. O que é Kerberos? Origem do nome

MANUAL DO UTILIZADOR DE REDE

Professor: Gládston Duarte

Rede de Computadores II

Gerência de Segurança

Sistema de Autenticação Kerberos. Junho/2010. Hugo de Cuffa

FACULDADE DE TECNOLOGIA SENAC SEGURANÇA DA INFORMAÇÃO. PROFESSORA: Marissol Martins

CERTIFICAÇÃO DIGITAL

Submissão Autenticada de Ficheiros ao SIGEX

Licenciatura em Engenharia Informática Sistemas Distribuídos I 2ª chamada, 6 de Julho de º Semestre, 2004/2005

Nível de segurança de uma VPN

Redes de Computadores. Protocolos de comunicação: TCP, UDP

Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW. Free Powerpoint Templates Page 1

Auditoria e Segurança da Informação GSI536. Prof. Rodrigo Sanches Miani FACOM/UFU

SEGURANÇA EM SISTEMAS INFORMÁTICOS

Segurança Internet. Fernando Albuquerque. (061)

Capítulo 5 Métodos de Defesa

Patrocinadores. Agenda. Objectivos SEC07 SEC07. Sérgio Martins Security Consultant Unisys. Security Consultant Unisys.

PROTOCOLO 802.1X COM FRERADIUS FACULDADE DE TECNOLOGIA SENAC GOIÁS GESTÃO EM TECNOLOGIA DA INFORMAÇÃO

Gestix Certificação DGCI Gestix Business, POS, Life e Enterprise. Gestix.com

Capítulo 1 PROTOCOLOS FUNDAMENTAIS DA INTERNET

Sistemas Distribuídos: Conceitos e Projeto Introdução a Criptografia e Criptografia Simétrica

FACULDADE DE TECNOLOGIA SENAC GOIÁS PROJETO INTEGRADOR. Projeto de Redes de Computadores. 5º PERÍODO Gestão da Tecnologia da Informação GOIÂNIA

Assinatura Digital: problema

SSH: Uma abordagem geral

Desenvolvimento Cliente-Servidor 1

Arquitetura TCP/IP. Parte IV Mapeamento de endereços IP em endereços físicos (ARP) Fabrízzio Alphonsus A. M. N. Soares

ESET Secure Authentication. Autenticação ultra-segura para proteger o acesso à rede empresarial

Conceitos de Criptografia e o protocolo SSL

Protocolo Rede 802.1x

Protocolos de autenticação

Redes de Computadores. Revisões

Protocolos Telnet e SSH. Professor Leonardo Larback

Wireless LAN (IEEE x)

Redes de Computadores Modelo de referência TCP/IP. Prof. MSc. Hugo Souza

Sistemas e Plataformas Seguras

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança

edgebox - PTEDU edgebox como servidor de autenticação nas escolas 2009 Critical Links S.A. All rights reserved. Saturday, July 18, 2009

SISTEMAS DISTRIBUIDOS

Tecnologias Atuais de Redes

Sistemas Multimédia. Arquitectura Protocolar Simples Modelo OSI TCP/IP. Francisco Maia Redes e Comunicações

Transcrição:

Sistemas de Autenticação Jaime Dias FEUP > DEEC > MRSC > Segurança em Sistemas e Redes v3.1 Sistemas de autenticação Quem está do outro lado é mesmo quem diz ser? Sistema que permite verificar a identidade de uma entidade. Constituído por: Entidade(s) autenticada(s) Autenticador(es) Protocolo(s) de autenticação Entidade(s) de suporte ao protocolo de autenticação MRSC > SSR > sist_aut_v3.1 2 1

Sistemas de autenticação A verificação da identidade baseia-se no pressuposto que a entidade é a única capaz de enviar uma dada informação, a qual é o resultado de algo que a entidade Sabe, tem, é o Senha (= palavra chave = palavra passe = password) ex: Senhas Unix, PAP, CHAP, Kerberos o Testemunhos (Tokens) ex: cartão multibanco, S/Key, SecurID, SmartCard o Biometria ex: íris, impressão digital, timbre vocal Para maior comodidade dos utilizadores: Single Sign on (autentica-se uma vez no início) Ex: Kerberos Biometria (não tem que se lembrar de senhas) MRSC > SSR > sist_aut_v3.1 3 Senhas UNIX Senha enviada em claro Telnet, rcp, FTP desaconselhados usar SSH, scp, sftp, Autenticação Utilizador envia UserID + senha Servidor calcula resumo com base na senha recebida + sal guardado em ficheiro local Se resumo igual ao guardado em ficheiro local então utilizador é autenticado Sal (salt) Valor conhecido apenas pelo servidor, guardado juntamente com palavra chave codificada em ficheiro local (/etc/passwd ou /etc/shadow). Permite obter diferentes resumos para a mesma senha MRSC > SSR > sist_aut_v3.1 4 2

Senhas UNIX ID Senha Transmissão em claro ID Senha Sal Função de síntese Resumo Utilizador (ID) autenticado S Iguais? /etc/passwd ou /etc/shadow ID Resumo Sal MRSC > SSR > sist_aut_v3.1 5 Senhas UNIX Implementações Várias versões. Uma delas: Resumo é calculado através do algoritmo DES (25 iterações) Mensagem (input do algoritmo DES na 1ª iteração): 64 bits a 0 ou 1 Chave simétrica: senha (8 bytes) e sal (12 bits) o Senha é truncada. Apenas os 8 primeiros caracteres são utilizados! Guardado localmente: 13 bytes = 2 do sal + 11 do resumo MRSC > SSR > sist_aut_v3.1 6 3

Senhas UNIX Ataques Dedução de senhas Força bruta todas as combinações têm a mesma probabilidade (exaustivo, o mais demorado) Ataque baseado em dicionários testa primeiro combinações mais prováveis (derivadas de palavras de dicionários) Engenharia social nome da esposa, data de nascimento, matrícula do carro Para uma senha de 8 caracteres Cerca de 6x10 15 combinações possíveis (força bruta) Pessoas tendem a escolher senhas baseadas em palavras de dicionário 1 milhão de combinações MRSC > SSR > sist_aut_v3.1 7 Senhas UNIX Ataques Ataque de dicionário online. 15 tentativas por segundo 18,5 horas para testar 1 milhão de combinações 9,25 horas em média para descobrir a senha Solução: limitar o nº de autenticações falhadas MRSC > SSR > sist_aut_v3.1 8 4

Senhas UNIX Ataques Um atacante com conta no servidor poderá saber o valor do resumo+sal (/etc/passwd) Ataque de diccionário offline. Para um senha de 8 caracteres a um ritmo de 1000 tentativas por segundo 17 minutos no máximo e 8,3 minutos em média para descobrir a senha Ataque de dicionário offline baseado em dados pré-calculados. dados pré-calculados: tabela com possíveis resumos e uma senha por resumo Duração do ataque na ordem dos segundos Com um sal de 12 bits, existem 2 12 possíveis resumos para a mesma senha. Atacante tem de pré-calcular todas as combinações de senhas para cada resumo. Sem sal seriam necessários apenas 11 Mbytes de dados. Com sal são necessários 50 Gbytes actualmente já não é um impedimento Solução: mover senhas codificadas de /etc/passwd para /etc/shadow onde só o root tem acesso MRSC > SSR > sist_aut_v3.1 9 PAP, CHAP, EAP Enquadramento PPP (Point-to-Point Protocol) ligação (lógica) ponto-a-ponto. permite a abstracção dos protocolos inferiores perante os protocolos de rede Suporta diversos protocolos de rede (IP, IPX ) Adapta-se a diferentes protocolos da camada inferior POTS RDIS IP (PPTP) Ethernet (PPPoE) ATM (PPPoA) Dependendo do protocolo de autenticação utilizado, permite autenticação do cliente e eventualmente do servidor PAP, CHAP (e variantes) ou EAP MRSC > SSR > sist_aut_v3.1 10 5

PAP, CHAP Segredo partilhado por autenticador e entidade a autenticar Unidireccional autenticador não é autenticado perante entidade a autenticar (tipicamente um utilizador) PAP (PPP Authentication Protocol) Descrição do protocolo (convenção: Utilizador, Autenticador) o U A: UID, password o U A: OK/notOK Senha passa em claro MRSC > SSR > sist_aut_v3.1 11 PAP, CHAP CHAP (CHallenge-response Authentication Protocol) Descrição do protocolo o U A : authid, challenge o U A: MD5(AuthID, password, challenge) o U A : OK/notOK Challenge = desafio: número que deve ser usado apenas uma vez (prevenção de ataques de repetição replay attack) Response = resposta: resumo de informação que também contém desafio recebido CHAP senhas guardadas em claro no servidor de autenticação MSCHAPv1 servidor de autenticação guarda resumos MSCHAPv2 servidor de autenticação também é autenticado perante utilizador MRSC > SSR > sist_aut_v3.1 12 6

EAP Enquadramento PPP foi confrontado com um problema: diversos implementadores diversos protocolos de autenticação Necessidade de um protocolo intermédio que suporte diversos protocolos de autenticação sem ter de alterar a norma PPP Solução: Extensible Authentication Protocol EAP não é um protocolo de autenticação, é um suporte a outros protocolos de autenticação. Ex.: EAP-MD5 EAP-TLS PEAP EAP-TTLS RSA Security SecurID EAP MRSC > SSR > sist_aut_v3.1 13 Servidor de autenticação Permite autenticar utilizadores/máquinas perante serviços de rede e/ou aplicação. Para além da autenticação, um servidor pode ainda implementar mecanismos de Autorização e Contabilidade (Authentication, Autorization and Accounting AAA) Autorização. Controlar a que recursos o cliente pode aceder. Contabilidade. Registo de acontecimentos envolvendo acessos. o ex: recursos utilizados durante uma sessão: tempo, pacotes, bytes, etc. Diversos servidores de autenticação RADIUS, TACACS+, DIAMETER O RADIUS é o de facto servidor de autenticação MRSC > SSR > sist_aut_v3.1 14 7

RADIUS Remote Authentication Dial In User Service Serviço de AAA O seu objectivo inicial foi o de servir ISPs Vários Network Access Server (NAS) a oferecerem ligações PPP ou SLIP Em vez de cada NAS (Network Access Server) ter uma lista dos utilizadores/senhas autorizados, centraliza-se tudo num único servidor de back-end AAA (RADIUS) Actualmente já é usado em redes privadas com necessidade de controlo de acesso Suporta diversos protocolos de autenticação, (PAP, CHAP, EAP, ) e diversas bases de dados As mensagens trocadas entre o NAS e o servidor RADIUS são cifradas recorrendo a criptografia simétrica. A chave é previamente partilhada. MRSC > SSR > sist_aut_v3.1 15 RADIUS Modelo cliente/servidor RFC 2138 protocolo de autenticação/autorização RFC 2059 protocolo para a contabilidade Portos: 1812 (UDP) autenticação/autorização, 1813 (UDP) contabilidade MRSC > SSR > sist_aut_v3.1 16 8

RADIUS EAP Request/Identity EAP Response/Identity EAPRequest Radius Access Request Radius Access Challenge EAP Response (credentials) Radius Access Request EAP Success Radius Access Accept MRSC > SSR > sist_aut_v3.1 17 RADIUS - Implementações Cisco Access Control Server 3.2 Microsoft Internet Access Server GNU/GPL MRSC > SSR > sist_aut_v3.1 18 9

Kerberos Enquadramento Uma rede suporta vários: utilizadores postos de trabalho Servidores Serviços Se cada serviço tiver o seu sistema de autenticação gestão complexa maior custo maior vulnerabilidade a falhas de segurança Clientes: uma autenticação por serviço Solução centralizar a autenticação MRSC > SSR > sist_aut_v3.1 19 Kerberos Introdução Serviço de autenticação central desenvolvido no MIT, no projecto Athena Baseado em criptografia simétrica Single-sign-on: cliente autentica-se uma vez, restantes autenticações são transparentes Actualmente, duas versões: 4 e 5 Orientado aos sistemas UNIX Sistema de autenticação/controlo de acesso do Windows 2000/XP/2003 baseado no kerberos v5 (RFC 1510) MRSC > SSR > sist_aut_v3.1 20 10

Kerberos Organizado por domínios (realm) Um domínio consiste: num servidor Kerberos (Kerberos Distribution Center -KDC) o composto pelo servidor de autenticação (Authentication Server -AS) e pelo Ticket Granting Server (TGS) vários clientes (principals) registados no KDC o Um cliente pode ser um utilizador, uma aplicação ou um host Vários serviços (servidores) Cada cliente e cada serviço (servidor) partilha uma chaves privada com o KDC Chaves dos utilizadores geradas a partir de senha É possível ligar múltiplos domínios os KDC têm de partilhar chaves privadas e confiança MRSC > SSR > sist_aut_v3.1 21 Kerberos Kerberos Distribution Center MRSC > SSR > sist_aut_v3.1 22 11

Chaves K c é a chave de longa duração do cliente C Derivada da senha do utilizador Conhecida pelo cliente C e pelo AS K TGS é a chave de longa duração do TGS Gonhecida pelo TGS e pelo AS K v é a chave de longa duração do serviço V Conhecida por V e pelo TGS K c,tgs é uma chave de curta duração Gerada pelo AS Conhecida por C e pelo TGS (e AS) K c,v é uma chave de curta duração Gerada pelo TGS Conhecida por C e por V (e TGS) MRSC > SSR > sist_aut_v3.1 23 Fase 1 - Single-sign-on Utilizador senha Aplicação cliente Kerberos ID c, ID TGS, time c Authentication Server (AS) K c Encrypt K c (K c,tgs, ID TGS, time KDC, lifetime, ticket TGS ) K c,tgs e ticket TGS Conhece K c e K TGS ticket TGS = Encrypt K TGS (K c,tgs, ID c, Addr c, ID TGS, time KDC, lifetime) O utilizador tem de se autenticar apenas uma vez O bilhete TGS permite ao cliente obter outros bilhetes (para serviços) sem ter de se autenticar novamente. O bilhete está cifrado, pelo que o cliente não consegue forjar um MRSC > SSR > sist_aut_v3.1 24 12

Fase 2 Obtenção de um bilhete para um serviço Utilizador lpr -Pprint Aplicação cliente Kerberos auth C =Encrypt Kc,TGS (ID c, Addr c, time c ) ID v, ticket TGS, auth C Ticket Granting Server (TGS) ticket TGS K c,tgs K c,v e ticket v Encrypt Kc,TGS (K c,v, ID v, time TGS, ticket v ) Conhece K TGS e K V ticket v = Encrypt Kv (K c,v, ID c, Addr c, ID v, time TGS, lifetime) O cliente usa o bilhete TGS para obter um bilhete e uma chave de curta duração para cada serviço O auth C prova que o cliente conhece a chave K C,V contida no bilhete TGS MRSC > SSR > sist_aut_v3.1 25 Fase 3 Acesso ao serviço Utilizador lpr -Pprint Aplicação cliente Kerberos auth C =Encrypt Kc,v (ID c, Addr C, time C ) ticket v, auth C Servidor de Impressão ticket V K C,V Encrypt Kc,v (time c +1) Conhece K V O auth C prova que o cliente conhece a chave K c,v contida no bilhete O servidor autentica-se perante o cliente pela demonstração de que conhece K V O servidor só pode cifrar a mensagem se conhecer K c,v O servidor só pode conhecer K c,v se conhecer K v para decifrar o bilhete ticket V Pelo facto de conhecer K v prova ser o servidor correcto. MRSC > SSR > sist_aut_v3.1 26 13

Kerberos v4 Resumo das mensagens trocadas c,tgs MRSC > SSR > sist_aut_v3.1 27 Kerberos v5 Melhorias sobre v4 Algoritmos criptográficos v4 só suporta DES Protocolo de rede v4 só suporta IPv4 Duração dos bilhetes maior v4 duração máxima 21h Reencaminhamento de autenticação v4 não suporta Autenticação inter-domínios optimizada (tornada nativa) na v5 Derivação de sub-chaves de sessão normalizada na v5 Codificação de mensagens v5 usa ASN.1 Optimizações criptográficas Internet standard RFC 1510 MRSC > SSR > sist_aut_v3.1 28 14

Autenticação X.509 One-way authentication Só A é autenticada 1 mensagem que autentica A perante B, autentica a origem (A) e o destino (B) e que chegou integra Mensagem inclui um timestamp, nonce, identidade de B, assinatura de A e tipicamente uma chave de sessão timestamp para prevenir entregas atrasadas identitade de B A{t A, r A, B, sgndata, E KUB [K ab ]} chave de sessão A nonce para prevenir repetições assinatura B MRSC > SSR > sist_aut_v3.1 29 Autenticação X.509 Two-way authentication Ambas as identidades são autenticadas Para além da 1ª mensagem, B devolve uma resposta que confirma a recepção da 1ª mensagem por B autentica B perante A autentica a origem (B) e o destino (A) e que chegou integra A{t A, r A, B, sgndata, E KUB [K ab ]} A B{t B, r B, A, r A, sgndata, E KUA [K ba ]} nonce de A validaa resposta B MRSC > SSR > sist_aut_v3.1 30 15

Autenticação X.509 Three-way authentication Idêntico ao anterior. Utilizado quando os relógios de ambas as entidades não estão sincronizados A{t A, r A, B, sgndata, E KUB [K ab ]} A B{t B, r B, A, r A, sgndata, E KUA [K ba ]} A{r B } B MRSC > SSR > sist_aut_v3.1 31 Sistemas de autenticação de senha única One Time Password (OTP) Sistemas de autenticação baseados em testemunhos (hardware ou software) que geram senhas únicas a partir de chave simétrica (ou senha) e de: Eventos Tempo Desafio-Resposta Só podem ser usadas uma vez podem ser transmitidas em claro Exemplos: S/Key OPIE (idêntico ao S/Key) SecurID MRSC > SSR > sist_aut_v3.1 32 16

S/Key One-time password: gera uma senha única por cada autenticação. Utilizador partilha uma senha com autenticador (servidor de autenticação), a qual nunca atravessa a rede Cada vez que se autentica, o utilizador tem de enviar uma senha derivada da original a qual é sempre diferente (única) MRSC > SSR > sist_aut_v3.1 33 S/Key Autenticador envia um desafio um índice N que corresponde à senha única nº N e uma semente (seed) Utilizador gera senha_unica N Senha_unica1 = MD4(semente, senha) Senha_unica2 = MD4(Senha_unica 1 ) Senha_unica N = MD4(Senha_unica n-1 ) Envia Senha_unica N ao autenticador O autenticador também calcula Senha_unica N e compara com a que recebeu. Se iguais autenticação positiva Em autenticações posteriores, o autenticador não pode pedir uma senha única de ordem superior (N+x) com a mesma semente. MRSC > SSR > sist_aut_v3.1 34 17

RSA SecurID Desenvolvido pela RSA Security One-time password: gera uma senha diferente em cada minuto (tokencode) Two-factor authentication (como nos cartões multibanco) Ter: o testemunho (token) Saber: um PIN Um testemunho por utilizador Pode ser um cartão, ou um módulo de software (disponível para telemóveis, palmtops, PCs Windows ) MRSC > SSR > sist_aut_v3.1 35 RSA SecurID O tokencode é o resumo gerado através do algoritmo de síntese SecurID Hash (proprietário) que tem como parâmetros de entrada: Hora, Chave simétrica de 64 bits (elevada entropia dificulta ataques) O tokencode é apresentado periodicamente (1/60s) no visor do testemunho Sempre que o utilizador tiver que se autenticar num dado serviço introduz o UserID e uma senha: passcode = PIN + tokencode (concatenação) Servidor de autenticação (RSA ACE/Server) conhece o passcode. Pois conhece PIN, chave simétrica e hora Relógios sincronizados Aplicável a qualquer serviço de autenticação convencional do tipo utilizador/senha. Ex: webmail, telnet. MRSC > SSR > sist_aut_v3.1 36 18

RAM ROM SmartCard Tipicamente para assinaturas digitais baseadas em PKI X.509 Guarda certificado X.509 + chave assimétrica privada (nunca sai do smartcard) Implementa operações de assinatura digital e leitura do certificado X.509 No caso de acesso biométrico ao smartcard tem de guardar registos biométricos (Match On Card -MOC) Assinatura Digital $%&;: &%:- # Resumo 0%3k$ 5?)/&- 0%3k$n 5?)/&-# CPU + processor criptográfico EEPROM PIN ou Impressão digital para aceder ao Smartcard MRSC > SSR > sist_aut_v3.1 37 19