Criptografía y Mecanismos de Seguridad Magíster de Ingeniería en Seguridad de la Información (Santiago) Daniel Montenegro/ Álvaro Toledo Symmtec Consulting. Simulación y modelación matemática y Estadística. [email protected] Facultad de Ingeniería / Santiago / Escuela de Computación e Informática Magíster de Ingeniería en Seguridad de la Información Santiago de Chile - 2019 ASPECTOS ADMINISTRATIVOS Información general o Calificaciones y Ponderaciones o Total: 24 horas pedagógicas. Fecha Horario Break Duración Viernes 14 de Junio de 2019 18:00 a 22:20 20:00 6 horas Sábado 15 de Junio de 2019 08:30 a 18:30 11:00 y 16:00 12 horas Viernes XX de Junio de 2019 18:00 a 22:20 20:00 6 horas Evaluación Nº1 - (50%) • • o Evaluación Nº2 - (50%) • o Todas las clases son presenciales. o La nota mínima de aprobación debe ser igual o superior a 4,0. o El alumno deberá́ cumplir como mínimo con un 70% de asistencia de las horas presenciales que entrega la asignatura (100% = 24 horas). o No existe posibilidad de rendición de pruebas recuperativas, con respecto a las evaluaciones, si una o más de ellas no son rendidas, la calificación resultante para el alumno es igual a 1.0. o Los estudiantes dispondrán de todo el material en forma digital, además de ejercicios e información complementaria. • o Fecha : Entrega, sábado 15 de Junio. Fecha de entrega, viernes XX de junio de 2019. Tipo : Teórica y práctica. Fecha de 2019. Tipo : Entrega, viernes XX de junio. Fecha entrega, viernes XX de junio : Teórica y práctica. Actividad Remedial • Obtenida la calificación final de la asignatura, el estudiante que no alcance la nota mínima (4,0), deberá́ rendir un único examen (30% de la nota final) sobre las materias respectivas de la asignatura, en un plazo no mayor a una semana a contar del término de la última clase. Daniel Montenegro/ Álvaro Toledo - Criptografía y Mecanismos de Seguridad (2019) CONTENIDOS Y BIBLIOGRAFÍA BASE Contenidos de la asignatura o Introducción • Conceptos fundamentales • Confidencialidad, Integridad y Autenticidad. • Terminología y 3 Principios de Kerckhoffs. • Componentes y tipos de criptosistemas. o Criptografía clásica • Introducción a los criptosistemas clásicos • Métodos de cifra mono-alfabética por Sustitución y Permutación. • Métodos de cifra poli-alfabética. o Funciones de Hash, MAC y autenticación • Introducción y propiedades • Funciones de compresión: Merkle-Damgård • Hash • MAC – HMAC – CBC-MAC • Construcciones MAC a partir de Hash • Cifrado & MAC o Criptosistemas de clave Asimétrica o Pública • Introducción al cifrado con clave pública. • Cifrado exponencial con RSA. • Protocolo de Diffie y Hellman para el intercambio de claves. • Cifrado exponencial con El Gamal. o Funciones de autenticación • Autenticación de mensajes con sistemas Simétricos y Asimétricos • Certificados • Firma digital con los algoritmos RSA y El Gamal • Funciones hash para firma digital: MD5 y SHA Bibliografía base [1] Smart, N. (2009). Cryptography: An Introduction (3rd Edition), http://www.cs.bris.ac.uk/~nigel/Crypto_book/ [3] Wang, X., Yu, H., (2005). How to Break MD5 and Other Hash Functions, EuroCrypt 2005, Springer LNCS 3494, 19–35. [2] Katz, J., Lindell, Y., (2007). Introduction to modern Cryptography, Chapman & Hall / CRC Press, Boca Raton. [4] Stevens, M., Lenstra, A., de Weger, B. (2007). Chosen-Prefix Collisions for MD5 and Colliding X.509 Certificates for Different Identities. In: Naor, M. (ed.) EUROCRYPT 2007. LNCS, vol. 4515, pp. 1–22. Springer, Heidelberg Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) INTRODUCCION Del griego, cryptós (oculto), graphé (grafo o escritura). La criptografía es la ciencia que estudia los métodos y procedimientos, mediante algoritmos (matemáticos), para modificar los datos de tal manera que solamente las personas que tengan las llaves adecuadas puedan tener la confidencialidad, integridad y autenticidad de la información. Tres propiedades de la seguridad de la información en el contexto de la criptografía. Propiedad de la información de no ponerse a disposición o ser revelada a individuos, entidades o procesos no autorizados Propiedad de la información relativa a su exactitud y completitud. Propiedad de que una entidad es lo que afirma ser. Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) INTRODUCCION Confidencialidad 1. Un agente (criptoanalista) no puede ver que mensajes son transmitidos, sin embargo puede observar que algo es transmitido. 2. No debe revelarse información acerca del mensaje (a excepción de meta data). Integridad 1. Un agente no puede interferir con la transmisión, dando lugar a modificaciones, en caso de ser recibido un mensaje. Autenticidad 1. Un agente no puede hacer que un mensaje no original, sea aceptado. 2. Un receptor no puede determinar con certeza quién escribió el mensaje. 3. No es posible realizar suplantación. 4. Los mensajes son auténticos. Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) INTRODUCCION Algo de historia… Histieo, el tirano de Mileto y su mensaje oculto en la cabeza rapada del mensajero. (Herodoto). Demarato, rey espartano exiliado en Persia, advierte a sus compatriotas del proyecto de invasión del rey persa, Jerjes, mediante el uso de una tablilla con un mensaje tallado en la madera y oculta con cera derretida. (Herodoto) Los chinos trabajaron con cuadrados mágicos en el 650 antes de Cristo. 1848 Sylvester define el concepto moderno de matriz. En 1465 el italiano León Battista Alberti invento un sistema de sustitución poli alfabética. En el siglo XVI el francés Blaise de Vigenere escribió un importante tratado sobre “la escritura secreta” diseñando un algoritmo que lleva su nombre. Desarrollo avanzado de teoría de números. Aunque ya se conocían importantes resultados desde Euclides (300 a.C.) Durante los siglos XVII, XVIII y XIX el interés de los monarcas por la criptografía fue notable. Las huestes de Felipe II utilizaron durante mucho tiempo un algoritmo con más de 500 símbolos. Cuando el matemático Francés François Viete consiguió criptoanalizar aquel sistema para el rey de Francia, Enrique IV, este impulsó una queja ante la corte española del Papa Pio V acusando de utilizar magia negra. Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) INTRODUCCION Algo de historia… En el siglo XX durante las contiendas bélicas que marcaron el siglo, la criptografía utiliza una nueva herramienta, las máquinas de cálculo. La más conocida posiblemente sea la máquina alemana enigma. Periodo de la historia de grandes avances matemáticos; investigación de operaciones, dinámica de sistemas, entre otros. Clásico de la ciencia ficción 2001: Una odisea del espacio. El súper ordenador dotado de conciencia, HAL 9000, que acaba por volverse loco e intenta matar a la tripulación de la nave espacial que monitoriza. HAL = IBM. Claude Shannon a mediado de los años 70 el departamento de normas y estándares norteamericano publica el primer diseño lógico de un cifrado: El estándar de cifrado de datos o DES. En esas mismas fechas se empezaba a gestar los sistemas asimétricos (firma digital). El futuro “de los bits a los qubits” y los avances en la física cuántica. Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) INTRODUCCION Del griego, cryptos (oculto), grafe (grafo o escritura). La criptografía es la ciencia que estudia los métodos y procedimientos, mediante algoritmos matemáticos, para modificar los datos de tal manera que solamente las personas que tengan las llaves adecuadas puedan tener la confidencialidad, integridad y autenticidad de la información. Para llevar a cabo la acción de criptografía, debemos enmarcarnos en un criptosistema: el cual obedece a un conjunto de procedimientos que garantizan la seguridad de la información que utilizan técnicas criptográficas. Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) INTRODUCCION Dentro de los actores podemos observar en los extremos a un emisor al inicio del procedimiento y a un receptor al final del mismo. El mensaje que se desea transmitir, conocido también como mensaje claro. Este mensaje en texto claro deberá pasar por un encriptador, que corresponderá a un componente que va a contener un algoritmo, que será lo que se emplea para cifrar, resultando un código incomprensible que sólo se puede llegar a entender si se sabe como se ha cifrado. Este mensaje se conoce como mensaje cifrado. Criptoanalista Para la ejecución del algoritmo será necesario el empleo de una llave criptográfica; la cual equivale al código utilizado para cifrar y descifrar un mensaje, es decir, actúa como modificador del algoritmo. De esta forma un mismo algoritmo puede ser utilizado por varios usuarios, considerando el empleo de distintas llaves. Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) INTRODUCCION Principios de Kerckhoffs Lingüista holandés que en 1883, plantea ideas en su libro: “La cryptographie militaire”, las que más tarde serían conocidas como los principios de Kerckhoffs, que son de gran utilidad en el diseño de criptosistemas modernos. La interpretación moderna más cercana sobre tres de sus principios, que adquieren particular relevancia en nuestro enfoque son: 1. La seguridad de un criptosistema nunca debe depender del secretismo del algoritmo descifrado, el secretismo del mensaje debe residir únicamente en el secretismo de la clave (llave). Los principios implican que el número de claves (llaves) deben ser lo suficientemente largas, como para evitar cualquier tipo de búsqueda exhaustiva. 2. El criptoanalista debe tener un conocimiento completo sobre las funciones de cifrado y descifrado. 3. Si el criptosistema no es teóricamente irrompible, al menos debe serlo en la práctica. Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) INTRODUCCION Una posible clasificación para los criptosistemas es la de: criptosistemas clásicos y criptosistemas modernos. • En lo que respecta al periodo clásico se considerará, cronológicamente, hasta mediados del siglo XX, es decir, hasta el término de la Segunda Guerra Mundial. Donde desde una perspectiva del criptoanálisis, el algoritmo del sistema criptográfico se mantenía en secreto. • Lo referido al periodo moderno, se considera desde la plena incorporación de los computadores, lo que ha ido modificando totalmente las comunicaciones cifradas; y que bajo la mirada del criptoanálisis, el algoritmo del sistema criptográfico pasa a ser publico. Lo que aporta a la hipótesis del prestigioso lingüista y criptógrafo holandés Auguste Kerckhoffs (1835 -1903), quien establece que la seguridad del cifrado debe residir, exclusivamente, en el secreto de la llave y no en el algoritmo de cifrado. Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) CIFRADO POR TRANSPOSICION Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) CIFRADO POR TRANSPOSICION Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) CIFRADO POR TRANSPOSICION. METODO DE DOBLE TRANSPOSICION Desarrollar ejemplo en pizarra Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) CIFRADO POR TRANSPOSICION. METODO DE DOBLE TRANSPOSICION Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) CIFRADO POR TRANSPOSICION. METODO DE DOBLE TRANSPOSICION Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) CIFRADO POR SUSTITUCION. ALGORITMO DE EUCLIDES Euclides nació alrededor del año 330 a.C. Buscaba la verdad matemática como un fin en sí y no la aplicación de su trabajo. Escribió “los elementos” el segundo libro más vendido después de la biblia. Los elementos consisten de 13 libros, compilación de todos los conocimientos matemáticos de la época. Fue el primer director del departamento de matemáticas de la gran metrópolis (biblioteca) de Alejandría. El último teorema de Fermat, Simon Singh. Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) CIFRADO POR SUSTITUCION. SISTEMAS DE NUMERACIÓN Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) CIFRADO POR SUSTITUCION. SISTEMA BINARIO Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) CIFRADO POR SUSTITUCIÓN. CONGRUENCIA MODULAR Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) CIFRADO POR SUSTITUCIÓN. ARITMÉTICA MODULAR Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) CIFRADO POR SUSTITUCIÓN. ARITMÉTICA MODULAR Presentar mapa de estructuras algebraicas. Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) CIFRADO POR SUSTITUCIÓN. ARITMÉTICA MODULAR Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) FUNDAMENTOS MATEMÁTICOS ALGORITMOS CRIPTOGRÁFICOS Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) CIFRADO POR SUSTITUCIÓN. ARITMÉTICA MODULAR Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) CIFRADO POR SUSTITUCIÓN. CIFRADO JULIO CÉSAR Cifrado César de clave 3 (Ejemplo) Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) FUNDAMENTOS MATEMÁTICOS ALGORITMOS CRIPTOGRÁFICOS Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) CIFRADO POR SUSTITUCIÓN Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) CIFRADO POR SUSTITUCIÓN. EUCLIDES - BEZOUT MSI-N1004 - Criptografía y Mecanismos de Seguridad (2019) CIFRADO POR SUSTITUCIÓN. EUCLIDES - BEZOUT Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) CIFRADO POR SUSTITUCIÓN. CIFRADO AFÍN Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) CIFRADO POR SUSTITUCIÓN. CIFRADO AFÍN MSI-N1004 - Criptografía y Mecanismos de Seguridad (2019) CRIPTOANÁLISIS Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) CRIPTOANÁLISIS Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) CIFRADO POR SUSTITUCIÓN. CIFRADO DE VIGENERE Tabla de Vigenere Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) CIFRADO POR SUSTITUCIÓN. CIFRADO DE VIGENERE. Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) CIFRADO POR SUSTITUCIÓN POLIALFABÉTICA. CIFRADO DE VERNAM CIFRADO DE VERNAM, ONE TIME PAD MSI-N1004 - Criptografía y Mecanismos de Seguridad (2019) CIFRADO POR SUSTITUCIÓN POLIALFABÉTICA Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) CIFRADO ASIMÉTRICO Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) CIFRADO ASIMÉTRICO Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019) CIFRADO ASIMÉTRICO. CIFRADO RSA Daniel Montenegro/ Álvaro Toledo. Criptografía y Mecanismos de Seguridad (2019)