74
IPsec: IP Seguro Edgard Jamhour

IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

IPsec: IP Seguro

Edgard Jamhour

Page 2: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

1) O que é IPsec?

• 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)

Page 3: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

Estrutura Geral do IPsec

Enlace

IP

Transporte (TCP/UDP)

Sockets

Aplicação

IKE

Base de

SAs

Base de

Políticas

consulta refere

consulta

Administrador

configura

Solicita criação

do SA

IPsec

Page 4: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

Ações IPsec na Transmissão

Discard Bypass

Regras IPsec

• gerar assinaturas digitais

• criptografar os dados

IPSec

Enlace

IP

IPsec AH

IP

Negociar IPsec

IP X

IPsec ESP

Page 5: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

Ações IPsec na Recepção

Discard Bypass

Regras IPsec

• verifica assinaturas

• decriptografa

IPSec

Enlace

IP

IPsec AH

IP

Negociar IPsec

IP

X

IPsec ESP

X IP

Page 6: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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.

Page 7: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

Modo Túnel e Transporte

INTERNET

Conexão IPsec em modo Transporte

INTERNET

Conexão IPsec em modo Túnel

Page 8: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

Modos de Utilização do IPsec

HOST A HOST

HOST A REDE

REDE A REDE

rede

Insegura

rede

Insegura

rede

Insegura

Page 9: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

Modos de Utilização do IPsec

rede

Insegura

pacote protegido

rede

Insegura pacote

desprotegido

rede

Insegura

Túnel ou

Transporte

Túnel

Túnel

Page 10: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

Modo Túnel

• Os endereços IP externos correspondem as extremidades do

túnel, e os endereços IP internos correspondem aos hosts.

INTERNET

SERVIDOR

B

SERVIDOR

C SERVIDOR

A

Page 11: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

QUADRO COMPARATIVO

FISICA

ENLACE

REDE

TRANSPORTE

APLICAÇÃO

FISICA

ENLACE

REDE

SSL

APLICAÇÃO

FISICA

ENLACE

REDE (IP)

TRANSPORTE

APLICAÇÃO

FISICA

ENLACE

REDE (IP)

TRANSPORTE

APLICAÇÃO

TRANSPORTE

IPSEC

Aplicação

S.O.

NIC

Pilha

Normal SSL

IPSEC

TUNEL

IPSEC

TRANSPORTE

IPSEC

REDE (IP Túnel)

Page 12: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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

Page 13: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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 contra injeção de pacotes

falsos (spoofing)

Page 14: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

AH: Modo Túnel vs Modo Transporte

IP TCP/UDP … dados …

IP TCP/UDP AH

IP AH

* A assinatura não cobre os campos mutáveis

especifica os gateways nas pontas do túnel

IP sem proteção

Modo AH Transporte

Modo AH Túnel

Assinatura*

… dados …

IP TCP/UDP … dados …

Assinatura*

especifica a origem e destino

Page 15: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

Authentication Header

Next Header reserved

1 byte 1 byte

Length reserved

SPI: Security Parameter Index

Authentication Data

(ICV: Integrity Check Value)

Campo de Tamanho Variável, depende do protocolo de autenticação utilizado

1 byte 1 byte

• Provê serviços de autenticação e Integridade de

Pacotes.

Sequence Number

Page 16: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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 bits.

• Security Parameter Index (SPI):

– Identifica a SA (associação de segurança) que deverá ser usada para

validar o pacote

• Authentication Data:

– código de verificação de integridade (ICV) de tamanho variável,

depende do protocolo utilizado.

Page 17: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

Authentication Data

• Para enviar um pacote:

1. O transmissor substitui todos os campos que mudam ao

longo da transmissão com 0’s (por exemplo, o TTL)

2. O pacote é completado com 0’s para se tornar múltiplo de

16 bits.

3. Um checksum criptográfico é computado com todos os

campos do pacote:

• Algoritmos: HMAC-MD5 ou HMAC-SHA-1

– MAC: Message Authentication Code

Page 18: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

HMAC: Hash Message Authentication Code

• h = função de hashing (MD5 ou SHA1)

• k = chave secreta

• ipad = 0x363636 ... 3636

• opad = 0x5c5c5 ... c5c5c

Page 19: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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.

Page 20: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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.

• Método de Autenticação

• Tipo de transformação IPsec

• Algoritmos e chaves

• 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.

