Apuntes
Apuntes
Apuntes
Qu significa habla, amigo y entra? pregunt Merry. Es bastante claro dijo Gimli. Si eres un amigo, dices la contrasea y las puertas se abren y puedes entrar. S dijo Gandalf, es probable que estas puertas estn gobernadas por palabras. . . J.R.R. Tolkien, El Seor de Los Anillos Yo segua sin entender. De pronto, tuve una iluminacin: Super thronos viginti quatuor! La inscripcin! Las palabras grabadas sobre el espejo! Vamos! dijo Guillermo. Quizs an estemos a tiempo de salvar una vida! Umberto Eco, El Nombre de la Rosa Criptologa palabras griegas Krypto y Logos Estudio de lo oculto Criptografa Rama de la Criptologa que se ocupa del cifrado de mensajes Texto Claro Algoritmo de encriptacin Texto cifrado
Clave Esquema del proceso de cifrado La criptografa es la ciencia que se encarga de estudiar las distintas tcnicas empleadas para transformar (encriptar o cifrar) la informacin y hacerla irreconocible a todos aquellos usuarios no autorizados de un sistema informtico, de modo que solo los legtimos propietarios puedan recuperar (desencriptar o descifrar) la informacin original. El trmino criptografa proviene del griego Kriptos (oculto) y Grafos (escritura), por lo que significa etimolgicamente el arte de escribir de un modo secreto o enigmtico. Mediante la criptografa es posible garantizar la confidencialidad, la integridad y la autenticidad de los mensajes y documentos guardados en un sistema o red informtico.
El Criptoanlisis es la ciencia que se ocupa de estudiar herramientas y tcnicas que permitan romper los cdigos y sistemas de proteccin definidos por la criptografa. La criptografa y el criptoanlisis estn muy relacionados con varias disciplinas cientficas como la Teora de la Informacin, la Teora General de Nmeros o las Leyes y Teoremas de la Matemtica Discreta. Por ltimo, a la ciencia de inventar sistemas de cifrado de la informacin (criptografa) y de desbaratarlos (criptoanlisis) se la conoce colectivamente con el trmino de Criptologa. HISTORIA DE LOS SISTEMAS CRIPTOGRFICOS Los primeros sistemas criptogrficos se remontan a la poca de los griegos y los romanos: Cilindro scytale. Cifrado Csar.
En el renacimiento, Leon Battista Alberti, dise un grupo de discos con el alfabeto grabado, los discos rotaban unos intervalos establecidos (gobernados por una clave de cifrado) y se consegua que diferentes letras del texto cifrado representaran a la misma letra del texto original. En 1586 el diplomtico francs Blaise de Vigenre propuso el Cifrado de Vigenre. Durante la Segunda Guerra Mundial naci la Criptografa Moderna, basada en: Teora de la informacin Matemtica Discreta Teora de los grandes nmeros Ciencia de la computacin
Se desarrollaron mquinas criptogrficas cada vez ms complejas, basadas en las tcnicas de los discos rotativos: Enigma de los alemanes, que empleaba 3 discos rotativos y 1020 claves posibles. La Mquina SIGABA, ECM Mark II, Converter M-134 y CSP-889 TYPEX del Reino Unido Converter M-209 de Estados Unidos La Mquina PURPLE
Cilindro scytale: era empleado por los griegos en el 500 a. de C., se enrollaba una tira de cuero alrededor de un cilindro, para escribir el mensaje sobre el cuero, de modo, que al desenrollarlo se vea una lista
de letras sin sentido aparente. El mensaje correcto solo se poda leer al enrollar el cuero sobre un cilindro del mismo dimetro. Cifrado Csar: fue utilizada durante el Imperio Romano, que consiste en una simple sustitucin de cada letra del mensaje a cifrar por otra distanciada tres posiciones en el alfabeto latino Cifrado de Vigenre: algoritmo de sustitucin polialfabtica, propuesto en 1586 por el diplomtico francs Blaise de Vigenre, si bien no se comenz a utilizar de forma importante hasta casi 200 aos despus. Se basa en la utilizacin de un Cuadrado de Vigenre para realizar el cifrado. Este sistema criptogrfico pudo ser finalmente roto a mediado del siglo XIX. A pesar de ello, fue utilizado por el ejrcito Confederado en la Guerra Civil de Estados Unidos, lo cual facilit el acceso a informacin confidencial por parte de Ejrcito del Norte, factor decisivo en alguna de sus principales batallas. Enigma: habran sido ms seguras si se hubieran utilizado de la forma adecuada. Los inventores crean que era infalible y su sistema de cifrado no podra ser comprometido por sus adversarios. Sin embargo, en su manejo se cometieron numerosos errores que facilitaron posteriormente la tarea de los criptoanalistas: o Cadenas de texto predecibles incluidas en los mensajes cifrados: Mein Fuehrer! , Ninguna novedad, Objetivo descubierto, etctera. o Utilizacin de la misma clave durante un extenso perodo de tiempo. o Cifrado del mismo mensaje con claves nuevas y antiguas, cuando estas ltimas ya haban sido comprometidas. o Descuidos de los operadores, que transmitan secuencias de caracteres repetidas (como el espacio en blanco) al dejar pulsada una tecla en la mquina. o No se seguan los procedimientos definidos en el manual de operacin: seleccin adecuada de la posicin inicial de los discos rotativos.
La Criptografa moderna nace al mismo tiempo que las computadoras. Durante la Segunda Guerra Mundial, en un lugar llamado Bletchley Park, un grupo de cientficos entre los que se encontraba Alan Turing, trabajaba en el proyecto ULTRA tratando de descifrar los mensajes enviados por el ejrcito alemn con los ms sofisticados ingenios de codificacin ideados hasta entonces: la mquina ENIGMA y el cifrado Lorenz. Este grupo de cientficos dise y utiliz el primer computador de la Historia, denominado Colossus aunque esta informacin permaneci en secreto hasta mediados de los 70. De hecho, se ha estimado que debido al trabajo de los criptoanalistas aliados se pudo acortar la duracin de la Segunda Guerra Mundial en unos dos aos, gracias a lo cual se pudo evitar la muerte de muchas ms personas.
Desde entonces hasta hoy ha habido un crecimiento espectacular de la tecnologa criptogrfica, si bien la mayor parte de estos avances se mantenany se siguen manteniendo, segn algunos en secreto. Financiadas fundamentalmente por la NSA (Agencia Nacional de Seguridad de los EE.UU.), la mayor parte de las investigaciones hasta hace relativamente poco tiempo han sido tratadas como secretos militares. Sin embargo, en los ltimos aos, investigaciones serias llevadas a cabo en universidades de todo el mundo han logrado que la Criptografa sea una ciencia al alcance de todos, y que se convierta en la piedra angular de asuntos tan importantes como el comercio electrnico, la telefona mvil, o las nuevas plataformas de distribucin de contenidos multimedia. Esta dualidad civilmilitar ha dado lugar a una curiosa doble historia de la Criptografa, en la que los mismos algoritmos eran descubiertos, con pocos aos de diferencia, por equipos de annimos militares y posteriormente por matemticos civiles, alcanzando nicamente estos ltimos el reconocimiento pblico por sus trabajos. Muchas son las voces que claman por la disponibilidad pblica de la Criptografa. La experiencia ha demostrado que la nica manera de tener buenos algoritmos es que stos sean accesibles, para que puedan ser sometidos al escrutinio de toda la comunidad cientfica. Existe una mxima en Criptografa que afirma que cualquier persona o equipo es capaz de desarrollar un algoritmo criptogrfico que l mismo no sea capaz de romper. Si la seguridad de nuestro sistema se basa en que nadie conozca su funcionamiento tiene varias implicaciones perversas: por un lado, aquellos que quieran conocer su verdadera resistencia tendrn que confiar en nuestra palabra, y por otro, provoca una falsa sensacin de seguridad, ya que si algn enemigo encuentra un agujero, es bastante probable que no lo publique. En consecuencia, el nico secreto que debe tener un sistema criptogrfico es la clave. Ejemplos a lo largo de la historia sobre fracasos de esta poltica de seguridad basada en la oscuridad, por desgracia, hay muchos, algunos de ellos en mbitos tan delicados como el Voto Electrnico.
Salvo honrosas excepciones (como el algoritmo Solitaire, desarrollado por Bruce Schneier, para el que nicamente se necesita papel, lpiz, una baraja y algo de paciencia.), la Criptografa llega hasta nosotros en forma de programas informticos. Un programa mal diseado puede echar por tierra la seguridad de un buen algoritmo criptogrfico, por lo que es necesario conocer cmo est escrito el programa en cuestin, para poder detectar y eliminar los fallos que aparezcan en l. En este sentido, el Software Libre, cuyo cdigo fuente est a disposicin de los usuarios a diferencia del software privativo, que mantiene el cdigo fuente en secreto quizs sea el que brinda mejores resultados, ya que permite a cualquiera, adems de asegurarse de
que no contiene puertas traseras, estudiar y eventualmente corregir el cdigo si encuentra fallos en l. Actualmente, una de las mayores amenazas sobre el software libre es la pretensin de establecer sistemas de patentes sobre los programas informticos, con un claro perjuicio tanto para los usuarios como para las pequeas empresas frente al poder de las grandes corporaciones. Por desgracia, parece que a nuestros gobiernos les interesan ms los beneficios de las multinacionales que los intereses de los ciudadanos. Es imposible desligar la Criptografa moderna de todas las consideraciones polticas, filosficas y morales que suscita. Hoy por hoy, tiene ms poder quien ms informacin controla, por lo que permitir que los ciudadanos empleen tcnicas criptogrficas para proteger su intimidad limita de forma efectiva ese poder. Con el pretexto de la seguridad se estn aplicando medidas para ralentizar el acceso de los ciudadanos a la Criptografa fuerte, bien desprestigiando a quienes la usan, bien dificultando por distintos medios su adopcin generalizada. Uno de los frentes de debate ms llamativos en este sentido es la intencin de algunos gobiernos de almacenar todas las claves privadas de sus ciudadanos, necesarias para firmar digitalmente, y considerar ilegales aquellas que no estn registradas. Es como pedirnos a todos que le demos a la polica una copia de las llaves de nuestra casa. Esta corriente crea una situacin extremadamente perversa: aquellos que quieren emplear la Criptografa para usos legtimos encuentran dificultades mientras que, por ejemplo, a un traficante de armas le tiene sin cuidado que sea ilegal usarla, con lo que no se frena su uso delictivo. Uno de los elementos ms polmicos acerca de los ataques indiscriminados a la intimidad es la red Echelon. Bsicamente se trata de una red, creada por la NSA en 1980 sus precursoras datan de 1952 en colaboracin con Gran Bretaa, Australia y Nueva Zelanda, para monitorizar prcticamente todas las comunicaciones electrnicas telfono, e-mail y fax principalmente del planeta, y buscar de manera automtica ciertas palabras clave. La informacin obtenida ira a la NSA, que luego podra a su vez brindrsela a otros pases. El pretexto es, nuevamente, la lucha contra el terrorismo, pero podra ser empleada tanto para espionaje industrial como presuntamente ha hecho durante aos el Gobierno Francs, poniendo a disposicin de sus propias compaas secretos robados a empresas extranjeras, como para el control de aquellas personas que pueden representar amenazas polticas a la estabilidad de la sociedad moderna. La Unin Europea reconoci la existencia de Echelon, pero hasta la fecha nadie ha exigido a ningn gobierno explicacin alguna; es ms, parece que los planes de la U.E. al respecto pasan por el despliegue de su propia red de vigilancia electrnica, llamada Enfopol. Si bien el proyecto se encuentra paralizado, es conveniente mantenerse en guardia, especialmente desde que los terribles atentados del 11 de septiembre de 2001 han propiciado una ola de limitacin de las libertades civiles con el pretexto de la seguridad. Quizs algunos deberan recordar aquella famosa
frase de Benjamin Franklin: Quienes son capaces de renunciar a la libertad esencial, a cambio de una seguridad transitoria, no son merecedores de la seguridad ni de la libertad.
No cabe duda de que la informacin se est convirtiendo en la mayor fuente de poder que ha conocido la Humanidad, y que la Criptografa es una herramienta esencial para su control.
En la actualidad la mayor parte de los algoritmos criptogrficos con pblicos y se basan en una serie de operaciones elementales sobre los datos que constituyen el texto original: transposiciones (cambiar el orden de los smbolos que forman parte del texto) y sustituciones (reemplazar unos smbolos por otros). Los smbolos del texto original (caracteres alfanumricos) se codifican mediante bits y, sobre estos bits, se realizan varias secuencias de transposiciones y sustituciones, de acuerdo con los pasos definidos por el algoritmo en cuestin. Las sustituciones aaden confusin al mensaje que se est cifrando. De este modo, mediante la confusin se oscurece la relacin entre el texto claro y el texto cifrado, dificultando el anlisis de patrones estadsticos. A su vez, las transposiciones de smbolos provocan una difusin de la informacin en el mensaje que se est cifrando. Con la difusin se consiguen disimular las redundancias del texto claro al extenderlas por todo el texto cifrado. Texto original: La criptografa
Sustitucin de smbolos (se reemplaza cada letra por la que se encuentra 2 posiciones a la derecha en el alfabeto
Transposicin de smbolos (en bloques de 3 smbolos): 1 smbolo 3 lugar; 2 smbolo 1 lugar; 3 smbolo 2 lugar
Resultado: ncetkrvqitchkc
Resultado: cenkrtqivchtkc
CRIPTOANLISIS
El criptoanlisis se ocupa del estudio de las distintas tcnicas y mtodos que permiten romper los algoritmos de cifrado.
Tipos de ataques contra un sistema criptogrfico: Basados solo en el texto cifrado Basados en texto claro conocido Basados en texto claro seleccionado Adaptativos basados en texto claro conocido
Ataques basados solo en el texto cifrado: el criptoanalista dispone de varios textos cifrados y su objetivo ser recuperar los textos en claro y, si fuera posible, la clave utilizada en el sistema criptogrfico. Ataques basados en texto claro conocido: el criptoanalista dispone de varios textos cifrados y de los textos en claro de partida, y su objetivo
ser tratar de determinar la clave utilizada para poder descifrar nuevos textos cifrados. Esta situacin es en la prctica ms frecuente de lo que se pudiera pensar a priori, ya que muchos mensajes que se van a cifrar pueden contener palabras o smbolos de inicio y de finalizacin conocidos: cabeceras en mensajes de correo electrnico, determinados formatos de documentos o cabeceras de paquetes de datos de un determinado protocolo. Adems, en algunas situaciones se cifran cadenas de texto predecibles, como ocurra en los ataques contra los criptosistemas alemanes y japoneses durante la Segunda Guerra Mundial. Ataques basados en texto claro seleccionado: el criptoanalista no solo dispone de varios textos cifrados y de los textos en claro de partida, sino que adems ha podido seleccionar los textos en claro que van a ser cifrados (aquellos que le podran facilitar ms informacin sobre las diversas transformaciones realizadas por el sistema criptogrfico). Ataques adaptativos basados en texto claro conocido: en este caso, adems de poder seleccionar varios textos en claro y obtener sus correspondientes textos cifrados, el criptoanalista puede modificar su eleccin de los mensajes a cifrar teniendo en cuenta los resultados generados por cifrados precios. De este modo, en un ataque de tipo adaptativo el criptoanalista puede ir seleccionando bloques pequeos de texto en claro en etapas sucesivas para obtener informacin ms precisa sobre el sistema criptogrfico.
Tcnicas de criptoanlisis: Criptoanlisis diferencial Criptoanlisis lineal Criptoanlisis basado en claves relacionadas Tcnicas de anlisis estadstico de frecuencias Interceptacin de claves
Criptoanlisis diferencial: trata de encontrar correlaciones entre el texto claro y el cifrado obtenido a la salida del sistema criptogrfico, partiendo del conocimiento de la existencia de ciertas diferencias entre varios textos claros que se han introducido en el sistema. Criptoanlisis lineal: trata de encontrar correlaciones entre la clave, el texto claro y el texto cifrado obtenido a la salida del sistema criptogrfico basado en un cifrado de bloque. Criptoanlisis basado en claves relacionadas: trata de encontrar correlaciones entre los cambios en la clave, el texto claro y el texto cifrado obtenido a la salida del sistema criptogrfico. Tcnicas de anlisis estadstico de frecuencias: los primeros mtodos para romper los cifrados de sustitucin polialfabtica se basaban en
el anlisis estadstico de frecuencias, partiendo del estudio de las cadenas de texto repetidas en el mensaje cifrado para determinar la longitud de la clave y la correspondencia entre los caracteres cifrados y sin cifrar. Hay que tener en cuenta que los distintos idiomas presentan ciertas caractersticas que facilitan el anlisis estadstico: las vocales son ms frecuentes que las consonantes, y existen determinadas combinaciones de 2 letras (digramas) y de 3 letras (trigramas) que se presentan muy a menudo en los textos. As, por ejemplo, en el castellano son muy frecuentes los digramas de y en o los trigramas que y con. Por lo tanto, en un anlisis estadstico el criptoanalista estudia las apariciones de algunas letras, digramas, trigramas o de determinadas palabrea (las ms frecuentes en ese idioma), para determinar cul ha sido el sistema de sustitucin empleado en el cifrado, con la inestimable ayuda hoy en da de un equipo informtico. Interceptacin de claves: ataques de intermediacin (man-in-themiddle), mediante los cuales se pueden interceptar directamente las claves sin despertar sospechas de los usuarios del sistema criptogrfico y sin que sea necesario estudiar los textos cifrados.
Clasificacin de los sistemas criptogrficos: Simtricos o clave privada o Cifrado en bloque o poligrfico (block cipher): DES, IDEA, AES, RC5 o Blowfish o Cifrado en flujo, bit a bit o byte a byte (stream cipher): RC4, A5 o CTAK Asimtricos o clave pblica Hbridos
CLASIFICACIN DE LOS SISTEMAS CRIPTOGRFICOS En primer lugar, podemos distinguir entre los sistemas criptogrficos simtricos y los asimtricos, atendiendo a la naturaleza de la clave utilizada. En los primeros se emplea la misma clave en el proceso de cifrado y en el de descifrado, mientras que los segundos se caracterizan por utilizar dos claves distintas pero relacionada entre s, una para el cifrado de los datos y otra para el descifrado. SIMTRICOS Problema de seguridad intercambio de claves entre el emisor y el receptor ya que ambos deben usar la misma clave. El canal de comunicacin debe ser seguro para el intercambio de claves
Es importante que dicha clave sea muy difcil de adivinar ya que hoy en da los ordenadores pueden adivinar claves muy rpidamente. Por ejemplo, el algoritmo de cifrado DES usa una clave de 56 bits, lo que significa que hay 72 mil billones de claves posibles. Actualmente ya existen ordenadores especializados que son capaces de probar todas ellas en cuestin de horas. Nmeros Grandes Los algoritmos criptogrficos emplean claves con un elevado nmero de bits, y usualmente se mide su calidad por la cantidad de esfuerzo que se necesita para romperlos. El tipo de ataque ms simple es la fuerza bruta, que simplemente trata de ir probando una a una todas las claves. Por ejemplo, el algoritmo DES tiene 256 posibles claves. Cunto tiempo nos llevara probarlas todas si, pongamos por caso, dispusiramos de un computador capaz de hacer un milln de operaciones por segundo? Tardaramos. . . ms de 2200 aos! Pero y si la clave del ejemplo anterior tuviera 128 bits? El tiempo requerido sera de 1024 aos. Es interesante dedicar un apartado a tratar de fijar en nuestra imaginacin la magnitud real de este tipo de nmeros. En el cuadro 1.1 podemos observar algunos valores que nos ayudaran a comprender mejor la autntica magnitud de muchos de los nmeros que veremos en este texto. Observndola podremos apreciar que 1024 aos es aproximadamente cien billones de veces la edad del universo (y eso con un ordenador capaz de ejecutar el algoritmo de codificacin completo un milln de veces por segundo). Esto nos debera disuadir de emplear mecanismos basados en la fuerza bruta para reventar claves de 128 bits.
Valor Probabilidad de ser fulminado por un rayo (por da) Probabilidad de ganar la Lotera Primitiva Espaola Probabilidad de ganar la Primitiva y caer fulminado por un rayo el mismo da Tiempo hasta la prxima glaciacin Tiempo hasta que el Sol se extinga Edad del Planeta Tierra Edad del Universo Nmero de tomos en el Planeta Tierra Nmero de tomos en el Sol Nmero de tomos en la Va Lctea Nmero de tomos en el Universo (excluyendo materia oscura) Masa de la Tierra Masa del Sol Masa estimada del Universo (excluyendo materia oscura) Volumen de la Tierra Volumen del Sol Volumen estimado del Universo Nmero 1 entre 9.000.000.000 (233) 1 entre 13.983.816 (223) 1 entre 256 14.000 (214) aos 109 (230) aos 109 (230) aos 1010 (234) aos 1051 (2170) 1057 (2189) 1067 (2223) 1077 (2255) 5,9 1024 (282) Kg. 2 1030 (2100) Kg. 1050 (2166) Kg. 1021 (269) m3 1027 (289) m3 1082 (2272) m3
Para manejar la tabla con mayor rapidez, recordemos que un milln es aproximadamente 220, y que un ao tiene ms o menos 224 segundos. Recorrer completamente un espacio de claves de, por ejemplo, 256 bits a razn de un milln por segundo supone 225644 = 2212 aos de clculo. Por otra parte, los sistemas criptogrficos simtricos pueden tener dos formas de funcionamiento: Cifrado en bloque: DES, IDEA, AES, RC5 o Blowfish Cifrado en flujo: RC4, A5 o CTAK
Cifrado en bloque o poligrfico (block cipher): el mismo algoritmo de cifrado se aplica a un bloque de informacin (grupo de caracteres o nmero de bytes) repetidas veces, usando la misma clave. De este modo, es posible combinar varias sustituciones y transposiciones. En la actualidad se suele trabajar con bloques de bits, ya que los mensajes a cifrar se codifican previamente mediante bits (utilizando el cdigo ASCII, por ejemplo). El mecanismo conocido como padding (relleno) puede ser necesario para completar algunos de los bloques de un determinado mensaje con bits adicionales hasta alcanzar el tamao de bloque con el que trabaja el algoritmo. Estos sistemas presentan un problema si se pierde algn bit y se produce la desincronizacin entre el emisor y el receptor, ya que a partir de ese momento todos los bloques sern descifrados de forma incorrecta, salvo que se emplee alguna estructura de bits que permita delimitar los lmites de los bloques y facilite la sincronizacin.
Cifrado en flujo, bit a bit o byte a byte (stream cipher): El algoritmo de cifrado se aplica a un elemento de informacin (carcter, bit) mediante un flujo que constituye la clave y que en teora es aleatorio y de un tamao superior al del mensaje. Para generar el flujo que constituye la clave, se emplea un generador de secuencias pseudoaleatorias y un circuito electrnico conocido como Registro de Desplazamiento Lineal. Por este motivo, estos algoritmos resultan muy eficientes si se implementan mediante hardware especializado.
En este tipo de algoritmos solo se realizan sustituciones, mediante una operacin XOR entre cada bit de informacin y cada bit de la secuencia que forma la clave. Los algoritmos de cifrado en flujo se emplean en situaciones donde los errores de transmisin son altamente probables, ya que de este modo no se propagan los errores. As mismo, presentan la ventaja, frente a los sistemas de cifrado en bloque, de que la informacin se puede cifrar o descifrar sin tener que esperar a que se complete un bloque de un determinado tamao de bits, por lo que son especialmente apropiados para los sistemas de comunicaciones en tiempo real (como en la telefona mvil digital). Entre los algoritmos ms conocidos podemos citar RC4 o A5, este ltimo empleado en la telefona mvil digital GSM. Por otra parte, en el algoritmo de cifrado en flujo conocido como Cifrado de Vernam se emplea una secuencia de cifrado aleatoria de longitud igual o mayor que el mensaje. Se considera un sistema del tipo one-time system, ya que la clave se emplea una sola vez, por lo que tericamente se trata de un sistema irrompible. No obstante, conviene destacar la dificultad para su utilizacin en la prctica, ya que el transmisor y el receptor tienen que utilizar la misma clave y han de encontrarse perfectamente sincronizados (para ello, se podra transportar la clave a travs de algn canal seguro, como podra ser el caso del propio transporte en persona con unas adecuadas medidas de seguridad para proteger la clave). Se cree que ha sido utilizado en enlaces de la mxima seguridad, como la lnea telefnica (hotline) Washington-Mosc. Por ltimo, podemos citar tambin el sistema CTAK (Ciphertext Auto Key), un sistema de cifrado en flujo con capacidad de auto-sincronizacin (selfsynchronising stream cipher). Esta idea fue patentada en 1946 y ha sido utilizada fundamentalmente en comunicaciones militares. En un sistema CTAK cada bit de la secuencia que constituye la clave se obtiene de forma automtica a partir de un determinado nmero de bits cifrados anteriormente, gracias a un mecanismo de retroalimentacin de la salida del algoritmo. De este modo, el sistema se autosincroniza de forma automtica y no se tiene que transmitir la secuencia que constituye la clave. Sin embargo, este sistema presenta el problema de la propagacin de los errores, que pueden afectar a un nmero importante de bits del mensaje transmitido debido al mecanismo de retroalimentacin.
ASIMTRICOS o de clave pblica Este sistema de cifrado usa dos claves diferentes. Una es la clave pblica y se puede enviar a cualquier persona y otra que se llama clave privada, que debe guardarse para que nadie tenga acceso a ella. Para enviar un mensaje, el remitente usa la clave pblica del destinatario para cifrar el mensaje. Solamente con la clave privada del destinatario se puede descifrar
Surgen a principio de los aos 70 para dar respuesta al problema de intercambio de la clave de los sistemas simtricos. Se basan en problemas numricos muy complejos (como la factorizacin en nmeros primos o el clculo de logaritmos discretos). En estos sistemas se utilizan dos claves distintas: una para realizar el cifrado y otra para el proceso de descifrado; por este motivo, reciben el nombre de asimtricos. Por ejemplo: Cifrado de clave pblica basado en la factorizacin de nmeros primos la clave pblica contiene un nmero compuesto de dos nmeros primos muy grandes. Para cifrar un mensaje, el algoritmo de cifrado usa ese compuesto para cifrar el mensaje. Para descifrar, el algoritmo requiere conocer los factores primos, y la clave privada tiene uno de estos factores.
Cada usuario posee una pareja de claves: su clave privada (que debe guardar en secreto y que utiliza para descifrar) y su clave pblica (que ser conocida y que otros usarn para cifrar) Las claves privada y pblica de cada usuario estn relacionadas entre s mediante una serie de caractersticas matemticas, a travs de lo que se conoce como funciones unidireccionales con trampa: se utiliza la funcin en sentido directo o de clculo fcil para cifrar y descifrar ( es la operacin llevada a cabo por los usuarios legtimos) y, en cambio, se fuerza el sentido inverso o de clculo muy difcil de la funcin para aquellos impostores que pretendan criptoanalizar el mensaje cifrado. Entre las funciones matemticas ms utilizadas podramos citar la factorizacin de nmeros primos grandes (algoritmo RSA), la exponenciacin modular (algoritmo Diffie-Hellman) o el clculo de logaritmos discretos (algoritmo de ElGamal y de Schnorr)
Con este planteamiento se resuelve el problema del intercambio de la clave privada, que representan los sistemas simtricos. De este modo, la gestin de claves (key management) es mucho ms sencilla en los sistemas asimtricos. La gestin de claves se refiere a los procesos y mecanismos utilizados para la generacin y el mantenimiento de las claves que facilitan las comunicaciones seguras entre los usuarios de un sistema. Con estos sistemas criptogrficos asimtricos, cada usuario solo debe memorizar su clave privada, ya que las claves pblicas son conocidas por todos. De este modo, se reduce el nmero de claves necesarias en el sistema, y ya no es necesario realizar una comunicacin inicial con un servidor de claves (servidor KDC) antes del establecimiento de una sesin entre dos usuarios. Estos algoritmos emplean claves mucho ms largas para ofrecer un nivel de proteccin equivalente a la de los algoritmos simtricos: 512, 1.024 2.048 bits, trabajando sobre bloques de bits del mensaje a cifrar. Por este motivo, son entre 100 y 1.000 veces ms lentos que los simtricos, ya que requieren de mayores recursos computacionales, por lo que algunos autores se han referido al algoritmo RSA como Really Slow Algorithm. HBRIDOS Usa tanto los sistemas de clave simtrica como el de clave asimtrica. Funciona mediante el cifrado de clave pblica para compartir una clave para el cifrado simtrico. En cada mensaje, la clave simtrica utilizada es diferente por lo que si un atacante pudiera descubrir la clave simtrica, solo le valdra para ese mensaje y no para los restantes.
El usuario A utiliza una determinada clave de cifrado para cifrar el mensaje original y, a su vez, procede a cifrar esta misma clave con la clave pblica del usuario B, de modo que solo B pueda recuperar la clave necesaria para descifrar el mensaje original (porque, para obtener esta clave, es necesario emplear la clave privada de B). La tcnica anteriormente descrita para proteger la confidencialidad de una clave simtrica mediante un algoritmo de cifrado asimtrico se conoce con el nombre de Sobre Digital. Con la combinacin de los sistemas simtricos y asimtricos se consigue garantizar totalmente la confidencialidad de la comunicacin, y se mejora en la rapidez de los procesos de cifrado y descifrado.
As mismo, la gestin de las claves resulta mucho ms sencilla, ya que cada usuario solo debe memorizar su clave privada (que queda registrada en su ordenador o en una tarjeta chip), ya que las claves pblicas son conocidas por todos los usuarios del sistema. Por otra parte, la aparicin de los sistemas asimtricos ha permitido desarrollar otra serie de funciones criptogrficas, como la autenticacin y la integridad de los mensajes transmitidos. TEORA DE LA INFORMACIN TEORA DE LA INFORMACIN Elementos : Fuente todo aquello que emite mensajes. Mensaje conjunto de 0s y 1s Cdigo conjunto de 0s y 1s que se usan para representar a un mensaje de acuerdo a unas reglas Informacin la informacin contenida en un mensaje es proporcional a la cantidad de bits que se requieren como mnimo para representar al mensaje.
Fuente puede ser un ordenador y mensaje sus archivos. Es en s misma un conjunto finito de mensajes. En compresin de datos tomaremos como fuente al archivo a comprimir y como mensajes a los caracteres que conforman dicho archivo Para la teora de la informacin interesan las fuentes aleatorias y estructuradas. Una fuente es aleatoria cuando no es posible predecir cul es el prximo mensaje a emitir. Es estructurada cuando posee un cierto nivel de redundancia. Un mensaje para poder ser comprimido debe poseer un cierto nivel de redundancia, la informacin pura no puede ser comprimida sin que haya una prdida de conocimiento sobre el mensaje. Mensaje es un conjunto de ceros y unos. Un archivo, un paquete de datos que viaja por una red y cualquier cosa que tenga una representacin binaria puede considerarse un mensaje. Cdigo Informacin estamos leyendo un mensaje y hemos ledo string of ch, la probabilidad de que el mensaje contine con aracters es muy alta por lo tanto cuando realmente leemos aracters del archivo la cantidad de informacin que recibimos es muy baja pues estbamos en condiciones de predecir qu era lo que iba a ocurrir. La ocurrencia de mensajes de alta
probabilidad de aparicin aporta menos informacin que la ocurrencia de mensajes menos probables. Si despus de string of ch leemos imicurri la cantidad de informacin que recibimos es mucho mayor. Vamos a introducir este concepto partiendo de su idea intuitiva. Para ello analizaremos el siguiente ejemplo: supongamos que tenemos una bolsa con nueve bolas negras y una blanca. Cunta informacin obtenemos si alguien nos dice que ha sacado una bola blanca de la bolsa? Y cunta obtenemos si despus saca otra y nos dice que es negra? Obviamente, la respuesta a la primera pregunta es que aporta bastante informacin, puesto que estbamos casi seguros de que la bola tena que salir negra. Anlogamente si hubiera salido negra diramos que ese suceso no nos extraa (nos suministra poca informacin). En cuanto a la segunda pregunta, claramente podemos contestar que el suceso no proporciona ninguna informacin, ya que al no quedar bolas blancas sabamos que iba a salir negra. Podemos fijarnos en la cantidad de informacin como una medida de la disminucin de incertidumbre acerca de un suceso. Por ejemplo, si nos dicen que el nmero que ha salido en un dado es menor que dos, estamos recibiendo ms informacin que si nos dicen que el nmero que ha salido es par. Por ejemplo, supone mayor informacin conocer la combinacin ganadora del prximo sorteo de la Lotera Primitiva, que saber si una moneda lanzada al aire va a caer con la cara o la cruz hacia arriba. Claramente es ms fcil acertar en el segundo caso, puesto que el nmero de posibilidades a priori y por tanto la incertidumbre, suponiendo sucesos equiprobables es menor. La criptografa es una herramienta muy til cuando se desea tener seguridad informtica. Es un medio para garantizar: La confidencialidad La integridad Autenticidad No repudio Imputabilidad Sellado de tiempos
En cuanto a las cuestiones de seguridad que hemos de fijar podramos clasificarlas de la siguiente forma: 1. Seguridad fsica. Englobaremos dentro de esta categora a todos los asuntos relacionados con la salvaguarda de los soportes fsicos de la informacin, ms que de la informacin propiamente dicha. En este nivel estaran, entre otras, las medidas contra incendios y sobrecargas elctricas, la prevencin de ataques terroristas, las polticas de copias
2.
3.
4.
5.
6.
7.
de respaldo (backups), etc. Tambin se suelen tener en cuenta dentro de este punto aspectos relacionados con la restriccin de acceso fsico a las computadoras nicamente a personas autorizadas. Seguridad de la informacin. En este apartado prestaremos atencin a la preservacin de la informacin frente a observadores no autorizados. Para ello podemos emplear tanto criptografa simtrica como asimtrica, estando la primera nicamente indicada en sistemas aislados, ya que si la empleramos en redes, al tener que transmitir la clave por el canal de comunicacin, estaramos asumiendo un riesgo excesivo. Seguridad del canal de comunicacin. Los canales de comunicacin rara vez se consideran seguros. Debido a que en la mayora de los casos escapan a nuestro control, ya que pertenecen a terceros, resulta imposible asegurarse totalmente de que no estn siendo escuchados o intervenidos. Problemas de autentificacin. Debido a los problemas del canal de comunicacin, es necesario asegurarse de que la informacin que recibimos en la computadora viene de quien realmente creemos que viene, y que adems no ha sido alterada. Para esto se suele emplear criptografa asimtrica en conjuncin con funciones resumen (hash). Problemas de suplantacin. En las redes tenemos el problema aadido de que cualquier usuario autorizado puede acceder al sistema desde fuera, por lo que hemos de confiar en sistemas fiables para garantizar que los usuarios no estn siendo suplantados por intrusos. Para conseguir esto normalmente se emplean mecanismos basados en contraseas. No repudio. Cuando se recibe un mensaje no slo es necesario poder identificar de forma unvoca al remitente, sino que este asuma todas las responsabilidades derivadas de la informacin que haya podido enviar. En este sentido es fundamental impedir que el emisor pueda repudiar un mensaje, es decir, negar su autora sobre el. Anonimato. Es, en cierta manera, el concepto opuesto al del no repudio. En determinadas aplicaciones, como puede ser un proceso electoral o la simple denuncia de violaciones de los derechos humanos en entornos dictatoriales, es crucial garantizar el anonimato del ciudadano para poder preservar su intimidad y su libertad. Es una caracterstica realmente difcil de conseguir, y desafortunadamente no goza de muy buena fama, especialmente en pases donde prima la seguridad nacional sobre la libertad y la intimidad de los ciudadanos.
Autentificacin Como ya se ha dicho, el concepto de autentificacin viene asociado a la comprobacin del origen e integridad de la informacin. En general, y debido a los diferentes tipos de situaciones que podemos encontrar en un sistema informtico, distinguiremos tres tipos de autentificacin: Autentificacin de mensaje. Queremos garantizar la procedencia de un mensaje conocido, de forma que podamos asegurarnos de que no es una falsificacin. Este mecanismo se conoce habitualmente como firma digital.
Autentificacin de usuario mediante contrasea. En este caso se trata de garantizar la presencia de un usuario legal en el sistema. El usuario deber poseer una contrasea secreta que le permita identificarse. Autentificacin de dispositivo. Se trata de garantizar la presencia frente al sistema de un dispositivo concreto. Este dispositivo puede estar solo o tratarse de una llave electrnica que sustituye a la contrasea para identificar a un usuario.
Ntese que la autentificacin de usuario por medio de alguna caracterstica biomtrica, como pueden ser las huellas digitales, la retina, el iris, la voz, etc. Puede reducirse a un problema de autentificacin de dispositivo, solo que el dispositivo en este caso es el propio usuario. Sellado de tiempo confiable Es el proceso de llevar, de manera segura, la cuenta del tiempo tanto de la creacin como de la modificacin de un documento electrnico. La seguridad aqu significa que nadie ni siquiera el dueo del documento debiese ser capaz de cambiarlo una vez que ha sido guardado debido a que la integridad de aquel que realiz el sellado de tiempo nunca debe ser comprometida. La parte administrativa involucra poner en marcha una infraestructura de sellado de tiempo confiable disponible pblicamente para obtener, procesar y renovar sellados de tiempo. La criptografa es tambin muy til a la hora de poder firmar los documentos de manera digital. Podemos enviar un documento o un archivo y el destinatario podr estar seguro que el remitente soy yo. Esto se utiliza para transmisiones bancarias, declaraciones de hacienda, entrega de documentos certificados. El DNI digital permite la firma electrnica.
La funcin de integridad en un sistema informtico se puede conseguir utilizando un algoritmo de digestin, que se caracteriza por reducir el mensaje original a una secuencia de bits que lo identifica y que se denomina huella digital o compendio del mensaje. Por lo tanto, los algoritmos de digestin de mensajes (Message Digestion o Fingerprint) realizan una serie de operaciones matemticas sobre el mensaje original para calcular un valor de tamao fijo (de 128, 160, 256, 284 512 bits), la huella digital, utilizando para ello una funcin de dispersin unidireccional (de un solo sentido, es decir, no se puede reconstruir el mensaje a partir de su compendio o huella digital) que cumple una serie de propiedades criptogrficas como: Conociendo la huella digital, no obtenemos ninguna informacin sobre el mensaje original No es factible encontrar dos mensajes originales que generen la misma huella digital. La probabilidad de colisin, entiendo como tal la
obtencin de la misma secuencia de bits a partir de dos mensajes distintos, es muy remota, prcticamente nula. Un cambio cualquiera en el mensaje de entrada debe modificar, en promedio, la mitad de los bits que se generan a la salida del algoritmo, es decir, un pequeo cambio en el mensaje cambia totalmente su huella digital. Estos algoritmos se conocen como algoritmos hash y, entre los ms populares estn MD2, MD4, MD5 y SHA. Los algoritmos MD4 y MD5 generan compendios de 128 bits. El algoritmo SHA (Secure Hash Algorithm) fue desarrollado por el NIST (National Institute of Standards and Technology) para generar compendios de 160 bits. LA FIRMA DIGITAL Son los datos aadidos a un conjunto de datos que permiten al receptor probar el origen y la integridad de los mismos, as como protegerlos contra falsificaciones. Por lo tanto, la firma digital de un mensaje o transaccin permite garantizar la integridad, la autenticacin y la no repudiacin en un sistema informtico. Para su obtencin se sigue un esquema bastante sencillo: el creador de un mensaje debe cifrar la huella digital del mensaje con su clave privada y enviarla al destinatario acompaando al mensaje cifrado. El cifrado asimtrico (mediante un algoritmo como RSA) se aplica sobre la huella digital del mensaje y no sobre el propio mensaje, debido al elevado coste computacional que supondra el cifrado de todo el mensaje, ya que esta alternativa resultara mucho ms lenta y compleja Figura 1.18 pag 36 del libro
Figura 1.19 pag 36 del libro Una vez recibido el mensaje cifrado por A, el usuario B realiza los siguientes pasos para comprobar la autenticidad e integridad del mensaje: Recupera el mensaje original descifrando el texto cifrado con su clave privada. Como solo l conoce esta clave, se garantiza la confidencialidad en la red informtica Aplica un algoritmo de digestin (algoritmo hash) para generar la huella digital del mensaje que acaba de recibir. Utiliza la clave pblica de A para descifrar la huella digital del mensaje original. Conviene recordar que esta huella digital haba sido cifrada por el usuario A con su clave privada (constitua la firma digital de A sobre el mensaje original) Compara la huella digital descifrada con la que acaba de generar a partir del mensaje recibido y, si ambas coinciden, podr estar seguro de que el mensaje es autntico y se ha respetado su integridad Figura 1.20 pag 37 del libro En definitiva, con el esquema propuesto basado en un sistema criptogrfico y la firma digital se consigue garantizar la confidencialidad, la integridad y la autenticacin de los mensajes transmitidos.
En 1991 se adopt el primer estndar para la firma digital, el ISO/IEC 9796, que utiliza el algoritmo de clave pblica RSA. Caractersticas de la Firma Digital: Es personal Prcticamente infalsificable Es fcil de autenticar Es fcil de generar Es no repudiable Garantiza la autenticidad, la integridad, es decir, la validez del contenido cifrado
Qu es PKI?
Es la combinacin de programas, tecnologas de encriptacin, procesos, y servicios que permite a las organizaciones asegurar las comunicaciones y las transacciones del Negocio.
Qu son los Certificados Digitales? Es la certificacin electrnica que vincula unos datos de verificacin de firma a un signatario y confirma su identidad. Los Prestadores de Servicios de Certificacin certifican que quien firma un documento electrnico, utiliza realmente las claves de quien dice ser, para lo cual han generado previamente la clave pblica y privada del firmante, y le han identificado. DNI ELECTRNICO. http://www.dnielectronico.com