protocolos de autenticaprotocolos de...
TRANSCRIPT
1
© André Zúquete Segurança Informática e nas Organizações 1
Protocolos de autenticaProtocolos de autenticaProtocolos de autenticaProtocolos de autenticaçãoçãoçãoção
© André Zúquete Segurança Informática e nas Organizações 2
AutenticaçãoAutenticaçãoAutenticaçãoAutenticação
� Definição� Prova de que uma entidade é quem afirma ser
— Olá, sou o Zé— Prova-o!— Aqui estão as minhas credenciais de como sou o Zé— Credenciais aceites/não aceites
� Tipos de prova� Algo que sabemos
� Um segredo memorizado (ou escrito…) pelo Zé� Algo que temos
� Um objecto possuído apenas pelo Zé� Algo que somos
� A biometria do Zé� Autenticação multimétodo
� Mais do que um tipo de prova
2
© André Zúquete Segurança Informática e nas Organizações 3
Autenticação:Autenticação:Autenticação:Autenticação:ObjectivosObjectivosObjectivosObjectivos
� Autenticar entidades interatuantes� Pessoas, serviços, servidores, máquinas, redes, etc.
� Permitir a aplicação de políticas e mecanismos de autorização� Autorização ⇒ autenticação
� Apoiar outras ações no âmbito da segurança� eg. distribuição de chaves para comunicação segura
© André Zúquete Segurança Informática e nas Organizações 4
Autenticação:Autenticação:Autenticação:Autenticação:RequisitosRequisitosRequisitosRequisitos
� Confiança� Quão boa é a provar a identidade de uma entidade?� Quão difícil é de subverter?
� Secretismo� Não-divulgação de credenciais usadas pelas entidades legítimas
� Robustez� Impedir ataques às trocas de dados do protocolo� Impedir cenários de DoS interactivos� Impedir ataques desligados com dicionários
� Simplicidade� Deverá ser tão simples quanto possível para evitar que os utentes
escolham simplificações perigosas� Lidar com vulnerabilidades introduzidas pelas pessoas
� Têm uma tendência natural para facilitar ou para tomarem iniciativas perigosas
3
© André Zúquete Segurança Informática e nas Organizações 5
Autenticação:Autenticação:Autenticação:Autenticação:Entidades e modelos de implantaçãoEntidades e modelos de implantaçãoEntidades e modelos de implantaçãoEntidades e modelos de implantação
� Entidades� pessoa� Máquinas� Redes� Serviços / servidores
� Modelos de implantação� Ao longo do tempo
� Quando a interação se inicia
� Continuamente ao longo da interação
� Direcionalidade� Unidirecional� Bidirecional
© André Zúquete Segurança Informática e nas Organizações 6
Protocolos de autenticação:Protocolos de autenticação:Protocolos de autenticação:Protocolos de autenticação:Aproximações elementaresAproximações elementaresAproximações elementaresAproximações elementares
� Aproximação directa� Apresentar credenciais� Esperar pelo veredicto
� Aproximação com desafio-resposta� Obter desafio� Calcular e fornecer uma resposta calculada com base no desafio e nas credenciais
� Esperar pelo veredicto
4
© André Zúquete Segurança Informática e nas Organizações 7
Autenticação de pessoas:Autenticação de pessoas:Autenticação de pessoas:Autenticação de pessoas:Aproximação direta com senha memorizadaAproximação direta com senha memorizadaAproximação direta com senha memorizadaAproximação direta com senha memorizada
� Como funciona� A senha é confrontada com um valor guardado para a pessoa que se
está a autenticar� Valor pessoal guardado:
� Transformação efetuada com asenha + função unidirecional
� DES hash + salt em UNIX� Função de síntese em Windows� MD5 em Linux
� vantagens� Simplicidade
� Problemas� Utilização de senhas fracas/inseguras
� Permitem ataques com dicionários� Transmissão de senhas em claro em canais de comunicação inseguros
� Escutas podem revelar senhas� eg. serviços remotos do UNIX, PAP
DES hash = DESpwd25(0)
DESkn(x) = DESk(DESk
n-1(x))
Permutação of 12 bit pairs of 48-bit key schedules with salt (12 bits)
0DES(1)
pwd
salt
DES(25)
pwd
salt
DES(2)
pwd
salt= ?
© André Zúquete Segurança Informática e nas Organizações 8
Autenticação de pessoas:Autenticação de pessoas:Autenticação de pessoas:Autenticação de pessoas:Aproximação direta com BiometriaAproximação direta com BiometriaAproximação direta com BiometriaAproximação direta com Biometria
� Como funciona� Uma pessoa autentica-se usando medidas do seu corpo
� Avaliações biométricas� Impressão digital, íris, geometria da face, timbre vocal, escrita
manual, etc.� Estas medidas são comparadas com um registo pessoal similar
� Referência biométrica� Criado no sistema de forma similar mas no âmbito de uma
inscrição anterior� Vantagens
� As pessoas não precisam de memorizar nada� Só precisam de ser elas mesmo
� As pessoas não podem escolher senhas fracas� De facto, não escolhem nada
� As credenciais não podem ser transferidas entre pessoas� Não é possível delegar a autenticação própria
5
© André Zúquete Segurança Informática e nas Organizações 9
Autenticação de pessoas:Autenticação de pessoas:Autenticação de pessoas:Autenticação de pessoas:Aproximação direta com BiometriaAproximação direta com BiometriaAproximação direta com BiometriaAproximação direta com Biometria
� Problemas� A biométrica ainda está incipiente
� Em muitos casos pode ser enganada facilmente� As pessoas não podem mudar de credenciais
� Caso estas sejam roubadas� As credenciais não podem ser transferidas entre pessoas
� Caso seja necessário em situações excecionais� Pode criar riscos para as pessoas
� Remoção de partes do corpo para personificação da vítima� Não é fácil efetuar autenticação remota
� É preciso confiar na infraestrutura remota de aquisição de dados biométricos
� A biometria pode revelar informação pessoal sensível� Doenças
© André Zúquete Segurança Informática e nas Organizações 10
Autenticação de pessoas:Autenticação de pessoas:Autenticação de pessoas:Autenticação de pessoas:Aproximação directa com senhas descartáveisAproximação directa com senhas descartáveisAproximação directa com senhas descartáveisAproximação directa com senhas descartáveis
� Senhas descartáveis (one-time passwords)� Senhas que se podem usar no máximo uma vez
� Vantagens� Pode ser escutadas, isso não adianta a quem o fizer para personificar o dono da senha
� Problemas� As entidades interatuantes precisam de saber que senhas devem usar em diferentes ocasiões� Implica uma qualquer forma de sincronização
� As pessoas podem precisar de recursos extra para manter ou gerar as senhas descartáveis� Folha de papel, programa de computador, dispositivos
adicionais, etc.
6
© André Zúquete Segurança Informática e nas Organizações 11
Exemplo:Exemplo:Exemplo:Exemplo:RSA SecurIDRSA SecurIDRSA SecurIDRSA SecurID
� Equipamento de autenticação pessoal� Há também módulos de software para dispositivos móveis (PDAs, smartphones)
� Geram um número único a uma taxa fixa� Normalmente um por cada minuto ou meio minuto� Associado a uma pessoa (User ID)� Número único calculado com base em
� Uma chave de 64 bits guardada no equipamento� A data/hora actual� Uma algoritmo exclusivo (SecurID hash)� Um PIN extra (apenas para alguns equipamentos)
� Autenticação com senhas únicas� Uma pessoa gera uma OTP combinando o seu User ID com o número apresentado
pelo equipamento� OTP = User ID, Token Number
� Um RSA ACE Server faz o mesmo, dado o User ID, e verifica e igualdade� Também conhece a chave pessoa guardada no equipamento� Tem de haver alguma sincronização extra para lidar com desvios dos relógios
� RSA Security Time Synchronization
� Robusta contra ataques com dicionários� As chaves não são escolhidas por pessoas
© André Zúquete Segurança Informática e nas Organizações 12
Aproximação com desafioAproximação com desafioAproximação com desafioAproximação com desafio----resposta:resposta:resposta:resposta:Descrição genéricaDescrição genéricaDescrição genéricaDescrição genérica
� Como funciona� O autenticador fornece um desafio� A entidade a ser autenticada transforma o desafio usando as suas
credenciais de autenticação� O resultado é enviado para o autenticador� O autenticador verifica o resultado
� Produz um resultado próprio usando a mesma aproximação e verifica a igualdade� Produz um valor a partir do resultado e verifica se iguala o desafio ou algum valor
relacionado� Vantagem
� As credenciais de autenticação não são expostas� Problemas
� As pessoas tem de ter meios para calcular respostas a partir de desafios� Hardware ou software
� O autenticador poderá ter de manter segredos partilhados� Como é que se pode impedir que usem esses segredos noutros locais?
� Ataques com dicionários autónomos usando pares desafio-resposta� Conseguem revelar o segredo usado para calcular a resposta
7
© André Zúquete Segurança Informática e nas Organizações 13
Autenticação de pessoas:Autenticação de pessoas:Autenticação de pessoas:Autenticação de pessoas:DesafioDesafioDesafioDesafio----resposta com resposta com resposta com resposta com smartcardssmartcardssmartcardssmartcards
� Credenciais de autenticação� O smartcard
� eg. o Cartão de Cidadão� A chave privada guardada no smartcard� O PIN de acesso à chave privada
� O autenticador sabe� A chave pública correspondente
� Protocolo com desafio-resposta� O autenticador gera um desafio aleatório
� Ou um valor nunca antes usado (nonce)� O dono do smartcard cifra o desafio com a sua chave privada
� Guardada no smartcard, protegida pelo PIN� O autenticador decifra o resultado com a chave pública
� Se o resultado for igual ao desafio, a autenticação teve sucesso
© André Zúquete Segurança Informática e nas Organizações 14
Autenticação de pessoas: Autenticação de pessoas: Autenticação de pessoas: Autenticação de pessoas: DesafioDesafioDesafioDesafio----resposta com senha memorizadaresposta com senha memorizadaresposta com senha memorizadaresposta com senha memorizada
� Credenciais de autenticação� Senha selecionada pelo utente
� O autenticador sabe� Uma transformação da senha
� Preferencialmente unidirecional� Protocolo com desafio-resposta elementar
� O autenticador gera um desafio aleatório� Ou nunca antes usado (nonce)
� O utente calcula uma transformação do desafio e da senha� eg. uma síntese comum, resposta = síntese (desafio, senha)
� O autenticador faz o mesmo (ou o inverso)� Se os resultados forem iguais, a autenticação teve sucesso
� Exemplos� CHAP, MS-CHAP v1/v2, S/Key
8
© André Zúquete Segurança Informática e nas Organizações 15
PAP e CHAPPAP e CHAPPAP e CHAPPAP e CHAP(RFC 1334, 1992, RFC 1994, 1996)(RFC 1334, 1992, RFC 1994, 1996)(RFC 1334, 1992, RFC 1994, 1996)(RFC 1334, 1992, RFC 1994, 1996)
� Protocolos usados com PPP (Point-to-Point Protocol)� Autenticação unidirecional
� O autenticador não se autentica, ou não é autenticado� PAP (PPP Authentication Protocol)
� Apresentação simples de um par UID/senha� Transmissão (insegura) da senha em claro
� CHAP (CHallenge-response Authentication Protocol)Aut � U: authID, desafioU � Aut: authID, MD5(authID, senha, desafio), identidadeAut � U: authID, OK/not OK
� O autenticador pode requerer a autenticação em qualquer instante
© André Zúquete Segurança Informática e nas Organizações 16
MSMSMSMS----CHAP (Microsoft CHAP)CHAP (Microsoft CHAP)CHAP (Microsoft CHAP)CHAP (Microsoft CHAP)(RFC 2433, 1998, RFC 2759, 2000)(RFC 2433, 1998, RFC 2759, 2000)(RFC 2433, 1998, RFC 2759, 2000)(RFC 2433, 1998, RFC 2759, 2000)
� Version 1A � U: authID, CU � A: RA � U: OK/not OK
R = DESPH (C)PH = LMPH ou NTPH
LMPH = DEShash(senha)NTPH = senha
� Version 2A � U: authID, CA m1U � A: CU , Ru m2A � U: OK/not OK, RA
RU = DESPH (C)C = SHA(CU, CA, username)PH = MD4(senha)RA = SHA(SHA(MD4(PH), R1u, m1), C, m2)
� Autenticação mútua� As senhas podem ser alteradas
9
MSMSMSMS----CHAP v2CHAP v2CHAP v2CHAP v2
© André Zúquete Segurança Informática e nas Organizações 17
DESCA SHA-1
CU
nome
senha MD4
RU
RA SHA-1 SHA-1 MD4
m1m2
C
nome
m1 = AuthID, CA
m2 = CU,RU
ok/nok, RA
© André Zúquete Segurança Informática e nas Organizações 18
S/KeyS/KeyS/KeyS/Key(RFC 2289, 1998)(RFC 2289, 1998)(RFC 2289, 1998)(RFC 2289, 1998)
� Credenciais de autenticação� A senha
� O autenticador sabe� A última chave única (one-time password, OTP)� O índice da última OTP usada
� Define a ordem relativa entre OTP consecutivas� Uma semente (ou raiz) de todas as OTP
� Preparação do autenticador� O autenticador define uma semente aleatória� A pessoa gera a OTP inicial (OTPn) da seguinte forma:
OTPn = hn ( semente, senha ), where h = MD4� Há versões do S/Key que usam MD5 ou SHA-1 em vez de MD4
� O autenticador guarda semente, n (o índice) e OTPn como elementos de validação da autenticidade
MD4 MD4 MD4semente
senha OTP1 OTP2 OTPn
MD4
10
© André Zúquete Segurança Informática e nas Organizações 19
S/Key:S/Key:S/Key:S/Key:ProtocoloProtocoloProtocoloProtocolo de de de de autenticaçãoautenticaçãoautenticaçãoautenticação
� O autenticador envia a semente e o índice pessoais� Servem como desafio
� O utente gera índice-1 OTP consecutivas� E seleciona a última, OTPíndice-1, como resultado
� O autenticador calcula h(resultado) e compara o valor produzido com o OTPíndice que tem armazenado� Se h(resultado)=OTPíndice, sucesso� Em caso de sucesso, guarda os últimos valores usados para o índice e para a OTP� índice-1 e OTPíndice-1
© André Zúquete Segurança Informática e nas Organizações 20
Autenticação de pessoas:Autenticação de pessoas:Autenticação de pessoas:Autenticação de pessoas:DesafioDesafioDesafioDesafio----resposta com chave partilhadaresposta com chave partilhadaresposta com chave partilhadaresposta com chave partilhada
� Usa uma chave criptográfica partilhada em vez de uma senha� Mais robusto contra ataques de dicionário� Requer um dispositivo para guardar a chave
� Exemplo:� GSM
11
© André Zúquete Segurança Informática e nas Organizações 21
GSM:GSM:GSM:GSM:ArquiteturaArquiteturaArquiteturaArquitetura de de de de AutenticaçãoAutenticaçãoAutenticaçãoAutenticação
� Baseada numa chave secreta partilhada entre o HLR e o telefone móvel� 128 Ki, guardada no cartão SIM do telefone móvel� Só pode ser usada após a introdução do PIN de desbloqueio
� Algoritmos (inicialmente não públicos):� A3 para autenticação� A8 para gerar a chave de sessão� A5 para cifrar a comunicação
� A3 e A8 realizados pelo cartão SIM� Podem ser escolhidos pelo operador
© André Zúquete Segurança Informática e nas Organizações 22
GSM:GSM:GSM:GSM:Autenticação de um terminal móvelAutenticação de um terminal móvelAutenticação de um terminal móvelAutenticação de um terminal móvel
� MSC pede trio ao HLR/AUC� RAND, SRES, Kc� Na prática pedem-se
vários� HLR gera RAND e o correspondente trio usando Ki do subscritor
� RAND, valor aleatório (128 bits) � SRES = A3 (Ki, RAND) (32 bits) � Kc = A8 (Ki, RAND) (64 bits)
� Normalmente usa-se COMP128 para o A3/A8� Recomendada pelo GSM Consortium� [SRES, Kc] = COMP128 (Ki, RAND)
12
© André Zúquete Segurança Informática e nas Organizações 23
Autenticação de máquinasAutenticação de máquinasAutenticação de máquinasAutenticação de máquinas
� Por nome ou endereço� Nome DNS, endereço IP, endereço MAC, outros� Extremamente fraco, sem prova criptográfica
� Mesmo assim, usada por alguns serviços� eg. NFS, TCP wrappers
� Com chaves criptográficas� Chaves secretas partilhadas com interlocutores usuais
� Pares de chaves assimétricas por máquina� Chaves públicas pré-partilhadas com interlocutores comuns� Chaves públicas certificadas por terceiros
© André Zúquete Segurança Informática e nas Organizações 24
AutenticaçãoAutenticaçãoAutenticaçãoAutenticação de de de de serviçosserviçosserviçosserviços ////servidoresservidoresservidoresservidores
� Autenticação da máquina hospedeira� Todos os serviços co-localizados são automaticamente e indirectamente autenticados
� Credenciais próprias do serviço� Autenticação:
� Chaves secretas partilhadas com clientes� Quando envolvem a autenticação dos clientes com as
mesmas� Pares de chaves assimétricas por máquina/serviço
� Certificadas por terceiros ou não
13
© André Zúquete Segurança Informática e nas Organizações 25
TLS (TLS (TLS (TLS (Transport Layer Security, RFC 2246Transport Layer Security, RFC 2246Transport Layer Security, RFC 2246Transport Layer Security, RFC 2246):):):):ObjetivosObjetivosObjetivosObjetivos
� Protocolo de comunicação segura sobre TCP/IP� Padrão criado a partir do SSL V3 (Secure Sockets Layer)� Gere sessões seguras sobre TCP/IP por aplicação
� Inicialmente concebido para tráfego HTTP� Atualmente usado para outros tráfegos
� Mecanismos de segurança� Confidencialidade e integridade da comunicação
� Distribuição de chaves� Autenticação de interlocutores
� Servidores (ou, usualmente, serviços)� Utilizadores cliente� Ambas realizadas com chaves assimétricas e certificados X.509
© André Zúquete Segurança Informática e nas Organizações 26
SSL/TLSSSL/TLSSSL/TLSSSL/TLS::::Diagrama de Diagrama de Diagrama de Diagrama de interações interações interações interações (1ª parte)(1ª parte)(1ª parte)(1ª parte)
14
© André Zúquete Segurança Informática e nas Organizações 27
SSL/TLSSSL/TLSSSL/TLSSSL/TLS::::Diagrama de Diagrama de Diagrama de Diagrama de interações interações interações interações (2ª parte)(2ª parte)(2ª parte)(2ª parte)
© André Zúquete Segurança Informática e nas Organizações 28
SSH (Secure ShellSSH (Secure ShellSSH (Secure ShellSSH (Secure Shell):):):):ObjetivosObjetivosObjetivosObjetivos
� Alternativa ao protocolo/aplicação Telnet� Gere consolas seguras sobre TCP/IP� Inicialmente concebido para substituir o telnet� Atualmente usado para outras aplicações
� Execução segura de comandos remotamente (rsh/rexec)� Cópia segura de conteúdos de/para máquinas remotas (rcp) � FTP (sftp)� Criação de túneis seguros
� Mecanismos de segurança� Confidencialidade e integridade da comunicação
� Distribuição de chaves� Autenticação de interlocutores
� Servidores / máquinas� Utilizadores cliente� Ambas realizadas com técnicas diferenciadas
15
© André Zúquete Segurança Informática e nas Organizações 29
SSH:SSH:SSH:SSH:Mecanismos de autenticaçãoMecanismos de autenticaçãoMecanismos de autenticaçãoMecanismos de autenticação
� Servidor: com um par de chaves assimétricas� Distribuição da chave pública no âmbito da interação
� Não certificadas!� Os clientes guardam as chaves públicas que já usaram
� A guarda deve ocorrer num ambiente confiável� A alteração do par de chaves do servidor cria um problema
aos seus utentes habituais� Utentes clientes: é configurável
� Nome de utente + senha� Por omissão
� Nome de utente + chave privada� A chave pública tem de ser pré-instalada no servidor