Seguridad en Sistemas de Información
Criptografía
Definiciones
Conceptos previos
Criptografía
Definiciones
Criptografía clásica
Clasificación de Criptosistemas
Criptosistemas Simétricos
Clasificación
Cifradores de bloques
Cifradores de flujo
Algoritmos de cifrado: DES, AES, IDEA, RC5
Ataques por fuerza bruta
Funciones de Hash o resumen: MD5
MD5, SHA
SHA-1
1
Criptosistemas Asimétricos
Algoritmos: Diffie-Hellman, ElGammal, RSA
Firma digital
Seguridad en el correo electrónico: PGP, S/MIME
Certificados digitales
1
Seguridad en Sistemas de Información
Definiciones
Criptografía: “Arte de escribir con clave secreta o de un modo
enigmático”
i áti ”
Imprecisiones:
Arte: la criptografía ha dejado de ser un arte: es una ciencia.
Escritura de documentos: no sólo se escriben mensajes; se envían o se
guardan en un computador diversos tipos de documentos y formatos.
Se supone una clave: los sistemas actuales usan una o dos. En varias
aplicaciones de Internet entran en juego 4 claves.
Clave secreta: existirán sistemas de clave secreta que usan una sola
clave y sistemas de clave pública (muy importantes) que usan dos: una
clave privada (secreta) y la otra pública.
Representación enigmática: la representación binaria de la información
podría ser enigmática para nosotros los humanos pero no para los
computadores... es su lenguaje natural.
Definiciones
Criptografía:
Kriptos (secreto) y Graphos (escritura)
Forma de escribir ocultando el significado
Criptoanálisis:
Forma
de esclarecer el significado de la escritura
ininteligible
Criptología
Kriptos (secreto) y Logos (estudio,
Criptografía + Criptoanálisis
conocimiento)
2
Seguridad en Sistemas de Información
Criptosistema: Componentes básicos
Espacio Mensajes
Espacio de Cifrados
K = {k1, k2, …, kk}
Transformaciones de cifrado
C = {c1, c2, …, cc}
Espacio de claves
M = {m1, m2, …, mm}
Conjunto mensajes en claro
Ek: M→C
Transformaciones de descifrado
Dk: C→M
Criptografía
Caracterización sistema criptográfico:
operaciones
de encriptación
sustitución
transposición
número
de claves
Sistema simétrico (clave única o secreta)
Sistema asimétrico (dos claves o clave pública)
procesado
texto en claro
bloque
flujo
3
Seguridad en Sistemas de Información
Criptografía
Texto
Claro
Cifrado
Simétrico
Clave Compartida
Texto
Claro
Texto Cifrado
Canal
Cifrado
Asimétrico
Criptografía
Tipos de ataques
Criptoanálisis
Sólo texto cifrado
Texto claro conocido
Elección
El
ió d
de mensaje
j
Fuerza
Complejidad
bruta
4
Seguridad en Sistemas de Información
Seguridad criptosistemas
Incondicionalmente seguro
Texto
cifrado no proporciona suficiente información
para determinar la clave o el texto en claro.
Computacionalmente seguro
Coste
rotura cifrado > Coste información cifrada
Tiempo rotura cifrado > Vida útil información
Ataques por fuerza bruta
Tiempo medio requerido para búsqueda de claves exhaustiva
Bits
Clave
Claves posibles
Tiempo Requerido
(1 descifrado / μs )
Tiempo Requerido
(106 descifrados / μs )
32
232 = 4.3 x 109
231 μs = 35.8 minutos
2.15 milisegundos
56
256 = 7.2 x 1016
255 μs = 1142 años
10.01 horas
128
2128 = 3.4 x 1038
2127 μs = 5.4 x 1024 años
5.4 x 1018 años
168
2168 = 3.7 x 1050
2167 μs = 5.9 x 1036 años
5.9 x 1030 años
26! = 7.2 x 1026
2x1026 μs = 6.4 x 1012 años
6.4 x 106 años
26 caracteres
(permutación)
5
Seguridad en Sistemas de Información
Ataques por fuerza bruta
L0phtCrack – LC5
Plataforma Windows/Unix
http://webproxy.com/products/lc/
Ataques de diccionario y fuerza bruta
PasswordsPro y SAMInside
Plataforma Windows
http://www.insidepro.com/eng/index.shtml
Ataques diccionario y fuerza bruta
Ataques por fuerza bruta
John de Ripper
Aplicable a:
Contraseñas Unix
Hash de Windows
Sistema AFS de Apple
Etc.
Modos de Funcionamiento:
Ataque
q basado en diccionario
Por fuerza bruta
Hibrido
Disponible en:
http://www.openwall.com/john/
6
Seguridad en Sistemas de Información
Criptografía
Criptografía clásica
Escítala
Polybios
Cifrado tipo César
operaciones de encriptación
sustitución
monoalfabeto
polialfabeto
procesado texto en claro
bloque
flujo
número de claves
clave privada
clave pública
RSA
transposición
DES
rail fence
transposición de columnas
producto
DES
Criptografía clásica: escítala
Siglo V a.C. Pueblo griego de los lacedemonios.
Consistía en un bastón en el que se enrollaba una cinta de cuero y luego se escribía en
ella el mensaje de forma longitudinal.
Cifrado por transposición: Al desenrollar la cinta, las letras aparecerán desordenadas.
Para descifrar el criptograma y recuperar el mensaje en claro habrá que enrollar dicha
cinta en un bastón con el mismo diámetro que el usado en el extremo emisor y leer el
mensaje de forma longitudinal. La clave del sistema se encuentra en el diámetro del
bastón.
M = ASI CIFRABAN CON LA ESCITALA
C = AAC SIN ICT COA INL FLA RA AE BS
7
Seguridad en Sistemas de Información
Criptografía clásica: Polybios
Siglo II a.C.
Cifrado por sustitución
El método se basa en una tabla, en cuyos ejes se ponían
diferentes combinaciones de letras o números y dentro de
la tabla las letras del alfabeto. Cada letra del mensaje a
cifrar era sustituida por sus “coordenadas”
M = Polybios es el rey
C = CECDCAEDABBDCDDC AEDC AECA DBAEED
Criptografía clásica: César
Siglo I a.C.
Desplazamiento de tres espacios (k=3) hacia la derecha de M
Es un cifrador por sustitución en el que las operaciones se realizan
módulo n, (n = al número de elementos de M)
M = a b c d e f g h i j k l m n o p q r s t u v w x y z
C = D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
Ejemplo: M = BOMBA
C = ERPED
Problema: cada letra se cifra siempre igual
Criptoanálisis usando estadísticas de M
8
Seguridad en Sistemas de Información
Criptografía
Criptografía clásica
procesado texto en claro
Escítala, Polybios, César, …
bloque
operaciones de encriptación
sustitución
flujo
número de claves
Vigenere
transposición
Feistel
DES, 3DES, AES
César, Polybios, Playfair, …
polialfabeto
monoalfabeto
clave privada
clave pública
rail fence
transposición de columnas
RSA
producto
DES
Métodos monoalfabeto: Playfair
Siglo XIX
Intento de romper traslación estadísticas de M a C
Cifrado por poligramas. Matriz 5x5
C
L
A
V
E
B
D
F
G
H
I/J
K
M
N/Ñ
O
P
Q
R
S
T
U
W
X
Y
Z
Ejemplo: M = BOMBA VA
M = BO MB AV AX
C = HI IF VE FA
Cifrado
M1M2 misma fila Æ C1C2 son los
dos caracteres de la derecha.
M1M2 misma columna, Æ C1C2 son
los dos caracteres de abajo.
M1M2 filas y columnas distintas Æ
C1C2 son los dos caracteres de la
diagonal, desde la fila de M1.
9
Seguridad en Sistemas de Información
Criptografía
Criptografía clásica
procesado texto en claro
Escítala, Polybios, César, …
bloque
Feistel
DES, 3DES, AES
operaciones de encriptación
sustitución
monoalfabeto
flujo
número de claves
César, Polybios Playfair, …
Vigenere
transposición
polialfabeto
clave privada
clave pública
rail fence
transposición de columnas
RSA
producto
DES
Vigenère
Cifrado p
por substitución p
polialfabeto
Soluciona la debilidad del cifrado César en que una letra se cifra
siempre igual.
Clave K de longitud L Æ equivale a L cifrados Cesar
Cifrado : C(i) = M(i) + K(i) mod 27
Sea K = SOL y M = BOMBA VIENE
M = B O M B A V I E N E
K = S O L S O L S O L S
C = T C X T O G A S Y W
M
A1
A2
A3
=
=
=
=
A
S
O
L
B
T
P
M
C
U
Q
N
D
V
R
O
E
W
S
P
F
X
T
Q
G
Y
U
R
H
Z
V
S
I
A
W
T
…
…
…
…
10
Seguridad en Sistemas de Información
Vigenère: criptoanálisis
Longitud clave
Métodos
Kasiski
sufijos: -ez, -as, -os, …
prefijos: in-, des-, en-, …
palabras : con, y, de, el
Índice
9 caracteres
M = DESCONFIANZA CON EL NUEVO
K = GINGINGINGIN GIN GI GINGI
C = JMFIWZLPNSHN IWZ KT SCSBW
de Coincidencia
frecuencia C vs. frecuencia M
n
n
Varianza =
∑ ( pi − 1 n) 2 = ∑ ( p 2 ) − 0.037
i =1
i =1
0 ≤ MD ≤ 0.035
i
Índice de Coincidencia
(0.072)
Vigenère: mejoras
Cifrado autoclave
longitud
K = longitud M
M = Enunlugardelamancha…
K = Cervantesenunlugard…
One-Time
One
Time PAD
longitud
K = longitud M
clave aleatoria
no reutilización de claves
11
Seguridad en Sistemas de Información
Criptografía
Criptografía clásica
Escítala, Polybios, César, …
procesado texto en claro
bloque
operaciones de encriptación
sustitución
monoalfabeto
Vigenere
transposición
Feistel
DES, 3DES, AES
flujo
número de claves
César, Polybios, Playfair, …
polialfabeto
rail fence
transposición de columnas
clave privada
clave pública
RSA
producto
DES
Rail Fence
Escritura de M en diagonal
Leer texto fila a fila
M = Con cien cañones por banda, no corta…
C
c n ñ e o a a o r .
o i c o s r n , c t .
n e a n p b d n o a .
C = CCNÑEOAAOR.OICOSRN,CT.NEANPBDNOA.
12
Seguridad en Sistemas de Información
Transposición de filas
M se escribe en filas a lo largo de n columnas
K = ordenación de las columnas
C = reordenación de M según K
M = Con cien cañones por banda, no corta…
K = 4
C
C
P
3
O
A
O
1
N
Ñ
R
2
C
O
B
5
I
N
A
6
E
E
N
7
N
S
D
M = 01 02 03 04 05 06 07 08 09 10 11
12 13 14 15 16 17 18 19 20 21
C1 = 03 10 17 04 11 18 02 09 16 01 08
15 05 12 19 06 13 20 07 14 21
C2 = 17 01 13 04 08 20 10 16 06 03 09
19 11 15 07 18 05 14 02 12 21
C = NÑRCOBOAOCCPINAEENNSD
Repetir trasposición para
incrementar seguridad
Criptografía
Criptografía clásica
Escítala, Polybios, César, …
procesado texto en claro
bloque
operaciones de encriptación
sustitución
monoalfabeto
Vigenere
transposición
Feistel
DES, 3DES, AES
flujo
número de claves
César, Polybios, Playfair, …
polialfabeto
rail fence
transposición de columnas
clave privada
clave pública
RSA
producto
DES
13
Seguridad en Sistemas de Información
Product Ciphers
Cifrado por substitución o transposición no
seguro debido a características del lenguaje
Concatenación cifrados
2
substituciones Æ substitución más compleja
2 transposiciones Æ transposición más compleja
substitución + transposición Æ mucho más compejo
Puente entre criptografía clásica y moderna
Máquinas de Rotor
Ejemplo complejidad a través de múltiples etapas de cifrado
Segunda Guerra Mundial
cifrado por substitución variable
Alemanes (Enigma), Aliados (Hagelin), Japones (Purple)
Rotor
posición determina la substitución
varía después cifrado de cada letra
encadenado a otros rotores
Ej: 3 rotores (26 letras) Æ 263=17.576 alfabetos
14
Seguridad en Sistemas de Información
Máquinas de Rotor: enigma
5p
posibles rotores
Configuración
C5,3 * P3 = 60 posibilidades
Rotores Escogidos
Posición Inicial Rotores
Anillos Giro
Stecker (10 pares
intercambio)
Total ≈ 1023 combinaciones
Criptoanálisis: cribas
Criptografía
Criptografía clásica
Escítala, Polybios, César, …
procesado texto en claro
bloque
operaciones de encriptación
sustitución
monoalfabeto
Vigenere
transposición
Feistel
DES, 3DES, AES
flujo
número de claves
César, Polybios, Playfair, …
polialfabeto
rail fence
transposición de columnas
clave privada
clave pública
RSA
producto
DES
15
Seguridad en Sistemas de Información
Cifrado en Bloque vs. en Flujo
Cifrado en bloque
Texto
se procesa en bloques (o palabras)
Cada bloque se (des)encripta conjuntamente
Bloque típico: 64 o 128 bits
Ampliamente usados
Cif d en flujo
Cifrado
fl j
(Des)Encriptación
se aplica a un elemento de
información (caracter, bit)
Comparativa de cifra: bloque vs flujo
CIFRADO EN BLOQUE
Ventajas
j
Inconvenientes
Alta
difusión de los elementos
en el criptograma
Inmune: imposible introducir
bloques extraños sin detectarlo
Baja velocidad de cifrado al tener
que leer bloque completo
Errores de cifra: un error se
propagará a todo el bloque
CIFRADO EN FLUJO
Ventajas
Alta
velocidad de cifra
Resistente a errores: cifra no es
dependiente entre elementos
Inconvenientes
Baja difusión elementos en el
criptograma
Vulnerable: pueden alterarse los
elementos por separado
16
Seguridad en Sistemas de Información
Cifrado en bloque ideal
Estructura cifrado Feistel
Texto claro (2w bits)
Etapa 1
Clave
Algoritmo de generación
de subclaves
Etapa i
Etapa n
Texto cifrado (2w bits)
17
Seguridad en Sistemas de Información
Criptografía
Criptografía clásica
Escítala, Polybios, César, …
procesado texto en claro
bloque
operaciones de encriptación
Vigenere
transposición
Feistel
DES, 3DES, AES
flujo
número de claves
César, Polybios, Playfair, …
polialfabeto
monoalfabeto
sustitución
clave privada
clave pública
rail fence
transposición de columnas
RSA
producto
DES
DES: Data Encryption Standard
Fue desarrollado por IBM a principios de los 70 como continuación del algoritmo Lucifer.
Adoptado por NIST como algoritmo estándar de cifrado. Actualmente estándar de ANSI
DES se diseñó
di ñó de
d forma
f
que, fuera
f
resistente
i t t all criptoanálisis
i t
áli i y además
d á sencillo
ill para poder
d
ser implementado en un circuito electrónico con la tecnología de los años 70
Cifra en bloques de 64 bits de texto claro, produciendo bloques del mismo tamaño de texto
cifrado. (es un cifrador de bloques)
El tamaño de la clave es de 56 bits (256 posibles combinaciones)
Disposición de bits en una clave DES
Ha suscitado gran controversia:
Tamaño de la clave 56 bits (Lucifer 128bits)
Ciertos aspectos de su diseño están clasificados
18
Seguridad en Sistemas de Información
DES: Data Encryption Standard
Texto claro de 64 bits
Clave de 56 bits
Permutación inicial
Opción 1
permutada
Estructura Feistel
Pasos:
Permutación inicial
p(x)
Etapa 1
Opción 2
permutada
Rotación a
la izquierda
Etapa 2
Opción 2
permutada
Rotación a
la izquierda
Etapa 16
O ió 2
Opción
permutada
Rotación a
la izquierda
x0 = p(x) = L0R0
16 iteraciones :
Li= Ri−1,
Ri = Li−1 (+) f(Ri−1, ki)
Permutación
inversa p(x)
y = p−1(R16L16)
Intercambio
de 32 bits
Permutación inicial
inversa
Texto cifrado de 64 bits
Representación general del algoritmo de cifrado DES
19
Seguridad en Sistemas de Información
DES: Data Encryption Standard
Etapa
DES: Efecto Avalancha
Propiedad
p
altamente deseable
Alta variabilidad del cifrado ante pequeños cambios en
clave
texto en claro
Promedio DES:
Cambio 1 bit entrada o clave
Cambio mitad bits texto cifrado
DES presenta alto efecto avalancha
Dificulta criptoanálisis
20
Seguridad en Sistemas de Información
Años para romper el código
Criptoanálisis fuerza bruta
Longitud de la clave (bits)
Variantes de DES: Triple DES
K1
P
E
K2
A
D
K3
B
E
K3
C
C
D
K2
B
E
K1
A
D
P
Se utilizan 3 claves (K1, K2, y K3)
3 etapas:
El texto en claro se cifra con K1
DES
S modo de descifrado,
f
usando K2
Se realiza otro cifrado usando K3
Existen variantes con claves de 168 bits
Se utilizan tres claves en lugar de dos
(FIPS)
21
Seguridad en Sistemas de Información
Algoritmo Rijndael. AES
El 12 de septiembre de 1997 el National Institute of
Standars and Technology (NIST), hace un
llamamiento público para la presentación de
algoritmos candidatos al Advanced Encryption
Standard (AES)
Se establecen unos requisitos mínimos:
El algoritmo debe ser de clave secreta (simétrico)
El algoritmo debe ser un algoritmo de bloque
El algoritmo debe ser capaz de soportar las combinaciones
clave-bloque de los tamaños 128-128, 192-128 y 256-128
AES Evaluation Criteria
Criterios iniciales:
seguridad
(esfuerzo requerido criptoanálisis)
coste (eficiencia computacional)
algoritmo & caracterísiticas implementación
Criterios finales
seguridad
id d
generall
facilidad implementación software y hardware
ataques a la implementación
flexibilidad (des/cifrado, clave, etc.)
22
Seguridad en Sistemas de Información
Algoritmo Rijndael. AES (y II)
Diseñado por Joan Daemen y Vincent Rijmen
Adoptado por el NIST en Octubre del 2000
como algoritmo criptográfico no militar
Su elección, desarrollo y estudio se realizó de
forma pública y abierta
T
Tamaño
ñ de
d clave
l
variable:
i bl 128,
128 192 y 256 bits
bit
Se considera más rápido y seguro que Triple
DES
Modos operación cifra en bloques
Modo Electronic CodeBook
Modo CBC (Cipher Block Chaining):
La entrada al algoritmo de cifrado es el XOR entre el bloque de
texto claro y el bloque de texto cifrado anterior.
Modo CFB (Cipher Feedback)
Cifrado en bloque se comporta como un cifrado en flujo. El
algoritmo de cirado genera bloques de flujo de claves
claves, a los que
se hace un XOR con el texto en claro para obtener cifra
Output Feedback
Counter
23
Seguridad en Sistemas de Información
Modos operación cifra en bloques
CBC: Cipher block chainning
Modo CBC ((Cipher
p
Block Chaining):
g)
La entrada al algoritmo de cifrado es el XOR entre el bloque de
texto claro y el bloque de texto cifrado anterior.
Modos operación cifra en bloques
CBC: Cipher block chainning
24
Seguridad en Sistemas de Información
Modos operación cifra en bloques
CFB: Cipher feedback
Criptografía
Criptografía clásica
Escítala, Polybios, César, …
procesado texto en claro
bloque
operaciones de encriptación
sustitución
monoalfabeto
Vigenere
transposición
Feistel
DES, 3DES, AES
flujo
número de claves
César, Polybios, Playfair, …
polialfabeto
rail fence
transposición de columnas
clave privada
clave pública
RSA
producto
DES
25
Seguridad en Sistemas de Información
Cifradores Flujo: Estructura
Cifradores Flujo: Propiedades
Consideraciones de diseño:
periodo extenso sin repeticiones (key stream)
generación clave quasi-aleatoria
tamaño clave
Si el diseño es correcto, puede considerarse tan seguro
como un cifrador en bloque (con el mismo tamaño de
clave)
l
)
Ventajas
Simplicidad
Rapidez
26
Seguridad en Sistemas de Información
RC4
Cifrado propietario RSA Security
Características
Ampliamente usado
Tamaño Clave Variable (1-256 bytes)
Trabajo con bytes
Simplicidad y eficacia
web SSL/TLS
wireless WEP
key forms random permutation of all 8-bit values
uses that permutation to scramble input info processed a byte at a
time
RC4 Key Schedule
S: estado interno cifrado
Clave determina intercambio seguro
for i = 0 to 255 do
S[i] = i
T[i] = K[i mod keylen])
Inicialización
j = 0
for i = 0 to 255 do
j = (j + S[i] + T[i]) mod 256
intercambiar (S[i], S[j])
Permutación
Inicial de S
27
Seguridad en Sistemas de Información
RC4: Encriptación
Generación Flujo: intercambio valores S
Encriptación/Desencriptación: S[t] XOR (Byte M)
i = j = 0
para cada byte del mensaje Mi
i = (i + 1) mod 256
j = (j + S[i]) mod 256
swap(S[i], S[j])
t = (S[i] + S[j]) mod 256
Ci = Mi XOR S[t]
RC4 Overview
28
Seguridad en Sistemas de Información
RC4 Security
Criptoanálisis RC4
varios
métodos publicados
ninguno práctico (con clave longitud razonable)
Cifrado altamente no-lineal
Problema Seguridad WEP
generación
clave K
29
0
Puede agregar este documento a su colección de estudio (s)
Iniciar sesión Disponible sólo para usuarios autorizadosPuede agregar este documento a su lista guardada
Iniciar sesión Disponible sólo para usuarios autorizados(Para quejas, use otra forma )