La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Criptografía Kρύπτω (kryptos) – Oculto Escritura secreta No se oculta el mensaje Cifrar  Transcribir en guarismos, letras o símbolos, de acuerdo con una.

Presentaciones similares


Presentación del tema: "Criptografía Kρύπτω (kryptos) – Oculto Escritura secreta No se oculta el mensaje Cifrar  Transcribir en guarismos, letras o símbolos, de acuerdo con una."— Transcripción de la presentación:

1 Criptografía Kρύπτω (kryptos) – Oculto Escritura secreta No se oculta el mensaje Cifrar  Transcribir en guarismos, letras o símbolos, de acuerdo con una clave, un mensaje cuyo contenido se quiere ocultar.

2 Amenazas a un mensaje

3 Mensaje Alice Bob Mensaje

4 Mensaje escuchado sin autorización (eavesdropping) Alice Bob Eve Mensaje

5 Mensaje interceptado Alice Bob Mallory Mensaje

6 Mensaje modificado Alice Bob Mallory Mensaje

7 Mensaje fabricado Alice Bob “Alice” Mensaje

8 Idea básica Encryption Dencryption PlaintextCiphertext Esta es la clase De Seguridad Informática en El Tecnológico De Monterrey Esta es la clase De Seguridad Informática en El Tecnológico De Monterrey Esta es la clase De Seguridad Informática en El Tecnológico De Monterrey Esta es la clase De Seguridad Informática en El Tecnológico De Monterrey Plaintext

9 Idea básica Cifrado Descifrado Mensaje originalCriptograma Esta es la clase De Seguridad Informática en El Tecnológico De Monterrey Esta es la clase De Seguridad Informática en El Tecnológico De Monterrey Esta es la clase De Seguridad Informática en El Tecnológico De Monterrey Esta es la clase De Seguridad Informática en El Tecnológico De Monterrey Mensaje orignal c = E(k,m) m = D(k,c) mc m c

10 Ecuación de consistencia (cifradores simétricos) m E(k,m) D(k,E(k,m)) m m=D(k,E(k,m))

11 Principios básicos de seguridad Confidencialidad  Privacidad, mensajes secretos Integridad  Mensaje no cambia en tránsito Disponibilidad Autenticación  Validar la identidad del emisor No repudio  No se puede negar haber enviado el mensaje  No se puede negar haber recibido el mensaje

12 Scytale (700 A de C)

13 Cesar (ROT 3) n = 3 50 AC

14 ROT 13 n = 13

15 Cifrador PigPen (Siglo XVIII)

16 Análisis de frecuencias InglésEspañol Problema con cifradores de sustitución monoalfabéticos

17 Análisis de frecuencia Le costo la cabeza a la reina Mary de Escocia

18 Cifradores polialfabéticos Leon Alberti 1460s  Propuso múltiples alfabetos para cifrar y alternar el uso de allos para cifrar un mensaje Blaise de Vigenère 1586  Implemento el cifrador que lleva su nombre

19 Ejemplo ABCDEFGHIJKLMNOPQRSTUVWXYZ Alfabeto original DEFGHIJKLMNOPQRSTUVWXYZABC NOPQRSTUVWXYZABCDEFGHIJKLM Alfabeto cifrado 1 Alfabeto cifrado 2 Mensaje en claro: JAVAXJALA Mensaje cifrado con alfabeto cifrado 1: MDYDAMDOD Mensaje cifrado con alfabeto cifrado 1: Mensaje cifrado con 2 alfabetos: MNYNAWDYD

20 Cifrador Vigenère

21 “One-time Pad” El cifrador perfecto La llave es una secuencia aleatoria de caracteres (bits) Llave y mensaje tienen la misma longitud Para combatir el análisis de frecuencia Dos problemas  Absoluta sincronización entre emisor y receptor  Número de llaves ilimitado (distribución)

22 Enigma

23 Cifrado simétrico y asimétrico Llave Privada Llave Pública

24 Cifrado simétrico y asimétrico Llave Privada Llave Pública

25 Cifrados de sustitución Cada letra se cambia por otra letra o símbolo A → C, B → D,......... Cesar c i = E(p i ) = p i + 3 General  c i = E(p i,n) = p i + n mod 26

