270 likes | 484 Views
Diseño y análisis de algoritmos. Introducción a la Criptografía. Temario. Introducción a la Criptografía Seguridad de la información Objetivos Modelos de Seguridad Encriptación con llave simétrica secreta Firmas digitales Encriptación con llave pública Comparación Ataques
E N D
Diseño y análisis de algoritmos Introducción a la Criptografía
Temario • Introducción a la Criptografía • Seguridad de la información • Objetivos • Modelos de Seguridad • Encriptación con llave simétrica secreta • Firmas digitales • Encriptación con llave pública • Comparación • Ataques • Modelos de Seguridad
Introducción a la Criptografía Seguridad de la información • Para hacer una introducción a la criptografía es necesario aprender acerca de la seguridad de la información. • Varios aspectos de la seguridad de la información se manifiestan de acuerdo con la situación y los requerimientos. • En general, todas las partes de una transacción están interesadas en saber si ciertos objetivos han sido cumplidos.
Introducción a la Criptografía Objetivos • Privacidad o Confidencialidad: Sólo las partes autorizadas tienen acceso a la información. • Integridad de los datos: La información no ha sido alterada por terceras partes. • Autenticación o Identificación de la entidad: Corroboración de la identidad de una entidad. • Firma: Vinculación de la información con una entidad. • Validación: Autorización oportuna para utilizar o manipular información o recursos. • Control de Acceso: Permitir el acceso de los recursos sólo a partes privilegiadas.
Introducción a la Criptografía Objetivos • Certificación: Aprobación por una entidad de confianza. • Timestamping: Grabado de la hora de creación de la información. • Anonimato: Esconder la identidad de una entidad involucrada. • No repudio: Prevención de la negación por parte de una entidad de haber estado involucrada. • Revocamiento: Cancelación de la certificación o autorización. • Lograr seguridad de la información requiere de una serie de habilidades técnicas y legales. Sin embargo, no se puede asegurar que se podrán cumplir todos los objetivos que se crean necesarios. Los métodos técnicos son provistos por la criptografía.
Introducción a la Criptografía Objetivos • Definición: La criptografía es el estudio de técnicas matemáticas relacionadas con aspectos de seguridad de la información tales como confidencialidad, integridad de los datos, autenticación de entidades y autenticación del origen de la información. • Los objetivos nombrados en la definición forman una base de la cual el resto puede ser derivado.
Introducción a la Criptografía Primitivas criprográficas • Existe una gran variedad de primitivas criptográficas. Aquí se verán algunas de ellas. • Estas primitivas se evalúan con respecto a los siguientes criterios: • Nivel de seguridad • Funcionalidad • Métodos de operación • Performance • Facilidad de implementación • La importancia relativa de los criterios depende de la aplicación y los recursos disponibles.
Introducción a la Criptografía Encriptación con llave simétrica secreta • Supongamos que dos personas, Alice y Bob, quieren comunicarse. • Intercambian un par (e,d) denominado clave. • Alice le envía el mensaje m a Bob. Por lo tanto, computa c = Ee(m). • Para leer el mensaje, Bob calcula m = Dd(c). • Las claves son necesarias para mantener la generalidad del algoritmo. • En la práctica de la criptografía, es común suponer que el adversario conoce todo el sistema, excepto las claves. • El objetivo es que la búsqueda exhaustiva de las claves sea la mejor opción para el atacante.
Introducción a la Criptografía Encriptación con llave simétrica secreta • Un sistema de encripción se dice de clave simétricasi para cada clave (e,d) es computacionalmente “fácil” de determinar e conociendo solamente dy viceversa. • En la práctica, muchas veces se da e = d. • Un ejemplo de estos sistemas es el algoritmo César. • En este algoritmo, cada letra es reemplazada por la letra que le sigue en el alfabeto tres lugares adelante. • La clave en este caso es la matriz de permutación: • e = (A, B, C, …, Z • D, E, F, …, C) • d es la misma matriz con las filas intercambiadas.
Introducción a la Criptografía Encriptación con llave simétrica secreta • El siguiente texto fue encriptado utilizando el algoritmo César: • Ylv frqvlol hashuv proh uxlw vxd • Como atacaría a este cifrado? • Existe una variedad de técnicas basadas en estadística para este tipo de algoritmos. • El texto original es: • Vis consili expers mole ruit sua“La fuerza bruta sin sabiduría cae en ruina • por su propio peso”
Introducción a la Criptografía Encriptación con llave simétrica secreta • La comunicación en un sistema de clave simétrica puede resumirse en el siguiente diagrama: Adversario Fuente de claves d Canal seguro e Encripción c = Ee(m) c Desencripción m = Dd(c) Canal no seguro m m Fuente de plaintext Destino
Introducción a la Criptografía Encriptación con llave simétrica secreta • Uno de los temas más importantes en estos sistemas es encontrar un sistema eficiente para la producción y distribución de las claves. • Existen dos tipos básicos de sistemas de clave simétrica: bloque y flujo. • Un sistema de encripción por bloques divide el mensaje en bloques y encripta cada uno. • Ejemplos típicos de estos sistemas son las sustituciones y las transposiciones. • Los sistemas stream son un caso especial de encripción por bloques, donde el tamaño del bloque es 1. • Estos sistemas son deseables debido a que no propagan los errores. • También resultan útiles cuando no se puede hacer buffering del mensaje a encriptar.
Introducción a la Criptografía Firmas digitales • Son parte fundamental de la autenticación, autorización, y norepudio. • Su propósito es ligar una porción de información con una entidad. • Nomenclatura: • SA es una transformación del conjunto de mensajes (M) al conjunto de firmas (S). SA se denomina transformaciónde firma para A, y es mantenida en secreto por A. • VA es una transformación de MxA al conjunto {true, false}. VA se denomina transformación de verificación para las firmas de A. Es público y utilizado para verificar la autenticidad de las firmas de los mensajes de A.
Introducción a la Criptografía Firmas digitales • Las firmas manuscritas pueden verse como un caso especial de las digitales. • Propiedades: • ses una firma válida para un mensaje mde A si y sólo si VA(m,s) = true • No es computacionalmente factible para una entidad ajena a A encontrar para un mensaje muna firma s tal que VA(m,s) = true
Introducción a la Criptografía Encriptación con llave pública • A diferencia de los esquemas de clave simétrica, estos sistemas no requieren de canales seguros. Adversario e Fuente de claves Canal no seguro d Encripción c = Ee(m) c Destino Canal no seguro m m Desencripción m = Dd(c) Fuente de plaintext
Introducción a la Criptografía Encriptación con llave pública • La clave ees denominada clave pública, mientras que la clave d es denominada clave privada. • El sistema se basa en que el par de claves (e,d) posee una propiedad particular. • Dada e, no es computacionalmente factible obtener d. • Existen varios métodos para lograr esta propiedad deseada, pero ninguno de ellos es demostrablemente seguro.
Introducción a la Criptografía Encriptación con llave pública • A primera vista, este sistema pareceria ser ideal, dado que no requiere de canales seguros para la transmisión de las claves. • Sin embargo, existe un ataque conocido como impostor, donde una entidad enemiga se hace pasar por la entidad B. • Al enviarle a A la clave pública, A cree que el impostor es en realidad B. • Desde esta posición, el impostor puede recibir y enviar mensajes haciéndose pasar por B. • Qué objetivo de seguridad está siendo violado? • Es necesario asegurar la autenticación del origen de los datos. • Existen sistemas de firmas digitales basados en clave pública que aseguran este objetivo.
Introducción a la Criptografía Comparación • Ventajas de los sistemas de clave simétrica: • Pueden ser diseñados para tener altos grados de throughput. • Poseen claves relativamente cortas. • Son buenos para formar sistemas compuestos. • Desventajas de los sistemas de clave simétrica: • Las claves deben ser mantenidas en secreto. • En una red, existe una gran cantidad de claves a ser manejadas. • En una comunicación entre dos partes, es sano cambiar frecuentemente las claves.
Introducción a la Criptografía Comparación • Ventajas de los sistemas de clave pública: • Sólo se debe mantener en secreto la clave privada (aunque debe asegurarse la autenticidad de las claves públicas). • Dependiendo de la situación, las claves pueden mantenerse inalteradas por una gran cantidad de tiempo. • Muchos esquemas de clave pública pueden ser utilizados para obtener mecanismos eficientes de firmas digitales. • En una red, la cantidad de claves a ser manejadas es menor.
Introducción a la Criptografía Comparación • Desventajas de los sistemas de clave pública: • Los grados de throughput son mucho menores que en los sistemas de clave simétrica. • Los tamaños de las claves son en general mayores. • No se ha demostrado la seguridad de ningún sistema de clave pública. Los mejores se basan en la supuesta dificultad de algunos problemas de la teoría de números. • Es una tecnología relativamente nueva (década del ’70).
Introducción a la Criptografía Ataques • Veremos algunos ataques clásicos a los sistemas de encripción expuestos. • Los ataques se dividen en dos clases: • Ataques pasivos: el adversario solamente monitorea la comunicación. • Ataques activos: el adversario intenta borrar, modificar o agregar a la transmisión.
Introducción a la Criptografía Ataques • Ciphertext only • Plaintext conocido • Plaintext elegido • Plaintext elegido adaptivo • Ciphertext elegido • Ciphertext elegido adaptivo • Clave conocida • Impostor • Diccionario
Introducción a la Criptografía Modelos de Seguridad • La seguridad de los diferentes sistemas criptográficos pueden ser evaluados bajo ciertos modelos. • A continuación veremos algunos de estos modelos. • Incondicional • Teoría de Complejidad • Demostrable • Computacional
Introducción a la Criptografía Modelos de Seguridad • Seguridad incondicional • Es el más poderoso de todos. Comunmente llamado secreto perfecto. • Se supone que el adversario posee poder computacional ilimitado. • Una condición necesaria para un sistema de clave simétrica es que la clave sea al menos tan larga como el mensaje. • Los sistemas de clave pública nunca pueden ofrecer secreto perfecto. Por qué?
Introducción a la Criptografía Modelos de Seguridad • Seguridad por teoría de la complejidad • Se supone que el adversario posee poder computacional polinomial. • Se construye una prueba de seguridad relativa al modelo. • Debe tenerse cuidado, dado que los análisis asintóticos y de peor caso pueden perder significado en la práctica (en qué casos?). • Es muy útil en la formulación de principios fundamentales y la confirmación de la intuición.
Introducción a la Criptografía Modelos de Seguridad • Seguridad demostrable • Se dice que un método criptográfico es demostrablemente segurosi se demuestra que es al menos tan difícil de resolver como un problema que se suponedifícil • Un ejemplo de uno de estos problemas es el de la factorización de enteros. • ‘Demostrable’, en este contexto, significa demostrable sujeto a suposiciones.
Introducción a la Criptografía Modelos de Seguridad • Seguridad Computacional • Aquí se mide la cantidad de esfuerzo computacional necesario para ‘romper’ un sistema. • Una técnica se dice computacionalmente segura si dicho esfuerzo excede por un amplio margen el esfuerzo que puede realizar el adversario hipotético. • A veces se le llama seguridad práctica, dado que no requiere de demostraciones como la clase anterior. • Muchos de los sistemas en uso (tanto de clave simétrica como pública) caen dentro de esta clase.