Tecnologías utilizadas en IPSEC. Anatomía de IPsec. Probando la fuerza del protocolo legendario

El protocolo Encapsulating Security Payload (ESP) garantiza la confidencialidad de los datos. Además, permite identificar al remitente de los datos, así como garantizar la integridad de los datos y la protección contra la reproducción de la información.

La diferencia entre el protocolo ESP y el protocolo de encabezado de autenticación (AH) es que ESP realiza el cifrado de datos. Al mismo tiempo, ambos protocolos brindan identificación, verificación de integridad y protección contra la reproducción de información. Cuando se trabaja con ESP, ambos sistemas finales utilizan una clave compartida para cifrar y descifrar datos.

Si se utilizan herramientas de cifrado e identificación de datos simultáneamente, el sistema de respuesta primero identifica el paquete y, si la identificación es exitosa, luego descifra el paquete. Esta forma de procesar paquetes reduce la carga del sistema y reduce el riesgo de que la seguridad se vea comprometida por un ataque de denegación de servicio.

Dos formas de utilizar ESP

El protocolo ESP se puede utilizar de dos maneras: modo de transmisión abierta y modo túnel. En modo de transmisión abierta, el encabezado ESP aparece después del encabezado del datagrama IP. Si el datagrama ya tiene un encabezado IPSec, entonces el encabezado ESP se coloca antes de este encabezado. Después del campo de datos se indican el final de carrera del ESP y los datos de identificación, si los hubiera.

En el modo de transferencia abierta, el encabezado IP no se identifica ni se cifra. En este caso, las direcciones especificadas en el encabezado pueden interceptarse mientras el datagrama se transmite a través de la red. La comunicación en modo abierto requiere menos recursos que en modo túnel. Sin embargo, este modo proporciona un nivel más bajo de protección. En la mayoría de los casos, cuando se trabaja con el protocolo ESP, se utiliza el modo de transferencia abierta.

En modo túnel, se crea un nuevo encabezado IP y se convierte en el encabezado más externo del datagrama. Después viene el encabezado ESP y luego el datagrama en sí (encabezado IP y datos). El remolque ESP y los datos de identificación, si están presentes, se agregan al final del campo de datos. Si el cifrado y la autenticación se utilizan simultáneamente, ESP protege completamente el datagrama original porque el datagrama se convierte en el campo de datos del nuevo paquete ESP. El nuevo encabezado IP no está protegido. Al establecer una conexión entre puertas de enlace, ESP debe usarse en modo túnel.

Algoritmo de seguridad de la información utilizado por ESP

El protocolo ESP utiliza una clave simétrica con la que los sistemas finales cifran y descifran los datos. Antes de intercambiar datos, el remitente y el destinatario deben acordar la clave que utilizarán. La función VPN admite métodos de cifrado DES, triple DES (3DES), RC5, RC4, AES o AES-CBC.

Cuando utilice el algoritmo de cifrado AES, puede habilitar el Número de secuencia extendido (ESN). ESN le permite transferir grandes cantidades de datos a altas velocidades. La conexión VPN utiliza números de secuencia de 64 bits en lugar de números de 32 bits en IPSec. El uso de números de secuencia de 64 bits aumenta la cantidad de tiempo antes de que se produzca un cambio de clave, lo que evita que se agote el grupo de números de secuencia y reduce el consumo de recursos del sistema.

El Grupo de Trabajo de Internet (IETF) describe formalmente los algoritmos en los siguientes RFC:

Estos y otros RFC se pueden encontrar en Internet en el siguiente sitio web: http://www.rfc-editor.org.

El protocolo ESP admite los algoritmos de identificación HMAC-MD5, HMAC-SHA, HMAC-SHA-256 y AES-XCBC-MAC. Ambos algoritmos toman datos de longitud variable y una clave privada como entrada, y a partir de ahí producen datos de longitud fija (o valor hash o MAC). Si los valores hash calculados para dos mensajes son iguales, entonces existe una alta probabilidad de que los mensajes sean iguales.

El Grupo de Trabajo de Internet (IETF) describe formalmente los algoritmos en los siguientes RFC:

Estos RFC se pueden ver en el siguiente sitio web: http://www.rfc-editor.org.

protocolos IPSec Organización de un canal seguro http://www.site/lan/protokoly-ipsec http://www.site/@@site-logo/logo.png

protocolos IPSec

Organización de un canal seguro

protocolos IPSec

Estableciendo un canal seguro usando AH, ESP e IKE.

La seguridad del protocolo de Internet (IPSec) se denomina sistema en los estándares de Internet. De hecho, IPSec es un conjunto coherente de estándares abiertos que hoy tiene un núcleo bien definido y, al mismo tiempo, puede ampliarse con bastante facilidad con nuevos protocolos, algoritmos y funciones.

El objetivo principal de los protocolos IPSec es garantizar la transmisión segura de datos a través de redes IP. El uso de IPSec garantiza:

  • integridad, es decir, que los datos durante la transmisión no fueron distorsionados, perdidos o duplicados;
  • autenticidad, es decir, que los datos fueron transmitidos por el remitente que demostró ser quien dice ser;
  • confidencialidad, es decir, que los datos se transmitan de una forma que impida su visualización no autorizada.

(Tenga en cuenta que, de acuerdo con la definición clásica, el concepto de seguridad de los datos incluye un requisito más: la disponibilidad de los datos, que en el contexto considerado puede interpretarse como una garantía de su entrega. Los protocolos IPSec no resuelven este problema, dejando al protocolo de capa de transporte TCP).

CANALES SEGUROS A DIFERENTES NIVELES

IPSec es sólo una de muchas, aunque la más popular hoy en día, tecnología para la transmisión segura de datos a través de una red pública (no segura). Para tecnologías con este propósito, se utiliza un nombre general: canal seguro. El término "canal" enfatiza el hecho de que la protección de datos se proporciona entre dos nodos de la red (hosts o puertas de enlace) a lo largo de alguna ruta virtual trazada en una red de conmutación de paquetes.

Se puede construir un canal seguro utilizando herramientas del sistema implementadas en diferentes capas del modelo OSI (ver Figura 1). Si se utiliza un protocolo de uno de los niveles superiores (aplicación, presentación o sesión) para proteger los datos, entonces este método de protección no depende de qué redes (IP o IPX, Ethernet o ATM) se utilizan para transportar datos, lo que puede considerarse una ventaja indudable. Por otro lado, la aplicación pasa a depender de un protocolo de seguridad específico, es decir, para las aplicaciones dicho protocolo no es transparente.

Un canal seguro en el nivel de aplicación más alto tiene un inconveniente más: un alcance limitado. El protocolo protege sólo un servicio de red muy específico: archivos, hipertexto o correo electrónico. Por ejemplo, el protocolo S/MIME protege exclusivamente los mensajes de correo electrónico. Por lo tanto, se debe desarrollar una versión segura correspondiente del protocolo para cada servicio.

El protocolo de canal seguro más conocido que opera en el siguiente nivel de presentación es el protocolo Secure Socket Layer (SSL) y su nueva implementación abierta Transport Layer Security (TLS). Reducir el nivel del protocolo la convierte en una herramienta de seguridad mucho más versátil. Ahora cualquier aplicación y cualquier protocolo a nivel de aplicación puede utilizar un único protocolo de seguridad. Sin embargo, las aplicaciones aún deben reescribirse para incluir llamadas explícitas a funciones de protocolo de canal seguro.

Cuanto más abajo en la pila se implementen las instalaciones del canal seguro, más fácil será hacerlos transparentes para las aplicaciones y los protocolos de aplicación. A nivel de red y enlace de datos, la dependencia de las aplicaciones de los protocolos de seguridad desaparece por completo. Sin embargo, aquí nos enfrentamos a otro problema: la dependencia del protocolo de seguridad de una tecnología de red específica. De hecho, diferentes partes de una gran red compuesta generalmente utilizan diferentes protocolos de enlace, por lo que es imposible establecer un canal seguro a través de este entorno heterogéneo utilizando un único protocolo de capa de enlace.

Considere, por ejemplo, el protocolo de túnel punto a punto (PPTP), que opera en la capa de enlace de datos. Se basa en el protocolo PPP, muy utilizado en conexiones punto a punto, como líneas arrendadas. El protocolo PPTP no sólo proporciona transparencia en materia de seguridad para aplicaciones y servicios a nivel de aplicación, sino que también es independiente del protocolo de capa de red utilizado: en particular, el protocolo PPTP puede transportar paquetes tanto en redes IP como en redes basadas en los protocolos IPX y DECnet. o NetBEUI. Sin embargo, dado que el protocolo PPP no se utiliza en todas las redes (la mayoría de las redes locales utilizan el protocolo Ethernet a nivel de enlace de datos y los protocolos ATM y Frame Relay en las redes globales), PPTP no puede considerarse una herramienta universal.

