Tema 17
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.
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.
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:
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.
En la mayoría de los sistemas no se firma el mensaje completo directamente, sino su resumen criptográfico. El proceso conceptual es:
Esto mejora la eficiencia y conecta directamente el tema de firmas con el de funciones hash.
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.
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.
Aunque hay muchos detalles técnicos, un certificado suele incluir:
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.
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:
En la práctica, la confianza no suele depender de una sola firma directa. Se usa una jerarquía:
Esto permite proteger mejor la clave raíz, limitar exposición y organizar la operación de la PKI.
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.
Validar un certificado no significa solo comprobar que "la firma coincide". Un validador serio revisa varios puntos:
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:
Las firmas digitales y los certificados aparecen en muchos escenarios:
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.
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.
Este tema integra varias piezas del curso:
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.