Seguridad en internet
Seguridad en internet
El intercambio de información por correo electrónico se ha convertido en una parte fundamental de nuestra sociedad, tanto que el correo de toda la vida está sucumbiendo ante su empuje. Sin embargo, el éxito total del correo electrónico —y en general,
de Internet— va a depender de la capacidad de proteger toda esa información que fluye sin cesar por la red de redes.
Quizá a muchos de ustedes les suene el nombre de Miguel Strogoff, uno de los grandes clásicos de la literatura de aventuras, escrito por Julio Verne en 1876. En él se narran las andanzas de un agente secreto del zar, Miguel Strogoff, que es enviado desde Moscú hasta Siberia para cumplir una delicada misión. Deberá recorrer de incógnito 5 000 km plagados de enemigos y peligros, e infiltrarse entre los tártaros, que se han sublevado e invadido Siberia. A lo largo de su viaje se verá envuelto en las más extraordinarias aventuras, todo para alcanzar el éxito en su misión ¡que es entregar un importante mensaje al gobernador de Siberia!
Al igual que los mensajes en una botella y las palomas mensajeras, los correos del zar son recuerdos de otras épocas en las que la comunicación humana a larga distancia era complicada y poco segura. Hoy en día la situación es muy diferente. Y aquí es donde entra en juego la criptografía..tados Unidos, en Hanford, estado de Washington, al noroeste del país. Hanford es conocido por ser el lugar en el que, en los años 40, como parte del proyecto Manhattan, se construyeron los reactores nucleares que produjeron el plutonio necesario para las primeras bombas atómicas.
Clave secreta
Desde que se inventó la escritura, la criptografía ha estado al servicio de gobiernos y ejércitos para mantener canales de comunicación seguros y confidenciales. Actualmente se ha convertido en una ciencia pública, y está al alcance de todos para proporcionar seguridad a nuestras piezas de información más valiosas.
La criptografía es la técnica de transformar un mensaje inteligible, que llamaremos texto llano, en otro que sólo puedan entender las personas que estén autorizadas a ello, y que se llama texto cifrado. El proceso para cifrar el texto llano requiere de un conjunto de reglas preestablecidas entre quienes se comunican, a las que llamaremos la clave.
Hasta el último cuarto del siglo XX, todos los sistemas criptográficos que el hombre desarrolló estaban englobados dentro de la criptografía simétrica de clave secreta (véase ¿Cómo ves?, No. 59). Se llama simétrica porque emisor y receptor poseen la misma clave para cifrar y descifrar los mensajes. Y es secreta porque en el momento que se conoce la clave, el mensaje se vuelve transparente para cualquiera.
He aquí un grave inconveniente de estos sistemas: si dos personas quieren mantener una comunicación segura, primero tienen que ponerse de acuerdo en los detalles de la clave. ¿Pero cómo pueden hacerlo a su vez de una manera segura? ¿Qué pasa si, por ejemplo, están separados por miles de kilómetros? En el momento en que un espía interceptase la clave, ya no se podría garantizar la seguridad de sus comunicaciones. Lo más prudente sería cambiar la clave cada cierto tiempo para mantener la seguridad, pero una y otra vez se corre el riesgo de que la nueva clave sea interceptada.
Desde la Segunda Guerra Mundial, el problema de la distribución de claves se convirtió en el mayor desafío de los criptógrafos.
La computadora a escena
Un factor decisivo para la criptografía moderna fue el desarrollo, a partir de la segunda mitad del siglo pasado, de la computadora. En un principio, la computadora fue una herramienta al servicio del criptoanálisis, ciencia que desarrolla técnicas para descifrar un mensaje sin conocer su clave. Ya durante la Segunda Guerra Mundial, máquinas como Colossus o La Bomba, auténticos precursores de la computadora moderna, tuvieron un papel fundamental para descifrar mensajes encriptados con Enigma, la máquina utilizada por los alemanes para cifrar sus comunicaciones. Después de la guerra, los criptoanalistas continuaron usando las computadoras para descifrar todo tipo de mensajes en clave.
La criptografía se ha convertido en una ciencia pública, y está al alcance de todos para proporcionar seguridad a nuestras piezas de información más valiosas.
Pero no fueron los únicos que se beneficiaron de sus ventajas. Conforme las computadoras se fueron haciendo más potentes y baratas, penetraron cada vez más en la sociedad. Las empresas empezaron a adquirirlas, atraídas entre otras cosas por su capacidad para cifrar comunicaciones importantes. “¡La competencia ya no se entrometerá en nuestras negociaciones secretas o en las transferencias de dinero!”, debió pensar algún alto ejecutivo.
Pero enseguida se puso de manifiesto la necesidad de solucionar el problema de la distribución de claves. Imagínate que un banco quiere enviar ciertos datos confidenciales a un cliente a través de una línea telefónica que sospecha está intervenida y, créeme, éste puede ser un caso muy real. El banco decide cifrar la información, por lo que elige una clave. Y ahora, ¿cómo hace llegar esa clave al cliente? Enviarla a través de la línea telefónica sería una temeridad. La única forma verdaderamente segura sería entregarla en mano. Pero ¿es viable esta opción? ¿Qué ocurre si el banco tiene miles de clientes distribuidos por todo el mundo? Puede que esta solución fuera satisfactoria a nivel local, pero a medida que fuera creciendo el tamaño de la red de negocios, el problema de la distribución de claves se volvería una auténtica pesadilla para las empresas.
Las funciones de una sola vía
En 1974, Whitfield Diffie y Martín Hellman empezaron a buscar una solución al problema de la distribución de claves. Este problema gira en torno a que al aplicar la clave en un sentido, cifra el mensaje y, al hacerlo al revés, lo descifra. Luego resulta que descifrar un mensaje es casi siempre tan sencillo como cifrarlo, y esto convierte a la clave en el eslabón más débil en la cadena de seguridad.
Sin embargo, sabemos que en nuestra vida cotidiana se dan muchas situaciones en las que deshacer es mucho más difícil que hacer. Así, es sencillo batir un huevo, pero ¿cómo se hace para “desbatirlo”? Y seguro que si piensas un poco se te ocurren más ejemplos de este tipo.
Con base en esta idea, Diffie y Hellman centraron su investigación en ciertas funciones matemáticas llamadas de una sola vía. En matemáticas, una función es, en general, cualquier operación matemática que convierte un número (o un conjunto de ellos) en otro (u otros). En particular, llamamos funciones de doble vía a aquellas que son fáciles de hacer y deshacer. Así, la función “duplicar” es de doble vía, porque es muy fácil duplicar un número, lo mismo que a partir del número duplicado deducir el original. Por ejemplo, resulta sencillo calcular el doble de 3, que es 6. E igual de evidente es que el número cuyo doble es 10, ¡pues es 5!
Pero como decíamos, Diffie y Hellman estaban interesados en las funciones de una sola vía: aquellas que son fáciles de hacer, pero muy difíciles de deshacer.
A mezclar colores
Para entender la idea en que se basa el llamado sistema Diffie-Hellman, vamos a poner un ejemplo muy ilustrativo que usa el físico y divulgador científico Simon Singh.
Supongamos que todo el mundo tiene un bote de tres litros que contiene un litro de color amarillo. Si dos personas quieren acordar una clave secreta, ambos añaden un litro de un color secreto propio a su bote. Entonces cada uno envía al otro su bote mezclado. Finalmente, le añaden al bote del otro su propio color secreto. Ahora ambos botes tienen la misma mezcla de color —color amarillo más los colores secretos de los dos—, con la particularidad de que ninguno tiene ni idea de cuál es el color secreto del otro. Además, si una tercera persona intercepta el bote en cualquiera de sus comunicaciones, no puede deducir su color porque desconoce los colores secretos que forman la mezcla, ¡gracias a que mezclar colores es una función de una sola vía! Y es precisamente esa mezcla de colores del bote la que se puede utilizar como clave. ¿Y qué hemos ganado con esto? ¡Pues que ahora dos personas pueden establecer un secreto en conversación pública! Sería algo tan sencillo como quedar en un bar, y mientras se toman un café, intercambiar un par de números (que desempeñarían el papel de los colores) para establecer la clave, y con ella ponerse a cifrar. Y todo ello sin preocuparse de quién los está escuchando.
La firma digital
Ya que en los sistemas de clave pública cualquiera puede cifrar un mensaje, ¿cómo saber que la persona que envía el mensaje es realmente quien dice ser? Ésta es precisamente una de las funciones que desempeña la firma de puño y letra que utilizamos casi a diario en los documentos, y que se basa en el hecho de que es difícil conseguir dos personas con la misma firma.
Con el uso de las computadoras se requería de un nuevo planteamiento. Aquí es donde entra en juego la firma digital, que sustituye a la firma de puño y letra, y a todos los efectos tiene la misma validez.
En su expresión más simple, el proceso de firma digital de un documento consta de dos partes bien diferenciadas:
1. Proceso de firma: en el que el emisor cifra el documento con su clave privada, enviando al destinatario tanto el documento en claro como el cifrado.
2. Proceso de verificación de la firma: el receptor descifra el documento cifrado con la clave pública de A y comprueba que coincide con el documento original, lo que demuestra que el emisor del mismo ha sido efectivamente A.
El método de la firma digital no sólo proporciona autenticidad al mensaje enviado por A, sino que también asegura el no repudio, ya que sólo el dueño de una clave privada puede cifrar un documento de tal forma que se pueda descifrar con su clave pública. Esto garantiza que ha sido A y no otro el que ha enviado dicho documento.
Para la integridad del mismo, la firma digital utiliza las llamadas funciones hash, funciones matemáticas que realizan un resumen comprimido del documento original. Este resumen es una versión única original, de forma que si el original se modifica en lo más mínimo y se comprime mediante la misma función hash, el resultado será completamente diferente.
Con esto, el proceso completo de la firma digital es el que sigue:
1. El emisor aplica una función hash conocida al documento, con lo que obtiene un resumen hash del mismo.
2. Cifra dicho resumen con su clave privada.
3. Envía al receptor el documento original y el resumen hash cifrado.
4. El receptor B aplica la función hash al resumen sin cifrar y descifra el resumen cifrado con la llave pública de A.
5. Si ambos coinciden está seguro de que ha sido A el que le ha enviado el documento. Si no coinciden, está seguro de que no ha sido A o de que el envío ha sido interceptado y modificado.
De esta manera se garantiza la total seguridad en la comunicación.
Sin embargo, no es un sistema perfecto, pues establecer una clave requiere de un intercambio de información y, por tanto, se necesita de la comunicación directa entre los interesados. Esta necesidad puede conllevar graves consecuencias en circunstancias en las que fuese imprescindible cifrar y descifrar con rapidez. Así, se había dado un empujón importante para superar el problema de la distribución de claves, pero todavía quedaba el paso definitivo para alcanzar la meta.
La criptografía de clave pública
Fue el propio Duffie el que dio ese último paso con el nacimiento de la criptografía de clave pública en 1975. Como ya hemos dicho, hasta ese momento todas las técnicas de codificación eran simétricas (cifrar era simplemente el proceso opuesto a descifrar). Duffie inventó un nuevo tipo de cifra que incorporaba el concepto novedoso de clave asimétrica.
Una clave asimétrica se desglosa en dos claves distintas, una para cifrar —la pública— y otra para descifrar —la privada—. Ahora un proceso deja de ser el inverso al otro, y cifrar y descifrar se vuelven independientes. La idea es que uno guarda en secreto su clave privada y hace pública su clave pública (de ahí sus respectivos nombres). De esta manera, si alguien quiere enviarte un mensaje, sólo tiene que buscar tu clave pública y cifrar con ella el mensaje. ¡Y sólo tú con tu clave privada puedes descifrar el mensaje!
Una clave asimétrica se desglosa en dos: una pública para cifrar y una privada para descifrar. La clave pública es como un candado en tanto que la clave privada es como una llave.
Para entender la clave asimétrica tenemos que identificar la clave pública con un candado y la clave privada con una llave. Imagínate que diseñas tu propio candado y tu propia llave. Te guardas la llave, pero dispones de miles de copias del candado que distribuyes por todas las oficinas de correos. Cualquiera que quiera enviarte un mensaje, sólo tiene que guardarlo en una caja, acercarse a la oficina de correos más cercana, pedir “tu candado” y cerrar con él la caja. Ahora sólo tú puedes abrirla y acceder al mensaje que hay dentro, ya que tú eres el único que tiene la llave. Esta es la filosofía de la criptografía de clave pública.
En la realidad, cualquiera que quiera enviarte un mensaje ya no tendrá que esperar a que intercambies cierta información; simplemente buscará tu clave pública. Tan sencillo como consultar un número de teléfono en el directorio, o buscar una dirección de correo electrónico en tu agenda.
Finalmente, el cifrado asimétrico había solucionado el problema de la distribución de claves. Sólo faltaba un pequeño detalle: ¡encontrar una función matemática de una sola vía que hiciese realidad toda esta maravillosa teoría!
El sistema RSA
En 1977, Ronald Rivest, Adi Shamir y Leonard Adleman, un equipo de matemáticos e informáticos del Instituto Tecnológico de Massachussets, se dieron cuenta de que los números primos constituían la base ideal para la tan buscada función de una sola vía. Como ya sabrás, los números primos son aquellos números divisibles únicamente por la unidad y por sí mismos.
La idea es que si se toman dos números primos p y q suficientemente grandes, es muy fácil multiplicarlos para obtener un número N, pero a partir de N es virtualmente imposible deducir p y q. Este proceso de descomponer un número en los números primos que lo forman —los factores— recibe en matemáticas el nombre de factorización.
Entonces podrías tomar el número N como la clave pública —para cifrar mensajes—, mientras que para descifrar necesitaríamos saber los dos números primos que en principio fueron multiplicados entre sí, que formarían tu clave privada. Aun cuando todos conozcan N, será imposible para ellos extraer los dos factores primos, y por tanto, conocer tu clave privada, siempre y cuando se hayan elegido dos números primos lo suficientemente grandes (en la actualidad se considera que para una comunicación segura ¡p y q tienen que ser al menos de 30 cifras!). En realidad, el proceso no es tan sencillo; p y q no son directamente la clave privada, hay otras operaciones matemáticas de por medio. Pero lo cierto es que la seguridad de este sistema, denominado RSA, se basa en el hecho de que no existe una forma eficiente de factorizar un número —es decir, descomponerlo en los factores que lo forman— cuando éste es producto de dos números primos muy grandes.
Una comunicación segura
En la sociedad actual la presencia de las computadoras se ha extendido a todos los niveles: personales, laborales, comerciales, bancarios, etc. Esta presencia ha requerido la aparición y el uso cada vez mayor de los documentos electrónicos, ya sean de texto, hojas de cálculo o ficheros de bases de datos, sin tener en cuenta archivos de imagen, de música, etc. Y en todos los casos es necesaria la implementación de medios seguros de transferencia de estos documentos, lo que se ha conseguido generalmente con el uso de sistemas basados en la criptografía.
Varios son los aspectos que hay que manejar en el proceso de transferencia de un documento electrónico y que definen una comunicación segura:
• Autenticidad. Consiste en la seguridad de que las personas que intervienen en el proceso de comunicación sean las que dicen ser. Así, si recibes un documento procedente de una persona X, ¿cómo puedes estar seguro de que en verdad es X quien te lo ha enviado y no otra persona?
Por ejemplo, imagínate que un día te conectas a la página web de tu banco para acceder a tu cuenta una vez que has introducido tu contraseña. La página que te aparece tiene el logotipo del banco y el mismo contenido de siempre, pero... ¿y si no fuese realmente la web de tu banco, sino una imitación que te ha enviado un servidor pirata para hacerse con tus claves?
• Confidencialidad. Se trata de que la información sólo pueda ser leída por personas autorizadas, evitando la captura del documento en su viaje de A a B y el uso indebido de los datos del documento o la mala gestión y almacenamiento de estos datos por parte de la persona receptora.
• Integridad. Consiste en la seguridad de que la información no pueda ser alterada en el transcurso de su envío.
Imagínate que haces una compra on-line y, al enviar el formulario correspondiente, una tercera persona captura el documento en el camino y modifica los datos cambiando tu dirección de entrega de los productos por una que esa persona ha elegido. El banco te haría el cargo de la compra a ti ¡pero los artículos que has comprado le llegarían al pirata!
• No repudio. Se trata de que una vez enviado un documento por A, éste no pueda negar la autoría de dicho envío. Imagina que realizas un pedido a una tienda virtual, das tu número de tarjeta de crédito y te cobran los artículos, pero éstos no te llegan. Y cuando reclamas a la tienda ésta te dice que ellos jamás han recibido tu pedido. O que la tienda te envía los artículos solicitados y eres tú el que dice luego que no has hecho ningún pedido.
El método más utilizado para garantizar cada uno de los puntos anteriores es la llamada firma digital (véase recuadro).
Privacidad para todos
Cuando se inventó el sistema RSA en 1977, ofrecía la posibilidad de mantener comunicaciones auténticamente seguras. Pero en la práctica, el proceso de cifrado requería de potentes equipos informáticos, sólo al alcance en aquel momento del gobierno y el ejército estadounidenses, y de las grandes empresas.
En la década de los ochenta, el físico e informático estadounidense Phil Zimmermann tuvo un sueño: que todo el mundo disfrutase de la privacidad que ofrecía la codificación RSA. Diseñó para ello un producto económico y eficaz, que no sobrecargara la capacidad de una computadora personal corriente. Lo llamó Pretty Good Privacy (la traducción sería algo así como “privacidad bastante buena”), más conocido como PGP. Este programa permite cifrar el correo electrónico —y todo tipo de información— de manera rápida, segura y gratuita.
A principios de la década de los noventa, y ante la posibilidad de que el gobierno estadounidense prohibiera productos como PGP, Zimmermann decidió difundir su producto en Internet. Gradualmente, PGP comenzó a extenderse por todo el planeta, primero sólo entre los aficionados a la criptografía y luego a un público mucho más amplio, a través de extensos artículos en todo tipo de revistas. Pero mientras Zimmermann recibía elogios desde todos los rincones del mundo, en los Estados Unidos crecían sus problemas.
Debido a que en ese país todas las herramientas de criptografía se consideran tecnología militar y está prohibida su exportación, excepto si se concede licencia, PGP incumplía la legislación sobre la exportación de armas. ¡Zimmermann fue acusado de tráfico de armas! Para su fortuna, en enero de 1996 la fiscalía decidió que no sería juzgado por el envío a Internet de estos programas.
Esta investigación encendió el debate sobre los efectos positivos y negativos de la criptografía en la era de la información. Los representantes de la ley temen que Internet, unida a la criptografía, ayudará a los criminales a comunicarse y a coordinar esfuerzos.
Por su parte, los defensores de las libertades civiles alegan que la privacidad es un derecho constitucional, y el uso de la codificación es esencial para garantizarlo. En palabras del propio Zimmermann, “si la privacidad está fuera de la ley, sólo los que estén fuera de la ley tendrán privacidad”.
El futuro
Gracias a personas como Diffie, Hellman, Rivest, Shamir, Adleman y otros muchos, se han ideado sistemas, como el RSA, que basados en matemáticas tan sencillas como los números primos, nos ofrecen candados irrompibles para una de las mercancías más preciadas hoy en día: la información. Pero una sombra se cierne en el horizonte sobre el reinado de los números primos en la criptografía: la computación cuántica. Si alguna vez llegamos a tener computadoras cuánticas —provistas de una capacidad de cálculo jamás conocida (véase ¿Cómo ves?, núm. 67)—, el problema de la factorización habrá sido resuelto, lo que podría poner en peligro el comercio electrónico e incluso la seguridad nacional. Quizá vaya siendo hora de buscar algún otro modelo matemático, basado en las complejas propiedades de la física cuántica para construir nuestros algoritmos asimétricos, garantizando unas comunicaciones seguras.
Hoy en día el uso de las computadoras se ha extendido a todos los niveles, lo que redunda en una enorme cantidad de transferencia de documentos electrónicos. Para dicha tranferencia es necesario implementar medios seguros, lo cual se ha conseguido con el uso de sistemas basados en la criptografía.
En cualquier caso, no es probable que podamos trabajar en pocos años con una computadora cuántica, si es que alguna vez se llegan a salvar las enormes dificultades para su construcción. Pero cuando de superar obstáculos se trata, la capacidad humana es impredecible. Por eso conviene estar atento.
____________________________________________
Daniel Martín Reina, frecuente colaborador de ¿Cómo ves?, es físico, egresado de Ciencias Físicas de la Universidad de Sevilla. Dedica gran parte de su tiempo a la divulgación de la ciencia.
Fuente: http://www.comoves.unam.mx/articulos/69_seguridad/seguridad.html