Todos los artículos de SSL SSL y certificados

¿Qué es mTLS (TLS mutuo)? Autenticación con certificado de cliente

En el HTTPS regular, solo el servidor prueba su identidad con un certificado. El cliente (navegador) es anónimo — el servidor no sabe quién se está conectando.

TLS mutuo (mTLS) añade un segundo paso: el cliente también presenta un certificado. Ambas partes se autentican mutuamente. El servidor verifica el certificado del cliente contra una CA de confianza, y el cliente verifica el del servidor — de ahí «mutuo».

TLS regular vs TLS mutuo

TLS regularTLS mutuo (mTLS)
Servidor prueba identidadCertificado + firma CAIgual
Cliente prueba identidadAnónimoCertificado de cliente
AutenticaciónUnidireccional (solo servidor)Bidireccional (ambos)
Caso de usoSitios web públicosAPIs internas, zero trust
El cliente necesitaSolo un navegadorCertificado + clave privada
Complejidad de configuraciónEstándarMayor — necesitas gestionar certificados de cliente

Cuándo usar mTLS

Comunicación servicio a servicio

Microservicios que se comunican entre sí a través de la red. mTLS asegura que solo los servicios autorizados puedan conectarse — no cualquiera que conozca la URL.

Service A ←──mTLS──→ Service B
Both verify: "Are you who you claim to be?"

Arquitectura Zero Trust

En zero trust, ninguna conexión de red es confiable por defecto — incluso dentro de la red corporativa. mTLS reemplaza la confianza a nivel de red (firewalls, VPNs) con confianza a nivel de identidad (certificados).

Seguridad de APIs

Protege APIs sensibles más allá de simples claves API. Una clave API robada puede ser usada por cualquiera. Un certificado de cliente está vinculado a una clave privada específica — más difícil de robar y usar.

Autenticación de dispositivos IoT

Los dispositivos se conectan a un backend con certificados de cliente aprovisionados durante la fabricación. El servidor sabe que está hablando con un dispositivo genuino, no uno suplantado.

Cómo funciona mTLS

  1. El cliente se conecta e inicia la negociación TLS (igual que TLS regular)
  2. El servidor envía su certificado — el cliente lo verifica (igual que TLS regular)
  3. El servidor solicita certificado de cliente — envía un mensaje CertificateRequest
  4. El cliente envía su certificado — el servidor lo verifica contra una CA de confianza
  5. Ambas partes calculan las claves de sesión y comienza la comunicación cifrada

Los pasos 3-4 son los que lo hacen «mutuo».

Configuración mTLS en Nginx

server {
    listen 443 ssl;
    server_name api.example.com;

    # Server certificate (same as regular HTTPS)
    ssl_certificate     /etc/ssl/server-fullchain.pem;
    ssl_certificate_key /etc/ssl/server-privkey.pem;

    # Client certificate verification
    ssl_client_certificate /etc/ssl/client-ca.pem;  # CA that signed client certs
    ssl_verify_client on;                            # Require client cert

    # Optional: pass client cert info to your app
    proxy_set_header X-Client-DN $ssl_client_s_dn;
    proxy_set_header X-Client-Verify $ssl_client_verify;
}

mTLS vs otros métodos de autenticación

MétodoNivel de seguridadComplejidadIdeal para
Clave APIBajo (compartible)BajaAPIs públicas, limitación de tasa
OAuth/JWTMedioMediaAPIs orientadas al usuario
mTLSAlto (vinculado criptográficamente)AltaServicio a servicio, zero trust
mTLS + JWTMáximoAltaAutenticación de transporte y aplicación

mTLS y GetHTTPS

GetHTTPS emite certificados de servidor — los certificados que tu servidor web usa para probar su identidad. Estos son los certificados SSL estándar usados por cada sitio web HTTPS.

Los certificados de cliente para mTLS son típicamente emitidos por una CA privada (la CA interna de tu organización), no una CA pública como Let’s Encrypt. Let’s Encrypt no emite certificados de cliente — solo emite certificados de servidor para dominios públicos.

Preguntas frecuentes

¿Puedo usar Let’s Encrypt para mTLS?

Para el certificado del servidor: sí. Para certificados de cliente: no. Los certificados de cliente necesitan ser emitidos por una CA privada que tú controles — así decides qué clientes están autorizados. Herramientas como openssl, cfssl o step-ca pueden actuar como tu CA privada.

¿mTLS es lo mismo que «autenticación con certificado de cliente»?

Sí. «TLS mutuo», «mTLS», «TLS bidireccional» y «autenticación con certificado de cliente» se refieren a lo mismo — ambas partes presentan certificados durante la negociación TLS.

¿mTLS reemplaza las claves API?

Puede, pero sirven para propósitos diferentes. mTLS prueba la identidad a nivel de transporte (qué servicio se está conectando). Las claves API/JWTs prueban la identidad a nivel de aplicación (qué usuario/permiso). Muchos sistemas usan ambos juntos para defensa en profundidad.

¿Dónde se usa comúnmente mTLS?

Kubernetes (service mesh con Istio/Linkerd), Cloudflare Access, AWS API Gateway (mutual TLS), BeyondCorp de Google Cloud, y la mayoría de implementaciones empresariales de zero-trust.

Artículos relacionados

SSL y certificados 2026-05-07
Cómo funciona SSL/TLS: el handshake TLS explicado
Un recorrido visual del handshake TLS: cómo tu navegador y un servidor establecen una conexión cifrada en milisegundos. Cubre TLS 1.2, TLS 1.3, reanudación de sesión y secreto perfecto hacia adelante.
SSL y certificados 2026-05-08
Criptografía de clave pública: cómo funciona realmente el cifrado SSL
La criptografía de clave pública usa un par de claves, una pública y una privada, para asegurar las conexiones HTTPS. Aprende cómo el cifrado asimétrico, las firmas digitales y el intercambio de claves hacen posible SSL/TLS.
SSL y certificados 2026-05-08
¿Qué es un certificado SSL?
Un certificado SSL es un archivo digital que autentica un sitio web y habilita conexiones HTTPS cifradas. Aprende qué contiene un certificado, cómo funciona, cómo obtener uno gratis y por qué todo sitio lo necesita.
Obtén un certificado SSL gratuito en tu navegador
Sin instalación, sin cuenta. Tu clave privada nunca sale de tu dispositivo.
Obtener certificado