Criptografía - Tema 4 PDF
Document Details
Uploaded by ResoundingDivisionism
Escuela Superior de Administración Pública
Tags
Summary
This document provides an introduction to cryptography, covering both classic and modern techniques. It's likely intended for an information security or computer science course. The document also includes exercises related to basic cryptography.
Full Transcript
Criptografía Seguridad Informática Unidad 4 Si descifras este mensaje, No tendrás que examinarte del tema D U P _ S I E R E L _ E S E Y O T S _ E _ _ D A N A _ A R O P _ T...
Criptografía Seguridad Informática Unidad 4 Si descifras este mensaje, No tendrás que examinarte del tema D U P _ S I E R E L _ E S E Y O T S _ E _ _ D A N A _ A R O P _ T E D N T E D A _ E R U S. E R E P L E. T E _. T E F R O A El PROFEta 1.1 Introducción: Dentro de la seguridad activa podemos encontrar la criptografía, que consiste en ocultar la información de manera que quien la vea no pueda entender su significado. Se utiliza sobre todo a la hora de almacenar las claves, al enviar o recibir información, o bien a la hora de almacenar información a la que queramos proteger especialmente su privacidad. 1.2 Definición: podemos definir criptografía como la ciencia que estudia las técnicas que permitan ocultar o cifrar la información de forma que un usuario que no conozca las claves para desencriptarla no pueda acceder a la misma. 1.3 Criptoanálisis: se encarga de estudiar los métodos para poder acceder a la información encriptada sin necesidad de obtener las claves necesarias (análisis de frecuencias, ataque por fuerza bruta, …) 2.1 Criptografía clásica Fueron los primeros métodos de cifrado muy rudimentarios y utilizando como soporte el papel. Se utilizaba sobre todo en las comunicaciones militares así como en ciertas sociedades secretas. Las técnicas o métodos de cifrado que se utilizaban, se pueden clasificar en dos categorías: Por sustitución: en los que un carácter o conjunto de caracteres es sustituido por otro carácter o conjunto. Por transposición: en los que se cambia el orden de los caracteres del mensaje original para así cifrarlo. Dentro de la criptografía clásica se desarrollaron diferentes métodos usados por distintas civilizaciones, como son: Atbash, Escíntala, el cifrador de Polybios, el cifrado de César, … 2.1.1.Escítala Los primeros mensajes cifrados datan del siglo V antes de Jesucristo; ya entonces los espartanos usaban la escítala para ocultar las comunicaciones. El método, que utilizaba el cifrado por transposición, consistía en enrollar una cinta sobre un bastón y posteriormente escribir el mensaje en forma longitudinal. Después la cinta se desenrollaba del bastón y era enviado mediante un mensajero; si éste era atrapado por los enemigos, sólo obtendrían un conjunto de caracteres sin sentido. El receptor sólo podría interpretar el mensaje siempre y cuando tuviese un bastón similar al que se utilizó para ocultar el mensaje, es decir una vara con el mismo diámetro. 2.1.2. Polybios A mediados del siglo II antes de Cristo, los griegos desarrollaron otro método conocido con el nombre de quien se cree que lo desarrolló, el historiador Polybios. El cifrado consistía en sustituir cada letra del mensaje original por el par de letras o números que indicaban las coordenadas de fila y columna en la cual se encontraba. Este método de cifrado por sustitución, requería que la tabla de sustitución sólo debiera ser conocida por el emisor y el receptor del mensaje. Tabla cifrador de Polybios Descifra el siguiente mensaje utilizando el método de Polybios: CBAE BBDEDCDDAA CAAA ACDBBDCEDDCDBBDBAABABDAA 2.1.3. Cifrado de César En el siglo I antes de Cristo los romanos desarrollan el cifrador del César, cuyo método consistía en sustituir cada carácter por otro, resultado de desplazar tres posiciones hacia la derecha el carácter original del alfabeto utilizado. Este es un método de cifrado de sustitución monoalfabético muy vulnerable, ya que existe una correspondencia entre el alfabeto original y el de cifrado. Si analizamos la frecuencia de las letras, podemos romper fácilmente este método de cifrado. Tabla con los alfabetos latinos del cifrador de César Cifra el siguiente mensaje mediante el cifrador de César: “El cifrador de César tiene muchas vulnerabilidades” 2.1.4. Cifrado de Atbash Es otro ejemplo de cifrado por sustitución, que realizaban los hebreos en la antigüedad. Era un sistema monoalfabético, lo que implica que un carácter se sustituye siempre por otro con lo que el mensaje original y el cifrado tienen la misma longitud. El método consiste es sustituir un carácter por el carácter opuesto en el alfabeto, de ahí su nombre (atbash o espejo) Alfabeto original Alfabeto cifrado Los métodos de cifrado clásicos eran fáciles de descifrar por técnicas de criptoanálisis. Esta fue una de las causas por las que las técnicas de codificación clásicas fueron sustituidas por otras más complejas, aunque en su momento fueron muy útiles. Actividades: Realizar un script en Línux que reciba un archivo de texto desde la línea de comandos y genere otro archivo codificado utilizando el método de sustitución de Atbash. Este script recibirá como parámetro el nombre del archivo y una opción para codificar/decodificar el archivo. Para realizar el script utilizar el comando tr (translate) de Linux $ atbash [-c | -d] archivo.txt Alfabeto original Alfabeto cifrado 2.2 Criptografía moderna Los métodos de criptografía se van mejorando además de introducir mejoras en los dispositivos utilizados para el cifrado de la información, tales como teclados, ruedas y máquinas de cifrado. Máquina “Púrpura” utilizada por el Maquina de claves "Enigma" ejército japonés durante la Segunda Rueda de Jefferson Guerra Mundial usada por submarinos nazis. 2.3 Criptografía actual Actualmente los antiguos métodos de cifrado se han quedado obsoletos debido a la rapidez de computación de los actuales ordenadores. Como ejemplo: en 1917 el algoritmo de Vigenère fue descrito como irrompible, hoy en día un mensaje cifrado con él se tardarían menos de dos minutos en descifrarlo con un computador. Por ello se han tenido que buscar métodos más complejos de cifrado. En la criptografía actual hablaremos de dos métodos de cifrados: Criptografía simétrica o de clave privada Criptografía asimétrica o de clave pública. 3.1. Criptografía Simétrica o de clave privada Este método se basa en un secreto compartido entre la entidad que cifra el mensaje y la que lo quiere descifrar, es decir, usa la misma clave en el cifrado que en el descifrado. La seguridad de este sistema está basada en la llave simétrica, por lo que es misión fundamental tanto del emisor como del receptor conocer esta clave y mantenerla en secreto. Si la llave cae en manos de terceros, el sistema deja de ser seguro. Las principales desventajas de los métodos simétricos son la distribución de las claves, el peligro de que muchas personas deban conocer una misma clave y la dificultad de almacenar y proteger muchas claves diferentes 3.1.1 Ventajas y desventajas de la criptografía simétrica Como ventajas de los algoritmos de criptografía simétrica están: Gran velocidad de procesamiento. No aumenta el tamaño del mensaje Como desventajas, está la distribución de claves: Es preciso que el receptor conozca la clave que se va a utilizar. Si tenemos un número n de personas que necesitan comunicarse entres sí, se necesitan n/2 claves diferentes para cada pareja de personas que tengan que comunicarse de modo privado. Esto puede funcionar con grupos pequeños de personas, pero no con grupos grandes. 3.2. Criptografía Asimétrica o de clave pública En 1976 dos criptógrafos, Whitfield Diffie y Martin Hellman, publicaron un nuevo método criptográfico que solucionaba las desventajas de la criptografía simétrica. La genial idea de estos investigadores consistía en que cada una de las partes involucradas en una comunicación segura tiene una pareja de claves, una pública y otra privada. Utiliza la clave pública para cifrar y la clave privada para descifrar. Para cifrar un mensaje, el emisor utilizará la clave pública del receptor, y a su vez, el receptor descifrará este mensaje haciendo uso de su clave privada. 3.2. Criptografía Asimétrica Cada usuario tiene una clave pública y una privada asociadas a él. El usuario debe mantener en secreto la privada y distribuir la pública a todos los receptores con los que desea comunicarse. Los métodos criptográficos garantizan que esa pareja de claves sólo se pueda generar una vez, de modo que se puede asumir que no es posible que dos personas hayan obtenido casualmente la misma pareja de claves. En este sistema, lo que cifra la clave pública sólo puede ser descifrado con la privada y lo que cifra la clave privada sólo lo descifra la pública. El procedimiento consiste en que el emisor cifra los datos con la clave pública del receptor, de esta forma se garantiza la confidencialidad del mensaje ya que sólo el receptor puede descifrarlo con su clave privada. 3.2.1 Ventajas y desventajas de la criptografía asimétrica La ventaja principal del cifrado asimétrico, es que se emplean dos claves diferentes, de forma que la clave pública se puede distribuir sin poner en riesgo la privacidad de los mensajes cifrados. Pero también tiene bastantes desventajas: Los algoritmos son mucho más lentos que los de cifrado simétrico para la misma longitud de clave. Las claves deben ser de mayor tamaño. El tamaño de la clave es una medida de la seguridad del sistema. El mensaje cifrado ocupa más espacio que el original. 3.3. Criptografía híbrida La desventaja de la criptografía de clave pública es la lentitud del proceso de cifrado y descifrado, que obedece tanto a la complejidad de los métodos utilizados como a la longitud de las claves. Una longitud típica de una clave utilizada en criptografía simétrica es de 128 bits frente a los clásicos 2048 bits que se suelen utilizar en claves de criptografía asimétrica. Otra desventaja es el mayor tamaño de la información cifrada con clave pública frente al tamaño de la misma cuando se cifra con clave privada. La criptografía híbrida trata de aprovechar lo bueno de los dos métodos, de forma que se utilizará la criptografía simétrica para el intercambio de mensajes (más pequeños y más rápidos de cifrar) y utilizar criptografía asimétrica para el intercambio de las claves privadas. Los algoritmos son los métodos que se utilizan para transformar el texto claro en el texto cifrado. Por ejemplo, el algoritmo utilizado en el cifrado por sustitución de César consiste en sustituir cada letra del texto sin cifrar por otra letra del mismo alfabeto que se encuentra situada en el orden del diccionario N puestos por delante; N es el valor de la clave. Los algoritmos de cifrado se clasifican en dos tipos: De bloque llamados así porque dividen el documento en bloque de bits, que por lo general son del mismo tamaño y cifran cada uno de estos de manera independiente, para posteriormente construir el documento cifrado. De flujo se diferencia de los anteriores en que se cifra bit a bit, byte a byte o carácter a carácter, en vez de grupos completos de bits; son muy útiles cuando tenemos que transmitir información cifrada según se va creando, se cifra sobre la marcha. Algoritmos simétricos DES, 3DES, RCA, IDEA, AES , … Algoritmos Asimétricos DH, ElGamal, RSA, … Las funciones resumen conocidas también como hash, huella digital o checksum (suma de verificación) son algoritmos que a partir de una información original (un documento, un mensaje, una clave en claro) genera un resumen único y diferente. A través de este resumen no se puede obtener el original, pero si nos permite comprobar si el original ha sufrido alguna modificación o alteración. Si junto con el documento original se envía el resumen, al volver al calcularlo en el destino, si este no coincide con el enviado, significa que ha habido una alteración en los datos. De entre los principales algoritmos de tipo hash podemos destacar: MD5 (Message Digest 5) devuelve una cadena de 128 bits. SHA (Secure Hash Algorithm). En su versión SHA-512 devuelve una función resumen de 512 bits. Utilizado en las últimas versiones de Linux para cifrar las claves de las cuentas de los usuarios. CRC (Cyclic Redundancy Check) o códigos de redundancia cíclica, es un código ampliamente utilizado para detección de errores en los datos enviados. 6.1 ¿Qué es la firma digital? La firma digital se puede definir como una secuencia de datos electrónicos (bits) que se obtienen mediante la aplicación a un mensaje de un algoritmo de cifrado asimétrico o de clave pública, y que equivale funcionalmente a la firma autógrafa en orden a la identificación del autor del que procede el mensaje. La firma digital tiene el mismo valor legal que la firma escrita. Con la firma digital, dos personas podrán realizar transacciones electrónicas fiables, de forma que se garantice los siguientes requisitos: 1.- Identidad, que implica poder atribuir de forma inequívoca el mensaje electrónico recibido a una determinada persona como autora del mensaje. 2.- Integridad, que implica la certeza de que el mensaje recibido es exactamente el mismo mensaje emitido, sin que haya sufrido alteración alguna durante el proceso de transmisión. 3.- No repudiación o no rechazo en origen, que implica que el emisor del mensaje no pueda negar en ningún caso que el mensaje ha sido enviado por él. 4.- Confidencialidad, no es un requisito esencial de la firma digital sino accesorio de la misma. La confidencialidad implica que el mensaje no haya podido ser leído por terceras personas distintas del emisor y del receptor durante el proceso de transmisión del mismo 6.1 ¿Cómo funciona la firma digital? El proceso de firma digital de un mensaje electrónico comprende en realidad dos procesos sucesivos: la firma del mensaje por el emisor del mismo y la verificación de la firma por el receptor del mensaje. Firma digital de un mensaje electrónico 1. El emisor crea o redacta un mensaje electrónico determinado. 2. El emisor aplica a ese mensaje electrónico una función hash (algoritmo), mediante la cual obtiene un resumen de ese mensaje (por ejemplo utilizando SHA). 3. El emisor cifra ese mensaje-resumen utilizando su clave privada. El resultado es lo que se conoce como firma digital del documento. La fima digital no tiene nada que ver con el cifrado del documento en sí. Si quisieramos cifrar el archivo podemos hacerlo, usando la clave pública del receptor. Al cifrar el resumen del mensaje con la clave privada del emisor, se asegura que la única persona que pudo enviar el mensaje es quien dice ser. 6.1 ¿Cómo funciona la firma digital? Verificación de la firma digital por el receptor 1. El receptor descifrará la firma utilizando la clave pública del emisor del mensaje. 2. El receptor aplicará la misma función hash al mensaje recibido y obtendrá un valor resumen del mismo. 3. Por último, el receptor compara el valor resumen obtenido con el valor resumen recibido con el mensaje. Si ambos valores coinciden, significa que la firma es válida, es decir: El mensaje no ha sufrido alteración durante su transmisión, es decir, es íntegro o auténtico y además proviene necesariamente del emisor. 7.1 ¿Qué es un certificado digital? Un certificado digital es un archivo electrónico que contiene los datos de identificación de una persona o entidad, la clave pública de esa persona o entidad y una firma digital de un organismo de confianza (autoridad certificadora) que garantiza que la clave pública que contiene el certificado pertenece al propietario del mismo. En España, es La Casa de La Moneda y Timbre la que firma los certificados digitales de los usuarios. Estos certificados permiten la realización de muchos trámites a través de internet con las administraciones públicas (declaración de la renta, certificados laborales, …). Actividad: Certificados instalados Comprueba en tu navegador Web (Internet Explorer y Mozilla) si tienes algún certificado digital instalado. Selecciona uno y explica la información que contiene: Exporta un certificado que tengas instalado. ¿qué sentido tiene exportar un certificado digital? 8.1 ¿Qué es PKI? PKI son las siglas de Public Key Infrastructure (Infraestructura de clave pública), o lo que es lo mismo, todo lo necesario, tanto hardware como de software, para las comunicaciones seguras mediante el uso de certificados digitales y firmas digitales. PKI está compuestos de: 1.- La autoridad de certificación, CA (Certificate Authority), es la entidad de confianza encargada de emitir y revocar los Certificados Digitales. 2.- La autoridad de registro, RA (Registration Authority), es la encargada de controlar la generación de certificados (tramitar las solicitudes de los usuarios, comprobar la identidad de los mismo y por último solicitar a la CA la expedición del certificado digital. 3.- Las autoridades de los repositorios donde se almacenan los certificados emitidos y aquellos que han sido revocados por cualquier motivo y han dejado de ser validos. 4.- Todo el software necesario para poder utilizar los certificados digitales. 5.- Política de seguridad definida para las comunicaciones