26 Cifrados de sustitución Cada letra se cambia por otra letra o símbolo A → C, B → D,......... Cesar c i = E(p i ) = p i + 3 General  c i = E(p i,n) = p i + n mod 26

27 Cifrado Monoalfabético Cada letra del texto en claro se convierte en la misma letra en el texto cifrado  Usando 3 como llave ABCDEFGHIJKLMNOPQRSTUVWWXYZ defghijklmnopqrstuvwwxyzabc  Usando “palabra” como llave ABCDEFGHIJKLMNOPQRSTUVWWXYZ palbrcdefghijkmnoqstuvwwxyz

28 Cifrado Polialfabético Cada letra del texto en claro no es reemplazada por la misma letra en el texto cifrado Cifrado de Vigenère:  C = P + K mod 26 Usando “secreto” como llave  Texto en claro ESTEMENSAJEESFACIL  Llave secretosecretosecr  Texto cifrado wwvvqxbkelviltsgkc

29 Cifrados de tranposición Los símbolos del mensaje no cambian, sino que son reacomodados SEGURIDAD → GSARDIDEU PERMUTACIONES Transposición por columnas ESTEM ENSAJ EESMA SDIFI CILDE DESCI FRARA EEESC DFSNE DIERT SSILS AEAMF DCRMJ AIEIA

30 Cifrados secuenciales y de bloques Stream Cipher Block Cipher

31 Algoritmo seguro Basado en conceptos matemáticos sólidos Ha sido analizado por gente competente Ha resistido el paso del tiempo Principios básicos:  Confusión  Difusión

32 Principios Confusión Relación no evidente (compleja) entre mensaje claro/ llave y mensaje cifrado ¿Qué pasa con el texto cifrado si cambio un carácter del texto en claro?. No se puede predecir el cambio Evitar patrones claros Difusión Dispersar la información del texto claro en todo el mensaje cifrado El interceptador requiere acceso a mucha información para tratar de descifrar el mensaje original

33 Cifrados secuenciales y de bloques Secuenciales  (+) Buena velocidad de transformación  (+) Bajo propagación de error  (-) Baja difusión  (-) Suceptible a inserciones malignas Bloques  (+) Alta difusión  (+) Inmunidad a inserciones malignas  (-) Lentitud en el cifrado  (-) Alta propagación de errores

34 Algoritmos criptográficos La mayoría usa aritmética binaria Más fácil

35 DES (Data Encryption Standard) 1973: NBS (ahora NIST) llama a concurso para un cifrador comercial  Concebido para uso público (comercial)  NSA directamente involucrada  “Debilidades intencionales” (?)  Llave pequeña (56 bits) y bloques de 64 bits IBM concursa con Lucifer  Algoritmo de Horst Feistel desarrollado a principios de los 70s en IBM  Cifrador de bloque y llave privada (simétrica)  Originalmente de las llave de 128 bits y bloques de 128 bits  Emigrado alemán, 1934 1976: NBS adopta el cifrador de IBM como estándar 1997: Es atacado con éxito (fuerza bruta) 2000: NIST cambia a AES

36 DES Cifrador de bloques  Opera en bloques de datos de 64 bits Llave de 64 bits  Realmente es de 56 bits  Los 8 bits restantes se usan como paridad 16 rondas de sustituciones y permutaciones determinadas por cajas S (S-Boxes) I cajas P (P-Boxes) El mismo algoritmo para descifrar

37 Estructura general de DES IP: Initial Permutation FP: Final Permutation IP y FP son inversas Opera sobre bloques de 64 bits F: Función Feistel

38

39 Permutación Inicial (IP)

40 Función Feistel Una para cada una de las rondas. Se sacan del “key schedule” 48 bits Cajas S (S box) “Substitution” 6 bits entrada 4 bits salida 32 bits Expansión y Permutación

41 Función Feistel

42 Función de Expansión (E)

43 Cajas S (substitución)

44 S1 Entrada: 101100 Renglón: 1yyyy0 Columna: x0110x Salida: 0010 (2)

45 P

46 Generación de las “subkeys” PC1 (Permutation Choice 1)  64 bits a 56 bits  Permutación 2 mitades de 28 bits  Rotadas independientemente  1 ó 2 posiciones PC2 (Permutation Choice 2)  56 bits de entrada  48 bits de salida

