criptografía

14

Click here to load reader

Upload: sergio4195855

Post on 09-Jun-2015

2.120 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Criptografía

ADMINISTRACION DE REDES DE COMPUTADORESSERGIO ALEXIS CANO SEPULVEDA GRUPO: 941575

CRIPTOGRAFIA

Es el arte o ciencia de cifrar y descifrar información utilizando técnicas que hagan posible el intercambio de mensajes de manera segura que sólo puedan ser leídos por las personas a quienes van dirigidos.Con más precisión, cuando se habla de esta área de conocimiento como ciencia se debería hablar de criptología, que engloba tanto las técnicas de cifrado, la criptografía propiamente dicha, como sus técnicas complementarias: el criptoanálisis, que estudia los métodos que se utilizan para romper textos cifrados con objeto de recuperar la información original en ausencia de las claves.

La Criptografía es un arte antigua que surge, prácticamente, como un escrito. Su utilización siempre tiene connotado militar, mas allá de la Segunda Guerra Mundial, como o adviento de dos computadoras, la aplicación de criptografía comprende a la "sociedad de la información". La evolución de técnicas criptográficas permite, el hombre que haga más seguro las transacciones electrónicas, siendo la solución más indicada, hacer los problemas de garantizar la privacidad y protección de información, inclusive a través de autenticación de mensajes de la asignatura digital. El estudio de Criptografía comienza por el método de sustituciones simples que Julio César usaba para enviar mensajes a sus generales. Este método o alfabeto é dislocado de número posiciones da clave. Asimismo, para un mensaje ser "linda" Un sistema de César cuya clave sea, por ejemplo, 3 (tres), basta hacer el siguiente substitución:

SISTEMAS DE SUBSTITUCION POLI ALFABÉTICA

Los sistemas de substitución simple y de permutación son mucho fáciles de ser quebrados. La tentativa de colocar más dificultades no proceso tentativo - intención de sistema poli alfabético. Este sistema, son reemplazados de un único alfabeto de substitución, son utilizados varios alfabetos permutados, trocados periódicamente una señal de mensaje. Un objetivo principal de que va tentar desvendar o código é descubrir o período de clave y, después, los códigos usados.Por ejemplo, una clave poli alfabética de período tres va ha modificar las posiciones cero, tres, seis, etc, de mensajes de acuerdo con el primer código, las posiciones en, cuatro, siete, etc, con un segundo código y las posiciones dos, cinco, ocho, etc con un tercero. Tómese una clave K={3,17,8}, tenemos:

Page 2: Criptografía

ADMINISTRACION DE REDES DE COMPUTADORESSERGIO ALEXIS CANO SEPULVEDA GRUPO: 941575

K-1 (sistema de César 3):A B C D E F G H I J K L M N O P Q R S T U V W X Y ZX Y Z A B C D E F G H I J K L M N O P Q R S T U V W

K-2 (sistema de César 17):A B C D E F G H I J K L M N O P Q R S T U V W X Y ZJ K L M N O P Q R S T U V W X Y Z A B C D E F G H I

K-3 (sistema de César 8):A B C D E F G H I J K L M N O P Q R S T U V W X Y ZS T U V W X Y Z A B C D E F G H I J K L M N O P Q R

LA CRIPTOLOGIA

