Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Introducción a la Criptografía
Reinaldo N. Mayol Arnao 19/09/2018 Reinaldo Mayol Arnao Prof. Reinaldo Mayol Arnao
2
Esquema Básico de Criptografía
P= D (C) K C= E (P) K Texto Plano: Texto sin ser modificado (P) Texto Cifrado: Texto Plano luego de haber sido modificado (C) E: Algoritmo de cifrado o modificación. K: Llave que modula a los algoritmos de Cifrado o Descifrado. Es común utilizar también la palabra clave, sin embargo en este curso dejaremos esta última para referirnos a “passwords” o contraseñas. D: Algoritmo de Descifrado. Todo criptosistema ha de cumplir la siguiente condición: Dk(Ek(m)) = m LA PALABRA ENCRIPTACIÓN NO EXISTE EN CASTELLANO. 19/09/2018 Reinaldo Mayol Arnao Prof. Reinaldo Mayol Arnao
3
Clasificación de los sistemas Criptográficos
Criptografía Clasificación de los sistemas Criptográficos Sustitución Transposición Según el Tipo de Operación Una sola clave Mas de una Número de llaves Utilizadas Bloques Flujo Formas de Procesar el texto plano 19/09/2018 Reinaldo Mayol Arnao Prof. Reinaldo Mayol Arnao
4
A veces el tamaño si importa
Criptografía A veces el tamaño si importa Tamaño de la Llave(bits) Número de Llaves posibles Tiempo de descifrado ( a 106 Operaciones /µs) 32 232 = 4.3 x 109 2.15 milliseconds 56 256 = 7.2 x 1016 10 hours 128 2128 = 3.4 x 1038 5.4 x 1018 years 168 2168 = 3.7 x 1050 5.9 x 1030 years Conclusiones: Cuando se utilizan operaciones sencillas y básicas como las mostradas hasta este momento, en las cuales parte de la fortaleza del algoritmo descansa en el tamaño de la llave, este último factor es determinante para que el algoritmo no sea “ roto” por simple fuerza bruta ( búsqueda exhaustiva de las posible clave en el universo de las mismas). RECUERDE PARA FUTURAS DISCUSIONES ESTA TABLA, EN ESPECIAL LOS NÚMEROS 56 Y 128. Llaves Débiles En la inmensa mayoría de los casos los conjuntos M y C definidos anteriormente Pertenecen al mismo universo. Por esta razón puede darse la posibilidad de que exista alguna llave tal que Ek(M) = M. ES DECIR EL TEXTO NO ES CIFRABLE.!!!!! También puede darse el caso de que ciertas llaves concretas generen textos cifrados de poca calidad. Una posibilidad bastante común en ciertos algoritmos es que algunas llaves tengan la siguiente propiedad: Ek(Ek(M)) = M Estas circunstancias podrían llegar a simplificar enormemente un intento de violar nuestro sistema. Normalmente en un buen criptosistema la cantidad de llaves débiles tiende a 0. Es necesario vigilar esta condición si se realiza un sistema criptográfico propio. 19/09/2018 Reinaldo Mayol Arnao Prof. Reinaldo Mayol Arnao
5
Criptografía de Clave Privada (Simétrica)
19/09/2018 Reinaldo Mayol Arnao Prof. Reinaldo Mayol Arnao
6
¿Qué significa “ cifrado de clave privada o Simétrico?
Criptografía ¿Qué significa “ cifrado de clave privada o Simétrico? Si se utiliza una misma clave para cifrar y descifrar se habla de Cifrado Simétrico o de Clave Privada Si se utilizan 2 llaves diferentes; una para cifrar y otra para descifrar se habla de Cifrado Asimétrico o de Clave Pública 19/09/2018 Reinaldo Mayol Arnao Prof. Reinaldo Mayol Arnao
7
Cifrado Simétrico Criptografía
La característica fundamental es que se utiliza la misma clave para cifrar que para descifrar. Note las implicaciones que esto tiene para la confidencialidad de la clave. Existe algún mecanismo para garantizar la autenticidad de la clave? 19/09/2018 Reinaldo Mayol Arnao Prof. Reinaldo Mayol Arnao
8
Criptografía Intercambio de Llaves Para que el Cifrado Simétrico funcione ambas partes tienen que conocer la llave: A puede elegir una llave y entregarla físicamente a B. Un tercero puede elegir la llave y entregarla físicamente a A y B Si anteriormente A y B han intercambiado una llave podrían usarla para cifrar una nueva llave y enviarla por la red. Si A y B poseen una conexión cifrada a C podrían intercambiar llaves con C usando la conexión C funciona como un distribuidor de llaves. Pero habría que garantizar la autenticidad de C, lo que de momento parece imposible. Note también que 19/09/2018 Reinaldo Mayol Arnao Prof. Reinaldo Mayol Arnao
9
Número de llaves necesarias
Criptografía Número de llaves necesarias 103 104 105 106 107 108 109 Número de llaves Número de puntos finales (Aplicaciones) Note que el número de llaves se puede volver inmanejable. Reinaldo Mayol Arnao Prof. Reinaldo Mayol Arnao
10
Criptografía Cifrado de Flujo En le cifrado de flujo las operaciones de cifrado se hacen bit a bit ( o byte a byte). Un ejemplo clásico de cifrado de flujo lo constituyen los esquemas de Vegenere vistos anteriormente. DISCUSIÓN: ¿ Que impacto tiene cifrar bit a bit en la posibilidad de aumentar la dispersión, tal y como vimos en la sección 1? 19/09/2018 Reinaldo Mayol Arnao Prof. Reinaldo Mayol Arnao
11
Criptografía Cifrado de Bloques Cifrar por bloque significa tomar un conjunto de bits del mensaje, por regla general de tamaño fijo y aplicar sobre ellos las operaciones criptográficas del algoritmo. Luego se debe repetir la operación hasta consumir todo el mensaje. En teoría la confusión creada por simple sustitución sería suficiente para lograr criptogramas seguros si se tuviera una tabla de sustitución diferente para cada llave con todos los textos posibles. Obviamente cifrar por sustitución simplemente es ineficiente. 19/09/2018 Reinaldo Mayol Arnao Prof. Reinaldo Mayol Arnao
12
Criptografía Cifrado de Bloques Para resolver esta situación se utiliza una combinación de operaciones de sustitución y transposición. Esta estructura se conoce con el nombre de Red de Sustitución-Permutación. La red mas conocida es la Red de Feistel 19/09/2018 Reinaldo Mayol Arnao Prof. Reinaldo Mayol Arnao
13
El Sistema DES completo
Criptografía El Sistema DES completo 13 64 bits de texto plano ……. 64 bits de texto cifrado Permutación Inicial Ronda 1 Ronda 16 Permutación Final Intercambio (L↔R) Permutación Selectiva EP1x 64 bits de la clave Selectiva EP2 Rotación Izq. K1 K16 56 bits 48 bits ¿Ya sabe porque los algoritmos no son simétricos? ( es decir por qué un bit en, por ejemplo la ronda 8 le queda mas para salir que el camino recorrido al entrar) Reinaldo N. Mayol Arnao 19/09/2018 Reinaldo Mayol Arnao Prof. Reinaldo Mayol Arnao
14
Lentitud de aplicaciones por software
Criptografía Debilidades de DES El tamaño de la clave (56 bits) es insuficiente para detener un ataque de fuerza bruta (con un poco de suerte y bajo algunas condiciones) con las técnicas actuales. La estructura interna de las cajas S no ha sido publicada hasta la actualidad, por lo que se sospecha podrían contener algún tipo de “sorpresa” incluida por sus diseñadores Lentitud de aplicaciones por software A mediados de julio de 1998 EFF (Electronic Frontier Foundation)fabricó y probo con éxito una máquina capaz de descifrar un mensaje DES en menos de tres días, explotando la debilidad de algoritmo por el tamaño de las claves utilizadas. “Curiosamente, pocas semanas antes, un alto cargo de la NSA había declarado que dicho algoritmo seguía siendo seguro, y que descifrar un mensaje resultaba aún excesivamente costoso, incluso para organizaciones gubernamentales. DES-Cracker costó menos de euros.” REF : Manuel J. Lucena López Criptografía y Seguridad en Computadores A pesar de su vulnerabilidad por el tamaño de las claves el algoritmo no ha sido roto en mas de 30 años por ninguna otra razón. Reinaldo N. Mayol Arnao 19/09/2018 Reinaldo Mayol Arnao Prof. Reinaldo Mayol Arnao
15
Criptografía DES “Recargado” A pesar de su vulnerabilidad por el tamaño de las claves, el algoritmo no ha sido roto en mas de 30 años por ninguna otra razón. 19/09/2018 Reinaldo Mayol Arnao Prof. Reinaldo Mayol Arnao
16
Triple DES ó 3DES C P K1 K2 K3 E D
Criptografía Triple DES ó 3DES Obviamente una forma de vencer al ataque de punto medio es colocar en cadena 3 etapas DES con claves diferentes, pero esto hace que el trabajo para manejar las claves, ahora de 56X3=168 bits se vuelva complicado Una solución es colocar tres etapas DES pero sólo utilizar 2 claves diferentes de forma que: C=Ek1[Dk2[Ek1[P]]] C P K1 K2 K3 E D ¿Qué pasa si K1=K2? De esta forma también se garantiza compatibilidad con sistemas DES tradicionales ya que si k1=k2 entonces: C=Ek1[Dk2[Ek1[P]]]=Ek1[P] 19/09/2018 Reinaldo Mayol Arnao Prof. Reinaldo Mayol Arnao
17
Criptografía 3DES 3DES con dos claves es una alternativa relativamente popular al DES y ha sido adoptada para el uso de las normas de manejo de claves ANS X9.17 y ISO 8732. Subllaves independientes: Emplea 16 sub-llaves diferentes para cada una de las 16 rondas. Puesto que estas subclaves son de 48 bits, la clave resultante tendría 768 bits en total. Sin embargo, empleando criptoanálisis diferencial esta variante podría ser rota con 261 textos claros escogidos, por lo que en la práctica no es superior a DES. 19/09/2018 Reinaldo Mayol Arnao Prof. Reinaldo Mayol Arnao
18
AES: Rijndael Criptografía 19/09/2018 Reinaldo Mayol Arnao
Prof. Reinaldo Mayol Arnao
19
Rijndael Mecanismo de cifrado por bloques de 128, 192 y 256 bits
Criptografía Rijndael Mecanismo de cifrado por bloques de 128, 192 y 256 bits Utiliza claves simétricas de igual tamaño Utiliza una serie de r etapas Las primeras r-1 etapas son similares y utilizan una serie de operaciones especiales La última etapa realiza sólo un subconjunto de las operaciones de las etapas anteriores A pesar de la sencillez de 3DES y su fortaleza criptográfica, sigue siendo lento en implementaciones por software. Por esa razón en 1997 se realizó un concurso para el desarrollo de un nuevo estándar de cifrado avanzado: AES. El proceso de selección y evaluación concluyó en el El algoritmo seleccionado fue Rijndale, desarrollado y presentado por dos criptógrafos belgas: Joan Daemen y Vicente Rijmaen. AES tiene un tamaño de bloque fijo de 128 bits y tamaños de llave de 128, 192 ó 256 bits, mientras que Rijndael puede ser especificado por una clave que sea múltiplo de 32 bits, con un mínimo de 128 bits y un máximo de 256 bits 19/09/2018 Reinaldo Mayol Arnao Prof. Reinaldo Mayol Arnao
20
Funcionamiento de Rijndael ( 128bits)
Criptografía Funcionamiento de Rijndael ( 128bits) Texto Plano Etapa Inicial AddRoundKey w[0,3] Etapas 1-9 ByteSub ShiftRow MixCol AddRoundKey Byte Sub W[4,7] (4 palabras por etapa) Se ha representado el caso de bloques de 128 bits, lo que impica claves de ese tamaño y 10 etapas de cifrado Las transformaciones son efectuadas a una matriz que contiene cada bloque de los datos de entrada. La clave suministrada se expanda a un vector de 44 palabras ( en el caso de 128 bits). Cada palabra Wi tiene 32 bits. En cada etapa se utilizan 4 palabras (4x32). Etapa Final AddRoundKey ByteSub ShiftRow w[40,43] 19/09/2018 Texto Cifrado Reinaldo Mayol Arnao Prof. Reinaldo Mayol Arnao
21
¿Cómo funciona Rijndael?
Criptografía ¿Cómo funciona Rijndael? r-1 Etapas Byte Sub: Sustitución de bytes ShiftRow: Desplazamiento de filas MixCol: Multiplicación de columnas AddRoundKey: Xor con la llave Etapa r Byte Sub ShiftRow AddRoundKey Sustitución de Bytes (byte sub) Se utiliza una tabla, denominada caja S4, para realizar una sustitución byte a byte 19/09/2018 Reinaldo Mayol Arnao Prof. Reinaldo Mayol Arnao
22
Cifrado de Rijndael Sustituciones Desplazamiento de filas
Criptografía Cifrado de Rijndael Sustituciones Desplazamiento de filas Multiplicación de Columnas ¿Cuál es la estructura de las S4? XOR con la Clave 19/09/2018 Reinaldo Mayol Arnao Prof. Reinaldo Mayol Arnao
23
Criptografía Rijndael En cada ronda sólo la etapa “AddRoundKey” depende de la clave. Por lo tanto cada etapa puede ser vista como un proceso de desorden de bits seguido por un XOR con la clave. El algoritmo comienza y termina con etapas “Add RoundKey” 19/09/2018 Reinaldo Mayol Arnao Prof. Reinaldo Mayol Arnao
24
Otros Algoritmos de Cifrado Simétrico
Criptografía Otros Algoritmos de Cifrado Simétrico Algoritmo K Bloque Etapas Utilización IDEA 128 64 8 PGP Blowfish Hasta 448 16 Cifrado x Software RC5 Hasta 2048 Hasta 255 19/09/2018 Reinaldo Mayol Arnao Prof. Reinaldo Mayol Arnao
25
Criptografía Hasta este momento… Quien no tenga la clave (K) no podrá leer el mensaje ( a no ser que se enfrente al problema del criptoanálisis). Tenemos CONFIDENCIALIDAD. Si confiamos que sólo los extremos de una conversación conocen K y un mensaje puede ser CORRECTAMENTE descifrado podemos confiar que los extremos son los correctos. Casi tenemos AUTENTICIDAD DE LOS EXTREMOS ¿ Como sabemos que sólo los extremos tienen las claves? ¿ Qué significa “ correctamente” ? Podemos autenticar los bordes de esta forma tan sencilla, pero ¿y los datos? 19/09/2018 Reinaldo Mayol Arnao Prof. Reinaldo Mayol Arnao
26
Pero… ¿Sabemos si el texto es integro al recibirlo? NO.
Criptografía Pero… ¿Sabemos si el texto es integro al recibirlo? NO. ¿Qué hacemos con las claves? 19/09/2018 Reinaldo Mayol Arnao Prof. Reinaldo Mayol Arnao
27
Criptografía Asimétrica
19/09/2018 Parte 1 Criptografía Asimétrica 19/09/2018 Reinaldo Mayol Arnao
28
Esquema de Funcionamiento
Criptografía 19/09/2018 Esquema de Funcionamiento 19/09/2018 Reinaldo Mayol Arnao
29
Criptografía 19/09/2018 Reglas de Juego El sistema funciona con un par de llaves, una para cifrar y otra para descifrar1 Una clave es secreta y nunca es transmitida (Kp) La otra clave es pública y puede ser difundida en la red sin peligro (Ku) Si un documento es cifrado con una clave sólo puede ser descifrado con su pareja Si un documento puede ser descifrado satisfactoriamente2 con una clave sólo puede haber sido cifrado con su pareja 1- De esa condición viene el nombre de Criptografía Asimétrica o de Clave Pública. 2- Volvemos a la discusión de que significa el término “ satisfactoriamente” . Si lo que se ha enviado es , por ejemplo, una imagen posiblemente sea sencillo responder por la correctitud del proceso pero si por el contrario lo que se ha enviado es un programa la tarea no es tan obvia. Note que no hablamos de con que llave cifrar o descifrar. 19/09/2018 Reinaldo Mayol Arnao
30
Criptografía 19/09/2018 Conclusiones Si se cifra el mensaje con la Kp del Tx podría estimarse la autenticidad, pero no la confidencialidad. Si se cifra el mensaje con la Ku del Rx podría garantizarse la confidencialidad pero no la autenticidad. Ninguno de los esquemas garantiza la integridad de los datos Tx. Sin embargo, pronto abandonaremos este esquema por ineficiente. Podemos GENERALIZAR diciendo que para garantizar la confidencialidad hay que descifrar con una clave que permanezca privada. 19/09/2018 Reinaldo Mayol Arnao
31
Esquema para garantizar (por el momento) confidencialidad
Texto Cifrado (C) Texto Plano ( P) Kp destino Ku destino C=EKuRx (P) P=DKpRx(C) 19/09/2018 Reinaldo Mayol Arnao
32
Hasta Ahora… Tenemos un mecanismo para mantener las claves en ambientes distribuidos divulgando sólo una parte de la misma ( Ku). Si el destino no ha divulgado su Kp el remitente puede estar seguro que nadie más puede leer y entender el mensaje 19/09/2018 Reinaldo Mayol Arnao
33
Pero… Seguimos sin integridad.
Criptografía 19/09/2018 Pero… Seguimos sin integridad. Pareciera que si logramos autenticidad no podemos lograr confidencialidad. Ya sabemos que RSA es ineficiente para valores grandes de M.1 1-En especial porque E debe ser escogido suficientemente grande. 19/09/2018 Reinaldo Mayol Arnao
34
Parte 2 Funciones Resumen 19/09/2018 Reinaldo Mayol Arnao
35
Funciones Resumen (Hash)
Una función hash toma una entrada de longitud variable a una salida de longitud fija (96, 128 o 160 bits) Requisitos: No puede deducir la entrada de la salida. No puede generar una salida dada sin tener la misma entrada. No puede encontrar dos entradas que produzcan la misma salida. Cualquier cambio en la entrada cambia la salida. 19/09/2018 Reinaldo Mayol Arnao
36
Esquema del uso de las funciones hash
Criptografía 19/09/2018 Esquema del uso de las funciones hash Usando Criptografía Simétrica Usando Criptografía Asimétrica K Privada Tx ¿Son iguales? Ku Tx En la primera parte de la lámina se haya el resumen de un mensaje y se cifra con la clave (única y privada). El recepto recibe el mensaje calcula el resumen del texto recibido y lo compara con el resumen recibido y que fue calculado en el Tx antes de que el mensaje fuese enviado. El segundo caso es igual, pero utilizando para cifrar el resumen la Kp del Tx por lo que el Rx descifrará con la Ku. ¿Qué significa que ambos resúmenes sean iguales? REF: la imagen ha sido descargada desde el sitio del libro Cryptography and Network Security de William Stalling. Estas imágenes son de libre distribución. 19/09/2018 Reinaldo Mayol Arnao
37
¿Qué significa que ambos resúmenes sean iguales en el Rx?
Criptografía 19/09/2018 ¿Qué significa que ambos resúmenes sean iguales en el Rx? Mensaje en el Tx Hash Mensaje K En este momento el mensaje no ha salido “al mundo hostil”. sólo el verdadero Tx tiene la verdadera K. El mensaje no ha sido modificado. Mensaje Rx HashRx Hash Hash Calculado K 1- De lo contrario no hubiese podido tener la K para cifrar el hash. 2-Si el mensaje hubiese cambiado en el paso entre Tx y Rx Note que el sistema funciona lo mismo si el mecanismo de cifrado del hash es simétrico que si es asimétrico. Incluso como el hash es un número no habría que preocuparse por la eficiencia computacional del algoritmo de cifrado. Si ambos hash son iguales significa que: 1- El Rx es quien dice ser (por ahora) 2-El mensaje no ha cambiado 19/09/2018 Reinaldo Mayol Arnao
38
¿Cómo lograr resúmenes Únicos?
Criptografía 19/09/2018 ¿Cómo lograr resúmenes Únicos? Imagine que un atacante logre conseguir 2 mensajes diferentes que den el mismo hash. Podría interceptar el mensaje, cambiarlo, volver a ensamblar la estructura mensaje+hash y transmitirlo. ¡El Rx no tendrá forma de darse cuenta de que el mensaje que ha recibido es falso ! Si recuerda la paradoja del cumpleaños pareciera que ese es un camino adecuado. hash= resumen 19/09/2018 Reinaldo Mayol Arnao
39
SHA-1 vs MD5 Criterio MD5 SHA-1 Longitud de Salida 128 b 160 b
Criptografía 19/09/2018 SHA-1 vs MD5 Criterio MD5 SHA-1 Longitud de Salida 128 b 160 b Unidad de procesamiento 512 b Tamaño máximo del mensaje infinito 264-1 b Número de pasos 64 80 Endianness Big-Endian Little-Endian El sistema big-endian adoptado por Motorola, Sun ( de donde posiblemente proviene el hecho de que los diseñadores de SHA) entre otros, consiste en representar los bytes en el orden "natural": así el valor hexadecimal 0x4A3B2C1D se codificaría en memoria en la secuencia {4A, 3B, 2C, 1D}. En el sistema little-endian adoptado por Intel, entre otros, el mismo valor se codificaría como {1D, 2C, 3B, 4A}. ¿Existió SHA-0? Sí, el algoritmo original llevaba ese nombre pero fue sustituido en 1995 por la versión 1 que corregía algunas debilidades del mismo. Existen cuatro variantes más que se han publicado desde 1995 cuyas diferencias se deben sobre todo, en los rangos de salida incrementados: SHA-224, SHA-256, SHA-384, y SHA-512 (llamándose SHA-2 a todos ellos). MD5 y SHA no son las únicas funciones hash existentes, aunque si las mas utilizadas. Tiger y Whirlpool son ejemplos de funciones que incluso han sido señaladas como posibles sustitutas de SHA. Ambas funciones producen hashes mas grandes ( 512 y192 bits respectivamente), por lo que en teoría son mas resistentes a ataques que las actuales. Sin embargo, hay razones para sospechar que no veremos en el futuro implementaciones masivas de ambos protocolos. 19/09/2018 Reinaldo Mayol Arnao
40
No son las únicas… MD5 y SHA no son las únicas funciones hash existentes, aunque si las mas utilizadas. Tiger y Whirlpool son ejemplos de funciones que incluso han sido señaladas como posibles sustitutas de SHA. Ambas funciones producen hashes mas grandes ( 512 y 192 bits respectivamente), por lo que en teoría son mas resistentes. Sin embargo, hay razones para sospechar que no veremos en el futuro implementaciones masivas de ambos protocolos. 19/09/2018 Reinaldo Mayol Arnao
41
Parte 3 Firmas Digitales 19/09/2018 Reinaldo Mayol Arnao
42
Firmas Digitales Documento Digitalmente Firmado FIRMA DIGITAL cifrado
Criptografía 19/09/2018 Firmas Digitales FIRMA DIGITAL Documento Digitalmente Firmado cifrado Resumen del mensaje cifrado con la Kp del Remitente Note que es muy común utilizar el término “ yo tengo firma digital” . Ahora sabemos que es incorrecta la expresión. Lo correcto es decir “ yo tengo una clave privada, con la que puedo firmar los documentos, los programas, mensajes, otras llaves o cualquier conjunto de bits”. 19/09/2018 Reinaldo Mayol Arnao
43
Criptografía 19/09/2018 Hasta aquí Si firmamos digitalmente un documento y luego el Rx verifica la firma podrá saber: Si el Tx es quien dice ser pues de lo contrario no hubiese podido cifrar el hash con su Kp. Si el mensaje no ha sido cambiado, pues de lo contrario el hash que se trasmitió ( y que fue calculado antes de salir) no podría ser igual que el que se calcula en el receptor. 1 Podríamos fácilmente extender la seguridad al resto del mensaje cifrándolo también( ahora con la Ku de destino) 1- Ya sabemos que, al menos teóricamente podríamos tener dos mensajes M1 y M2 diferentes y con idéntico hash. En la práctica es mucho mas difícil de hacer que de decir, pues tendríamos que conseguir, además, que los mensajes tuviesen sentido para el receptor de lo contrario este los desecharía inmediatamente y el ataque habrá servido de poco. 19/09/2018 Reinaldo Mayol Arnao
44
Haciendo seguro todo el sistema
Criptografía 19/09/2018 Haciendo seguro todo el sistema Hash Hash Calculado Mensaje en el Tx Mensaje Plano Rx ¿Son iguales? E D Hash EKptx K K Aquí hemos incorporado el cifrado del mensaje con una clave que hemos nombrado K para acentuar su necesario carácter privado. Mensaje Cifrado H Mensaje Cifrado HashRx D Ku tx 19/09/2018 Reinaldo Mayol Arnao
45
Mezclando ambos mundos
Criptografía 19/09/2018 Mezclando ambos mundos Podríamos utilizar la criptografía simétrica para cifrar los mensajes con una clave K. Esto resolvería: 1- Confidencialidad 2- Eficiencia del mecanismo de cifrado. Utilizar criptografía asimétrica para firmar digitalmente los mensajes, al fin y al cabo el hash es un número que cumple que 0<hash<n. Con esto tenemos: 3-Integridad y 4-Autenticidad. PERO ¿Y LA CLAVE K ? ¿Cómo la pasamos entre un extremo y otro de la conexión? Note que hemos mezclado al final todo de lo que hemos venido hablando en este curso. 19/09/2018 Reinaldo Mayol Arnao
46
Haciendo seguro todo el sistema, de nuevo
Criptografía 19/09/2018 Haciendo seguro todo el sistema, de nuevo Reinaldo Mayol Arnao José y Marcos intercambia de forma segura una(s) llave(s) de sesión K y con ella cifran los mensajes Marcos José Mensaje Cifrado HashRx Hash Hash Calculado D Ku tx D K Mensaje Plano Rx ¿Son iguales? Mensaje en el Tx Dos nuevos términos importantes aparecen ahora: Intercambio de llaves y llave de Sesión. Efectivamente no se trata de una llave que los extremos conoce “ a priori” sino que generan e intercambian en cada conexión. A efectos de sencillez hablamos aquí de una sola llave pero en realidad se trata de 2 llaves ( una en cada sentido). En secreto está en que esas llaves sólo puedan ser utilizadas por los extremos correctos. El desconocimiento de lo que sigue es la causa mas sencilla de hacking de conexiones “ supuestamente seguras”. E Hash EKptx K Mensaje Cifrado H 19/09/2018
47
Algoritmo para el intercambio de llaves: Deffie-Hellman
Criptografía 19/09/2018 Algoritmo para el intercambio de llaves: Deffie-Hellman J y M seleccionan un grupo multiplicativo (con inverso) p y un generador de dicho primo, ambos valores públicos. J genera un número aleatorio a y envía a M a mod p M genera un número aleatorio b y envía a J b mod p En el extremo de Marcos: M calcula (a)b mod p = ab mod p y luego destruye b En el extremo de José: J calcula (b)a mod p = ba mod p y luego destruye a El secreto compartido por J y M es el valor ab mod p=K Con K se cifrarán los mensajes entre José y Marcos. Para este ejemplo supondremos que los extremos de la conexión son J y M ( José y Marcos). Si un extraño quiere saber las claves lo mas que puede “ oir” es αa mod p y αb mod p ( recuerde que esos son números!!). Pero lo que realmente necesita saber es a y b, sin embargo para lograrlo nuevamente tendría que enfrentarse a un logaritmo discreto. CURIOSIDADES En el año 1969 el Government Communications Headquarters(GCHQ) Gran Bretaña comenzó a trabajar en la idea de poder distribuir claves a través de una cifrado asimétrico. En 1973, el matemático Clifford Cocks llegará a la misma conclusión que los creadores de DH. Desgraciadamente este trabajo fue considerado como alto secreto por el gobierno británico por lo que su contenido no se hace público ni se patenta como invento, algo que sí hacen Diffie y Hellman en 1976. 19/09/2018 Reinaldo Mayol Arnao
48
Infraestructura de Clave Pública (PKI)
Parte 4 Infraestructura de Clave Pública (PKI) 19/09/2018 Reinaldo Mayol Arnao
49
¿Por qué? Existe un mecanismo criptográfico para obtener los objetivos fundamentales de la seguridad... Pero es necesario establecer un mecanismo para distribuir de manera segura las claves. No podemos tener las claves de todos Las claves cambian Hace falta que alguien certifique quien es quien Hace falta que alguien establezca para que se puede usar una clave 19/09/2018 Reinaldo Mayol Arnao
50
Criptografía 19/09/2018 ¿Qué es una PKI? Una PKI es una combinación de hardware y software, políticas, normas y procedimientos. El objetivo fundamental es brindar el soporte para la ejecución de los procedimientos criptográficos estudiados. Una PKI ofrece las condiciones para verificar la autenticidad de las Ku de los usuarios1 y regular su uso . Se basa en la existencia de Autoridades Certificadoras (CA) establecidas en una configuración jerárquica2. De las siglas en idioma inglés de los términos Infraestructura de Clave Pública (Public Key Infrastructure). 1- Usuarios puede ser personas, programas, procesos, etc. 2-¿ Recuerda la estructura del DNS? 19/09/2018 Reinaldo Mayol Arnao
51
Criptografía 19/09/2018 ¿Qué es una CA? Entidad encargada de emitir y revocar certificados digitales. La Autoridad de Certificación es un tipo particular de Prestador de Servicios de Certificación que legitima ante los terceros que confían en sus certificados la relación entre la identidad de un usuario y su clave pública. 19/09/2018 Reinaldo Mayol Arnao
52
¿Qué contiene un certificado?
Identificación del suscriptor nombrado en el certificado. El nombre, la dirección y el lugar donde realiza actividades la entidad de certificación. La clave pública del usuario. La metodología para verificar la firma digital del suscriptor impuesta en el mensaje de datos. El número de serie del certificado. Fecha de emisión y expiración del certificado. 19/09/2018 Reinaldo Mayol Arnao
53
¿Cómo se obtiene un certificado?
Criptografía 19/09/2018 ¿Cómo se obtiene un certificado? Note que la pareja de llaves ( Ku, Kp) es generada por el USUARIO, por regla general por el browser con que se conecta para realizar la solicitud. En la figura aparece un nuevo miembro de la estructura PKI, la autoridad de Registro (RA). Una RA es un proxy. Un usuario NUNCA se conecta directamente a la CA ( la cual de manera regular se encuentra incluso aislada de la red). 19/09/2018 Reinaldo Mayol Arnao
54
Autoridad de Registro La función de las Autoridades de Registro es controlar la generación de certificados para los miembros de una entidad. Son las RA las que se encargan de la verificación de los datos del solicitante. La RA tiene un operador, que una vez verificados los datos del solicitante firma la solicitud. La solicitud se envía firmada a la CA, donde el operador CA emite el certificado que devuelve a la RA para que el usuario pueda descargarla. 19/09/2018 Reinaldo Mayol Arnao
55
¿Cómo se verifica un Certificado?
Criptografía 19/09/2018 ¿Cómo se verifica un Certificado? El primer paso es tener la Ku ( por supuesto el Certificado) de la CA que ha emitido el certificado, de esta forma verificar la firma del certificado. Verificar parámetros del certificado como propiedad, caducidad, validez, etc. Verificar que las políticas de emisión del certificado sean válidas para el uso que se les pretende dar. Ha visto el mensaje que se muestra. Vamos a divertirnos un poco haciendo caer la seguridad de una conexión. 19/09/2018 Reinaldo Mayol Arnao
56
¿Por qué se puede revocar un certificado?
Criptografía 19/09/2018 ¿Por qué se puede revocar un certificado? La Kp está ( o se sospecha) comprometida El usuario ya no está certificado por esa CA Se sospecha que el certificado de la CA está comprometido La revocación se hace generalmente por medio de Listas de Certificación de Certificados. Las listas de certificación son emitidas por las CA. 19/09/2018 Reinaldo Mayol Arnao
57
X.509v3 19/09/2018 Reinaldo Mayol Arnao
58
X. 509 v3 Incluye una serie de extensiones adicionales para resolver deficiencias de la versión 2: El campo Sujeto no era adecuado para acomodar algunos nombres de usuarios y aplicaciones Existía la necesidad de indicar información de las Políticas de Seguridad Es necesario definir los usos de los certificados Es necesario poder definir diferentes claves usadas por un usuario. 19/09/2018 Reinaldo Mayol Arnao
59
Criptografía 19/09/2018 Extensiones X509 v3 Cada extensión tiene un campo de riesgo que define si la extensión puede ser ignorada o no. Las extensiones se dividen en: Información sobre claves y políticas Atributos de Sujeto y Emisor Limitaciones de la Ruta de Certificación 19/09/2018 Reinaldo Mayol Arnao
60
Pero … A pesar de que le mecanismo funciona, lo cierto es que, de cara al usuario, es un proceso complicado y al que no suelen verle utilidad. El propio desconocimiento por parte de los administradores del sistema hace que el sistema no sea totalmente implementado o se haga se manera incorrecta. Los costos asociados son altos. En nuestros países no hay normas claras para el uso de la certificación digital. 19/09/2018 Reinaldo Mayol Arnao
61
Para saber mas… Track de Seguridad Informática
Postgrado de Seguridad Informática, UPB, Medellín, Colombia Postgrado en TIC, UPB, Medellín, Colombia Y muchos mas… 19/09/2018 Reinaldo Mayol Arnao
62
Fin del Tema Introducción a la Criptografía 19/09/2018
Reinaldo Mayol Arnao
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.