Este documento fornece informações sobre segurança de redes, incluindo criptografia, autenticação, integridade de mensagens e firewalls. Ele discute os protocolos de Alice e Bob para comunicação segura e como intrusos como Trudy podem ameaçar a segurança. Também explica como criptografia simétrica e de chave pública, assim como hashes e certificados digitais, podem proteger a comunicação.
2. 2
Esclarecimentos
Esse material é de apoio para as aulas da disciplina e não substitui a
leitura da bibliografia básica.
Os professores da disciplina irão focar alguns dos tópicos da
bibliografia assim como poderão adicionar alguns detalhes não
presentes na bibliografia, com base em suas experiências
profissionais.
O conteúdo de slides com o título “Comentário” seguido de um texto,
se refere a comentários adicionais ao slide cujo texto indica e tem por
objetivo incluir alguma informação adicional aos conteúdo do slide
correspondente.
Bibliografia básica: KUROSE, James F.; ROSS, Keith. Redes de
Computadores e a INTERNET - Uma nova abordagem. Pearson. : ,
2004.
3. 3
O que é Segurança na Rede?
Confidencialidade (Sigilo): apenas o remetente e o destinatário
pretendido devem “entender” o conteúdo da mensagem.
remetente cifra (codifica) msg.
destinatário decifra (decodifica) msg.
Autenticação: destinatário quer confirmar a identidade do remetente.
Integridade e não-repudiação de Mensagem: remetente e destinatário
querem garantir que a mensagem recebida não foi alterada (em
trânsito ou após) e isto seja detectado caso ocorra. Caso seja
considerada íntegra, não deverá ser repudiada (negada) pelo
destinatário.
Disponibilidade e Controle de Acesso: os serviços devem estar
acessíveis e disponíveis para os usuários.
4. 4
Amigos e Inimigos: Alice, Bob e Trudy
Bob e Alice (amantes!) querem se comunicar de modo “seguro”.
Trudy, a “intrusa” pode interceptar, apagar e/ou acrescentar
mensagens.
Quem são Alice e Bob:
Browser/servidor web para transações eletrônicas (ex., compras
on-line).
Cliente/servidor home banking.
Servidores DNS.
Roteadores trocando atualizações de tabelas de roteamento.
5. 5
Há muitos criminosos digitais por aí!
P: O que eles podem fazer?
R: um monte de coisas!
grampo: interceptação de mensagens.
inserir ativamente mensagens na conexão.
falsidade ideológica: pode imitar/falsificar endereço de origem de
um pacote (ou qualquer campo de um pacote).
seqüestro: assumir conexão em andamento removendo o
transmissor ou o receptor, colocando-se no lugar.
negação de serviço: impede que o serviço seja usado por outros
(ex. sobrecarregando os recursos).
6. 6
Criptografia de chaves simétricas
Código de substituição: substitui um caractere por outro:
Código monoalfabético: substitui uma letra por outra.
Texto aberto: abcdefghijklmnopqrstuvwxyz
Texto cifrado:mnbvcxzasdfghjklpoiuytrewq
Texto aberto: bob. eu te amo. Alice
Texto cifrado: nkn. cy uc mhk. mgsbc
Criptografia de chave simétrica: Bob e Alice compartilham a mesma
chave (simétrica): KA-B.
Chave KA-B onde KA =
KB
7. 7
Criptografia de chave simétrica
DES - Data Encryption Standard
Padrão americano de cifragem [NIST 1993].
Tornando o DES mais seguro: 3-DES (Tripple DES)
Criptografa a mensagem repetindo o processo usando três
chaves seqüencialmente (3-DES) (é usado no PPP [RFC
2420]).
AES – Advanced Encription Standard
Algoritmo de chave simétrica padronizada pelo NIST, para
substituir o DES (Nov. 2001).
8. 8
Criptografia de chave pública
A criptografia de chaves simétricas requer que o remetente e
destinatário compartilhem a mesma chave secreta.
Criptografia de chave pública (visando comunicação com Sigilo):
Abordagem é radicalmente diferente [Diffie-Hellman76, RSA78].
Remetente e destinatário não compartilham uma mesma chave
privada (secreta).
A chave de cifragem é pública (conhecida por todos).
A chave de decifragem é privada (conhecida apenas pelo
destinatário).
Comunicação
com SIGILO
9. 9
Autenticação (reconhecer o remetente)
Objetivo: Bob quer que Alice “prove” sua identidade para ele.
Protocolo ap1.0: Alice diz “Eu sou Alice”.
Cenário de falha??
Sim, Trudy pode dizer: “Eu sou Alice”. Bob pode ser confundido.
10. 10
Autenticação: outra tentativa
Protocolo ap2.0: Alice diz “Eu sou Alice” e envia seu endereço IP junto
como prova.
Cenário de falha??
Sim, Trudy pode criar um pacote “trapaceando” (IP spoofing) o
endereço de Alice.
IP spoofing
11. 11
Autenticação: outra tentativa (cont.)
Protocolo ap3.0: Alice diz “Eu sou Alice” e envia sua senha secreta
como prova.
Cenário de falha??
Sim: Ataque de playback: Trudy grava o pacote de Alice e depois o
envia de volta para Bob.
12. 12
Autenticação: ainda uma outra tentativa
Protocolo ap3.1: Alice diz “Eu sou Alice” e envia a sua senha secreta
cifrada como “prova”.
Gravar e reproduzir ainda funciona! É possível o ataque de playback.
senha
cifrada
end IP “Sou Alice”
de Alice
end IP OK
de Alice
senha
cifrada
end IP “Sou Alice”
de Alice
13. 13
Autenticação: ainda uma outra tentativa
Meta: evitar ataque de reprodução
(playback).
Nonce: número (R) usado apenas uma
vez na vida.
ap4.0: para provar que Alice “está ao
vivo”, Bob envia a Alice um nonce. Alice
deve devolver R, criptografado com a
chave secreta comum.
Alice está ao vivo e apenas Alice
conhece a chave para criptografar o
nonce, então ela deve ser Alice!
14. 14
Autenticação: Assinaturas Digitais
Técnica criptográfica análoga às assinaturas à mão.
Remetente (Bob) assina digitalmente o documento, atestando que ele
é o dono/criador do documento.
Verificável, não forjável: destinatário (Alice) pode verificar que Bob e
ninguém mais assinou o documento.
Assinatura digital simples para a mensagem m:
Bob assina mensagem “m” cifrando-a com a sua chave privada
“K”, criando mensagem “assinada”, K (m).
15. 15 Integridade das mensagens:
Função Hash (Resumo de mensagens)
Meta: integridade da mensagem
ao acrescentar um pacote de
comprimento fixo facilmente
computável. Para verificação de
Integridade ou “impressão
digital” da informação.
Aplicar função hash H à
mensagem m, para obter um
resumo de tamanho fixo, H(m).
Propriedades das funções de
Hash:
O resultado do cálculo da
função Hash pode ser igual
para mensagems m
diferentes (Muitas-para-1).
Não é uma função 1 para 1.
Produz um resumo da
mensagem de tamanho fixo
(impressão digital).
Dado um resumo da
mensagem x, é
computacionalmente
impraticável encontrar m tal
que x = H(m). Só permite
validar e não recuperar erro.
16. 16
Algoritmos para gerar a Função de Hash
MD5 (RFC 1321) (1991).
Está quebrada desde 2005.
SHA-1 (1995).
padrão americano [NIST, FIPS PUB 180-1].
Está quebrada desde 2005.
SHA-2 (variação do SHA-1).
WHIRLPOOL.
Algorítmo brasileiro-belga (padrão Comunidade Européia e
Asiática).
17. 17 Assinatura digital c/ Função Hash:
Assinatura do resumo da mensagem
Bob envia mensagem assinada
digitalmente ao criptografar o
Hash da mensagem com sua
senha privada:
Alice verifica a assinatura e a
integridade da mensagem
assinada digitalmente:
Mensagem
grande
m H: função
de Hash H(m)
assinatura
digital
(criptografada)
chave
privada
de Bob K B -
resumo de msg
criptogrado
+ KB -(H(m))
resumo de msg
criptografado
K-B(H(m))
mensagem
grande
m
H: função
de Hash
H(m)
assinatura
digital
(decriptografada)
H(m)
chave
pública
de Bob K B +
igual?
18. 18
Intermediários de confiança
Problema com chave simétrica
Como duas entidades
escolhem chave secreta
compartilhada pela rede?
Solução:
Centro confiável de
Distribuição de chaves (KDC
– Key Distribution Center)
agindo como intermediário
entre as entidades que
querem manter
comunicação segura. O
KDC autentica as entidades.
Problema com chave pública:
Quando Alice obtém a
chave pública de Bob (da
web, e-mail ou disquete),
como ela vai saber se a
chave pública é mesmo de
Bob e não de Trudy?
Solução:
Autoridade Certificadora
(CA) confiável.
CA armazena as chaves
públicas e disponibiliza-as
aos solicitantes.
19. 19
Autoridades Certificadoras (1/2)
Autoridade certificadora (CA): associa uma chave pública a uma
entidade em particular, denominada “E”.
“E” (pessoa ou roteador) registra sua chave pública com CA:
“E” fornece “prova de identidade” ao CA.
CA cria um certificado associando “E” a sua chave pública.
CA emite um Certificado contendo a chave pública de “E”
digitalmente assinada pela CA: CA diz que “esta é a chave pública
de E”.
Chave Privada
20. 20
Autoridades Certificadoras (2/2)
Quando Alice precisa da chave pública de Bob:
Obtém o certificado de Bob (de Bob ou de outro lugar) na CA que
guarda a chave de Bob.
Alice aplica a chave pública da CA ao certificado de Bob, para
extrair a chave pública de Bob.
Chave
pública
de Bob K B +
assinatura
digital
(decifra)
Chave
pública
K +
da CA CA
K B +
21. 21
Firewalls
Isola a rede interna da organização da área pública da Internet,
permitindo que alguns pacotes passem e outros não.
22. 22
Firewalls: Para que servem?
Prevenir ataques de negação de serviço:
Inundação de SYNs: atacante estabelece muitas conexões TCP
“falsas” e não deixa nenhum recurso para as conexões “reais”.
Prevenir modificação/acesso ilegal aos dados internos.
ex., o atacante substitui a homepage da CIA com outra coisa.
Permitir apenas acessos autorizados ao interior da rede (conjunto de
usuários/hospedeiros autenticados).
Tipos de firewalls:
Filtragem de pacotes.
Camada de aplicação (Gateways de Aplicação).
23. 23
Firewall Filtro de pacotes
Rede interna conectada à Internet via roteador firewall.
Filtro de pacotes. A decisão de enviar ou descartar pacotes que
chegam no Firewall baseia-se regras que podem considerar:
Endereço IP de origem e/ou endereço IP de destino.
Número de portas TCP/UDP de origem e/ou de destino.
Tipo de mensagem ICMP.
Bits TCP: SYN e ACK (para bloquear tentativas de criação de uma
sessão TCP).
Exemplo 1: Bloqueia datagramas de entrada e saída com campo de
protocolo IP = 17 e com porta de origem ou destino = 23.
Todos os fluxos UDP de entrada e saída e conexões telnet são
bloqueadas.
Exemplo 2: Bloqueia segmentos TCP de entrada com ACK=0.
Previne que clientes externos estabeleçam conexões TCP com
clientes internos, mas permitem que clientes internos se conectem
com o exterior.
24. 24
Gateways de Aplicação
Filtra pacotes em função de dados
de aplicação, assim como de
campos do IP/TCP/UDP.
Exemplo: permite selecionar
usuários internos que podem usar o
Telnet.
Exige que todos os usuários Telnet
se comuniquem através do
Gateway.
Para os usuários autorizados, o
gateway estabelece conexões
Telnet com o hospedeiro de
destino. O Gateway repassa os
dados entre as duas conexões.
O filtro do roteador bloqueia todas
as sessões Telnet que não se
originam no Gateway.
25. 25
Limitações dos Firewalls e Gateways
IP spoofing: roteador não tem como
saber se os dados “realmente” vêm
da fonte alegada.
Se múltiplas aplicações necessitam
tratamento especial, cada uma
deve ter o próprio Gateway.
O software do cliente deve saber
como contactar o Gateway:
Por exemplo, deve setar o
endereço IP do proxy no
browser.
Compromisso: grau de
comunicação com o mundo
externo, nível de segurança:
Muita segurança limita as
formas de comunicação.
Muita flexibilidade para se
comunicar cria riscos para a
segurança.
Muitos sites altamente protegidos
ainda sofrem ataques.
26. 26
Ameaças à segurança na Internet (1/4)
Mapeamento (Reconhecimento do terreno):
antes de atacar: descobrir quais serviços estão implementados na
rede.
Use Ping para determinar quais hosts estão ativos na rede.
Varredura de portas (Port-scanning): tentar estabelecer conexões
TCP para cada porta em seqüência (para ver o que acontece).
mapeador nmap (http://www.insecure.org/nmap/): “exploração da
rede e auditoria de segurança”.
Contramedidas:
Registrar o tráfego que entra na rede.
procurar atividade suspeita (endereços IP, portas sendo varridas
seqüencialmente).
27. 27
Ameaças à segurança na Internet (2/4)
Packet sniffing:
Meio broadcast.
NIC em modo promíscuo
lêem todos os pacotes que
passam na rede.
Exemplo: C captura os
pacotes de B na
comunicação A-B e pode
obter a senha.
Packet sniffing – contramedidas:
Todos os hospedeiros na
organização executam
software que examina
periodicamente se a
interface do hospedeiro está
operando em modo
promíscuo
Um host em cada porta de
SWITCH na LAN (rede
Ethernet).
Não usar HUB na rede LAN.
28. 28
Ameaças à segurança na Internet (3/4)
IP Spoofing:
Pode gerar pacotes IP
“puros” diretamente da
aplicação, colocando
qualquer valor do endereço
IP no campo de endereço
de origem.
Receptor não sabe se a
fonte é verdadeira ou se foi
forjada
Ex.: C finge ser B.
IP Spoofing - contramedidas:
filtro de entrada:
Roteadores não devem
repassar pacotes para a
saída quando esses têm
endereço IP de origem
inválido (exemplo, endereço
de origem do datagrama
que tenha valor fora da faixa
de endereçamento da rede
local).
Essa medida é restrita aos
roteadores que transmitem
os pacotes IP e sua adoção
não é obrigatória.
29. 29
Ameaças à segurança na Internet (4/4)
Negação de serviço (DoS):
Inundação de pacotes
maliciosamente gerados que
invadem o receptor.
DoS Distribuído (DDoS):
múltiplas fontes coordenadas
atacam simultaneamente o
receptor.
exemplo: C e um hospedeiro
remoto atacam A com
inundação de SYN (pacotes
de estabelecimento de
sessão TCP).
Negação de serviço (DoS) -
contramedidas:
Filtragem de pacotes de
inundação (ex., SYN) antes
de atingirem o alvo: corta os
pacotes bons e os maus.
Rastrear em busca da fonte
da inundação (mais
provavelmente uma
máquina inocente que foi
invadida).
30. 30
E-mail seguro: Sigilo
Alice quer enviar e-mail confidencial, m, para Bob. Então:
Gera uma chave privada simétrica, KS.
Codifica a mensagem com KS (por eficiência).
Também codifica KS com a chave pública de Bob.
Envia tanto KS(m) (msg criptografada com a chave KS) como
KB(KS) (chave simétrica KS criptografada com a chave pública de
Bob) para Bob.
Bob:
Usa sua chave privada para decodificar e recuperar KS.
Usa KS para decodificar KS(m) e recuperar m.
31. 31
E-mail seguro: Autenticação e Integridade
Alice quer fornecer autenticação de emissor e integridade de
mensagem.
Alice assina digitalmente a mensagem (calcula Hash da msg m e
criptografa com sua chave privada).
Envia tanto a mensagem (aberta) quanto a assinatura digital.
Bob valida a autenticidade (decriptografa o Hash recebido com
chave pública de Alice obtendo o Hash original) e a integridade da
mensagem recebida (calcula o Hash da mensagem m recebida),
caso essas duas informações sejam iguais.
Hash
Hash
criptografado
Hash original recuperado
Hash calculado de m
32. 32
SSL - Secure Sockets Layer (1/2)
SSL trabalha na camada de
transporte.
Provê segurança para qualquer
aplicação baseada em TCP que
use os serviços SSL.
SSL: usado entre clientes e
servidores www para comércio
eletrônico (https).
Serviços de segurança SSL:
autenticação do servidor.
codificação dos dados.
autenticação do cliente
(opcional).
Autenticação do servidor:
Cliente habilitado com SSL
inclui chaves públicas das
CAs confiáveis.
Cliente solicita certificado do
servidor, emitido por CA
confiável.
Cliente usa a chave pública
da CA para extrair a chave
pública do servidor a partir
do seu certificado.
Visite o menu de segurança do
seu browser para verificar quais
são as suas CAs confiáveis.
33. 33
SSL - Secure Sockets Layer (2/2)
Sessão SSL criptografada:
Browser gera chave simétrica
para a sessão, cifra-a com a
chave pública do servidor, envia
a chave cifrada para o servidor.
O servidor decifra a chave
simétrica da sessão usando a
sua chave privada.
Browser e servidor concordam
que as msgs futuras serão
cifradas com a chave simétrica
gerado pelo Browser.
Todos os dados enviados
para o socket TCP (pelo
cliente ou servidor) são
cifrados com a chave da
sessão.
SSL: base para a Segurança da
Camada de Transporte do IETF
(TLS).
SSL pode ser usado para
aplicações não Web, ex., IMAP.
Autenticação do cliente pode ser
realizada com certificados do
cliente.
34. 34 IPSec
Segurança de Camada de Rede
Sigilo na camada de rede:
host transmissor cifra os
dados num datagrama IP.
segmentos TCP e UDP,
mensagens ICMP e SNMP.
Autenticação da camada de
rede:
host destino pode autenticar
o endereço IP da origem.
Dois protocolos principais:
Protocolo de cabeçalho de
autenticação (AH).
Protocolo de
encapsulamento de
segurança da carga (ESP).
Tanto para AH como ESP tem
negociação origem-destino:
Criação de um canal lógico
de camada de rede
chamado de acordo de
serviço (SA- service
agreement)
Cada SA é unidirecional.
Determinado univocamente por:
Protocolo de segurança (AH
ou ESP).
Endereço IP da origem.
ID da conexão de 32-bits.