Antes de que se pueda intercambiar datos protegidos, ha de establecerse un contrato entre los dos equipos. En este contrato, denominado asociación de seguridad (SA), los dos equipos acuerdan el modo de intercambiar y proteger la información.

Una clave es un código o número secreto necesario para leer, modificar o comprobar datos protegidos. Las claves se utilizan junto con algoritmos (procesos matemáticos) para proteger datos. En IPsec, hay dos fases o modos que usan claves. Primero tiene lugar el modo principal, donde se genera una clave maestra compartida que las dos partes pueden usar para intercambiar información de creación de claves de forma segura. En el modo rápido se usa la clave maestra para proteger el establecimiento de una o varias claves de sesión que se usan para la integridad o el cifrado de datos.

Windows administra la generación de claves automáticamente e implementa las siguientes propiedades de generación de claves que maximizan la protección:

Importante

El complemento Directivas de seguridad IP se puede usar para crear directivas IPsec que pueden aplicarse a equipos con Windows Vista y versiones posteriores de Windows, pero este complemento no usa los nuevos algoritmos de seguridad ni otras características nuevas que están disponibles en los equipos que ejecutan esas versiones posteriores de Windows. Para crear directivas IPsec para esos equipos, use el complemento Firewall de Windows con seguridad avanzada con seguridad avanzada. El complemento Firewall de Windows con seguridad avanzada no crea directivas que puedan aplicarse a versiones anteriores de Windows.

Regeneración dinámica de claves

IPsec utiliza un método denominado regeneración dinámica de claves para controlar la frecuencia con la que se genera una nueva clave durante la comunicación. La comunicación se realiza en bloques de datos; cada bloque se protege con una clave distinta. De este modo, un atacante que haya obtenido parte de una comunicación y las claves de sesión correspondientes no podrá obtener la comunicación restante. Este servicio de negociación de la seguridad a petición y de administración automática de claves se realiza a través del Intercambio de claves por red (IKE), como se define en RFC 2409.

IPsec permite controlar la frecuencia con la que se generan las nuevas claves. Si no se configura ningún valor, las claves se volverán a generar automáticamente en los intervalos predeterminados.

Longitud de las claves

Cada vez que se incrementa en un bit la longitud de una clave, el número de claves posibles se duplica, con lo que se dificulta exponencialmente la determinación de la clave. IPsec ofrece varios algoritmos para poder usar distintas longitudes de clave.

Material de generación de claves: algoritmo de Diffie-Hellman

Para hacer posible una comunicación segura, dos equipos deben poder conseguir la misma clave compartida (modo rápido o clave de sesión), sin transmitirla a través de la red, lo que pondría en peligro el secreto.

El algoritmo de Diffie-Hellman (DH) es uno de los algoritmos más antiguos y más seguros de los usados para el intercambio de claves. Las dos partes intercambian públicamente información de creación de claves, que Windows protege adicionalmente con una firma de función hash. Ninguna de las partes envía en ningún momento la clave real, pero su intercambio de material de creación de claves les permite generar una clave compartida idéntica.

El material de creación de claves DH que ambas partes intercambian puede constar de 768, 1.024 o 2.048 bits, que se denominan grupos DH. La eficacia del grupo DH es proporcional a la de la clave calculada a partir del intercambio DH. Los grupos DH más eficaces pueden combinarse con mayores longitudes de clave para aumentar la dificultad del cálculo necesario para determinar la clave.

Nota

En el cuadro de diálogo Algoritmos de seguridad IKE, 768 bits corresponden a la opción Menor (1) y 1.024 bits a la opción Medio (2).

IPsec usa el algoritmo DH para proporcionar material de creación de claves para el resto de las claves de cifrado. DH no proporciona autenticación. La implementación de Microsoft Windows de IPsec autentica las identidades después del intercambio DH, lo que proporciona una protección frente a ataques de tipo "Man in the middle".

Protección de claves

Las siguientes características mejoran los números primos base (material de creación de claves) y la eficacia de las claves maestra y de sesión.

Vigencias de las claves

Las vigencias de las claves determinan cuándo se genera una nueva clave, en lugar de cómo se genera. La vigencia de clave, también conocida como regeneración dinámica de claves o regeneración de claves, permite forzar la regeneración de una clave cuando transcurre un intervalo especificado. Por ejemplo, si una comunicación dura 10.000 segundos y especifica una vigencia de clave de 1.000 segundos, se generarán 10 claves para completar la comunicación. De este modo se asegura que, aun en el caso de que un atacante pueda descifrar parte de una comunicación, el resto de la comunicación continúa protegido. Las vigencias de clave pueden especificarse tanto para las claves maestras como para las de sesión. Cuando finaliza la vigencia de una clave, también se vuelve a negociar la SA. Además, la clave se actualiza o se vuelve a generar. El volumen de datos procesado por una única clave no debe exceder los 100 megabytes (MB).

