15%

Ahorra 15%<\/span> en todos los servicios de hosting

Pon a prueba tus habilidades y obtén Descuento<\/span> en cualquier plan de hosting

Usa el código:

Skills
Comenzar
01.11.2024
2 +1

Claves de Cifrado Público y Privado SSL: Una Guía Completa para 2025

La comunicación segura y encriptada es la columna vertebral de cada sitio web confiable. Ya sea que estés ejecutando una tienda de comercio electrónico, un blog de WordPress o una API personalizada, el cifrado SSL/TLS protege los datos de tus usuarios contra la interceptación y manipulación. En el corazón de esta protección se encuentra un concepto criptográfico poderoso: pares de claves públicas y privadas.

Esta guía explica exactamente cómo funcionan las claves públicas y privadas de SSL, por qué son importantes y cómo implementarlas y gestionarlas de manera efectiva — ya sea que estés alojando en un VPS, un servidor dedicado o alojamiento compartido.

¿Qué son las claves públicas y privadas de SSL?

SSL (Secure Sockets Layer) y su sucesor moderno TLS (Transport Layer Security) se basan en cifrado asimétrico — un sistema criptográfico que utiliza dos claves matemáticamente vinculadas: una clave pública y una clave privada. Juntas, forman un par de claves que permite la comunicación segura y autenticada entre un cliente (como un navegador web) y un servidor.

La clave pública

La clave pública está, como sugiere el nombre, disponible públicamente. Se incrusta directamente en tu certificado SSL/TLS, que se instala en tu servidor web y se presenta a cada visitante que se conecta a tu sitio. Cualquiera puede usar la clave pública para encriptar datos, pero esos datos encriptados solo pueden ser desbloqueados por su clave privada correspondiente.

Piénsalo como un candado: puedes distribuir miles de candados abiertos (claves públicas) a cualquiera que quiera enviarte un mensaje seguro, pero solo tú tienes la llave (clave privada) que los abre.

La clave privada

La clave privada es el componente más sensible de tu configuración SSL. Se genera en tu servidor y nunca debe salir de él. Esta clave se utiliza para desencriptar datos que fueron encriptados con la clave pública correspondiente. Todo el modelo de seguridad de SSL depende de la confidencialidad absoluta de la clave privada.

Si un atacante alguna vez obtiene acceso a tu clave privada, puede:

  • Desencriptar todo el tráfico encriptado interceptado
  • Hacerse pasar por tu servidor ante usuarios desprevenidos
  • Realizar ataques de intermediario (MITM) sin ser detectado

Por eso los entornos de servidor seguro — como los que ofrece Servidores Dedicados con acceso root completo e aislamiento a nivel de hardware — son críticos para implementaciones en producción.

Cómo funcionan las claves públicas y privadas en una conexión SSL/TLS

El proceso de establecer una conexión HTTPS segura se llama protocolo de enlace SSL/TLS. Aquí hay un desglose detallado paso a paso de cómo se utilizan las claves públicas y privadas durante este proceso.

Paso 1: El saludo del cliente

Cuando el navegador de un usuario intenta conectarse a tu sitio web HTTPS, inicia el protocolo de enlace enviando un mensaje Client Hello al servidor. Este mensaje incluye:

  • Las versiones del protocolo SSL/TLS que el cliente admite
  • Una lista de suites de cifrado admitidas (algoritmos de encriptación)
  • Un número generado aleatoriamente utilizado posteriormente en la derivación de claves
  • Métodos de compresión admitidos

En esta etapa, no ha ocurrido encriptación. El cliente simplemente está anunciando sus capacidades.

Paso 2: El saludo del servidor y presentación del certificado

El servidor responde con un mensaje Server Hello, que incluye:

  • La versión SSL/TLS seleccionada y la suite de cifrado
  • Otro número generado aleatoriamente
  • El certificado SSL del servidor, que contiene la clave pública del servidor y está firmado por una Autoridad de Certificación (CA) de confianza

El cliente luego valida el certificado verificando:

  1. Que fue emitido por una CA de confianza (como Let’s Encrypt, DigiCert o Sectigo)
  2. Que no ha expirado
  3. Que el nombre de dominio coincide con el Nombre Común (CN) o Nombre Alternativo del Asunto (SAN) del certificado
  4. Que el certificado no ha sido revocado (mediante CRL u OCSP)

Si alguna de estas verificaciones falla, el navegador muestra una advertencia de seguridad y la conexión generalmente se interrumpe.

Paso 3: Intercambio de claves — Donde los pares de claves públicas/privadas hacen el trabajo pesado

Una vez que el certificado es validado, el cliente y el servidor necesitan acordar una clave de sesión compartida — una clave de encriptación simétrica utilizada para encriptar todos los datos reales durante la sesión. Aquí es donde el par de claves pública/privada juega su papel más crítico.

