Buscar este blog

viernes, 2 de agosto de 2013

Discos, cilindros y otros métodos de cifrado

León Battista Alberti quien fue secretario pontificio de la corte romana, en 1466 inventó un disco de cifrado utilizando discos concéntricos divididos en 24 casillas en donde cada una de ellas contenía un carácter (ver figura 1.2.2).
Cifrador de Leon Battista Alberti (1446) :: Figura 1.2.2  
Figura 1.2.2 Cifrador de Leon Battista Alberti (1446)
El funcionamiento de este disco se explica en el siguiente capítulo (Técnicas clásicas de cifrado).
En el siglo XVI el historiador y religioso benedictino alemán Trithemius, publica su obra “Poligraphiae” en donde desarrolla varios procedimientos de cifrado entre los que se encuentra la sustitución de letras por palabras, las cuales eran escogidas de tal modo que su yuxtaposición formarán un texto entendible, y que al leerlo no se sospechará que había un mensaje secreto oculto.
En ese mismo siglo el matemático Girolamo Cardano inventó el procedimiento de la trepa, mejor conocido como máscara rotativa, que consiste en una tableta con algunas perforaciones la cual se coloca sobre otra tableta que contiene distintas letras, de esta manera se va obteniendo el mensaje visualizando las letras a través de las perforaciones y girando en sentido horario la máscara (que es la tableta perforada), este método se ejemplifica en el siguiente capítulo (Técnicas clásicas de cifrado).
En 1593, Giovanni Battista De la Porta modificó el disco de cifrado de Alberti sustituyendo el alfabeto del disco interior por símbolos extraños (Figura 1.2.3).
Cifrador de Giovanni Battista de la Porta :: Figura 1.2.3  
Figura 1.2.3 Cifrador de Giovanni Battista de la Porta
En 1595 el francés Blaise Vigenère inventó un método de cifrado que consistía en asignar un número a cada letra del alfabeto y sumar los números correspondientes a una clave con los del mensaje para obtener el criptograma. Este método es explicado a detalle en el próximo capítulo (Técnicas clásicas de cifrado).
Durante el siglo XVI fueron muy utilizados los libros de código para cifrar los mensajes, como ejemplo de ello están los libros de código de Felipe II (ver figura 1.2.4).
Libro de código de Felipe II :: Figura 1.2.4  
Figura 1.2.4 Libro de código de Felipe II
Estos libros consistían en poner las letras del alfabeto, en grupos de dos letras y tres letras e incluso palabras completas más usuales del lenguaje en un rectángulo para asignarles uno o varios símbolos extraños. De este modo tanto emisor como receptor debían poseer el libro para poder cifrar o descifrar los mensajes.
En 1790 Thomas Jefferson creó un cilindro formado por varios discos coaxiales en donde cada uno tenía escrito en la parte exterior un alfabeto, tal y como se muestra en la figura 1.2.5. Cada disco se ajustaba de tal modo que en una generatriz del cilindro se formara el mensaje en claro y el criptograma se obtenía de cualquiera de las otras generatrices.
Cifrador de discos de Jefferson (1790) :: Figura 1.2.5  
Figura 1.2.5 Cifrador de discos de Jefferson (1790)
En 1854 Sir. Charles Wheatstone diseñó un método de cifrado llamado Playfair, este método era parecido al de Polybios solo que ahora en vez de que cada carácter se sustituyera por dos caracteres sólo se sustituía por uno. Este método se explica en el siguiente capítulo (Técnicas clásicas de cifrado).
Para 1867 Wheatstone había ideado un nuevo disco de cifrado que en realidad se trataba de una versión mecánica del disco de Alberti; esta nueva versión ocupaba en el disco exterior el alfabeto inglés más un signo de “+” colocados de manera ordenada en sentido de las manecillas del reloj y el disco inferior tenía solamente 26 casillas con el alfabeto colocado de manera desordenada (Figura 1.2.6). Las agujas estaban engranadas de tal manera que cuando la externa giraba 27 posiciones, la interna lo hacia 26, estableciendo de esta manera una correspondencia entre los dos alfabetos.
Cifrador de Wheatstone (1867) :: Figura 1.2.6  
Figura 1.2.6 Cifrador de Wheatstone (1867)
En 1890 étienne Bazeries, tomando como base el cilindro de Jefferson creó un cilindro que constaba de 20 discos coaxiales con 25 letras en cada uno de ellos (figura 1.2.7), la diferencia con el cilindro de Jefferson es básicamente la manera de cifrar el mensaje, ya que el disco de Bazeries al tener un disco adicional con números impresos, el criptograma del mensaje en claro podía conformarse con letras de varias generatrices estableciendo el número de la generatriz con que se cifraba cada carácter del mensaje en claro.
Cifrador de Bazeries (1890) :: Figura 1.2.7  
Figura 1.2.7 Cifrador de Bazeries (1890)
A principios de siglo XX, William F. Friedman considerado como el padre de la Criptografía moderna, publicó un estudio llamado “The index of coincidence and its applications in Criptography” uno de los primeros trabajos en donde se aplicaron principios matemáticos en la Criptografía.
En 1917 Gilbert Vernam desarrolló un algoritmo de cifrado que lleva su nombre (cifrado Vernam) el cual lleva al límite la idea del cifrado de Blaise Vigenère. Este método de cifrado se explica en el capítulo 2 (Técnicas clásicas de cifrado).

