La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

ACI – 425 SEGURIDAD INFORMÁTICA

Presentaciones similares


Presentación del tema: "ACI – 425 SEGURIDAD INFORMÁTICA"— Transcripción de la presentación:

1 ACI – 425 SEGURIDAD INFORMÁTICA
Unidad 3: Criptografía

2 Objetivos Específicos de la Unidad
Conocer las diferencias técnicas criptográficas para asegurar la información, algoritmos populares y los métodos para romperlos de manera de poder planificar mejor las técnicas criptográficas a usar en una organización.

3 Contenidos Conceptos preliminares. Algoritmos criptográficos.
Llaves publicas y privadas PKI Firmas Digitales Técnicas Hashing Algoritmo RSA y MD5. Detección de colisiones. PGP

4 Conceptos En la jerga de la criptografía, la información original que debe protegerse se denomina texto en claro. El cifrado es el proceso de convertir el texto plano en un galimatías ilegible, denominado texto cifrado o criptograma. Por lo general, la aplicación concreta del algoritmo de cifrado (también llamado cifra) se basa en la existencia de una clave: información secreta que adapta el algoritmo de cifrado para cada uso distinto. Las dos técnicas básicas de cifrado en la criptografía clásica son: la sustitución, que supone el cambio de significado de los elementos básicos del mensaje -las letras, los dígitos o los símbolos- y la transposición: que supone una reordenación de las mismas; La gran mayoría de las cifras clásicas son combinaciones de estas dos operaciones básicas. El descifrado es el proceso inverso que recupera el texto plano a partir del criptograma y la clave. El protocolo criptográfico especifica los detalles de cómo se utilizan los algoritmos y las claves (y otras operaciones primitivas) para conseguir el efecto deseado. El conjunto de protocolos, algoritmos de cifrado, procesos de gestión de claves y actuaciones de los usuarios, en su globalidad es lo que constituyen un criptosistema, que es con lo que el usuario final trabaja e interactúa.

5 Términos Texto original (plaintext): La información se encuentra en su forma original. Conocido también como texto simple (cleartext). Texto cifrado (ciphertext): La información después que ha sido ofuscada por el algoritmo de encriptación. Algoritmo: Método de manipulación utilizado para cambiar el texto original a texto cifrado. Clave: Datos de entrada al algoritmo para que transforme el texto original a cifrado.

6 Términos (2) Encriptación: Proceso de realizar el cambio de texto original al cifrado. Desciframiento: Proceso de efectuar el cambio del texto cifrado al original. Criptografía: Arte de encubrir la información mediante el uso de encriptación. Criptógrafo: Individuo que practica la Criptografía. Análisis criptográfico: Arte de analizar algoritmos criptográficos con la intención de identificar debilidades. Analista criptográfico: Individuo que utiliza análisis criptográfico para identificar y utilizar las debilidades en los algoritmos criptográficos.

7 Ataques en contra de la encriptación
Los sistemas de encriptación pueden ser atacados de tres maneras: A través de las debilidades en el algoritmo. Mediante la fuerza bruta en contra de la clave. Por medio de las debilidades en el sistema de entorno.

8 Llaves publicas y privadas
Existen dos grandes grupos de cifras: Algoritmos que utilizan una única clave tanto en el proceso de cifrado como en el de descifrado: se denominan cifras simétricas o de clave simétrica y son la base de los algoritmos de cifrado clásico. Los que utilizan una clave para cifrar mensajes y una clave distinta para descifrarlos: se denominan cifras asimétricas, de clave asimétrica o de clave pública y clave privada y forman el núcleo de las técnicas de cifrado modernas.

9 Encriptación de clave privada
Requiere que todas las partes que están autorizadas para leer la información tengan la misma clave. El problema de proteger la información se reduce a proteger la clave: Sólo quien la conoce puede descifrar el mensaje. Es el tipo mas utilizado de encriptación. Proporciona confidencialidad de la información y cierta garantía respecto a que no pueda ser modificada mientras se encuentra en tránsito. No proporciona autentificación, ya que cualquiera que conozca la clave puede descifrar el mensaje. También se conoce como encriptación de clave simétrica: se usa la misma clave para cifrar y descifrar la información. Es rápida y puede ser fácilmente implementada tanto por hardware como en software.

10 Códigos de sustitución
Reemplaza ó cambia elementos en el texto por otros. Es simple, y funciona bien mientras que el remitente y el receptor usen el mismo esquema de sustitución: la clave es el “libro de códigos” usado para los reemplazos. Puede ser descifrado empleando análisis de la frecuencia de los códigos presentes en el mensaje cifrado.

