Firmas, Certificados Digitales y PKI (Parte del Curso de Criptografía)
https://www.youtube.com/watch?v=IunNxCN3YgY
Firmas Digitales
¿Qué son?
Las firmas digitales son el equivalente electrónico de las firmas manuscritas, pero con mayor seguridad y funcionalidad.
Cómo funcionan:
Hash criptográfico: Se crea un resumen único del documento usando algoritmos como SHA-256
Cifrado con clave privada: El hash se cifra con la clave privada del firmante
Verificación: El receptor descifra con la clave pública y compara hashes
Características:
Autenticidad: Verifica la identidad del firmante
Integridad: Garantiza que el documento no fue alterado
No repudio: El firmante no puede negar haber firmado
2. Certificados Digitales
¿Qué son?
Documentos electrónicos que vinculan una identidad con una clave pública.
Estructura típica:
Información del titular (nombre, organización)
Clave pública del titular
Información de la Autoridad Certificadora (CA)
Periodo de validez
Firma digital de la CA
Tipos comunes:
SSL/TLS: Para servidores web
S/MIME: Para correo electrónico seguro
Code Signing: Para firmar software
Client Authentication: Para autenticación de usuarios
3. PKI (Public Key Infrastructure)
¿Qué es?
Un sistema completo de hardware, software, políticas y estándares que gestiona:
Creación de certificados
Distribución
Validación
Revocación
Componentes principales:
Autoridades Certificadoras (CA)
Emiten y firman certificados
Actúan como terceros de confianza
Ejemplos: Let's Encrypt, DigiCert, GlobalSign
Autoridades de Registro (RA)
Verifican identidades antes de emitir certificados
Validan información de los solicitantes
Repository
Almacena y distribuye certificados y CRLs
Listas de Revocación (CRL)
Listas de certificados revocados antes de su expiración
Protocolo OCSP
Verificación online del estado de certificados
Flujo típico PKI:
Solicitud: Usuario solicita certificado a la RA
Verificación: RA valida la identidad
Emisión: CA firma y emite el certificado
Distribución: Certificado disponible para uso
Validación: Verificación contra CRL/OCSP
Revocación: Invalida certificado si es necesario
Aplicaciones prácticas:
HTTPS/SSL: Navegación web segura
Correo electrónico seguro: S/MIME
Firma de documentos: PDF, contratos
Autenticación: Acceso a sistemas
Blockchain: Transacciones criptográficas
Consideraciones de seguridad:
Protección de claves privadas: Usar HSMs o tokens seguros
Renovación periódica: Los certificados tienen fecha de expiración
Validación constante: Verificar estado con OCSP/CRL
Jerarquías de confianza: Cadena de certificados hasta root CA
¿Te gustaría que profundice en algún aspecto específico de estos temas?
Firmas Digitales, Certificados Digitales y PKI
1. Introducción
En criptografía asimétrica, un problema común es verificar que una clave pública realmente pertenece a quien dice ser. Sin un mecanismo de verificación, un atacante podría suplantar identidades. Para resolver esto, se utilizan certificados digitales y infraestructuras de clave pública (PKI).
2. Firmas Digitales
¿Qué son?
Son equivalentes electrónicos de las firmas manuscritas, pero con mayor seguridad. Permiten:
Autenticidad: Verificar la identidad del firmante.
Integridad: Asegurar que el documento no ha sido alterado.
No repudio: El firmante no puede negar la autoría.
¿Cómo funcionan?
Se genera un hash del documento (ej: SHA-256).
El hash se cifra con la clave privada del firmante.
El receptor descifra el hash con la clave pública del firmante y lo compara con el hash del documento recibido.
Si coinciden, la firma es válida.
Comandos prácticos (OpenSSL)
# Generar clave privada
openssl genrsa -out private.pem 2048
# Generar clave pública desde la privada
openssl rsa -in private.pem -pubout -out public.pem
# Crear un archivo de ejemplo
echo "Mensaje secreto" > mensaje.txt
# Firmar el archivo
openssl dgst -sha256 -sign private.pem -out mensaje.txt.sig mensaje.txt
# Verificar la firma
openssl dgst -sha256 -verify public.pem -signature mensaje.txt.sig mensaje.txt3. Certificados Digitales
¿Qué son?
Son archivos que vinculan una identidad (persona, servidor, etc.) con una clave pública, firmados por una Autoridad Certificadora (CA) confiable.
Estructura (Estándar X.509)
Datos del titular (nombre, organización, etc.).
Clave pública del titular.
Datos de la CA emisora.
Fechas de validez.
Algoritmos criptográficos usados.
Firma digital de la CA.
Formatos comunes
.pem: Codificado en Base64 (texto legible).
.der: Binario.
.p12/.pfx: Incluye clave privada cifrada con contraseña.
Generar un certificado autofirmado
openssl req -x509 -newkey rsa:4096 -keyout llave_privada.pem -out certificado.pem -days 365 -nodes4. PKI (Public Key Infrastructure)
¿Qué es?
Es la infraestructura tecnológica que gestiona la emisión, validación y revocación de certificados digitales. Incluye:
CA (Autoridad Certificadora): Emite y firma certificados.
RA (Autoridad de Registro): Verifica la identidad de los solicitantes.
Repository: Almacena certificados y listas de revocación (CRL).
OCSP: Protocolo para verificar en tiempo real la validez de un certificado.
Flujo de emisión de un certificado
El usuario envía su clave pública y datos personales a la RA.
La RA verifica la identidad.
La CA firma el certificado con su clave privada.
El certificado se entrega al usuario.
Flujo de verificación
Bob recibe el certificado de Alice.
Bob verifica la firma de la CA usando su clave pública.
Bob valida que el certificado no esté revocado (consultando CRL/OCSP).
Bob extrae la clave pública de Alice y confía en ella.
5. Usos de Certificados Digitales
HTTPS/SSL: Servidores web seguros.
Firma de software: Validar la autenticidad de aplicaciones.
Correo seguro (S/MIME): Cifrar y firmar emails.
Autenticación de usuarios: En bancos, gobiernos, etc.
VPNs: Conexiones seguras entre redes.
6. Tipos de PKI
PKI Público
Certificados emitidos por CAs reconocidas (DigiCert, Let's Encrypt, etc.).
Válidos globalmente (navegadores, sistemas operativos, etc.).
Ideales para servicios públicos (webs, APIs, etc.).
PKI Privado
Certificados emitidos por una CA interna de una organización.
Válidos solo dentro de la organización.
Usados para VPNs internas, acceso a sistemas, etc.
7. Revocación de Certificados
Si un certificado es comprometido o ya no es necesario, se revoca mediante:
CRL (Certificate Revocation List): Lista de certificados revocados.
OCSP (Online Certificate Status Protocol): Verificación en tiempo real.
8. Ejemplo Práctico: Firmar un PDF
Genera un certificado en formato .p12:
openssl pkcs12 -export -in certificado.pem -inkey llave_privada.pem -out certificado.p12Importa el .p12 en Windows (doble clic e ingresa la contraseña).
Abre un PDF en Adobe Acrobat, ve a Herramientas > Firmas Digitales y firma el documento.
9. Consideraciones Clave
Almacenamiento seguro: Guarda las claves privadas en dispositivos HSMs o tokens.
Validez temporal: Los certificados tienen fecha de expiración (renovación periódica).
Confianza: Los navegadores y SO confían en CAs públicas mediante listas preinstaladas.
10. Conclusión
Las firmas digitales garantizan autenticidad e integridad. Los certificados digitales resuelven el problema de confianza en las claves públicas. La PKI es la infraestructura que hace posible todo esto de manera escalable y segura.
¿Necesitas más detalles sobre algún paso en particular
Comentarios
Publicar un comentario