DatosDatos
Introducción a la
Introducción a la
Criptografía:
Criptografía:
Confidencialidad de los
Confidencialidad de los
Criptografía y Seguridad de
Criptografía y Seguridad de
mensajes
mensajes
Carlos Figueira.
Carlos Figueira.
Universidad Simón Bolívar
Basado en láminas del Profesor
Henric Johnson (http://www.its.bth.se/staff/hjo/
[email protected])
Contenido
Contenido
● Principios de cifrado convencional
● Algoritmos de cifrado convencional
● Modos de operación de cifrado por
bloque
● Ubicación de dispositivos de cifrado
● Distribución de claves
Carlos Figueira
2
Principios de cifrado
Principios de cifrado
convencional
convencional
●Un esquema de cifrado tiene 5
ingredientes:
● Texto “en claro”
● Algoritmo de cifrado
● Clave secreta
● Texto cifrado
● Algoritmo de descifrado
●Seguridad depende de secreto de la clave, no
del algoritmo
Carlos Figueira
3
Principios de cifrado
Principios de cifrado
convencional
convencional
Carlos Figueira
4
Algoritmos
Algoritmos
●Clasificados de acuerdo a tres
dimensiones independientes:
● Tipo de operaciones usadas para transformar
el texto claro a cifrado
● El número de claves usadas:
● simétrica (clave única)
● asimétrica (dos claves, o cifrado de clave públca)
● La forma en que se procesa el texto claro (por
bloque o de flujo)
Carlos Figueira
5
Algoritmos (cont.)
• Elementos del texto claro: bit, letra,
grupo de bits o letras
• Operaciones para cifrar:
– Sustitución
– Transposición (reordenamiento)
• Múltiples etapas
Carlos Figueira
6
Criptoanálisis
• Proceso para intentar descubrir un
texto claro o una clave de cifrado
• Ejemplos de estrategias de ataque:
– Sólo texto cifrado (y algoritmo)
– Texto claro conocido (texto cifrado-
claro, algo.)
Carlos Figueira
7
Cifrado seguro
• Cifrado es computacionalmente
seguro si
– costo de romperlo > valor de
información cifrada, o
– tiempo > vida útil de información
cifrada
Carlos Figueira
8
requerido para búsqueda
requerido para búsqueda
Tiempo promedio
Tiempo promedio
exhaustiva de clave
exhaustiva de clave
Key Size
(bits)
32
56
128
168
Number of
Alternative Keys
232 = 4.3 x 109
256 = 7.2 x 1016
2128 = 3.4 x 1038
2168 = 3.7 x 1050
Time required at
106 Decryption/µs
2.15 milliseconds
10 hours
5.4 x 1018 years
5.9 x 1030 years
Carlos Figueira
9
Estructura de cifrado
Estructura de cifrado
de Feistel
de Feistel
● Casi todos los algoritmos de
cifrado convencional, incluyendo
DES, tienen estructura descrita por
Horst Feistel (IBM, 1973)
● La realización de una Red de
Feistel depende de la selección de
6 parámetros y características de
diseño
Carlos Figueira
10
Estructura cifrado Feistel
Estructura cifrado Feistel
● Tamaño del bloque: a mayor tamaño,
mayor seguridad
● Tamaño de la clave: mayor => mayor
seguridad
● Número de etapas o rondas:
múltiples vueltas dan mayor seguridad
● Algoritmo de generación de sub-
claves: mayor complejidad dificulta
criptoanálisis.
● Velocidad de cifrado/decifrado en
software
Carlos Figueira
11
Carlos Figueira
12
Algoritmos de cifrado
Algoritmos de cifrado
convencional
convencional
●Data Encryption Standard (DES)
● Esquema más usado y difundido (hoy
obsoleto)
● Se conoce como el Data Encryption
Algorithm (DEA)
● DES es un cifrador de bloque
● El texto claro se procesa en bloques de
64-bit
● La clave es de 56-bits
Carlos Figueira
13
Carlos Figueira
14
Carlos Figueira
15
DESDES
●Procesamiento en cada
iteración:
● Li = Ri-1
● Ri = Li-1 ⊗ F(Ri-1, Ki)
●Inquietudes acerca de:
– El algoritmo y el tamaño de la
clave (56-bits)
Carlos Figueira
16
Tiempo romper cifrado
Tiempo romper cifrado
(10(1066 decifrados/µs)
decifrados/µs)
Carlos Figueira
17
Extendiendo DES
• Excelentes propiedades:
– Muy eficiente (implementaciones en
Hw), robusto, probado, etc.
– Pero ... clave muy pequeña
• Propuestas: ¡cifrar varias veces!
– 2DES: No mejora mucho
– 3DES
Carlos Figueira
18
Doble DES: EK2(EK1(P))
• Costo doble, clave efectiva de 57 bits (no
112)
• Ataque de encuentro en el medio
Carlos Figueira
19
Doble DES: Ataque de
encuentro en el medio
cifrado).
• Se tiene uno o más pares (texto plano, texto
• Ya que X = EK1(P) = DK2(C), ataca cifrando P
con todas las claves y guarda
• Descifra C con todas las claves, se ordena y
se buscan dos iguales
• Ese par de claves son candidatas; aplica en
otros pares para ver si funciona
Carlos Figueira
20
Triple DEA (3DES)
Triple DEA (3DES)
C = EK3[DK2[EK1[P]]]
●3 claves, 3 ejecuc. de DES (cifra-
descifra-cifra)
●Longitud de clave efectiva de 168
bits
●La D en el medio permite
compatibilidad con DES (misma
clave), e implementaciones en Hw
Carlos Figueira
21
Triple DEA
Triple DEA
Carlos Figueira
22
Triple DEA
• La D de EDE evita ciertos ataques
• Si se usa una misma clave es
equivalente (y compatible con DES)
• Variantes: con dos claves (K1=K3)
• Está siendo reemplazado por AES, hasta
6 veces más rápido en software.
• Sólo en transacciones electrónicas y TC
• Ataques conocidos muy costosos
(memoria-tiempo)
Carlos Figueira
23
Otros cifradores de
Otros cifradores de
bloque simétricos
bloque simétricos
● AES: Advanced Encryption
Standard
– 3DES es lento. NIST realizó concurso
en 1997 para sustituto de DES
– Ganador: Rijndael (de Daemen y
Rijmen)
– Eficiente (en hard. y soft.), flexible,
claves 128, 192, 256 bits
Carlos Figueira
24
AES
• Bloque de 128 bits. No es Feistel. Se
procesa todo el bloque en cada etapa
• Clave -> vector de 44 palabras de 32
bits. En c/ ronda usa 4 palabras, 128
bytes de clave
• 4 fases: sust. de bytes, desplaza filas,
mezcla columnas, suma de clave etapa
• 1 fase de suma de clave de etapa, luego
9 etapas de 4 fases, y 1 final de 3 fases
Carlos Figueira
25
Otros cifradores de
Otros cifradores de
bloque simét: IDEA
bloque simét: IDEA
●
International Data Encryption Algorithm
(IDEA) (suizos 91)
– Clave 128-bit (uno de los primeros)
– Usado en PGP, muy probado
– Función de etapa: XOR, suma binaria 16
bits, mult. binaria de enteros
– Seis claves generadas por rotación de bits
para las 8 etapas
Carlos Figueira
26
Otros cifradores de
Otros cifradores de
bloque simét.: Blowfish
bloque simét.: Blowfish
● Blowfish (Schneier 93)
– Fácil de implementar
– Rápido
– Corre en menos de 5K de memoria
– Función de etapa: cajas S (generadas), XOR
– Costosa generación de subclaves, no es
y sumas binarias
adecuado para aplicaciones que necesiten
cambio frecuente de clave
Carlos Figueira
27
Otros cifradores de
Otros cifradores de
bloque simét.: RC5
bloque simét.: RC5
●RC5 (Rivest 94), RFC 2040
● Adecuado para hardw. y soft.
● Rápido, simple
● Adaptable a procesadores de diferente tamaño de
palabra
● Número variable de rondas
● Longitud de clave variable
● Bajo consumo de memoria
● Alta seguridad
● Rotaciones dependientes de los datos
Carlos Figueira
28
Modos de operación de
Modos de operación de
cifrado en bloques
cifrado en bloques
● Conversión a flujo: usando registros de
desplazamiento
● Método original ECB (Electronic Code Book):
bloques iguales de entrada (claro) producen
bloques iguales de salida (cifrado)
● Esto puede dar al criptoanalista mucho
material para analizar (p.e. búsqueda de
patrones de 64 bits conociendo parte de la
entrada)
● Solución Enlazado de bloques cifrados (Cipher
Block Chaining Mode CBC)
Carlos Figueira
29
CBCCBC
●La entrada del algoritmo de cifrado es el XOR
del bloque claro actual y el cifrado anterior
●Para el primer bloque usa un Vector de
Inicialización
=
[CEC
k
i
1i
]P
i
K
[CD
[CD
C
K
1i
i
i
K
=
[ED]
K
=
(C]
[CD
1i
=
C]
(C
)P
i
K
i
1i
)]P
i
1i
C
1i
P
i
=
P
i
Carlos Figueira
30
¯
¯
¯
¯
¯
¯
-
-
-
-
-
-
Carlos Figueira
31
CFB: Cifrado con
realimentación
• Mensaje considerado flujo de bits
• Se agrega a la salida del cifrado de
bloque; el resultado se usa en
etapa siguiente
• El estándar permite realimentación
de 1,8, 64 o 128, etc., bits (CFB-1,
CFB-8, CFB-64, CFB-128, etc)
Carlos Figueira
32
CFB
CFB-s
(s-bits)
Carlos Figueira
33
¿Dónde cifrar/descifrar?
¿Dónde cifrar/descifrar?
• Dos entes emisor/receptor
interconectados a través de uno o
más proveedores de acceso
• ¿Cifra el proveedor o cifra el
usuario?
Carlos Figueira
34
Carlos Figueira
35
¿Dónde cifrar/descifrar?
¿Dónde cifrar/descifrar?
●Enlaces:
● ¡Cifrado/descifrado en cada enlace!
● Seguridad alta (incluso cabeceras)
● ¿Quién controla?
●Punto a punto:
● Emisor cifra, receptor descifra
● Cuerpo mensaje cifrado, cabeceras en claro
●Lo mejor: ¡Ambos!
Carlos Figueira
36
Distribución de claves
Distribución de claves
la da
1. A selecciona clave y se
(físicamente) a B
2. Un tercero la selecciona y las entrega
(físicamente) a A y B
3. Si ya comparten una clave, uno
selecciona nueva clave y la envía al
otro usando clave vieja
4. Si ambos tienen conexión cifrada con
un tercero, éste puede seleccionarla y
enviársela
Carlos Figueira
37
Distribución de claves
Distribución de claves
(cont.)
(cont.)
● El caso 4 puede utilizarse para generar
claves de sesión
● Clave de sesión: Se genera para una
sesión (intercambio de información) y
luego se descarta
● Clave permanente: Usada entre
entidades para distribuir claves de
sesión
Carlos Figueira
38
Carlos Figueira
39
Comentarios de: Criptografia: cifrado convencional o simetrico (0)
No hay comentarios