11 Libretas de un único uso
Las libretas de un único uso (one-time pads - OTP) constituyen el único sistema de encriptación teóricamente indescifrable. Una OTP es una lista de números en orden completamente aleatorio que se emplea para codificar un mensaje. Sólo debe utilizarse una vez. Si los números en la OTP son verdaderamente aleatorios y la OTP es mas larga que el mensaje, el texto cifrado no proporciona ningún mecanismo para recuperar la clave original. Si las libretas no son verdaderamente aleatorias, surgen patrones que pueden emplearse para realizar un análisis de frecuencias. Si las OTP se utilizan mas de una vez, pueden ser analizadas y descifradas. Su uso no es viable generalmente en entornos con abundante tráfico.

12 Estándar de encriptación de datos (DES)
Data Encryption Standard – DES, fue desarrollado por IBM a principios de lo 70’s. Adoptado por NIST en 1977 y reafirmado en 83, 88, 93 y 99 Utiliza una clave de 56 bits: 7 bits de 8 bytes, quedando el octavo bit para paridad. Es un cifrado en bloque que funciona sobre un bloque de 64 bits del texto original. Existen 16 rondas de encriptación, cada una con una subclave diferente. La clave pasa a través de su propio algoritmo para derivar las 16 subclaves. Ver en el manual Linux: man des

13 Estructura general de Feistel en DES
La estructura básica del algoritmo aparece representada en la figura. Hay 16 fases idénticas de proceso, denominadas rondas. También hay una permutación inicial y final denominadas PI y PF, que son funciones inversas entre sí (PI "deshace" la acción de PF, y viceversa). PI y PF no son criptográficamente significativas, pero se incluyeron presuntamente para facilitar la carga y descarga de bloques sobre el hardware de mediados de los 70. Antes de las rondas, el bloque es dividido en dos mitades de 32 bits y procesadas alternativamente. Este entrecruzamiento se conoce como esquema Feistel.

14 Estructura general de Feistel en DES (2)
La estructura de Feistel asegura que el cifrado y el descifrado sean procesos muy similares — la única diferencia es que las subclaves se aplican en orden inverso cuando desciframos. El resto del algoritmo es idéntico. Esto simplifica enormemente la implementación, en especial sobre hardware, al no haber necesidad de algoritmos distintos para el cifrado y el descifrado. El símbolo rojo "⊕" representa la operación OR exclusivo (XOR). La función-F mezcla la mitad del bloque con parte de la clave. La salida de la función-F se combina entonces con la otra mitad del bloque, y los bloques son intercambiados antes de la siguiente ronda. Tras la última ronda, las mitades no se intercambian; ésta es una característica de la estructura de Feistel que hace que el cifrado y el descifrado sean procesos parecidos.

15 La función (F) de Feistel
Opera sobre medio bloque (32 bits) cada vez y consta de cuatro pasos: Expansión — la mitad del bloque de 32 bits se expande a 48 bits mediante la permutación de expansión, denominada E en el diagrama, duplicando algunos de los bits. Mezcla — el resultado se combina con una subclave utilizando una operación XOR. Dieciséis subclaves — una para cada ronda — se derivan de la clave inicial mediante la generación de subclaves descrita más abajo. Sustitución — tras mezclarlo con la subclave, el bloque es dividido en ocho trozos de 6 bits antes de ser procesados por las S-cajas, o cajas de sustitución. Cada una de las ocho S-cajas reemplaza sus seis bits de entrada con cuatro bits de salida, de acuerdo con una trasformación no lineal, especificada por una tabla de búsqueda Las S-cajas constituyen el núcleo de la seguridad de DES — sin ellas, el cifrado sería lineal, y fácil de romper. Permutación — finalmente, las 32 salidas de las S-cajas se reordenan de acuerdo a una permutación fija; la P-caja Alternando la sustitución de las S-cajas, y la permutación de bits de la P-caja y la expansión-E proporcionan las llamadas "confusión y difusión" respectivamente, un concepto identificado por Claude Shannon en los 40 como una condición necesaria para un cifrado seguro pero práctico.

