Tema 17

17. Firmas digitales, certificados, PKI y validación de identidades

Proteger un mensaje contra modificaciones no siempre alcanza: también hace falta saber quién lo emitió y por qué deberíamos confiar en esa identidad. Las firmas digitales, los certificados y la PKI permiten pasar del dato íntegro al dato firmado por una identidad verificable dentro de una cadena de confianza.

Objetivo Entender cómo se vincula una clave pública con una identidad confiable
Enfoque Conceptual, práctico y orientado a sistemas reales
Resultado Distinguir firma, certificado, CA, PKI y proceso de validación

17.1 Introducción

En los temas anteriores vimos criptografía asimétrica, RSA, ECC, funciones hash y HMAC. Con esas piezas ya podemos comprender una de las estructuras más importantes de la seguridad moderna: las firmas digitales y la infraestructura que permite confiar en claves públicas distribuidas a gran escala.

El problema central es simple de formular: si alguien me entrega una clave pública y me dice que pertenece a un sitio web, una empresa o una persona, ¿cómo verifico que esa afirmación es cierta? Ahí entran los certificados digitales y la PKI.

17.2 Qué es una firma digital

Una firma digital es un mecanismo criptográfico que permite asociar un mensaje con quien posee una clave privada. Cualquiera que tenga la clave pública correspondiente puede verificar la firma.

En términos generales, una firma digital aporta:

  • Integridad: detecta si el contenido fue alterado.
  • Autenticidad: vincula el contenido con la clave privada firmante.
  • No repudio: en el modelo adecuado, dificulta que el firmante niegue la operación.

17.3 Diferencia entre HMAC y firma digital

Un HMAC también permite autenticar mensajes, pero funciona con una clave compartida. Si dos partes conocen la misma clave, cualquiera de ellas podría haber generado el código.

La firma digital, en cambio, separa los roles: solo quien posee la clave privada firma, y cualquier tercero con la clave pública puede verificar. Esa diferencia la vuelve adecuada para validación pública, documentos firmados, certificados y protocolos abiertos como HTTPS.

17.4 Cómo se firma un mensaje en la práctica

En la mayoría de los sistemas no se firma el mensaje completo directamente, sino su resumen criptográfico. El proceso conceptual es:

  1. Se calcula un hash del mensaje.
  2. Ese hash se procesa con la clave privada del firmante.
  3. Se adjunta la firma al mensaje o se distribuye junto a él.
  4. El verificador recalcula el hash y comprueba la firma con la clave pública.

Esto mejora la eficiencia y conecta directamente el tema de firmas con el de funciones hash.

17.5 Qué garantiza una firma y qué no

Una firma válida no significa automáticamente "este contenido es verdadero" ni "este emisor es confiable en sentido absoluto". Lo que garantiza es que el contenido no cambió desde que fue firmado y que la firma corresponde a una clave privada asociada a una clave pública concreta.

El problema siguiente es entonces: ¿de quién es realmente esa clave pública? Ese es el punto donde aparece el certificado digital.

17.6 Qué es un certificado digital

Un certificado digital es un documento estructurado que vincula una clave pública con una identidad o con un sujeto técnico, como un dominio, un servidor o una organización. Ese vínculo no se acepta por simple declaración: está firmado por una entidad emisora que actúa como tercero de confianza.

En otras palabras, el certificado dice: "esta clave pública pertenece a este sujeto", y esa afirmación viene firmada por una autoridad certificadora.

17.7 Qué información suele contener un certificado

Aunque hay muchos detalles técnicos, un certificado suele incluir:

  • La clave pública del sujeto.
  • La identidad asociada, como dominio, organización o nombre común.
  • Un número de serie.
  • Fechas de vigencia.
  • El emisor del certificado.
  • Usos permitidos de la clave.
  • La firma digital de la entidad emisora.

17.8 Autoridades certificadoras

Una autoridad certificadora, o CA, es la entidad que emite certificados y los firma con su propia clave privada. Si los sistemas confían en esa CA, entonces también pueden confiar en los certificados que ella firma, siempre que pasen las validaciones correspondientes.

La confianza no se basa solo en matemáticas, sino también en políticas operativas, auditorías, controles y administración segura de las claves de la CA.

17.9 Qué es la PKI

PKI significa Public Key Infrastructure. No es solo un algoritmo ni un formato de certificado: es el conjunto de componentes, procedimientos y entidades que permiten emitir, distribuir, validar, renovar y revocar certificados y claves públicas.

Una PKI suele incluir:

  • Autoridades raíz y autoridades intermedias.
  • Procedimientos de emisión y validación de identidad.
  • Repositorios de certificados y listas de revocación.
  • Políticas de uso, renovación y revocación.
  • Herramientas para verificación y gestión del ciclo de vida.

17.10 Certificados raíz, intermedios y finales

En la práctica, la confianza no suele depender de una sola firma directa. Se usa una jerarquía:

  • Certificado raíz: es el ancla de confianza instalada en sistemas operativos, navegadores o aplicaciones.
  • Certificado intermedio: es emitido por la raíz y se usa para firmar otros certificados.
  • Certificado final: pertenece al servidor, sitio, usuario o servicio que quiere identificarse.

Esto permite proteger mejor la clave raíz, limitar exposición y organizar la operación de la PKI.

17.11 Cadena de confianza

Cuando un navegador recibe el certificado de un sitio, no confía en él de forma aislada. Intenta construir una cadena de confianza desde ese certificado final hasta una raíz que ya esté almacenada como confiable.

Si la firma del certificado final es válida, la del intermedio también, y finalmente se llega a una raíz confiable, el sistema puede aceptar el vínculo entre identidad y clave pública.

La seguridad no depende solo de que una firma matemática sea correcta, sino de que toda la cadena que conecta esa firma con una raíz confiable sea válida y pertinente.

17.12 Cómo se valida un certificado

Validar un certificado no significa solo comprobar que "la firma coincide". Un validador serio revisa varios puntos:

  • Que la firma del certificado sea correcta.
  • Que la cadena hasta una raíz confiable esté completa y sea válida.
  • Que la fecha actual esté dentro del período de vigencia.
  • Que el nombre del sujeto coincida con el dominio o identidad esperada.
  • Que los usos de la clave permitan la operación que se intenta realizar.
  • Que el certificado no haya sido revocado, cuando el esquema lo contemple.

17.13 Revocación de certificados

Un certificado puede seguir dentro de su fecha de validez y aun así dejar de ser confiable. Esto ocurre, por ejemplo, si la clave privada fue comprometida, si hubo emisión errónea o si cambió el estado administrativo del sujeto.

Para esos casos existen mecanismos de revocación, como:

  • CRL: listas de certificados revocados publicadas periódicamente.
  • OCSP: consultas en línea para verificar el estado de un certificado concreto.

17.14 Casos de uso reales

Las firmas digitales y los certificados aparecen en muchos escenarios:

  • HTTPS/TLS: para autenticar servidores y negociar sesiones seguras.
  • Firma de código: para verificar el origen e integridad de software.
  • Firma de documentos: para validar autoría e integridad documental.
  • Autenticación de clientes: en entornos corporativos, VPN o sistemas de alta seguridad.
  • Correo firmado: para asegurar procedencia e integridad de mensajes.

17.15 Qué pasa en HTTPS

Cuando visitas un sitio con HTTPS, el servidor presenta su certificado. El navegador valida la cadena de confianza, la vigencia y el nombre del dominio. Si todo es correcto, acepta que la clave pública del servidor pertenece realmente a ese dominio.

A partir de ahí, esa clave pública se usa dentro del protocolo TLS para autenticar el intercambio y proteger el establecimiento de claves de sesión. Si la validación falla, el navegador muestra advertencias porque ya no puede asegurar la identidad del servidor.

17.16 Riesgos y errores frecuentes

  • Confiar en una clave pública sin verificar su certificado o su origen.
  • Aceptar certificados expirados, mal emitidos o para otro dominio.
  • Ignorar advertencias del navegador sobre cadena inválida o identidad incorrecta.
  • Proteger mal la clave privada del firmante o del servidor.
  • Confundir un certificado autofirmado con un certificado emitido por una CA confiable.
  • Suponer que una firma válida prueba reputación, honestidad o ausencia de malware.

17.17 Certificados autofirmados

Un certificado autofirmado es aquel cuya firma fue realizada por la misma entidad que lo presenta. Matemáticamente puede ser correcto, pero no forma parte de una cadena de confianza reconocida por terceros, salvo que se instale manualmente como confiable.

Por eso pueden servir en laboratorios, entornos internos o pruebas controladas, pero no sustituyen por sí solos el modelo de confianza pública de una PKI ampliamente aceptada.

17.18 Buenas prácticas

  • Proteger las claves privadas con controles técnicos y operativos estrictos.
  • Validar certificados completos, no solo firmas aisladas.
  • Verificar nombre, vigencia, propósito y estado de revocación cuando aplique.
  • Usar autoridades certificadoras y cadenas de confianza adecuadas al contexto.
  • Renovar certificados antes de su expiración y automatizar el proceso cuando sea posible.
  • Registrar y auditar eventos de emisión, revocación y uso de claves sensibles.

17.19 Relación con los temas anteriores

Este tema integra varias piezas del curso:

  • Usa hashes para resumir mensajes antes de firmarlos.
  • Usa criptografía asimétrica para firmar y verificar.
  • Se apoya en RSA, ECDSA o esquemas relacionados.
  • Complementa a HMAC, que autentica mensajes con clave compartida pero no resuelve identidad pública.

17.20 Qué debes recordar de este tema

  • Una firma digital prueba integridad y vincula el contenido con una clave privada.
  • Un certificado vincula una clave pública con una identidad o sujeto técnico.
  • La PKI es la infraestructura que permite emitir, validar y revocar certificados.
  • La confianza real depende de una cadena válida hasta una raíz confiable.
  • Validar bien un certificado implica revisar firma, vigencia, identidad, uso y estado.
  • Una implementación negligente puede anular por completo la seguridad matemática del sistema.

17.21 Conclusión

Las firmas digitales resuelven el problema de autoría criptográfica, pero los certificados y la PKI resuelven algo todavía más importante para Internet y los sistemas modernos: cómo confiar, a escala, en que una clave pública pertenece realmente a quien dice pertenecer.

En el próximo tema estudiaremos protocolos aplicados, donde estas ideas se combinan con intercambio de claves, cifrado simétrico y validación operativa para proteger comunicaciones reales.