protocolos de autenticaprotocolos de...

15
1 © 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 © André Zúquete Segurança Informática e nas Organizações 2 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 Mais do que um tipo de prova

Upload: others

Post on 21-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Protocolos de autenticaProtocolos de ...sweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/5-auth.protocols.pdf · 3 © André Zúquete Segurança Informática e nas Organizações 5

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

Page 2: Protocolos de autenticaProtocolos de ...sweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/5-auth.protocols.pdf · 3 © André Zúquete Segurança Informática e nas Organizações 5

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

Page 3: Protocolos de autenticaProtocolos de ...sweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/5-auth.protocols.pdf · 3 © André Zúquete Segurança Informática e nas Organizações 5

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

Page 4: Protocolos de autenticaProtocolos de ...sweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/5-auth.protocols.pdf · 3 © André Zúquete Segurança Informática e nas Organizações 5

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

Page 5: Protocolos de autenticaProtocolos de ...sweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/5-auth.protocols.pdf · 3 © André Zúquete Segurança Informática e nas Organizações 5

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.

Page 6: Protocolos de autenticaProtocolos de ...sweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/5-auth.protocols.pdf · 3 © André Zúquete Segurança Informática e nas Organizações 5

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

Page 7: Protocolos de autenticaProtocolos de ...sweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/5-auth.protocols.pdf · 3 © André Zúquete Segurança Informática e nas Organizações 5

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

Page 8: Protocolos de autenticaProtocolos de ...sweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/5-auth.protocols.pdf · 3 © André Zúquete Segurança Informática e nas Organizações 5

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

Page 9: Protocolos de autenticaProtocolos de ...sweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/5-auth.protocols.pdf · 3 © André Zúquete Segurança Informática e nas Organizações 5

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

Page 10: Protocolos de autenticaProtocolos de ...sweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/5-auth.protocols.pdf · 3 © André Zúquete Segurança Informática e nas Organizações 5

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

Page 11: Protocolos de autenticaProtocolos de ...sweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/5-auth.protocols.pdf · 3 © André Zúquete Segurança Informática e nas Organizações 5

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)

Page 12: Protocolos de autenticaProtocolos de ...sweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/5-auth.protocols.pdf · 3 © André Zúquete Segurança Informática e nas Organizações 5

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

Page 13: Protocolos de autenticaProtocolos de ...sweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/5-auth.protocols.pdf · 3 © André Zúquete Segurança Informática e nas Organizações 5

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)

Page 14: Protocolos de autenticaProtocolos de ...sweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/5-auth.protocols.pdf · 3 © André Zúquete Segurança Informática e nas Organizações 5

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

Page 15: Protocolos de autenticaProtocolos de ...sweet.ua.pt/andre.zuquete/Aulas/SIO/14-15/docs/5-auth.protocols.pdf · 3 © André Zúquete Segurança Informática e nas Organizações 5

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