16 Generación de subclaves
La figura representa la generación de claves para el cifrado — el algoritmo que se encarga de proporcionar las subclaves. Primero, se seleccionan 56 bits de la clave de los 64 iniciales mediante la Elección Permutada 1 (EP-1) — los ocho bits restantes pueden descartarse o utilizarse como bits de comprobación de paridad. Los 56 bits se dividen entonces en dos mitades de 28 bits; a continuación cada mitad se trata independientemente. En rondas sucesivas, ambas mitades se desplazan hacia la izquierda uno o dos bits (dependiendo de cada ronda), y entonces se seleccionan 48 bits de subclave mediante la Elección Permutada 2 (PC-2) — 24 bits de la mitad izquierda y 24 de la derecha. Los desplazamientos (indicados por "<<<" en el diagrama) implican que se utiliza un conjunto diferente de bits en cada subclave; cada bit se usa aproximadamente en 14 de las 16 subclaves. La generación de claves para descifrado es similar — debe generar las claves en orden inverso. Por tanto los desplazamientos se hacen hacia la derecha, en lugar de hacia la izquierda.

17 Modos de operación de DES
Libro de código electrónico: Encriptación básica. El texto y la clave combinados formando el cifrado. Una entrada idéntica produce salida idéntica. Encadenamiento de bloques cifrados: Cada bloque es cifrado como un libro de código electrónico, pero se agrega un tercer factor derivado de la entrada anterior. Una entrada idéntica no produce una salida idéntica. Retroalimentación del cifrado: Usa un texto cifrado y previamente generado como entrada para DES. Retroalimentación de salida: Semejante al anterior, pero empleando la propia salida previa.

18 Ataques a DES Aunque se ha publicado más información sobre el criptoanálisis de DES que de ningún otro cifrado de bloque, el ataque más práctico a día de hoy sigue siendo por fuerza bruta. Se conocen varias propiedades criptoanalíticas menores, y son posibles tres tipos de ataques teóricos que, aún requiriendo una complejidad teórica menor que un ataque por fuerza bruta, requieren una cantidad irreal de textos planos conocidos o escogidos para llevarse a cabo, y no se tienen en cuenta en la práctica. Se han descubierto dos ataques que requieren menos cálculos que una búsqueda exhaustiva: Análisis criptográfico diferencial Análisis criptográfico lineal Ver: RSA Laboratories' Frequently Asked Questions About Today's Cryptography, Version 4.1 La clave de 56 bits es un problema: proporciona solamente 255 claves potenciales, lo que puede examinarse por fuerza bruta en un breve período. NIST ha reconocido este hecho, por lo que actualmente sólo se autoriza DES simple para sistemas heredados.

19 Triple DES – TDES ó 3DES Consiste en aplicar DES tres veces consecutivas con dos ó tres claves. Si sólo se usan dos claves, las claves 1 y 2 son diferentes. TDES es un algoritmo relativamente rápido. Puede implementarse en hardware. Se han propuesto ataques contra TDES, pero los requisitos en datos necesarios son muy elevados, por lo que es prácticamente inviable.

20 Encriptación de contraseña
La función de encriptación de contraseñas es en un único sentido. El estándar utilizado en UNIX es una variación del DES. (man crypt) Las contraseñas encriptadas son fáciles de descifrar por fuerza bruta, por lo que se utilizan archivos de contraseña ocultos. La debilidad principal del sistema reside en la selección de contraseñas.

21 Encriptación estándar avanzada (AES)
Con el fin de reemplazar a DES, el NIST propuso el Advanced Encryptation Standard – AES desde Rijndael es un cifrado en bloque que utiliza claves y bloques de 128, 192 ó 256 bits. El algoritmo se compone de 10 a 14 rondas o series en dependencia del tamaño del texto original y de las dimensiones de la clave. Hasta 2005, no se ha encontrado ningún ataque exitoso contra el AES. La Agencia de Seguridad Nacional de los Estados Unidos (NSA) revisó todos los finalistas candidatos al AES, incluyendo el Rijndael, y declaró que todos ellos eran suficientemente seguros para su empleo en información no clasificada del gobierno de los Estados Unidos.

22 Internatonal Data Encryption Algorithm - IDEA
En criptografía el Algoritmo Internacional de Encriptamiento de Datos (IDEA) es un cifrado de bloque descrito por primera vez en 1991. Fue una revisión menor a PES (Estándar de Encriptamiento Propuesto), un algoritmo de cifrado anterior. Originalmente IDEA fue llamado IPES, (PES Mejorado). Fue utilizado como el cifrador simétrico en las primeras versiones de PGP. Es libre para uso no comercial aunque fue patentado y sus patentes se vencerán en 2010 y 2011. Utiliza clave de 128 bits. Empleado en PGP (man idea)

23 Operación de IDEA Opera con bloques de 64 bits usando una clave de 128 bits y consiste en ocho transformaciones idénticas y una transformación de salida (media ronda). El proceso para encriptar y desencriptar es similar. Las tres operaciones en su proceso, con las cuales logra la confusión, se realizan con grupos de 16 bits y son: suma y aplica módulo 216 (cuadrado con un más +) multiplica y aplica módulo 216+1, que es un número primo (círculo con punto ·) operación O exclusiva (XOR) (círculo con un más +)

