Teoria de la Informacion - Manejo de Claves
Transcript of Teoria de la Informacion - Manejo de Claves
![Page 1: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/1.jpg)
Teoría de la información
Manejo de claves
Principios, herramientas y protocolos de criptografía
Yann Frauel – Semestre 2007-1
![Page 2: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/2.jpg)
Seguridad de un criptosistema
Todos los elementos deben ser seguros:➔ Algoritmo➔ Protocolo➔ Clave
2do principio de Kerckhoffs: la seguridad no debe derivarse del secreto del algoritmo, sólo de la clave
¿Cómo medir la seguridad de una clave?
![Page 3: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/3.jpg)
1. Teoría de la información(Claude Shannon 1948)
![Page 4: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/4.jpg)
Teoría de la información
Idea 1: longitud del mensaje Pero comparar:
➔ 110010101110➔ 439203984738
Idea 2: número de bits necesarios para codificar el mensaje➔ binario: 1 bit/carácter➔ decimal: 4 bits/carácter➔ letras: 5 bits/carácter
¿Cómo medir la cantidad de información de un mensaje?
![Page 5: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/5.jpg)
Teoría de la información
Pero no se usan todas las combinaciones posibles... Idea 3: número de bits en promedio (fraccional) Ejemplo: lanzar un dado
¿Cómo medir la cantidad de información de un mensaje?
Lanzados Combinaciones Bits totales Bits/car.1 6 3 3.0002 36 6 3.0003 216 8 2.6674 1296 11 2.7505 7776 13 2.600
200 4.27E+155 517 2.585
![Page 6: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/6.jpg)
Teoría de la información
¿Cómo obtener directamente el número de bits promedio H?
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
Número de valores posibles
Núm
ero
de b
its
H = log2(n), n: Número de valores posibles
![Page 7: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/7.jpg)
Teoría de la información
Ejemplo: Dado de 4 caras ➔ p(0) = 3/4➔ p(1) = 1/8➔ p(2) = 1/16➔ p(3) = 1/16
Cambio de codificación:➔ 0 → 0 1 → 10 2 → 110 3 → 111
Número de bits promedio:➔ H = 3/4 × 1 + 1/8 × 2 + 1/16 × 3 +1/16 × 3
¿Qué pasa si no todos los valores tienen la misma probabilidad?
= 11/8 = 1.38 b/c
![Page 8: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/8.jpg)
Entropía
H X =− ∑i=1
n
pi log2 pi
Sea una variable aleatoria X
Puede tomar n valores: x1, x
2... x
n con probabilidades
P( X = xi) = p
i
Se define la entropía de X:
Mide la cantidad de información proveida por X
![Page 9: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/9.jpg)
Entropía
Ejemplo 1: evento equiprobable➔ p
1 = p
2 = ... = p
n = 1/n
➔ H(X) = log2 (n)
➔ Volvemos a encontrar la fórmula intuitiva➔ Es el valor máximo que se pueda encontrar para n valores
Ejemplo 2: evento seguro➔ p
i =1 y p
j = 0 para j ≠ i
➔ H(X) = 0➔ Es el valor mínimo que se pueda encontrar
La entropía mide la incertidumbre
![Page 10: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/10.jpg)
Redundancia
Ejemplo 1: ¿Qué viene después de una letra Q? Ejemplo 2: ¿Qué significa INST NAC COMPUT
CIENT? ¡Podemos reconstituir más de la mitad del mensaje! Una parte de la información de un texto normal no
es necesaria, es redundante En un lenguaje natural, la entropía no es máxima:
➔ frecuencias diferentes para diferentes letras, bigramas...➔ reglas gramaticales, sintácticas...
→ Los lenguajes naturales tienen mucha redundancia
![Page 11: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/11.jpg)
Redundancia
Entropía absoluta por carácter Ha:
➔ es la entropía máxima posible (caracteres equiprobables)➔ para el alfabeto de 26 letras, H
a = 4.7 b/c
Entropía real por carácter Hr:
➔ es la entropía calculada sobre el lenguaje real➔ para el inglés o el español, H
r ~ 1.5 b/c
Redundancia por carácter R:➔ es la diferencia R = H
a – H
r
➔ para el inglés o el español, R ~ 3.2 b/c
![Page 12: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/12.jpg)
Distancia de unicidad
Ataque por fuerza bruta: probamos todas las claves hasta encontrar un texto con sentido
¿Cuántos caracteres necesitamos para reconocer el texto claro sin ambigüedad?
Entropía del espacio de claves:➔ H(K) = log
2 (número de claves)
Distancia de unicidad:
U=H K
R
![Page 13: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/13.jpg)
Distancia de unicidad
Ejemplo: substitución monoalfabética Número de claves = números de alfabetos = 26!
U=log226!
3.2=28caracteres
![Page 14: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/14.jpg)
2. Generación y almacenamientode claves
![Page 15: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/15.jpg)
Evolución histórica de las claves Sin clave (sin parámetro libre): el secreto está en el
algoritmo mismo➔ Atbash (alfabeto invertido)➔ César (desplazamiento de 3)➔ Tritemio (desplazamiento incrementado para cada letra)
Palabra clave➔ Substitución monoalfabética con alfabeto desordenado➔ Vigenère
Clave aleatoria➔ Hill➔ Máquinas con rotores➔ Cifrado modernos
![Page 16: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/16.jpg)
Claves y contraseñas
Cuando no requiere memorizar: clave➔ Algoritmos para cifrar➔ Algoritmos para firmar
Cuando requiere memorizar: contraseña➔ Autenticación y control de acceso ➔ Aplicar una firma➔ Descifrar un mensaje, un archivo
![Page 17: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/17.jpg)
Claves y contraseñas
Clave = más seguridad➔ Larga➔ Aleatoria
Contraseña = más conveniencia➔ Fácil de memorizar➔ Fácil de teclear
→ Combinar los dos
![Page 18: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/18.jpg)
Claves y contraseñas
Algoritmos simétricos➔ Contraseña = palabra o frase (tamaño variable)➔ Se le aplica una función resumen de sentido único➔ Reducción (o extensión) a un tamaño fijo
Ábrete Sésamo
Contraseña Función resumen Clavesimétrica
La entropía de la clave es reducida a la entropía de la contraseña
![Page 19: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/19.jpg)
Claves y contraseñas
Algoritmos asimétricos➔ clave privada aleatoria ➔ clave privada almacenada en el disco➔ clave privada cifrada con un algoritmo simétrico
Ábrete Sésamo
Contraseña Funciónresumen
Clavesimétrica
Clave privadacifrada
Si el disco es accesible, la seguridad es la de la contraseña
![Page 20: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/20.jpg)
Contraseñas
Seguridad aumenta con la longitud Datos personales (2do apellido, fecha nacimiento)
➔ Se puede adivinar Palabra conocida/nombre (flor, planeta, futbolista)
➔ Ataque de diccionario Generalmente posible encontrar 40 % de las
contraseñas con estos ataques! Seguridad aumenta con la entropía
![Page 21: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/21.jpg)
Contraseñas
Mezclar mayúsculas, minúsculas, dígitos y caracteres especiales
Fácil de memorizar, sin necesidad de escribirlo Difícil de adivinar, incluso por una persona cercana Más de 8 caracteres Puede ser tecleado rápidamente (evitar espías)
Ej.: Iniciales de una frase:
Creo que Alicia conoció a Bob en Guanajuato; no crees?
→ CqAcaBeG;nc?
![Page 22: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/22.jpg)
Contraseñas
Escógelo misterioso Entre más largo, mejor Cámbialo frecuentemente No lo dejes tirado en cualquier lugar No lo compartas con tus amigos
Los passwords son como los calzones...
![Page 23: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/23.jpg)
Claves
Aleatoria (entropía máxima) Generada con generador aleatorio real o seudo-
aleatorio criptográficamente seguro Si el algoritmo es ideal, la seguridad depende del
tamaño de la clave (mejor ataque = fuerza bruta)➔ Clave de n bits: 2n claves posibles (complejidad
exponencial)➔ No usar clave menor a 128 bits para algoritmos simétricos
Ejemplo: clave DES tiene 56 bits➔ 1981: máquina de $50 M → 2 días➔ 1993: máquina de $1 M → 3.5 horas➔ 1996: NSA → 15 minutos
![Page 24: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/24.jpg)
Claves
El tamaño de la clave no es una garantía Puede haber mejores ataques que fuerza bruta Ej. 1: Substitución monoalfabética
➔ 26! claves posibles (permutaciones del alfabeto)➔ 26! = 4.1026 ~ 88 bits➔ Pero podemos atacar por análisis de frecuencias!
Ej. 2: Algoritmo RSA➔ Mejor ataque = buscar factorización de la clave pública➔ clave de 128 bits: se factoriza en 1 s en una laptop!!➔ No usar clave menor a 1024 bits para algoritmos
asimétricos
![Page 25: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/25.jpg)
Respaldo de claves
Problema: perdida de clave➔ Olvido de la contraseña➔ Desaparición del creador de la contraseña➔ Disco borrado
Custodia de clave (key escrow)➔ Un tercero tiene copia de las claves➔ También para la policía (ej. clipper para teléfono 1993)➔ Problema de confianza/seguridad
Secreto compartido➔ Dar parte de las claves a varias personas➔ Reconstituir la clave requiere que se junten
![Page 26: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/26.jpg)
Expiración de claves Claves deben tener una vida limitada
➔ limita tiempo/datos para criptoanálisis➔ limita los datos perdidos si la clave es comprometida
Renovar clave frecuentemente si➔ es fácil de encontrar (contraseña)➔ es usada para información importante
Clave privada comprometida➔ permite leer mensajes (incluso anteriores)➔ permite robo de identidad➔ fijar fecha de expiración y/o➔ preparar certificado de revocación (al generar la clave, en
caso de perdida de la clave privada)
![Page 27: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/27.jpg)
3. Intercambio de claves
![Page 28: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/28.jpg)
Claves de sesión
Problema: la clave debe transmitirse por un canal seguro
Es difícil renovarla Solución:
➔ una clave principal (permanente)➔ claves de sesión generadas para cada nuevo mensaje➔ la clave principal es poco usada (criptoanálisis difícil)➔ poca información perdida si clave de sesión comprometida
![Page 29: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/29.jpg)
Claves simétricas
Establecer una clave para cada par de usuario➔ n usuarios: n(n-1)/2 claves➔ muchas claves, muchos intercambios por canal seguro
![Page 30: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/30.jpg)
Claves simétricas
Tercero de confianza: centro de distribución de claves (KDC)
El KDC tiene las claves principales de todos El KDC distribuye claves de sesión
A1
A2
A3
A4
A5
A6
Centro dedistribución
de claves
![Page 31: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/31.jpg)
Intercambio con claves simétricas
Alicia BobKDC“Quiero comunicar
con Bob”
KS
KA
KS
KB
![Page 32: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/32.jpg)
Intercambio con claves simétricas
Comunicación cifrada
![Page 33: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/33.jpg)
Intercambio con claves simétricas
Requiere confianza absoluta en el KDC ➔ puede “escuchar” todas las comunicaciones➔ (puede modificar las comunicaciones)➔ (puede hacerse pasar por cualquier usuario)
Todas las llaves están comprometidas si el KDC está comprometido
Todas las comunicaciones están bloqueadas si el KDC está indisponible
![Page 34: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/34.jpg)
Claves asimétricas
Cada usuario tiene su clave privada y su clave pública➔ n usuarios: n claves➔ pocas claves➔ sólo se requiere transmitir las claves públicas➔ la clave pública puede ser obtenida del usuario o de un
KDC➔ no hay problema con atacantes pasivos: no pueden hacer
nada con la clave pública
![Page 35: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/35.jpg)
Intercambio con claves asimétricas
Alicia
Bob
KDC
KB pub
KS
KB pub
![Page 36: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/36.jpg)
Intercambio con claves asimétricas
Comunicación cifrada
![Page 37: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/37.jpg)
Ataque del hombre-en-el-medio
Alicia Atacante Bob
“Quiero comunicarcon Bob”
priv priv
“Quiero comunicarcon Bob”
priv priv
privpriv
pubpub
![Page 38: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/38.jpg)
Ataque del hombre-en-el-medio
Alicia Atacante Bob
priv privpub
pub
pub
Alicia Atacante Bob
priv privpub
pub
pub
![Page 39: Teoria de la Informacion - Manejo de Claves](https://reader034.fdocuments.net/reader034/viewer/2022042615/55b9675abb61eb0d1a8b45b6/html5/thumbnails/39.jpg)
Verificación de claves
Las claves asimétricas no resuelven el problema de un atacante activo con control completo
Autenticidad de la clave verificada por una firma:➔ de una Autoridad de Certificación (certificados)➔ de otros usuarios confiables (PGP)
Hace falta conocer la clave pública del certificador!