Disponible la nueva versión "donationware" 7.3 de OrganiZATOR
Descubre un nuevo concepto en el manejo de la información.
La mejor ayuda para sobrevivir en la moderna jungla de datos la tienes aquí.

Notas sobre Internet

[Home]  [Inicio]  [Índice]


6.4  Cifrado y firmas digitales


"Es más seguro dormir en un edificio con un riesgo remoto de que se derrumbe, que dormir a la intemperie con riesgo cierto de coger una pulmonía". Eduardo Torroja (Ingeniero Español).

§1  Sinopsis

Con el incremento del tráfico de documentos por la red, y especialmente relacionada con la seguridad del correo y el comercio electrónicos, está la cuestión de la autenticidad de documentos. ¿Cómo podemos estar seguros de que un documento que recibimos es de quién dice que es? [1].  ¿Realmente lo ha enviado el supuesto remitente?.  Existen varias respuestas, una de ellas consiste en ingeniar el método y la tecnología para incluir en los documentos una "firma electrónica" (digital) que identifique biunívocamente y sin duda a su emisor [2].

Para responder a estas interrogantes, se ha creado en el seno del W3C ( A5.3) un grupo de trabajo dedicado al estudio de esta cuestión, el Dsig ("Digital Signature Working Group").

Su objetivo es establecer unos estándares para establecer unos códigos (firmas digitales) entendibles por los ordenadores, que contengan información fiable sobre el origen de un recurso concreto.

§2  Cifrado

Es fácil comprender que esta cuestión de las "firmas electrónicas" está íntimamente relacionada con las técnicas de cifrado (encriptado) de datos, y que aparte de militares y gobiernos, existen muchos intereses comerciales en ello.  Por ejemplo, las instituciones bancarias son las primeras interesadas en garantizar la seguridad de las transacciones electrónicas, que a fin de cuenta son "mensajes" que transportan datos.

Las técnicas de cifrado, métodos de encriptar mensajes de forma que no pueda ser descifrados por terceros, salvo los conocedores de la "clave", son casi tan antiguas como la propia escritura.  En ocasiones, el conocimiento de los métodos utilizados por el enemigo han servido para definir el resultado de algunas contiendas, y su búsqueda ha movilizado considerables esfuerzos ( Nota-3).

Resumiendo podemos decir que el método clásico, denominado de clave simétrica [0], única, o privada, consiste en encriptar el mensaje original por medio de esta clave. El mensaje resultante (cifrado), junto con la clave utilizada para crearlo, deben ser conocidas por el receptor.  Este método es útil para determinadas circunstancias. Por ejemplo mensajes militares, pero no sirve para otros usos. Por ejemplo probar que el mensaje es de quién dice ser.  Este último punto debe ser probado por otros métodos. Por ejemplo, en un mensaje militar podría ser por la identidad del mensajero.

§3  Cifrado de clave pública

Este método es distinto del anterior. Para exponerlo en dos palabras, digamos que este sistema utiliza dos claves que son en cierta forma complementarias.  El fundamento teórico del método se basa en la dificultad matemática y computacional para encontrar los factores primos de números muy grandes. Así pues, el tamaño de la clave da idea de la seguridad del método empleado.

Nota:  Con la capacidad de cálculo de los ordenadores modernos, las claves pequeñas pueden ser violentadas de forma relativamente fácil.  Como veremos a continuación, con las capacidades de proceso actuales (2002), una clave de 1.024 bits es casi inexpugnable con recursos "normales" de computación.


En la literatura académica abundan los estudios sobre el tema, así que nos limitaremos a señalar que los algoritmos utilizados actualmente funcionan basándose en la denominada Criptografía de Clave Pública [3], cuyo esquema de funcionamiento es el siguiente:

Existen dos claves para cada persona, denominadas clave privada y clave pública.  La privada (o secreta) solo es conocida por el propietario, la pública (como su nombre indica), puede ser proporcionada a todo el que la necesite.  El proceso se realiza en dos pasos: la clave privada se utiliza para generar la firma (o documento cifrado, en su caso); la clave pública sirve para descifrarla.  El sistema tiene la importante propiedad de que cada clave hace exactamente lo contrario que la otra, de forma que solo la pública puede descifrar lo que ha cifrado la privada y viceversa [4].  Resulta por tanto que se puede verificar así su autenticidad, al poder garantizar que solo el poseedor de la clave secreta pudo haber generado el mensaje.  Así pues, el sistema tiene propiedades de cifrado y autenticación.  Por supuesto, es imposible averiguar la clave privada a partir de la pública [5].