24 Ventajas de IDEA Este algoritmo presenta, a primera vista, diferencias notables con el DES que le hacen mas atractivo: El espacio de claves es mucho mas grande: 2128=3.4 x 1038 Todas las operaciones son algebraicas. No hay operaciones a nivel de bit, facilitando su programación en alto nivel Es mas eficiente que los algoritmos de tipo Feistel, porque a cada vuelta se modifican todos los bits de bloque y no solamente la mitad. Se pueden utilizar todos los modos de operación definidos para el DES.

25 Seguridad de IDEA En primer lugar, el ataque por fuerza bruta resulta impracticable, ya que seria necesario probar claves, cantidad imposible de manejar con los medios informáticos actuales. Los diseñadores analizaron IDEA para medir su fortaleza frente al criptoanálisis diferencial y concluyeron que lo es bajo ciertos supuestos. No se han reportado debilidades frente criptoanálisis lineal o algebraico. Se han encontrado algunas claves débiles las cuales en la práctica son poco usadas siendo necesario evitarlas explícitamente. Es considerado por muchos como uno de los cifrados en bloque mas seguros que existen

26 Otros algoritmos de clave privada
RC5: Permite claves de longitud variable Skipjack: Usa clave de 80 bits Blowfish: Clave de longitud variable hasta 448 bits (man blowfish) Twofish: Usa bloques de 128 bits y puede emplear claves de 128, 192 ó 256 bits CAST-128: Usa clave de 128 bits. Empleado en versiones recientes de PGP GOST: Estándar ruso en respuesta a DES. Usa clave de 256 bits

27 Encriptación de clave pública
Utiliza dos claves: una para cifrar y otra diferente para descifrar. Es mas reciente que la clave privada. Tanto el remitente como el receptor deben tener una clave. La relación entre claves es tal que lo encriptado por K1 sólo puede ser descifrado por K2 y viceversa. Si se tiene solamente una de las claves no puede calcularse la otra del par. En la práctica, una clave del par se conoce como clave privada y se mantiene en secreto por el propietario del par, mientras que la otra se conoce como clave pública, y se divulga con información respecto a quien es el propietario. Si se desea confidencialidad, la encriptación se realiza con clave pública. Si se desea autentificación, el propietario del par de claves encripta la información con la clave privada. La integridad de la información en tránsito es protegida en cualquiera de las dos operaciones anteriores.

28 Intercambio de clave Diffie - Hellman
Permite el intercambio secreto de claves entre dos partes que no han tenido contacto previo, utilizando un canal inseguro, y de manera anónima (no autenticada). Se emplea generalmente como medio para acordar claves simétricas que serán empleadas para el cifrado de una sesión. Siendo no autenticado, sin embargo provee las bases para varios protocolos autenticados. Su seguridad radica en la extrema dificultad (conjeturada, no demostrada) de calcular logaritmos discretos en un campo finito.

29 RSA (iniciales de los apellidos de sus autores)
Algoritmo asimétrico cifrador de bloques, que utiliza una clave pública, que se distribuye en forma autenticada preferentemente, y otra privada, la cual es guardada en secreto por su propietario. Una clave es un número de gran tamaño, que una persona puede conceptualizar como un mensaje digital, como un archivo binario o como una cadena de bits o bytes. Cuando se envía un mensaje, el emisor busca la clave pública de cifrado del receptor y una vez que dicho mensaje llega al receptor, éste se ocupa de descifrarlo usando su clave oculta. Los mensajes enviados usando el algoritmo RSA se representan mediante números y el funcionamiento se basa en el producto de dos números primos grandes (mayores que 10100) elegidos al azar para conformar la clave de descifrado. Emplea expresiones exponenciales en aritmética modular. La seguridad de este algoritmo radica en que no hay maneras rápidas conocidas de factorizar un número grande en sus factores primos utilizando computadoras tradicionales.

30 Public-Key Infrastructure - PKI
La infraestructura de clave pública PKI es un término relativamente reciente que consiste de protocolos, servicios y estándares que soportan aplicaciones de Criptografía de clave pública. Entre los servicios comúnmente encontrados en una PKI se encuentran: Key registration: El registro de claves permite emitir un nuevo certificado para una clave pública. Certificate revocation: Cancelación de un certificado previamente emitido. Key selection: Obtención de una clave pública para trabajo. Trust evaluation: La evaluación de confianza determina si un certificado es válido y a cuales operaciones autoriza. La recuperación de clave también ha sido sugerida como posible elemento de una PKI.