Es el estudio de los criptosistemas: sistemas que ofrecen medios seguros de comunicación en los que el emisor oculta o cifra el mensaje antes de transmitirlo para que sólo un receptor autorizado (o nadie) pueda descifrarlo. Sus áreas principales de interés son la criptografía y el criptoanálisis, pero también se incluye la esteganografía como parte de esta ciencia aplicada. En tiempos recientes, el interés por la criptología se ha extendido también a otras aplicaciones aparte de la comunicación segura de información y, actualmente, una de las aplicaciones más extendidas de las técnicas y métodos estudiados por la criptología es la autenticación de información digital (también llamada firma digital).Coloquialmente, se consideran erróneamente los términos encriptar y cifrar como sinónimos, al igual que sus respectivas contrapartes, desencriptar y descifrar, pero no ocurre lo mismo con el término codificar. No obstante, se debe utilizar el término cifrar en vez de encriptar, ya que se trata de un anglicismo de los términos ingleses encrypt y decrypt. Por definición codificar significa expresar un mensaje utilizando algún código, pero no necesariamente de forma oculta, secreta o ininteligible; escribir en idioma español implica el uso de un código, que será comprensible para los hispanohablantes pero no tanto para quienes no dominan el idioma; la matemática y la lógica tienen sus propios códigos, y en general existen tantos códigos como ideas.El procedimiento utilizado para cifrar datos se realiza por medio de un algoritmo al cual se le puede considerar como una función matemática. Por lo tanto, un algoritmo de cifrado es una fórmula para desordenar una información de manera que ésta se transforme en incomprensible, usando un código o clave (en ocasiones, más de una). Los mensajes que se tienen que proteger, denominados texto en claro, se transforman mediante esta función, y a la salida del proceso de puesta en clave se obtiene el texto cifrado, o cifrograma. En muchos casos, existe un algoritmo de descifrado encargado de reordenar la información y volverla inteligible, pero no siempre es así. Cuando existen ambas funciones, una para cifrar y otra para descifrar, se dice que el sistema criptográfico es de

Page 3: Criptografía

ADMINISTRACION DE REDES DE COMPUTADORESSERGIO ALEXIS CANO SEPULVEDA GRUPO: 941575

dos vías o reversible (a partir de un mensaje en claro se puede obtener uno cifrado y a partir de éste se puede obtener el mensaje original), mientras que cuando no existe una función para descifrar se dice que el sistema es de una sola vía (a partir de un mensaje cifrado no es posible obtener el mensaje en claro que lo generó; la aplicación de esto es, por ejemplo, para el almacenamiento de contraseñas).La transformación de datos provee una posible solución a dos de los problemas de la seguridad en el manejo de datos. El problema de la privacidad y el de la autenticación, evitando que personas no autorizadas puedan extraer información del canal de comunicación o modificar estos mensajes.Desde el punto de vista histórico los métodos de cifrado se han dividido en dos categorías: cifradores de sustitución y cifradores de transposición. En un cifrador de sustitución, cada letra o grupo de letras se sustituye por otra letra o grupo de letras para disfrazarlas. Los cifradores de sustitución preservan el orden de los símbolos del texto en claro, pero los disfrazan. El cifrador de sustitución más antiguo que se conoce es el cifrador de César, atribuido a Julio César. En este método, A se representa por D, B por E, C por F, y así cada letra se sustituye por la que se encuentra tres lugares delante de ella, considerando que luego de la Z vuelve a comenzar por la A. Una variante del cifrador de César es permitir que el alfabeto cifrado se pueda desplazar k letras (no sólo 3), convirtiéndose k en la clave.

¿QUÉ ES EL PROCESO DE ENCRIPTACIÓN Y DESENCRIPTACIÓN?

La encriptación es el proceso en el cual los datos a proteger son traducidos a algo que parece aleatorio y que no tiene ningún significado (los datos encriptados o cifrados).La desencriptación es el proceso en el cual los datos encriptados son convertidos nuevamente a su forma original.

¿QUÉ ES UN ALGORITMO CRIPTOGRÁFICO?

Un algoritmo criptográfico, o cifrador, es una función matemática usada en los procesos de encriptación y desencriptación. Un algoritmo criptográfico trabaja en combinación con una llave (un número, palabra, frase, o contraseña) para encriptar y desencriptar datos. Para encriptar, el algoritmo combina matemáticamente la información a proteger con una llave provista. El resultado de este cálculo son los datos encriptados. Para desencriptar, el algoritmo hace un cálculo combinando los datos encriptados con una llave provista, siendo el resultado de esta combinación los datos desencriptados (exactamente igual a como estaban antes de ser encriptados si se usó la misma llave). Si la llave o los datos son modificados el algoritmo produce un resultado diferente. El objetivo de un algoritmo criptográfico es hacer tan difícil como sea posible desencriptar los datos sin utilizar la

