Post on 22-Nov-2015
Criptografa
ESCUELA SUPERIOR
POLITECNICA DE CHIMBORAZO
Maestra en Seguridad Telemtica
Cap. I
Introduccin a la
Criptografa
Criptografa
Agenda
Definicin de la Criptografa
Seguridad de un Sistema
Aplicaciones de Criptografa
Hitos histricos de la criptografa
Sistemas de cifrado
Clasificacin de los cripsostemas
Cifrado de clave privada y clave pblica
Gestin de claves de sistemas de cifrado
Sistemas de cifrado hbridos
Definicin de Criptografa
Las races etimolgicas de la palabra criptografa son:
kriptos, que significa oculto, y
graphos, que se traduce como escribir,
Lo que da una clara idea de su definicin clsica:
Arte de escribir mensajes en clave secreta o enigmticamente.
Fue considerada un arte
Hasta que Shannon public en 1949 la Teora de las comunicaciones secretas. Entonces la criptografa empez a ser considerada una ciencia aplicada
Parte 1
Definicin de Criptografa
Las Rama inicial de las Matemticas y en la actualidad tambin de la Informtica y la Telemtica, que hace uso de mtodos y tcnicas con el objeto principal de cifrar, y por tanto proteger, un mensaje o archivo por medio de un algoritmo, usando una o ms claves.
Parte 2
Rami, J. O. R. G. E. (2006). Libro electrnico de seguridad informtica y criptografa. Versin, 4, 1.
Definicin de Criptografa Parte 3
Cristologa: ciencia que estudia e investiga todo aquello relacionado con la criptografa: incluye cifra y criptoanlisis.
Criptgrafo: mquina o artilugio para cifrar.
Criptlogo: persona que trabaja de forma legtima para proteger la informacin creando algoritmos criptogrficos.
Criptoanalista: persona cuya funcin es romper algoritmos de cifra en busca de debilidades, la clave o del texto en claro.
Texto en claro: documento original. Se denotar como M.
Criptograma: documento/texto cifrado. Se denotar como C.
Claves: datos (llaves) privados/pblicos que permiten cifrar un documento y descifrar el correspondiente criptograma.
La Seguridad de un sistema Parte 1
Interrupcin
Interceptacin
Modificacin
Generacin
Interrupcin Interceptacin
Flujo Normal
Modificacin Generacin
La seguridad de un sistema son influenciadas por las amenazas.
Las amenazas afectan principalmente al hardware, al software y a los datos. stas se deben a fenmenos de:
La Seguridad de un sistema Parte 2
Interrupcin
Intercepcin
Modificacin
Produccin
La Seguridad de un sistema Parte 3
Integridad Los componentes del
sistema slo pueden ser creados y modificados por los usuarios autorizados.
Disponibilidad Los usuarios deben tener
disponibles todos los componentes del sistema cuando as lo deseen.
Objetivos de la seguridad informtica:
Confidencialidad Los componentes del sistema sern accesibles slo por
aquellos usuarios autorizados.
La Seguridad de un sistema Parte 4
Otros objetivos de la seguridad informtica:
No repudio Ofrece proteccin a un usuario frente a otro usuario que
niegue posteriormente que en realidad se realiz cierta comunicacin.
Control de acceso Requiere que el acceso a los recursos (informacin,
capacidad de clculo, nodos de comunicaciones, entidades fsicas, etc.) sea controlado y limitado por el sistema
destino.
Autenticidad Requiere una identificacin correcta del origen del
mensaje, asegurando que la entidad no es falsa.
Mecanismos de seguridad
Intercambio de autenticacin: corrobora que una entidad, ya sea origen o destino de la informacin, es la deseada. (Contraseas, Certificados ...)
Cifrado: garantiza que la informacin no es inteligible para individuos, entidades o procesos no autorizados. (Cifrado de datos con AES ...)
Integridad de datos: para verificar que los datos no han sido modificados en el trayecto (Hash o resumen de un mensaje).
Firma digital: se enviar junto con los datos ordinarios, garantizar la autenticidad y el no repudio de los datos
Unicidad: consiste en aadir a los datos un nmero de secuencia, la fecha y hora, un nmero aleatorio, o alguna combinacin de los anteriores, que se incluyen en la firma digital o integridad de datos para darnos la unicidad en el tiempo.
Aplicaciones de la Criptografa
Comunicaciones Seguras:
Trfico de la web: HTTPS
Trfico de la Wireless: 802.11i WPA2 (and WEP), GSM, Bluetooth
Cifrado de archivos en disco duros: EFS, TrueCrypt
Proteccin de contenidos (Ejs. DVD, Blu-ray)
Autentificacin de usuarios
Firmas digitales
Comunicacin annima
Hitos histricos de la Criptografa
El primer uso de la escritura secreta de que se tiene constancia data del siglo v a. C., durante la guerra entre Atenas y Esparta. el cifrado conocido como esctala se basaba nicamente en la alteracin del mensaje mediante la escritura de los smbolos.
poca de los romanos. El cifrado en ese caso consista en una sustitucin de determinados smbolos por otros segn una regla fija.
En el siglo XIV la obra ms antigua que existe sobre criptografa. Se titula Lber Zifrorum y su autor, Cicco Simoneta.
Parte 1
Hitos histricos de la Criptografa
En el siguiente siglo, Alberti (1404-1472) destaca en el campo del criptoanlisis, siendo considerado por ello el padre de la cristologa
El mayor desarrollo de la criptologa tuvo lugar durante las dos guerras mundiales.
En la primera guerra fue fundamental la ruptura por parte de los aliados britnicos del conocido como telegrama Zimmermann.
En la segunda guerra mundial, la mquina de cifrado alemana Enigma fue rota por la oficina criptoanaltica britnica capitaneada por el matemtico Alan Turing
Parte 2
Medio deTransmisor Transmisin Receptor
M C
Cifrador Mensaje cifrado Descifrador
Interceptacin del mensaje
por un intruso
T RMT
C M
Sea cual sea el medio de transmisin (enlace, red telefnica, red de
datos, disco magntico, disco ptico, etc.) ste ser siempre y por
definicin inseguro y habr que adaptarse a este medio. Esto podra
dejar de ser cierto en los futuros sistemas con criptografa cuntica.
Usurpacin de identidad
por un intruso
Sistema de cifrado Parte 1
Texto TransmisorTexto cifrado
ReceptorBase Base
Canal inseguro
Clave
Cifrador Descifrador
Texto
Un espacio de Textos en Claro M
Un espacio de Textos Cifrados C
Un espacio de Claves K
Unas transformaciones de Cifrado EK(M) y de Descifrado DK (C)
M MC
K Clave K
Sistema de cifrado - esquema Parte 2
C = E(M)
M = D(C)
M = D(E(M))
Si se usa una clave k:
C = E(k,M) o Ek(M)
M = D(k, E(k,M))
M = D(kD, E(kE,M))
Las operaciones D y E son
inversas o bien lo son las
claves que intervienen. Esto
ltimo es lo ms normal, con
los inversos dentro de un
cuerpo finito. Por lo tanto, se
recupera el mensaje en claro.
E: Cifrado del mensaje M
D: Descifrado del criptograma C
En este ltimo caso los algoritmos E y D son iguales
Sistema de cifrado - funciones y operaciones Parte 3
M = {m1, m2, ..., mn}Est muy claro que esto
es un texto en claro...
Componentes de un mensaje inteligible (bits, bytes, pixels, signos, caracteres, etc.) que provienen de un alfabeto previamente establecido como en el ejemplo.
El lenguaje tiene unas reglas sintcticas y semnticas.
En algunos casos y para los sistemas de cifra clsicos la longitud del alfabeto indicar el mdulo en el cual se trabaja. En los modernos, no guarda relacin.
Habr mensajes con sentido y mensajes sin sentido
Sistema de cifrado - Espacio de mensajes M Parte 4
Normalmente el alfabeto es el mismo que el utilizado para crear el mensaje en claro.
Supondremos que el espacio de los textos cifrados C y el espacio de los mensaje M (con y sin sentido) tienen igual magnitud.
En este caso, a diferencia del espacio de mensajes M, sern vlidos todo tipo de criptogramas.
C = {c1, c2, ..., cn}VjbmljYSB3kZSBNYWRy+
WQgQ0ExLTAr8BgN...
Sistema de cifrado - Espacio de criptogramas CParte 5
Si el espacio de claves K es tan grande como el de los mensajes M, se obtendr un criptosistema con secreto perfecto.
Se supone que es un conjunto altamente aleatorio de caracteres, palabras, bits, bytes, etc., en funcin del sistema de cifrado. Al menos una de las claves en un criptosistemase guardar en secreto.
K = {k1, k2, ..., kn}
Parte 6Sistema de cifrado - Espacio de claves K
Ek es una aplicacin con una clave k, que est en el espacio de claves K, sobre el mensaje M y que lo transforma en el criptograma C.
Es el algoritmo de cifrado. Slo en algunos sistemas clsicos el algoritmo es secreto. Por lo general el algoritmo de cifra ser de dominio pblico y su cdigo fuente debera estar disponible en Internet.
Ek: M C k K
Sistema de cifrado - transformaciones cifradoParte 7
Dk es una aplicacin con una clave k, que est en el espacio de claves K, sobre el criptograma C y que lo transforma en el texto en claro M.
Se usa el concepto de inverso. Dk ser la operacin inversa de Ek o bien -que es lo ms comn- se usa la misma transformacin Ek para descifrar pero con una clave k que es la inversa de k dentro de un cuerpo.
Dk: C M k K
Sistema de cifrado - transformaciones descifradoParte 8
Dk(Ek(P)) = P
E y D son slo funciones matemticas parametrizadascon la clave k
Estas funciones E( ) y D( ) son conocidas por elcriptoanalista, pero no la clave.
1.- La cantidad de esfuerzo necesario para inventar, probar e instalarun mtodo nuevo (funciones E y D) cada vez que el viejo esconocido hace impracticable mantenerlo en secreto.
2.- Este mtodo de cifrado con claves, permite cambiar fcilmentede mtodo de cifrado simplemente con cambiar la clave
Sistema de cifrado - Cifrado y Descifrado Parte 9
Algoritmo de cifrado y descifrado rpido y fiable.
Posibilidad de transmitir ficheros por una lnea de datos, almacenarlos o transferirlos.
No debe existir retardo debido al cifrado o descifrado.
La seguridad del sistema deber residir solamente en el secreto de una clave y no de las funciones de encriptacin.
La fortaleza del sistema se entender como la imposibilidad computacional (tiempo de clculo en aos que excede cualquier valor razonable) de romper el criptograma o encontrar la clave secreta a partir de otros datos de carcter pblico.
Sistema de cifrado - Requisitos de criptosistemaParte 10
Fortaleza de la cifra
Conociendo el algoritmo de cifra, el criptoanalista intentar romper la cifra en uno de estos escenarios:
1. Contando nicamente con el criptograma.
2. Contando con texto en claro conocido.
3. Eligiendo un texto en claro.
4. A partir de texto cifrado elegido.
ATAQUE POR FUERZA BRUTA
5. Buscando todas combinaciones posibles de claves.
Un algoritmo de cifra ser fuerte si, conociendo su funcionamiento o cdigo, conociendo el texto cifrado y conociendo el texto en claro, el ataque a la clave de cifra secreta es computacionalmente muy difcil.
Clasificacin de los Criptosistemas
Sistemas de cifra: Sustitucin vs. Transposicin Clasificacin de acuerdo al tipo de
operacin.
Sistemas de cifra: en bloque versus en flujo Clasificacin de acuerdo a cmo
se produce la cifra.
Sistemas con clave: secreta vs. pblica Clasificacin de acuerdo al uso de una nica clave secreta
(sistemas simtricos) o bien dos claves, una de ellas pblica y la otra privada (sistemas asimtricos).
Parte 1
Clasificacin de los Criptosistemas Parte 2
CIFRADO POR SUSTITUCION:
Este mtodo consiste en desplazar (a derecha o izquierda) el alfabeto de texto cifrado k letras, siendo k la clave de cifrado. E descifrado es invertir el desplazamiento.
CIFRADO POR TRANSPOSICION:
Los cifrados por transposicin reordenan las letras. La clave k, se utiliza para reordenar las columnas del texto normal, de forma que el texto cifrado se obtiene leyendo el texto normal con la ordenacin determinada por la clave.
Clasificacin de los Criptosistemas Parte 3
CIFRADO EN BLOQUE:
El mismo algoritmo de cifra se aplica a un bloque de informacin (grupo de caracteres, nmero de bytes, etc.) repetidas veces, usando la misma clave. El bloque de texto o informacin a cifrar normalmente ser de 64 128 bits.
CIFRADO EN FLUJO:
El algoritmo de cifra se aplica a un elemento de informacin (carcter, bit) mediante un flujo de clave en teora aleatoria y de mayor longitud que el mensaje. La cifra se hace carcter a carcter o bit a bit.
CIFRADO EN BLOQUE
Ventajas: Desventajas:
* Alta difusin de los elementos * Baja velocidad de cifrado al tener
en el criptograma. que leer antes el bloque completo.
* Inmune: imposible introducir * Propenso a errores de cifra. Un
bloques extraos sin detectarlo. error se propagar a todo el bloque.
CIFRADO EN FLUJO
Ventajas: Desventajas:
* Alta velocidad de cifra al no * Baja difusin de elementos en el
tener en cuenta otros elementos. criptograma.
* Resistente a errores. La cifra es * Vulnerable. Pueden alterarse los
independiente en cada elemento. elementos por separado.
Clasificacin de los Criptosistemas Parte 4
En el cifrado de clave privada las claves de cifrado y descifrado son la misma (o bien se deriva de forma directa una de la otra), debiendo mantenerse en secreto dicha clave. Ejemplos:
DES (Data Encryption Standard) y T-DES (o 3DES)
IDEA (International Data Encryption Algorithm)
AES (Advanced Encryption Standard) o Rijndael
En el cifrado de clave pblica, las claves de cifrado y descifrado son independientes, no derivndose una de la otra, por lo cual puede hacerse pblica la clave de cifrado siempre que se mantenga en secreto la clave de descifrado. Ejemplo:
Cifrado RSA (Rivest, Shamir, Adleman)
Cifrado de clave privada y pblica Parte 1
Mensaje cifrado
Medio deClave Transmisin Clave
M C
Texto TextoBase
Base
Cifrado DescifradoMTMC
Cifrado: Ek Descifrado: Dk
Ek Dk
k k
Clave nica
Cifrado con clave privada
El problema es cmo hacerla llegar al destino
Parte 2
Medio de
Transmisor Transmisin ReceptorM C
Cifrador Mensaje cifrado Descifrador
T RMT
C M
Usurpacin de identidad
por un intruso (I)
Interceptacin del mensaje
por un intruso (I)
Cualquier medio de transmisin es inseguro
Integridad
Confidencialidad
Estos dos principios de la seguridad informtica, el de la
confidencialidad y la integridad, (adems de la disponibilidad y
el no repudio) sern muy importantes en un sistema de
intercambio de informacin segura a travs de Internet.
Cifrado con clave privada Parte 3
protegida
Buscamos la
confidencialidad
Medio de
k Transmisin kM
C
Texto TextoBase Base
M no permitido
EK MTDK
MCDK
El criptoanalista no podr descifrar el criptograma C o
cualquier otro texto cifrado bajo la transformacin EK.
intruso
Criptograma
Protegemos el
extremo receptor
Cifrado con clave privada - Confidencialidad Parte 4
protegida
Buscamos la
integridad
Medio de
k Transmisin kM
C
Texto TextoBase Criptograma Base
C no permitido
EK MTDK
MC
EK
El criptoanalista no podr cifrar un texto en claro M y
enviarlo al destinatario como C = EK(M).
intruso
Hola... soy Paquito!
Protegemos ahora el extremo emisor
Cifrado con clave privada - Integridad Parte 5
protegida
Medio de
k Transmisin kM
C
Texto TextoBase Criptograma Base
C no permitido
EK MTDK
MC
EK
Hola... soy Paquito! M no permitido
protegida
DK
ConfidencialidadIntegridad
La confidencialidad y la integridad se lograrn
simultneamente si se protege la clave secreta.
Era algo obvio
Cifrado con clave privada - resumen Parte 6
protegida
Buscamos la
confidencialidad
Medio declave pblica de B
Transmisin
M
C
Texto TextoBase Base
M no permitido
EB MTDB M
CDB
intruso
Criptograma
clave privada de B
Observe que se cifra con la clave pblica del usuario receptor
Usuario A Usuario B
C = EB(M)
M = DB(C) = DB(EB(M))
EB y DB son operaciones
inversas dentro de un cuerpo
Cada usuario usa dos funciones: una pblica EX y otra privada DX.
Cifrado con clave pblica - Confidencialidad Parte 1
Usada en intercambio RSA
Medio declave privada de A
Transmisin
M
C
Texto TextoBase Base
DA MT EA MC
DA
Criptograma
clave pblica de A
Observe que se cifra con la clave privada del usuario emisor
Usuario A Usuario B
C = DA(M)
M = EA(C) = EA(DA(M))DA y EA son operaciones
inversas dentro de un cuerpo
protegida
Buscamos la
integridad
C no permitido
intruso
Hola... soy Paquito
otra vez!
Cifrado con clave pblica - Integridad Parte 2
Usada en Firma digital RSA
C = EB(DA(M)) Cifrado del mensaje con firma digital
M = EA(DB(C)) Descifrado y comprobacin de firma
K privada
de A
MC
Confidencialidad
Usuario A Usuario B
Integridad
DB EAEBDA
K privada
de BK pblica
de B
K pblica
de A
DA
La integridad y la confidencialidad se
obtendrn ahora por separado ...
M
Esta caracterstica
ser muy importante
DB
Cifrado con clave pblica - Resumen Parte 3
Gestin de claves sistemas de cifra Parte 1
A
ED
C
B
kAB
kAC
kBC
kAD
kBD
kCD
kAE
kBE
kCE
kDE
X YkXY
kYX
Nmero Claves:
n (n-1) / 2
2 usuarios: N = 1
3 usuarios: N = 3
4 usuarios: N = 6
5 usuarios: N = 10
Definicin previa:
N = n de claves
Muy mala gestin de claves: el valor tiende a n2.
Clave secreta
kxy = kyx
Gestin de claves sistemas de cifra Parte 2
A
ED
C
B
kPr.A
kPu.C
kPu.A
kPr.B
kPr.D
kPu.E
kPu.B
kPr.C
kPu.D
X YkPu.X
Nmero Claves:
n * 2
2 usuarios: N = 4
3 usuarios: N = 6
4 usuarios: N = 8
5 usuarios: N = 10
Definicin previa:
N = n de claves
Buena gestin de claves: el valor tiende a n*2.
Clave Pblica
kPu.X kPu.Y
kPr.E
kPr.X
kPr.Y
kPu.Y
Sistemas de cifra hbridos
Entonces los sistemas de clave pblica NO son la solucin a todos nuestros problemas.
Los mtodos de cifrado hibrido utilizan los sistemas de clave publica y privada.
Los algoritmos de clave publica son lentos en comparacin con algoritmos de clave privada, pero son una herramienta efectiva para distribuir claves de cifrado simtrico
Se utiliza la clave publica del destinatario para cifrar la clave simtrica, para luego utilizar la clave simtrica en el cifrado de los mensajes.
1. Un empleado poco satisfecho ha robado varios discos duros de muy
alta calidad con datos de la empresa. Qu importa ms, el costo de
esos discos o el valor de los datos? Justifique su respuesta.
2. En una empresa se comienza a planificar estrategias de acceso a las
dependencias, polticas de backup, de proteccin de los equipos ante
fuego, agua, etc. Eso es seguridad fsica o lgica? Por qu?
3. En nuestra empresa alguien usa software pirata. Es una amenaza de
interrupcin, interceptacin, modificacin o de generacin?
4. Una clave de sesin en Internet para proteger una operacin de cifra
dura 45 segundos. Si alguien intercepta el criptograma, debemos
preocuparnos si sabemos que la prxima vez la clave ser otra?
5. Si se prueban todas las combinaciones posibles de una clave para
romper un criptograma, qu tipo de ataque estamos realizando?
Ejercicios de repaso Parte 1
6. Si protegemos una clave en el extremo emisor, qu buscamos, la
confidencialidad o la integridad? Y si es en el extremo receptor?
7. Por qu en un sistema simtrico se obtiene la confidencialidad y la
integridad al mismo tiempo protegiendo la clave?
8. Explique qu significa que en un sistema de cifra asimtrica se
obtengan la confidencialidad y la integridad por separado.
9. Si se cifra un mensaje con la clave privada del emisor, qu se
obtiene? Y si el emisor cifra con la clave pblica del receptor?
10. Tiene sentido que el emisor cifre de forma asimtrica con su clave
pblica? Qu logramos con ello? Para qu servira?
11. Queremos comunicarnos 10 usuarios con un sistema de cifra de
clave secreta nica entre cada dos miembros. Cuntas claves sern
necesarias? Es eficiente el sistema? Y si hay un usuario ms?
Ejercicios de repaso Parte 2