47 Generación de las “subkeys” PC1 (Permutation Choice 1)  64 bits a 56 bits  Permutación 2 mitades de 28 bits  Rotadas independientemente  1 ó 2 posiciones PC2 (Permutation Choice 2)  56 bits de entrada  48 bits de salida

48 64 bits 56 bits 28 bits 1 ó 2 posiciones 56 bits 48 bits 56 bits 48 bits 56 bits 48 bits 1 ó 2 posiciones 28 bits

49 PC-1

50 Rotaciones para generar las subllaves

51 PC-2

52 Permutación Final (FP)

53

54 Doble DES E(k 2, E(k 1,m)) Doble pasada, cifrar el mensaje dos veces con dos llaves diferentes  Llaves de 112 bits (?) No da más seguridad  2 57 = 2*2 56 para un ataque de “fuerza bruta” (búsqueda exhaustiva)  Ataque “meet in the middle”

55 Triple DES C = E(k 3,D(k 2, E(k 1,m))) Llaves de 168 bits (?) Equivalente a llaves de 118 bits. Variación de triple DES  C = E(k 1,D(k 2, E(k 1,m)))  Equivalente a llave de 80 bits Llaves arriba de 90 bits son más que suficiente

56 Seguridad DES Los criterios de diseño nunca se hicieron públicos Muchos pensaron que NSA había incluido “puerta trasera” El tamaño de la llave muy pequeña. El rumor es que NSA influyó para esto Hasta la fecha no se ha descubierto ninguna debilidad intencional La mayor amenaza son los ataques de fuerza bruta

57 Seguridad DES 1977: Diffie y Hellman  Máquina que puede romper DES en 1 día  $20,000,000 US 1993: Wiener  Máquina que puede romper DES en 7 horas  $1,000,000 Ninguna fue implementada  Al menos públicamente

58 Seguridad DES 1997: RSA Security ofrece $10,000 al primer lugar  Ganó el proyecto DESCHALL usando Internet  3 meses 1998: Máquina “Deep Crack” EFF  56 horas  $250,000 US 2006: COPACOBONA  120 FPGAs  7 días

59 AES (Advanced Encryption Standard) 1997: NIST publica RFP 1999: 5 finalistas 2001: Elige a Rijndael  Inventado por Vincent Rijmen y Joan Daemen, originalmente llamado Rijndael (“raindel”) Estándar oficial federal en mayo del 2002 Algoritmo de llave privada (simétrico) Bloques de 128 bits y llaves de 128, 192 ó 256 bits 9, 11 ó 13 rondas de sustituciones, corrimientos y mezcla de bits, dependiendo del tamaño de la llave

60 Funcionamiento de AES http://www.formaestudio.com/rijndaelinspector/archivos/rijndaelanimation.html

61 Distibución de llaves DES y posteriormente AES solucionaron el problema de estandarización y permitió a los negocios (bancos) usar criptografía El problema es:  ¿Cómo distribuyo la llave previo a la comunicación cifrada? Requiere muchos recursos (dinero) tener un esquema “adecuado”  Un banco tiene miles de clientes, una llave para cada uno COMSEC distribuye las llaves de EEUU

62 Manejo de llaves C1 C3C4 C2 K 12 K 34 K 23 K 14 K 13 K 23 Cada usuario n-1 llaves

63 Una mejor solución TTP (Trusted Third Party) C1 C3 C4 C2 Cada usuario solamente necesita UNA sola llave K1K1 K4K4 K2K2 K3K3 E(K 1, “1,2”||K 12 ) E(K 2, “1,2”||K 12 ) Ticket Inseguro contra repeticiones

64 Distribución de llaves Inicialmente puede parecer algo trivial Pero pronto se hizo una tarea inmanejable Y después se estableció que la tarea era imposible de resolver Típica situación “Catch 22” …......... hasta mediados de los 70s

65 La recompensa de los tontos Ralph Merkle, Martin Hellman y Whitfield Diffie

66 Whitfiled Diffie  Nació en 1944, se graduó en matemáticas del MIT en 1965 Martin Hellman  Nació en 1945, se graduó con doctorado de Stanford en 1969 Ralph Merkle  se graduó con doctorado de Stanford en 1977

67 Rompecabezas de Merkle Problemas que se pueden resolver con algo de esfuerzo  Encontrar una llave de un cifrador simétrico de n bits (ej. 32)  Rompecabezas(p) = E(p, “mensaje”)

