Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SEGURIDAD
DE
LA
INFORMACION
Definiciones
Criptografa (escritura oculta) Rama de las matemticas y de la informtica que se ocupa de cifrar/descifrar informacin utilizando mtodos y tcnicas que permitan el intercambio de mensajes de manera que slo puedan ser ledos por las personas a quienes van dirigidos. Criptoanlisis Estudio de los mtodos que se utilizan para quebrar textos cifrados con objeto de recuperar la informacin original en ausencia de la clave.
2
SEGURIDAD
DE
LA
INFORMACION
Definiciones
Criptologa Ciencia que estudia las tcnicas criptogrficas y de criptoanlisis. Cifra Mtodo o tcnica que protege a un mensaje al aplicar un algoritmo criptogrfico. Sin conocer una clave especfica, no ser posible descifrarlo o recuperarlo. Esteganografa Es la comunicacin secreta lograda mediante la ocultacin de la existencia de un mensaje.
SEGURIDAD
DE
LA
INFORMACION
Criptosistema
Tupla (E, D, M, K, C) M conjunto de textos en claro K conjunto de claves C conjunto de textos cifrados E conjunto de funciones de cifrado e: M K C D conjunto de funciones de descifrado d: C K M
SEGURIDAD
DE
LA
INFORMACION
Objetivo
El objetivo de la criptografa es mantener la informacin cifrada secreta. Atacante Alguien cuya meta es quebrar un criptosistema. Se asume que conoce el algoritmo pero no la clave.
SEGURIDAD
DE
LA
INFORMACION
Tipos de ataques
Fuerza bruta Slo texto cifrado El atacante conoce solo el texto cifrado, su meta es encontrar el texto en claro y posiblemente la clave. Texto en claro conocido El atacante conoce solo el texto cifrado y el texto en claro, su meta es encontrar la clave. Texto en claro elegido El atacante usa varios textos en claro y obtiene los textos cifrados, su meta es encontrar la clave.
SEGURIDAD DE LA INFORMACION 6
Tipos de ataques
Ataques matemticos Basados en el anlisis matemtico de los algoritmos. Ataques estadsticos Hacer suposiciones sobre la distribucin de las letras (monogramas), los pares de letras (digramas), las ternas de letras (trigramas), etc. Examinar el texto cifrado y relacionar las propiedades con las suposiciones realizadas.
SEGURIDAD
DE
LA
INFORMACION
Criptografa clsica
SEGURIDAD
DE
LA
INFORMACION
Criptografa clsica
El emisor y el receptor comparten una clave Las claves pueden ser la misma o fcilmente derivables una de la otra. Denominado criptografa simtrica. Tipos Cifra por transposicin. Cifra por sustitucin. Cifra por combinacin de los anteriores (Producto).
SEGURIDAD
DE
LA
INFORMACION
Criptografa clsica
Criptografa clsica
Sustitucin
Monoalfabtica
Polialfabtica
Peridica
SEGURIDAD
DE
LA
INFORMACION
10
Transposicin
Consiste en reorganizar los caracteres del texto en claro para producir el texto cifrado. En muchos casos se sigue una pauta geomtrica: se escribe el mensaje en un rectngulo por filas y se lee por columnas, etc. Por ejemplo: Texto en plano: HELLO WORLD Reorganizarlo de la siguiente manera HLOOL ELWRD Texto cifrado: HLOOL ELWRD
SEGURIDAD DE LA INFORMACION 11
Cifra de la esctala
Utilizada en Grecia en el Siglo V a.c. La esctala es una vara de madera sobre la que se enrosca una tira de cuero. El emisor escribe el mensaje a lo largo de la vara y luego desenrosca la tira. La tira sola ocultarse como cinturn. Para recuperar el mensaje el receptor necesita una vara igual a la usada para crearlo.
sendmoretroopstosouthernflankand
STSFEROLNOUADOTNMPHKOSEARTRNEOND
SEGURIDAD
DE
LA
INFORMACION
12
Sustitucin
Consiste en cambiar caracteres del texto en claro para producir el texto cifrado. Es decir, cada letra del mensaje se sustituye por otra segn una determinada permutacin del alfabeto. Por ejemplo: Texto en plano: HELLO WORLD Cambiar cada letra por la tercer letra que le sigue (A por D, B por E, C por F) Texto cifrado: KHOOR ZRUOG
SEGURIDAD
DE
LA
INFORMACION
13
Tipos de sustitucin
Sustitucin monoalfabtica Cuando a una misma letra del mensaje le corresponde siempre la misma letra del texto cifrado. Sustitucin polialfabtica Cuando a una misma letra del mensaje le corresponden distintas letras del mensaje cifrado.
SEGURIDAD
DE
LA
INFORMACION
14
Alfabeto original
abcdefghijklmnopqrstuvwxyz
Alfabeto cifrado
DEFGHIJKLMNOPQRSTUVWXYZABC
VHQGPRUHWURRSVWRVRXWKHUQIODQNDQG
SEGURIDAD DE LA INFORMACION 15
SEGURIDAD
DE
LA
INFORMACION
16
Criptoanlisis
Anlisis de frecuencia Se basa en el anlisis de la frecuencia de aparicin de los smbolos del texto cifrado y su intento de correlacin con los smbolos del lenguaje en el cual est escrito el mensaje. Se buscan los caracteres ms frecuentes en el criptograma y se los asocia a las letras de mayor aparicin en el idioma original. Se prueban distintas alternativas hasta alcanzar un texto coherente. Es una herramienta criptoanaltica de base.
17
SEGURIDAD
DE
LA
INFORMACION
Anlisis de frecuencias
SEGURIDAD
DE
LA
INFORMACION
18
Cifra de Vigenre
En lugar de una letra ahora utilizo una frase. Por ejemplo: Texto en plano: THE BOY HAS THE BALL Clave: VIG Cifrar utilizando la cifra de Csar para cada letra: key VIGVIGVIGVIGVIGV plain THEBOYHASTHEBALL cipher OPKWWECIYOPKWIRG
SEGURIDAD
DE
LA
INFORMACION
19
El tableau
Tabla que tiene las letras de la clave en la parte superior (columnas), y las letras de texto en claro a la izquierda (filas). A B E H L O S T Y
SEGURIDAD
G G H L N R U Y Z E
DE LA
I I J M P T W A B H
V V W Z C G J N O T
Ejemplo:
Clave V, letra T: seguir por la columna V hasta la fila T, se obtiene O Clave I, letra H: seguir por la columna I hasta la fila H, se obtiene P
INFORMACION
20
Cifra de Vigenre
Sustitucin polialfabtica peridica lineal, con perodo igual a la longitud de la clave. Fue denominada durante muchos aos como la cifra indescifrable.
sendmoretroopstosouthernflankand
UPNYQQCEOVQZPNXQDOPXJPRIJNLNFEPO
SEGURIDAD
DE
LA
INFORMACION
21
Criptoanlisis
Ataque de Kasiski (1863) La cifra de Vigenre puede ser atacada con xito mediante un anlisis de frecuencia La tcnica consiste en:
Buscar cadenas repetidas. Buscar el perodo de la clave obteniendo el MCD (mximo comn divisor) entre las posiciones de todas las cadenas repetidas. Descomponer el problema en N sistemas. monoalfabticos (donde N es el tamao de la clave) Abordar cada sistema monoalfabtico por medio del anlisis de frecuencias.
SEGURIDAD
DE
LA
INFORMACION
22
Ataque de Kasiski
En el texto cifrado ocurren repeticiones cuando los caracteres de la clave aparecen sobre los mismos caracteres del texto en claro. Por ejemplo: key VIGVIGVIGVIGVIGV plain THEBOYHASTHEBALL cipher OPKWWECIYOPKWIRG La clave y el texto en claro se alinean sobre las repeticiones. La distancia entre las repeticiones es 9 y por lo tanto el periodo es factor de 9 (1, 3 o 9).
SEGURIDAD
DE
LA
INFORMACION
23
Ejemplo
Queremos quebrar este texto cifrado: ADQYS EQOOG MOCIO HSNEW HCEUT HIUIX MIUSB IFBAG EQOOG VECNE QOIOF OXKKT KAUMF BMBFV DLAAV MEGJS MIBHK VVTAA ZGGWP RWKXS WTPCH IZOOO CIDTW CIEKQ VNSVP AJMOC
SEGURIDAD
DE
LA
INFORMACION
24
Tabla de repeticiones
Letras MI OO OEQOOG FV AA MOC QO PC NE SV CH Inicio 5 22 24 39 43 50 56 69 77 94 118 Fin 15 27 54 63 87 122 105 117 83 97 124 Distancia 10 5 30 24 44 72 49 48 6 3 6 Factores 2, 5 5 2, 3, 5 2, 2, 2, 3 2, 2, 11 2, 2, 2, 3, 3 7, 7 2, 2, 2, 2, 3 2, 3 3 2, 3
SEGURIDAD
DE
LA
INFORMACION
25
Estimar el perodo
OEQOOG Es una repeticin muy larga El perodo puede ser 1, 2, 3, 5, 6, 10, 15, o 30 7 de 10 repeticiones tiene a 2 en sus factores 6 de 10 repeticiones tiene a 3 en sus factores Comenzamos entonces con un perodo 2 3 = 6
SEGURIDAD
DE
LA
INFORMACION
26
ndice de coincidencia
Es la probabilidad de que dos letras de un texto cifrado elegidas al azar sean la misma. IC = [n (n 1)]1 0i25 [Fi (Fi 1)] donde n es la longitud del texto cifrado y Fi la cantidad de veces que aparece la letra i en dicho texto. Se encuentra tabulado para diferentes perodos: 1 0.066 3 0.047 5 0.044 2 0.052 4 0.045 10 0.041 ms de 10 0.038
27
SEGURIDAD
DE
LA
INFORMACION
SEGURIDAD
DE
LA
INFORMACION
28
Anlisis de frecuencias
ABCDEFGHIJKLMNOPQRSTUVWXYZ 31004011301001300112000000 10022210013010000010404000 12000000201140004013021000 21102201000010431000000211 10500021200000500030020000 01110022311012100000030101
1 2 3 4 5 6
Descifrado
Se analiza cada alfabeto para ver cual es su desplazamiento. El primero queda igual El tercero tiene la I cambiada por A El sexto tiene la V cambiada por A Se realizan las sustituciones (negrita es lo cifrado) ADIYS IFTAG BMTFV RWCXS AJEOC
SEGURIDAD
DE
INFORMACION
30
Descifrado
El anlisis continua buscando en el texto pistas que sugieran palabras conocidas para de esta manera determinar los desplazamientos de los alfabetos restantes. Luego de terminar el proceso tendremos: Clave: ASIMOV Texto en claro: ALIME PACET ONESI EANON
SEGURIDAD
ANATO MICAL INTOS MICAL BUTTH EGOOD RECLE ANAND THECL MICAL
31
DE
INFORMACION
Criptografa moderna
SEGURIDAD
DE
LA
INFORMACION
33
Definiciones
Principios de Kerckhoffs (1883) El sistema debe ser en la prctica imposible de criptoanalizar. La seguridad de un sistema criptogrfico debe depender slo de que la clave sea secreta y no de que el algoritmo de cifrado sea secreto Mtodo de eleccin de claves fcil de recordar. Transmisin del texto cifrado por telgrafo. La mquina de cifrar debe ser portable. No debe existir una larga lista de reglas de uso.
SEGURIDAD
DE
LA
INFORMACION
34
Definiciones
En 1948 Claude Shannon publica el artculo A Mathematical Theory of Communication, sentando las bases de la Teora de la Informacin. Informacin Es el conjunto de datos o mensajes inteligibles creados con un lenguaje de representacin. Ante varios mensajes posibles, aquel que tenga una menor probabilidad de aparicin ser el que contenga una mayor cantidad de informacin.
SEGURIDAD
DE
LA
INFORMACION
35
Definiciones
Seguridad perfecta Un sistema criptogrfico es perfectamente seguro si el texto cifrado no da ninguna informacin adicional del texto plano. Es decir que dado un texto cifrado C, cualquier posible texto plano es igualmente probable con respecto a C. Teoremas En todo sistema perfectamente seguro, la longitud de las claves es mayor o igual que la de los mensajes. Existen sistemas perfectamente seguros. (por ejemplo: one-time pad)
36
SEGURIDAD
DE
LA
INFORMACION
Definiciones
Sistema incondicionalmente seguro Cuando es seguro frente a ataques con capacidad de clculo ilimitada. Sistema computacionalmente seguro Cuando es seguro frente a ataques con capacidad de clculo limitada.
SEGURIDAD
DE
LA
INFORMACION
37
Definiciones
Para mejorar las operaciones de cifra Shannon propone dos tcnicas: Difusin Es la transformacin del texto claro con el objeto de dispersar las propiedades estadsticas del lenguaje sobre el criptograma. Se logra con Transposiciones. Confusin Es la transformacin del texto claro con el objeto de mezclar los elementos de ste, aumentando la complejidad de la dependencia funcional entre la clave y el criptograma. Se obtiene mediante Sustituciones.
SEGURIDAD
DE
LA
INFORMACION
38
Criptografa moderna
Criptografa Moderna
Funciones de Hashing
Cifrado de Flujo
Cifrado en Bloque
SEGURIDAD
DE
LA
INFORMACION
39
Criptografa simtrica
Tambin conocidos como criptografa de clave secreta o clave privada. La clave utilizada en la operacin de cifrado es la misma que se utilizada para el descifrado. Existen dos mecanismos de operacin bsicos: Cifrado de flujo. Cifrado en bloques.
SEGURIDAD
DE
LA
INFORMACION
40
Cifradores de flujo
Usan los siguientes conceptos: El espacio de las claves es igual o mayor que el espacio de los mensajes. Las claves son aleatorias. La secuencia de clave se usa slo una vez. La solucin ideal no es prctica.
SEGURIDAD
DE
LA
INFORMACION
42
Cifradores de flujo
Se utilizan generadores pseudoaleatorios con un algoritmo determinstico a partir de una semilla de n bits, pudiendo generar secuencias con periodos de 2n bits. Lo que se transmite es solo la semilla.
SEGURIDAD
DE
LA
INFORMACION
43
Modo de operacin
El mensaje en claro se lee y transmite bit a bit Se realiza una operacin de cifra, normalmente la funcin XOR, entre los bits del mensaje en claro y los de la secuencia cifrante. La secuencia cifrante debe cumplir: Tener un perodo muy alto. Tener propiedades pseudoaleatorias.
mi ci ci ci
Mensaje M
XOR
XOR
Mensaje M
si
Secuencia cifrante
SEGURIDAD DE LA INFORMACION
si
Secuencia cifrante
44
Modo de operacin
Existen 2 mecanismos de operacin de las secuencias cifrantes: Sincrnicos El emisor y el receptor deben sincronizarse previamente a la transmisin. La perdida de 1 bit en el flujo de datos puede inutilizar el resto de la transmisin. Auto-sincrnicos Se utiliza parte de la informacin del texto cifrado para renovar la clave de la secuencia cifrante.
SEGURIDAD
DE
LA
INFORMACION
45
Cifradores en bloque
El mensaje se divide en bloques de longitud fija (8, 16, bytes) y luego se aplica el algoritmo de cifrado a cada bloque en forma independiente con la misma clave Existen distintos modos de operacin dependiendo de cmo se mezcla la clave con el texto en claro: EBC: Electronic CodeBook CBC: Cipher Block Chaining CFB: Cipher Feedback OFB: Output FeedBack
SEGURIDAD DE LA INFORMACION 46
SEGURIDAD
DE
LA
INFORMACION
47
SEGURIDAD
DE
LA
INFORMACION
48
SEGURIDAD
DE
LA
INFORMACION
49
SEGURIDAD
DE
LA
INFORMACION
50
SEGURIDAD
DE
LA
INFORMACION
51
SEGURIDAD
DE
LA
INFORMACION
52
SEGURIDAD
DE
LA
INFORMACION
53
Padding
Al dividir el texto original en bloques de longitud fija, algunos modos de cifrado requieren que se rellene el ltimo bloque (padding) antes de realizar la operacin. Este texto de relleno debe ser quitado durante la operacin de descifrado. Por ejemplo: Se agrega 1 bit en 1 seguido de ceros hasta completar el bloque. Si el texto terminaba exacto se agrega un bloque completo.
SEGURIDAD DE LA INFORMACION 54
Estndar PKCS#5
Estndar PKCS#5: El ltimo bloque se completa con N bytes con valor N, si es mltiplo se completa con un bloque completo de padding.
Grficamente:
SEGURIDAD
DE
LA
INFORMACION
55
SEGURIDAD
DE
LA
INFORMACION
56
POA: Cifrado
from Crypto.Cipher import DES obj = DES.new('dcubaar.', DES.MODE_CBC,'12345678') enc_ori = obj.encrypt('EL TEXTO PLANO'+'\x02\x02') 57
SEGURIDAD
DE
LA
INFORMACION
POA: Descifrado
from Crypto.Cipher import DES obj = DES.new('dcubaar.', DES.MODE_CBC,'12345678') enc_ori = '[\x8ez`\xeb\x0c.cY-\t\x06\xd14\xef\x1a' dec_ori = obj.decrypt(enc_ori) SEGURIDAD DE LA INFORMACION 58
POA: Tcnica
Elegimos un bloque aleatorio (RB) Concatenamos RB con el bloque que deseamos descifrar (EB) Si Orculo(RB||EB) = Error de Padding debemos seguir probando Sino ganamos!
from Crypto.Cipher import DES r = os.urandom(8) r = '\x8f\xf3)\xb0\xc7\xea!\x00' obj = DES.new('dcubaar.', DES.MODE_CBC,'12345678') obj.decrypt(r+enc_ori[8:])
SEGURIDAD
DE
LA
INFORMACION
59
for b in range(256): rb = chr(ord(r[-1])^b) r1 = r[:-1] + rb + enc_ori[8:] obj = DES.new('dcubaar.', DES.MODE_CBC,'12345678') dec = obj.decrypt(r1) if dec[-1] == '\x01': print rb
SEGURIDAD
DE
LA
INFORMACION
60
SEGURIDAD
DE
LA
INFORMACION
61
POA: CBC-R
Cifrado con CBC Ci = ek(Pi Ci-1) Pi = dk(Ci ) Ci-1 Cifrando con el orculo:
1. 2. 3. 4. 5. Elegir un mensaje a cifrar: P0P1... PN-1 Elegir un bloque al azar: CN-1 Usar el orculo para obtener el keystream correspondiente a CN-1 (KCN-1) Luego, elegir Ci-1 = Pi KCi-1 y repetir para i = N-21 El IV = Po KC0
C0 = IV
Bsicamente, Ci es tal que nos permite ir obteniendo Pi+1. Es decir, vamos construyendo los Ci de tal forma que al descifrarlos obtenemos P. De esta forma obtenemos una manera de cifrar un mensaje arbitrario sin conocer la clave.
DE LA INFORMACION 62
SEGURIDAD