IPSec, que opera en la capa de red, es una opción de compromiso. Por un lado, es transparente para las aplicaciones y, por otro lado, puede funcionar en casi todas las redes, ya que se basa en el protocolo IP ampliamente utilizado: actualmente sólo el 1% de los ordenadores del mundo no soportan IP en En total, el 99% restante lo utiliza como protocolo único o como uno de varios protocolos.

DISTRIBUCIÓN DE FUNCIONES ENTRE PROTOCOLOS IPSEC

El núcleo de IPSec consta de tres protocolos: el protocolo de autenticación (Authentication Header, AH), el protocolo de cifrado (Encapsulation Security Payload, ESP) y el protocolo de intercambio de claves (Internet Key Exchange, IKE). Las funciones de mantener un canal seguro se distribuyen entre estos protocolos de la siguiente manera:

  • El protocolo AH garantiza la integridad y autenticidad de los datos;
  • El protocolo ESP cifra los datos transmitidos, garantizando la confidencialidad, pero también puede admitir la autenticación y la integridad de los datos;
  • El protocolo IKE resuelve la tarea auxiliar de proporcionar automáticamente a los puntos finales del canal las claves secretas necesarias para el funcionamiento de los protocolos de autenticación y cifrado de datos.

Como puede verse en una breve descripción de las funciones, las capacidades de los protocolos AH y ESP se superponen parcialmente. El protocolo AH es responsable únicamente de garantizar la integridad y autenticación de los datos, mientras que el protocolo ESP es más poderoso, ya que puede cifrar datos y, además, realizar las funciones del protocolo AH (aunque, como veremos más adelante, proporciona autenticación). e integridad en una forma ligeramente reducida). El protocolo ESP puede admitir funciones de cifrado y autenticación/integridad en cualquier combinación, es decir, ambas, solo autenticación/integridad o solo cifrado.

Para cifrar datos en IPSec, se puede utilizar cualquier algoritmo de cifrado simétrico que utilice claves secretas. Garantizar la integridad y la autenticación de los datos también se basa en una de las técnicas de cifrado: el cifrado mediante una función unidireccional, también llamada función hash o función de resumen.

Esta función, cuando se aplica a datos cifrados, da como resultado un valor de resumen que consta de una pequeña cantidad fija de bytes. El resumen se envía en un paquete IP junto con el mensaje original. El destinatario, sabiendo qué función de cifrado unidireccional se utilizó para redactar el resumen, lo recalcula utilizando el mensaje original. Si los valores de los resúmenes recibidos y calculados son los mismos, esto significa que el contenido del paquete no estuvo sujeto a ningún cambio durante la transmisión. Conocer el resumen no permite reconstruir el mensaje original y, por tanto, no puede utilizarse como protección, pero sí permite comprobar la integridad de los datos.

El resumen es una especie de suma de comprobación del mensaje original. Sin embargo, también hay una diferencia significativa. El uso de una suma de verificación es un medio para verificar la integridad de los mensajes transmitidos a través de líneas de comunicación no confiables y no está destinado a combatir actividades maliciosas. De hecho, la presencia de una suma de verificación en el paquete transmitido no impedirá que un atacante reemplace el mensaje original agregándole un nuevo valor de suma de verificación. A diferencia de una suma de verificación, se utiliza una clave secreta al calcular el resumen. Si para obtener el resumen se utilizara una función unidireccional con un parámetro (la clave secreta) conocida sólo por el remitente y el destinatario, cualquier modificación del mensaje original se detectaría inmediatamente.

La separación de funciones de seguridad entre los dos protocolos AH y ESP se debe a la práctica utilizada en muchos países de restringir la exportación y/o importación de herramientas que garantizan la confidencialidad de los datos mediante el cifrado. Cada uno de estos dos protocolos se puede utilizar de forma independiente o simultáneamente con el otro, de modo que en los casos en los que no se pueda utilizar el cifrado debido a las restricciones actuales, el sistema sólo podrá suministrarse con el protocolo AH. Naturalmente, proteger los datos únicamente utilizando el protocolo AH será en muchos casos insuficiente, ya que el lado receptor en este caso solo estará seguro de que los datos fueron enviados exactamente por el nodo desde el que se esperaban y llegaron en la forma en que fueron. recibido. El protocolo AH no puede proteger contra la visualización no autorizada a lo largo de la ruta de datos, ya que no los cifra. Para cifrar datos, es necesario utilizar el protocolo ESP, que también puede verificar su integridad y autenticidad.

ASOCIACIÓN SEGURA

Para que los protocolos AH y ESP hagan su trabajo de proteger los datos transmitidos, el protocolo IKE establece una conexión lógica entre los dos puntos finales, que en los estándares IPSec se denomina “Asociación de Seguridad” (SA). El establecimiento de una SA comienza con la autenticación mutua de las partes, porque todas las medidas de seguridad pierden su sentido si los datos son transmitidos o recibidos por la persona equivocada o de la persona equivocada. Los parámetros SA que seleccione a continuación determinan cuál de los dos protocolos, AH o ESP, se utiliza para proteger los datos, qué funciones realiza el protocolo de seguridad: por ejemplo, solo autenticación y verificación de integridad o, además, protección contra repeticiones falsas. Un parámetro muy importante de una asociación segura es el llamado material criptográfico, es decir, las claves secretas utilizadas en el funcionamiento de los protocolos AH y ESP.

El sistema IPSec también permite un método manual para establecer una asociación segura, en el que el administrador configura cada nodo final para que mantenga los parámetros de asociación acordados, incluidas las claves secretas.

El protocolo AH o ESP ya opera dentro de la conexión lógica SA establecida, con su ayuda se lleva a cabo la protección requerida de los datos transmitidos utilizando los parámetros seleccionados.

La configuración de asociación segura debe ser aceptable para ambos puntos finales del canal seguro. Por lo tanto, cuando se utiliza el procedimiento de establecimiento automático de SA, los protocolos IKE que operan en lados opuestos del canal seleccionan parámetros durante el proceso de negociación, del mismo modo que dos módems determinan el tipo de cambio máximo aceptable para ambas partes. Para cada tarea resuelta por los protocolos AH y ESP, se ofrecen varios esquemas de autenticación y cifrado, lo que hace de IPSec una herramienta muy flexible. (Tenga en cuenta que la elección de la función de resumen para resolver el problema de autenticación no afecta de ninguna manera la elección del algoritmo para el cifrado de datos).

Para garantizar la compatibilidad, la versión estándar de IPsec define un determinado conjunto de "herramientas" obligatorias: en particular, siempre se puede utilizar una de las funciones de cifrado unidireccional MD5 o SHA-1 para la autenticación de datos, y los algoritmos de cifrado ciertamente incluyen DES. Al mismo tiempo, los fabricantes de productos que incluyen IPSec son libres de ampliar el protocolo con otros algoritmos de autenticación y cifrado, lo cual hacen con éxito. Por ejemplo, muchas implementaciones de IPSec admiten el popular algoritmo de cifrado Triple DES, así como algoritmos relativamente nuevos: Blowfish, Cast, CDMF, Idea, RC5.

Los estándares IPSec permiten que las puertas de enlace utilicen una SA para transportar el tráfico de todos los hosts que se comunican a través de Internet o crear una cantidad arbitraria de SA para este propósito, por ejemplo, una para cada conexión TCP. Una SA segura es una conexión lógica unidireccional (símplex) en IPSec, por lo que se deben establecer dos SA para comunicaciones bidireccionales.

MODOS DE TRANSPORTE Y TÚNEL

Los protocolos AH y ESP pueden proteger datos en dos modos: transporte y túnel. En el modo de transporte, la transmisión de un paquete IP a través de la red se realiza utilizando el encabezado original de este paquete, y en el modo túnel, el paquete original se coloca en un nuevo paquete IP y la transmisión de datos a través de la red se realiza en función de el encabezado del nuevo paquete IP. El uso de un modo u otro depende de los requisitos de protección de datos, así como del papel que desempeña en la red el nodo que finaliza el canal seguro. Por tanto, un nodo puede ser un host (nodo final) o una puerta de enlace (nodo intermedio). En consecuencia, existen tres esquemas para utilizar IPSec: de host a host, de puerta de enlace a puerta de enlace y de host a puerta de enlace.