En el intercambio de claves RSA tradicional:

  1. El cliente genera un secreto previo a la sesión aleatorio
  2. El cliente encripta el secreto previo a la sesión usando la clave pública del servidor (extraída del certificado SSL)
  3. El secreto previo a la sesión encriptado se envía al servidor
  4. El servidor usa su clave privada para desencriptar el secreto previo a la sesión
  5. Tanto el cliente como el servidor derivan independientemente la misma clave de sesión del secreto previo a la sesión y los números aleatorios previamente intercambiados

En TLS 1.3 moderno con ECDHE (Diffie-Hellman de Curva Elíptica Efímero):

El proceso de intercambio de claves es aún más seguro. En lugar de encriptar directamente un secreto previo a la sesión, ambas partes contribuyen a generar la clave de sesión usando pares de claves efímeras. Esto proporciona Secreto de Avance Perfecto (PFS), lo que significa que incluso si la clave privada se ve comprometida en el futuro, las sesiones pasadas no pueden ser desencriptadas.

Paso 4: Establecimiento de encriptación simétrica para transferencia de datos

Una vez que ambas partes comparten la misma clave de sesión, el protocolo de enlace SSL está completo. Toda la comunicación posterior — cada solicitud HTTP, respuesta, cookie y envío de formulario — se encripta usando encriptación simétrica (típicamente AES-256), que es mucho más rápida que la encriptación asimétrica para la transferencia de datos en volumen.

El par de claves pública/privada ya no está directamente involucrado en esta etapa. Su trabajo fue establecer de manera segura la clave de sesión; la encriptación simétrica toma el relevo desde aquí.

Por qué la encriptación asimétrica se usa solo para el protocolo de enlace

Una pregunta común es: *si el cifrado de clave pública/privada es tan seguro, ¿por qué no usarlo para todos los datos?*

La respuesta es rendimiento. La encriptación asimétrica es computacionalmente costosa — órdenes de magnitud más lenta que la encriptación simétrica. Usar RSA o ECC para encriptar gigabytes de video en streaming o consultas de bases de datos sería impracticable.

La solución elegante que SSL/TLS utiliza es un enfoque híbrido:

FaseTipo de encriptaciónPropósito
Protocolo de enlaceAsimétrica (RSA/ECC)Intercambiar clave de sesión de manera segura
Transferencia de datosSimétrica (AES)Encriptación rápida de datos en volumen
AutenticaciónFirmas digitalesVerificar identidad del servidor

Este modelo híbrido te da la seguridad de la encriptación asimétrica con la velocidad de la encriptación simétrica.

Mejores prácticas de gestión de claves SSL

Generar un certificado SSL es solo el comienzo. La gestión adecuada de claves es lo que mantiene tu infraestructura segura a lo largo del tiempo. Aquí están las mejores prácticas esenciales que todo administrador de sistemas debe seguir.

1. Usa longitudes de clave suficientemente fuertes

Las claves débiles pueden ser rotas mediante ataques de fuerza bruta o matemáticos. Sigue estos estándares mínimos:

  • Claves RSA: Usa 2048-bit como mínimo absoluto; 4096-bit se recomienda para entornos de alta seguridad
  • Claves ECC: Usa 256-bit (P-256) o superior — ECC proporciona seguridad equivalente a RSA con tamaños de clave mucho más pequeños, mejorando el rendimiento del protocolo de enlace
  • Evita algoritmos obsoletos: No uses MD5, SHA-1 o SSL 3.0/TLS 1.0/1.1 — estos están deprecados y son vulnerables

2. Protege tu clave privada a toda costa

Tu archivo de clave privada (típicamente server.key o privkey.pem) debe tratarse como el archivo más sensible en tu servidor:

  • Establece permisos de archivo estrictos: chmod 600 /etc/ssl/private/server.key
  • Asegúrate de que el archivo sea propiedad solo de root o del usuario del servidor web
  • Nunca transmitas la clave privada por correo electrónico, chat o canales sin encriptar
  • Nunca la almacenes en un directorio accesible públicamente o en un repositorio de control de versiones (p. ej., GitHub)
  • Considera usar un Módulo de Seguridad de Hardware (HSM) para entornos empresariales

3. Renueva regularmente los certificados SSL

Los certificados SSL tienen fechas de vencimiento. Un certificado vencido causa advertencias del navegador que destruyen la confianza del usuario y pueden afectar tu clasificación SEO. Las mejores prácticas incluyen:

  • Usa Let’s Encrypt con Certbot para certificados de 90 días gratuitos y renovables automáticamente
  • Configura trabajos cron de renovación: certbot renew --quiet ejecutándose dos veces al día
  • Monitorea la expiración del certificado con herramientas como SSL Labs, Zabbix o Nagios
  • Para certificados comerciales, cómpralos a través de un proveedor confiable — AlexHost ofrece Certificados SSL para dominios de todos los tipos

4. Implementa redirección HTTPS

Tener un certificado SSL instalado no es suficiente — debes asegurar que todo el tráfico lo use. Agrega lo siguiente a tu configuración de Apache o Nginx:

Apache:

<VirtualHost *:80>
    ServerName yourdomain.com
    Redirect permanent / https://yourdomain.com/
