El TLS mutuo (mTLS) es un tipo de autenticación en el que las dos partes de una conexión se autentican mutuamente mediante el uso del protocolo TLS.
Después de leer este artículo podrás:
Contenido relacionado
Suscríbete a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.
Copiar el enlace del artículo
El TLS mutuo, abreviado como mTLS, es un método de autenticación mutua. El mTLS garantiza que las partes de cada extremo de una conexión de red son quienes dicen ser, verificando que ambas tienen la clave privada correcta. La información incluida en sus respectivos certificados TLS proporciona una verificación adicional.
El mTLS se suele utilizar en un marco de seguridad Zero Trust* para verificar usuarios, dispositivos y servidores dentro de una organización. También puede ayudar a mantener la seguridad de las API<.
*Zero Trust significa que no se confía por defecto en ningún usuario, dispositivo o tráfico de red, un enfoque que ayuda a eliminar muchas vulnerabilidades de seguridad.
Transport Layer Security (TLS) es un protocolo de encriptación que se usa mucho en Internet. TLS, anteriormente conocido como SSL, autentica al servidor en una conexión cliente-servidor, y encripta las comunicaciones entre el cliente y el servidor para que partes externas no puedan espiar las comunicaciones.
Hay tres cosas importantes que hay que entender sobre cómo funciona TLS:
TLS funciona con una técnica conocida como criptografía de clave pública, que se basa en un par de claves: una clave pública y una clave privada. Todo lo que se encripte con la clave pública solo se podrá desencriptar con la clave privada.
Por tanto, un servidor que desencripta un mensaje encriptado con la clave pública demuestra que posee la clave privada. Cualquiera puede ver la clave pública consultando el certificado TLS del dominio o del servidor.
Un certificado TLS es un archivo de datos que contiene información importante para verificar la identidad de un servidor o dispositivo, incluyendo la clave pública, una declaración de quién emitió el certificado (los certificados TLS los emite una agencia certificadora) y la fecha de caducidad del certificado.
El protocolo de enlace TLS es el proceso para verificar el certificado TLS y la posesión de la clave privada por parte del servidor. El protocolo de enlace TLS también establece cómo se llevará a cabo la encriptación una vez haya finalizado el protocolo de enlace.
Lo normal es que en TLS el servidor tenga un certificado TLS y un par de claves públicas/privadas, mientras que el cliente no los tiene. El proceso típico de TLS funciona de la siguiente manera:
Sin embargo, en mTLS, tanto el cliente como el servidor tienen un certificado, y ambas partes se autentican utilizando su par de claves públicas/privadas. En comparación con el TLS normal, en mTLS hay pasos adicionales para verificar a ambas partes (pasos adicionales en en negrita):
La organización que implementa mTLS actúa como su propia agencia certificadora. Esto se diferencia del TLS estándar, en el que la agencia certificadora es una organización externa que comprueba si el propietario del certificado es el legítimo dueño del dominio asociado (más información sobre la validación de certificados TLS).
Para mTLS es necesario un certificado TLS "raíz"; esto permite que una organización pueda ser su propia agencia certificadora. Los certificados utilizados por los clientes y servidores autorizados tienen que corresponder a este certificado raíz. El certificado raíz está autofirmado, lo que significa que es la propia organización la que lo crea. (Este enfoque no funciona para TLS unidireccional en la Internet pública, porque una agencia certificadora externa tiene que emitir esos certificados).
mTLS ayuda a garantizar que el tráfico sea seguro y de confianza en ambas direcciones entre un cliente y un servidor. Esto ofrece una capa adicional de seguridad para los usuarios que se conectan a la red o a las aplicaciones de una organización. También verifica las conexiones con dispositivos cliente que no siguen un proceso de inicio de sesión, como los dispositivos del Internet de las Cosas (IoT).
mTLS evita varios tipos de ataques, entre los que se incluyen:
Para los fines cotidianos, la autenticación unidireccional ofrece suficiente protección. Los objetivos de TLS en la Internet pública son: 1) asegurar que la gente no visite sitios web suplantados, 2) mantener los datos privados seguros y encriptados mientras cruzan las diversas redes que forman Internet, y 3) asegurar que los datos no sean alterados en tránsito. El TLS unidireccional, por el que el cliente solo verifica la identidad del servidor, cumple estos objetivos.
Además, sería extremadamente difícil distribuir certificados TLS a todos los dispositivos de los usuarios finales. Generar, gestionar y verificar los miles de millones de certificados necesarios para ello es una tarea casi imposible.
Pero a menor escala, mTLS es muy útil y bastante práctico para las organizaciones individuales, especialmente cuando esas organizaciones emplean un enfoque Zero Trust para la seguridad de la red. Ya que un enfoque Zero Trust no confía por defecto en ningún usuario, dispositivo o solicitud, las organizaciones deben ser capaces de autenticar a cada usuario, dispositivo y solicitud cada vez que intenten acceder a cualquier punto de la red. mTLS ayuda a hacer esto posible al autenticar a los usuarios y verificar los dispositivos.
Cloudflare for Teams utiliza mTLS para la seguridad Zero Trust. Cloudflare API Shield también utiliza mTLS para verificar los puntos de conexión de la API, lo que garantiza que ninguna parte no autorizada pueda enviar solicitudes de la API que sean potencialmente maliciosas. Más información sobre cómo implementar mTLS con Cloudflare.