El sistema tiene además otra importante aplicación: la posibilidad de enviar un mensaje específico a una persona determinada, de forma que solo él pueda leerlo con la seguridad que es nuestro.  Para ello, primero ciframos el mensaje original A con nuestra clave privada, con lo que obtenemos un mensaje cifrado B; después ciframos B con la clave pública (que suponemos conocida) del destinatario, con lo que obtenemos un texto C que le enviamos.  Cuando este recibe el texto C, puede descifrarlo utilizando su clave privada, con lo que obtendrá el texto B;  este texto puede descifrarlo utilizando nuestra clave pública, con lo que obtendrá el original A con la garantía que es nuestro.  Observe que aunque el texto C caiga en manos de terceros, no podrán en ningún caso desvelar su contenido.

Estas propiedades gozan de las premisas necesarias para constituir una "firma electrónica".  En efecto, si una persona puede descifrar la firma de alguien utilizando su clave pública conocida [6], es forzoso que fue ella la que la cifró, de forma que el mensaje en sí mismo puede considerarse como una especie de firma electrónica que nadie mas puede reproducir.

§4  Algoritmos de clave pública

Los algoritmos de este tipo más conocidos son:

§4.1  Firma DSS

Desarrollada por el US NIST ("National Institute for Standards and Technology") en colaboración con la NSA (National Security Agency). Es un sistema meramente de firma, es decir, solo autenticación.  Fue elegido como obligatorio para las compañías que mantienen negocios con el Gobierno Americano.

Nota:  Se argumenta que fue elegido porque al ser solo firma, no limita la capacidad del gobierno USA para meter las narices en los asuntos ajenos, de forma que este tipo de software puede exportarse (desde USA) libremente y sin restricciones.

§4.2  Firma RSA

También de clave pública [7], sirve no solo para firmas, también para cifrado general de contenidos, por lo que su exportación está (1997) sujeto a severas restricciones por parte del Gobierno USA. Esto, a pesar de que como hemos señalado, los fundamentos matemáticos del sistema son universalmente conocidos.

Dentro de este campo ocupa una posición especial la empresa RSA Data Security, fundada por los creadores de la primera versión comercial del método, que a pesar de haber tenido que afrontar numerosos litigios y controversias con las autoridades, es propietaria de las principales patentes en este campo, y ha sabido consolidarse como líder en la fabricación de herramientas software para seguridad y encriptación. Entre sus clientes están MicroSoft, IBM, SUN y Digital.

Una variedad de este sistema, es el DES ("Data Encryption Standard").  Estándar de cifrado adoptado en 1997 por el gobierno federal USA que utiliza una clave RSA de 56 bits, cuya seguridad ha sido repetidamente cuestionada.

Como anécdota, señalar que en 1977, la RSA Data Security creó un pequeño mensaje encriptado con la clave RSA-129 de su propio sistema (así denominada porque su clave es de 129 dígitos, 429 bits) y desafió públicamente a toda la comunidad cibernética a que intentara descifrarlo, ofreciendo una recompensa de 100 dólares al que lo consiguiera.  En 1993 Arjen K. Lenstra, un científico de los afamados laboratorios Bell, aceptó el desafío y en mayo de 1994 anunció que había reventado la clave después de 8 meses de esfuerzos.

En realidad los 8 meses no fueron de programación o de tiempo de proceso de algún ordenador, la complejidad de encontrar los factores primos de números tan grandes, requirió la organización de un "metacomputador". Una especie de confederación de muchos ordenadores, cada uno de los cuales trabaja en una parte del problema. En este caso, el proyecto requirió de la potencia de 1600 ordenadores (PCs y Workstations [8]), así como la contribución por Internet de 600 colaboradores distribuidos por todo el país.

En la actualidad han surgido varios proyectos encaminados a utilizar la gigantesca fuerza de computación distribuida que suponen cientos de ordenadores esparcidos por la Red trabajando de forma concertada en proyectos de este tipo.  Entre las organizaciones que coordinan estos esfuerzos de forma pública, está Distributed Net. En su sitio Web   www.distributed.net, puede encontrarse toda la información al respecto, incluyendo información sobre los trabajos en curso.  También pueden descargarse módulos de programas para sumarse a los proyectos.  La última hazaña (Enero 99) había sido descifrar un mensaje cifrado con la clave RSA Data Security DES Challenge III en 22 horas y 15 minutos utilizando la fuerza bruta de 100.000 PCs conectados a la Red.

Posteriormente, en Septiembre del 2002 Distributed Net anunciaba una nueva hazaña: el reto RC5-64 de la RSA también había sido vencido, y conseguido el premio de 10.000 USD.  En esta ocasión el desafío consistía en reventar un mensaje cifrado con una clave RSA de 64 bits, y habían sido necesarios casi cinco años de esfuerzos.

