IPsec
De Wikipedia, la enciclopedia libre
IPsec (la abreviatura de Internet Protocol security) es una extensión al protocolo IP que añade cifrado fuerte para permitir servicios de autenticación y, de esta manera, asegurar las comunicaciones a través de dicho protocolo. Inicialmente fue desarrollado para usarse con el nuevo estándar IPv6, aunque posteriormente se adaptó a IPv4.
IPsec actúa a nivel de capa de red, protegiendo y autenticando los paquetes IP entre los equipos participantes en la comunidad IPsec. No está ligado a ningún algoritmo de cifrado o autenticación, tecnología de claves o algoritmos de seguridad específico. Es más, IPsec es un marco de estándares que permite que cualquier nuevo algoritmo sea introducido sin necesitar de cambiar los estándares.
IPSec está formado por un conjunto de protocolos de cifrado para asegurar flujos de paquetes de datos e intercambiar claves, de la siguiente forma:
- Encapsulating Security Payload (ESP), que provee autenticación, confidencialidad de datos e integridad del mensaje
- Authentication Header (AH), que provee de autenticación e integridad de datos, pero no de confidencialidad.
Véase Modelo OSI
Por sus características es el protocolo estandar para la construcción de redes privadas virtuales.
La última versión de este protocolo está definida desde Diciembre del 2005 en los RFCs del 4301 al 4309.
Tabla de contenidos |
[editar] Modos de funcionamiento
Son dos, y la diferencia entre estas es la unidad que se está protegiendo. Mientras que en modo transporte se protege la carga útil del paquete IP, en el modo túnel se protegen los paquetes IP completos. Además, el modo transporte es más fiable que el modo túnel.
[editar] Tunnel Mode
La comunicación segura se limita a los routers de acceso implicados. Es el modo más usual en una VPN. Se aplica protección
[editar] Authentication Header (AH)
Se calcula una función resumen sobre el datagrama empleando una clave secreta en dicho cálculo. La información de autenticación se calcula utilizando todos los campos del datagrama que no van a cambiar durante el tránsito.
Diagrama de un paquete AH :
0 | 1 | 2 | 3 |
0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 |
Next Header | Payload Length | RESERVED | |
Security Parameters Index (SPI) | |||
Sequence Number | |||
Authentication Data (variable) |
Significado de los campos:
- Next Header
- Identifica el protocolo de los datos transferidos.
- Payload Length
- Tamaño del paquete AH.
- RESERVED
- Reservado para usos futuros (Todo a cero hasta entonces).
- Security Parameters Index (SPI)
- Identifica los parámetros de seguridad en combinación con la dirección IP.
- Sequence Number
- Número de secuencia para evitar ataques 'replay'.
- Authentication Data
- Datos necesarios para autenticar el paquete.
[editar] Encapsulated Security Payload (ESP)
Cifra el paquete IP original (datagrama completo) y se introduce en el campo de datos de un nuevo paquete IP que es el que viajará por la red.
Diagrama de un paquete ESP:
0 | 1 | 2 | 3 | ||||||||||||||||||||||||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Security Parameters Index (SPI) | |||||||||||||||||||||||||||||||
Sequence Number | |||||||||||||||||||||||||||||||
Payload * (variable) |
|||||||||||||||||||||||||||||||
Padding (0-255 bytes) | |||||||||||||||||||||||||||||||
Pad Length | Next Header | ||||||||||||||||||||||||||||||
Authentication Data (variable) |
Significado de los campos:
- Security Parameters Index (SPI)
- Identifica los parámetros de seguridad en combinación con la dirección IP.
- Sequence Number
- Número de secuencia para evitar ataques 'replay'.
- Payload Data
- Los datos a transferir.
- Padding
- Usado por algunos algoritmos criptográficos para rellenar por completo los bloques.
- Pad Length
- Tamaño del pad en bytes..
- Next Header
- Identifica el protocolo de los datos transferidos.
- Authentication Data
- Datos necesarios para autenticar el paquete.