Cifrar datos


¿Te has dedicado alguna vez a asuntos que no deberían ser ilegales? ¿O simplemente quieres que se respete tu intimidad? Si es así, seguro que los siguientes capítulos te desconcertarán. Pues, comunicando con otra gente haces uso de canales en los que todo el mundo puede introducirse de una manera relativamente sencilla. Como es difícil evitar que se intercepten tus mensajes, es lógico, por supuesto, que trates de hacerlos incomprensibles. Desde hace muchos siglos, reyes, espías y otros ladrones de varios países se han familiarizado con esta idea. Actualmente, también los ciudadanos sienten interés por estos asuntos, lo que disgusta enormemente a las categorías
anteriormente citadas. Aun así, describiremos algunas posibilidades de velar los textos escritos o la voz humana. También hablaremos de la fiabilidad de estos métodos pero antes de ocuparnos de los modernos sistemas digitalizados, daremos primero algunos ejemplos clásicos ya que muchos de sus principios básicos se utilizan en los sistemas de ciframiento de hoy día.

Escrituras arcaicas

Como ya hemos dicho, algunos de los métodos para hacer ilegibles mensajes escritos son antiquísimos. En su tiempo, Julio César no confiaba en sus mensajeros cuando enviaba mensajes a sus confidentes. Por eso en sus mensajes cambiaba la `a' en `d', la `b' en `e', etcétera. Cuando llegaba al final del alfabeto, volvía a contar al principio del alfabeto. Sólo quien conocía la norma `córrase tres puestos hacia delante en el alfabeto', podía leer el mensaje.

Es probable que Julio César utilizara siempre semejante norma pero quizás cambiara el número de puestos que las letras debían correr. Actualmente, la norma que él empleaba se llamaría `algoritmo' y el número de puestos que había que correr `la clave'. De la misma forma el mensaje original se llamaría `texto limpio' y el mensaje elaborado `texto cifrado'. `Codificar' o `cifrar' quiere decir transformar un mensaje en un documento cifrado, y el proceso contrario se llama `descodificar' o `descifrar'. Los sistemas de ciframiento se llaman `sistemas criptográficos'. Los criptógrafos son los que inventan los sistemas. Existen sistemas criptográficos para textos escritos pero también para codificar la voz. A su vez, los criptoanalistas son los que se dedican al desciframiento de estos sistemas.

El método de Julio César es un ejemplo de sistema de substitución: no era el orden de las letras lo que se cambiaba, sino las letras mismas. En otros métodos se utilizaban permutaciones, es decir, no se cambiaban las letras sino su orden.

A finales del siglo XIX, se inventó el método de `tablas' o `discos', con el que muy pronto se empezó a utilizar una máquina especial de codificación y descodificación. Este método mezclaba las letras del alfabeto y las ponía al canto de un disco redondo. Después, se hacían unos discos semejantes, procurando que en cada disco se mezclara el alfabeto de una manera distinta. Así se formaban varios discos, cada uno con una tabla distinta.

Los discos se colocaban, el uno al lado del otro, en un orden acordado (la posición inicial) en un eje alrededor del cual estos podían girar. El mensaje se realizaba haciendo girar los diferentes discos. El texto cifrado se hacía mediante un número fijo de giros de cada disco en una dirección convenida (la clave). En el lugar donde primero estaba el mensaje, después se encontraba el texto codificado. Es evidente que si los mensajes eran largos, se debía repetir este proceso. Para eso el texto limpio fue dividido en bloques del tamaño del número de discos de la máquina y después, por cada bloque de letras se efectuaba el mismo giro. Actualmente, esto se llamaría `ciframiento por bloque'. La descodificación se realizaba mediante el procedimiento en orden inverso, por lo que era necesario que el remitente y el receptor dispusieran de la misma máquina.

Durante la Segunda Guerra Mundial, los alemanes utilizaban un aparato con cinco discos basado en esta idea: el llamado Enigma. Cambiaban las claves con frecuencia por lo que los Aliados tenían grandes dificultades para poder descifrar la comunicación interceptada hasta que se apoderaron de un aparato Enigma y sus (posibles) posiciones iniciales. Con la ayuda de un ordenador, desarrollado en ese momento en el más estricto secreto para poder descifrar los códigos utilizados por el enemigo, se podían probar todas las claves posibles en relativamente poco tiempo. Después de la Guerra, los norteamericanos vendieron aparatos Enigma a países del `Tercer Mundo' pero `olvidaron' de advertirles de que el sistema ya había sido descifrado. En el caso del Enigma, la posesión del aparato y, con ello, el conocimiento del algoritmo fue de gran importancia para poder descodificar. Hoy en día, mantener oculto un algoritmo ya no es tan importante. Los matemáticos han demostrado que es posible confeccionar sistemas criptográficos de tal manera que el conocimiento de los algoritmos o la posesión del aparato no lleve necesariamente al desciframiento del sistema.

