|
La palabra Criptografía viene del
griego Kryptos, escondido, y Graphos,
escritura. Es decir, cuando hablamos de Criptografía
estamos hablando de Escritura escondida.
Se trata de escribir algo de manera que otra persona
que quiera leer lo que hemos escrito no pueda entenderlo
a no ser que conozca cómo se ha escondido.
Los sistemas criptográficos están teniendo
un gran auge últimamente ante el miedo de que
una transmisión en Internet pueda ser interceptada
y algún desaprensivo pueda enterarse de alguna
información que no debería. Y no estamos
hablando de un correo electrónico en el que organizamos
las vacaciones con los amigos, nos referimos a, por
ejemplo, una transacción comercial de cientos
de miles de euros o una información sobre determinados
temas empresariales que podría hacer las delicias
de un competidor.
Desde la Antigüedad todas las civilizaciones han
desarrollado sistemas de criptografía para que
las comunicaciones no fueran públicas. Incluso
hoy en día muchas personas utilizan lenguajes
específicos para que solamente los iniciados
en ellos puedan comprender la conversación como,
por ejemplo, las jergas utilizadas en ambientes carcelarios.
A veces los informáticos también parece
que hablemos en clave...
Hay muchos sistemas para camuflar lo que
escribimos. Quizá el más fácil
sea la trasposición del texto. Consiste
en cambiar cada letra del texto por otra distinta. Por
ejemplo, si escribo boujwjsvt, solamente
las personas que supieran que he puesto la letra siguiente
del alfabeto para escribir la palabra antivirus
podrían entender la palabra.
Evidentemente los sistemas criptográficos actuales
van mucho más allá de un sistema como
el de transposición, fácil de descubrir
en unos cuantos intentos. Incluso si en lugar de trasponer
un determinado número de espacios elegimos aleatoriamente
las letras a sustituir, también bastaría
con un ordenador que tuviera un simple corrector ortográfico
para, en unos cuantos intentos, descubrir el significado
de un mensaje.
La importancia de los números primos
Una de las tareas que más tiempo ocupa a los
grandes sistemas de ordenadores es el cálculo
de números primos cada vez mayores. Su objetivo
es poder obtener un número que sirva para cifrar
mensajes y que luego sea muy complicado descifrarlos.
Vamos a ver cómo se podría cifrar un
mensaje en función de un número primo.
Cada letra en un mensaje tiene un número asociado
que nunca varía. El número está
establecido por el código denominado American
Standard Code for Information Interchange (ASCII).
El conjunto de caracteres ASCII define cada carácter
con un número que va desde el 0 al 255. Por ejemplo,
la letra A mayúscula tiene el código
65, la z minúscula tiene el código
122, etc. Cualquier texto escrito en un ordenador se
puede trasladar a notación ASCII. Por ejemplo,
en código ASCII la palabra antivirus
es:
97 110 116 105 118 105 114 117 115
Así tenemos una cadena de números (que
es como realmente se transmite la información
digitalmente) que podríamos multiplicar por un
número que sea la multiplicación de dos
números primos. Si elegimos, por ejemplo, 14
(multiplicando 2 y 7), la cadena de números nos
quedaría así:
1358 1540 1624 1470 1652 1470 1596 1638 1610
La persona que quiera leer lo que pone primero deberá
averiguar cuál es el número que hemos
utilizado para cifrar la información. Y para
ello deberá adivinar cuáles son los dos
factores que hemos utilizado para cifrar la información.
Evidentemente, en este ejemplo es muy fácil,
14 es 7 por 2, no hace falta ninguna titulación
en Matemáticas más allá de la obtenida
cuando estábamos en primaria.
Sin embargo, si utilizamos números muy grandes,
el problema se complica. Por ejemplo, si utilizamos
el número 2.591.372.723, su descomposición
en dos factores primos ya no es tan inmediata. A pesar
de eso, en muy poco tiempo veríamos que es el
producto de 97.453 y 26.591.
La longitud de estos números (lo que se llama
el tamaño de la clave) es primordial
para que un cifrado sea más o menos efectivo.
En el primer ejemplo, si pasamos a notación binaria
el número 14 veríamos que se escribe 1110,
un número de 4 bits. El segundo ejemplo, 2.591.372.723,
se escribe en binario como 10011010011101010011010110110011,
32 bits. Y en los sistemas de cifrado actuales una clave
de menos de 400 ó 500 bits se considera ridícula.
Lo más normal es utilizar, como poco, ¡¡¡1.024
bits de longitud de clave!!!
Ventajas y problemas del cifrado
Mandar un correo electrónico cifrado aporta
indudables ventajas tanto al emisor como al receptor
del mensaje. La confidencialidad está prácticamente
asegurada, nadie que no conozca las claves con las que
se ha enviado el correo electrónico podrá
enterarse de qué es lo que hay en el correo.
Así podremos mandar todo tipo de información
con la tranquilidad de que estará a salvo de
teóricas intercepciones de la comunicación.
Pero... ¿qué es una intercepción
de la comunicación? En principio todos pensamos
que es un hacker, o un espía de la competencia,
o cualquier otro elemento de esa calaña que quiere
inmiscuirse en las conversaciones ajenas. Entre todos
los que quieren echar un vistazo hay uno que lo hace
con muy buena fe y grandes dosis de ganas de defendernos...
¡el antivirus!
Un antivirus siempre va a intentar inmiscuirse en la
comunicación por correo electrónico. Tiene
que abrir el mensaje y mirar qué es lo que hay
dentro, no con afán de espionaje sobre el contenido
del mensaje, sino en busca de un virus. Si el mensaje
lo hemos cifrado, la misión del antivirus puede
fracasar.
En la estructura empresarial actual se tiende a instalar
antivirus en los puntos de conexión de las redes
a Internet: firewalls, proxys, etc. Es el sitio más
lógico, ya que por allí van a entrar casi
el 90% de los virus. Pero si el virus viene en un mensaje
de correo electrónico cifrado, ese maravilloso
antivirus que está en el firewall va a fracasar
en su misión: al estar el contenido del mensaje
cifrado, no va a poder detectar el virus que pueda contener
el mensaje.
De otra manera, los usuarios que recibieran correos
cifrados podrían verse envueltos, inconscientemente
en una infección. Si el emisor ha cifrado el
mensaje, también ha cifrado el virus. Nadie,
ni siquiera el antivirus más potente podría
descifrar el mensaje para su análisis. Simplemente
buscaría un virus en un montón de caracteres
y símbolos que al ser incomprensibles ocultarían
al virus de una manera tan eficaz como ocultan el texto.
Por ello, la protección en las estaciones de
trabajo debe ser tan fuerte como la perimetral, ya que
es en la estación de trabajo donde el mensaje
se descifrará y aparecerá el virus.
En definitiva, nadie duda de que los sistemas de cifrado
son una herramienta que aumenta la seguridad de las
comunicaciones, pero tienen su reverso tenebroso: ocultan
virus a los antivirus perimetrales que no estén
preparados. La única solución para evitar
que los virus cifrados entren en la empresa, debe ser
una protección perimétrica efectiva que
bloquee los elementos cifrados no autorizados antes
de que puedan alcanzar los servidores y las estaciones
de trabajo de la empresa.
Fernando de la Cuadra
Editor Técnico Internacional
Panda Software
E-mail: Fdelacuadra@pandasoftware.com
Marzo 2003

|