Publicado el 30 de Mayo del 2021
343 visualizaciones desde el 30 de Mayo del 2021
1,2 MB
36 paginas
Creado hace 16a (01/08/2008)
Campus Party 2008
Taller de Criptografía
http://omniumpotentior.wordpress.com/
Conceptos Básicos
¿Para qué?
-¿Cuánto tiempo quieres que sean secretos esos mensajes?
-le preguntó Randy en el último mensaje antes de abandonar
San Francisco-. ¿Cinco años? ¿Diez años? ¿Veinticinco años?
Después de llegar al hotel esa tarde, Randy descifró y leyó la
respuesta de Avi. Todavía la tiene colgada frente a los ojos,
como la imagen remanente de un flash.
-Quiero que sigan siendo secretos mientras los hombres sean
capaces del mal.
Neal Stephenson, “Criptonomicón”
#
Campus Party 2008 – Taller de Criptografía 3
Terminología (I)
● Codificación... expresar en un código diferente
● Criptología
● Criptografía... hacer ilegible la información
● Criptoanálisis... violar un sistema criptográfico
● Esteganografía... ocultar información
● ¿¿Encriptar??
cifrar. (Real Academia Española)
1. tr. Transcribir en guarismos, letras o símbolos, de acuerdo con una
clave, un mensaje cuyo contenido se quiere ocultar.
#
Campus Party 2008 – Taller de Criptografía 4
Terminología (II)
• Texto en claro... información completamente legible
• Cifrado... proceso de transformación
• Criptograma... información cifrada
• Descifrado... proceso de transformación inversa
#
Campus Party 2008 – Taller de Criptografía 5
Terminología (II)
• Texto en claro... información completamente legible
• Cifrado... proceso de transformación
• Criptograma... información cifrada
• Descifrado... proceso de transformación inversa
Cifrado
Descifrado
(canal)
CRIPTOGRAMA
texto en
claro
texto en
claro
#
Campus Party 2008 – Taller de Criptografía 6
Terminología (III)
• Un criptosistema, formalmente...
– Alfabeto. Conjunto finito, define sintaxis y
semántica.
– Espacio de claves. Conjunto finito que
contiene todas las posibles claves.
– Transformaciones de cifrado.
Aplicaciones del alfabeto en sí mismo.
– Transformaciones de descifrado.
Aplicaciones del alfabeto en sí mismo.
#
Campus Party 2008 – Taller de Criptografía 7
Terminología (IV)
• Algoritmo... descripción precisa e unívoca de un proceso
algoritmo. (Real Academia Española)
1. m. Conjunto ordenado y finito de operaciones que permite hallar la
solución de un problema.
algoritmo. (J. Castro et al., “Curso de Programación”)
1. m. Descripción precisa de una sucesión de instrucciones que
permiten llevar a cabo un trabajo en un número finito de pasos.
• ¿Cifrado unívoco? Debe poder personalizarse.
• Clave criptográfica.
#
Campus Party 2008 – Taller de Criptografía 8
Funcionamiento
Criptografía simétrica (I)
kAB
kAB
mensaje
#
Campus Party 2008 – Taller de Criptografía 10
Criptografía simétrica (I)
kAB
c=f(m,kAB)
criptograma
kAB
mensaje
#
Campus Party 2008 – Taller de Criptografía 11
Criptografía simétrica (I)
kAB
c=f(m,kAB)
criptograma
m=f-1(c,kAB
-1)
kAB
mensaje
mensaje
#
Campus Party 2008 – Taller de Criptografía 12
Criptografía simétrica (I)
kAB
c=f(m,kAB)
criptograma
m=f-1(c,kAB
-1)
kAB
mensaje
mensaje
¿kAB?
#
Campus Party 2008 – Taller de Criptografía 13
Criptografía simétrica (II)
• Algoritmos conocidos
• Una única para ambos extremos
• La clave debe ser intercambiada
• Ventajas
– Proceso muy rápido
– Requiere pocos recursos
• Inconvenientes
– Gestión y seguridad de las claves
#
Campus Party 2008 – Taller de Criptografía 14
Criptografía asimétrica (I)
eA
dA
mensaje
eB
dB
#
Campus Party 2008 – Taller de Criptografía 15
Criptografía asimétrica (I)
eA
eB
dB
dA
mensaje
#
Campus Party 2008 – Taller de Criptografía 16
Criptografía asimétrica (I)
eA
eB
dA
c=f(m,eB)
criptograma
dB
mensaje
#
Campus Party 2008 – Taller de Criptografía 17
Criptografía asimétrica (I)
eA
eB
dA
c=f(m,eB)
criptograma
m=g(c,dB)
dB
mensaje
mensaje
#
Campus Party 2008 – Taller de Criptografía 18
Criptografía asimétrica (I)
eA
eB
dA
c=f(m,eB)
criptograma
m=g(c,dB)
dB
mensaje
mensaje
¿dB?
#
Campus Party 2008 – Taller de Criptografía 19
Criptografía asimétrica (II)
• Algoritmos conocidos
• Dos claves complementarias por extremo
– Clave pública conocida y disponible
– Clave privada secreta
• Ventajas
– Gestión de claves más sencilla
– Gran seguridad
• Inconvenientes
– Gran consumo de recursos
#
Campus Party 2008 – Taller de Criptografía 20
Funciones hash
• No son algoritmos de cifrado
– La información no puede ser recuperada
– Son funciones unidireccionales
– Proporcionan compresión: salida de tamaño fijo
– Proporcionan difusión: función compleja de todos los bits
• Pueden existir colisiones
– El conjunto de entrada es de cardinal infinito
– El conjunto de imagen es de cardinal finito
– Para tamaño de entrada mayor que imagen: colisiones
• Colisiones débiles y fuertes
• Ataque del cumpleaños
#
Campus Party 2008 – Taller de Criptografía 21
Firma digital
eA
eB
dB
dA
mensaje
#
Campus Party 2008 – Taller de Criptografía 22
Firma digital
eA
eB
dA
s=f(h(m),dA)
firma
dB
mensaje
mensaje
#
Campus Party 2008 – Taller de Criptografía 23
Firma digital
eA
eB
dA
s=f(h(m),dA)
firma
s'=g(s,eA)
dB
mensaje
mensaje
s=h(m)
mensaje
¿s=s'?
#
Campus Party 2008 – Taller de Criptografía 24
Aplicaciones
Software criptográfico
• Hay infinidad de productos en el mercado
• OJO, el código cerrado es muy peligroso
– Puertas traseras, implementaciones erróneas, bugs...
– Por ello, y en este caso aún más: software libre
– Algoritmos de cifrado públicos... ¿software cerrado?
– Como mínimo, código fuente accesible (PGP)
• No descuidar otros aspectos
– De nada sirve RSA de 4096 si la clave peligra
• El efecto “post-it pegado al monitor”
– Borrado seguro de datos
– Seguridad global del sistema
#
Campus Party 2008 – Taller de Criptografía 26
GNU Privacy Guard
• Estándar de facto en correo electrónico
– RFC #2440 “OpenPGP Message Format”
– Firma de paquetes (Debian GNU/Linux)
• Sistema híbrido simétrico-asimétrico
– Generación de clave simétrica aleatoria para el mensaje
– Cifrado del mensaje con la clave simétrica
– Cifrado de la clave simétrica con la asimétrica
• Varias implementaciones
– PGP: software privativo, código fuente auditable
– GNU Privacy Guard: software libre
• GUI: KGpg, GPA en GNU/Linux, GPGee en Windows
• Extensiones para correo: enigmail para Mozilla
#
Campus Party 2008 – Taller de Criptografía 27
OpenSSH
• Implementación libre de Secure Shell
– Parte del proyecto OpenBSD
• La suite consta de varias herramientas
– ssh, scp, sshd, ssh-keygen, ssh-agent...
• Estándar en administración remota
• Cifrado asimétrico
– RSA, DSA
• Cifrado simétrico
– 3DES, Blowfish, AES, Arcfour (~RC4)
#
Campus Party 2008 – Taller de Criptografía 28
NX
• Escritorio remoto para Linux y Solaris
• Cliente multiplataforma
– Linux, Windows, Mac OS X...
• Tunelado por SSH
• Gran eficiencia
– Compresión del protocolo X11
– Sistema de cachés
• Código liberado por NoMachine
#
Campus Party 2008 – Taller de Criptografía 29
Sistema SSL y TLS
• Estándar de facto en cifrado web
– Sistema HTTPS (el “candadito” del navegador)
• Sistema híbrido simétrico-asimétrico
– Generación de clave simétrica aleatoria para la sesión
– Cifrado de la clave de sesión con la clave asimétrica
– Cifrado de la sesión con la clave simétrica
• Muy importante revisar certificados
– TLS no es inviolable: ataques man-in-the-middle
– Si aceptamos un certificado falso, estaremos vendidos
• De nada sirve cifrar los datos si es para un receptor erróneo
#
Campus Party 2008 – Taller de Criptografía 30
OpenSSL
• Implementación libre de TLS y SSL
– Basado en SSLeay
• Proporciona un canal seguro
• Cifrado asimétrico
– RSA, DH, DSA
• Cifrado simétrico
– RC2, RC4, (IDEA), DES, 3DES, AES, Camellia
• Funciones hash
– MD2, MD4, MD5, SHA
#
Campus Party 2008 – Taller de Criptografía 31
¡Cuidado con los bugs!
#
Campus Party 2008 – Taller de Criptografía
Comentarios de: Taller de Criptografía (0)
No hay comentarios