MECANISMOS DE SEGURIDAD

Un mecanismo de seguridad es un conjunto de elementos o procesos que implementan un servicio de seguridad.
CÓDIGO DE DETECCIÓN DE MODIFICACIÓN
Se trata de una suma que se aplica a los datos a transmitir, el resultado de dicha suma se envía junto con los datos para que el receptor efectúe una prueba de comprobación; se debe obtener el mismo resultado tanto de la parte del emisor como del receptor para estar seguros de que los datos no fueron modificados. Cabe señalar que la suma es generada utilizando un algoritmo criptográfico.
CÓDIGO DE AUTENTICACIÓN DEL MENSAJE
Este caso es muy parecido al anterior sólo que el resultado de la suma está cifrado y cuando el receptor realiza la prueba de comprobación se tendrá la certeza de que los datos están íntegros y que el emisor es quien se supone los envió.
FIRMA DIGITAL
Una firma digital es una pieza de información que consiste en una transformación que por medio de una función relaciona de forma única un documento con la clave privada del firmante, es decir que las firmas digitales dependen del mensaje y de quien la genera, con el fin de que la información no sea modificada y al mismo tiempo sirve para proporcionar servicios de no repudio ya que el destinatario tendrá la certeza de que el mensaje fue enviado por quien esperaba.
NÚMERO DE SECUENCIA DEL MENSAJE
Cuando un mensaje se divide en varios paquetes para ser transmitido; a cada paquete se le agrega un número el cual puede ir cifrado o no, dicho número es en realidad una secuencia de bits que identifica el número de secuencia del paquete; de esta manera el receptor tiene que comprobar que dicha secuencia de bits corresponde con el número de paquete que está recibiendo. Con este procedimiento se verifica si algún paquete fue insertado o sustraído por un tercer agente durante la transmisión.
CIFRADO
Con el fin de que a individuos o procesos no autorizados les resulte inteligible la información, ésta se transforma por medio de los métodos de cifrado a una forma que no pueda entenderse a simple vista. Con la utilización de este mecanismo de seguridad se busca proteger la confidencialidad de los datos, aunque no es de uso exclusivo para este servicio ya que se puede usar conjuntamente con otros mecanismos para dar soporte a otros servicios.
CONTROL DE ACCESO
Se emplean contraseñas para permitir el acceso a la información a todos aquellos agentes autorizados
RELLENO DE TRÁFICO
Se trata de transmitir unidades de datos falsos del mismo modo que se transmiten las unidades que llevan información correcta, con ello se busca que si un individuo está realizando un análisis de tráfico no conozca si las unidades llevan realmente información útil.
CONTROL DE ENCAMINAMIENTO
Este mecanismo otorga la oportunidad de mandar la información por una ruta diferente cuando la conexión actual está siendo atacada.
CERTIFICACIÓN
Se realiza una certificación por un tercer agente de confianza, el cual da fe de la integridad, secuencia y frecuencia de los datos así como el emisor y receptor de los mismos.

Servicios de seguridad

Los servicios de seguridad, son aquellos que garantizan en un sistema de información la adquisición, almacenamiento, procesamiento y transmisión de la información y para lograrlo se valen de uno o más mecanismos de seguridad.
CONFIDENCIALIDAD
Este servicio asegura que sólo las personas o procesos autorizados tengan acceso a la información. Con ello se busca que un agente no autorizado no pueda leer, copiar o modificar la información.
El servicio de confidencialidad se puede diferenciar en dos tipos:
  1. Servicio de confidencialidad de contenido: se busca proteger el contenido de un recurso del sistema, para ello se cifra la información para que en caso ser interceptada por alguien no autorizado, no pueda ser descubierta. Este servicio puede proporcionar protección a todos los datos transmitidos por un usuario durante una conexión o puede proteger sólo parte de ellos por ejemplo sólo a los mensajes con información importante o incluso se pueden proteger sólo algunos campos de un determinado mensaje.
  2. Servicio de confidencialidad del mensaje: busca ocultar el flujo de un mensaje durante una conexión, para ello se cifra y se utiliza una técnica de envoltura con el objetivo de que si un atacante está realizando un análisis de tráfico, no pueda descubrir por ejemplo quien está enviando la información ni quien la recibe ni la frecuencia con la que se envían los mensajes.
