Hash, firma digital y PKI - Introducción a la seguridad informática

 https://www.youtube.com/watch?v=ysfBTecjGIY&t=310s

Hash, Firma Digital y PKI - Introducción a la Seguridad Informática

Introducción

En este tutorial exploraremos conceptos fundamentales de la seguridad informática: HashFirma Digital y PKI (Infraestructura de Clave Pública). Estos elementos son cruciales para garantizar integridad, no repudio y confidencialidad en las comunicaciones digitales.


1. Hash: Garantizando Integridad

¿Qué es un Hash?

Un hash es el resultado de aplicar un algoritmo matemático a un mensaje (texto plano). A diferencia de la encriptación, los hash no utilizan llaves. Su objetivo principal es garantizar la integridad de los datos, no la confidencialidad.

Características clave:

  • Determinista: El mismo mensaje siempre producirá el mismo hash.

  • Irreversible: No es posible recuperar el mensaje original desde el hash.

  • Resistente a colisiones: Es difícil que dos mensajes diferentes produzcan el mismo hash.

Ejemplo de flujo:

  1. Cliente envía el mensaje "Hola" y su hash (ej: zzz calculado con SHA-256).

  2. Servidor recibe el mensaje y calcula el hash de "Hola" usando el mismo algoritmo.

  3. Verificación: Si el hash calculado coincide con el recibido (zzz), el mensaje está íntegro. Si no coincide (ej: yyy), hubo alteración.

Problema: Colisiones

Ocurre cuando dos mensajes diferentes producen el mismo hash. Esto es crítico en contraseñas: si "Hola" y una contraseña compleja generan el mismo hash, un atacante podría autenticarse con "Hola".


2. Firma Digital: Integridad + No Repudio

¿Qué es una Firma Digital?

Una firma digital utiliza criptografía asimétrica para garantizar:

  • Integridad: El mensaje no fue alterado.

  • No repudio: El remitente no puede negar que envió el mensaje.

Flujo de firma digital:

  1. Cliente:

    • Calcula el hash del mensaje (ej: "Hola" → zzz con SHA-256).

    • Encripta el hash con su llave privada (ej: resultado xxx).

    • Envía el mensaje en texto plano ("Hola") y la firma (xxx).

  2. Servidor:

    • Desencripta xxx con la llave pública del cliente (obtiene zzz).

    • Calcula el hash del mensaje recibido ("Hola" → zzz).

    • Si ambos hash coinciden, el mensaje es íntegro y auténtico.

Importante:

  • La firma digital no provee confidencialidad (el mensaje viaja en texto plano).

  • Solo las llaves asimétricas permiten implementar no repudio.


3. PKI: Combinando lo Mejor de Ambos Mundos

¿Qué es PKI?

La Infraestructura de Clave Pública (PKI) integra técnicas simétricas, asimétricas, hash y firmas digitales para lograr:

  • Confidencialidad

  • Integridad

  • No repudio

  • Performance eficiente

Flujo completo con PKI:

  1. Intercambio seguro de llave simétrica:

    • El cliente genera una llave simétrica (ej: AES-256).

    • Encripta esta llave con la llave pública del servidor.

    • El servidor desencripta con su llave privada y obtiene la llave simétrica.

  2. Firma digital del mensaje:

    • Cliente calcula el hash del mensaje (ej: SHA-256 → zzz).

    • Encripta el hash con su llave privada (firma digital).

  3. Encriptación simétrica para confidencialidad:

    • Cliente encripta el mensaje en texto plano + firma digital con la llave simétrica (AES-256).

    • Envía todo al servidor.

  4. Verificación en el servidor:

    • Desencripta el paquete con la llave simétrica.

    • Desencripta la firma digital con la llave pública del cliente (obtiene el hash original).

    • Calcula el hash del mensaje recibido y verifica coincidencia.

Ventajas:

  • Confidencialidad: Llave simétrica para performance.

  • Integridad y no repudio: Firma digital con llaves asimétricas.

  • Intercambio seguro de llaves: Usando criptografía asimétrica.


4. Consideraciones Adicionales

Ley de Kerckhoffs

"Todo aspecto de un criptosistema debe ser público, excepto la llave privada".

Los algoritmos (SHA, RSA, AES) son públicos, pero la seguridad radica en proteger las llaves privadas.

Guardado de Llaves (Escrow)

Las empresas suelen usar terceros confiables para almacenar llaves privadas (ej: dividir una llave entre múltiples proveedores). Esto se conoce como Key Escrow.


Resumen de Conceptos

TécnicaObjetivo¿Usa llaves?
HashIntegridadNo
Criptografía simétricaConfidencialidadSí (llave compartida)
Criptografía asimétricaConfidencialidad/No repudioSí (pública/privada)
Firma digitalIntegridad + No repudioSí (asimétrica)
PKITodos los anteriores + performanceCombina técnicas

Conclusión

  • Hash: Integridad sin llaves.

  • Firma digital: Integridad + no repudio con llaves asimétricas.

  • PKI: Integra todas las técnicas para seguridad robusta y eficiente.

Estos conceptos son la base de protocolos como TLS/SSL, transacciones bancarias, y autenticación web. ¡La seguridad informática depende de entender y aplicar estas herramientas correctamente

Comentarios

Entradas más populares de este blog

firma digitales PKI utilizando solo javascript y node,

convertir un certificado .key a formato PEM utilizando solo la Web Crypto API

Pilares de la firma electronica-pki-RSA