Límite de actualización de la clave de sesión

Se usa un límite de actualización de la clave de sesión de modo rápido porque la continua regeneración de claves a partir de una clave de sesión de modo rápido puede comprometer el secreto compartido de Diffie-Hellman.

Por ejemplo, suponga que Alicia, en el equipo A, envía un mensaje a Benito, en el equipo B, y que unos minutos después le envía otro. Como hace poco que se estableció una SA, es posible que se utilice el mismo material de claves de sesión. Si desea limitar el número de veces que esto ocurre, especifique un valor reducido para el límite actualización de la clave de sesión.

Si está habilitada la confidencialidad directa total (PFS) de la clave maestra, no se aplicará el límite de actualización de la clave de sesión de modo rápido. Establecer el valor 1 como límite de actualización de la clave de sesión equivale a habilitar la PFS de la clave maestra. Si se especifica la vigencia de la clave maestra de modo principal y también el límite de actualización de la clave de sesión de modo rápido, se volverá a crear una clave tan pronto como se alcance uno de los dos límites. De forma predeterminada, la directiva IPsec no especifica un límite de actualización de clave de sesión.

Grupos Diffie-Hellman

Los grupos Diffie-Hellman (DH) se utilizan para determinar la longitud de los números primos base (material de clave) utilizados durante el intercambio DH. La eficacia de cualquier clave derivada de un intercambio DH depende en parte de la eficacia del grupo DH en el que se basan los números primos.

Cada grupo DH define la longitud del material de creación de claves que se va a utilizar. El grupo 1 protege 768 bits de material de creación de claves; el grupo 2, 1.024 bits; el grupo 3, 2.048 bits. Cuando se utiliza un grupo mayor, la clave resultante determinada a partir del intercambio DH también es mayor y más difícil de determinar para un atacante.

IKE negocia el grupo que se va a utilizar basándose en las opciones configuradas en el cuadro de diálogo Algoritmos de seguridad IKE y garantiza que no haya errores de negociación debidos a un grupo DH no coincidente entre los dos equipos del mismo nivel.

Si se habilita PFS de clave de sesión, se negociará una nueva clave DH en la primera negociación de SA de modo rápido. Esta nueva clave DH elimina la dependencia entre la clave de sesión y el intercambio DH realizado para la clave maestra.

Si el equipo inicial utiliza PFS de clave de sesión, no es necesario que el equipo que responde también la utilice. Sin embargo, si el equipo inicial no utiliza PFS de clave de sesión y el que responde sí, se producirá un error en la negociación.

El grupo DH es el mismo para las negociaciones de SA de modo principal y de modo rápido. Cuando está habilitada PFS de clave de sesión, incluso si el grupo DH forma parte de la negociación de SA de modo principal, sólo afectará a la regeneración de claves durante el establecimiento de la clave de sesión de modo rápido.

Confidencialidad directa total

A diferencia de las vigencias de clave, la confidencialidad directa total (PFS) determina cómo se genera una clave nueva, en lugar de cuándo se ha generado. Específicamente, PFS asegura que la revelación de una única clave sólo permita el acceso a los datos que ésta protege, pero no necesariamente a toda la comunicación. Para conseguir este fin, PFS asegura que una clave que se utiliza para proteger una transmisión, en cualquiera de ambos modos, no pueda utilizarse para generar claves adicionales. Además, si la clave utilizada se obtuvo de un material de creación de claves específico, éste no podrá utilizarse para generar otras claves.

PFS de clave maestra de modo principal requiere una nueva autenticación y precisa muchos recursos. Cuando está habilitada, IKE debe volver a autenticar las identidades, lo que aumenta la carga de los controladores de dominio cuando se usa el protocolo de autenticación Kerberos V5 en la autenticación. También es necesaria una nueva negociación de modo principal para cada negociación de modo rápido.

PFS de clave de sesión de modo rápido puede usarse sin tener que volver a autenticar y requiere menos recursos. PFS de clave de sesión provoca un intercambio DH para generar nuevo material de creación de claves. Sólo requiere cuatro mensajes y no precisa autenticación.

No es necesario que PFS esté habilitada en ambos equipos del mismo nivel, ya que no forma parte de la negociación de SA. Si el equipo que responde requiere PFS y la SA de modo rápido del remitente expira, simplemente rechaza el mensaje del remitente y solicita una nueva negociación. El remitente hace que la SA de modo principal expire y, a continuación, vuelve a realizar una negociación. PFS puede establecerse individualmente para las claves maestras (modo principal) y para las claves de sesión (modo rápido).

Intercambio de claves

Antes de poder intercambiar datos protegidos, ha de establecerse un contrato entre los dos equipos. En este contrato (SA), los dos equipos acuerdan el modo de intercambiar y proteger la información.

Para crear este contrato entre los dos equipos, el Grupo de trabajo de ingeniería de Internet (IETF) establece el método IKE de la asociación de seguridad y la resolución de intercambio de claves, que:

  • Centraliza la administración de asociaciones de seguridad, reduciendo el tiempo de conexión.

  • Genera y administra las claves secretas compartidas que se utilizan para proteger la información.

Este proceso no sólo protege la comunicación entre los equipos, sino que también protege a los equipos remotos que solicitan el acceso seguro a una red corporativa. Además, el proceso funciona siempre que la negociación del equipo de destino final la realiza una puerta de enlace de seguridad.

Definición de asociación de seguridad

Una SA es la combinación de una clave negociada, un protocolo de seguridad y el índice de parámetros de seguridad (SPI), que conjuntamente definen el método de seguridad utilizado para proteger la comunicación desde el remitente hasta el receptor. El SPI es un valor único e identificable de la SA utilizado para distinguir entre las múltiples asociaciones de seguridad que existen en el equipo receptor. Por ejemplo, pueden existir varias asociaciones si un equipo mantiene comunicaciones seguras con varios equipos a la vez. Esta situación es habitual cuando el equipo es un servidor de archivos o un servidor de acceso remoto que atiende a varios clientes. En estos casos, el equipo receptor utiliza el SPI para determinar qué SA se utilizará para procesar los paquetes entrantes.

SA de modo principal

Para garantizar una comunicación segura y correcta, IKE funciona en dos fases. La confidencialidad y la autenticación se aseguran durante cada una de las fases mediante el uso de algoritmos de cifrado y autenticación acordados entre los dos equipos durante las negociaciones de seguridad. Al estar las tareas divididas en dos fases, se agiliza la creación de claves.

En la primera fase, los dos equipos establecen un canal seguro y autenticado. Es lo que se denomina SA de modo principal. IKE proporciona automáticamente la protección de identidad necesaria para este intercambio.

En los siguientes pasos se describe una negociación de modo principal.

  1. Negociación de directivas. Los cuatro parámetros obligatorios siguientes se negocian como parte de la SA de modo principal:

    • Algoritmo de cifrado (DES o 3DES).

    • Algoritmo hash (MD5 o SHA1).

    • Método de autenticación (protocolo de autenticación Kerberos V5, certificado o autenticación mediante claves previamente compartidas).

    • Grupo Diffie-Hellman (DH) que se va a utilizar para el material de creación de claves base (768 bits Menor (grupo 1), 1.024 bits Medio (grupo 2) o 2.048 bits Alto (grupo 3)).

    • Si para la autenticación se utilizan certificados o claves previamente compartidas, se protege la identidad del equipo. Sin embargo, si se utiliza el protocolo de autenticación Kerberos V5, la identidad del equipo no se cifra hasta que tiene lugar el cifrado de toda la carga de identidad durante la autenticación.

  2. Intercambio DH (de valores públicos). Las claves reales no se intercambian en ningún momento. Sólo se intercambia la información que requiere el algoritmo de determinación de la clave DH para generar la clave secreta compartida. Después de este intercambio, el servicio IKE de cada equipo genera la clave maestra utilizada para proteger la autenticación.

  3. Autenticación. Los equipos intentan autenticar el intercambio de claves DH. Si no se autentica el intercambio de las claves DH, la comunicación será vulnerable a ataques de tipo "Man in the middle". Si se produce un error en la autenticación, no se puede continuar con la comunicación. Para autenticar las identidades se utiliza la clave maestra junto con los algoritmos y métodos de negociación. A toda la carga de identidad (incluido el tipo de identidad, el puerto y el protocolo) se le aplican los algoritmos hash y de cifrado con las claves generadas a partir del intercambio DH del segundo paso. La carga de identidad queda protegida frente a modificaciones e interpretaciones, independientemente del método de autenticación empleado.

    El remitente presenta una oferta para establecer una posible asociación de seguridad con el receptor. El equipo que responde no puede modificar la oferta. En caso de que se modifique la oferta, el equipo inicial rechazará el mensaje del equipo que responde. El equipo que responde envía una respuesta para aceptar la oferta o bien una respuesta con alternativas.

    Los mensajes enviados durante esta fase tienen un ciclo de reintento automático que se repite cinco veces. Si se recibe una respuesta antes de que termine el ciclo de reintento, comienza la negociación de SA estándar. Si la directiva IPsec lo permite, después de un intervalo breve comenzarán las comunicaciones no seguras. Este comportamiento se conoce como retroceso a comunicación no segura. Incluso cuando se retrocede a comunicación no segura, la negociación para establecer una comunicación segura se vuelve a intentar cada cinco minutos.

    No hay ningún límite en cuanto al número de intercambios que pueden tener lugar. El número de asociaciones de seguridad que se pueden establecer sólo está limitado por los recursos del sistema.

SA de modo rápido

En esta fase, las SA se negocian en nombre del controlador de seguridad IP.

En los siguientes pasos se describe una negociación de modo rápido.

  1. Se negocia la directiva. Los equipos con IPsec intercambian la siguiente información para proteger la transferencia de datos:

    • Protocolo IPsec (AH o ESP).

    • Algoritmo hash para la integridad y autenticación (MD5 o SHA1).

    • Algoritmo para el cifrado, si se solicita (DES o 3DES).

    Se llega a un acuerdo y se establecen dos SA. Una SA para la comunicación entrante y la otra para la comunicación saliente.

  2. El material de clave de sesión se actualiza o se intercambia. IKE actualiza el material de creación de claves y se generan nuevas claves compartidas para la integridad, la autenticación y el cifrado de los paquetes (si se negociaron). Si es necesario volver a generar las claves, se produce un segundo intercambio DH (como se describe en la negociación del modo principal) o bien se actualiza la clave DH original.

  3. Las SA y las claves, junto con el SPI, se pasan al controlador de seguridad IP. La negociación de modo rápido de la configuración de seguridad y del material de creación de claves (con el fin de proteger los datos) está protegida por la SA de modo principal. Mientras que la primera fase protege la identidad, la segunda fase, es decir, la de modo rápido, proporciona protección mediante la actualización del material de creación de claves antes de enviar los datos. IKE puede dar cabida a una carga de intercambio de claves para realizar un intercambio DH adicional si es necesario volver a generar las claves; es decir, si está habilitada la PFS de clave de sesión. De lo contrario, IKE actualiza el material de creación de claves obtenido en el intercambio DH del modo principal.

    El modo rápido produce un par de asociaciones de seguridad, cada una de ellas con su propio SPI y su clave. Una SA se utiliza para la comunicación entrante y la otra para la comunicación saliente.

    El algoritmo de reintento de un mensaje es similar al proceso descrito para la negociación del modo principal. Sin embargo, si este proceso supera el tiempo de espera por algún motivo durante la segunda o posteriores negociaciones correspondientes a una misma SA de modo principal, se intenta una nueva negociación de SA de modo principal. Si se recibe un mensaje para esta fase sin que se haya establecido una SA de modo principal, se rechaza.

    El uso de una única SA de modo principal para varias negociaciones de SA de modo rápido aumenta la velocidad del proceso. Mientras la SA de modo principal no expire, no es necesario volver a negociar ni autenticar. El número de negociaciones de SA de modo rápido que pueden realizarse viene determinado por la configuración de la directiva IPsec.

    Nota

    Una regeneración de claves excesiva a partir de una misma SA de modo principal puede hacer vulnerable la clave secreta compartida frente a un ataque de texto simple conocido. Un ataque de texto simple conocido es un ataque de analizador de protocolos (sniffer) en el que el atacante intenta determinar la clave de cifrado a partir de datos cifrados partiendo de texto simple conocido.

Vigencias de SA

La SA de modo principal se almacena en caché para permitir varias negociaciones de SA de modo rápido (salvo en el caso de que esté habilitada la PFS de clave maestra). Cuando finaliza la vigencia de la clave maestra o de sesión, se vuelve a negociar la SA. Además, la clave se actualiza o se vuelve a generar.

Cuando transcurre el período predeterminado de tiempo de espera para la SA de modo principal, o cuando finaliza la vigencia de la clave maestra o de sesión, se envía un mensaje de eliminación al equipo que responde. El mensaje de eliminación de IKE indica al equipo que responde que la SA de modo principal expiró. De este modo se impide la creación de nuevas SA de modo rápido a partir de la SA de modo principal expirada. IKE no hace expirar la SA de modo rápido, ya que sólo el controlador IPsec contiene el número de segundos o bytes transcurridos hasta que finalizó la vigencia de la clave.

Es necesario tener precaución al establecer vigencias muy diferentes para las claves maestras y de sesión. Por ejemplo, si se establece una vigencia de la clave maestra de modo principal de ocho horas y una vigencia de la clave de sesión de modo rápido de dos horas, una SA de modo rápido podría continuar establecida casi dos horas después de que la SA de modo principal expirara. Esta situación se produciría cuando la SA de modo rápido se generara poco antes de expirar la SA de modo principal.