31 Elementos de PKI PKI es una combinación de hw y sw, políticas y procedimientos que permiten asegurar la identidad de los participantes en un intercambio de datos usando criptografía pública. El término PKI se utiliza para referirse tanto a la autoridad de certificación y al resto de componentes, como para referirse, de manera más amplia y a veces confusa, al uso de algoritmos de clave pública en comunicación electrónicas. Este último significado es incorrecto, ya que no se requieren métodos específicos de PKI para usar algoritmos de clave pública.

32 PKI - Propósito y funcionalidad
Una PKI permite a los usuarios autenticarse frente a otros usuarios y usar la información de los certificados de identidad (por ejemplo, las claves públicas de otros usuarios) para cifrar y descifrar mensajes. En general, una PKI consiste en un software para los clientes, un software de servidor (como una autoridad de certificación), hardware (por ejemplo, tarjetas inteligentes o smart cards) y unos procedimientos operacionales. Un usuario puede firmar digitalmente mensajes usando su clave privada, y otro usuario puede validar que dicha firma pertenece al usuario anterior (usando la clave pública del usuario contenida en el certificado que ha sido emitido por una autoridad de certificación de la PKI). Esto permite a dos (o más) entidades establecer una comunicación que garantiza la integridad del mensaje, la autenticación de los usuarios y el no repudio del mensaje enviado sin tener que intercambiar previamente ninguna información secreta.

33 Componentes de PKI Los componentes más habituales de una infraestructura de clave pública son: La autoridad de certificación (o, en inglés, CA, Certificate Authority): Encargada de emitir y revocar certificados. Es la entidad de confianza que da legitimidad a la relación de una clave pública con la identidad de un usuario o servicio. La autoridad de registro (o, en inglés, RA, Registration Authority): Responsable de verificar el enlace entre los certificados (concretamente, entre la clave pública del certificado) y la identidad de sus titulares. Los repositorios: Estructuras encargadas de almacenar la información relativa a la PKI. Los dos repositorios más importantes son el repositorio de certificados y el repositorio de listas de revocación de certificados. En una lista de revocación de certificados (o, en inglés, CRL, Certificate Revocation List) se incluyen todos aquellos certificados que por algún motivo han dejado de ser válidos antes de la fecha establecido dentro del mismo certificado.

34 Componentes de PKI (2) La autoridad de validación (o, en inglés, VA, Validation Authority): Encargada de comprobar la validez de los certificados digitales. La autoridad de sellado de tiempo (o, en inglés, TSA, TimeStamp Authority): Encargada de firmar documentos con la finalidad de probar que existían antes de un determinado instante de tiempo. Los usuarios y entidades finales son aquellos que poseen un par de claves: pública y privada, y un certificado asociada a su clave pública. Utilizan un conjunto de aplicaciones que hacen uso de la tecnología PKI para validar firmar digitales, cifrar documentos para otros usuarios, etc.

35 Empresas certificadoras PKI
Comerciales: VeriSign Thawte Otras con software disponible: Computer Associates eTrust PKI Entrust Microsoft Netscape CMS Nexus OpenCA Open SSL Herramienta libre para crear CAs Red Hat Certificate Management System RSA Security Safelayer WISeKey

36 Otros algoritmos de clave pública
Encriptación de curva elíptica ElGamal Algoritmo de firma digital (Digital Signature Algorithm – DSA)

37 Criptografía de curva elíptica
Variante de la criptografía asimétrica o de clave pública basada en las matemáticas de las curvas elípticas. Se argumenta que puede ser más rápida y usar claves más cortas que otros métodos como RSA, al tiempo que proporcionan un nivel de seguridad equivalente. La utilización de curvas elípticas en criptografía fue propuesta de forma independiente por varios investigadores. Ha sido ampliamente reconocida como el algoritmo más fuerte para una determinada longitud de clave, por lo que podría resultar útil sobre enlaces que tengan requisitos muy limitados de ancho de banda.

38 Cifrado ElGamal El protocolo ElGamal de negociación de claves provee negociación en un solo paso y autenticación unilateral (del receptor hacia el emisor) si la clave pública del receptor es conocida de antemano por el emisor. Es un algoritmo para criptografía asimétrica basado en Diffie- Hellman. Es usado en el software libre GNU Privacy Guard, versiones recientes de PGP y otros sistemas. La seguridad del algoritmo depende en la dificultad de calcular logaritmos discretos. Específicamente, si el problema discreto del logaritmo se pudiera solucionar eficientemente, entonces ElGamal estaría roto. Consiste de tres componentes: el generador de claves, el algoritmo de encriptación, y el algoritmo de desencriptación. Es un ejemplo simple de un algoritmo dominante asimétrico semántico seguro del cifrado (bajo asunciones razonables). Es probabilístico, significando que un solo texto plano se puede cifrar a muchos textos cifrados posibles, con la consecuencia que un cifrado de general ElGamal produce una extensión de 2:1 de tamaño de texto plano al texto cifrado.