A pesar de esto, la confianza y fiabilidad del sistema no ha sido puesta en duda.  De un lado está la dificultad de reunir una fuerza de cómputo análoga [10]; de otro, los sistemas de encriptación actuales utilizan claves de 512 a 1024 (o más) bits de largo. Se estima que descifrar una clave RSA de 1024 bits requeriría un trabajo de proceso 3 x1011 MIPS-año [9].

Nota:  A poco de redactar las líneas anteriores, nuevas noticias perfilan el estado actual de esta cuestión (siempre cambiante) de la relación seguridad <=> longitud de clave utilizada  ( Nota-17).


§5  Webografía

En la nota adjunta se incluye alguna información adicional sobre los fundamentos teóricos del sistema de clave pública; el sistema RSA y los esfuerzos de distributed.net por descifrar sus claves, y alguna bibliografía complementaria ( Nota-14).

Una empresa de consultoría y formación sobre temas de seguridad electrónica.  Es un buen punto de inicio si está interesado en los aspectos de la seguridad en Internet.  Contiene secciones sobre criptología, virus, legislación, etc. en español.  Publican un boletín diario sobre seguridad; notas sobre nuevos virus; actualizaciones y parches de seguridad, etc. que incluyen comentarios y sugerencias entendibles por el profano.  Si quiere estar al día, le recomiendo la subscripción (gratuita) al mismo.

De lectura muy recomendable si desea profundizar en estos temas. Interesante artículo sobre sus aspectos jurídicos, del doctor Don Luis Fajardo López, profesor de la Universidad Autónoma de Madrid (UAM).  Después de una introducción de los aspectos técnicos, hace referencia a las directivas de la Comunidad Europea y un análisis comparativo de las normas alemana y española.  Aunque de contenido técnico, está escrito en un tono alejado de la verborrea jurídica, resultando conciso y entendible por el profano.

  Inicio.


[0]  En relación a que la clave para descifrar el mensaje es la misma que se utilizó para cifrarlo.

[1]  Existe un famoso chiste al respecto:  En una viñeta dos perros "navegando" frente al ordenador. Uno de ellos dice al otro: "Lo bueno de Internet es que nadie sabe que eres un perro".

[2]  El sentido informático de firma electrónica es exactamente el mismo que en el lenguaje corriente.  Recordemos que desde un punto de vista semántico, Rúbrica o Firma es un signo o señal que identifica biunívocamente a una persona porque (supuestamente) nadie más puede realizarla (imitarla exactamente).

[3]  También conocidos como de "Clave dual" y "Clave asimétrica", en contraposición con los de "Clave única", que tienen el inconveniente de necesitar compartir la clave entre el emisor y el receptor, por lo que son mas vulnerables y entrañan problemas adicionales.

[4]  Si el propietario cifra algún contenido utilizando su clave pública, es evidente que permanecerá secreto para todo el mundo, ya que solo puede descifrarse con la clave secreta (que solo él conoce).

[5]  Existe una explicación de los fundamentos matemáticos del proceso en    "How Public-Key Vtypyo works" Byte Magazine Junio 1997.

[6]  Como no hay nada perfecto, según veremos a continuación, este es justamente uno de los problemas del sistema:  Como garantizar que la clave pública es realmente de quien se supone... (el sistema acaba siendo el cuento de las muñecas rusas).

[7]  El sistema fue desarrollado en 1976 por Whitfield Diffie y Martin Hellman en la Universidad de Stanford, pero debe su popularización a tres profesores del MIT, Ronald L. Rivest, Adi Shamir, y Leonard M. Adleman (de ahí el nombre, Rivest-Shamir-Adleman), que realizaron la primera versión utilizable y fundaron una compañía para explotar comercialmente el sistema (RSA Data Security).

[8]  Literalmente "Estación de Trabajo".  Se denominan así ordenadores de tamaño y potencia intermedia entre los PCs y los grandes mainframes.  Generalmente de usos específicos para ingeniería, diseño, etc.  Se caracterizan por su elevadas capacidades gráficas y de cálculo (casi todos los efectos especiales con que nos inunda el Cine actual se han realizado en este tipo de estaciones).

[9]  MIPS forma (unidad) de medir la capacidad de proceso de un ordenador.  Millones de Instrucciones que es capaz de realizar en un segundo.

[10]  Desde esta óptica resulta más que evidente uno de los posibles motivos del gobierno USA para disponer de las herramientas de cómputo más potentes que puedan proporcionar el dinero y la tecnología  ( Nota-10).  Por otra parte, el anuncio de la existencia de un supercomputador japonés mucho más potente aún que el anterior ( Nota-15), parece que obligará a reconsiderar que longitud se deberá emplear para considerar una clave como verdaderamente segura.