Page 4: Criptografía

ADMINISTRACION DE REDES DE COMPUTADORESSERGIO ALEXIS CANO SEPULVEDA GRUPO: 941575

llave. Si se usa un algoritmo de encriptación realmente bueno, entonces no hay ninguna técnica significativamente mejor que intentar metódicamente con cada llave posible. Incluso para una llave de sólo 40 bits, esto significa 2ˆ40 (poco más de 1 trillón) de llaves posibles.

¿QUÉ DIFERENCIAS HAY ENTRE LOS ALGORITMOS SIMÉTRICOS Y LOS ASIMÉTRICOS?

Los algoritmos simétricos encriptan y desencriptan con la misma llave. Las principales ventajas de los algoritmos simétricos son su seguridad y su velocidad. Los algoritmos asimétricos encriptan y desencriptan con diferentes llaves. Los datos se encriptan con una llave pública y se desencriptan con una privada, siendo ésta su principal ventaja. Los algoritmos asimétricos, también conocidos como algoritmos de llave pública, necesitan al menos una llave de 3.000 bits para alcanzar un nivel de seguridad similar al de uno simétrico de 128 bits. Y son increíblemente lentos, tanto que no pueden ser utilizados para encriptar grandes cantidades de información. Los algoritmos simétricos son aproximadamente 1.000 veces más rápidos que los asimétricos.

CRIPTOANALISIS

Criptoanálisis (del griego kryptós, "escondido" y analýein, "desatar") es el estudio de los métodos para obtener el sentido de una información cifrada, sin acceso a la información secreta requerida para obtener este sentido normalmente. Típicamente, esto se traduce en conseguir la clave secreta. En el lenguaje no técnico, se conoce esta práctica como romper o forzar el código, aunque esta expresión tiene un significado específico dentro del argot técnico."Criptoanálisis" también se utiliza para referirse a cualquier intento de sortear la seguridad de otros tipos de algoritmos y protocolos criptográficos en general, y no solamente el cifrado. Sin embargo, el criptoanálisis suele excluir ataques que no tengan como objetivo primario los puntos débiles de la criptografía utilizada; por ejemplo, ataques a la seguridad que se basen en el soborno, la coerción física, el robo, el keylogging y demás, aunque estos tipos de ataques son un riesgo creciente para la seguridad informática, y se están haciendo gradualmente más efectivos que el criptoanálisis tradicional.Aunque el objetivo ha sido siempre el mismo, los métodos y técnicas del criptoanálisis han cambiado drásticamente a través de la historia de la criptografía, adaptándose a una creciente complejidad criptográfica, que abarca desde los métodos de lápiz y papel del pasado, pasando por máquinas como Enigma -utilizada por los nazis durante la Segunda Guerra Mundial-, hasta llegar a los sistemas basados en computadoras del presente.

Page 5: Criptografía

ADMINISTRACION DE REDES DE COMPUTADORESSERGIO ALEXIS CANO SEPULVEDA GRUPO: 941575

Los resultados del criptoanálisis han cambiado también: ya no es posible tener un éxito ilimitado al romper un código, y existe una clasificación jerárquica de lo que constituye un ataque en la práctica. A mediados de los años 70 se inventó una nueva clase de criptografía: la criptografía asimétrica. Los métodos utilizados para romper estos sistemas son por lo general radicalmente diferentes de los anteriores, y usualmente implican resolver un problema cuidadosamente construido en el dominio de la matemática pura. El ejemplo más conocido es la factorización de enteros.

HISTORIA DEL CRIPTOANÁLISIS