Un siguiente método de ciframiento que data de la era antes del invento del ordenador, proviene probablemente de la Europa del Este. En este método se cambian las letras del texto limpio por cifras y luego se realiza una operación matemática con esas cifras. Quizás el método esté en uso todavía entre espías que han perdido su ordenador.

La espía y su jefe tienen un pequeño libro del tamaño de una caja de cerillas. En la cubierta del libro están todas las letras del alfabeto y algunos signos ortográficos, seguidos por un número por el que tienen que ser sustituidos. En las páginas siguientes del libro, que se pueden considerar como una larga clave, sólo hay filas de cada vez 5 cifras.

Cuando la espía codifica el mensaje "with love", primero convierte este texto "with love" en cifras con la ayuda de la cubierta del libro; por ejemplo, w=8, i=7, t=22, h=16, etcétera. El resultado lo agrupa en filas de 5 cifras y, si hace falta, completa la última fila con ceros:

w i t h l o v e
8 7 22 16 13 27 19 9


El resultado es: 87221 61327 19900
Después, la espía elige una página de su libro. El primer renglón empieza, por ejemplo, con 95342 53308 34160 Ella pone estas cifras debajo de su `mensaje en cifras':

CIFRAR DESCIFRAR
87221 61327 19900 "with love" 72563 14625 43060 código
95342 53308 34160 clave + 95342 53308 34160 clave -
72563 14625 43060 código 87221 61327 19900 "with love"

Ella suma las dos filas sin `llevar', pues, de tal manera que 9+8=7 y no 17, 5+7=2 y no 12, etc.(1) Si está segura de que ya no hay errores de cálculo, envía el resultado a su jefe, que, como hemos dicho, tiene un libro exactamente igual. La página con la clave utilizada se destruye después de su uso.

El desciframiento se efectúa según el procedimiento de orden inverso. Ahora, en vez de `sumar', hay que `restar' la clave del mensaje cifrado. Si lo que resta es negativo, como en la resta 7-9, el jefe hace como si pusiera 17-9. Así obtiene "with love" en cifras, lo que con la ayuda de la cubierta él puede convertir otra vez en el mensaje original.(2) En realidad la operación requirió aún más tiempo: para mayor seguridad se anotaba el mensaje codificado con tinta invisible en una carta y por encima se escribía un texto legible que sólo constaba de palabras sin importancia.

Nota que empleando este método se efectúa una determinada operación con una letra y no con un bloque de letras, como hace el aparato Enigma. Actualmente, algo así se llamaría `ciframiento por carácter'. Otra diferencia es que el texto cifrado es más largo que el texto limpio, mientras que en el caso del Enigma ambos textos son igual de largo.

A lo mejor no sería tan difícil descifrar este sistema, si el/la espía utilizara una determinada página (la clave) más de una vez. Métodos en los que se come, se quema o se destruye de otro modo la clave después de ser utilizada, son del tipo `One Time Code Pad'. La seguridad del sistema no sólo depende del uso único de la clave. De esencial importancia es también que la clave sea impredecible. Esto sólo se puede conseguir cuando conociendo unas cifras de la clave no se pueden pronosticar las demás cifras. Si éste es el caso, se dice que la clave es `random' (completamente aleatoria). En la práctica es muy complicado lograr que la clave sea completamente `random'.

Ciframiento digital

Con el invento del ordenador las posibilidades de los descifradores han crecido enormemente pero las oportunidades de las personas que confeccionan las claves se han hecho casi infinitas. No sólo la capacidad de cálculo del ordenador, sino también el hecho de que éste almacene un texto en los valores (1) o (0), los llamados bits, aumenta las posibilidades (por ejemplo, `A'=1000001). Ahora, en sus técnicas de ataque los descifradores ya no pueden aprovechar tan fácilmente las características de una lengua. También nuevas comprensiones matemáticas hicieron que algoritmos cada vez más complejos pudieran formar parte integral de los programas informáticos
(software) o de las conexiones electrónicas (hardware/chips). Substituciones, permutaciones, tablas y operaciones matemáticas son, en diferentes combinaciones, habituales en los diversos actuales sistemas criptográficos.

Los modernos sistemas criptográficos digitalizados pueden ser clasificados de diferentes maneras. Hay ciframientos `por bloque' y `por carácter', lo que significa ahora el ciframiento `por bloque de bits' o el ciframiento `por bit': por un lado los métodos que cifran un bit original en un único bit y, por otro lado, los métodos en los que el texto limpio y el texto cifrado no son igual de largo. En algunos sistemas criptográficos la clave se deduce de una u otra forma del texto limpio, en otros se produce independientemente del mensaje original. Existen sistemas en los que se
utiliza una clave una sola vez y sistemas que hacen uso de una clave idéntica más de una vez.

Además, puedes distinguir entre los mencionados sistemas convencionales, con sólo claves secretas, y un concepto completamente diferente, el llamado `Public Key' (Clave Pública), que desde los años setenta empezó a conquistar el mundo y del cual hablaremos más adelante. Para hacerlo más complicado, en la práctica se suele utilizar todo tipo de combinaciones de principios criptográficos.

