1
Segurança em redes
de computadores
2
Sumário
8.1 – O que é segurança de rede?
8.2 – Princípios de criptografia
8.3 – Integridade de mensagem e assinaturas digitais
8.4 – Autenticação
8.5 – Protegendo o e-mail
8.6 – Protegendo conexões TCP: SSL
8.7 – Segurança na camada de rede: IPsec e redes virtuais privadas
8.8 – Segurança em LANs sem fio
8.9 – Segurança operacional: firewalls e sistemas de detecção de
invasão
3
Sumário
8.1 – O que é segurança de rede?
8.2 – Princípios de criptografia
8.3 – Integridade de mensagem e assinaturas digitais
8.4 – Autenticação
8.5 – Protegendo o e-mail
8.6 – Protegendo conexões TCP: SSL
8.7 – Segurança na camada de rede: IPsec e redes virtuais privadas
8.8 – Segurança em LANs sem fio
8.9 – Segurança operacional: firewalls e sistemas de detecção de
invasão
4
O que é segurança de rede?
• Remetente, destinatário e intruso (Alice, Bob e Trudy)
●
bem conhecidos no mundo de segurança de redes
●
Bob e Alice (amantes!) querem se comunicar de modo
“seguro”
●
Trudy, a “intrusa” pode interceptar, apagar e/ou
acrescentar mensagens
5
O que é segurança de rede?
• Quem podem ser Bob e Alice?
●
... bem, Bobs e Alices reais!
●
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...
6
O que é segurança de rede?
Podemos identificar as seguintes propriedades desejáveis da
comunicação segura:
• Confidencialidade
• Integridade de mensagem
• Autenticação do ponto final
• Segurança operacional
7
O que é segurança de rede?
Podemos identificar as seguintes propriedades desejáveis da
comunicação segura:
• Confidencialidade: apenas o transmissor e o receptor
desejado devem “entender” o conteúdo da mensagem
●
transmissor codifica msg
●
receptor decodifica msg
8
O que é segurança de rede?
Podemos identificar as seguintes propriedades desejáveis da
comunicação segura:
• Integridade de mensagem: transmissor e receptor querem
garantir que a mensagem não seja alterada (em trânsito ou após)
sem que isto seja detectado.
9
O que é segurança de rede?
Podemos identificar as seguintes propriedades desejáveis da
comunicação segura:
• Autenticação do ponto final: transmissor e receptor
querem confirmar a identidade um do outro.
10
O que é segurança de rede?
Podemos identificar as seguintes propriedades desejáveis da
comunicação segura:
• Segurança operacional: os serviços devem estar acessíveis e
disponíveis para os usuários (detecção de invasão, worms,
firewalls, Internet pública...).
11
O que é segurança de rede?
• Há muitos vilões por aí!
• P: O que um vilão pode 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)
●
sequestro: 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)
●
mais sobre isto posteriormente...
12
O que é segurança de rede?
A segurança em rede cuida para que essas características estejam na
comunicação, quando esta as requisitem, todas ou um subconjunto:
• Confidencialidade
• Integridade de mensagem
• Autenticação do ponto final
• Segurança operacional
13
Sumário
8.1 – O que é segurança de rede?
8.2 – Princípios de criptografia
8.3 – Integridade de mensagem e assinaturas digitais
8.4 – Autenticação
8.5 – Protegendo o e-mail
8.6 – Protegendo conexões TCP: SSL
8.7 – Segurança na camada de rede: IPsec e redes virtuais privadas
8.8 – Segurança em LANs sem fio
8.9 – Segurança operacional: firewalls e sistemas de detecção de
invasão
14
Princípios de criptografia
• Técnicas criptográficas permitem que um remetente disfarce os dados de modo
que um intruso não consiga obter nenhuma informação dos dados interceptados.
• Suponha que Alice queira enviar uma mensagem a Bob.
• A mensagem de Alice em sua forma original (por exemplo, “Bob, I love you.
Alice”) é conhecida como texto aberto ou texto claro.
• Alice criptografa sua mensagem que se torna “Nkn, s gktc wky. Mgsbc.”
• criptografia de chave simétrica: as chaves do transmissor e do receptor são
idênticas
• criptografia de chave pública: cifra com chave pública, decifra com chave
secreta (privada)
Criptografia de 15
chaves simétricas
• Componentes criptográficos
Criptografia de 16
chaves simétricas
Considerando como seria fácil para Trudy quebrar o código
criptográfico de Bob e Alice, podemos distinguir três cenários
diferentes, dependendo do tipo de informação que o intruso tem:
• Ataque exclusivo a texto cifrado: se tenho apenas o texto
cifrado → análise estatística.
• Ataque com texto aberto conhecido: tenho conhecimento que
“Alice e Bob” estão no texto, algumas letras conhecidas facilitarão a
quebra do código.
• Ataque com texto aberto escolhido: forçar a entrega de um
texto aberto conhecido (acesso ao processo e não a chave).
Criptografia de 17
chaves simétricas
• Um cifra monoalfabética
• Uma cifra polialfabética que utiliza duas cifras de César
• Facilmente quebradas com a “força bruta”!
Criptografia de 18
chaves simétricas
• Uma cifra de bloco de 3 bits (exemplo)
• Não visa caracteres específicos, mas blocos de bits
• Nesse exemplo, 23 bits para a entrada e saída 8! = 40230
permutações possíveis
• Como ambos os participantes da comunicação conhecem a
tabela, eles podem codificar e decodificar a mensagem
• Usando a “força bruta” ainda é facilmente quebrado
Criptografia de 19
chaves simétricas
• Por isso as cifras de bloco deveriam usar tabelas maiores:
●
Se k for a quantidade de bits, para k = 64 bits teríamos 264!
possíveis permutações
●
A tabela teria 264 entradas, o que do ponto de vista
prático inviabiliza a estratégia
• Alternativa? Antes disso repetição de textos “HTTP/1.1”?
Criptografia de 20
chaves simétricas
• Exemplo de uma cifra de bloco (T1 <> T2 <> ...)
Criptografia de 21
chaves simétricas
• Várias estratégias utilizam cifras de bloco: DES, 3DES, AES... citando
as mais aplicadas
• A DES utiliza blocos de 64 bits com uma chave de 56 bits
• A AES usa blocos de 128 bits com chaves de 128, 192 e 256 bits
• A chave de um algoritmo determina os mapeame ntos da “minitabela”
e permutações dentro do algoritmo
• Um ataque “força bruta” para essas estratégias deve variar todas as
possíveis chaves e aplicar o algoritmo (n → 2n possíveis valores)
Criptografia de 22
chaves simétricas
• Várias estratégias utilizam cifras de bloco: DES, 3DES, AES...
citando as mais aplicadas
• A DES utiliza blocos de 64 bits com uma chave de 56 bits
• A AES usa blocos de 128 bits com chaves de 128, 192 e 256 bits
• A chave de um algoritmo determina os mapeamentos da
“minitabela” e permutações dentro do algoritmo
• Um ataque “força bruta” para essas estratégias deve variar todas as
possíveis chaves e aplicar o algoritmo (n → 2n possíveis valores)
• Repetição de textos “HTTP/1.1”?
Criptografia de 23
chaves simétricas
• É possível enviar um número aleatório junto com o dado para
evitar a repetição que continua a ser possível decodificar a
mensagem.
• Mas.... duplica o tamanho da mesma!
• Isso gera um desperdício utilização dos recursos de comunicação.
Criptografia de 24
chaves simétricas
• É possível enviar um número aleatório junto com o dado para
evitar a repetição que continua a ser possível decodificar a
mensagem.
• Mas.... duplica o tamanho da mesma!
• Isso gera um desperdício utilização dos recursos de comunicação.
• O que fazer?
Criptografia de 25
chaves simétricas
• As cifras de bloco em geral usam uma técnica chamada Encadeamento
do Bloco de Cifra (CBC – Cipher Block Chaining).
• A ideia básica é enviar somente um valor aleatório junto com a primeira
mensagem e, então, fazer o emissor e o receptor usarem blocos
codificados em vez do número aleatório subsequente.
• Um XOR entre a mensagem e o número aleatório é feito antes de
transmitir.
• O CBC possui uma consequência importante: é preciso fornecer um
mecanismo dentro do protocolo para distribuir o Vetor de Inicialização
(IV) do emissor ao receptor.
Criptografia de 26
chaves simétricas
• O CBC possui uma consequência importante: é preciso fornecer
um mecanismo dentro do protocolo para distribuir o Vetor de
Inicialização (IV) do emissor ao receptor.
• O problema principal na aplicação das chaves simétricas é o passo
de combinar a chave, não importando a forma.
●
Monoalbafética, polialfabética, em bloco nos seus
diversos “sabores”...
●
Solução?
Criptografia de 27
chave pública
• Criptografia de chaves públicas
K+B(K-B(m)) = K-B(K+B(m)) = m
Criptografia de 28
chave pública
●
Requisitos:
●
necessita K+B( ) e K- ( B) de modo que:
K-B(K+B(m)) = m
●
dada a chave pública K+B, deve ser impossível calcular a chave
privada K-B
●
RSA: algoritmo de Rivest, Shamir e Adelson
Criptografia de 29
chave pública
●
Escolha dois números primos grandes p, q. (ex., cada um
com 1024 bits)
●
Calcule n = pq e z = (p-1)(q-1)
●
Escolha e (com e<n) que não possua nenhum fator comum com z.
(e e z são “primos entre si”).
●
Escolha d de modo que ed-1 seja divisível exatamente por z
(em outras palavras: ed mod z = 1).
●
A chave pública: K+B → (n,e).
Criptografia de 30
chave pública
●
A chave privada: K-B → (n,d).
Criptografia de 31
chave pública
O RSA faz uso extensivo das operações aritméticas usando a
aritmética de módulo-n.
Existem dois componentes inter-relacionados do RSA:
• A escolha da chave pública e da chave privada.
• O algoritmo para cifrar e decifrar.
A segurança do RSA reside no fato de que não se conhecem
algoritmos para fatorar rapidamente um número, nesse caso, o valor
público n, em números primos p e q.
Criptografia de 32
chave pública
Criptografia de 33
chave pública
●
O RSA é muito utilizado para a troca da chave simétrica, pois
tem um custo computacional importante.
●
Usado também na assinatura digital e na garantia da
integridade da mensagem.
34
Sumário
8.1 – O que é segurança de rede?
8.2 – Princípios de criptografia
8.3 – Integridade de mensagem e assinaturas digitais
8.4 – Autenticação
8.5 – Protegendo o e-mail
8.6 – Protegendo conexões TCP: SSL
8.7 – Segurança na camada de rede: IPsec e redes virtuais privadas
8.8 – Segurança em LANs sem fio
8.9 – Segurança operacional: firewalls e sistemas de detecção de
invasão
Integridade de mensagem 35
e assinaturas digitais
•
Para autenticar a mensagem, Bob precisa verificar se:
1. A mensagem foi, realmente, enviada por Alice.
2. A mensagem não foi alterada em seu caminho para Bob.
•. Um ataque relativamente fácil no algoritmo de roteamento é Trudy
distribuir mensagens de estado de enlace falsas.
•. Esse é um exemplo da necessidade de verificar a integridade da
mensagem, ou seja, ter certeza de que o roteador A criou a
mensagem e que ninguém a alterou em trânsito.
Funções de hash 36
criptográficas
• Uma função hash criptográfica deve apresentar a seguinte
propriedade:
●
Em termos de processamento, seja impraticável encontrar
duas mensagens diferentes x e y tais que H(x) = H(y).
Código de 37
autenticação da
mensagem
• Para realizar a integridade da mensagem, além de usar as funções
de hash criptográficas, Alice e Bob precisarão de um segredo
compartilhado s, que não é nada mais do que uma cadeia de bits
denominada chave de autenticação.
Trudy poderia executar o Hash e
enviar a mensagem como Alice,
sem o uso da chave de
Código de 38
autenticação da
autenticação.
mensagem
Código de 39
autenticação da
mensagem
• Função de hash MD5 é largamente utilizada (RFC 1321)
●
Calcula resumo da mensagem de 128-bits num processo de 4
etapas.
●
Dada uma sequência arbitrária x de 128-bits, parece difícil
construir uma msg m cujo hash MD5 seja igual a x.
• Também é usado o SHA-1
●
padrão americano [NIST, FIPS PUB 180-1]
●
resumo de msg de 160-bits
40
Assinaturas digitais
• A assinatura digital é uma técnica criptográfica que cumpre essas
finalidades no mundo digital.
• Lembre-se de que, com a criptografia de chave pública, Bob
possui tanto uma chave pública como uma privada, as quais são
únicas para ele.
• Dessa maneira, a criptografia de chave pública é uma excelente
candidata para prover assinaturas digitais.
41
Assinaturas digitais
• Criando uma assinatura digital para um documento
Assinaturas digitais 42
• Enviando uma mensagem assinada digitalmente
Assinaturas digitais 43
• Verificando uma mensagem assinada
43
Assinaturas digitais
• Uma aplicação importante de assinaturas digitais é a
certificação de chaves públicas.
• A vinculação de uma chave pública a uma entidade particular é
feita, em geral, por uma Autoridade Certificadora (CA), cuja
tarefa é validar identidades e emitir certificados.
• Tão logo verifique a identidade da entidade, a CA cria um
certificado que vincula a chave pública da entidade à identidade
verificada.
Assinaturas digitais 44
• Trudy se passa por Bob usando criptografia de chaves
públicas
Assinaturas digitais 45
• Autoridades Certificadoras:
●
Autoridade certificadora (CA): associam chave pública a uma
entidade particular, E.
●
Bob (pessoa, roteador) registra a sua chave pública com a CA.
●
Bob fornece “prova de identidade” à CA.
●
CA cria certificado associando Bob à sua chave pública.
●
Certificado contém a chave pública de Bob assinada
digitalmente pela CA - CA diz que “esta é a chave pública de
Bob”
Assinaturas digitais 46
• Bob obtém sua chave pública certificada pela CA
Assinaturas digitais 47
• Um certificado contém:
Assinaturas digitais 48
• Intermediários Confiáveis
●
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) agindo
como intermediário entre 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:
Assinaturas digitais 49
●
autoridade certificadora confiável (CA)
Assinaturas digitais 50
• Intermediários Confiáveis
●
Centro de Distribuição de Chaves (KDC)
●
Alice e Bob necessitam de chave simétrica
compartilhada.
●
KDC: servidor compartilha chaves secretas diferentes com
cada usuário registrado.
●
Alice e Bob conhecem as próprias chaves simétricas, KA-
KDC e KB-KDC , para se comunicar com o KDC.
Assinaturas digitais 51
• Intermediários Confiáveis
●
P: Como o KDC permite a Bob, Alice determinar a chave
secreta simétrica compartilhada para se comunicarem?
KDC
KA-KDC(A,B)
(A,R1) )
(R1, K B-KDC
K A-KDC
Alice KB-KDC(A,R1) Bob
recebe
recebe
R1
R1
Alice e Bob se comunicam: usando R1 como
chave da sessão para criptografia simétrica compartilhada
52
Sumário
8.1 – O que é segurança de rede?
8.2 – Princípios de criptografia
8.3 – Integridade de mensagem e assinaturas digitais
8.4 – Autenticação
8.5 – Protegendo o e-mail
8.6 – Protegendo conexões TCP: SSL
8.7 – Segurança na camada de rede: IPsec e redes virtuais privadas
8.8 – Segurança em LANs sem fio
8.9 – Segurança operacional: firewalls e sistemas de detecção de
invasão
53
Autenticação do ponto
final
• A autenticação do ponto final é o processo de provar a identidade de
uma entidade a outra entidade por uma rede de computadores.
• A autenticação precisa ser feita unicamente com base nas mensagens
e dados trocados como parte de um protocolo de autenticação.
• O protocolo de autenticação primeiro estabelece as identidades das
partes para a satisfação mútua; somente depois da autenticação é que
as entidades “põem as mãos” no trabalho real.
Protocolo de 54
autenticação ap1.0
• Objetivo: Bob quer que Alice “prove” a sua identidade para ele
●
Alice diz “Eu sou Alice”
●
Cenário de falha?
Protocolo de 55
autenticação ap1.0
• Objetivo: Bob quer que Alice “prove” a sua identidade para ele
Numa rede, Bob não “vê” Alice, então
Trudy simplesmente se declara como
Alice
Protocolo de 56
autenticação ap2.0
• Alice diz “Eu sou Alice” e envia junto o seu endereço IP
como “prova”.
●
Cenário de falha??
Protocolo de 57
autenticação ap2.0
• Alice diz “Eu sou Alice” e envia junto o seu endereço IP
como “prova”.
Trudy pode criar um pacote
“imitando” o endereço IP de
Alice
Protocolo de 58
autenticação ap3.0
• Alice diz “Eu sou Alice” e envia a sua senha secreta como
“prova”.
• Ataque de reprodução: Trudy grava o pacote de Alice e
depois o envia para Bob
Protocolo de 59
autenticação ap3.0
• Alice diz “Eu sou Alice” e envia a sua senha secreta como
“prova”.
• E se a senha for “secreta”? Ainda assim falha da mesma
forma!
Protocolo de 60
autenticação ap4.0
• Objetivo: evitar ataque de
reprodução (playback)
• Nonce: número (R) usado
apenas uma vez na vida de modo a
identificar Alice “ao vivo”. Bob
envia para Alice um nonce R, Alice
deve retornar R, cifrado com a chave
secreta compartilhada.
●
Alice está “ao vivo”, e apenas
Alice conhece chave para
criptografar nonce, então deve ser
Alice!
●
Problemas?
Protocolo de 61
autenticação ap4.0 A chave simétrica de
• Objetivo: evitar ataque de Alice e Bob deve ser
reprodução (playback) trocada entre eles. Trudy
• Nonce: número (R) usado pode recuperá-la e
apenas uma vez na vida sequestrar a conexão ou
• de modo a identificar Alice “ao realizar um ataque do
vivo”, Bob envia para Alice um homem ou mulher do
nonce R, Alice deve retornar R, meio.
cifrado com a chave secreta
compartilhada.
●
Alice está “ao vivo”, e apenas
Alice conhece chave para
criptografar nonce, então deve
ser Alice!
Protocolo de 62
autenticação ap5.0
• ap4.0 requer chave simétrica compartilhada
●
podemos autenticar usando técnicas de chave pública?
• ap5.0: use nonce, criptografia de chave pública
• Bob calcula:
K+ (K- (R)) e recupera R
A A
• e sabe que apenas Alice poderia ter a chave privada, que cifrou
R
Eu sou Alice
R
Tem algum
K-A(R) problema
nessa ideia?
Sua chave pública?
K+A
Protocolo de 63
autenticação ap5.0
• ap5.0: Brecha de segurança → Ataque do homem (mulher) no meio:
Trudy posa como sendo Alice (para Bob) e como sendo Bob (para
Alice)
Furo e solução?
Eu sou Alice Eu sou Alice
R R
K-A(R) K-T (R)
Sua chave pública? Sua chave pública?
K+ K+
A T
Trudy recebe K+T(m) decifra a mensagem
e envia para Alice K+A(m)
64
Sumário
8.1 – O que é segurança de rede?
8.2 – Princípios de criptografia
8.3 – Integridade de mensagem e assinaturas digitais
8.4 – Autenticação
8.5 – Protegendo o e-mail
8.6 – Protegendo conexões TCP: SSL
8.7 – Segurança na camada de rede: IPsec e redes virtuais privadas
8.8 – Segurança em LANs sem fio
8.9 – Segurança operacional: firewalls e sistemas de detecção de
invasão
65
Protegendo o e-mail
• Imagine que Alice quer enviar uma mensagem de e-mail para Bob
e Trudy quer bisbilhotar.
• A maneira mais direta de conseguir confidencialidade é Alice
criptografar a mensagem com tecnologia de chaves e Bob
decriptar a mensagem ao recebê-la.
• Vamos considerar o projeto de um sistema de e-mail que forneça
confidencialidade, autenticação de remetente e integridade de
mensagem. Isso pode ser feito pela combinação dos
procedimentos das figuras a seguir.
66
Protegendo o e-mail
• Alice usou uma chave de sessão simétrica, KS, para enviar um e-
mail secreto para Bob
67
Protegendo o e-mail
• Usando funções de hash e assinaturas digitais para fornecer
autenticação de remetente e integridade de mensagem
68
Protegendo o e-mail
• O projeto de e-mail seguro ilustrado abaixo provavelmente
fornece segurança satisfatória para os usuários de e-mail na
maioria das ocasiões.
69
PGP
• O PGP é um esquema de criptografia para e-mail que se tornou
um padrão de fato.
• Uma mensagem PGP assinada
70
PGP
• Uma mensagem PGP secreta
71
Sumário
8.1 – O que é segurança de rede?
8.2 – Princípios de criptografia
8.3 – Integridade de mensagem e assinaturas digitais
8.4 – Autenticação
8.5 – Protegendo o e-mail
8.6 – Protegendo conexões TCP: SSL
8.7 – Segurança na camada de rede: IPsec e redes virtuais privadas
8.8 – Segurança em LANs sem fio
8.9 – Segurança operacional: firewalls e sistemas de detecção de
invasão
Protegendo conexões 72
TCP: SSL
• O SSL resolve essas questões aprimorando o TCP com sigilo,
integridade dos dados, autenticação do servidor e autenticação do
cliente.
• Muitas vezes, o SSL é usado para oferecer segurança em
transações que ocorrem pelo HTTP.
• Entretanto, como o SSL protege o TCP, ele pode ser empregado
por qualquer aplicação que execute o TCP.
Protegendo conexões 73
TCP: SSL
• O SSL provê uma Interface de Programação de Aplicação (API)
com sockets, semelhante à API do TCP.
Protegendo conexões 74
TCP: SSL
• Estabelecendo uma conexão SSL (versão simplificada).
●
(a) Estabelecimento da
conexão TCP
●
(b) Verificar se “Alice” é
realmente Alice
●
(c) Enviar uma chave
secreta mestre, que será
utilizada por Bob e Alice
para criar todas as chaves
simétricas que eles
precisam para a sessão
SSL
Protegendo conexões 75
TCP: SSL
• Chaves simétricas de uma ● EMS:
conexão SSL.
● EB = chave de Bob para
Alice
● MB = MAC (código de
autenticação da
mensagem) de Bob
para Alice
● EA = chave de Alice
para Bob
● EA = chave de Alice
para Bob
Protegendo conexões 76
TCP: SSL
• Transferência de dados. ● Compartilhadas as 4
chaves (EB,MB,EA e EA)
●
Cifrar e transmitir?
●
Toda a sessão de uma
vez?
●
Verificação de
integridade no Final?
●
Por registro...
●
Troca da ordem
(homem do meio)?
Protegendo conexões 77
TCP: SSL
• Transferência de dados. ● Compartilhadas as 4
chaves (EB,MB,EA e EA)
●
Resposta:
●
Separar em registros
●
Para tal usa-se o
comprimento
●
Número de sequência
●
Tipo do registro
●
Apresentação,
dados ou término.
Protegendo conexões 78
TCP: SSL
• Registro SSL.
Número de sequência incluído no cálculo do MAC
Protegendo conexões 79
TCP: SSL
• Uma versão mais completa:
●
(1) O cliente envia uma lista de algoritmos que ele suporta, junto
com o nonce do cliente.
Protegendo conexões 80
TCP: SSL
• Uma versão mais completa:
●
(2) A partir da lista, o servidor escolhe um algoritmo simétrico
(ex.: AES), um algoritmo de chave pública (ex.: RSA) e um
algoritmo MAC. Devolve para o cliente suas escolhas um nonce
(evitar ataque de repetição) e um certificado.
Protegendo conexões 81
TCP: SSL
• Uma versão mais completa:
●
(3) O cliente verifica o certificado, extrai a chave pública do
servidor, gera um Segredo Pré-Mestre (PMS), cifra o PMS com
a chave pública do servidor e envia o PMS cifrado ao servidor.
Protegendo conexões 82
TCP: SSL
• Uma versão mais completa:
● (4) Usando a função de derivação de chave, o servidor e o cliente
calculam independentemente o Segredo Mestre (MS) do PMS e
dos nonces. O MS é dividido para gerar as duas chaves de
criptografia e suas chaves MAC. Se as cifra simétrica emprega
CBC (ex.: AES ou DES) dois vetores de inicialização são obtidos
do MS. Assim as mensagens entre o cliente e o servidor podem
ser cifradas e autenticadas.
Protegendo conexões 83
TCP: SSL
• Uma versão mais completa:
● (4 e 5) O cliente e o servidor trocam um MAC específico para
as mensagens de apresentação.
83
Sumário
8.1 – O que é segurança de rede?
8.2 – Princípios de criptografia
8.3 – Integridade de mensagem e assinaturas digitais
8.4 – Autenticação
8.5 – Protegendo o e-mail
8.6 – Protegendo conexões TCP: SSL
8.7 – Segurança na camada de rede: IPsec e redes virtuais privadas
8.8 – Segurança em LANs sem fio
8.9 – Segurança operacional: firewalls e sistemas de detecção de
invasão
Segurança na camada de rede: 84
IPsec e redes virtuais
privadas
• O IPsec protege os datagramas IP entre quaisquer entidades da
camada de rede, incluindo hospedeiros e roteadores.
• 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
85
Os protocolos AH e ESP
• No conjunto dos protocolos IPsec, existem dois principais:
1. o protocolo Cabeçalho de Autenticação (AH) e
2. o protocolo Carga de Segurança de Encapsulamento
(ESP).
•. O protocolo AH provê autenticação da origem e integridade dos
dados, mas não provê sigilo.
•. O protocolo ESP provê autenticação da origem, integridade dos
dados e sigilo.
O datagrama IPsec 86
• Formato do datagrama Ipsec (AH: Protocolo → 51)
• Provê autenticação do host de origem e integridade dos dados
mas não sigilo.
●
Cabeçalho AH inserido entre o cabeçalho IP e o campo de dados do IP
●
Roteadores intermediários processam os datagramas como usual
• Cabeçalho AH inclui:
●
identificador da conexão
●
dados de autenticação: resumo assinado da msg, calculado sobre o
datagrama original IP, provendo autenticação da origem e integridade dos
dados.
●
Campo de próximo cabeçalho: especifica o tipo dos dados (TCP, UDP,
ICMP, etc.)
O datagrama IPsec 87
• Formato do datagrama Ipsec (ESP: Protocolo → 50)
Sequência no
Fluxo
Identificação da SA
(Índice de Parâmetro
de Segurança)
IKE: Gerenciamento 88
de chave no IPsec
• O IKE tem semelhanças com a apresentação (handshake) em SSL.
• Cada entidade IPsec possui um certificado, o qual inclui a chave
pública da entidade.
• O protocolo IKE tem os dois certificados de troca de entidades,
autenticação de negociação e algoritmos de criptografia, e troca
informações de chave com segurança para criar chaves de sessão nas
SAs IPsec.
• O IKE emprega duas fases para realizar essas tarefas.
IKE: Gerenciamento 89
de chave no IPsec
A primeira fase consiste em duas trocas de pares de
mensagem entre R1 e R2.
• Durante a primeira troca de mensagens, os dois lados usam
para criar um IKE SA bidirecional entre os roteadores.
• Durante a segunda troca de mensagens, ambos os lados revelam
sua identidade assinando suas mensagens.
Na fase 2 do IKE, os dois lados criam uma SA em cada direção.
Segurança na camada de rede: 90
IPsec e redes virtuais
privadas
• Muitas instituições usam o IPsec para criar redes virtuais privadas
(VPNs) que trabalham em cima da Internet pública.
• Com uma VPN, o tráfego interdepartamental é enviado por meio
da Internet pública e não de uma rede fisicamente independente.
• Mas, para prover sigilo, esse tráfego é criptografado antes de
entrar na Internet pública.
Associações de segurança 91
• Uma SA é uma conexão lógica simples; ou seja, ela é
unidirecional do remetente ao destinatário.
●
Determinado univocamente por:
●
protocolo de segurança (AH ou ESP)
●
endereço IP da origem
●
ID da conexão de 32-bits
• Se as duas entidades querem enviar datagramas seguros entre si,
então duas SAs precisam ser estabelecidas, uma em cada direção.
Associação de
segurança
(SA) de R1 a R2
Segurança na camada de rede: IPsec 92
e redes virtuais privadas
• Rede virtual privada (VPN)
93
Sumário
8.1 – O que é segurança de rede?
8.2 – Princípios de criptografia
8.3 – Integridade de mensagem e assinaturas digitais
8.4 – Autenticação
8.5 – Protegendo o e-mail
8.6 – Protegendo conexões TCP: SSL
8.7 – Segurança na camada de rede: IPsec e redes virtuais privadas
8.8 – Segurança em LANs sem fio
8.9 – Segurança operacional: firewalls e sistemas de detecção de
invasão
94
Segurança de LANs sem
fio
Privacidade Equivalente Cabeada (WEP)
•
A autenticação é realizada da seguinte forma:
1. Um hospedeiro sem fio requisita uma autenticação por um ponto
de acesso.
2. Um ponto de acesso responde ao pedido de autenticação com
um valor de nonce de 128 bytes.
3. O hospedeiro sem fio criptografa o nonce usando uma chave
simétrica que compartilha com o ponto de acesso.
4. O ponto de acesso decodifica o nonce criptografado do
hospedeiro.
95
Segurança de LANs sem
fio
IEEE 802.11i
•
802.11i: quatro
fases
de operação
96
Sumário
8.1 – O que é segurança de rede?
8.2 – Princípios de criptografia
8.3 – Integridade de mensagem e assinaturas digitais
8.4 – Autenticação
8.5 – Protegendo o e-mail
8.6 – Protegendo conexões TCP: SSL
8.7 – Segurança na camada de rede: IPsec e redes virtuais privadas
8.8 – Segurança em LANs sem fio
8.9 – Segurança operacional: firewalls e sistemas de detecção de
invasão
Segurança 97
operacional: firewalls e
sistemas de detecção
de invasão
•
Um firewall é uma combinação de hardware e software que isola a
rede interna de uma organização da Internet em geral.
•
Um firewall possui três objetivos:
1. Todo o tráfego de fora para dentro, e vice-versa, passa por um
firewall.
2. Somente o tráfego autorizado, como definido pela política de
segurança local, poderá passar.
3. O próprio firewall é imune à penetração.
Segurança 98
operacional: firewalls e
sistemas de detecção
de invasão
•
Os firewalls podem ser classificados em três categorias:
1. filtros de pacotes tradicionais,
2. filtros de estado e
3. gateways de aplicação.
Segurança 99
operacional: firewalls e
sistemas de detecção
de invasão
•
Para detectar muitos tipos de ataque, precisamos executar uma
inspeção profunda de pacote, ataques que podem passar
pelo firewall.
•
Um dispositivo que gera alertas quando observa tráfegos
potencialmente mal-intencionados é chamado de sistema de
detecção de invasão (IDS).
•
Um dispositivo que filtra o tráfego suspeito é chamado de
sistema de prevenção de invasão (IPS).
Segurança 100
operacional: firewalls e
sistemas de detecção
de invasão
Alguns trabalham em alto
desempenho
Um IDS pode ser usado para detectar uma série de tipos de ataques,
incluindo:
•
mapeamento de rede (por exemplo, nmap),
•
varreduras de porta,
•
varreduras de pilha TCP,
•
ataques de DoS,
•
ataques de inundação de largura de banda,
•
worms e vírus,
•
ataques de vulnerabilidade de OS e
•
ataques de vulnerabilidade de aplicações.