</VirtualHost>

Nginx:

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;
    return 301 https://$host$request_uri;
}

5. Habilita HTTP Strict Transport Security (HSTS)

HSTS instruye a los navegadores a usar siempre HTTPS para tu dominio, incluso si un usuario escribe http:// manualmente:

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

Una vez que estés seguro de tu configuración SSL, envía tu dominio a la lista de precarga HSTS para máxima protección.

6. Rota claves después de cualquier incidente de seguridad

Si sospechas que tu clave privada ha sido comprometida — o si un servidor está siendo dado de baja — inmediatamente:

  1. Genera un nuevo par de claves
  2. Envía una nueva Solicitud de Firma de Certificado (CSR) a tu CA
  3. Instala el nuevo certificado
  4. Revoca el certificado antiguo a través del panel de tu CA

Cómo generar un par de claves SSL y CSR en Linux

Si estás gestionando tu propio servidor, aquí te mostramos cómo generar una clave privada y una Solicitud de Firma de Certificado (CSR) usando OpenSSL:

Genera una clave privada RSA de 2048-bit

openssl genrsa -out server.key 2048

Genera un CSR desde la clave privada

openssl req -new -key server.key -out server.csr

Se te pedirá que ingreses los detalles de tu organización, incluyendo:

  • País (C)
  • Estado/Provincia (ST)
  • Localidad (L)
  • Organización (O)
  • Nombre Común (CN) — esto debe coincidir exactamente con tu nombre de dominio

Verifica el contenido del CSR

openssl req -text -noout -verify -in server.csr

Envía el CSR a tu Autoridad de Certificación para recibir tu certificado SSL firmado.

Instala el certificado en Nginx

ssl_certificate /etc/ssl/certs/server.crt;
ssl_certificate_key /etc/ssl/private/server.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;

SSL en AlexHost: Implementación simplificada

Ya sea que estés implementando un sitio de WordPress, una API de Node.js o una plataforma de comercio electrónico de alto tráfico, tener la infraestructura de alojamiento correcta hace que la gestión de SSL sea significativamente más fácil.

Alojamiento VPS

Con Alojamiento VPS de AlexHost, obtienes acceso root completo a tu servidor, permitiéndote instalar y configurar certificados SSL exactamente como sea necesario — ya sea usando Let’s Encrypt vía Certbot, certificados comerciales o certificados comodín para subdominios. El almacenamiento NVMe SSD garantiza un procesamiento rápido del protocolo de enlace SSL incluso bajo cargas de tráfico altas.

Paneles de control gestionados

Si prefieres un enfoque basado en GUI para la gestión de SSL, VPS con cPanel proporciona una interfaz simplificada para instalar certificados SSL, gestionar archivos de claves y habilitar AutoSSL — todo sin tocar la línea de comandos.

Alojamiento compartido

Para sitios web más pequeños y proyectos personales, los planes de Alojamiento web compartido incluyen soporte SSL, facilitando la seguridad de tu sitio sin experiencia en administración de servidores.

Errores comunes de claves SSL y cómo corregirlos

ErrorCausaSolución
SSL_ERROR_RX_RECORD_TOO_LONGHTTP servido en puerto HTTPSVerifica la configuración del host virtual
ERR_CERT_AUTHORITY_INVALIDCA autofirmada o no confiableInstala un certificado firmado por CA
Private key does not match certificateDesajuste de clave/certificadoRegenera CSR desde la clave privada correcta
Certificate has expiredRenovación no configuradaConfigura renovación automática con Certbot
ERR_SSL_VERSION_OR_CIPHER_MISMATCHVersión TLS obsoletaHabilita TLS 1.2/1.3, deshabilita protocolos más antiguos

Preguntas frecuentes

¿Puedo usar el mismo certificado SSL en múltiples servidores?

Sí, pero debes copiar tanto el certificado *como* la clave privada a cada servidor. Asegúrate de que la clave privada se transmita de manera segura (p. ej., vía SCP sobre SSH) y que los permisos de archivo se establezcan correctamente en cada servidor.

¿Qué es un certificado SSL comodín?

Un certificado comodín (p. ej., *.yourdomain.com) cubre todos los subdominios de primer nivel bajo un dominio. Usa un único par de claves pero protege mail.yourdomain.com, api.yourdomain.com, shop.yourdomain.com y así sucesivamente.

¿Qué sucede si mi clave privada es robada?

Inmediatamente revoca tu certificado actual a través de tu CA, genera un nuevo par de claves, obtén un nuevo certificado e instálalo. Investiga cómo se accedió a la clave y remedia la vulnerabilidad.

¿Afecta SSL a la velocidad del sitio web?

SSL/TLS moderno (especialmente TLS 1.3) agrega una latencia mínima. Con HTTP

15%

Ahorra 15%<\/span> en todos los servicios de hosting

Pon a prueba tus habilidades y obtén Descuento<\/span> en cualquier plan de hosting

Usa el código:

Skills
Comenzar