El criptoanálisis ha evolucionado conjuntamente con la criptografía, y la competición entre ambos puede ser rastreada a lo largo de toda la historia de la criptografía. Las claves nuevas se diseñaban para reemplazar los esquemas ya rotos, y nuevas técnicas de criptoanálisis se desarrollaban para abrir las claves mejoradas. En la práctica, se considera a ambas como las dos caras de la misma moneda: para crear un sistema criptográfico seguro, es necesario tener en cuenta los descubrimientos del criptoanálisis. De hecho, hoy en día se suele invitar a la comunidad científica a que trate de romper las nuevas claves criptográficas, antes de considerar que un sistema es lo suficientemente seguro para su uso.

TIPOS DE CRIPTOGRAFIA

CRIPTOGRAFÍA SIMÉTRICA (CLAVE SECRETA) Es el sistema de cifrado más antiguo y consiste en que tanto el emisor como el receptor encriptan y desencriptan la información con una misma clave k (clave secreta) que ambos comparten. El funcionamiento es muy sencillo: el emisor cifra el mensaje con la clave k y se lo envía al receptor. Este último, que conoce dicha clave, la utiliza para desencriptar la información. Es importante considerar que para que el sistema sea razonablemente robusto contra ataques de tipo criptoanálisis, esta clave k ha de ser mayor de 40 bits, lo cual choca con las restricciones de exportación de tecnología criptográfica del gobierno americano, que marca los 40 bits como límite de clave para programas que utilicen este tipo de tecnología. Algoritmos típicos que utilizan cifrado simétrico son DES, IDEA, RC5, etc, El criptosistema de clave secreta más utilizado es el Data Encryption Standard (DES) desarrollado por IBM y adoptado por las oficinas gubernamentales estadounidenses para protección de datos desde 1977.

Page 6: Criptografía

ADMINISTRACION DE REDES DE COMPUTADORESSERGIO ALEXIS CANO SEPULVEDA GRUPO: 941575

Este sistema de cifrado tiene la ventaja de que es altamente eficiente, dado que los algoritmos utilizados son muy rápidos al poder implementarse tanto en hardware como en software de una forma fácil. El mayor inconveniente de la criptografía simétrica es que esta clave k, al ser compartida, ha de ser comunicada de forma segura entre las dos partes de la comunicación (por teléfono, correo certificado, etc.), previamente a ésta. Si este secreto fuese enviado por un canal inseguro, como por ejemplo Internet, la seguridad del sistema sería bastante pobre, dado que cualquiera podría interceptarla y comprometer todo el sistema. También hay que tener en cuenta la frecuencia con la que esta clave debe ser renovada para evitar que sea desvelada. Otro gran problema a tener en cuenta es el manejo de estas claves, ya que en una red de n usuarios, cada pareja necesita tener su clave secreta particular, lo que hace un total de n(n-1)/2 claves para esa red (es decir, combinaciones de n usuarios tomadas de 2 en 2); Esto supone unas cinco mil claves en una red de sólo cien usuarios, medio millón en una de mil, y varios billones en una red tan grande como el sistema de telefonía convencional de cualquier país desarrollado. Es económicamente inaceptable el que se puedan distribuir todas estas claves por anticipado, e indeseable el tener que posponer las comunicaciones seguras mientras las claves están siendo trasladadas de una a otra parte. Veremos a continuación que ambos problemas son resueltos con la llegada de los criptosistemas de clave pública o asimétrica.

DESVENTAJAS RESPECTO AL CIFRADO SIMÉTRICO

La mayor ventaja de la criptografía asimétrica es que se puede cifrar con una clave y descifrar con la otra, pero este sistema tiene bastantes desventajas:Para una misma longitud de clave y mensaje se necesita mayor tiempo de proceso.Las claves deben ser de mayor tamaño que las simétricas.El mensaje cifrado ocupa más espacio que el original.El sistema de criptografía de curva elíptica representa una alternativa menos costosa para este tipo de problemas.Herramientas como PGP, SSH o la capa de seguridad SSL para la jerarquía de protocolos TCP/IP utilizan un híbrido formado por la criptografía asimétrica para intercambiar claves de criptografía simétrica, y la criptografía simétrica para la transmisión de la información.