AUTENTICACIÓN
Este servicio verifica la identidad de un agente que pretende acceder a la información. En una conexión entre dos entidades, el servicio verifica que las entidades sean quienes dicen ser, además de asegurar que un tercer individuo no pueda hacerse pasar por alguna de las entidades autorizadas y realizar una transmisión o recepción de datos.
INTEGRIDAD
Este servicio asegura que el contenido de los datos no ha sido modificado y que la secuencia de los mismos se ha mantenido a lo largo de toda la transmisión, con ello se evita una réplica o un reordenamiento del mensaje por parte de un atacante.
Al igual que el servicio de confidencialidad, la integridad puede aplicarse a todos los datos transmitidos por un usuario durante una conexión, sólo a parte de ellos o sólo a algunos campos dentro del mensaje.
Cuando se tiene un ataque a la integridad de los datos, el sistema puede o no reportar dicha violación, por lo que se puede distinguir entre servicio de integridad con recuperación y servicio de integridad sin recuperación.
El servicio de integridad también se puede diferenciar entre servicio de integridad del contenido y servicio de integridad de la secuencia del mensaje
  1. Servicio de integridad del contenido: proporciona pruebas de que el contenido no ha sido alterado o modificado.
  2. Servicio de integridad de la secuencia del mensaje: proporciona pruebas de que el orden de una secuencia de mensajes ha sido mantenida durante la transmisión.
NO REPUDIO
Este servicio evita que las entidades en una conexión nieguen haber transmitido o recibido un mensaje.
Existen varios tipos de este servicio y cada uno de ellos proporciona pruebas de haberse llevado a cabo:
  1. No repudio de origen: con este servicio, el emisor de un mensaje no puede negar haber sido él quien transmitió dicho mensaje.
  2. No repudio de envío: comprueba que los datos fueron enviados.
  3. No repudio de presentación: protege contra cualquier intento falso de negar que los datos fueron presentados para el envío.
  4. No repudio de transporte: protege contra cualquier intento de negar que los datos fueron transportados.
  5. No repudio de recepción: con este servicio, el receptor de un mensaje no puede negar haber recibido un mensaje.
CONTROL DE ACCESO
El servicio de control de acceso es utilizado con el fin de restringir el acceso a los medios de almacenamiento de la información. Este servicio está muy relacionado con el de autenticación ya que cualquier agente que quiera tener acceso a algún recurso del sistema primero deberá identificarse para que le sea permitido el acceso a dicha información y de acuerdo a los permisos o privilegios que tenga podrá manipularla.
DISPONIBILIDAD
El servicio de disponibilidad asegura que los agentes autorizados tengan acceso a la información en el momento en que ellos lo requieran y tantas veces como lo soliciten sin importar si ésta es correcta o no.

Concepto de Criptografía


La Criptología (del griego criptos= oculto y logos= tratado, ciencia) es la ciencia que trata las escrituras ocultas, está comprendida por la Criptografía, el Criptoanálisis y la Esteganografía (Figura 1.1.1).
Ramas de la Criptología :: Figura 1.1.1  
Figura 1.1.1 Ramas de la Criptología
Las raíces etimológicas de la palabra Criptografía son criptos (oculto), y graphos (escritura). Una definición clásica de Criptografía es la siguiente:
Arte de escribir mensajes en clave secreta o enigmáticamente
Anteriormente la Criptografía era considerada como un arte pero en la actualidad se considera una ciencia gracias a su relación con la estadística, la teoría de la información, la teoría de los números y la teoría de la complejidad computacional.
La Criptografía es la ciencia que se encarga del estudio de técnicas para transformar la información a una forma que no pueda entenderse a simple vista; sin embargo, el objetivo de la Criptografía no es sólo mantener los datos secretos, sino también protegerlos contra modificación y comprobar la fuente de los mismos.
El Criptoanálisis es la ciencia que se ocupa del análisis de un texto cifrado para obtener la información original sin conocimiento de la clave secreta, esto es, de forma ilícita rompiendo así los procedimientos de cifrado establecidos por la Criptografía, por lo que se dice que Criptoanálisis y Criptografía son ciencias complementarias pero contrarias.
La Esteganografía por su parte, estudia la forma de ocultar la existencia de un mensaje. Esta ciencia consiste en esconder en el interior de un mensaje, otro mensaje secreto, el cual sólo podrá ser entendido por el emisor y el receptor y pasará inadvertido para todos los demás.