68 Rompecabezas de Merkle Alice  prepara 2 32 rompecabezas  Para cada rompecabezas elige una llave aleatoria p i (i=1......2 32 )  Rompecabezas i = E(p i, “Rompecabezas # r i ” || k i )  Enviar rompecabezas 1 a 2 32 Bob  Elige un rompecabezas y lo resuelve.  Obtiene (r j, k j )  Envía r j a Alice Alice  Usa k j como llave común Alice: Preparar n rompecabezas 2 32 O(n) Bob: Resover un rompecabezas 2 32 O(n) Atacante: ?

69 Envió de mensaje secreto Alice Bob ¿Y la llave?

70 Envió de mensaje secreto Alice Bob ¿Y la llave?

71 Intercambio de mensaje sin intercambio de llave previo Alice Bob Alice Bob Alice Bob

72 Intercambio de mensaje sin intercambio de llave previo En teoría funciona, pero en criptografía....... El último en cifrarse es el primero en descifrarse En criptografía el orden es crucial No funcionó!!!! Pero...... alimentó la inspiración

73 Funciones Bidireccionales  Y = 2*X X = 2/Y Unidireccionales  One way function  Fácil de hacer, pero muy difícil (imposible) de deshacer  Mezclar colores en pinturas  Romper un huevo Aritmética modular

74 Aritmética modular y exponencial 3 x  Podemos resolverla a prueba y error  Si el resultado se incrementa, también la x  Si el resultado es 81 y probamos x=5 → 243, x es muy grande Con aritmética normal podemos saber si nos estamos acercando o alejando En aritmética modular NO! 3 x mod 7 x 1 2 3 4 5 6 3 x 3 9 27 81 243 729 3 x mod7 3 2 6 4 5 1

75 Hellman-Diffie-Merckle g x mod p p y g conococido por ambos g a mod pg b mod p (g b mod p) a mod p(g a mod p) b mod p g ba mod pg ab mod p En la práctica g es 2, 5 ó 7. a, b y p necesitan ser grandes

76 Hellman-Diffie-Merckle g a mod p g b mod p (g b mod p) a mod p(g a mod p) b mod p g ba mod pg ab mod p En la práctica g es 2, 5 ó 7. a, b y p necesitan ser grandes ?

77 Intercambio de llaves Fue un paso gigante Pero el resultado tenía sus incovenientes  Alice y Bob tiene que estar “en línea” simultáneamente para intercambiar mensajes Siguieron trabajando En 1975 Diffie concibió el cifrador con llave asimétrica Una para cifrar y otra para descifrar

78 Llave pública Dos llaves Una de las llaves debe ser hecha pública Otra privada, sólo conocida por el dueño No se necesita un canal seguro para las llaves Más costoso en poder de cómputo 10,000 veces más lento que llave privada (simétrica)

79 Funcionamiento de llave pública Este es el texto original del mensaje en claro #$”%/&% *?¿[])(&”# []=()/&%¡ Este es el texto original del mensaje en claro CifrarDescifrar PrivadaPública Ambas llaves son de la misma “persona” El proceso puede ser al revés

80 Confidencialidad Alice Bob

81 Autenticación Alice Bob

82 Características de llave pública Diffie y Hellman Llave privada es impráctica para aplicaciones actuales, demasiadas llaves P = D(K PRIV, E(K PUB, P)) P = D(K PUB, E(K PRIV, P)) Cualquiera puede mandar un mensaje a alguien, pero solo el receptor puede descifrarlo Muchas menos llaves que llave privada Basados en problemas difíciles

83 Más candados....... Llave pública Llave privada

84 Invención del concepto ….. Pero no la implementación El concepto de llave asimétrica fue revolucionario Diffie publicó su idea en 1975 y muchos científicos se unieron a la causa.... Pero en más de una año nadie había encontrado la famosa función “unidireccional”  Fácil en un sentido y muy difícil en reversa  Pero fácil en reversa si se tiene alguna información secreta (llave privada)

85 Rivest-Shamir-Adleman Rivest, Shamir y Adleman Shamir, Rivest y Adleman

86 RSA Inventado por Ron Rivest, Adi Shamir y Leonard Adleman Hecho público en 1978 Es el algoritmo más usado en llave pública Utilización del concepto de “one way function”  Fácil de hacer en un sentido, casi imposible de hacer en el sentido inverso  Elegir dos primos muy grandes p y q Calcular N = p*q Si m es de 100 cifras se necesitan 10 50 operaciones para factorizar n p y q llave privada N llave pública

87 ¿p y q dado N? “Confía en el tiempo, que suele dar dulces salidas a muchas amargas dificultades” Miguel de Cervantes Saavedra N por lo menos es 10 308 1995. Pentium 100MHz 8MB RAM  50 años para factorizar 10 130  Con 100,000,000 de estas computadoras 15 segundos Procesadores cuánticos  Lectura: “15 = 3*5 en la mitad del tiempo”

88 RSA Elección de dos número primos secretos y grandes p y q Llave pública N = pq Llave privada d  d*e = 1 mod (p-1)(q-1)  Teorema de congruencia lineal  d se calcula por medio de algoritmo de Euclides C = P e mod n P = C d mod n

89 Teorema de congruencia lineal ax ≡ b mod n Solución para x ↔ b es divisible por el Máximo Común Divisor gcd(a,n) Solucionado por el algoritmo de Euclides para encontrar primos relativos

90 Ejemplo RSA Alice elige dos números primos muy grandes y secretos  p = 17  q = 11 Alice genera N = pq = 187 y elige otro número  N = 187  e = 7  e y (p-1)*(q-1) deben ser primos relativos Alice publica N y e (su llave pública) C = P e mod n

91 Ejemplo RSA Bob quiere enviar mensaje 'x'  P = 88 C = 88 7 mod 187 = 11 88 7 mod 187 = (88 4 mod 187)(88 2 mod 187)(88 1 mod 187) Exponencial con aritmética modular es función unidireccional Se envía el mensaje cifrado (11) Alice recibe 11

92 Ejemplo RSA Alice recibe 11 Calcula d usando algoritmo de Euclides  e*d = 1 mod (p-1)(q-1)  7*d = 1 mod 16*10  7*d = 1 mod 160  7*d = 161  d = 23 P = C d mod n  P = 11 23 mod 187  P = 88 → 'x'

93 Comparación PRIVADA  1 llave  Llave debe mantenerse secreta  La más usada en criptografía para mantener datos secretos e integridad  La distribución de la llave debe ser por otro medio  Rápida PUBLICA  2 llaves  Una secreta y otra puede ser pública  Aplicada en intercambio de llaves y autenticación  Distribución libre  Lenta (10,000 veces más lenta que llave privada)

94 Intercambio de llaves K llave a intercambiar S Sender, R Receiver S envía C S = E(K PRIV-S, K) a R  En R D(K PUB-S, C S ) y obtiene K  Cualquiera que oiga y tenga K PUB-S puede..... S envía E(K PUB-R, K) a R  Solamente R puede descifrar y obtener K  Problema R no puede estar seguro de que viene de S

95 Intercambio de llaves

96 “Digest” Algoritmos de hashing SHA-1, SHA-2, SHA-3  Secure Hash Algorithm  Desarrollado por NIST  Entrada de cualquier tamaño (archivo)  Salida 160 bits MD2, MD4, MD5  MD5 esarrollado por Ronald Rivest  Liberado en 1991  Genera una salida de 128 bits

97 Firmas digitales Emisor  Crea un “digest” dado el mensaje  Cifra el digest usando la llave privada del emisor  Envía el mensaje en texto en claro y el digest cifrado Receptor  Descifra el digest recibido con la llave pública del emisor  Crea otro digest con el mensaje en claro  Compara ambos para ver si el mensaje es válido

98 Firmas digitales Asegura que el mensaje  Viene del emisor establecido  Y el mensaje no cambió en el camino  No repudio e integridad  No asegura confidencialidad Tipos  HMAC (Hashed Message Authentication Code)  DSA (Digital Signature Algorithm)  DSS (Digital Signature Standard) Usada por el gobierno de EEUU

99 Certificados Digitales AUTOESTUDIO


Descargar ppt "Criptografía Kρύπτω (kryptos) – Oculto Escritura secreta No se oculta el mensaje Cifrar  Transcribir en guarismos, letras o símbolos, de acuerdo con una."

Presentaciones similares


Anuncios Google