martes, 10 de julio de 2007

CONTRA EL GRAN HERMANO


El proceso de encriptamiento es la transformación de datos a una forma tal que es prácticamente imposible de leer sin el conocimiento apropiado (clave). Su objetivo es asegurar la privacidad manteniendo oculta la información para quienes no deberían conocerla, aún para quienes podrían tener acceso a la misma. El procedimiento inverso se denomina desencriptamiento y es la transformación de los datos encriptados a una forma legible. Las técnicas de encriptamiento y desencriptamiento requieren del uso de cierta información secreta denominada clave. La clave es un número que trabaja con un algoritmo de criptografía para producir un texto cifrado específico.

La generación de mensajes secretos es una práctica que tiene más de 2000 años de antigüedad. Las técnicas más utilizadas eran las claves de desplazamiento, una de las cuales fue denominada “clave cesárea” porque fue empleada por el emperador romano Julio César. El modus operandi de las claves de desplazamiento es el siguiente: se escribe el alfabeto y a continuación los dígitos del 0 al 9; se escribe debajo la misma secuencia desplazada a la derecha un determinado número de posiciones. Si seleccionamos un desplazamiento de 10 caracteres resulta:

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 0 1 2 3 4 5 6 7 8 9

0 1 2 3 4 5 6 7 8 9 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

Para cifrar al mensaje, se tomaba cada símbolo del mensaje original, se lo buscaba en la fila superior y se lo reemplazaba por el símbolo de la fila inferior. Por ejemplo, la palabra CLAVE se codificaba mediante 2B0M4 (para un desplazamiento de 10 caracteres).

Es evidente que este método de codificación es muy simple de descifrar, pero puede mejorárselo notablemente si se utiliza una clave de desplazamiento distinta para cada símbolo del texto original utilizando algún mecanismo aleatorio (donde intervenga el azar) para definir la magnitud del desplazamiento.

La ruleta es un mecanismo aleatorio que genera números al azar entre 0 y 36. Ahora, para cifrar nuestro mensaje podríamos utilizar el siguiente procedimiento: giramos la ruleta hasta obtener un número, supongamos el 5; desplazamos la fila inferior 5 lugares, buscamos el símbolo en el mensaje original y seleccionamos, al igual que antes, el símbolo desplazado en la fila inferior. Repetimos la tarea con la ruleta y volvemos a desplazar la fila inferior según el nuevo número obtenido y buscamos el siguiente símbolo del texto original y su correspondiente desplazado (es muy probable que dos símbolos originales idénticos tengan diferentes caracteres en el texto cifrado). Continuamos hasta el final del texto original y obtenemos un mensaje codificado cuya longitud es idéntica a la del original.

Para que nuestro receptor pueda descifrar el mensaje necesitamos enviarle previamente la clave. Era la forma habitual de operación de los espías: partían con una libreta que contenía varias páginas, cada una de ellas contenía un conjunto de números aleatorios y utilizaban una página por cada mensaje que transmitían o recibían. Eran libretas de uso único, porque se utilizaban una sola vez, ya que la reiteración de mensajes con la misma clave permitiría su desciframiento por parte de los especialistas en el tema. Eran indescifrables sin la página de números aleatorios correspondiente ya que carecían de estructura interna y aún en el caso de conseguirse el mensaje original no brindaban ventaja alguna para conocer los detalles del siguiente mensaje cifrado.

La criptografía convencional, también denominada criptografía simétrica, en la cual el receptor y el emisor conocen y utilizan la misma clave, funcionó perfectamente mientras el número de mensajes era relativamente reducido. La expansión de Internet, el uso del correo electrónico, el progresivo aumento en el comercio electrónico (e-commerce) y el creciente número de mensajes secretos transmitidos mediante computadoras interconectadas ha dado lugar a un crecimiento exponencial en el número de emisores y receptores y surge el problema de la generación, transmisión y almacenamiento de las claves. En la medida en que reparto mis claves a diferentes personas aumenta el riesgo que mis mensajes sean leídos por quienes no están autorizados a hacerlo. Si, por el contrario, utilizo una clave diferente para cada receptor requiero de procedimientos altamente eficaces para generarlas, mecanismos seguros para transmitirlas, y esquemas confiables para su almacenamiento y recuperación.

El problema se resolvió mediante la criptografía de clave pública (criptografía asimétrica) desarrolla en 1975 por Whitfield Diffie y Martin Hellman, ingenieros electrónicos de la Universidad de Stanford, EE.UU. Ahora un receptor posee dos claves: una pública y una privada; la clave pública es, precisamente, de conocimiento público mientras que la privada se debe mantener en secreto. Con este sistema podemos colocar nuestra clave pública al alcance de todos, inclusive en Internet. La genialidad del desarrollo de Diffie y Hellman radica en lo siguiente: cuando nuestro emisor desea enviarnos un mensaje secreto, toma nuestra clave pública para encriptar su mensaje; al recibirlo usamos nuestra clave secreta para desencriptarlo. Cualquier persona que intercepte el mensaje no podrá conocer su contenido si no conoce nuestra clave privada. El conocimiento de la clave pública no es condición suficiente para obtener el mensaje original.