39 Algoritmo de firma digital
El algoritmo de firma digital (Digital Signature Algorithm – DSA) fue propuesto por el NIST para firmas digitales. Se hizo público en 1991. Sólo sirve para firmar y no para cifrar información. Una desventaja de este algoritmo es que requiere mucho más tiempo de cómputo que RSA. Consta de tres partes: generación de llaves, firma y verificación.

40 Firmas Digitales Método criptográfico que asegura su integridad así como la identidad del remitente. La firma digital de un documento es el resultado de aplicar cierto algoritmo matemático, denominado función hash, al contenido. Esta función asocia un valor dentro de un conjunto finito (generalmente subconjunto de los números naturales) a su entrada. Cuando la entrada es un documento, el resultado de la función es un número que identifica casi unívocamente al texto. Si se adjunta este número al texto, el destinatario puede aplicar de nuevo la función y comprobar su resultado con el que ha recibido. No obstante esto presenta algunas dificultades.

41 Técnicas Hashing Es un método para resumir o identificar datos a través de la probabilidad, utilizando una función hash o algoritmo hash. Un hash es el resultado de dicha función o algoritmo. Una función hash es una función para sumarizar o identificar probabilísticamente un gran conjunto de información (dominio), dando como resultado un conjunto imagen finito generalmente menor (un subconjunto de los números naturales por ejemplo). Varían en los conjunto de partida y de llegada y en cómo afectan a la salida semejanzas o patrones de la entrada.

42 Técnicas Hashing (2) Una propiedad fundamental del hashing es que si dos hashes, utilizando la misma función, son diferentes, entonces las dos entradas que generaron dichos hashes también lo son. Son usadas en múltiples aplicaciones, como los arrays asociativos, criptografía, procesamiento de datos y firmas digitales entre otros. Una buena función hash es una que experimenta pocas colisiones en el conjunto esperado de entrada; es decir que se podrá identificar unívocamente las entradas.

43 Ejemplo de función de hash

44 Requisitos Para que sea de utilidad, la función hash debe satisfacer dos importantes requisitos: Debe ser difícil encontrar dos documentos cuyo valor para la función "hash" sea idéntico. Dado uno de estos valores, debería ser difícil recuperar el documento que lo produjo. Algunos sistemas de cifrado de clave pública se pueden usar para firmar documentos. El firmante cifra el documento con su clave privada y cualquiera que quiera comprobar la firma y ver el documento, no tiene más que usar la clave pública del firmante para descifrarla. Existen funciones "hash" específicamente designadas para satisfacer estas dos importantes propiedades. SHA y MD5 son dos ejemplos de este tipo de algoritmos. Para usarlos un documento se firma con una función "hash", cuyo resultado es la firma. Otra persona puede comprobar la firma aplicando la misma función a su copia del documento y comparando el resultado con el del documento original. Si concuerdan, es casi seguro que los documentos son idénticos.

45 Tablas Hash Las tablas hash, una de las aplicaciones más extendidas de las funciones hash, aceleran el proceso de búsqueda de un registro de información según una clave (nota: este uso de la palabra poco se relaciona con su significado habitual). Por ejemplo, una cadena alfanumérica puede ser utilizada para buscar la información de un empleado en la base de datos de un sistema. La utilización de tablas hash provee de un acceso casi directo a dichos registros, lo que significa que, en promedio, una búsqueda puede llegar a requerir sólo uno o dos intentos en la memoria o el archivo que contiene la información. Naturalmente, se prefiere una buena función hash que evitará colisiones de hash. Si asumimos que la clave es una cadena de bytes, entonces la función hash debería ser como un índice de los registros que tiene una distribución aleatoria sobre las cadenas de entrada esperadas. De otra forma, habría más colisiones de hash degradando así el tiempo de búsqueda. Si, por ejemplo, la clave es alfabética, cada byte puede tener sólo 26 de sus 256 valores posibles. Funciones tan simples no distribuirán los índices de una forma pareja.

46 Colisiones En informática y en especial en criptografía, una colisión de hash se produce cuando dos entradas distintas producen la misma salida. Es matemáticamente imposible que una función de hash carezca de colisiones, ya que el número potencial de posibles entradas es menor que el número de salidas que puede producir un hash. Sin embargo, las colisiones se producen más frecuentemente en los malos algoritmos. En ciertas aplicaciones especializadas con un relativamente pequeño número de entradas que son conocidas de antemano es posible construir una función de hash perfecta, que se asegura que todas las entradas tengan una salida diferente.

47 Colisiones (2) En una función en la cual se puede introducir datos de longitud arbitraria y que devuelve un hash de tamaño fijo (como MD5), siempre habrá colisiones, dado que un hash dado puede pertenecer a un infinito número de entradas. Una de las propiedades deseables de las funciones de hash es que sea computacionalmente no factible encontrar una colisión. El valor de una función hash puede ser usado para certificar que un texto dado (o cualquier otro dato) no está modificado publicando su valor de hash si no es factible hallar una colisión.

48 Algoritmo SHA La familia SHA (Secure Hash Algorithm, Algoritmo de Hash Seguro) es un sistema de funciones hash criptográficas relacionadas de la Agencia de Seguridad Nacional de los Estados Unidos (NSA) y publicadas por el National Institute of Standards and Technology (NIST). El primer miembro de la familia fue publicado en 1993 es oficialmente llamado SHA. Dos años más tarde el primer sucesor de SHA fue publicado con el nombre de SHA-1. Existen cuatro variantes más que se han publicado desde entonces cuyas diferencias se basan en un diseño algo modificado y rangos de salida incrementados: SHA-224, SHA-256, SHA-384, y SHA-512 (todos ellos son referidos como SHA-2). Ha sido examinado muy de cerca por la comunidad criptográfica pública y no se ha encontrado ningún ataque efectivo.

49 Ejemplo de funcionamiento de SHA y MD5
Algoritmo MD5 En criptografía, MD5 (acrónimo de Message-Digest Algorithm 5, Algoritmo de Resumen del Mensaje 5) es un algoritmo de reducción criptográfico de 128 bits ampliamente usado. Durante el año 2004 fueron divulgados ciertos defectos de seguridad, lo que hará que en un futuro cercano se cambie de este sistema a otro más seguro. Ejemplo de funcionamiento de SHA y MD5

50 Ataques contra SHA-1 La resistencia de SHA-1 se vió comprometida en Después de que MD5, entre otros, quedara seriamente comprometido en el 2004 por parte de un equipo de investigadores chinos, el tiempo de vida de SHA-1 quedó visto para sentencia. El mismo equipo de investigadores chinos ha demostrado que son capaces de romper el SHA-1 en al menos 269 operaciones, unas 2000 veces más rápido que un ataque de fuerza bruta (que requeriría 280 operaciones). Los últimos ataques contra SHA-1 han logrado debilitarlo hasta 263.

51 Ataques contra SHA-1 (2) Según el NIST, “este ataque es de particular importancia para las aplicaciones que usan firmas digitales tales como marcas de tiempo y notarías. Sin embargo, muchas aplicaciones que usan firmas digitales incluyen información sobre el contexto que hacen este ataque difícil de llevar a cabo en la práctica.” La importancia de la rotura de una función hash se debe comprender de la siguiente manera: Un hash permite crear una huella digital, en teoría única, de un archivo. Si un hash fuese roto podría haber otro documento con la misma huella. La similitud podría ser que hubiese personas que compartiesen las mismas huellas digitales, o peor aún, el mismo ADN: No habría manera de poder diferenciarlos usando estos medios de discriminación.

52 Criptografía híbrida Método criptográfico que usa tanto un cifrado simétrico como uno asimétrico. Emplea el cifrado de clave pública para compartir una clave para el cifrado simétrico. El mensaje que se esté enviando en el momento, se cifra usando la clave y enviándolo al destinatario. Ya que compartir una clave simétrica no es seguro, la clave usada es diferente para cada sesión. Tanto PGP como GnuPG usan sistemas de cifrado híbridos. La clave de sesión es cifrada con la clave pública, y el mensaje saliente es cifrado con la clave simétrica, todo combinado automáticamente en un sólo paquete. El destinatario usa su clave privada para descifrar la clave de sesión y acto seguido usa la clave de sesión para descifrar el mensaje. Un sistema de cifrado híbrido no es más fuerte que el de cifrado asimétrico o el de cifrado simétrico de los que hace uso, independientemente de cuál sea más débil. En PGP y GnuPG el sistema de clave pública es probablemente la parte más débil de la combinación. Sin embargo, si un atacante pudiera descifrar una clave de sesión, sólo sería útil para poder leer un mensaje, el cifrado con esa clave de sesión. El atacante tendría que volver a empezar y descifrar otra clave de sesión para poder leer cualquier otro mensaje.

