VPN - Alessandro Coneglian Bianchini

Transcrição

VPN - Alessandro Coneglian Bianchini
Rede Privada Virtual
- VPN
Eng. Alessandro Coneglian Bianchini
[email protected]
Tópicos Abordados
Introdução a VPN
Protocolos de Tunelamento
Criptografia
Infraestrutura de Chave Pública - PKI
Introdução IPSec
Arquitetura IPSec
Protocolos de Segurança da Arquitetura
IPSec
Internet Key Exchange – IKE
Estudo de Casos
Introdução a VPN
O que é uma VPN?
Para que serve a VPN?
VPN x Link Dedicado
Segurança VPN
O que é uma VPN?
Matriz-SP
192.168.11.3/24
Filial-RJ
192.168.11.2/24
192.168.90.3/24
192.168.90.2/24
Internet
192.168.11.1/24
192.168.11.4/24
192.168.11.5/24
Túnel
192.168.90.1/24
192.168.90.4/24
192.168.90.5/24
Para que serve uma VPN?
Para transmitir dados privado através de
uma rede pública.
A VPN é implementa através de criação
de túneis virtuais.
VPN x Link Dedicado
O preço do link dedicado é proporcional a
distancia a ser interligada.
A VPN utiliza a capilaridade da Internet
para fazer as interligações.
Comparativo......
Segurança VPN
Autenticidade
Integridade
Confidencialidade
Controle de Acesso
Protocolos de Tunelamento
PPTP
L2TP
Point-to-Point Tunneling Protocol
Desenvolvido por um consórcio US-Robotics,
Microsoft, 3Com, Ascend e ECI.
Amplamente utilizado em sistemas windows.
Encapsulamento feito através do protocolo GRE
Autenticação feita através dos protocolos PAP,
CHAP e MS-CHAP.
Criptografia através do MPPE.
Inclui suporte aos protocolos NetBEUI e IPX.
Layer 2 Tunneling Protocol
Desenvolvido pela Cisco System
Herdeiro do PPTP e L2F
Algumas características do PPTP são mantidas.
Utilização
de PPP para acesso remoto
Suporte aos protocolos NetBEUI e IPX
Não prove mecanismo de encapsulamento e
criptografia.
Combinado com o IPSec para realização de
acesso remoto com segurança.
Criptografia
Criptografia de chave simétrica
Criptografia de chave assimétrica
Criptografia de Chave Simétrica
Texto
Texto Criptografado
Este texto é
usado para fazer
a apresentação
no Inatel
Aalsfhaslfd
asldashdashdsak
dhsadjsahdjashdj
asdhsajdhsa
• DES
• 3DES
Algoritmo de
criptografia
Algoritmo de
decriptografia
Texto
Este texto é
usado para fazer
a apresentação
no Inatel
Criptografia de Chave Assimétrica
Privada
Pública
Texto
Texto Criptografado
Este texto é
usado para fazer
a apresentação
no Inatel
Aalsfhaslfd
asldashdashdsak
dhsadjsahdjashdj
asdhsajdhsa
• RSA
Algoritmo de
criptografia
Algoritmo de
decriptografia
Texto
Este texto é
usado para fazer
a apresentação
no Inatel
Infraestrutura de Chave Pública
Certification
Authority
Certificado
Empresa A
Certificado
Empresa B
Tipos de VPN
VPN Client-to-site
VPN Site-to-site
VPN SSL
VPN Client-to-site
VPN Site-to-Site
VPN SSL
Introdução ao IPSec
Ipsec é um conjunto de Protocolos que
definem uma arquitetura e as
especificações do serviço de segurança.
Trabalha em dois modos, Transporte e
Túnel.
Modo Transporte
Pacote original
Modo transporte
Cabeçalho
IP
Cabeçalho
IP
Cabeçalho
TCP
Cabeçalho
IPSec
Dados
Cabeçalho
TCP
Dados
Modo Túnel
Pacote original
Modo túnel
Cabeçalho
IP
Novo
Cabeçalho IP
Cabeçalho
TCP
Cabeçalho
IPSec
Dados
Cabeçalho
IP
Cabeçalho
TCP
Dados
Arquitetura IPSEC
Arquitetura
ESP
AH
Algoritmo de
criptografia
Algoritmo de
autenticação
DOI
Gerenciamento de Chaves
Políticas
Protocolos de Segurança da
Arquitetura IPSec
Encapsulation Security Payload – ESP
Authentication Header – AH
Protocolo ESP
Cabeçalho
IP
Pacote original
Cabeçalho
TCP
Modo transporte
Autenticado
Cabeçalho IP
Cabeçalho
ESP
Cabeçalho
TCP
Pacote original
Cabeçalho
IP
Cabeçalho
TCP
Modo túnel
Dados
ESP
Trailer
ESP
Autenticação
Encriptografado
s
Novo
Cabeçalho
IP
Dados
Dados
Autenticado
Cabeçalho
ESP
Cabeçalho
IP
Cabeçalho
TCP
s
Dados
Encriptografad
ESP
Trailer
ESP
Autenticação
Protocolo ESP – Cont.
SPI
Sequence number
Protected Data
Pad
Pad Length
Next header
Autentication Data
ESP Modo Transporte
ESP Modo Tunnel
IP Header
New IP Header
SPI
SPI
Sequence number
Sequence number
Inicialization Vector
Authentication
Inicialization Vector
TCP Header
Encrypted
Encrypted
Data
Pad
Pad Length
IP Header
TCP Header
Next header
Autentication Data
Data
Pad
Pad Length
Next header
Autentication Data
Authentication
Protocolo AH
Cabeçalho
IP
Pacote original
Cabeçalho
TCP
Dados
Autenticado
Modo transporte
Pacote original
Cabeçalho
IP
Cabeçalho
IP
Cabeçalho de
Autenticação
Cabeçalho
TCP
Cabeçalho
TCP
Dados
Dados
Autenticado
Modo túnel
Novo
Cabeçalho IP
Cabeçalho
Autenticação
Cabeçalho
IP
s
Cabeçalho
TCP
s
Dados
Protocolo AH - Cont.
Next header
Payload
Length
Reservado
SPI
Sequence number
Authentication Data
AH no Modo Transporte
IP Header
Next header
Payload
Length
Reserved
SPI
Authenticated
AH no Modo Túnel
Sequence number
IP Header
TCP Header
Next header
Data
Payload
Length
SPI
Authenticated
Sequence number
IP Header
TCP Header
Data
Reserved
Diffie-Hellman
1. O primeiro passo é combinar dois números inteiros (A e B).
2. Cada um (Alice e Bob) escolhem um número inteiro secreto.
Alice escolhe o número X e Bob escolhe o número Y. 3. Alice usa a
fórmula: Ra = (AX) mod B.
4. Bob usa a fórmula: Rb = (AY) mod B. 5. Alice divulga para Bob
que o resultado foi Ra.
6. Bob divulga para Alice que o resultado foi Rb. 7. Alice usa a
fórmula seguinte para descobrir a chave privada (PSK): PSK =
(RbX) mod B.
8. Bob usa a fórmula seguinte para descobrir a chave privada (PSK):
PSK = (RaY) mod B. A partir deste momento, se Alice enviar um email para Bob encriptado por AES-256, utilizando a chave PSK,
somente quem souber essa chave (Bob ou Alice) poderá
desencriptar o e-mail e ler seu conteúdo.
Exemplo Prático
1.Que eles tenham combinado A = 7 e B = 11.
2. Que Alice tenha escolhido X = 6.
3. Que Bob tenha escolhido Y = 3
4. Alice envia para Bob Ra = 4. [Ra = (76) mod 11 => Ra = 4]
5. Bob envia para Alice Rb = 2. [Rb = (73) mod 11 => Rb = 2]
6. Alice calcula PSK = 9. [PSK = (26) mod 11 => PSK = 9]
7. Bob calcula PSK = 9. [PSK = (43) mod 11 => PSK = 9] A chave
definida (PSK) é igual a 9.
Descobrindo a chave
Para descobrir a chave calculada, é
preciso utilizar a fórmula: PSK = (AX*Y)
mod B.
Como vocês podem ver, as combinações
de pares X e Y são infinitas e é muito
difícil que alguém consiga descobrir os
dois números.
Modelo
DH Group 1: 768-bit group
DH Group 2: 1024-bit group
DH Group 5: 1536-bit group
Internet Key Exchange - IKE
É um protocolo híbrido baseado em
framework, definido pelo Internet Security
Association and Key Manengement
Protocol - ISAKMP
ISAKMP
É implementado como parte de dois
protocolos de gerenciamento de chave
OAKLEY, desenvolvido por Hilare Orman
(criptografista da Universidade do
Arizona), e SKEME, protocolo de troca de
chave desenvolvido por Hugo Krawczyk,
também criptografista.
Protocolo ISAKMP
Initiator Cookie
Responder Cookie
Next Payload
Major Version
Minor Version
Message ID
Message Length
Exchange
Type
Flag
ISAKMP – Interligação de Payload
Initiator Cookie
I
S
A
K
M
P
Responder Cookie
KE
0
KE
Payload
Exchange
Type
Flag
Message ID
Total Message Length
Nonce
0
KE Payload Lenght
KE
Payload
KE Payload Data
0
0
Nonce Payload Data
H
E
A
D
E
R
Nonce Payload Lenght
Nonce
Payload
ISAKMP – Troca de Chave
O ISAKMP descreve duas fases
separadas de negociação.
Na primeira, os terminais se autenticam e
estabelecem um canal seguro entre eles.
Na segunda, utilizam autenticação e o
canal seguro criado pela primeira fase
serve para a negociação de serviços de
segurança de diferentes protocolos.
Métodos de Autenticação
Preshared Key
Digital Signatures
Digital
Signature Algorithm (DSA)
Rivest Shamir Adelman (RSA)
Nonces
Geração da Chave Primária
• Para autenticação com preshered key,
SKEYD=PRF
(preshared-key Ni | Nr)
• Para autenticação com assinatura,
SKEYD=PRF
(Ni | Nr, gxy)
• Para autenticação com nonce
SKEYD=PRF
(hash Ni | Nr, CKY-1 CKY-R)
Derivação da Chave Primária
SKEYID_d, usada no IPSEC SA;
SKEYD_d = PRF(SKEYD, gxy | CKY-I | CKY-R | 0)
SKEYID_a, usada para prover integridade aos dados
e autenticação de origem para as mensagens IKE;
SKEYD_a = PRF(SKEYD, SKEYD_d | gxy | CKY-I | CKY-R | 1)
SKEYID_e, usada para criptografar as mensagens
do IKE.
SKEYD_e = PRF(SKEYD, SKEYD_a | gxy | CKY-I | CKY-R | 2)
Fases do IKE
Fase 1
Main
Mode
Agressive Mode
Fase 2
Quick
Mode
Exemplo Preshared Key
•
e
o
R).
Iniciador
Respondedor
Cabeçalho,SA
Cabeçalho,SA
Cabeçalho,KE,Nonce
Cabeçalho,KE,Nonce
Cabeçalho, IDi,Hash
Cabeçalho, IDr,Hash
hash do iniciador:
HASH-I = PRF(SKEYD,gi | gr | CKY-I | CKY-R SA-offer | ID-I);
hash do respondedor:
HASH-R = PRF(SKEYD,gr | gi | CKY-R | CKY-R SA-offer | ID-
Estudo de Caso
Estudo de caso
VPN LAN-to-Lan
Site A
Site B
Gateway VPN A
192.168.11.2/24
Gateway VPN B
200.204.200.120/26
ADSL512K/128K
192.168.11.5/24
Internet(ADSL)
200.171.161.54
192.168.90.2/24
ADSL 256K/128K
192.168.90.5/24
200.204.200.120
200.171.161.54
Internet Security Association and Key Management Protocol
Initiator cookie: 0x4CC6A1AEDF49CC83
Responder cookie: 0x0000000000000000
Next payload: Security Association (1)
Version: 1.0
Exchange type: Identity Protection (Main Mode) (2)
Flags
.... ...0 = No encryption
.... ..0. = No commit
.... .0.. = No authentication
Message ID: 0x00000000
Length: 176
Security Association payload
Next payload: NONE (0)
Length: 148
Domain of interpretation: IPSEC (1)
Situation: IDENTITY (1)
Proposal payload # 0
Next payload: NONE (0)
Length: 136
Proposal number: 0
Protocol ID: ISAKMP (1)
SPI size: 0
Number of transforms: 4
Transform payload # 0
Next payload: Transform (3)
Length: 32
Transform number: 0
Transform ID: KEY_IKE (1)
Life-Type (11): Seconds (1)
Life-Duration (12): Duration-Value (3600)
Encryption-Algorithm (1): 3DES-CBC (5)
Hash-Algorithm (2): MD5 (1)
Authentication-Method (3): PSK (1)
Group-Description (4): 1536 bit MODP group (5)
Transform payload # 1
Next payload: Transform (3)
Length: 32
Transform number: 1
Transform ID: KEY_IKE (1)
Life-Type (11): Seconds (1)
Life-Duration (12): Duration-Value (3600)
Encryption-Algorithm (1): 3DES-CBC (5)
Hash-Algorithm (2): SHA (2)
Authentication-Method (3): PSK (1)
Group-Description (4): 1536 bit MODP group (5)
Transform payload # 2
Next payload: Transform (3)
Length: 32
Transform number: 2
Transform ID: KEY_IKE (1)
Life-Type (11): Seconds (1)
Life-Duration (12): Duration-Value (3600)
Encryption-Algorithm (1): 3DES-CBC (5)
Hash-Algorithm (2): SHA (2)
Authentication-Method (3): PSK (1)
Group-Description (4): Alternate 1024-bit MODP group (2)
Transform payload # 3
Next payload: NONE (0)
Length: 32
Transform number: 3
Transform ID: KEY_IKE (1)
Life-Type (11): Seconds (1)
Life-Duration (12): Duration-Value (3600)
Encryption-Algorithm (1): 3DES-CBC (5)
Hash-Algorithm (2): MD5 (1)
Authentication-Method (3): PSK (1)
Group-Description (4): Alternate 1024-bit MODP group (2)
200.204.200.120
200.171.161.54
Initiator cookie: 0x4CC6A1AEDF49CC83
Responder cookie: 0xAF256C2903459977
Next payload: Security Association (1)
Version: 1.0
Exchange type: Identity Protection (Main Mode) (2)
Flags
.... ...0 = No encryption
.... ..0. = No commit
.... .0.. = No authentication
Message ID: 0x00000000
Length: 80
Security Association payload
Next payload: NONE (0)
Length: 52
Domain of interpretation: IPSEC (1)
Situation: IDENTITY (1)
Proposal payload # 0
Next payload: NONE (0)
Length: 40
Proposal number: 0
Protocol ID: ISAKMP (1)
SPI size: 0
Number of transforms: 1
Transform payload # 0
Next payload: NONE (0)
Length: 32
Transform number: 0
Transform ID: KEY_IKE (1)
Life-Type (11): Seconds (1)
Life-Duration (12): Duration-Value (3600)
Encryption-Algorithm (1): 3DES-CBC (5)
Hash-Algorithm (2): MD5 (1)
Authentication-Method (3): PSK (1)
Group-Description (4): 1536 bit MODP group (5)
200.204.200.120
200.171.161.54
Internet Security Association and Key Management Protocol
Initiator cookie: 0x4CC6A1AEDF49CC83
Responder cookie: 0xAF256C2903459977
Next payload: Key Exchange (4)
Version: 1.0
Exchange type: Identity Protection (Main Mode) (2)
Flags
.... ...0 = No encryption
.... ..0. = No commit
.... .0.. = No authentication
Message ID: 0x00000000
Length: 244
Key Exchange payload
Next payload: Nonce (10)
Length: 196
Key Exchange Data
Nonce payload
Next payload: NONE (0)
Length: 20
Nonce Data
200.204.200.120
200.171.161.54
Internet Security Association and Key Management Protocol
Initiator cookie: 0x4CC6A1AEDF49CC83
Responder cookie: 0xAF256C2903459977
Next payload: Key Exchange (4)
Version: 1.0
Exchange type: Identity Protection (Main Mode) (2)
Flags
.... ...0 = No encryption
.... ..0. = No commit
.... .0.. = No authentication
Message ID: 0x00000000
Length: 244
Key Exchange payload
Next payload: Nonce (10)
Length: 196
Key Exchange Data
Nonce payload
Next payload: NONE (0)
Length: 20
Nonce Data
200.204.200.120
200.171.161.54
Internet Security Association and Key Management Protocol
Initiator cookie: 0x4CC6A1AEDF49CC83
Responder cookie: 0xAF256C2903459977
Next payload: Identification (5)
Version: 1.0
Exchange type: Identity Protection (Main Mode) (2)
Flags
.... ...1 = Encryption
.... ..0. = No commit
.... .0.. = No authentication
Message ID: 0x00000000
Length: 60
Encrypted payload (32 bytes)
200.204.200.120
200.171.161.54
Internet Security Association and Key Management Protocol
Initiator cookie: 0x4CC6A1AEDF49CC83
Responder cookie: 0xAF256C2903459977
Next payload: Identification (5)
Version: 1.0
Exchange type: Identity Protection (Main Mode) (2)
Flags
.... ...1 = Encryption
.... ..0. = No commit
.... .0.. = No authentication
Message ID: 0x00000000
Length: 60
Encrypted payload (32 bytes)
Modo Rápido (quick mode)
Iniciador
respondedor
Cabeçalho,HASH1,SA,Ni [,KE] [,Idci,Idcr]
Cabeçalho,HASH2,SA,Nr [,KE] [,Idci,Idcr]
Cabeçalho,HASH3
HASH1=PRF(SKEYID_a, M-ID | SA | Ni | [KE] [| IDci | IDcr])
HASH2=PRF(SKEYID_a ,M-ID | Ni | SA | Nr| [KE] [| IDci | IDcr])
HASH3=PRF(SKEYID_a, 0| M-ID | Ni | Nr| )
200.204.200.120
200.171.161.54
Internet Security Association and Key Management
Protocol
Initiator cookie: 0x4CC6A1AEDF49CC83
Responder cookie: 0xAF256C2903459977
Next payload: Hash (8)
Version: 1.0
Exchange type: Quick Mode (32)
Flags
.... ...1 = Encryption
.... ..0. = No commit
.... .0.. = No authentication
Message ID: 0x60B914E0
Length: 380
Encrypted payload (352 bytes)
200.204.200.120
200.171.161.54
Internet Security Association and Key Management
Protocol
Initiator cookie: 0x4CC6A1AEDF49CC83
Responder cookie: 0xAF256C2903459977
Next payload: Hash (8)
Version: 1.0
Exchange type: Quick Mode (32)
Flags
.... ...1 = Encryption
.... ..0. = No commit
.... .0.. = No authentication
Message ID: 0x243F6037
Length: 380
Encrypted payload (352 bytes)
200.204.200.120
200.171.161.54
Internet Security Association and Key Management
Protocol
Initiator cookie: 0x4CC6A1AEDF49CC83
Responder cookie: 0xAF256C2903459977
Next payload: Hash (8)
Version: 1.0
Exchange type: Quick Mode (32)
Flags
.... ...1 = Encryption
.... ..0. = No commit
.... .0.. = No authentication
Message ID: 0x243F6037
Length: 348
Encrypted payload (320 bytes)
200.204.200.120
200.171.161.54
Internet Security Association and Key Management
Protocol
Initiator cookie: 0x4CC6A1AEDF49CC83
Responder cookie: 0xAF256C2903459977
Next payload: Hash (8)
Version: 1.0
Exchange type: Quick Mode (32)
Flags
.... ...1 = Encryption
.... ..0. = No commit
.... .0.. = No authentication
Message ID: 0x60B914E0
Length: 348
Encrypted payload (320 bytes)
200.204.200.120
200.171.161.54
Internet Security Association and Key Management Protocol
Initiator cookie: 0x4CC6A1AEDF49CC83
Responder cookie: 0xAF256C2903459977
Next payload: Hash (8)
Version: 1.0
Exchange type: Quick Mode (32)
Flags
.... ...1 = Encryption
.... ..0. = No commit
.... .0.. = No authentication
Message ID: 0x60B914E0
Length: 52
Encrypted payload (24 bytes)
200.204.200.120
200.171.161.54
Internet Security Association and Key Management Protocol
Initiator cookie: 0x4CC6A1AEDF49CC83
Responder cookie: 0xAF256C2903459977
Next payload: Hash (8)
Version: 1.0
Exchange type: Quick Mode (32)
Flags
.... ...1 = Encryption
.... ..0. = No commit
.... .0.. = No authentication
Message ID: 0x243F6037
Length: 52
Encrypted payload (24 bytes)
200.204.200.120
Encapsulating Security Payload
SPI: 0x57d9bb0d
Sequence: 1
Data (108 bytes)
200.171.161.54

Documentos relacionados