SISTEMAS DE TRANSMISIÓN Y REDES INALÁMBRICAS INTRODUCCIÓN Criptografía proviene del griego y significa “Escritura secreta”. Se debe hacer una distinción entre cifrados y códigos: Un cifrado es una transformación carácter a carácter o bit a bit, sin importar la estructura lingüística del mensaje. Un código reemplaza una palabra por otra palabra o símbolo. Los códigos ya no se utilizan (El código con mayor éxito fue el de las fuerzas armadas de Estados Unidos durante la Segunda Guerra mundial en el Pacífico: el lenguaje navajo, altamente tonal, extremadamente complejo y no tiene forma escrita) Históricamente, cuatro grupos de personas han utilizado y contribuido al arte de la criptografía: los militares, el cuerpo diplomático, los escritores de diarios y los amantes. De éstos, el aporte más significativo lo han realizado los militares, dominando el campo a través de los siglos. Dentro de las organizaciones militares, los mensajes por encriptar se han entregado tradicionalmente a empleados mal remunerados para su codificación y transmisión. Hasta la llegada de las computadoras, una de las principales restricciones de la criptografía había sido la capacidad del empleado encargado de la codificación para realizar las transformaciones necesarias, con frecuencia en un campo de batalla con poco equipo. Una restricción adicional ha sido la dificultad de cambiar rápidamente de un método criptográfico a otro, debido a que esto implicaba volver a capacitar a una gran cantidad de personas. Sin embargo, el peligro de que un empleado fuera capturado por el enemigo ha hecho indispensable la capacidad de cambiar el método criptográfico de manera instantánea, de ser necesario. En la actualidad existe otra necesidad para extender el uso de la criptografía, una necesidad que no existía en la época en la que las guerras financiaban el estudio de la criptografía. La necesidad del derecho a la PRIVACIDAD Cada uno de los hombres tiene el derecho constitucional a la privacidad: el derecho a realizar comunicaciones privadas con quien desee, el derecho a que nadie lo escuche, a que nadie pueda leer lo que escribe, a que nadie conozca su vida privada. Y un derecho que no es muy conocido y que pocas veces se pone en práctica, el derecho al ANONIMATO. Se trata, básicamente, de la misma razón por la que se mandan cartas dentro de sobres y no en simples papeles (más allá de la protección física de la carta); porque el hombre no quiere que nadie sepa lo que está haciendo. SEGURIDAD CRIPTOGRÁFICA Página 1 de 8 SISTEMAS DE TRANSMISIÓN Y REDES INALÁMBRICAS La criptografía como la conocemos hoy surgió con la invención de la computadora TIPOS DE SEGURIDAD EN CRIPTOGRAFÍA Existen dos tipos de seguridad diferentes: La incondicionalmente segura: El texto cifrado no contiene información suficiente para que a partir de él se deduzca el texto en claro, sin importar el esfuerzo y los medios ilimitados que se empleen. La computacionalmente segura: El costo de averiguar el mensaje es superior al valor de la información contenida en el texto cifrado o el tiempo requerido para descifrar el mensaje es superior a la validez temporal de dicho mensaje. DEFINICIONES BÁSICAS CRIPTOGRAFÍA: Ciencia y arte de mantener seguros los mensajes CRIPTOANÁLISIS: Ciencia y arte de descifrar los mensajes El criptoanálisis y la criptografía se conocen en conjunto como CRIPTOLOGÍA SISTEMA CRIPTOGRÁFICO BÁSICO CANAL DE TRANSMISIÓN TEXTO PLANO (T) TRANSMISOR TEXTO PLANO (T) RECEPTOR TEXTO CIFRADO (C) A continuación, se introduce la notación empleada para relacionar el texto plano, el texto cifrado y las claves empleadas: SEGURIDAD CRIPTOGRÁFICA Página 2 de 8 SISTEMAS DE TRANSMISIÓN Y REDES INALÁMBRICAS Se usará para indicar el proceso de encriptación del texto plano “T” utilizando la clave ; lo cuál genera el texto cifrado (Ciphertext), por lo tanto: Del mismo modo, representa la desencriptación de “C” para obtener el texto plano original, así: Formalmente, todo procedimiento criptográfico se define de la siguiente manera: Siendo E y D funciones matemáticas de dos variables, la clave de encriptación y la clave de desencriptación Observación: Dado que E y D son funciones de dos variables, una notación matemática formal adecuada implica considerar las claves como argumentos y no como subíndices, así: Una regla fundamental de la criptografía es que se debe suponer que el criptoanalista conoce el método general de encriptación y desencriptación usado. Es decir, el criptoanalista conoces los detalles de la implementación de las funciones matemáticas E y D. El esfuerzo necesario para inventar, probar e instalar un nuevo algoritmo cada vez que el método antiguo está en peligro, o se piensa que lo está, siempre ha hecho impráctico mantener en secreto el algoritmo de encriptación (seguridad por desconocimiento). La clave consiste en una cadena relativamente corta que permite seleccionar una de muchas encriptaciones potenciales. En contraste con el algoritmo de encriptación, que tal vez se cambie cada cierto número de años, la clave puede cambiarse con la frecuencia deseada. SEGURIDAD CRIPTOGRÁFICA Página 3 de 8 SISTEMAS DE TRANSMISIÓN Y REDES INALÁMBRICAS De esta forma, el algoritmo de encriptación empleado es un método general estable y conocido públicamente, parametrizado con una clave secreta que puede cambiarse con facilidad. Este resultado se conoce como principio de Kerckhoff, que debe su nombre al criptógrafo militar holandés Auguste Kerckhoff, que lo estableció en 1883. Por lo tanto: PRINCIPIO DE KERCKHOFF: TODAS LOS ALGORITMOS DEBEN SER PÚBLICOS, SÓLO LAS CLAVES DEBEN SER SECRETAS SEGURIDAD CRIPTOGRÁFICA Página 4 de 8 SISTEMAS DE TRANSMISIÓN Y REDES INALÁMBRICAS CRIPTOGRAFÍA CLÁSICA Los métodos de encriptación han sido divididos históricamente en dos categorías: Cifrado por sustitución Cifrado por transposición CIFRADOS POR SUSTITUCIÓN En un cifrado por sustitución, cada letra o grupo de letras se reemplazan por otra letra o grupo de letras para “disfrazarla”. Uno de los cifrados más viejos conocidos es el cifrado del César, atribuido a Julio César. En este cifrado, el alfabeto se desplaza un número igual a 3 utilizando mayúsculas. Es decir “a” se vuelve “D”, “b” se vuelve “E”…..y “z” se vuelve “C”. Por ejemplo “ataque” se convierte en “DWDTXH”. Para todos los ejemplos, el texto plano se representará en minúsculas y el cifrado en mayúsculas. Una generalización del cifrado del César consiste en desplazar k letras el alfabeto del texto cifrado, siendo k=3 para el cifrado del César. En este caso, k se convierte en una clave del método general de alfabetos desplazados circularmente. La siguiente mejora es establecer una correspondencia no secuencial entre los alfabetos. Por ejemplo: TEXTO CLARO 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 z Q W E R T Y U I O P A S D F G H J K L Z X C V B N M TEXTO CIFRADO El sistema general de sustitución de símbolo por símbolo se llama sustitución monoalfabética, siendo la clave secreta la cadena de 26 letras correspondiente al alfabeto completo. Para la clave anterior, el texto plano “stri” se transformaría en el texto cifrado “LZKO”. Este sistema puede parecer seguro, porque aunque el criptoanalista conozca el sistema general (sustitución letra por letra), no sabe cuál de las claves posibles se está usando. Intentar una por una no es una alternativa recomendable. A SEGURIDAD CRIPTOGRÁFICA Página 5 de 8 SISTEMAS DE TRANSMISIÓN Y REDES INALÁMBRICAS 1 nanosegundo por solución, una computadora tardaría años en probar todas las claves. No obstante, si se cuenta con una cantidad pequeña de texto cifrado, puede descifrarse fácilmente aprovechando la estadística lingüística. CIFRADOS POR TRANSPOSICIÓN Los cifrados por sustitución conservan el orden de los símbolos de texto plano, pero los disfrazan. Los cifrados por transposición, reordenan las letras pero no las disfrazan. A continuación se presenta un ejemplo de transposición columnar: S 5 r a c I 3 e l a S 6 d a s T 7 e m a E 2 s b b M 4 i r c A 1 n i d La clave del cifrado es “SISTEMA”. El objetivo de la clave es numerar las columnas, estando la columna número 1 bajo la letra de la clave más próxima al comienzo del alfabeto y así sucesivamente, en este ejemplo, la “A”, luego la “E”, etc. El texto plano se escribe horizontalmente, en filas, las cuáles se rellenan para completar la matriz si es necesario. El texto cifrado se lee por columnas, comenzando por la 1, luego la 2,3, etc. En el ejemplo, el texto plano es “redesinalambricas”, y el cifrado será: “NIDSBBELAIRCRACDASEMA”. SEGURIDAD CRIPTOGRÁFICA Página 6 de 8 SISTEMAS DE TRANSMISIÓN Y REDES INALÁMBRICAS ENCRIPTACIÓN SIMÉTRICA En los algoritmos de encriptación simétrica, se utiliza la misma clave para encriptar y desencriptar. Existen dos tipos: 1) CIFRADO POR BLOQUES Una gran parte de los algoritmos de cifrado simétrico operan dividiendo el mensaje que se pretende codificar en bloques de tamaño fijo, y aplican sobre cada uno de ellos una combinación mas o menos compleja de operaciones de Sustitución (confusión) y transposición (difusión). Estos algoritmos se denominan, en general, cifrados por bloques. La confusión consiste en tratar de ocultar la relación que existe entre el texto claro, el texto cifrado y la clave. Un buen mecanismo de confusión hará demasiado complicado extraer relaciones estadísticas entre las tres cosas. Por su parte la difusión trata de repartir la influencia de cada bit del mensaje original lo más posible entre el mensaje cifrado. Un hecho digno de ser tenido en cuenta es que la confusión por si sola resulta suficiente, ya que si establecemos una tabla de sustitución completamente diferente para cada clave con todos los textos claros posibles tendremos un sistema extremadamente seguro. Sin embargo, dichas tablas ocuparían cantidades enormes de memoria, por lo que en la práctica resultan inviables. Por ejemplo, un algoritmo que codificara bloques de 128 bits empleando una clave de 80 bits necesitaría una tabla de aproximadamente 1063 entradas. Lo que en realidad se hace para conseguir algoritmos fuertes sin necesidad de almacenar tablas enormes es intercalar la confusión (sustituciones simples, con tablas pequeñas) y la difusión (permutaciones). Esta combinación se conoce como cifrado de producto. La mayoría de los algoritmos se basan en diferentes capas de sustituciones y permutaciones, estructura que se denomina Red de SustituciónPermutación. En muchos casos el criptosistema no es más que una operación combinada de sustituciones y permutaciones, repetida n veces, como ocurre con DES. Son ejemplos de cifrado por bloques: DES 3DES AES IDEA SEGURIDAD CRIPTOGRÁFICA Página 7 de 8 SISTEMAS DE TRANSMISIÓN Y REDES INALÁMBRICAS 2) CIFRADO DE FLUJO En 1917, J. Mauborgne y G. Vernam inventaron un criptosistema que consistía en emplear una secuencia aleatoria de igual longitud que el mensaje, que se usaría una única vez —lo que se conoce en inglés como one–time pad—, combinándola mediante alguna función simple y reversible —usualmente el OR exclusivo— con el texto en claro carácter a carácter. Este método presenta el grave inconveniente de que la clave es tan larga como el propio mensaje, y si disponemos de un canal seguro para enviar la clave, ¿por qué no emplearlo para transmitir el mensaje directamente? Evidentemente, un sistema de Vernam carece de utilidad práctica en la mayoría de los casos, pero supongamos que disponemos de un generador pseudo aleatorio capaz de generar secuencias criptográficamente aleatorias, de forma que la longitud de los posibles ciclos sea extremadamente grande. En tal caso podríamos, empleando la semilla del generador como clave, obtener cadenas de bits de usar y tirar, y emplearlas para cifrar mensajes simplemente aplicando la función XOR entre el texto en claro y la secuencia generada. Todo aquel que conozca la semilla podría reconstruir la secuencia pseudo aleatoria y de esta forma descifrar el mensaje. Los algoritmos considerados utilizan una clave privada. Dichos algoritmos no son más que la especificación de un generador pseudo aleatorio, y permiten cifrar mensajes de longitud arbitraria, combinando el mensaje con la secuencia mediante la operación OR exclusivo byte a byte, en lugar de dividirlos en bloques para codificarlos por separado. Como cabria esperar, estos criptosistemas no proporcionan seguridad perfecta, ya que mientras en el cifrado de Vernam el número de posibles claves era tan grande como el de posibles mensajes, cuando empleamos un generador tenemos como mucho tantas secuencias distintas como posibles valores iniciales de la semilla. Como ejemplo de este tipo de cifrado, se puede mencionar a RC4, el cuál es el motor de cifrado para WEP (Wired Equivalent Privacy). SEGURIDAD CRIPTOGRÁFICA Página 8 de 8