53 “Pretty Good Privacity” - PGP
Privacidad bastante buena o PGP es un programa cuya finalidad es proteger la información distribuida a través de Internet mediante el uso de criptografía de clave pública, así como facilitar la autenticación de documentos gracias a firmas digitales. Puede proporcionar un gran nivel de seguridad. Es más, observadores informados creen que ni siquiera las agencias del gobierno estadounidense como la NSA son capaces de descifrar directamente mensajes generados adecuadamente con PGP. PGP es más fácil de utilizar que muchos otros criptosistemas, pero como ocurre siempre en el campo de la criptografía, su implementación y su utilización influyen muchísimo en la seguridad lograda.

54 PGP (2) Existe la posibilidad de que haya errores en la implementación, y si se utiliza descuidadamente es posible desproteger fácilmente un archivo de texto protegido. Cualquier criptosistema puede ser inseguro, independientemente de lo bueno que sea su diseño. A diferencia de protocolos de seguridad como SSL, que sólo protege los datos en tránsito (es decir, mientras se transmiten a través de la red), PGP también puede utilizarse para proteger datos almacenados en discos, copias de seguridad, etc.

55 GnuPG Reemplazo libre y completo de PGP.
Puede ser usado sin restricciones debido a que no usa el algoritmo patentado IDEA. GnuPG es una aplicación que cumple el estándar RFC 2440 (OpenPGP).

56 Esteganografía Rama de la criptología que trata sobre la ocultación de mensajes, para evitar que se perciba la existencia del mismo. Es el arte y ciencia de escribir mensajes secretos de tal forma que nadie fuera de quien lo envía y quien lo recibe sabe de su existencia; en contraste con la criptografía, en donde la existencia del mensaje es clara, pero el contenido del mensaje está oculto. Por lo general un mensaje de este tipo parece ser otra cosa, como una lista de compras, un artículo, una foto, etc. Los mensajes en la esteganografía muchas veces son cifrados primero por medios tradicionales, para posteriormente ser ocultados por ejemplo en un texto que pueda contener dicho mensaje cifrado, resultando el mensaje esteganográfico. Un texto puede ser manipulado en el tamaño de letra, espaciado, tipo y otras características para ocultar un mensaje, sólo el que lo recibe, quien sabe la técnica usada, puede extraer el mensaje y luego descifrarlo.

57 John the Ripper Programa que aplica fuerza bruta para descifrar contraseñas. Capaz de romper varios algoritmos de encriptación, como DES, SHA-1 y otros. Es una herramienta de seguridad muy popular, ya que permite a los administradores de sistemas comprobar que las contraseñas de los usuarios son suficientemente buenas. John the Ripper es capaz de autodetectar el tipo de cifrado de entre muchos disponibles, y se puede personalizar su algoritmo de prueba de contraseñas, lo que ha hecho que sea uno de los más usados en este campo.

58 Preguntas ¿Cuáles son las tres maneras de atacar un esquema de encriptación? Explique las diferencias entre cifrado por clave pública y por clave privada. ¿Cuáles son los componentes esenciales de un cifrador simétrico? ¿Cuántas claves se necesitan para que dos personas se comuniquen usando un cifrador simétrico? ¿Cuál es la principal debilidad de DES? ¿Qué es triple cifrado (TDES ó 3DES)?

59 Preguntas (2) Explique las ventajas de IDEA.
¿Qué es una firma digital? ¿En qué consiste PKI? ¿En qué se diferencian la clave de sesión y la clave maestra? ¿Qué propiedades debe cumplir una función hash para que sea útil? ¿Cuáles son las componentes principales de un criptosistema de clava pública?

60 Bibliografía Archivos:
“CRIPTOSISTEMAS CLÁSICOS” (archivo CriptoClasica.ZIP) “LIBRO ELECTRÓNICO DE SEGURIDAD INFORMÁTICA Y CRIPTOGRAFÍA” Jorge Ramió Aguirre (archivo SegInfoCrip_v41.ZIP): Criptografía y Seguridad en Computadores: Textos: Eric Maiwald “Fundamentos de Seguridad de Redes” Parte III Módulo 12 “Encriptación” pp William Stalings “Fundamentos de Seguridad en Redes: Aplicaciones y Estándares” Parte I “Criptografía” pp 25-88 Sitios Web: Taller de Criptografía Wikipedia: Criptografía Introducción a la Criptografía Openwall Project: bringing security into open environments


Descargar ppt "ACI – 425 SEGURIDAD INFORMÁTICA"

Presentaciones similares


Anuncios Google