Aparte de clasificarlos según la técnica en la que se basan los sistemas criptográficos, también puedes juzgarlos por su fiabilidad, su facilidad en el uso, el tiempo de procesamiento que ocupan, su precio, etc.. Aunque no pretendemos ser exhaustivos, abordamos ahora el tema de la calidad de un número de sistemas que se pueden adquirir fácilmente. Sin embargo, ya de antemano debemos relativizar lo que sigue: lo que parece seguro hoy, quizás ya no lo sea mañana.

`One Time Code Pad' ciframiento `por bit'

A los sistemas criptográficos convencionales que se consideran indescifrables, pertenecen los sistemas de ciframiento `por bit' con una clave que sea bastante `random', que sea al menos, igual de largo que el mensaje original y que se use sólo una vez.

Estudiemos más detalladamente esas claves `aleatorias' o `random', partiendo de la suposición de que los criptoanalistas pueden disponer de las recetas (en hardware o software) con las cuales se confeccionan las claves. A pesar de ello, ha de ser imposible predecir la clave, ni siquiera si una parte de ella ya se conoce. Por lo tanto, la cuestión es cómo se hace una clave `random'. En otras palabras: ¿dónde encuentras los factores casuales que procuren que el resultado de una receta conocida sea impredecible?

El ruido de fondo en tu radio-FM, la radiación del sol y el resultado de una lotería son, por ejemplo, aleatorios porque no se les puede aplicar una fórmula. También ciertos componentes electrónicos, como el diodo y el transistor, pueden producir ruido de fondo. Por esa razón se utilizan estos componentes en algunos generadores de claves `hardware'. Otro método para hacer claves de manera `hardware' es el uso de registros de desfasaje, que se emplean sobre todo en aparatos para codificar la voz. Sin embargo, así nunca se consigue un `random' total.

En las recetas `software' para la confección de claves lo mejor es hacer uso de la impronosticabilidad humana como fuente aleatoria. Puedes pensar p.e. en el momento en que alguien realiza cierta operación ante el ordenador (el reloj del ordenador), en las teclas del teclado que alguien elige, en el tiempo transcurrido entre dos pulsaciones, etc. Cuantos más elementos impredecibles mejor, aunque también con este método queda difícil conseguir un `random' completo. Sin embargo, no confíes de ningún modo en programas que para la confección de una clave sólo hacen uso de factores que ciertamente parecen muy enigmáticos o complicados pero que, en realidad, se llevan a cabo según unas reglas relativamente sencillas, como el tiempo que el ordenador necesita para efectuar cierto cálculo o para almacenar un archivo en disco.

Que la clave sea impredecible es de tanta importancia para la seguridad de este método, que para obtener el texto cifrado se limita a una operación de bits `XOR'(3), que se aplica también en otros métodos de criptografía. La idea básica de `XOR' es que se compara un bit del mensaje con el bit correspondiente de la clave. Si esos bits son diferentes, en el texto cifrado se pone un (1) en el mismo sitio. Si son iguales, se pone un (0) en el mensaje codificado. Con esta misma operación puedes recuperar también el texto original. Por ejemplo:

CIFRAR (XOR) DESCIFRAR (XOR)
1101011  texto limpio 1001010 texto cifrado
0100001 clave 0100001 clave
1001010 texto cifrado 1101011 texto limpio


A condición de que la clave sea suficientemente `random', esta sencilla operación también sirve para cifrar textos.(4) El sistema es seguro porque los descodificadores no pueden hacer más que probar todas las claves posibles. Podrás imaginarte que, como el número de claves es casi ilimitado, incluso los poderosos ordenadores de hoy en día precisan hacer cálculos interminables.

Estos sistemas son seguros, pero tienen muchas desventajas.

El ciframiento y el envío de grandes archivos almacenados en disco acapara relativamente mucho tiempo, lo que, por supuesto, resulta molesto cuando tienes que hacerlo con frecuencia. Además, para cada persona con la que te quieras comunicar tendrás que utilizar cada vez otra clave, mientras que a lo mejor te comunicas con mucha gente. En ese caso necesitas un montón de discos blandos que no deben caer en manos de personas que no estén autorizadas. Aparte de ello, primero hay que encontrar una manera segura de intercambiar la clave. Para gobiernos y organizaciones de gran capacidad financiera tal vez ello no constituya un problema pero para gente como nosotros sí. Y es que (todavía) no disponemos de los recursos necesarios para pagar a un mensajero que recorre el mundo con una valija diplomática
encadenada a la muñeca. La cuestión se vuelve aún más complicada cuando ha habido algún fallo en la comunicación. Incluso si sólo se ha perdido un bit, hay que volver a codificar el texto limpio y a enviar el mensaje codificado.

En suma, el uso de estos sistemas no siempre es muy práctico. Pero en ciertas circunstancias a lo mejor aceptas esas molestias. Por ejemplo, la sección diplomática de la antigua resistencia salvadoreña (FMLN) utilizaba semejante sistema en las negociaciones con el gobierno de su país, así como algunas guerrillas latinoamericanas.

Ciframiento `por bloque'