Page 7: Criptografía

ADMINISTRACION DE REDES DE COMPUTADORESSERGIO ALEXIS CANO SEPULVEDA GRUPO: 941575

CRIPTOGRAFÍA ASIMÉTRICA (CLAVE PÚBLICA) En 1976 Diffie y Hellman describieron el primer criptosistema de clave pública conocido como el cambio de clave Diffie-Hellman. Estos criptosistemas están basados en propiedades matemáticas de los números primos, que permite que cada interlocutor tenga una pareja de claves propias. De esta pareja de claves, una se denomina privada o secreta y la otra, pública. La clave privada no se transmite nunca y se mantiene secreta. La clave pública, por el contrario, se puede y se debe poner a disposición de cualquiera, dado que es imposible deducir la clave privada a partir de la pública. La propiedad fundamental de esta pareja de claves es que lo que se cifra con una de estas claves, se descifra con la otra. Esta potente característica asimétrica es la que permite a esta tecnología servir de base el diseño de sistemas de comunicación segura. Para que este sistema sea lo suficientemente robusto contra ataques de criptoanálisis, las claves han de ser de una longitud mínima de 1024 bits, siendo recomendable, en los casos que sea posible, utilizar claves de 2048 bits. De nuevo nos encontramos con el límite de 512 bits impuestos por la legislación americana para la exportación de software criptográfico. El más extendido de los sistemas de clave pública fue desarrollado por Rivest, Shamir y Adleman en el MIT en 1977 y se conoce como criptosistema RSA. Este algoritmo es reversible, es decir, además de permitir cifrar con la clave pública y descifrar con la privada, permite cifrar con la clave privada y descifrar con la pública. Este modo de cifrado no proporciona confidencialidad ya que cualquiera puede descifrar un mensaje cifrado con una clave secreta al poder obtener siempre la componente pública de su interlocutor, sin embargo el hecho de cifrar un mensaje con la clave secreta de un usuario implica una identificación del usuario al igual que lo hace una firma, por lo que este proceso se conoce con el nombre de firma digital. La principal ventaja de este tipo de criptosistemas es que la clave secreta ya no tiene que transmitirse entre los interlocutores y tampoco es necesario tener claves diferentes para cada pareja de interlocutores, es suficiente con que cada usuario tenga su clave doble con componente pública y privada. Por lo tanto el número total de claves asimétricas en una red se reduce a 2n, esto supone ahora sólo 200 claves en una red de cien usuarios, 2000 en una de mil, y varios miles en una red tan grande como el sistema de telefonía convencional de cualquier país desarrollado. Cualquier intruso que intercepte la transmisión de un mensaje encriptado con la clave pública no podrá descifrar el contenido de la misma al no poseer la clave privada del receptor, por lo que no supone ningún peligro el enviar dicha clave por un canal inseguro (aunque esto no es del todo cierto, ya que como veremos más tarde el ataque "man-in-the-middle" atenta contra la integridad de la clave pública)

Page 8: Criptografía

ADMINISTRACION DE REDES DE COMPUTADORESSERGIO ALEXIS CANO SEPULVEDA GRUPO: 941575

Una funcionalidad que se basa en este tipo de cifrado es la posibilidad de incluir una firma digital en los mensajes, como vimos anteriormente con el RSA. Estos algoritmos tienen la desventaja de que no son tan eficientes a nivel de velocidad como pueden ser los basados en criptografía simétrica (y resultan inviables en transmisiones de cantidades de datos considerables), aunque el mayor inconveniete que tienen se refiere a la autenticidad de las claves públicas, es decir, ¿quién nos garantiza que la clave pública de un interlocutor, que se obtiene libremente en la red, es realmente de él?, ¿Qué ocurriría si alguien nos envía su clave pública afirmando ser alguien que realmente no es?.Este último problema es resuelto mediante las Autoridades de Certificación (CA "Certification Authority"), que emiten certificados de las claves públicas de los usuarios firmando con su clave secreta un documento, válido por un período determinado de tiempo, que asocia el nombre distintivo de un usuario con su clave-pública.

