© André Zúquete Segurança Informática e nas Organizações 1
Protocolos de autentica
Protocolos de autentica
Protocolos de autentica
Protocolos de autenticação
ção
ção
ção
Autenticação
Autenticação
Autenticação
Autenticaçã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
© André Zúquete Segurança Informática e nas Organizações 3
Autenticação:
Autenticação:
Autenticação:
Autenticação:
Objectivos
Objectivos
Objectivos
Objectivos
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 Autenticação: Autenticação: Autenticação: Autenticação: Requisitos Requisitos Requisitos Requisitos 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
© 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ção Entidades e modelos de implantação Entidades e modelos de implantação Entidades 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 Protocolos de autenticação: Protocolos de autenticação: Protocolos de autenticação: Protocolos de autenticação: Aproximações elementares Aproximações elementares Aproximações elementares Aproximaçõ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
© 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 memorizada Aproximação direta com senha memorizada Aproximação direta com senha memorizada Aproximaçã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 a
senha + 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(DESkn-1(x))
Permutação of 12 bit pairs of 48-bit key schedules with salt (12 bits)
0 DES (1) pwd salt DES (25) pwd salt DES (2) pwd salt = ? Autenticação de pessoas: Autenticação de pessoas: Autenticação de pessoas: Autenticação de pessoas:
Aproximação direta com Biometria Aproximação direta com Biometria Aproximação direta com Biometria Aproximaçã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
© 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 Biometria Aproximação direta com Biometria Aproximação direta com Biometria Aproximaçã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
Autenticação de pessoas: Autenticação de pessoas: Autenticação de pessoas: Autenticação de pessoas:
Aproximação directa com senhas descartáveis Aproximação directa com senhas descartáveis Aproximação directa com senhas descartáveis Aproximaçã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
© André Zúquete Segurança Informática e nas Organizações 11 Exemplo: Exemplo: Exemplo: Exemplo: RSA SecurID RSA SecurID RSA SecurID RSA 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
Aproximação com desafio Aproximação com desafio Aproximação com desafio
Aproximação com desafio----resposta:resposta:resposta:resposta: Descrição genérica
Descrição genérica Descrição genérica Descriçã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
© 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: Desafio Desafio Desafio
Desafio----resposta com resposta com resposta com resposta com
smartcards
smartcards
smartcards
smartcards
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 smartcardcifra 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
Autenticação de pessoas: Autenticação de pessoas: Autenticação de pessoas: Autenticação de pessoas: Desafio DesafioDesafio
Desafio----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
© André Zúquete Segurança Informática e nas Organizações 15 PAP e CHAP PAP e CHAP PAP e CHAP PAP 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, desafio
U Aut:authID, MD5(authID, senha, desafio), identidade
Aut U:authID, OK/not OK
O autenticador pode requerer a autenticação em qualquer
instante
MS MS MS
MS----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 1 A U:authID, C U A:R A U:OK/not OK R = DESPH(C) PH = LMPH ou NTPH LMPH = DEShash(senha) NTPH = senha Version 2 A U:authID, CA m1 U A:CU, Ru m2 A 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
MS
MS
MS
MS----CHAP v2
CHAP v2
CHAP v2
CHAP v2
© André Zúquete Segurança Informática e nas Organizações 17
DES CA SHA-1 CU nome senha MD4 RU RA SHA-1 SHA-1 MD4 m1 m2 C nome m1 = AuthID, CA m2 = CU,RU ok/nok, RA S/Key S/Key S/Key S/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 OTPncomo elementos de validação da autenticidade MD4 MD4 MD4 semente senha OTP 1 OTP2 OTPn MD4
© André Zúquete Segurança Informática e nas Organizações 19
S/Key:
S/Key:
S/Key:
S/Key:
Protocolo
Protocolo
Protocolo
Protocolo de
de
de
de autenticação
autenticação
autenticação
autenticação
O autenticador envia a semente e o índicepessoais
Servem como desafio
O utente gera índice-1OTP consecutivas
E seleciona a última, OTPíndice-1, como resultado
O autenticador calcula h(resultado)e compara o valor
produzido com o OTPíndiceque 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-1e OTPíndice-1
Autenticação de pessoas:
Autenticação de pessoas:
Autenticação de pessoas:
Autenticação de pessoas:
Desafio
Desafio
Desafio
Desafio----resposta com chave partilhada
resposta com chave partilhada
resposta com chave partilhada
resposta 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:
© André Zúquete Segurança Informática e nas Organizações 21
GSM:
GSM:
GSM:
GSM:
Arquitetura
Arquitetura
Arquitetura
Arquitetura de
de
de
de Autenticação
Autenticação
Autenticação
Autenticaçã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
GSM:
GSM:
GSM:
GSM:
Autenticação de um terminal móvel
Autenticação de um terminal móvel
Autenticação de um terminal móvel
Autenticaçã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
© André Zúquete Segurança Informática e nas Organizações 23
Autenticação de máquinas
Autenticação de máquinas
Autenticação de máquinas
Autenticaçã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
Autenticação
Autenticação
Autenticação
Autenticação de
de
de
de serviços
serviços
serviços
serviços ////servidores
servidores
servidores
servidores
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
© André Zúquete Segurança Informática e nas Organizações 25
TLS (
TLS (
TLS (
TLS (Transport Layer Security, RFC 2246
Transport Layer Security, RFC 2246
Transport Layer Security, RFC 2246
Transport Layer Security, RFC 2246):):):):
Objetivos
Objetivos
Objetivos
Objetivos
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
SSL/TLS SSL/TLS SSL/TLS SSL/TLS:::: Diagrama de Diagrama de Diagrama de
© André Zúquete Segurança Informática e nas Organizações 27 SSL/TLS SSL/TLS SSL/TLS SSL/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)
SSH (Secure Shell
SSH (Secure Shell
SSH (Secure Shell
SSH (Secure Shell):):):):
Objetivos
Objetivos
Objetivos
Objetivos
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
© André Zúquete Segurança Informática e nas Organizações 29
SSH:
SSH:
SSH:
SSH:
Mecanismos de autenticação
Mecanismos de autenticação
Mecanismos de autenticação
Mecanismos 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