A la categoría de sistemas inseguros corresponde, en nuestra opinión el estándar DES. El DES es la sigla de `Data Encryption Standard', que se vende como chip y que fue desarrollado en los años setenta por la empresa IBM. Por entonces corría el rumor de que la `National Security Agency' (NSA) había obligado a esta empresa a debilitar intencionadamente el sistema. En 1952 se creó en Estados Unidos la NSA para descifrar códigos enemigos y hasta la fecha se considera como el servicio de escuchas y de (des)codificación más importante del mundo. Se dice que tan sólo para la interceptación de comunicación internacional el servicio gasta unos treinta mil millones de dólares al año.

En 1977 se convirtió el DES en estándar en EEUU. Con la aprobación de un gobierno que, por otra parte, no confía sus secretos propios al DES. Sin embargo, el algoritmo (todavía) sigue siendo el más utilizado en el sector comercial para la protección de la telecomunicación. Con el DES se pueden codificar el correo electrónico, los datos almacenados y la voz.

El DES es un sistema de ciframiento `por bloque', ideado para la codificación y la descodificación de bloques de 64 bits. La clave que se utiliza tiene también 64 bits de largo, pero, en verdad, sólo se usan 56 bits.(5) De hecho, el algoritmo consta de una serie de distintas operaciones: permutaciones y substituciones realizadas frecuentemente según tablas. Para las diferentes operaciones se suelen utilizar claves cambiantes, que se deducen de la clave principal. 

Los principios básicos que rigen los diferentes pasos del DES son secretos. Su funcionamiento se reveló sólo en forma de tablas poco claras. Ello hace difícil averiguar cuáles son las funciones analíticas o matemáticas que determinan las diferentes fases del procesamiento. Desde luego, numerosos científicos han tratado de analizar el DES, pero sólo han conseguido analizar partes separadas del algoritmo. Sin embargo, muchos de ellos no descartan la posibilidad de que haya una `puerta secreta', que permita recuperar el texto limpio del mensaje cifrado.