En un mensaje que tenga un texto: "invadir a media noche" será codificado como: "fwnxmao j ebrs kxaqn"

HISTORIA DE LA CRIPTOGRAFÍA

La historia de la criptografía es larga y abunda en anécdotas. Ya las primeras civilizaciones desarrollaron técnicas para enviar mensajes durante las campañas militares de forma que si el mensajero era interceptado la información que portaba no corriera el peligro de caer en manos del enemigo. Posiblemente, el primer criptosistema que se conoce fuera documentado por el historiador griego Polibio: un sistema de sustitución basado en la posición de las letras en una tabla. También los romanos utilizaron sistemas de sustitución, siendo el método actualmente conocido como César, porque supuestamente Julio César lo utilizó en sus campañas, uno de los más conocidos en la literatura (según algunos autores, en realidad Julio César no utilizaba este sistema de sustitución, pero la atribución tiene tanto arraigo que el nombre de éste método de sustitución ha quedado para los anales de la historia). Otro de los métodos criptográficos utilizados por los griegos fue la escitala espartana, un método de trasposición basado en un cilindro que servía como clave en el que se enrollaba el mensaje para poder cifrar y descifrar.En 1465 el italiano Leon Battista Alberti inventó un nuevo sistema de sustitución polialfabética que supuso un gran avance de la época. Otro de los criptógrafos más importantes del siglo XVI fue el francés Blaise de Vigenere que escribió un importante tratado sobre "la escritura secreta" y que diseñó una cifra que ha llegado a nuestros días asociada a su nombre. A Selenus se le debe la obra criptográfica "Cryptomenytices et Cryptographiae" (Lüneburg, 1624). 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 una cifra con un alfabeto de más de 500 símbolos que los matemáticos del rey

Page 9: Criptografía

ADMINISTRACION DE REDES DE COMPUTADORESSERGIO ALEXIS CANO SEPULVEDA GRUPO: 941575

consideraban inexpugnable. Cuando el matemático francés François Viète consiguió criptoanalizar aquel sistema para el rey de Francia, a la sazón Enrique IV, el conocimiento mostrado por el rey francés impulsó una queja de la corte española ante del papa Pío V acusando a Enrique IV de utilizar magia negra para vencer a sus ejércitos. Por su parte, la reina María Estuardo, reina de los Escoceses, fue ejecutada por su prima Isabel I de Inglaterra al descubrirse un complot de aquella tras un criptoanálisis exitoso por parte de los matemáticos de Isabel.

FUNCION O METODO HASH

Una función de hash en funcionamientoEn informática, Hash se refiere a una función o método para generar claves o llaves que representen de manera casi unívoca a un documento, registro, archivo, etc., resumir o identificar un dato 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 de hash es una función para resumir o identificar probabilísticamente un gran conjunto de información, dando como resultado un conjunto imagen finito generalmente menor (un subconjunto de los números naturales por ejemplo). Varían en los conjuntos de partida y de llegada y en cómo afectan a la salida similitudes o patrones de la entrada. Una propiedad fundamental del hashing es que si dos resultados de una misma función son diferentes, entonces las dos entradas que generaron dichos resultados también lo son.Es posible que existan claves resultantes iguales para objetos diferentes, ya que el rango de posibles claves es mucho menor que el de posibles objetos a resumir (las claves suelen tener en torno al centenar de bits, pero los ficheros no tienen un tamaño límite).Son usadas en múltiples aplicaciones, como los arrays asociativos, criptografía, procesamiento de datos y firmas digitales, entre otros. Una buena función de hash es una

Page 10: Criptografía

ADMINISTRACION DE REDES DE COMPUTADORESSERGIO ALEXIS CANO SEPULVEDA GRUPO: 941575

que experimenta pocas colisiones en el conjunto esperado de entrada; es decir que se podrán identificar unívocamente las entradas.