Page 21: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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.

A B

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

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

Page 22: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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.

IP TCP/UDP DADOS AH

Algoritmo de Integridade ICV

ICV

iguais?

Page 23: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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.

Host A Host B

negociam SA e definem SPI

SPI=deAparaB e SN=1

SPI=deAparaB e SN=2

...

SPI=deBparaA

SPI=daAparaB. SPI=deAparaB

SPI=deBparaA

SPI=deBparaA e SN=1

Page 24: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

Transmissão dos Dados

A B

Quando transmitir para B use

SPI=5

SPI=5

algo. SHA1

chave: xxxx

SPI=5

algo. SHA1

chave: xxxx

IP AH DADOS

SPI=5 assinatura Algo SHA1

IP AH DADOS

SPI=5 assinatura Algo SHA1

assinatura comparação

Page 25: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

AH Modo Tunel e Transporte

SA

INTERNET

SA

SA INTERNET SA

Conexão IPsec em modo Túnel

IPsec AH IPsec AH IPsec AH IPsec AH IPsec AH

Conexão IPsec em modo Transporte

IPsec AH IPsec AH IPsec AH

IP

IP

IP

IP

Page 26: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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 contra spoofing e garante

confidencialidade

Page 27: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

ESP IPSec : Tunel e Transporte

IP TCP/UDP … dados …

IP TCP/UDP ESPH

IP sem proteção

Modo ESP Transporte

criptografia

… dados …

autenticação

ESPT ESPA

IP TCP/UDP ESPH

Modo ESP Túnel

criptografia

… dados …

autenticação

ESPT ESPA IP

Page 28: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

Encrypted Security Payload Header

• ESP provê recursos de autenticação, integridade e

criptografia de pacotes.

Next Header Pad (0 – 255 bytes)

1 byte 1 byte

Pad Length

Security Parameter Index

Encrypted Payload

(dados criptografados)

1 byte 1 byte

Sequence Number

Authentication Data

(tamanho variável)

ESPH

ESPT

ESPA

Page 29: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

Campos do IPsec ESP

• ESPH (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.

• ESPT (Trailler):

– Torna os dados múltiplos de um número inteiro, conforme requerido pelo

algoritmo de criptografia.

– O trailler também é criptografado.

• ESPA (Auth):

– ICV (Integrity Check Value) calculado de forma idêntica ao cabeçalho

AH.

Page 30: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

Transmissão dos Dados

A C

Quando transmitir para C use

SPI=6

SPI=6

algo. DES

chave: yyyyy

SPI=6

algo. DES

chave: yyyy

IP ESP DADOS CRIPTO.

SPI=6

DES com

chave yyyy

ESP

enchimento

IP ESP DADOS CRIPTO.

SPI=6

DES com

chave yyyy

ESP

enchimento

Page 31: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

ESP Modo Tunel e Transporte

SA

INTERNET

SA

SA INTERNET SA

Conexão IPsec em modo Túnel

IPsec ESP IPsec ESP IPsec ESP IPsec ESP IPsec ESP

Conexão IPsec em modo Transporte

IPsec ESP IPsec ESP IPsec ESP

IP

IP

IP

IP

Page 32: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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.

Page 33: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

Estrutura Geral do IPsec

Enlace

IP/IPsec(AH,ESP)

Transporte (TCP/UDP)

Sockets

Protocolo Aplicação

Aplicação IKE

Base de

SAs

Base de

Políticas

consulta refere

consulta

Administrador

configura

Solicita criação

do SA

Page 34: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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.

Page 35: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

Elementos para Configuração do IPsec

Ações

(Ação de Filtro)

Condições

(Lista de Filtros)

Política IPsec Regra de Política

Regra de Política

Regra de Política

Lista de Regras

Page 36: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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

Page 37: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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.

Page 38: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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

Page 39: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

Algoritmos IPsec

• CRIPTOGRAFIA

– MUST NULL (1)

– MUST- TripleDES-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)

Page 40: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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".

Page 41: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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.

B

Rede

A

Rede

B

IP_A IP_B

R_B R_A IP_B IP_A

R_A R_B IP_A IP_B

A

R_B R_A IP_B IP_A

R_A R_B IP_A IP_B

terminação do túnel

in

out

in

out

Page 42: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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).

Page 43: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

Priorização

• Idealmente, as regras deveriam ser avaliadas de acordo com