En el primer esquema se establece un canal seguro, o lo que es lo mismo en este contexto, una asociación segura, entre dos nodos finales de la red (ver Figura 2). En este caso, el protocolo IPSec se ejecuta en el nodo final y protege los datos que llegan a él. Para el esquema de host a host, el modo de protección de transporte se utiliza con mayor frecuencia, aunque también se permite el modo de túnel.

Según el segundo esquema, se establece un canal seguro entre dos nodos intermedios, los llamados gateways de seguridad (SG), cada uno de los cuales ejecuta el protocolo IPSec. Pueden ocurrir comunicaciones seguras entre dos puntos finales conectados a redes ubicadas detrás de puertas de enlace de seguridad. No se requiere que los puntos finales admitan IPSec y transmitan su tráfico sin protección a través de intranets empresariales confiables. El tráfico enviado a la red pública pasa a través del gateway de seguridad, que proporciona protección IPSec por sí solo. Las puertas de enlace sólo pueden utilizar el modo túnel.

El esquema host-gateway se utiliza a menudo para el acceso remoto. Aquí, se establece un canal seguro entre un host remoto que ejecuta IPSec y una puerta de enlace que protege el tráfico de todos los hosts en la red de intranet empresarial. El host remoto puede utilizar tanto el modo de transporte como el de túnel al enviar paquetes a la puerta de enlace, pero la puerta de enlace envía el paquete al host sólo en modo de túnel. Este esquema puede complicarse creando otro canal seguro en paralelo, entre el host remoto y cualquier host que pertenezca a la red interna protegida por la puerta de enlace. Este uso combinado de dos SA le permite proteger de manera confiable el tráfico en la red interna.

Natalia Olifer

Operaciones con un documento.

