1 / 27

Diseño y análisis de algoritmos

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

hilde
Download Presentation

Diseño y análisis de algoritmos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Diseño y análisis de algoritmos Introducción a la Criptografía

  2. 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

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  9. 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.

  10. 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”

  11. 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

  12. 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.

  13. 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.

  14. 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

  15. 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

  16. 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.

  17. 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.

  18. 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.

  19. 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.

  20. 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).

  21. 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.

  22. 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

  23. 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

  24. 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é?

  25. 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.

  26. 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.

  27. 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.

More Related