La aplicación concreta de las ideas de Diffie y Hellman fue realizada en 1977 por tres científicos del Massachusetts Institute of Technology (MIT): Ronald Rivest, Adi Shamir y Leonard Adleman quienes utilizaron los “populares” números primos para desarrollar una aplicación de uso comercial que denominaron RSA. La idea básica consiste en la dificultad de encontrar los dos factores primos cuya multiplicación genera un número compuesto. Éste es un problema difícil si cada uno de los números primos a multiplicar tiene más de 60 dígitos y por lo tanto generan un número compuesto de más de 120 dígitos. Los matemáticos denominan problemas difíciles a aquellos que demandan una enorme cantidad de operaciones de cálculo, aunque la lógica de la solución sea relativamente sencilla. El número 15 es un número compuesto generado a partir de los números primos 3 y 5. Encontrar los factores primos de 15 es sencillo; no lo es el encontrar los factores primos de números compuestos de 120 dígitos por la cantidad de cálculos que deben realizarse, aún para las computadoras más veloces.

La trascendencia que actualmente tiene el tema del encriptamiento de la información se vio reflejada en el juicio que el gobierno de los Estados Unidos inició contra Phil Zimmerman, creador del software PGP. Son las iniciales de Pretty Good Privacy (Muy Buena Privacidad), un excelente programa que contiene rutinas criptográficas para el correo electrónico, aplicaciones para almacenamiento de archivos de claves y puede correr sobre múltiples plataformas. El software PGP es un programa de código abierto, distribución libre y gratuita y relativamente invulnerable a los ataques externos.

Se lo cataloga como un criptosistema híbrido porque combina los mejores detalles de la criptografía convencional y de la criptografía de clave pública. En primer lugar, PGP comprime el texto original; esta operación de compresión (zip) no sólo ahorra tiempo de transmisión y espacio en disco, sino que también mejora la seguridad del texto cifrado. Una de las técnicas para descifrar mensajes consiste en encontrar patrones o tendencias que se reiteran en el texto codificado y suponer a partir de los mismos, símbolos posibles del texto original; la operación de compresión enmascara esas tendencias y dificulta la búsqueda de patrones. Con el texto original ya comprimido, PGP obtiene en forma aleatoria (al azar) una clave de sesión de uso único. Esta clave se genera a partir de los movimientos del mouse y de las teclas tipeadas. Se utiliza esta clave en un algoritmo de encriptamiento simétrico para cifrar al texto comprimido. La clave de sesión de uso único se encripta con la clave pública del receptor utilizando la tecnología RSA y ambos, el texto comprimido cifrado con el algoritmo simétrico y la clave de sesión encriptada con RSA son transmitidos al receptor vía correo electrónico. El receptor utiliza su clave privada para recuperar la clave de sesión de uso único y una vez recuperada ésta, es utilizada por PGP para descifrar el texto original.

Phil Zimmerman tuvo que enfrentar un juicio iniciado por el gobierno de los Estados Unidos. Su delito fue crear una versión freeware del software PGP y permitir que cualquiera pudiera bajarlo de Internet. Se lo consideró un delito porque PGP fue catalogado como un algoritmo de encriptamiento de grado militar, cuya exportación está prohibida. Zimmerman, un auténtico liberal quiso que los ciudadanos norteamericanos pudieran enviarse mensajes por correo electrónico sin que el gobierno pudiera interceptárselos. Por el otro lado, las autoridades se dieron cuenta que un software de encriptamiento al cual “una computadora, construida con 1000 millones de chips más poderosos que cualquiera de los existentes en la actualidad, requeriría 10 trillones de años para probar todas las combinaciones posibles que usa el algoritmo de encriptamiento del PGP”, le impediría leer el correo electrónico de terroristas, narcotraficantes, evasores de impuestos, etc.

Se descubrió que Estados Unidos y alguno de sus aliados utilizan una red de satélites y computadoras para espiar la información que circula entre empresas y particulares en busca de información que responda a ciertas consignas. Se trata de una clara violación de los derechos por parte del estado contra los ciudadanos. Por suerte, Phil Zimmerman nos regaló el PGP; por suerte, Phil Zimmerman ganó el juicio contra el estado. El Gran Hermano tendrá que respetar nuestra privacidad.

No hay comentarios.: