Ir al contenidoHisnLabs
← Criptografía en la que puede confiar

Lección 2 de 4 · 9 min

Firmas digitales, certificados, y TLS

Cómo sabe un navegador que en verdad está hablando con tu banco, por qué un ícono de candado significa algo específico, y qué no significa.

La lección anterior dejó una pregunta abierta: el cifrado asimétrico te permite enviarle un secreto a alguien de quien tienes la clave pública — pero ¿cómo sabes que esa clave pública en verdad le pertenece, y no a un atacante en medio? Las firmas digitales y los certificados responden eso, y juntos hacen posible TLS, el protocolo detrás de toda dirección https://.

Firmas digitales: prueba de origen, no de secreto

Una firma digital ejecuta el cifrado asimétrico al revés. En lugar de cifrar un mensaje con la clave pública de alguien para que solo esa persona pueda leerlo, quien envía firma un mensaje con su propia clave privada, y cualquiera puede verificarlo usando la clave pública de quien lo envió. Si la verificación funciona, dos cosas son ciertas: el mensaje vino de quien tiene esa clave privada, y no se alteró después — la misma propiedad de resistencia a colisiones de la discusión sobre el hash de la lección anterior es lo que hace detectable cualquier manipulación. Una firma prueba autenticidad e integridad; por sí sola, no mantiene el mensaje en secreto.

Certificados: una firma que avala una clave pública

Un certificado digital resuelve el problema de “de quién es realmente esta clave pública”. Como explica el Centro de Aprendizaje de Cloudflare, un certificado SSL/TLS es “un archivo de datos alojado en el servidor de origen de un sitio web” que contiene el nombre de dominio, la clave pública, una fecha de caducidad y — de forma crucial — “la firma digital de la autoridad certificadora.” Una autoridad certificadora (CA) es un tercero de confianza que revisa que un sitio web controla el dominio para el que solicita un certificado, y luego firma ese certificado con su propia clave privada. Tu navegador viene con una lista integrada de CA en las que confía, así que cuando recibe un certificado firmado por una de ellas, puede confiar en la clave pública que contiene sin haber conocido nunca a quien opera el sitio web. Un certificado autofirmado — uno que un sitio firma él mismo en vez de obtenerlo de una CA — no tiene ese aval externo, por eso los navegadores lo tratan como no confiable por defecto.

TLS: poniendo a trabajar a ambos

El RFC 8446, la especificación de TLS 1.3, describe un saludo (handshake) en fases: el intercambio de claves, en el que ambas partes establecen material secreto compartido; y luego la autenticación, donde, en palabras del propio RFC, “el lado del servidor del canal siempre se autentica; el lado del cliente se autentica de forma opcional” — normalmente solo el sitio web demuestra su identidad, no quien lo visita. El servidor demuestra quién es usando su certificado y una firma que solo él podría producir con su clave privada. Una vez que ambas partes confían en la conexión, derivan claves simétricas rápidas (el AES de la lección anterior, típicamente) para los datos reales. El RFC 8446 declara con claridad qué obtienes con esto: confidencialidad e integridad para los datos intercambiados, y autenticación del servidor. También declara, con la misma claridad, un límite: “TLS no oculta la longitud de los datos que transmite”, y metadatos como a qué servidor te conectaste y cuándo siguen siendo visibles para cualquiera que esté en posición de observar la conexión.

Qué significa y qué no significa el ícono del candado

El candado / https:// significaNo significa
La conexión con ese servidor está cifrada y su integridad está protegidaQue el sitio web sea confiable, honesto, o seguro de usar
Estás hablando con quien controla ese nombre de dominioQue ese nombre de dominio sea quien tú crees — un dominio parecido y convincente también consigue un certificado válido
Nadie en la ruta de red puede leer ni alterar en silencio el tráficoQue nadie pueda ver que visitaste el sitio, cuándo, o con qué frecuencia

Un sitio de phishing construido sobre un dominio parecido puede tener un certificado perfectamente válido: TLS autentica el dominio, no la intención de quien lo registró. Por eso la lección anterior sobre cómo se desarrollan los ataques trata una página de inicio de sesión falsa, candado incluido, como una amenaza real, no como una contradicción.

Lo esencial

  • Una firma digital prueba quién envió un mensaje y que no se alteró — por sí sola no mantiene el mensaje en secreto.
  • Un certificado es una declaración firmada, de una autoridad certificadora en la que un navegador ya confía, de que una clave pública dada pertenece a un dominio dado.
  • Un saludo TLS (RFC 8446) siempre autentica al servidor; quien visita rara vez se autentica de la misma manera.
  • TLS protege la confidencialidad y la integridad en tránsito, y confirma que llegaste al dominio que querías — no oculta que pasó una conexión, ni garantiza que el sitio detrás de ella sea confiable.
  • Un sitio de phishing en un dominio parecido puede mostrar un candado perfectamente válido; el certificado autentica el dominio, no la intención de quien lo opera.

Ponte a prueba

  1. 1. ¿Qué demuestra una firma digital válida en un mensaje?

    • Que el mensaje es secreto para todos salvo el destinatario
    • Que el mensaje vino de quien tiene una clave privada específica y no se alteró — Correcto.
    • Que el mensaje se envió usando TLS
    • Que el mensaje está libre de cualquier contenido dañino

    Las firmas verifican autenticidad e integridad usando el par de claves de quien firma; no cifran el mensaje para mantenerlo en secreto.

  2. 2. ¿Qué papel juega una autoridad certificadora (CA) en TLS?

    • Guarda tus contraseñas en tu nombre
    • Avala, con su propia firma, que una clave pública pertenece a un dominio dado — Correcto.
    • Cifra todo el tráfico de internet
    • Bloquea automáticamente los sitios web de phishing

    Una CA revisa el control del dominio y firma el certificado, permitiendo que los navegadores que ya confían en la CA confíen en la clave pública del certificado sin contactar directamente a quien opera el sitio.

  3. 3. Según el RFC 8446, ¿qué lado de una conexión TLS típica siempre se autentica?

    • Solo el cliente (tu navegador)
    • El servidor — Correcto.
    • Ningún lado por defecto
    • Ambos lados, siempre, sin excepciones

    El RFC 8446 establece que el lado del servidor siempre se autentica, mientras que la autenticación del cliente es opcional y mucho menos común en la navegación normal.

  4. 4. ¿Por qué puede un sitio web de phishing mostrar un ícono de candado válido?

    • Los íconos de candado son solo decorativos y no significan nada
    • Un certificado autentica un nombre de dominio, no la honestidad de quien lo registró — Correcto.
    • Los navegadores ya no revisan los certificados
    • Los sitios de phishing no pueden usar HTTPS en absoluto

    Los certificados TLS confirman que estás hablando con el verdadero titular de un dominio dado; un dominio parecido y convincente puede conseguir su propio certificado perfectamente válido.

Ponlo en práctica con FireAI

Pon esta lección en práctica en tu propia computadora.

Fuentes

Ponlo en práctica en tu Mac

Prueba todas las funciones gratis durante 17 días, sin tarjeta.

Descargar para Mac Docs