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