a granulariadade dos filtros:

1. My IP Address

2. Specific IP Address defined

3. Specific IP Subnet

4. 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.

Page 44: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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

Page 45: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

Exemplo1: Proteção com AH

rede

192.168.1.1 192.168.1.7

ICMP

ICMP (AH)

HOST B

HOST_A HOST_B ICMP

HOST_B HOST_A ICMP

2 REGRAS

HOST A

POLÍTICA: o host B só aceita

mensagens ICMP vindas do

host A protegidas com AH

Page 46: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

Exemplo 2: Proteção com ESP

rede

192.168.1.1 192.168.1.7

TELNET

TELNET (ESP)

HOST B

HOST_C HOST_B ICMP

HOST_B HOST_C ICMP

2 REGRAS

HOST A

POLÍTICA: o HOST C só

pode acessar o HOST B via

telnet protegido pelo protocolo

ESP

192.168.1.2

HOST C

Page 47: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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

Page 48: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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.

Page 49: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

IKE

• O protocolo IKE é implementado sobre UDP, e utiliza

a porta padrão 500.

UDP

500 UDP

500

initiator responder

IKE

autenticação efetuada

chave secreta definidia

SA estabelecida

Page 50: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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.

Page 51: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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

Page 52: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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.

Page 53: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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.

Page 54: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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.

Page 55: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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

Page 56: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

Diffie-HellMan

1. Segredo Pré-Compartilhado

(um número primo e um número inteiro , podem estar no código)

A B 2b. gera a chave

pública Y’

a partir do segredo

e de um número

aleatório X’.

2a. gera a chave

pública Y

a partir do segredo

e de um número

aleatório X. 3a. envia a chave pública Y para B

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’

Page 57: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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

Page 58: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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.

Page 59: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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.

Page 60: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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

Page 61: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

Negociação ISAKMP (Fase 1) modo básico

A B

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

4) Troca de Chaves, Identidade, Assinatura, Certificado

Algoritmos

MD5

SHA1

Algoritmos

SHA1

SA

associação de

segurança

(chave sessão

+ algoritmo)

SPI

SA

associação de

segurança

(chave sessão

+ algoritmo)

SPI

Page 62: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

Negociação ISAKMP (Fase 1) com proteção de identidade

A B

1) Associação de Segurança, Proposta, Transformação

2) Associação de Segurança, Proposta, Transformação

3) Troca Básica, Nounce

4) Troca Básica, Nounce

5) Identidade, Assinatura, Certiificado, Hash

6) Identidade, Assinatura, Certificado, Hash

Algoritmos

MD5

SHA1

Algoritmos

SHA1

SA

associação de

segurança

(chave sessão

+ algoritmo)

SPI

SA

associação de

segurança

(chave sessão

+ algoritmo)

SPI

Page 63: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

Negociação ISAKMP (Fase 1) modo agressivo

A B

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

Algoritmos

MD5

SHA1

Algoritmos

SHA1

SA

associação de

segurança

(chave sessão

+ algoritmo)

SPI

SA

associação de

segurança

(chave sessão

+ algoritmo)

SPI

Page 64: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

Negociação ISAKMP (Fase 2) modo rápido (quick mode)

A B

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

4) Notificação

Algoritmos

MD5

SHA1

Algoritmos

SHA1

SA

associação de

segurança

(chave sessão

+ algoritmo)

SPI

SA

associação de

segurança

(chave sessão

+ algoritmo)

SPI

Page 65: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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.

INTERNET

SA Tunnel com ESP

SA Transporte com AH

Page 66: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

Tunelamento Múltiplo (Iterate Tunneling)

• IPsec permite criar várias camadas de tunelamento

terminando em end points diferentes.

INTERNET

Page 67: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

Combinação de SA’s

Associação de Segurança 1 Associação de Segurança 2

Associação de Segurança 2

Associação de Segurança 1

Rede não

Confiável

Rede não

Confiável

Rede não

Confiável

Rede não

Confiável

Page 68: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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

Page 69: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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.

Page 70: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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.

Page 71: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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.

Page 72: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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

Page 73: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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)

Page 74: IPsec: IP Seguro - PUCPRjamhour/Pessoal/Mestrado/TARC/IPsec.pdf · IPsec: IP Seguro Edgard Jamhour . 1) O que é IPsec? • Padrão aberto baseado em RFC (IETF). –Comunicação

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