IPsec: IP Seguro
Edgard Jamhour
2009, Edgard Jamhour
1) Introdução ao IP Sec - IP Seguro
• Padrão aberto baseado em RFC (IETF).
– Comunicação segura em camada 3 (IPv4 e IPv6)
– Provê recursos de segurança sobre redes IP:
• Autenticação, Integridade e Confidencialidade
• Dois modos de funcionamento:
– Modo Transporte
– Modo Túnel
• Dois Protocolos (Mecanismos)
– IPsec ESP: IP Encapsulating Security Payload (50)
– IPsec AH: IP Autentication Header (51)
2009, Edgard Jamhour
Estrutura Geral do IPsec
Administrador
configura
Base de
Políticas
refere
Solicita criação
do SA
IKE
Aplicação
Protocolo Aplicação
Sockets
consulta
Transporte (TCP/UDP)
IP/IPsec(AH,ESP)
Base de
SAs
consulta
Enlace
2009, Edgard Jamhour
Modos de Utilização do IPsec
• Modo transporte
– Garante a segurança apenas dos dados provenientes das
camadas superiores.
– Utilizado geralmente para comunicação "fim-a-fim" entre
computadores.
• Modo tunel
– Fornece segurança também para a camada IP.
– Utilizado geralmente para comunicação entre roteadores.
2009, Edgard Jamhour
Modo Túnel e Transporte
INTERNET
Conexão IPsec em modo Transporte
INTERNET
Conexão IPsec em modo Túnel
2009, Edgard Jamhour
Modos de Utilização do IPsec
HOST A HOST
rede
Insegura
rede
Insegura
HOST A REDE
rede
Insegura
REDE A REDE
2009, Edgard Jamhour
Modos de Utilização do IPsec
pacote protegido
Túnel ou
Transporte
Túnel
rede
Insegura
rede
Insegura
pacote
desprotegido
rede
Insegura
Túnel
2009, Edgard Jamhour
TUNELAMENTO = VPN
• TUNELAR: Significa colocar as estruturas de dados de um protocolo da
mesma camada do modelo OSI dentro do outro.
• Existem dois tipos de Tunelamento:
– Camada 3: Transporta apenas pacotes IP
– Camada 2: Permite tranportar outros protocolos de rede: IP, NetBEUI, IPX.
CABEÇALHO
QUADRO
CABEÇALHO
PACOTE
DADOS
CRC
QUADRO IP NORMAL
CABEÇALHO
QUADRO
CABEÇALHO
IP
CABEÇALHO
IP
DADOS
CRC
TUNELAMENTO DA CAMADA 3
CABEÇALHO
QUADRO
CABEÇALHO
IP
CABEÇALHO
CAMADA 2
CABEÇALHO
CAMADA 3
DADOS
CRC
TUNELAMENTO DA CAMADA 2
2009, Edgard Jamhour
Tunelamento IPsec
• Os endereços IP externos correspondem as extremidades do
túnel, e os endereços IP internos correspondem aos hosts.
SERVIDOR
A
SERVIDOR
B
SERVIDOR
C
INTERNET
2009, Edgard Jamhour
PROTOCOLOS PARA VPN
• L2F:
– Layer 2 Fowarding Protocol (Cisco)
– Não é mais utilizado.
• PPTP:
– Tunelamento de Camada 2
– Point-to-Point tunneling Protocol
• L2TP:
– Tunelamento de Camada 2
– Level 2 Tunneling Protocol (L2TP)
– Combinação do L2F e PPTP
• IPSec:
– Tunelamento de Camada 3
– IETF (Internet Engineering Task Force)
2009, Edgard Jamhour
QUADRO COMPARATIVO
Aplicação
Tunelamento
Camada 2
Pilha
Normal
SSL
Tunelamento
Camada 3
APLICAÇÃO
APLICAÇÃO
APLICAÇÃO
APLICAÇÃO
SSL
S.O.
TRANSPORTE
TRANSPORTE
TRANSPORTE
TRANSPORTE
REDE
REDE
REDE (IP)
REDE)
REDE IP
(TUNEL)
ENLACE PPP
REDE IP
(TUNEL)
Placa de
Rede
ENLACE
ENLACE
ENLACE
ENLACE
FISICA
FISICA
FISICA
FISICA
2009, Edgard Jamhour
Protocolos para VPN
Protocolo Tunelamento
Criptografia Autenticação Aplicação Típica
PPTP
Camada 2
Sim
Sim
Host - Host
Host - Rede
L2TP
Camada 2
Não
Sim
Host - Rede
(iniciado pelo NAS)
IPsec
Camada 3
Sim
Sim
Host - Host
Host - Rede
Rede - Rede
IPsec e
L2TP
Camada 2
Sim
Sim
Host - Host
Host - Rede
Rede - Rede
2009, Edgard Jamhour
Tipos de IPSec
• IP Autentication Header (AH)
– Protocolo 51
– Oferece recursos de:
• Autenticação
• Integridade
• IP Encapsulating Security Payload (ESP)
– Protocolo 50
– Oferece recursos de:
• Confidencialidade
• Autenticação
• Integridade
2009, Edgard Jamhour
2) Protocolo AH
• Definido pelo protocolo IP tipo 51
• Utilizando para criar canais seguros com
autenticação e integridade, mas sem criptografia.
• Permite incluir uma “assinatura digital” em cada
pacote transportado.
• Protege a comunicação pois atacantes não
conseguem falsificar pacotes assinados.
2009, Edgard Jamhour
AH e Modo Túnel e Modo Transporte
IPv4
IP TCP/UDP
DADOS
IP Normal
IPv4 com autenticação
IP AH TCP/UDP DADOS
Modo Transporte
IPv4 com autenticação e tunelamento
IP AH IP TCP/UDP DADOS
Modo Tunel
Especifica os Computadores
Especifica os Gateways nas Pontas do Tunnel
2009, Edgard Jamhour
Authentication Header
• Provê serviços de autenticação e Integridade de
Pacotes.
1 byte
Next Header
1 byte
Length
1 byte
reserved
1 byte
reserved
SPI: Security Parameter Index
Sequence Number
Authentication Data
(ICV: Integrity Check Value)
Campo de Tamanho Variável, depende do protocolo de autenticação utilizado
2009, Edgard Jamhour
Campos do IPsec AH
• Next Header:
– Código do protocolo encapsulado pelo IPsec, de acordo com os códigos
definidos pela IANA (UDP, TCP, etc ...)
• Length:
– comprimento do cabeçalho em múltiplos de 32.
• Security Parameter Index:
– identificador de 32 bits, com a SA compartilhada pelo transmissor e pelo
receptor.
• Authentication Data:
– Código de verificação de integridade (ICV) de tamanho variável, depende
do protocolo utilizado.
2009, Edgard Jamhour
Authentication Data
• Para enviar um pacote:
1. O transmissor constrói um pacote com todos os campos IP
e protocolos das camadas superiores.
2. Ele substitui todos os campos que mudam ao longo da
transmissão com 0’s (por exemplo, o TTL)
3. O pacote é completado com 0’s para se tornar múltiplo de
16 bits.
4. Um checksum criptográfico é computado para
concatenação:
– Algoritmos: HMAC-MD5 ou HMAC-SHA-1
– MAC: Message Authentication Code
2009, Edgard Jamhour
Autenticação
• Para receber um pacote:
1. O receptor utiliza o SPI para determinar qual o algoritmo a
ser utilizado para validar o pacote recebido.
2. O receptor substitui os campos mutáveis por “0” e calcula o
checksum criptográfico do pacote.
3. Se ele concordar com o checksum contido no cabeçalho
do pacote de autorização, ele é então aceito.
Algoritmo de Integridade
IP
AH
TCP/UDP
ICV
iguais?
DADOS
ICV
2009, Edgard Jamhour
HMAC
• h = função de hashing (MD5 ou SHA1)
• k = chave secreta
• ipad = 0x363636 ... 3636
• opad = 0x5c5c5 ... c5c5c
2009, Edgard Jamhour
Security Association
• Uma vez definida uma política comum a ambos os
computadores, uma associação de segurança (SA) é
criada para “lembrar” as condições de comunicação
entre os hosts.
• Isso evita que as políticas sejam revistas pelo IPsec a
cada novo pacote recebido ou transmitido.
• Cada pacote IPsec identifica a associação de
segurança ao qual é relacionado pelo campo SPI
contido tanto no IPsec AH quanto no IPsec ESP.
2009, Edgard Jamhour
Associação de Segurança
• SA: Associação de Segurança
– Contrato estabelecido após uma negociação que
estabelece como uma comunicação IPsec deve ser
realizada.
• Algoritmo de Autenticaçã/Criptografia
• Chave de Sessão
• SPI: Secure Parameter Index
• Número inteiro (32 bits) que identifica um SA.
• É transmitido junto com os pacotes IPsec para permitir
ao destinatário validar/decriptografar os pacotes
recebidos.
2009, Edgard Jamhour
Security Association (SA)
• Dois computadores podem possuir um conjunto amplo de políticas para
transmissão e recepção de pacotes.
• É necessário encontrar uma política que seja comum ao transmissor e ao
receptor.
Eu transmito para qualquer rede sem IPsec
Eu transmito para qualquer rede em IPsec AH MD5
Eu aceito pacotes de qualquer rede em com IPsec AH MD5
A
B
Eu transmito para qualquer rede em IPsec AH MD5
Eu transmito para qualquer rede em IPsec AH SHA1
Eu aceito pacotes de qualquer rede em com IPsec AH MD5
Eu aceito pacotes de qualquer rede em com IPsec AH SHA1
2009, Edgard Jamhour
Campos do IPsec AH
• Sequence Number:
– Numero incremental, que começa a contagem quando o SA é criada.
– Permite que apenas 232-1 pacotes sejam transmitidos na mesma SA.
Após esse número, uma nova SA deve ser criada.
SPI=deAparaB
SPI=deBparaA
negociam SA e definem SPI
SPI=deBparaA
SPI=daAparaB.
SPI=deAparaB e SN=1
Host A
SPI=deAparaB e SN=2
Host B
SPI=deBparaA e SN=1
...
2009, Edgard Jamhour
Transmissão dos Dados
comparação
SPI=5
assinatura
Algo SHA1
DADOS
IP AH
A
Quando transmitir para B use
SPI=5
SPI=5
algo. SHA1
chave: xxxx
SPI=5
assinatura
IP AH
assinatura
Algo SHA1
DADOS
B
SPI=5
algo. SHA1
chave: xxxx
2009, Edgard Jamhour
AH Modo Tunel e Transporte
IPsec AH
SA
IPsec AH
IPsec AH
IPsec AH
IPsec AH
SA
INTERNET
Conexão IPsec em modo Transporte
IPsec AH
IP
SA
IPsec AH
IP
IPsec AH
INTERNET
SA
IP
IP
Conexão IPsec em modo Túnel
2009, Edgard Jamhour
3) Protocolo ESP
• Definido pelo protocolo IP tipo 50
• Utilizando para criar canais seguros com
autenticação, integridade e criptografia.
• Além da criptografia, permite incluir uma “assinatura
digital” em cada pacote transportado.
• Protege a comunicação pois atacantes não
conseguem falsificar pacotes assinados e
criptografados.
2009, Edgard Jamhour
ESP IPSec : Tunel e Transporte
MODO TRANSPORTE
autenticado
criptografado
IP
ESP HEADER
IP
IP
ESP HEADER IP
TCP
UDP
DADOS
TCP
UDP
DADOS
TCP
UDP
DADOS
ESP
TRAILER
ESP
AUTH
ESP
TRAILER
ESP
AUTH
criptografado
autenticado
MODO TUNNEL
2009, Edgard Jamhour
Encrypted Security Payload Header
• ESP provê recursos de autenticação, integridade e
criptografia de pacotes.
1 byte
1 byte
1 byte
1 byte
Security Parameter Index
HEADER
Sequence Number
Encrypted Payload
(dados criptografados)
Pad (0 – 255 bytes)
Authentication Data
(tamanho variável)
Pad Length
Next Header
TRAILER
AUTH
2009, Edgard Jamhour
Campos do IPsec ESP
• Header:
– SPI e Sequence Number: Mesmas funções do AH
– O algoritmo de criptografia pode ser qualquer, mas o DES Cipher-Block
Chaining é o default.
• Trailler:
– Torna os dados múltiplos de um número inteiro, conforme requerido pelo
algoritmo de criptografia.
– O trailler também é criptografado.
• Auth:
– ICV (Integrity Check Value) calculado de forma idêntica ao cabeçalho
AH. Este campo é opcional.
2009, Edgard Jamhour
Transmissão dos Dados
DES com
chave yyyy
DES com
chave yyyy
SPI=6
SPI=6
IP
ESP
DADOS CRIPTO.
A
Quando transmitir para C use
SPI=6
SPI=6
algo. DES
chave: yyyyy
ESP
enchimento
IP
DADOS CRIPTO.
ESP
C
ESP
enchimento
SPI=6
algo. DES
chave: yyyy
2009, Edgard Jamhour
ESP Modo Tunel e Transporte
IPsec ESP
SA
IPsec ESP
IPsec ESP
IPsec ESP
IPsec ESP
SA
INTERNET
Conexão IPsec em modo Transporte
IPsec ESP
IP
SA
IPsec ESP
IP
IPsec ESP
INTERNET
SA
IP
IP
Conexão IPsec em modo Túnel
2009, Edgard Jamhour
4) Configuração do IPsec
• Cada dispositivo de rede (Host ou Gateway) possui
uma política de segurança que orienta o uso de
IPsec.
• Uma política IPsec é formada por um conjunto de
regras, muito semelhantes as regras de um firewall.
• As políticas IPsec são definidas de maneira distinta
para os pacotes transmitidos e para os pacotes
recebidos.
2009, Edgard Jamhour
Estrutura Geral do IPsec
Administrador
configura
Base de
Políticas
refere
Solicita criação
do SA
IKE
Aplicação
Protocolo Aplicação
Sockets
consulta
Transporte (TCP/UDP)
IP/IPsec(AH,ESP)
Base de
SAs
consulta
Enlace
2009, Edgard Jamhour
Políticas de Segurança
• Uma Política IPsec é formada por um conjunto de
regras com o seguinte formato:
– Se CONDICAO Satisfeita
Então executar ACAO da POLÍTICA
• A CONDIÇÃO (Chamada de Filtro):
– define quando uma regra de Política deve ser tornar ATIVA.
• A AÇÃO:
– define o que deve ser feito quando a condição da REGRA
for SATISFEITA.
2009, Edgard Jamhour
Elementos para Configuração do IPsec
Lista de Regras
Ações
(Ação de Filtro)
Condições
(Lista de Filtros)
Regra de Política
Política IPsec
Regra de Política
Regra de Política
2009, Edgard Jamhour
Condição (Lista de Filtros)
• Cada filtro define as condições em que
uma política deve ser ativa.
a) IP de origem e destino:
– nome, IP ou sub-rede
b) Tipo de protocolo
• código IANA para TCP, UDP, ICMP, etc...
c) Portas de origem e destino
• se TCP/UDP
2009, Edgard Jamhour
Ação
• A ação define o que deverá ser feito com o pacote
recebido ou transmitido.
• O IPsec define 3 ações:
– repassar o pacote adiante sem tratamento
• ação: bypass IPsec
– rejeitar o pacode
• ação discard
– negociar IPsec
• define um modo de comunicação incluindo as opções
Tunel, Transporte, IPsec ESP e IPsec AH.
2009, Edgard Jamhour
Ações IPsec na Transmissão
IP
Regras IPsec
IP
IPsec Driver
Bypass
IP
Discard
Negociar IPsec
IPsec ESP
X
• gerar assinaturas digitais
• criptografar os dados
IPsec AH
Enlace
2009, Edgard Jamhour
Ações IPsec na Recepção
IP
X
IP
IP
Discard
Bypass
X
Negociar IPsec
Regras IPsec
• verifica assinaturas
• decriptografa
IPsec Driver
IPsec AH
IP
IPsec ESP
Enlace
2009, Edgard Jamhour
Negociar IPsec
•
Se a ação for do tipo Negociar IPsec, deve-se
definir:
– Obrigatoriedade:
• Facultativo: aceita comunicação insegura
– (se o outro não suporta IPsec).
•
Obrigatório: aceita apenas comunicação segura.
– (rejeita a comunicação se o outro não suportar IPsec)
– Tipo de IPsec:
• AH(hash) ou ESP(cripto,hash)
– Modo Túnel ou Modo Transporte
• Se modo túnel, especificar o IP do fim do túnel
2009, Edgard Jamhour
Algoritmos IPsec
• CRIPTOGRAFIA
–
–
–
–
–
MUST
NULL (1)
MUSTTripleDES-CBC [RFC2451]
SHOULD+
AES-CBC with 128-bit keys [RFC3602]
SHOULD
AES-CTR [RFC3686]
SHOULD NOT DES-CBC [RFC2405] (3)
• AUTENTICAÇÃO
–
–
–
–
MUST
HMAC-SHA1-96 [RFC2404]
MUST
NULL (1)
SHOULD+ AES-XCBC-MAC-96 [RFC3566]
MAY
HMAC-MD5-96 [RFC2403] (2)
2009, Edgard Jamhour
Implementação de Políticas
• Para que dois computadores "A" e "B" criem uma
comunicação IPsec:
– Computador A:
• deve ter políticas IPsec para transmitir pacotes cujo
endereço de destino é "B".
• deve ter políticas IPsec para receber pacotes cujo
endereço de origem é "B".
– Computador B:
• deve ter políticas IPsec para transmitir pacotes cujo
endereço de destino é "A".
• deve ter políticas IPsec para receber pacotes cujo
endereço de origem é "A".
2009, Edgard Jamhour
Observação: Políticas com Tunelamento
• É necessário criar uma regra para enviar e outra para receber
pacotes pelo túnel, em cada um dos gateways VPN.
terminação do túnel
IP_B
IP_A
R_B
R_A
IP_A
IP_B
R_A
R_B
in
out
in
IP_B
IP_A
R_B
R_A
IP_A
IP_B
R_A
R_B
out
A
B
Rede
B
Rede
A
IP_A
IP_B
2009, Edgard Jamhour
Ordenamento dos Regras
• Uma política IPsec pode ter regras conflitantes, por exemplo:
• Política ICMP
– RegraSubRede:
• Localhost de/para 10.26.128.0/24::ICMP negociar IPsec
– RegraExceção:
• Localhost de/para 10.26.128.17::ICMP passar
• Existem duas abordagems para resolver esse caso:
– As regras são avaliadas em ordem: a primeira ser satisfeita é utilizada
(abordagem Intoto)
– As regras são avaliadas da mais específica para a mais genérica,
independente da ordem (abordagem Microsoft).
2009, Edgard Jamhour
Priorização
•
Idealmente, as regras deveriam ser avaliadas de acordo com
a granulariadade dos filtros:
1.
2.
3.
4.
•
My IP Address
Specific IP Address defined
Specific IP Subnet
Any IP Address
A mesma abordagem vale em relação as portas e protocolos:
1. Specific Protocol/Port combination
2. Specific Protocol/Any Port
3. Any Protocol
–
Em implementações em que o ordenamento não é automático, cabe ao
administrador da rede escolher a ordem.
2009, Edgard Jamhour
Política Default
• Assim como um firewall, também é possível estabelecer uma
política default para o IPsec.
• A políticas default será aplicada quando as condições do
pacote não forem satisfeitas por nenhuma das regras prédefinidas.
• A política default pode ser:
– Bloquear (INTOTO)
– Bypass IPsec (WINDOWS)
– Negociar IPsec em vários modos:
• IPsec ESP 3DES, SHA1,
• IPsec ESP DES, MD5
• AH SHA1
• AH MD5
2009, Edgard Jamhour
Exemplo1: Proteção com AH
2 REGRAS
POLÍTICA: o host B só aceita
mensagens ICMP vindas do
host A protegidas com AH
HOST A
HOST_A
HOST_B
ICMP
HOST_B
HOST_A
ICMP
HOST B
ICMP
192.168.1.7
192.168.1.1
ICMP (AH)
rede
2009, Edgard Jamhour
Exemplo 2: Proteção com ESP
2 REGRAS
POLÍTICA: o HOST C só
pode acessar o HOST B via
telnet protegido pelo protocolo
ESP
HOST C
HOST A
HOST_C
HOST_B
ICMP
HOST_B
HOST_C
ICMP
HOST B
TELNET
192.168.1.7
192.168.1.2 192.168.1.1
TELNET (ESP)
rede
2009, Edgard Jamhour
6) IKE: Internet Key Exchange
• O IPsec define um mecanismo que permite negociar
as chaves de criptografia de forma automática
• A negociação de SA e o gerenciamento de chaves é
implementado por mecanismos externos ao IPsec.
• A única relação entre esses mecanismos externos e o
IPsec é através do SPI (Secure Parameter Index).
• O gerenciamento de chaves é implementado de
forma automática pelo protocolo:
– IKE: Internet Key Exchange Protocol
2009, Edgard Jamhour
Princípios para Criação das SA
• Princípio:
– Todo dispositivo que estabelece um SA deve ser
previamente autenticado.
– Autenticação de “peers” numa comunicação IPsec.
• Através de segredos pré-definidos.
• Através do Kerberos.
• Através de Certificados.
– Negocia políticas de segurança.
– Manipula a troca de chaves de sessão.
2009, Edgard Jamhour
IKE
• O protocolo IKE é implementado sobre UDP, e utiliza
a porta padrão 500.
IKE
UDP
500
UDP
500
initiator
responder
autenticação efetuada
chave secreta definidia
SA estabelecida
2009, Edgard Jamhour
IPsec faz uma negociação em Duas Fases
• FASE 1: Main Mode
– O resultado da negociação da fase 1 é denominado “IKE
Main Mode SA’.
– A “IKE Main Mode SA” é utilizada para as futuras
negociações de SA entre os peers
• A IKE SA tem um tempo de vida limitado por tempo e o
número de IPsec SA’s negociadas.
• FASE 2: Quick Mode
– O resultado da negociação da fase 2 é denominado “IPsec
SA”
– O “IPsec SA” é utilizado para transmissão de dados
• A IKE SA tem um tempo de vida limitado por tempo e a
quantidade de bytes trocados pela SA.
2009, Edgard Jamhour
Resultado da Negociação IKE
• O resultado de uma negociação IKE é o estabelecimento de 3 SA’s.
– Uma IKE main mode SA e duas IPsec SAs
– A IKE main mode é bidirecional
• PEER1 [IP1] <-------- IKE main mode SA [IP1, IP2] -----> [IP2] PEER 2
• PEER1 [IP1] ---------- IPsec SA [SPI=x] --------------------> [IP2] PEER 2
• PEER1 [IP1] <-------- IPsec SA [SPI=y] ---------------------- [IP2] PEER 2
2009, Edgard Jamhour
Perfect Forward Secrecy (PFS)
• PFS determina se o material negociado para chave mestra
pode ser reutilizado para calcular a chave de sessão.
• Quando session key PFS é habilitado, uma nova troca de
chaves Diffie-Hellman é utiliza para recalcular a chave de
sessão.
• O mecanismo PFS implica em uma nova renegociação “Main
Mode” para cada negociação “Quick Mode”
• Dessa forma, essa opção só deve ser utilizada em ambiente
muito hostis.
2009, Edgard Jamhour
IKE = ISAKMP e OAKLEY
• O IKE (RFC 2409) é uma combinação de dois
protocolos definidos anteriormente:
– OAKLEY (RFC 2412)
• Protocolo de Troca de Chaves
• Utiliza o algoritmo Diffie-Hellman
– ISAKMP (RFC 2408)
• Internet Security Association and Key Management
Protocol
• Conjunto de mensagens para autenticar os peers e
definir os parâmetros da associação de segurança.
2009, Edgard Jamhour
Negociação Diffie-Hellman
• O IPsec utiliza a negociação Diffie-Hellman para criar uma
chave de sessão (simétrica) entre os hosts da comunicação
segura.
• O protocolo Diffie-Hellman é composto de três fases:
– Fase 1:
• Cada host gera uma chave pública a partir de parâmetros précombinados (Diffie-Helman parameters) e um número aleatório
secreto.
– Fase 2:
• Os hosts trocam as chaves públicas
– Fase 3:
• A chave de sessão é calculada a partir das chaves públicas e dos
números aleatórios secretos.
2009, Edgard Jamhour
Algoritmo Diffie-Hellman
• 1) Cada host obtém os parâmetros "Diffie-Hellman“ (podem ser
hard-coded).
– Um número primo 'p' (> 2) e uma base g (numero inteiro < p).
• 2) Cada host gera um número privado X < (p – 1).
• 3) Cada host gera sua chave pública Y:
– Y = g^X % p
• 4) Os hosts trocam as chaves públicas e calculam a chave
secreta Z.
– Zb = Ya^Xb % p e Za=Yb ^Xa % p
• Matematicamente Z é idêntica para ambos os hosts: Za = Zb
2009, Edgard Jamhour
Diffie-HellMan
1. Segredo Pré-Compartilhado
(um número primo e um número inteiro , podem estar no código)
2a. gera a chave
pública Y
a partir do segredo
e de um número
aleatório X.
A
B
3a. envia a chave pública Y para B
2b. gera a chave
pública Y’
a partir do segredo
e de um número
aleatório X’.
3b. envia a chave pública Y’ para A
4a. gera a chave
de sessão Z
usando Y’ e X
4b. gera a chave de
sessão Z usando Y e
X’
2009, Edgard Jamhour
ISAKMP
• O ISAKMP permite que os peers definam todos os
parâmetros da associação de segurança e façam a
troca de chaves.
• Os parâmetros negociados são:
–
–
–
–
–
–
modo de autenticação
SPI
modo túnel ou transporte
modo ESP ou AH
protocolos de assinatura
protocolos de criptografia
2009, Edgard Jamhour
Fases de Criação da SA
• FASE 1: Cria o IKE Main Mode SA
• 1. Policy Negotiation, determina:
– O Algoritmo de criptografia: DES, 3DES, 40bitDES, ou nenhum.
– O Algoritmo de integridade: MD5 or SHA.
– O Método de autenticação: Public Key Certificate, preshared key, or
Kerberos V5.
– O grupo Diffie-Hellman.
• 2. Key Information Exchange
– Utiliza Diffie-Helman para trocar um segredo compartilhado
• 3. Authentication
– Utiliza um dos mecanismos da fase 1 para autenticar o usuário.
2009, Edgard Jamhour
Fases de Criação da SA
• FASE 2: Cria a IPsec SA
– Define o SA que será realmente usado para comunicação
segura
• 1. Policy Negotiation
– Determina:
• O protocolo IPsec: AH, ESP.
• O Algoritmo de Integridade: MD5, SHA.
• O Algoritmo de Criptografia: DES, 3DES, 40bitDES, or
none.
• O SA e as chaves são passadas para o driver IPsec,
junto com o SPI.
2009, Edgard Jamhour
Modos ISAKMP
• O ISAKMP define quatro modos de operação:
– Troca Básica
• Consiste de 4 mensagens
• A troca de chaves é feita com as identidades
• Não protege a identidade
– Troca com Proteção de Identidade
• Consiste de 6 mensagens
• Protege a Identidade
– Troca somente Autenticação
• Não calcula chaves
• Não protege a Identidade
– Troca Agressiva
• Consiste de 3 mensagens
• Não protege a Identidade
2009, Edgard Jamhour
Negociação ISAKMP (Fase 1)
modo básico
1) Associação de Segurança, Proposta, Transformação, Nonce
2) Associação de Segurança, Proposta, Transformação, Nonce
3) Troca de Chaves, Identidade, Assinatura, Certificado
B
A
4) Troca de Chaves, Identidade, Assinatura, Certificado
SA
associação de
segurança
(chave sessão
+ algoritmo)
SPI
Algoritmos
MD5
SHA1
Algoritmos
SHA1
SA
associação de
segurança
(chave sessão
+ algoritmo)
SPI
2009, Edgard Jamhour
Negociação ISAKMP (Fase 1)
com proteção de identidade
1) Associação de Segurança, Proposta, Transformação
2) Associação de Segurança, Proposta, Transformação
3) Troca Básica, Nounce
B
A
4) Troca Básica, Nounce
SA
associação de
segurança
(chave sessão
+ algoritmo)
SPI
5) Identidade, Assinatura, Certiificado, Hash
Algoritmos
MD5
SHA1
6) Identidade, Assinatura, Certificado, Hash
Algoritmos
SHA1
SA
associação de
segurança
(chave sessão
+ algoritmo)
SPI
2009, Edgard Jamhour
Negociação ISAKMP (Fase 1)
modo agressivo
1) Associação de Segurança, Proposta, Transformação, Troca de Chave, Nonce, Identidade
2) Associação de Segurança, Proposta, Transformação, Troca de Chave, Nonce, Identidade, Assinatura, Certificado
3) Assinaturas, Certificado, Hash
A
SA
associação de
segurança
(chave sessão
+ algoritmo)
SPI
Algoritmos
MD5
SHA1
B
Algoritmos
SHA1
SA
associação de
segurança
(chave sessão
+ algoritmo)
SPI
2009, Edgard Jamhour
Negociação ISAKMP (Fase 2)
modo rápido (quick mode)
1) Associação de Segurança , Propostas, Identificação do Tráfego, Nonce
2) Associação de Segurança, Proposta Selecionada, Identificação do tráfego, Nonce
3) Hash
B
A
4) Notificação
SA
associação de
segurança
(chave sessão
+ algoritmo)
SPI
Algoritmos
MD5
SHA1
Algoritmos
SHA1
SA
associação de
segurança
(chave sessão
+ algoritmo)
SPI
2009, Edgard Jamhour
7) Combinação de SA (SA bundle)
• As funcionalidades oferecidas nos modos Túnel, Transporte
AH e ESP não são idênticas.
• Muita vezes são necessárias mais de uma SA para satisfazer
os requisitos de segurança de uma comunicação segura.
SA Tunnel com ESP
INTERNET
SA Transporte com AH
2009, Edgard Jamhour
Tunelamento Múltiplo (Iterate Tunneling)
• IPsec permite criar várias camadas de tunelamento
terminando em end points diferentes.
INTERNET
2009, Edgard Jamhour
Combinação de SA’s
Associação de Segurança 1
Associação de Segurança 2
Rede não
Confiável
Rede não
Confiável
Associação de Segurança 2
Associação de Segurança 1
Rede não
Confiável
Rede não
Confiável
2009, Edgard Jamhour
8) Configuração do Firewall
• Os firewalls devem ser configurados para:
• 1) Liberar a porta usada pelo IKE para
negociação do IPsec:
• IKE usa a porta UDP 500
• 2) Liberar os protocolos IPsec:
• ESP: Protocolo IP tipo 50
• AH: Protocolo IP tipo 51
2009, Edgard Jamhour
NAT Traversal (NAT-T)
• Em seu modo básico, o IPsec não pode atravessar
roteadores que implementam NAT, pois as portas
TCP e UDP podem estar criptografadas.
• Para resolver esse problema, um mecanismo
denominado “Traversal NAT” encapsula os pacotes
IPsec em UDP.
• No caso do IPsec, o encapsula mento é feito na porta
UDP 4500, a qual também deve ser liberada no
firewall.
2009, Edgard Jamhour
9) IPsec e L2TP
• O IPsec realiza apenas tunelamento em camada 3.
• Isto implica que apenas protocolos da pilha TCP/IP
podem ser transportados pelo IPsec.
• Uma técnica comum consiste em combinar o L2TP e
o IPsec para criar tuneis de camada 2, capazes de
transportar qualquer tipo de protocolo.
2009, Edgard Jamhour
Tunelamento L2TP com IPsec
• L2TP e IPsec podem ser combinados para implementar um mecanismo
completo de VPN para procotolos de rede diferentes do IP, como IPx e
NetBEUI.
2009, Edgard Jamhour
Padrões Relacionados ao IPsec
• RFC 2401 :
– Security Architecture for the Internet Protocol
• RFC 2402:
– IP Authentication Header
• RFC 2403:
– The Use of HMAC-MD5-96 within ESP and AH
• RFC 2404:
– The Use of HMAC-SHA-1-96 within ESP and AH
• RFC 2405:
– The ESP DES-CBC Cipher Algorithm With Explicit IV
2009, Edgard Jamhour
Padrões Relacionados ao IPsec
• RFC 2406:
– IP Encapsulating Security Payload (ESP)
• RFC 2407:
– The Internet IP Security Domain of Interpretation for ISAKMP
• RFC 2408:
– Internet Security Association and Key Management Protocol (ISAKMP)
• RFC 2409:
– The Internet Key Exchange (IKE)
2009, Edgard Jamhour
Conclusão
• IPsec é uma extensão de segurança para o protocolo
IP definido pelo IETF, que permite criar políticas que
servem tanto para intranets quanto para extranets.
• IPsec define mecanismos que são padronizados
tanto para IPv4 (IPsec é facultativo) quanto para IPv6
(neste caso, IPsec é mandatório).
• Existem críticas sobre o modo atual de operação do
IKE em dua fases, bem como o uso do protocolo AH.
Esses temas são sujeitos a revisões futuras
2009, Edgard Jamhour
Download

IPsec e Novas Tecnologias para Firewalls