ipsec

Anuncio
IPSEC
Objetivo:
proporcionar a IP (IPv4, IPv6) mecanismos
de seguridad
Servicios
de Seguridad
Integridad sin conexión
Control de Acceso
Autenticación
Mecanismos anti-replay
Confidencialidad de datos
Confidencialidad de flujo de tráfico limitada
dit
UPM
© 2000, DIT-UPM
IPSEC
1
IPSEC
Modos
de utilización de IPSEC
Modo Transporte
Directamente entre sistemas remotos
Los sistemas remotos deben implantar IPSEC
Modo Túnel
Entre sistemas intermedios
Se establece un túnel seguro para encapsular los
datagramas IP inseguros
dit
UPM
© 2000, DIT-UPM
IPSEC
2
Ámbito de IPSEC
IPSEC
ofrece tres funcionalidades principales:
Sólo autenticación
Conocida como Authentication Header (AH)
Cifrado + Autenticación
Conocida como Encapsulating Security Payload (ESP)
Una función de gestión de claves
IKE (ISAKMP / Oakley)
IPSEC
no define los algoritmos de seguridad que
se usan.
Marco para poder utilizar múltiples algoritmos a
elección de los sistemas participantes.
dit
UPM
© 2000, DIT-UPM
IPSEC
3
Ámbito de IPSEC
¿Cómo
se transmite IPSEC?
Una nueva cabecera en el datagrama IP entre la
cabecera original y los datos
Para ESP, los datos se cifran y se añade una
terminación de datagrama
Datagrama
IP
Cabecera IP original
(IPv4 o IPv6)
Datos: TCP/UDP/
IP tunelado, etc.
IP Protocol: 17 (UDP), 6 (TCP), 47 (GRE), etc,
Datagrama
IPSEC
Cabecera IP original
(IPv4 o IPv6)
Cabecera
IPSEC
IP Protocol: IPSEC (50-ESP, 51-AH)
dit
UPM
© 2000, DIT-UPM
Datos (quizás cifrados): Terminación
TCP/UDP/IP tunelado, etc.
IPSEC
Next Header: 17 (UDP), 6 (TCP),
47 (GRE), etc
IPSEC
4
IPSEC Security Association (SA)
Contexto
de interoperabilidad usada en AH y ESP
Relación uno a uno entre transmisor y receptor que
define el conjunto de parámetros de seguridad
utilizados
Es necesario establecer una SA previamente a la
comunicación: IKE
Contenido de una SA:
Security Parameter Index (SPI)
IP Destination Address
Security Protocol Identifier
dit
UPM
© 2000, DIT-UPM
IPSEC
5
Security Association (SA)
Security
Parameter Index (SPI)
Bitstring asignado a la SA con significado local sólo.
Puntero a base de datos de SA (SPD: Security Policy
Database).
Se transmite en las cabeceras de AH y ESP para
seleccionar la SA que procesará dicho mensaje
IP
Destination Address
Solo se permiten direcciones unicast
Security
Protocol Identifier (SPI)
Identifica que tipo de seguridad se usa
AH (solo autenticación)
ESP (cifrado y posiblemente autenticación)
dit
UPM
© 2000, DIT-UPM
IPSEC
6
¿ Qué define una SA (I) ?
Sequence
Number Counter
Sequence
Counter Overflow
Valor de 32 bits para generar el numero de secuencia
transmitido en las cabeceras AH y ESP
Indicador de acción ante un llenado del nº de
secuencia
Anti-Replay
Window
Ventana para limitar la aceptación de datagramas
válidos
AH
Information
Algoritmos de autenticación, claves, tiempos de vida,
etc. usados en AH
dit
UPM
© 2000, DIT-UPM
IPSEC
7
¿ Qué define una SA (II) ?
ESP
Information
Algoritmos de cifrado y autenticación, claves, valores
de inicio, tiempos de vida, etc. usados en ESP
IPSEC
Protocol Mode
Modo transporte, túnel o wildcard
SA
Lifetime
Intervalo de tiempo o bytes después del cual hay que
sustituirla por una nueva SA
Path
MTU
Máximo tamaño de paquetes transmitidos sin
fragmentación
dit
UPM
© 2000, DIT-UPM
IPSEC
8
Modo de Autenticación: AH
AH:
Authentication Header
Proporciona
soporte para la autenticación e
integridad de datagramas IP
Los cambios en el contenido son detectados
Los destinatarios pueden autenticar al origen
Previene los ataques de IP-spoofing
Protege el ataque de retransmisión
dit
UPM
© 2000, DIT-UPM
IPSEC
9
IPSEC Authentication Header (AH)
Bit:
0
8
16
Next Header Payload Length
32
RESERVED
Security Parameter Index (SPI)
Sequence Number
Authentication Data (variable)
dit
UPM
© 2000, DIT-UPM
IPSEC
10
IPSEC Authentication Header
Next
Header: tipo de protocolo de datos que se
transmite dentro de IP (p.e. TCP, UDP, GRE, etc.)
Payload
Length: Longitud de la cabecera AH
Security
Parameter Index (SPI): identificación de
la SA de este datagrama.
Sequence
Number: contador que se incrementa
monotónicamente con cada paquete
Authentication
dit
Value (ICV)
UPM
© 2000, DIT-UPM
Data: contiene el Integrity Check
IPSEC
11
Authentication Header (AH)
autenticación se basa en el uso de un Integrity
Check Value con un algoritmo especificado en la SA.
Entrada: porción del mensaje y clave secreta
Salida: ICV que se transmite en el campo
Authentication Data de AH
Se hace el calculo sobre:
La
Todo el contenido del datagrama
Los campos de la cabecera IP que no cambian en
tránsito o son predecibles
La cabecera AH expecto el campo Authentication
Data
Algoritmos:
SHA-1
dit
UPM
© 2000, DIT-UPM
para interoperabilidad, al menos MD5 y
IPSEC
12
Calculo de Authentication Data
Datagrama
IP
Cabecera IP original
(IPv4 o IPv6)
Datos: TCP/UDP/
IP tunelado, etc.
Solo parámetros
fijos o predecibles
Algoritmo
Datagrama
IPSEC
Cabecera IP original Campos
(IPv4 o IPv6)
fijos AH
ICV
Auth.
Data
Campos mutables de cabecera IPv4
TTL
TOS
Header Checksum
Flags
Fragment Offset
dit
UPM
© 2000, DIT-UPM
IPSEC
Datos: TCP/UDP/
IP tunelado, etc.
Campos predecibles de
cabecera IPv4
Destination Address
13
Anti-Replay
Ataque:
retransmitir paquete válido
Defensa: número de secuencia en cabecera AH
Al establecer una SA, se inicializa a 0
Con cada paquete, se incrementa en 1 y se envía.
Si se llega a 232-1, se termina la SA y se negocia
otra
Pero
IP no asegura la entrega ni el orden
El receptor tiene ventana deslizante de tamaño 64
Especifica los números de secuencia intermedios
que el receptor es capaz de aceptar
dit
UPM
© 2000, DIT-UPM
IPSEC
14
Modo de cifrado: ESP
ESP:
Encapsulating Security Payload
Proporciona:
Confidencialidad de contenidos
Confidencialidad limitada de flujo de tráfico
Opcionalmente, servicio de autenticación como AH
dit
UPM
© 2000, DIT-UPM
IPSEC
15
Campos de ESP
Security
Parameter Index (SPI): identificación de la SA de
este datagrama.
Sequence
Number: contador que se incrementa
monotónicamente con cada paquete
Payload
Data: Datos cifrados del protocolo IP
Padding:
bytes extra necesarios si el algoritmo de cifrado
requiere bloques completos de texto
Pad
Length: Numero de bytes de pad en padding
Next
Header: tipo de protocolo de datos en el payload data.
Authentication
Data: ICV calculado sobre todo el datagrama
(menos el campo Authentication Data)
dit
UPM
© 2000, DIT-UPM
IPSEC
16
Formato del datagrama ESP
Bit: 0
16
24
32
Security Parameter Index (SPI)
Sequence Number
Payload Data (variable)
Autenticado
Cifrado
Padding (0 – 256 bytes)
Pad Length
Next Header
Authentication Data (Variable)
dit
UPM
© 2000, DIT-UPM
IPSEC
17
Funcionamiento de ESP
Datagrama
IP
Cabecera IP original
(IPv4 o IPv6)
Datagrama
IPSEC
Algoritmo
cifrado
Cabecera IP original SPI Seq.
(IPv4 o IPv6)
Num.
dit
UPM
© 2000, DIT-UPM
Payload
Data
IPSEC
Datos: TCP/UDP/
IP tunelado, etc.
Padding
Pad
Length
Next
Header
Authentication
Data
18
Algoritmos criptográficos
Se
especifica en la SA
Para cifrado, se deben usar algoritmos de cifrado
simétrico
Para interoperabilidad, al menos se deben soportar:
DES en modo CBC para cifrado
MD5 y SHA-1 para autenticación
Se
pueden usar muchos otros (con identificador):
Por ejemplo, triple DES, RC5, IDEA, CAST, Blowfish,
etc.
dit
UPM
© 2000, DIT-UPM
IPSEC
19
Modo transporte y túnel
Datagrama
IP
Cabecera IP original
(IPv4 o IPv6)
Datos: TCP/UDP
Datagrama IPSEC
(modo transporte)
Cabecera IP original Cabecera
(IPv4 o IPv6)
ESP
Datos cifrados
(TCP/UDP)
Terminación Authentication
ESP
Data
Datagrama IPSEC
(modo túnel)
Nueva cabecera IP Cabecera Cab. IP
(IPv4 o IPv6)
ESP
original
dit
UPM
© 2000, DIT-UPM
Datos cifrados
(TCP/UDP)
IPSEC
Terminación Authentication
ESP
Data
20
Modos de utilización
Modo Transporte:
IPSEC
Internet
IPSEC
IPSEC
Modo Túnel (VPN):
A
IP R1
Internet
R2
IP
B
IPSEC
IP Fuente: A
IP Destino: B
dit
UPM
© 2000, DIT-UPM
IP Fuente: A
IP Destino: B
IP Fuente: R1
IP Destino: R2
IPSEC
21
Gestión de claves
Distribución
manual
Distribución
automática
Se configura cada sistema con sus propias claves y
con las claves del resto de sistemas
Solo utilizable en entornos pequeños y estáticos
Creación bajo demanda de claves para los SA
Es más flexible ....
Pero necesita más esfuerzo para configurar y más
software
dit
UPM
© 2000, DIT-UPM
IPSEC
22
Gestión de claves
Protocolo
por defecto de gestión de claves para
IPSEC: IKE (Internet Key Exchange)
Método estándar para:
Autenticar dinámicamente extremos IPSEC
Negociar servicios de seguridad
Generar claves compartidas
Tiene
dos componentes:
ISAKMP: procedimientos y formatos de paquete
para establecer, negociar, modificar y eliminar SA.
OAKLEY: protocolo de intercambio de claves.
dit
UPM
© 2000, DIT-UPM
IPSEC
23
OAKLEY
Protocolo
de determinación de claves.
Objetivo principal: generar una clave de sesión
compartida entre ambos extremos
Método: algoritmo de Diffie-Hellman (modificado)
Acuerdo previo en dos factores
Un número primo muy grande: q
Una raiz primitiva de q: a (a mod q, a2 mod q, .. aq-1 mod q
son distintos)
A selecciona XA (secreto) y transmite a B: YA=a XA
B selecciona XB (secreto) y transmite a A: YB=a XB
Ambos calculan K=(YB)XA mod q=(YA)XB mod q
Se amplía para autenticar las partes y evitar el
ataque de “man-in-the-middle”.
dit
UPM
© 2000, DIT-UPM
IPSEC
24
ISAKMP
Procedimientos
y formatos para establecer,
negociar, modificar y borrar SA.
Tipos de intercambios ISAKMP:
Base: se transmite a la vez el intercambio de claves
y la autenticación
Protección de Identidad: primero intercambio de
claves y luego autenticación
Solo Autenticación: sin intercambio de claves
Agresivo: intercambio de claves y autenticación
minimizando el número de transacciones
Informativo: para transmitir status o errores.
dit
UPM
© 2000, DIT-UPM
IPSEC
25
Descargar