El sistema DES puede funcionar de cuatro modos (`modes') diferentes.

A pesar de todas las posibilidades del DES podemos concluir que dadas las actuales evoluciones tecnológicas el tamaño de la clave, es decir 56 bits, del estándar DES (ya) no reúne los requisitos necesarios. "... Es posible construir una máquina de un millón de dólares que pueda descubrir cada clave del DES en siete horas. Ello implicaría que, por término medio, esa máquina podría descodificar un ciframiento del DES cada tres horas y media... Por diez millones de dólares eres propietario de una máquina que sólo precisa unos 21 minutos, y por 100 millones de una máquina que sólo necesita dos minutos... Estoy seguro de que la NSA está en condiciones de realizarlo en unos segundos, visto su presupuesto".(6) Ahora, para mejorar la fiabilidad se lanza al mercado el DES-hardware, en que se sobrecifra, a veces con algoritmos no procedentes del DES o con claves más largas. La IDEA, que significa `International Data Encryption Algorithm' es una alternativa mejor que el DES. También con la IDEA se pueden velar textos, datos almacenados y la voz. Es un producto suizo, inventado por Xueija Lai y James Massey, que se comercializa tanto en hardware como en software. El algoritmo, que, contrariamente al DES, sí es conocido, está basado en distintas operaciones matemáticas y consta también de varios pasos. La clave que se usa es 128 bits de largo. A pesar de ello, la IDEA es, por término medio, dos veces más rápida que el DES.

La IDEA es todavía demasiado nueva para sacar conclusiones definitivas sobre su seguridad. Lo cierto es que los inventores han puesto todo su empeño en inmunizar la receta contra todas las posibles técnicas de ataque de los descifradores. En distintos círculos universitarios y militares se está tratando de descifrar el sistema. Hasta la fecha sin éxito, aunque queda completamente por ver si nosotros seremos los primeros en ser informados en el caso de que se consiga descifrarlo.
Los cuatro modos de instalación de la IDEA (`modes') son iguales a los del DES.

`Public Key'

En los años 70 se creó un nuevo concepto dentro de la criptografía, a saber `Public Key' (Clave Pública). En `Public Key' cada persona posee una combinación única de dos claves que son diferentes pero que hacen juego: una clave pública y una clave privada. Las claves tienen que ser confeccionadas de tal manera que lo que se cifra con tu clave pública sólo puede ser descifrado por tu clave privada (y al revés).

La idea es que, por ejemplo, Juan puede enviar su clave pública a Ana por una línea de comunicación pública. Después, Ana puede codificar el mensaje que ella quiere enviar a Juan con esa clave. Juan, a su vez, descodifica ese mensaje con la clave privada de él. Mientras Juan mantenga en secreto esa clave, nadie podrá leer el mensaje.

Si el sistema está bien hecho y si también Ana ha enviado la clave pública de ella a Juan, Ana puede usar su propia clave privada como garantía de que fue ella quien envió ese mensaje a Juan. Es que cualquier persona por lo tonta que sea y que tenga la clave pública de Juan puede mandarle un mensaje codificado. Por eso Ana cifra primero el mismo mensaje con su propia clave privada y de esta manera pone su `firma digital', por decirlo así. En cuanto Juan recibe el mensaje, primero lo descifra con su propia clave privada y luego con la clave pública de Ana.

En sus intentos de descifrar `Public Key' los especialistas en este terreno pueden aplicar una técnica extra de ataque: pueden tratar de deducir de una u otra forma la clave privada de la clave pública. La mayoría de las recetas que se han ido inventando para la confección de pares de claves resultaron no ser resistentes a estos ataques. La única receta que se considera segura es el llamado sistema RSA, nombre compuesto por las iniciales de sus creadores Rivest, Shamir y Adleman. Su sistema está basado en el hecho de que - si bien es cierto que es relativamente simple multiplicar dos números que sólo son divisibles por sí mismos (números primos) - no obstante, es considerablemente más difícil deducir de nuevo del producto los números primos originales. Si los números primos son bastante largos, ello incluso se hace imposible.

Si el producto de los números primos es un número de más o menos 200 cifras (decimales), un ordenador con la actual capacidad de cálculo tarda algunos millones de años en encontrar los números primos originales. Para llegar a entender algo de la seguridad del sistema RSA puedes imaginarte lo siguiente.

Haces dos guías telefónicas infinitamente grandes de una ciudad imaginaria. Una guía está ordenada por números, la otra por apellidos. Publicas la guía ordenada por apellidos y tú te quedas con la guía ordenada por números. Las personas que quieren enviarte la palabra `CACA', escogen de la guía ordenada por apellidos sucesivamente un apellido que comienza con `C' (p.e. Cairo), después un apellido que comienza con `A' (p.e. Alonso), etcétera. Luego, el mensaje que te mandan sólo consta de los números de teléfono de Cairo, Alonso y de las otras personas encontradas de esta manera. Tú tienes la guía ordenada por números y puedes descodificar el mensaje. Como las guías telefónicas son casi infinitamente grandes, es prácticamente imposible
ordenar la guía pública por números, y encontrar los números de teléfono correctos requeriría muchísimo tiempo.

La gran ventaja de `Public Key' es que el intercambio de claves se ha hecho más simple y que ya no es necesario enviar primero un mensajero. Tampoco es necesario proteger montones de disquettes contra personas no autorizadas. El gran problema con el algoritmo RSA estriba en que el proceso de ciframiento y desciframiento exige muchísimo tiempo. Por consiguiente, en la práctica casi nadie utiliza el RSA en su forma `pura', aunque sólo sea porque los esquemas convencionales no son necesariamente más débiles que la criptografía del `Public Key'. Por lo tanto, el siguiente programa, el PGP, hace uso de una combinación de `Public Key' y del algoritmo IDEA, que hemos mencionado anteriormente.

PGP

`Pretty Good Privacy' (PGP) es un paquete de software creado por Phil Zimmerman. Se utiliza sobre todo para el ciframiento del correo electrónico (e-mail) pero, por supuesto, también sirve para velar ficheros. El PGP no es caro y se ha divulgado mundialmente. Como ya hemos dicho, el PGP utiliza una combinación de elementos del RSA y de la IDEA. Para cada mensaje que se quiere enviar, se hace una llamada `clave de sesión' con la ayuda de la IDEA. Esta `clave de sesión', sobrecifrada con la clave secreta del RSA, se envía juntamente con el mensaje. En el ordenador la clave secreta del RSA está protegida automáticamente con una (larga) contraseña.

Se dice que el PGP es uno de los sistemas que (hasta la fecha) son indescifrables. Sí es posible que una tercera persona intercepte la clave pública cuando se la manda al destinatario, que la manipule y la reexpida. Si no confías, tienes que comparar la clave original con la clave recibida.(7) Además, hay quienes afirman que se puede mejorar la manera en que se eligen y prueban los números primos en el PGP.

Sea como sea, en Estados Unidos el PGP ha avivado el debate sobre la prohibición de sistemas criptográficos no autorizados por el Gobierno. Ya desde hace algún tiempo, los guardas destinados al velar por el cumplimiento de la ley y los servicios secretos han obstaculizado la divulgación de o publicaciones sobre buenos sistemas criptográficos. Ahora, sin embargo, ellos parecen darse cuenta de que se hallan en una situación peor que la de los tiempos anteriores de la era del ordenador cuando las técnicas de sacar cartas de los buzones, abrirlas al vapor o pinchar teléfonos y mecanografiar las grabaciones tenían que aplicarse por la fuerza selectivamente a causa del alto coeficiente laboral de las mismas. Si todo el mundo utiliza el PGP, la lectura de cartas ajenas (ahora electrónicas) vuelve a ser un trabajo arduo que no se puede aplicar a gran escala. Y esto si se consigue leerlas.

Entonces no es de extrañar que los partidarios de una prohibición de la criptografía a la vez aboguen por un nuevo estándar de ciframiento. El DES se ha quedado anticuado y antes de que sea posible la prohibición de otros sistemas, es necesario la creación de un nuevo sistema autorizado de criptografía. El sistema que entra en cuenta para ello se llama `Skipjack' y está empaquetado en un chip llamado `Clipper'. El algoritmo, del cual no se conocen muchos detalles, ha sido desarrollado por la NSA y funciona con una clave de 80 bits. Cada aparato que esté provisto de un `Clipper-chip' (VLSI) se equiparará de una `clave principal' especial, con la que cifrarás la clave que utilizarás en la comunicación. Aparte de esto, cada aparato tendrá unos números únicos que se enviarán juntamente con los mensajes. El proveedor transmite al Gobierno estos números junto con el nombre del cliente. El Gobierno puede buscar la clave principal en base a los números del aparato. Para combatir abusos en cierta medida, la clave principal está dividida en dos y almacenada en diferentes organismos estatales. Se
necesitan ambas partes de la clave para poder `escuchar' la comunicación criptografiada. Formalmente, sólo funcionarios del Gobierno con una autorización especial tendrán acceso a ambas partes de la clave principal.  Un claro ejemplo de vino viejo en odres nuevos: sin perder sus posibilidades de control, la Administración ofrece al ciudadano respetable y honrado una oportunidad de comunicarse de una manera `segura'. Por falta de comunistas, los partidarios de estas tendencias advierten del peligro que los narcotraficantes, los terroristas y otros criminales representan para la `seguridad del Estado'. Y mientras no les molesta a ellos, sí lo hace a nosotros que así, por comodidad, midan con el mismo rasero a las diferentes categorías.

Algunas personas consideran como un derecho que pueden proteger su intimidad de una manera que a ellas mismas les parezca más apropiada en todas las circunstancias. Por eso rechazan el control estatal del uso de la criptografía. ¿Tú tampoco pides permiso de las autoridades para susurrar de vez en cuando?

Un alto funcionario de la NSA, James Hearn, está en Londres con el fin específico de convencer a la Unión Europea y a la Asociación de Librecambio europea de la filosofía del `Clipper-chip'. Por ejemplo, aboga por la incorporación automática del chip en las futuras mejoras de la infraestructura de la telecomunicación, que se llama también `autopista digital'.

Mientras escribíamos este artículo, en Holanda también se empezó a discutir sobre el tema. Los Ministerios del Interior, de Defensa, de Justicia y de Circulación, Transporte y Dominio de Aguas están realizando un borrador de un proyecto de ley que regularice mediante un sistema de licencias la venta y la utilización de la criptografía. Independientemente de la pregunta si esta ley puede hacerse factible, la cuestión principal es si los ciudadanos permitirán que se les arrebate su derecho a protegerse contra la Administración.

En el caso de que el proyecto de ley, o una variante de él, se haga ley, aún les quedan esperanzas a los desconfiados de la Administración. Los que hacen las leyes casi nunca pueden seguir el ritmo de la tecnología. Por ejemplo, en Estados Unidos ya hay gente que está elaborando un PGP invisible (`stealth PGP'), una variante al PGP en la cual será difícil demostrar si se ha utilizado la criptografía. ¿O es que también nos prohibirán que nos enviemos ruido de fondo y tonterías? Los técnicos ven también otras posibilidades de ocultar el uso de la criptografía, por ejemplo, escondiendo mensajes en textos que constan de tonterías o en ilustraciones.

Mensajes escondidos en ilustraciones

En realidad, esconder mensajes en ilustraciones va más allá de sólo hacer ilegible la comunicación ya que este método, que todavía no se vende como paquete de software, consiste en que se encubra la existencia de la comunicación misma. Este sistema se llama `esteganografía'. El invento del ordenador ha aumentado las posibilidades en este campo. El principio de ocultar un mensaje en una ilustración significa lo siguiente: Se codifica cada color de una ilustración en una larga cadena de bits, pero no cada color `utiliza' cada bit de esta cadena. En los bits que no son (tan) importantes, se pueden esconder bits que forman parte del mensaje. Sólo alguien que sepa de qué bits se trata y que conozca la receta, está en condiciones de leer el mensaje. Si se pone semejante ilustración en un lugar público, como un boletín de una red o un tablón electrónico (V. el artículo ..... ), en principio todo el mundo puede encontrarla. A las personas que no están al tanto les es imposible averiguar si se trata sólo de una ilustración o también de un mensaje, y, por lo tanto, tampoco se puede sacar en claro `quién comunica con quién'.

Contraseñas de protección para programas

Hay muchos programas que, en realidad, no están destinados específicamente para el ciframiento de textos pero que sí lo ofrecen como posibilidad suplementaria. Unos ejemplos conocidos son WordPerfect, ciertos programas de spreadsheet y de base de datos y el programa de compresión Pkzip. Con estos programas es posible proteger ficheros con una contraseña.

El manual de WordPerfect 5.1 dice lo siguiente sobre las contraseñas de protección: "De ninguna manera WPCorp puede anular la protección de sus ficheros si usted ha olvidado su contraseña propia". Esto no es verdad, porque entretanto varias personas han descubierto cómo funciona el sistema. La primera fue Helen Bergen de Australia que necesitó una tarde de estudios y el dorso de un sobre para romper la protección. Cuando comunicó esto a WordPerfect Pacific, la empresa le contestó que "WordPerfect no dispone de semejante programa y por eso no es capaz de anular la protección". Además, ellos añadieron que "sólo muy pocas personas pueden escribir tal programa".

De lo susodicho se puede concluir que WordPerfect no se toma muy en serio la protección. Entretanto, se puede encontrar el programa de desciframiento `WPCRACK' en muchísimos tablones de anuncios electrónicos (o BBS: un ordenador al que sus miembros pueden llamar para leer o enviar mensajes). Se dice que se ha inventado WPCRACK para ayudar a los que han olvidado la contraseña de un documento.

El problema con la protección mediante contraseñas de WordPerfect estriba en que el método de protección es muy sencillo.(8) Aparte de ello, en un documento escrito en WP algunos caracteres son siempre iguales en determinados lugares. Desde luego, esto es el sueño de cualquier analista de criptografía: disponer del texto original y del texto cifrado. Utilizando los dos textos, el programa WPCRACK puede `adivinar' la contraseña en algunos segundos. Otros programas que utilizan contraseñas para la protección de ficheros suelen hacer uso de un método de ciframiento comparable o, incluso más simple.

Un grave problema constituye el que muchas personas utilicen cada vez la misma contraseña. Supon que utilizas la misma contraseña para tus documentos escritos en WordPerfect y a la vez para el sistema informático de tu trabajo, o, aún peor, para el PGP. Después de que con la ayuda de WPCRACK hayan encontrado la contraseña de tu documento escrito en WP, todos tus documentos quedan al descubierto de una vez.

Los métodos de protección que se utilizan en estos programas no suelen ser muy fiables porque sus creadores normalmente no son especialistas en el campo de la criptografía. En realidad, sólo se puede confiar de programas de ciframiento si han sido desarrollados por personas que sí están bien enteradas. Lo mejor sería si los programas de tratamiento de texto y de spreadsheet tuvieran la posibilidad de ejecutar el PGP desde el programa. Mientras eso no sea posible, es importante que se cifre cada documento por separado.

Contraseñas de protección para ordenadores personales y discos duros

Se comercializa un número de programas que ofrecen la posibilidad de proteger el acceso al ordenador mismo con una contraseña. A veces, esa posibilidad está incluida de manera estándar en el ordenador. Mucha gente cree que así se cifra la información almacenada en el ordenador aunque por lo general no es ése el caso. Lo que ocurre es que se hace imposible el arranque del ordenador, un bloqueo que a menudo es fácil de levantar con unas sencillas operaciones. Claro que un interesado sin permiso también puede sacar el disco duro del ordenador para estudiarlo con la ayuda de otro ordenador.

Incluso ya circulan programas con los que se puede levantar la protección de la mayor parte de estos métodos. Ni un ordenador provisto de un Chip AMI-BIOS, ni un programa como PC-Lock es de fiar, salvo si tú quieres evitar que tus niños jueguen en tu ordenador.

Un programa que vale la pena mencionar y que efectivamente cifra los datos de un disco es SecureDrive. Este hace uso de la IDEA y hasta ofrece la posibilidad de colaborar (en cierta medida) con el PGP. Con SecureDrive es posible cifrar partes de un disco duro. También se pueden proteger discos sueltos (floppys). Por otra parte, se puede hacer lo mismo con Norton Diskreet, que está basado en el DES pero que es probablemente menos fiable.

Si tienes muchos datos almacenados en un disco duro protegido con SecureDrive, sin duda quieres hacer copias de reserva de vez en cuando. Hazlo en discos sueltos que también debes cifrar con SecureDrive. Una vez conectado, SecureDrive combina perfectamente con programas para hacer copias de reserva como MS Backup. Sin embargo, procura utilizar para almacenar la manera normal, MS-DOS compatible. En el caso contrario, `se pasa por alto' SecureDrive y los datos son almacenados sin ciframiento en los discos del backup.

LO QUE (NO) SE DEBE HACER

Hasta ahora hemos hablado sobre sistemas criptográficos que pueden ser usados para poner en clave disquetes y archivos, y de la seguridad de esos sistemas. Habrás comprendido de los otros capítulos que junto a quienes quiebran los códigos también existen intrusos o escuchas a través del cable o la pantalla. A menudo son esos métodos en la práctica más exitosos y baratos. Ningún sistema criptográfico es impenetrable. Tendrás que formularte una y otra vez la pregunta: "¿Qué es lo que más pesa para mi enojado/a ex, vecinos curiosos, inspectores sociales o la Seguridad de
Estado, la información especial de que dispongo o el esfuerzo financiero que tienen que realizar para lograr averiguarla?".

Te daremos a continuación una cantidad de consejos, con los que por lo menos les elevas los costos:

Nunca dejes por cualquier lado claves secretas o contraseñas. En cuanto a las contraseñas rige: el nombre de tu novio, abuela o perro, es demasiado evidente. Lo mejor es elegir palabras que no existen. Los programas que ofrecen la posibilidad de introducir frases - contraseña son los mejores. Decodificar una contraseña de 6 signos le costó al poseedor oficial del récord mundial desde agosto de 1993 como máximo 1 minuto, pero en esos campeonatos no participaron las computadoras rápidas de las que disponen algunas instancias gubernamentales. Ten en cuenta que los "intrusos" o virus pueden destruir tu programa criptográfico, claves, contraseñas y textos o extraer información de ellos. Por ejemplo, es posible reemplazar la parte de un programa en clave que exige una contraseña (por ej. de PGP o Secure Drive) por algo que aparentemente es lo mismo pero que quita la contraseña y la escribe en alguna parte del fichero en tu disco duro. Este fichero puede ser leído luego por el "intruso". Este truco se denomina "el caballo de Troya". Si tienes a disposición sólo un ordenador de un sistema "multi - user" (uso múltiple) o una máquina que está conectada a un "Local Area Network" (LAN) (Red de área local) tienes que tener en cuenta que quien regenta el sistema u otros usuarios muy hábiles pueden tener acceso a tus ficheros
confidenciales, programas de seguridad y claves, a veces hasta en el momento en que estás trabajando. Posees una computadora propia pero tienes miedo de la posibilidad de que otros puedan lograr acceso a tu ordenador y al disco duro que está dentro,
entonces lo que tienes que hacer es poner los archivos confidenciales, programas de seguridad y claves en disquetes sueltos. De esa manera puedes llevar contigo todo el día el acceso a tus datos sin necesidad de cargar a cuestas el ordenador. Estos disquetes (o el disco duro si a pesar de todo lo quieres usar) los puedes poner en clave de nuevo por ejemplo con Secure Drive. También puedes hacer un disquete con el programa Secure Drive con el que arrancas tu propio ordenador. Poner en marcha la computadora sin el disquete, es imposible.
Independientemente del método criptográfico que uses, les complicas más las cosas a los analistas de claves, si comprimes el texto listo (lo haces lo más pequeño posible) antes de codificarlo. PGP ha creado esa posibilidad, pero muchos otros programas a la venta hacen lo mismo (PKZIP, LHARC, PKPAK). Si quieres elevar hasta alturas desconocidas la desesperación de quienes quiebran los códigos, codifica tu mensaje o archivo con diferentes programas en clave, en forma consecutiva. Tienes que usar por último el mejor de ellos; con ello codificas el texto en clave que has obtenido antes.
Piensa que las "versiones no codificadas" archivos que quizás hayas codificado con mucho esfuerzo, no son sacadas automáticamente del disquete de una manera irreparable por cualquier programa criptográfico. Las órdenes para hacer desaparecer archivos de los sistemas operativos (cancelar) le informan al ordenador solamente que el trozo del disquete donde estaban los archivos está de nuevo disponible para otros archivos. Hay legiones de programas que hacen reaparecer el texto como por arte de magia. Para borrar un archivo hay que reescribirlo. Con PGP puede regularse esa posibilidad. Si tienes verdaderas razones para la paranoia, tienes que adquirir un programa que pueda reescribir muchas veces tu archivo, como "Norton wipelife". Lo
mismo rige por cierto para los archivos "temporales" que hacen algunos sistemas criptográficos durante el proceso de codificación; también ellos tienen que hacerse desaparecer. 
Si usas la codificación sólo para el correo electrónico, entonces lo más práctico es que el mensaje a codificar y la clave necesaria nunca se pongan en el disco duro. Eso es posible si haces un disquete de los llamados aparentes o "virtuales" (ramdisk). Lo que quiere decir que un trozo de la memoria de la computadora actúa como si fuera un disquete. Toda la información que está allí almacenada desaparece en el momento mismo en que se apaga el ordenador. En el disquete que va adjunto a este libro se aclara cómo debe hacerse. Por mejor que hayas codificado tus archivos, si envías mensaje a otros a través de la computadora, siempre es posible averiguar de dónde procedía el mensaje y hacia dónde fue enviado. Llama por lo tanto la atención que uses
criptografía. O que sólo a veces o solamente le envíes mensajes codificados a la tía Juana. Correspondencia anónima



Autor:
RIPPER
Moderador de la lista METALHACK
ICQ 75368962