Preguntas frecuentes
Hace algunos años, un equipo de expertos en seguridad publicó un documento que describe un escenario de ataque que permite romper una conexión IKEv1 Aggressive Mode con Pre-Shared Key, y que, tal como se describe allí, no se puede aplicar igualmente a una conexión IKEv1 Main Mode con Pre-Shared Key, lo que llevó a la suposición errónea de que Aggressive Mode es fundamentalmente mucho menos seguro que Main Mode. Sin embargo, si echamos un vistazo neutral a los hechos, esta afirmación no corresponde a la realidad. Lo que la mayoría de la gente desconoce es el hecho de que una parte de este ataque fue intentar adivinar la Pre-Shared Key (PSK) utilizando un ataque de "fuerza bruta", y dicho ataque solo puede tener éxito si la PSK se eligió de forma insegura. Una PSK también es solo una contraseña, y como ocurre con todas las contraseñas, las contraseñas débiles conducen a una menor seguridad. Siempre que la PSK tenga al menos 14 caracteres (cuanto más, mejor), conste de letras minúsculas, mayúsculas y dígitos, y se haya generado completamente al azar (de modo que no se pueda adivinar fácilmente), y siempre que en la fase 1 se haya seleccionado como mínimo SHA1 como hash (o mejor aún, recomendamos SHA-256 si es posible), no hay absolutamente ninguna razón para suponer que una conexión Aggressive Mode PSK sea fundamentalmente menos segura que una conexión Main Mode PSK. Quien quiera estar completamente seguro, simplemente elija una autenticación basada en certificados, si es posible, porque eso hace que este ataque ni siquiera sea factible.
Antecedentes técnicos:
La Pre-Shared Key (PSK) no es una contraseña utilizada para cifrar datos, sino únicamente para la autenticación, más o menos como cuando un usuario inicia sesión en un sitio web con una contraseña. Durante la fase 1, ambas partes deben demostrarse mutuamente que conocen la PSK. Por supuesto, esto no puede ocurrir enviándola a la otra parte, porque incluso si la otra parte no la conociera hasta ahora, la conocería a partir de ahora. En cambio, ambas partes deben calcular un número (un llamado valor hash), para lo cual se utilizan datos que ambas partes ya han intercambiado (y que son diferentes en cada conexión para garantizar que el valor hash también sea diferente cada vez) y la PSK. Solo este valor hash se envía al otro lado, que luego debe realizar exactamente los mismos cálculos. Si llega al mismo resultado, entonces la otra parte también debe haber utilizado la misma PSK, ergo la conoce. El mismo juego se repite entonces en la dirección opuesta, aunque el cálculo aquí difiere ligeramente para garantizar que los dos valores hash sean siempre diferentes.
La diferencia entre Main Mode y Aggressive Mode es simplemente que en Main Mode el valor hash se transmite cifrado, ya que el procedimiento de intercambio de claves (DH Exchange) que conduce a una clave de sesión segura en ambos lados ya se ha completado por completo en ese momento y tan pronto como ambas partes tengan una clave de sesión, todos los paquetes solo se transmiten cifrados. Con Aggressive Mode, el valor hash se transmite sin cifrar, ya que el intercambio de claves aún no se ha completado en este momento. Al espiar una conexión Aggressive Mode, un atacante puede acceder tanto al valor hash como a todos los datos necesarios para calcular ese valor, con la excepción de la PSK real. Pero eso por sí solo no rompe la conexión, simplemente tiene suficiente información para buscar la PSK, por ejemplo, mediante un llamado ataque de "fuerza bruta" (simplemente probar todas las combinaciones posibles) o un ataque de diccionario (probar contraseñas elegidas con frecuencia que se pueden obtener de fugas de datos de otros servicios en línea). Solo si la PSK es demasiado débil para resistir estos ataques, puede romper finalmente la conexión. Por lo tanto, una PSK buena y suficientemente segura es esencial para la seguridad de una conexión VPN PSK.
Sin embargo, el mismo ataque también es posible con una conexión Main Mode, solo requiere un poco más de esfuerzo. En el caso de Main Mode, no basta con poder leer el tráfico, sino que es necesario un llamado ataque Man-in-the-Middle (MitM), es decir, un atacante debe ser capaz de interceptar y manipular el tráfico. A través de un ataque MitM, un atacante puede desactivar el cifrado, lo que no es suficiente para acceder a la VPN, porque todavía se necesita la PSK para eso, ya que sin ella la fase 1 no se completará con éxito, pero incluso entonces un atacante tendría el valor hash y todos los datos necesarios para calcularlo y podría intentar adivinar la PSK de la misma manera. Y si un atacante ya es capaz de leer todo el tráfico (que es un requisito previo básico para cualquier escenario de ataque), es muy probable que también pueda llevar a cabo un ataque MitM y, en ese caso, Main Mode no ofrece ninguna protección adicional.
Una PSK de 11 caracteres alfanuméricos aleatorios tiene una entropía de aproximadamente 64 bits, lo que equivale a 2^64 valores posibles. Las tarjetas gráficas modernas de gama alta (a partir de 2016) pueden calcular en el orden de mil millones de valores hash SHA-265 por segundo. En promedio, uno debe probar el 50% de todas las posibilidades para encontrar una coincidencia y eso tomaría 292 años. Si un atacante tiene a su disposición 100 de estas tarjetas gráficas, el ataque "solo" tardaría alrededor de 3 años. Pero incluso con 14 caracteres, la entropía es de 80 bits y aquí una sola tarjeta gráfica necesitaría 19.154.798 años. Ni siquiera 10.000 tarjetas gráficas acortarían suficientemente el tiempo. Y nunca se debe ignorar el costo de dicho ataque. No tanto el costo de comprar las tarjetas gráficas, sino más bien su consumo de energía cuando todas estas tarjetas gráficas funcionan con potencia máxima las 24 horas del día durante años, décadas o incluso siglos. Eso rápidamente suma miles de millones de euros en costos de electricidad solo para romper una sola conexión PSK en todo el mundo. Además, cada vez que se cambia la PSK, el atacante debe comenzar desde cero. Por lo tanto, si la PSK se cambia solo una vez al año, un atacante tendría como máximo 1 año para encontrarla; eso ya sería bastante ambicioso, incluso con una PSK débil.