(Internet Security Association and Key Management Protocol (ISAKMP)) - Gestión de claves y autenticadores para conexiones seguras.

  • RFC 2409 (Intercambio de claves de Internet (IKE)): intercambio de claves.
  • RFC 2410 (El algoritmo de cifrado NULL y su uso con IPsec): el algoritmo de cifrado nulo y su uso.
  • RFC 2411 (Hoja de ruta de documentos de seguridad IP): mayor desarrollo del estándar.
  • RFC 2412 (Protocolo de determinación de claves de OAKLEY): verificación del cumplimiento de claves.
  • Arquitectura IPsec

    Los protocolos IPsec, a diferencia de otros protocolos conocidos SSL y TLS, operan en la capa de red (capa 3 del modelo OSI). Esto hace que IPsec sea más flexible para que pueda usarse para proteger cualquier protocolo basado en TCP y UDP. IPsec se puede utilizar para proporcionar seguridad entre dos hosts IP, entre dos puertas de enlace de seguridad o entre un host IP y una puerta de enlace de seguridad. El protocolo es una "superestructura" encima del protocolo IP y procesa los paquetes IP generados de la manera que se describe a continuación. IPsec puede garantizar la integridad y/o confidencialidad de los datos transmitidos a través de una red.

    IPsec utiliza los siguientes protocolos para realizar diversas funciones:

    • El encabezado de autenticación (AH) garantiza la integridad de la conexión virtual (datos transmitidos), la autenticación de la fuente de información y una función adicional para evitar la retransmisión de paquetes.
    • La carga útil de seguridad encapsulada (ESP) puede garantizar la confidencialidad (cifrado) de la información transmitida, limitando el flujo de tráfico confidencial. Además, puede proporcionar integridad de la conexión virtual (datos transmitidos), autenticación de la fuente de información y la función adicional de evitar la retransmisión de paquetes (siempre que se utiliza ESP, se debe utilizar uno u otro conjunto de datos de servicios de seguridad)
    • Las asociaciones de seguridad (SA) proporcionan un conjunto de algoritmos y datos que proporcionan los parámetros necesarios para el funcionamiento de AH y/o ESP. La Asociación de seguridad de Internet y el Protocolo de administración de claves (ISAKMP) proporcionan la base para la autenticación y el intercambio de claves, verificando la autenticidad de las claves.

    Asociación de seguridad

    El concepto de "Conexión Virtual Segura" (SA, "Asociación de Seguridad") es fundamental para la arquitectura IPsec. Una SA es una conexión simplex que se forma para transportar el tráfico apropiado a través de ella. Al implementar servicios de seguridad, se forma una SA basada en el uso de los protocolos AH o ESP (o ambos al mismo tiempo). SA se define de acuerdo con el concepto de conexión entre terminales (punto a punto) y puede operar en dos modos: modo de transporte (RTR) y modo de túnel (RTU). El modo de transporte se implementa con SA entre dos nodos IP. En el modo de túnel, la SA forma un túnel IP.

    Todas las SA se almacenan en la base de datos SADB (Base de datos de asociaciones de seguridad) del módulo IPsec. Cada SA tiene un token único que consta de tres elementos:

    • índice de parámetros de seguridad (SPI)
    • Direcciones IP de destino
    • identificador de protocolo de seguridad (ESP o AH)

    El módulo IPsec, que tiene estos tres parámetros, puede encontrar una entrada en la SADB para una SA específica. La lista de componentes SA incluye:

    Número de serie Valor de 32 bits que se utiliza para formar el campo. Número de secuencia en los encabezados AH y ESP. Desbordamiento del contador de números de secuencia Un indicador que indica que el contador del número de secuencia se ha desbordado. Ventana para suprimir ataques de repetición Se utiliza para determinar la retransmisión de paquetes. Si el valor en el campo Número de secuencia no cae dentro del rango especificado, el paquete se destruye. Información AH el algoritmo de autenticación utilizado, las claves requeridas, la vida útil de la clave y otros parámetros. información ESP algoritmos de cifrado y autenticación, claves requeridas, parámetros de inicialización (por ejemplo, IV), vida útil de la clave y otros parámetros Modo de funcionamiento IPsec túnel o transporte MTU El tamaño máximo de paquete que se puede transmitir a través de un canal virtual sin fragmentación.

    Dado que las conexiones virtuales seguras (SA) son simplex, se necesitan al menos dos SA para organizar un canal dúplex. Además, cada protocolo (ESP/AH) debe tener su propia SA para cada dirección, es decir, la combinación AH+ESP requiere cuatro SA. Todos estos datos se encuentran en SADB.

    • AH: algoritmo de autenticación.
    • AH: clave secreta para autenticación
    • ESP: algoritmo de cifrado.
    • ESP: clave secreta de cifrado.
    • ESP: usar autenticación (sí/no).
    • Opciones para el intercambio de claves
    • Restricciones de ruta
    • Política de filtrado de IP

    Además de SADB, las implementaciones de IPsec admiten una SPD (base de datos de políticas de seguridad). Una entrada SPD consta de un conjunto de valores de campo de encabezado IP y campos de encabezado de protocolo de capa superior. Estos campos se denominan selectores. Los selectores se utilizan para filtrar paquetes salientes para hacer coincidir cada paquete con una SA específica. Cuando se genera un paquete, los valores de los campos correspondientes del paquete (campos selectores) se comparan con los contenidos en el SPD. Se encuentran las SA correspondientes. Luego se determina la SA (si la hay) para el paquete y su índice de parámetros de seguridad (SPI) asociado. Después de lo cual se realizan las operaciones IPsec (operaciones de protocolo AH o ESP).

    Ejemplos de selectores que están contenidos en el SPD:

    • Dirección IP de destino
    • Dirección IP del remitente
    • Protocolo IPsec (AH, ESP o AH+ESP)
    • Puertos de remitente y receptor

    Encabezado de autenticación

    Encabezado de autenticación formato
    Compensaciones Octeto 16 0 1 2 3
    Octeto 16 Bit 10 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
    0 0 Siguiente encabezado Longitud de carga útil Reservado
    4 32
    8 64 Número de secuencia
    do 96 Valor de verificación de integridad (ICV)
    Siguiente encabezado(8 bits) El tipo de encabezado de protocolo que viene después del encabezado AH. Al utilizar este campo, el módulo IP-sec receptor aprende sobre el protocolo de nivel superior protegido. El significado de este campo para diferentes protocolos se puede encontrar en RFC 1700. Longitud de carga útil(8 bits) Este campo especifica el tamaño total del encabezado AH en palabras de 32 bits, menos 2. Sin embargo, cuando se utiliza IPv6, la longitud del encabezado debe ser un múltiplo de 8 bytes. Reservado(16 bits) Reservado. Lleno de ceros. Índice de parámetros de seguridad(32 bits) Índice de parámetros de seguridad. El valor de este campo, junto con la dirección IP de destino y el protocolo de seguridad (protocolo AN), identifica de forma única la conexión virtual segura (SA) para este paquete. El rango de valores SPI de 1 a 255 está reservado por la IANA. Número de secuencia(32 bits) Número de serie. Sirve para proteger contra la retransmisión. El campo contiene un valor de parámetro que aumenta monótonamente. Aunque el destinatario puede optar por no recibir la protección de reproducción de paquetes, es obligatoria y siempre está presente en el encabezado AH. El módulo IPsec emisor siempre utiliza este campo, pero es posible que el receptor no lo procese. Valor de verificación de integridad

    El protocolo AH se utiliza para la autenticación, es decir, para confirmar que nos estamos comunicando con quienes creemos que somos y que los datos que recibimos no se corrompen durante la transmisión.

    Procesamiento de paquetes IP de salida

    Si el módulo IPsec emisor determina que el paquete está asociado con una SA que implica procesamiento AH, comienza el procesamiento. Dependiendo del modo (modo de transporte o de túnel), inserta el encabezado AH en el paquete IP de manera diferente. En el modo de transporte, el encabezado AH se coloca después del encabezado del protocolo IP y antes de los encabezados del protocolo de capa superior (generalmente TCP o UDP). En el modo de túnel, todo el paquete IP original está rodeado primero por el encabezado AH y luego por el encabezado del protocolo IP. Este encabezado se llama externo y el encabezado del paquete IP original se llama interno. Después de esto, el módulo IPsec emisor debe generar un número de serie y escribirlo en el campo Número de secuencia. Cuando se establece una SA, el número de secuencia se establece en 0 y se incrementa en uno antes de enviar cada paquete IPsec. Además, se comprueba si el contador ha entrado en bucle. Si alcanza su valor máximo, se vuelve a establecer en 0. Si se utiliza el servicio de prevención de reproducción, cuando el contador alcanza su valor máximo, el módulo IPsec emisor restablece el SA. Esto garantiza la protección contra el reenvío de paquetes: el módulo IPsec receptor comprobará el campo Número de secuencia e ignorar los paquetes que vuelven a llegar. A continuación, se calcula la suma de comprobación ICV. Cabe señalar que aquí la suma de verificación se calcula utilizando una clave secreta, sin la cual un atacante podrá recalcular el hash, pero sin conocer la clave, no podrá generar la suma de verificación correcta. Los algoritmos específicos utilizados para calcular ICV se pueden encontrar en RFC 4305. Actualmente, por ejemplo, se pueden utilizar los algoritmos HMAC-SHA1-96 o AES-XCBC-MAC-96. El protocolo AH calcula una suma de comprobación (ICV) basada en los siguientes campos del paquete IPsec:

    • Campos de encabezado de IP que no se han modificado durante la traducción o se han identificado como los más importantes
    • Encabezado AH (Campos: “Siguiente encabezado”, “Payload Len”, “Reserved”, “SPI”, “Sequence Number”, “Integrity Check Value”. El campo “Integrity Check Value” se establece en 0 al calcular ICV
    • datos de protocolo de capa superior
    Si un campo puede cambiar durante el transporte, su valor se establece en 0 antes de calcular el ICV. Las excepciones son campos que pueden cambiar, pero cuyo valor se puede predecir al recibirlo. Al calcular los ICV, no se rellenan con ceros. Un ejemplo de un campo mutable sería el campo de suma de comprobación; un ejemplo de un campo mutable pero predefinido sería la dirección IP del destinatario. Puede encontrar una descripción más detallada de qué campos se tienen en cuenta al calcular el ICV en el estándar RFC 2402.

    Procesamiento de paquetes IP de entrada

    Después de recibir un paquete que contiene un mensaje del protocolo AH, el módulo receptor IPsec busca la SADB (Base de datos de asociaciones de seguridad) correspondiente utilizando la dirección IP del destinatario, el protocolo de seguridad (SA) y el índice SPI. Si no se encuentra ninguna SA coincidente, el paquete se descarta. La conexión virtual segura (SA) encontrada indica si se está utilizando el servicio de prevención de reproducción de paquetes, es decir, sobre la necesidad de verificar el campo Número de secuencia. Si se utiliza el servicio, se marca el campo. Para ello se utiliza el método de la ventana corredera. El módulo IPsec receptor genera una ventana con un ancho de W. El borde izquierdo de la ventana corresponde al número de secuencia mínimo ( Número de secuencia) N de paquetes recibidos correctamente. Paquete con campo Número de secuencia, que contiene un valor que oscila entre N+1 y N+W, se acepta correctamente. Si el paquete recibido está en el borde izquierdo de la ventana, se destruye. Luego, el módulo receptor IPsec calcula el ICV a partir de los campos correspondientes del paquete recibido utilizando el algoritmo de autenticación que aprende del registro SA y compara el resultado con el valor ICV ubicado en el campo Valor de verificación de integridad. Si el valor ICV calculado coincide con el recibido, entonces el paquete entrante se considera válido y se acepta para su posterior procesamiento IP. Si la verificación es negativa, el paquete receptor se destruye.

    Encapsulación de carga útil de seguridad formato
    Compensaciones Octeto 16 0 1 2 3
    Octeto 16 Bit 10 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
    0 0 Índice de parámetros de seguridad (SPI)
    4 32 Número de secuencia
    8 64 Datos de carga útil
    Relleno (0-255 octetos)
    Longitud de la almohadilla Siguiente encabezado
    Valor de verificación de integridad (ICV)
    Índice de parámetros de seguridad(32 bits) Índice de parámetros de seguridad. El valor de este campo, junto con la dirección IP de destino y el protocolo de seguridad (protocolo AN), identifica de forma única la conexión virtual segura (SA) para este paquete. La IANA reserva el rango de valores SPI de 1 a 255 para uso futuro. Número de secuencia(32 bits) Número de serie. Sirve para proteger contra la retransmisión. El campo contiene un valor de parámetro que aumenta monótonamente. Aunque el destinatario puede rechazar el servicio de protección de retransmisión de paquetes, este siempre está presente en el encabezado AH. El remitente (el módulo IPsec emisor) DEBE utilizar siempre este campo, pero es posible que el destinatario no necesite procesarlo. Datos de carga útil(variable) Este campo contiene datos según el campo "Siguiente encabezado". Este campo es obligatorio y consta de un número entero de bytes. Si el algoritmo que se utiliza para cifrar este campo requiere datos para sincronizar procesos criptográficos (por ejemplo, un vector de inicialización), entonces este campo puede contener estos datos explícitamente. Relleno(0-255 octetos) Adición. Necesario, por ejemplo, para algoritmos que requieren que el texto sin formato sea un múltiplo de una cierta cantidad de bytes), como el tamaño de bloque para un cifrado de bloque. Longitud de la almohadilla(8 bits) El tamaño del relleno (en bytes). Siguiente encabezado(8 bits) Este campo especifica el tipo de datos contenidos en el campo "Datos de carga útil". Valor de verificación de integridad Suma de comprobación. Debe ser un múltiplo de 8 bytes para IPv6 y de 4 bytes para IPv4.

    Procesamiento de paquetes de salida IPsec

    Si el módulo IPsec emisor determina que el paquete está asociado con una SA que requiere procesamiento ESP, comienza el procesamiento. Dependiendo del modo (modo de transporte o de túnel), el paquete IP original se procesa de forma diferente. En modo transporte, el módulo IPsec transmisor lleva a cabo el procedimiento de encuadrar (encapsular) el protocolo de nivel superior (por ejemplo, TCP o UDP), utilizando el encabezado ESP y el final ESP, sin afectar el encabezado del paquete IP de origen. En el modo de túnel, el paquete IP está rodeado por un encabezado ESP y un final ESP, y luego está rodeado por un encabezado IP externo. A continuación, se realiza el cifrado: en modo de transporte, solo se cifra el mensaje de protocolo sobre la capa subyacente (es decir, todo lo que estaba después del encabezado IP en el paquete de origen), en modo de túnel, todo el paquete IP de origen. El módulo IPsec emisor determina el algoritmo de cifrado y la clave secreta del registro SA. Los estándares IPsec permiten el uso de algoritmos de cifrado triple DES, AES y Blowfish. Dado que el tamaño del texto plano debe ser múltiplo de un determinado número de bytes, por ejemplo el tamaño del bloque en los algoritmos de bloque, el relleno necesario del mensaje cifrado también se realiza antes del cifrado. El mensaje cifrado se coloca en el campo. Datos de carga útil. en el campo Longitud de la almohadilla se ajusta a la longitud de la adición. Luego, como en AH, se calcula Número de secuencia. Después de lo cual se calcula la suma de verificación (ICV). La suma de comprobación, a diferencia del protocolo AH, donde también se tienen en cuenta algunos campos del encabezado IP al calcularlo, en ESP se calcula solo a partir de los campos del paquete ESP menos el campo ICV. Se llena de ceros antes de calcular la suma de verificación. El algoritmo de cálculo ICV, como en el protocolo AH, lo aprende el módulo IPsec transmisor a partir del registro del SA al que está asociado el paquete que se está procesando.

    Procesamiento de paquetes IPsec entrantes

    Después de recibir un paquete que contiene un mensaje del protocolo ESP, el módulo receptor IPsec busca la conexión virtual segura (SA) correspondiente en la SADB (Base de datos de asociaciones de seguridad) utilizando la dirección IP, el protocolo de seguridad (ESP) y el índice SPI del destinatario. Si no se encuentra ninguna SA coincidente, el paquete se descarta. La conexión virtual segura (SA) encontrada indica si se está utilizando el servicio de prevención de reproducción de paquetes, es decir, la necesidad de verificar el campo Número de secuencia. Si se utiliza el servicio, se marca el campo. Para ello, al igual que en AH, se utiliza el método de la ventana deslizante. El módulo IPsec receptor genera una ventana con un ancho de W. El borde izquierdo de la ventana corresponde al número de secuencia mínimo N de un paquete recibido correctamente. Un paquete con un campo Número de secuencia que contiene un valor que oscila entre N+1 y N+W se recibe correctamente. Si el paquete recibido está en el borde izquierdo de la ventana, se destruye. Luego, si se utiliza el servicio de autenticación, el módulo receptor IPsec calcula el ICV a partir de los campos apropiados del paquete recibido utilizando el algoritmo de autenticación que aprende del registro SA y compara el resultado con el valor ICV ubicado en el campo Valor de verificación de integridad. Si el valor ICV calculado coincide con el recibido, entonces el paquete entrante se considera válido. Si la verificación da un resultado negativo, el paquete receptor se destruye. A continuación, se descifra el paquete. El módulo receptor IPsec aprende del registro SA qué algoritmo de cifrado se utiliza y la clave secreta. Cabe señalar que el procedimiento de verificación y descifrado de la suma de verificación se puede realizar no solo de forma secuencial, sino también en paralelo. En este último caso, el procedimiento de verificación de la suma de control debe finalizar antes que el procedimiento de descifrado, y si la verificación ICV falla, el procedimiento de descifrado también debe finalizar. Esto le permite identificar rápidamente paquetes corruptos, lo que, a su vez, aumenta el nivel de protección contra ataques de denegación de servicio (ataques DOS). El siguiente es el mensaje descifrado de acuerdo con el campo Siguiente encabezado transferido para su posterior procesamiento.

    Uso

    El protocolo IPsec se utiliza principalmente para organizar túneles VPN. En este caso, los protocolos ESP y AH operan en modo túnel. Además, al configurar las políticas de seguridad de cierta manera, el protocolo se puede utilizar para crear un firewall. El objetivo de un firewall es que controla y filtra los paquetes que lo atraviesan de acuerdo con reglas específicas. Se instala un conjunto de reglas y la pantalla observa todos los paquetes que pasan a través de ella. Si los paquetes transmitidos entran dentro del alcance de estas reglas, el firewall los procesa en consecuencia. Por ejemplo, puede rechazar ciertos paquetes, deteniendo así conexiones inseguras. Al configurar la política de seguridad en consecuencia, puede, por ejemplo, bloquear el tráfico de Internet. Para ello, basta con prohibir el envío de paquetes que contengan mensajes de protocolo HTTP y HTTPS. IPsec también se puede utilizar para proteger servidores; para ello, se descartan todos los paquetes, excepto los necesarios para la correcta ejecución de las funciones del servidor. Por ejemplo, para un servidor web, puede bloquear todo el tráfico excepto las conexiones a través del puerto TCP 80 o a través del puerto TCP 443 en los casos en que se utiliza HTTPS.

    Ver también

    Campo de golf

    • Descripción de la configuración de IPSec (cisco.com)

    A finales de los años sesenta, la Agencia Estadounidense de Proyectos de Investigación Avanzada de Defensa, DARPA, decidió crear una red experimental llamada ARPANet. En los años setenta, ARPANet comenzó a ser considerada una red estadounidense funcional y, a través de esta red, era posible obtener acceso a las principales universidades y centros de investigación de Estados Unidos. A principios de los años ochenta se inició la estandarización de los lenguajes de programación y luego de los protocolos de interacción en red. El resultado de este trabajo fue el desarrollo de un modelo de interacción de red ISO/OSI de siete niveles y la familia de protocolos TCP/IP, que se convirtió en la base para la construcción de redes locales y globales.

    Los mecanismos básicos de intercambio de información en las redes TCP/IP se formaron generalmente a principios de los años ochenta y estaban destinados principalmente a garantizar la entrega de paquetes de datos entre diferentes sistemas operativos utilizando canales de comunicación heterogéneos. Aunque ARPANet (que más tarde se convertiría en la Internet moderna) fue concebida por una organización de defensa gubernamental, en realidad la red se originó en el mundo de la investigación y heredó la tradición de apertura de la comunidad académica. Incluso antes de la comercialización de Internet (que ocurrió a mediados de los años noventa), muchos investigadores reputados notaron problemas asociados con la seguridad de la pila de protocolos TCP/IP. Los conceptos básicos de los protocolos TCP/IP no satisfacen completamente (y en algunos casos contradicen) las ideas modernas sobre seguridad informática.

    Hasta hace poco, Internet se utilizaba principalmente para procesar información mediante protocolos relativamente simples: correo electrónico, transferencia de archivos y acceso remoto. Hoy en día, gracias al uso generalizado de las tecnologías WWW, se utilizan cada vez más herramientas distribuidas de procesamiento de información multimedia. Al mismo tiempo, está creciendo el volumen de datos procesados ​​en entornos cliente/servidor y destinados al acceso colectivo simultáneo de un gran número de suscriptores. Se han desarrollado varios protocolos a nivel de aplicación para garantizar la seguridad de la información para aplicaciones como correo electrónico (PEM, PGP, etc.), WWW (Secure HTTP, SSL, etc.), gestión de redes (SNMPv2, etc.). Sin embargo, la presencia de características de seguridad en los protocolos básicos de la familia TCP/IP permitirá el intercambio de información entre una amplia gama de aplicaciones y servicios diferentes.

    Breves antecedentes históricos de la aparición del protocolo

    En 1994, la Junta de Arquitectura de Internet (IAB) publicó el informe "Seguridad de la arquitectura de Internet". Este documento describe las principales áreas de aplicación de herramientas de seguridad adicionales en Internet, a saber, protección contra monitoreo no autorizado, suplantación de paquetes y control del flujo de datos. Entre las medidas de protección prioritarias y más importantes estaba la necesidad de desarrollar un concepto y mecanismos básicos para garantizar la integridad y confidencialidad de los flujos de datos. Dado que el cambio de los protocolos básicos de la familia TCP/IP provocaría una reestructuración completa de Internet, se planteó la tarea de garantizar la seguridad del intercambio de información en redes de telecomunicaciones abiertas basadas en los protocolos existentes. Así, se comenzó a crear la especificación Secure IP, complementaria a los protocolos IPv4 e IPv6.

    Arquitectura IPSec

    La seguridad IP es un conjunto de protocolos que se ocupan de cuestiones de cifrado, autenticación y seguridad durante el transporte de paquetes IP; ahora incluye casi 20 propuestas de estándares y 18 RFC.

    La especificación de seguridad IP (conocida hoy como IPsec) es desarrollada por el grupo de trabajo del protocolo de seguridad IP del IETF. IPsec incluía originalmente tres especificaciones centrales independientes del algoritmo publicadas como RFC de arquitectura de seguridad IP, encabezado de autenticación (AH) y encapsulación de datos cifrados (ESP) (RFC1825, 1826 y 1827). Cabe señalar que en noviembre de 1998, el Grupo de Trabajo sobre Protocolo de Seguridad IP propuso nuevas versiones de estas especificaciones, las cuales actualmente tienen estatus de estándares preliminares, estas son RFC2401 - RFC2412. Tenga en cuenta que RFC1825-27 se ha considerado obsoleto durante varios años y realmente no se utiliza. Además, existen varias especificaciones dependientes de algoritmos que utilizan los protocolos MD5, SHA, DES.

    Arroz. 1 – Arquitectura IPSec.

    El Grupo de Trabajo sobre Protocolos de Seguridad IP también está desarrollando protocolos clave de gestión de información. La misión de este grupo es desarrollar el Protocolo de administración de claves de Internet (IKMP), un protocolo de administración de claves a nivel de aplicación que es independiente de los protocolos de seguridad utilizados. Actualmente se están explorando conceptos de administración de claves utilizando la especificación del Protocolo de administración de claves y la Asociación de seguridad de Internet (ISAKMP) y el Protocolo de determinación de claves de Oakley. La especificación ISAKMP describe mecanismos para negociar los atributos de los protocolos utilizados, mientras que el protocolo Oakley le permite instalar claves de sesión en computadoras en Internet. Anteriormente, también se consideraron las posibilidades de utilizar mecanismos de gestión de claves del protocolo SKIP, pero ahora esas posibilidades prácticamente no se utilizan en ninguna parte. Los estándares emergentes de gestión de información clave pueden admitir centros de distribución de claves similares a los utilizados en Kerberos. Los protocolos de gestión de claves basados ​​en Kerberos para IPSec están siendo abordados actualmente por el relativamente nuevo grupo de trabajo KINK (Negociación de claves de Internet Kerberizada).

    Las garantías de integridad y confidencialidad de los datos en la especificación IPsec se proporcionan mediante el uso de mecanismos de autenticación y cifrado, respectivamente. Estos últimos, a su vez, se basan en el acuerdo preliminar de las partes en el llamado intercambio de información. “contexto de seguridad”: algoritmos criptográficos aplicados, algoritmos de gestión de información clave y sus parámetros. La especificación IPsec brinda la capacidad de que las partes intercambien información para admitir varios protocolos y parámetros para la autenticación y cifrado de paquetes de datos, así como varios esquemas de distribución de claves. En este caso, el resultado de acordar el contexto de seguridad es el establecimiento de un índice de parámetros de seguridad (SPI), que es un indicador de un determinado elemento de la estructura interna de la parte de intercambio de información, que describe posibles conjuntos de parámetros de seguridad.

    Básicamente, IPSec, que se convertirá en parte integral de IPv6, opera en la tercera capa, es decir, en la capa de red. Como resultado, los paquetes IP transmitidos estarán protegidos de manera transparente para las aplicaciones e infraestructura de la red. A diferencia de SSL (Secure Socket Layer), que opera en la capa 4 (es decir, transporte) y está más estrechamente asociado con capas superiores del modelo OSI, IPSec está diseñado para proporcionar seguridad de bajo nivel.


    Arroz. 2 - Modelo OSI/ISO.

    Cuando los datos IP están listos para enviarse a través de una red privada virtual, IPSec agrega un encabezado para identificar los paquetes protegidos. Antes de transmitirse a través de Internet, estos paquetes se encapsulan dentro de otros paquetes IP. IPSec admite varios tipos de cifrado, incluido el estándar de cifrado de datos (DES) y el resumen de mensajes 5 (MD5).

    Para establecer una conexión segura, ambos participantes en la sesión deben poder ponerse de acuerdo rápidamente sobre los parámetros de seguridad, como claves y algoritmos de autenticación. IPSec admite dos tipos de esquemas de gestión de claves mediante los cuales los participantes pueden negociar los parámetros de la sesión. Este doble apoyo en un momento causó cierta fricción en el Grupo de Trabajo del IETF.

    Con la versión actual de IP, IPv4, se puede utilizar el Protocolo de administración de claves de asociación segura de Internet (ISAKMP) o la Administración de claves simple para el Protocolo de Internet. Con la nueva versión de IP, IPv6, tendrás que utilizar ISAKMP, ahora conocido como IKE, aunque no se excluye la posibilidad de utilizar SKIP. Sin embargo, hay que tener en cuenta que SKIP no ha sido considerado durante mucho tiempo como un candidato clave para la gestión y fue eliminado de la lista de posibles candidatos en 1997.

    Encabezado AH

    El encabezado de autenticación (AH) es un encabezado opcional común y normalmente se encuentra entre el encabezado principal del paquete IP y el campo de datos. La presencia de AH no afecta de ninguna manera el proceso de transmisión de información desde el transporte y niveles superiores. El principal y único propósito de AH es brindar protección contra ataques relacionados con cambios no autorizados en el contenido de un paquete, incluida la falsificación de la dirección de origen de la capa de red. Los protocolos de nivel superior deben modificarse para verificar la autenticidad de los datos recibidos.

    El formato AH es bastante simple y consta de un encabezado de 96 bits y datos de longitud variable que consisten en palabras de 32 bits. Los nombres de los campos reflejan su contenido con bastante claridad: Siguiente encabezado indica el siguiente encabezado, Payload Len representa la longitud del paquete, SPI es un puntero al contexto de seguridad y Sequence Number Field contiene el número de secuencia del paquete.


    Arroz. 3 - Formato de encabezado AH.

    El número de secuencia de paquetes se introdujo en AH en 1997 como parte del proceso de revisión de la especificación IPsec. El valor de este campo lo genera el remitente y sirve para proteger contra ataques relacionados con la reutilización de los datos del proceso de autenticación. Debido a que Internet no garantiza el orden en el que se entregarán los paquetes, el destinatario debe almacenar información sobre el número de secuencia máximo de un paquete autenticado exitosamente y si se ha recibido una cantidad de paquetes que contienen números de secuencia anteriores (generalmente 64).

    A diferencia de los algoritmos de cálculo de suma de verificación utilizados en los protocolos para transmitir información a través de líneas de comunicación conmutadas o a través de canales de redes locales y destinados a corregir errores aleatorios en el medio de transmisión, los mecanismos para garantizar la integridad de los datos en las redes de telecomunicaciones abiertas deben tener medios de protección contra cambios específicos. Uno de esos mecanismos es un uso especial del algoritmo MD5: durante la formación del AH, se calcula secuencialmente una función hash a partir de la unión del paquete mismo y alguna clave previamente acordada, y luego a partir de la unión del resultado resultante y la clave transformada. Este es el mecanismo predeterminado para garantizar que todas las implementaciones de IPv6 tengan al menos un algoritmo común que no esté sujeto a restricciones de exportación.

    encabezado ESP

    Cuando se utiliza la encapsulación de datos cifrados, el encabezado ESP es el último de los encabezados opcionales "visibles" en el paquete. Dado que el objetivo principal de ESP es garantizar la confidencialidad de los datos, diferentes tipos de información pueden requerir algoritmos de cifrado significativamente diferentes. En consecuencia, el formato ESP puede sufrir cambios importantes dependiendo de los algoritmos criptográficos utilizados. Sin embargo, se pueden distinguir los siguientes campos obligatorios: SPI, que indica el contexto de seguridad, y Sequence Number Field, que contiene el número de secuencia del paquete. El campo "Datos de autenticación ESP" (suma de verificación) es opcional en el encabezado ESP. El destinatario del paquete ESP descifra el encabezado ESP y utiliza los parámetros y datos del algoritmo de cifrado aplicado para decodificar la información de la capa de transporte.


    Arroz. 4 - Formato de encabezado ESP.

    Hay dos modos de utilizar ESP y AH (así como sus combinaciones): transporte y túnel.

    Modo de transporte

    El modo de transporte se utiliza para cifrar el campo de datos de un paquete IP que contiene protocolos de capa de transporte (TCP, UDP, ICMP), que, a su vez, contiene información del servicio de la aplicación. Un ejemplo del uso del modo de transporte es la transmisión de correo electrónico. Todos los nodos intermedios a lo largo de la ruta de un paquete desde el remitente al receptor utilizan sólo información de la capa de red pública y posiblemente algunos encabezados de paquetes opcionales (en IPv6). La desventaja del modo de transporte es la falta de mecanismos para ocultar el remitente y el destinatario específicos de un paquete, así como la capacidad de analizar el tráfico. El resultado de dicho análisis puede ser información sobre los volúmenes y direcciones de transferencia de información, las áreas de interés de los suscriptores y la ubicación de los administradores.

    Modo túnel

    El modo túnel cifra todo el paquete, incluido el encabezado de la capa de red. El modo túnel se utiliza si es necesario ocultar el intercambio de información de la organización con el mundo exterior. En este caso, los campos de dirección del encabezado de la capa de red de un paquete que utiliza el modo túnel los completa el firewall de la organización y no contienen información sobre el remitente específico del paquete. Al transmitir información desde el mundo exterior a la red local de la organización, la dirección de red del firewall se utiliza como dirección de destino. Después de que el firewall descifra el encabezado de la capa de red inicial, el paquete se reenvía al destinatario.

    Asociaciones de seguridad

    Una Asociación de Seguridad (SA) es una conexión que proporciona servicios de seguridad para el tráfico que pasa a través de ella. Dos computadoras a cada lado de la SA almacenan el modo, protocolo, algoritmos y claves utilizadas en la SA. Cada SA se utiliza en una sola dirección. La comunicación bidireccional requiere dos SA. Cada SA implementa un modo y protocolo; por lo tanto, si es necesario utilizar dos protocolos para un paquete (como AH y ESP), entonces se requieren dos SA.

    Política de seguridad

    La política de seguridad se almacena en la SPD (Base de datos de políticas de seguridad). SPD puede especificar una de tres acciones para un paquete de datos: descartar el paquete, no procesar el paquete usando IPSec o procesar el paquete usando IPSec. En este último caso, el SPD también indica qué SA se debe utilizar (si, por supuesto, ya se ha creado una SA adecuada) o indica con qué parámetros se debe crear una nueva SA.

    SPD es un mecanismo de control muy flexible que permite un muy buen control sobre el procesamiento de cada paquete. Los paquetes se clasifican según una gran cantidad de campos y el SPD puede examinar algunos o todos los campos para determinar la acción adecuada. Esto podría dar como resultado que todo el tráfico entre dos máquinas se transporte utilizando una única SA, o que se utilicen SA separadas para cada aplicación, o incluso para cada conexión TCP.

    ISAKMP/Oakley

    ISAKMP define la estructura general de protocolos que se utilizan para establecer SA y realizar otras funciones de gestión clave. ISAKMP admite varios Dominios de Interpretación (DOI), uno de los cuales es IPSec-DOI. ISAKMP no define un protocolo completo, sino que proporciona "bloques de construcción" para varios DOI y protocolos de intercambio de claves.

    El protocolo Oakley es un protocolo de descubrimiento de claves que utiliza el algoritmo de reemplazo de claves Diffie-Hellman. El protocolo Oakley admite Perfect Forward Secrecy (PFS). La presencia de PFS significa que es imposible descifrar todo el tráfico si alguna clave del sistema se ve comprometida.

    IKE

    IKE es el protocolo de intercambio de claves predeterminado para ISAKMP y actualmente es el único. IKE se encuentra encima de ISAKMP y realiza el establecimiento real tanto de ISAKMP SA como de IPSec SA. IKE admite un conjunto de varias funciones primitivas para usar en protocolos. Entre ellas se encuentran la función hash y la función pseudoaleatoria (PRF).

    Una función hash es una función resistente a colisiones. La resistencia a la colisión se refiere al hecho de que es imposible encontrar dos mensajes diferentes. metro 1 Y metros 2, tal que H(m1)=Alto(m2), Dónde h- función hash.

    En cuanto a las funciones pseudoaleatorias, actualmente se utiliza una función hash en lugar de PRF especiales en el diseño de HMAC (HMAC es un mecanismo de autenticación de mensajes que utiliza funciones hash). Para definir HMAC, necesitamos una función hash criptográfica (llamémosla H) y una clave secreta K. Suponemos que H es una función hash en la que los datos se procesan mediante un procedimiento de compresión aplicado secuencialmente a una secuencia de bloques de datos. Denotamos con B la longitud de dichos bloques en bytes y la longitud de los bloques obtenidos como resultado del hash con L (L

    Ipad = byte 0x36, repetido B veces;
    opad = byte 0x5C repetido B veces.

    Para calcular HMAC a partir de datos de "texto", debe realizar la siguiente operación:

    H(K XOR opad, H(K XOR ipad, texto))

    De la descripción se deduce que IKE utiliza valores HASH para autenticar a las partes. Tenga en cuenta que HASH en este caso se refiere únicamente al nombre de la carga útil en ISAKMP y este nombre no tiene nada que ver con su contenido.

    Ataques a AH, ESP e IKE.

    Todos los tipos de ataques a componentes IPSec se pueden dividir en los siguientes grupos: ataques que explotan los recursos finitos del sistema (un ejemplo típico es un ataque de denegación de servicio, denegación de servicio o ataque DOS), ataques que explotan las funciones y errores de una implementación específica de IPSec y, finalmente, ataques basados ​​en las debilidades de los propios protocolos. AH y ESP. Los ataques puramente criptográficos pueden ignorarse: ambos protocolos definen el concepto de "transformación", donde toda la criptografía está oculta. Si el criptoalgoritmo utilizado es estable y la transformación definida con él no introduce debilidades adicionales (este no es siempre el caso, por lo que es más correcto considerar la fortaleza de todo el sistema: protocolo-transformación-algoritmo), entonces De este lado todo está bien. ¿Qué queda? Ataque de repetición: nivelado usando el número de secuencia (en un solo caso esto no funciona: cuando se usa ESP sin autenticación y sin AH). Además, el orden de las acciones (primero el cifrado, luego la autenticación) garantiza un rápido rechazo de los paquetes "malos" (además, según investigaciones recientes en el mundo de la criptografía, este orden de acciones es el más seguro; el orden inverso en algunos, aunque casos muy especiales, pueden dar lugar a posibles agujeros de seguridad; afortunadamente, ni SSL, ni IKE, ni otros protocolos comunes con el orden de acciones “primero autenticar, luego cifrar” no se aplican a estos casos especiales y, por lo tanto, no tienen estos agujeros; ). Lo que queda es el ataque de denegación de servicio. Como saben, se trata de un ataque del que no existe una defensa completa. Sin embargo, el rápido rechazo de los paquetes defectuosos y la ausencia de cualquier reacción externa hacia ellos (según el RFC) permiten afrontar este ataque más o menos bien. En principio, AH y ESP resisten con éxito la mayoría (si no todos) los ataques de red conocidos (rastreo, suplantación de identidad, secuestro, etc.) cuando se usan correctamente. Con IKE es un poco más complicado. El protocolo es muy complejo y difícil de analizar. Además, debido a errores tipográficos (en la fórmula para calcular HASH_R) al escribirlo y soluciones no del todo exitosas (los mismos HASH_R y HASH_I), contiene varios "agujeros" potenciales (en particular, en la primera fase, no todas las cargas útiles en los mensajes están autenticados), sin embargo, no son muy graves y conducen, como máximo, a una negativa a establecer una conexión. IKE se protege con mayor o menor éxito de ataques como la repetición, la suplantación de identidad, el rastreo y el secuestro. La criptografía es algo más complicada: no se lleva a cabo por separado, como en AH y ESP, sino que se implementa en el propio protocolo. Sin embargo, si utiliza algoritmos persistentes y primitivas (PRF), no debería haber problemas. Hasta cierto punto, se puede considerar como una debilidad de IPsec que DES esté indicado como el único algoritmo criptográfico obligatorio en las especificaciones actuales (esto es válido tanto para ESP como para IKE), 56 bits de cuya clave ya no se consideran suficientes. . Sin embargo, esto es una debilidad puramente formal: las especificaciones en sí son independientes de los algoritmos y casi todos los proveedores conocidos han implementado 3DES desde hace mucho tiempo (y algunos ya han implementado AES). Por lo tanto, si se implementa correctamente, el ataque más "peligroso" sigue siendo. Denegación de servicio.

    Evaluación de protocolo

    El protocolo IPSec ha recibido críticas mixtas por parte de los expertos. Por un lado, cabe señalar que el protocolo IPSec es el mejor entre todos los demás protocolos desarrollados anteriormente para proteger los datos transmitidos a través de la red (incluido el PPTP desarrollado por Microsoft). Según la otra parte, el protocolo es excesivamente complejo y redundante. Así, Niels Ferguson y Bruce Schneier en su trabajo "Una evaluación criptográfica de IPsec" señalan que encontraron serios problemas de seguridad en casi todos los componentes principales de IPsec. Estos autores también señalan que el conjunto de protocolos requiere mejoras significativas para que proporcione un buen nivel de seguridad. El artículo describe una serie de ataques que explotan tanto las debilidades del esquema general de procesamiento de datos como las debilidades de los algoritmos criptográficos.

    Conclusión

    En este artículo, cubrimos algunos puntos básicos sobre el protocolo de seguridad de red IPsec. Vale la pena señalar que el protocolo IPsec domina la mayoría de las implementaciones de redes privadas virtuales. Actualmente, el mercado ofrece tanto implementaciones de software (por ejemplo, el protocolo se implementa en el sistema operativo Microsoft Windows 2000) como implementaciones de hardware y software de IPsec; estas son soluciones de Cisco, Nokia. A pesar de la gran cantidad de soluciones diferentes, todas ellas son bastante compatibles entre sí. El artículo concluye con una tabla que compara IPSec y el ahora ampliamente utilizado SSL.

    Peculiaridades IPSec SSL
    Independencia del hardware
    Código No se requieren cambios en la aplicación. Puede requerir acceso al código fuente de la pila TCP/IP. Se requieren cambios en la aplicación. Es posible que se requieran nuevas DLL o acceso al código fuente de la aplicación.
    Protección Paquete IP completo. Habilita la protección para protocolos de nivel superior. Solo nivel de aplicación.
    Filtrado de paquetes Basado en encabezados autenticados, direcciones de remitente y destinatario, etc. Sencillo y barato. Adecuado para enrutadores. Basado en contenido y semántica de alto nivel. Más inteligente y más complejo.
    Actuación Menos cambios de contexto y movimiento de datos. Más cambios de contexto y movimiento de datos. Grandes bloques de datos pueden acelerar las operaciones criptográficas y proporcionar una mejor compresión.
    Plataformas Cualquier sistema, incluidos enrutadores. Principalmente sistemas finales (clientes/servidores), también firewalls.
    Cortafuegos/VPN Todo el tráfico está protegido. Sólo se protege el tráfico a nivel de aplicación. ICMP, RSVP, QoS, etc. puede estar desprotegido.
    Transparencia Para usuarios y aplicaciones. Sólo para usuarios.
    Estado actual Estándar emergente. Ampliamente utilizado por los navegadores WWW, también utilizado por algunos otros productos.

    Campo de golf

    • www.ietf.org/html.charters/ipsec-charter.html: página de inicio del grupo de trabajo del IETF. También hay enlaces a RFC y propuestas de estándares.
    • www.microsoft.com/rus/windows2000/library/security/w2k_IPSecurity.asp: información sobre la implementación del protocolo IPSec en Windows2000 Server.

    Expresiones de gratitud

    Compañeros de clase

    red, un túnel seguro (Fig. 5.9), a través del cual se transmiten datos confidenciales o sensibles. Dicho túnel se crea utilizando métodos criptográficos para proteger la información.

    El protocolo opera en la capa de red del modelo OSI y, en consecuencia, es "transparente" para las aplicaciones. En otras palabras, el funcionamiento de las aplicaciones (como un servidor web, un navegador, un DBMS, etc.) no se ve afectado tanto si los datos transmitidos están protegidos mediante IPSec como si no.

    Los sistemas operativos de la familia Windows 2000 y superiores tienen soporte integrado para el protocolo IPSec. Desde el punto de vista del modelo de seguridad multicapa, este protocolo es una herramienta de seguridad a nivel de red.


    Arroz. 5.9.

    La arquitectura IPSec es abierta, lo que, en particular, permite el uso de nuevos algoritmos y protocolos criptográficos, por ejemplo aquellos que cumplen con los estándares nacionales, para proteger los datos transmitidos. Para ello, es necesario que las partes comunicantes soporten estos algoritmos, y quedarían registrados de forma estándar en la descripción de los parámetros de conexión.

    El proceso de transferencia segura de datos se rige por las normas de seguridad adoptadas en el sistema. Los parámetros del túnel creado se describen mediante una estructura de información llamada contexto de seguridad o asociación de seguridad (de la Asociación de Seguridad Inglesa, abreviatura SA). Como se señaló anteriormente, IPSec es un conjunto de protocolos y la composición del SA puede variar según el protocolo específico. SA incluye:

    • Dirección IP del destinatario;
    • una indicación de los protocolos de seguridad utilizados durante la transmisión de datos;
    • las claves necesarias para el cifrado y generación del inserto imitativo (si es necesario);
    • una indicación del método de formato que determina cómo se crean los títulos;
    • índice de parámetros de seguridad (del índice de parámetros de seguridad en inglés, abreviado SPI): un identificador que le permite encontrar el SA deseado.

    Normalmente, el contexto de seguridad es unidireccional y se utilizan dos SA para transmitir datos a través del túnel en ambas direcciones. Cada host tiene su propia base de datos SA, desde la cual se selecciona el elemento requerido según SPI o la dirección IP del destinatario.

    Los dos protocolos incluidos en IPSec son:

    1. protocolo de encabezado de autenticación- AH (del encabezado de autenticación en inglés), que proporciona verificación de integridad y autenticación de los datos transmitidos; la última versión del protocolo se describe en RFC 4302 (las anteriores: RFC 1826, 2402);
    2. Protocolo encapsulante de protección de datos - ESP (del inglés. Encapsulación de carga útil de seguridad): proporciona confidencialidad y, opcionalmente, puede proporcionar verificación de integridad y autenticación, descritas en RFC 4303 (anterior - RFC 1827, 2406).

    Ambos protocolos tienen dos modos de funcionamiento: transporte y túnel, este último se define como el principal. Modo túnel Se utiliza si al menos uno de los nodos de conexión es una puerta de enlace de seguridad. En este caso, se crea un nuevo encabezado IP y el paquete IP original se encapsula completamente en el nuevo.

    Modo de transporte centrado en la conexión de host a host. Cuando se utiliza ESP en modo de transporte, solo se protegen los datos del paquete IP, el encabezado no se ve afectado. Cuando se utiliza AH, la protección se extiende a los datos y parte de los campos del encabezado. Los modos de funcionamiento se describen con más detalle a continuación.

    protocolo AH

    En IP ver.4, el encabezado de autenticación se coloca después del encabezado de IP. Imaginemos el paquete IP original como una combinación de un encabezado IP, un encabezado de protocolo de siguiente nivel (generalmente TCP o UDP, en la Fig. 5.10 se denomina ULP, de Upper-Level Protocol) y datos.


    Arroz. 5.10.

    Considere el formato del encabezado ESP (Fig. 5.13). Comienza con dos valores de 32 bits: SPI Y SN. Su función es la misma que en el protocolo AH: SPI identifica la SA utilizada para crear este túnel; SN- le permite protegerse contra repeticiones de paquetes. SN Y SPI no están cifrados.

    El siguiente campo es el que contiene los datos cifrados. Después de ellos hay un campo de marcador de posición, que es necesario para alinear la longitud de los campos cifrados con un valor que sea múltiplo del tamaño de bloque del algoritmo de cifrado.


    Arroz. 5.12.


    Arroz. 5.13.

    Después del comodín se encuentran campos que contienen la longitud del comodín y una indicación del protocolo superior. Los cuatro campos enumerados (datos, marcador de posición, longitud, siguiente protocolo) están protegidos mediante cifrado.

    Si ESP también se utiliza para la autenticación de datos, entonces el paquete termina con un campo de longitud variable que contiene el ICV. A diferencia de AH, en ESP, al calcular el valor de imitovsert, los campos del encabezado IP (nuevo - para modo túnel, antiguo modificado - para transporte) no se tienen en cuenta.

    Cuando se utilizan los protocolos AH y ESP juntos, después del encabezado IP viene AH, después, ESP. En este caso, ESP resuelve los problemas de garantizar la confidencialidad, AH: garantizar la integridad y autenticación de la fuente de la conexión.

    Consideremos una serie de cuestiones adicionales relacionadas con el uso de IPSec. Comencemos por el origen de la información sobre los parámetros de conexión (SA). La creación de una base SA se puede realizar de varias maneras. En particular, se puede crear administrador de seguridad manualmente o generado mediante protocolos especiales: SKIP, ISAKMP (Protocolo de administración de claves y asociación de seguridad de Internet) e IKE (Intercambio de claves de Internet).

    IPSec y NAT

    Al conectar redes organizativas a Internet, a menudo se utiliza un mecanismo de traducción de direcciones de red: NAT (traducción de direcciones de red). Esto le permite reducir la cantidad de direcciones IP registradas utilizadas en una red determinada. Las direcciones no registradas se utilizan dentro de la red (generalmente de rangos especialmente asignados para este propósito, por ejemplo, direcciones como 192.168.x.x para redes de clase C). Si un paquete de dicha red se transmite a Internet, entonces el enrutador, a cuya interfaz externa se le asigna al menos una dirección IP registrada, modifica los encabezados IP de los paquetes de red, reemplazando las direcciones privadas con la dirección registrada. La forma en que se realiza la sustitución se registra en una tabla especial. Cuando se recibe una respuesta, se realiza un reemplazo inverso de acuerdo con la tabla y el paquete se reenvía a la red interna.

    Veamos un ejemplo del uso de NAT en la Fig.

    Cuando un paquete pasa a través de un enrutador que realiza traducción de direcciones, la dirección IP del remitente (192.168.0.2) se reemplazará con la dirección de la interfaz externa del enrutador (195.201.82.146) y una entrada similar a la que se muestra en



    
    Arriba