¿Qué es...?
La mensajería electrónica en Internet

Una de las principales aplicaciones que tiene Internet es la de servir para el intercambio de mensajes entre los millones de usuarios que se conectan a ella cada día; es decir, se utiliza como medio para establecer un correo electrónico (e-mail) entre las personas, en competencia directa con otros sistemas de mensajería electrónica, como son X.400 y EDI, y con el correo postal tradicional

Ello es posible, de una manera muy sencilla y sin dificultad alguna, gracias a la normalización del procedimiento que hace que, independientemente de la aplicación que se esté utilizando, el formato del mensaje -cabecera y contenido- sea estándar.

Los sistemas de correo electrónico ofrecen un medio -no interactivo, es decir no se necesita contacto directo en el tiempo entre origen y destino- para la comunicación entre los usuarios de una red, válido tanto para el intercambio de textos simples como de documentos más complejos que pueden incluir figuras y elementos multimedia de cualquier tipo.

Los primeros estándares que sirvieron de base al correo electrónico se establecieron en 1982 y, aunque supusieron un avance significativo, actualmente están desfasados. Los estándares de 1982 permitían enviar mensajes con las siguientes restricciones:

- El mensaje sólo podía contener caracteres en código ASCII.

- El mensaje no podía exceder una determinada longitud.

- El mensaje no podía contener partes con tipos distintos.

La aparición de elementos multimedia en los últimos años y la popularidad del correo electrónico ha obligado a la creación de nuevos estándares que ofrecen una mayor flexibilidad. De todos los protocolos usados hoy en día para el correo electrónico sobre Internet destacan los cinco siguientes:

- SMTP: Simple Mail Transfer Protocol.

- (S) MIME: (Secure) Multi-purpose Internet Mail Extensions.

- POP: Post Office Protocol.

- IMAP: Internet Messaging Access Protocol.

- LDAP: Lightweight Directory Access Protocol.

Veamos brevemente las características más significativas de cada uno.

SMTP (Simple Mail Transfer Protocol). El transporte básico de mensajes SMTP representa el estándar para el intercambio de mensajes utilizando el protocolo TCP/IP, tanto en una Intranet como en Internet. Se encuentra definido en los estándares del IETF (Internet Engineering Task Force) RFC 821 y RFC 822. El RFC 821 describe el protocolo seguido por los ordenadores de la Internet para intercambiar correo de una manera robusta, fiable y eficiente, y el RFC 822 describe el formato de los mensajes que se intercambian entre ellos.

Según el estándar RFC 822 cada mensaje consta de dos partes:

- Sobre, que contiene toda la información necesaria para que el mensaje pueda ser transmitido y entregado al destinatario.

- Contenido, que es la información que debe ser entregada al destinatario, formados por líneas de texto. Para incluir imágenes u otro tipo de información, se debe utilizar un filtro.

Cada mensaje contiene parte de la información en formato estándar, denominada cabecera, con varios campos, y parte en formato libre, denominada cuerpo.

Algunos campos importantes son aquellos que definen la fecha de envío del mensaje, la dirección de origen, la de destino, referencias, objeto del mensaje, etc. Especial importancia tiene el campo de dirección, que identifica a cada usuario de manera unívoca, que tiene ese formato que nos resulta ya tan familiar: Usuario@dominio en donde el dominio es el nombre oficial y registrado de una red o de un ordenador de la Red, que puede estar estructurado en varios subdominios, y el usuario es el nombre de la persona dentro de ese dominio.

Existen pasarelas para el intercambio de mensajes SMTP con otros sistemas de correo electrónico propietarios, de manera que los usuarios pueden enviar y recibir mensajes a/desde otras redes distintas a la que están conectados, aunque algunas veces el funcionamiento no es del todo correcto y pueden producirse errores, bastante habituales en algunos casos, como por ejemplo sucede entre Lotus Notes y Microsoft Exchange.

(S) MIME: (Secure) Multi-purpose Internet Mail Extensions. El protocolo MIME está definido en la RFC 1521 y se ha desarrollado para poder transmitir mensajes multimedia a través de las redes IP. Es pues una ampliación de e-mail para la transmisión de información multimedia, que convierte en texto cualquier clase de información y que la regenera al formato original en el destino. MIME (Extensiones Multipropósito para Correo en Internet) es, actualmente, el protocolo más utilizado para enviar textos con formato no ASCII a través de Internet.

Antes de que se estableciera MIME no era posible crear ni leer mensajes que no fueran de texto de una manera fácil; la única posibilidad era codificar los mensajes en un formato propietario, perdiéndose la información no textual si las pasarelas intermedias en la Red no lo soportaban. Con MIME se conserva todo tipo de información y se muestra íntegramente el contenido al receptor.

El estándar de seguridad S-MIME que se utiliza para hacer seguro el envío de mensajes y las transacciones electrónicas -incluye firma digital y cifrado basado en el algoritmo RSA de clave pública- , es un serio competidor de otras técnicas como PGP (Pretty Good Privacy), que se comentará después, y PEM (Privacy Enhanced Mail), también conocidos como PGP-MIME y PEM-MIME o MOSS/Mime Object Security Standard, respectivamente.

El estándar. MIME fue creado en junio de 1992 por IETF (Internet Engineering Task Force). El objetivo de MIME es permitir a los clientes de correo electrónico enviar y recibir mensajes de texto plano y, también, textos con formatos y figuras, ficheros ejecutables, sonidos, imágenes, etc. El protocolo anterior a MIME, SMTP (Simple Mail Transfer Protocol), estaba limitado al juego de caracteres ASCII americano, y causaba problemas a los usuarios de otros países que necesitaban caracteres con tilde y símbolos especiales. Sin embargo, con MIME los mensajes de correo electrónico pueden contener:

- Múltiples objetos en un mensaje simple.

- Texto de longitud ilimitada.

- Conjuntos de caracteres (distintos de ASCII), permitiendo lenguajes diferentes al inglés.

- Mensajes con fuentes múltiples.

- Archivos binarios o de aplicación específicos.

- Mensajes con imágenes, audio, vídeo y multimedia.

- Campos de encabezado.

MIME define los siguientes campos de encabezado, que son utilizados por los clientes de correo electrónico para enviar/recibir los mensajes:

El campo de versión MIME, que especifica la versión del estándar MIME que se ha utilizado en el mensaje.

El campo de «Content type», que se utiliza para especificar el tipo y subtipo de los datos en el cuerpo del mensaje.

Las aplicaciones que reciben información MIME manejan una tabla de definiciones, que asocia a cada tipo MIME su nombre, las extensiones de ficheros que habitualmente utilizan y la aplicación encargada de su tratamiento. Por ejemplo, los archivos de imágenes en formato «gif» corresponden al tipo «image» y subtipo «gif». En Internet existen determinadas convenciones sobre el significado de las extensiones de los diferentes ficheros; así, cada tipo MIME tiene una o varias extensiones asociadas y, basándose en estas asociaciones, los clientes web identifican los tipos de información que son capaces de representar de forma directa (ficheros HTML, imágenes GIF o JPEG, etcétera), los tipos para los que se dispone de un visor externo adecuado o los archivos de tipo desconocido quesólo es posible salvar en un fichero.

El campo de codificación. Éste especifica cómo se codifican los datos. Existen varias clases de algoritmos de codificación de información que permiten intercambiar ficheros independientemente del tipo de ordenador que interviene. Los sistemas «quoted-printable» (acotación imprimible) y «Base64», utilizan el juego ASCII americano para representar cualquier tipo de dato, incluyendo caracteres especiales y datos que no sean texto. En el sistema de acotación imprimible, los caracteres especiales son sustituidos por el símbolo igual (=) seguido por el código que define el carácter especial. En este formato no se permiten líneas con más de 76 caracteres. Si un mensaje tiene una línea más larga de lo permitido, ésta se dividirá en dos y se colocará el símbolo (=) al final de la primera de ellas. El sistema «Base64» es más apropiado para datos que no sean texto.

MIME es un sistema que se basa en parámetros y, por tanto, el conjunto de pares Tipo/Subtipo irá creciendo con el tiempo. Además, muchos otros campos MIME irán adquiriendo nuevos valores. Para garantizar que el desarrollo de estos valores se realiza de forma ordenada, MIME consta de un proceso de registro supervisado por IANA (Internet Assigned Numbers Authority.

POP: Post Office Protocol. Este es el mas antiguo protocolo para la mensajería cliente/servidor sobre Internet, cuya versión POP3 está recogida en la RFC 1225. Es un cliente ampliamente extendido en entornos de PC y proporciona la transferencia de mensajes para aquellos servidores que utilizan SMTP. El conjunto POP3/SMTP constituye el servicio básico de correo de muchos ISP.

IMAP: Internet Messaging Access Protocol. Ampliamente aceptado por toda la industria, es un protocolo de servicio de correo Internet avanzado, que aporta funciones de almacenamiento y envío, permite acceder a los usuarios a sus buzones desde cualquier estación de trabajo, realiza búsquedas, etc. Su última versión, IMAP4 se recoge en la RFC 1730 y permite a los usuarios una gestión muy eficiente de su correo, pudiendo moverse entre varios terminales, y optimizar el ancho de banda en situaciones críticas, así como trabajar on-line y off-line, por lo que se ve como el sustituto de POP en un futuro próximo.

LDAP: Lightweight Directory Access Protocol. Los servicios de directorio permiten a los usuarios y las aplicaciones obtener las direcciones y encaminar los mensajes hacia su destino. LDAP, definido en la RFC 1777, proviene del DAP de OSI, modificado para funcionar sobre redes TCP/IP y soportar también directorios que no estén basados en X.500. Puede ser implementado tanto en Clientes como en Servidores de una manera muy sencilla y requiere de menos recursos de proceso y memoria que si se utilizase X.500 ya que utiliza unos métodos de codificación menos complejos, por lo que está siendo adoptado rápidamente por la mayoría de fabricantes.

PGP. SEGURIDAD EN LA RED

Existe la creencia generalizada de que la transmisión de datos confidenciales a través de Internet ofrece poca seguridad. El problema no es tanto el hecho de que el mensaje pueda “perderse” sin alcanzar su destino, sino algo más grave: que un tercero obtenga una copia de los datos y los manipule sin que nosotros lo sepamos. Si realizamos una compra o un contrato a través de Internet, casi con toda seguridad, tendremos que rellenar un formulario o enviar un mensaje con nuestros datos personales, incluyendo el nombre, número de la tarjeta de crédito, etc. No es demasiado difícil, aunque si poco probable, que alguien pueda “interceptar” esa información, con el riesgo consiguiente para nuestra cuenta bancaria.

El problema es el mismo tanto si enviamos los datos rellenando un formulario de una página Web o si enviamos un mensaje de correo electrónico. Para protegerse cabe la posibilidad de emplear un sistema de encriptación de forma que sólo los que tengan la clave adecuada puedan descifrarlo. Un mensaje cifrado no tiene ninguna utilidad para quien lo intercepta, puesto que no lo puede interpretar si antes no lo descifra. En este campo se está trabajando profusamente ya que constituye una de las claves para el despegue del comercio electrónico, existiendo ya algunos estándares como son PGP y SET, entre otros muchos. PGP (Pretty Good Privacy o Intimidad Bastante Buena), es el sistema de codificación más extendido para correo electrónico y uno de los primeros en aparecer (escrito en su primera versión por Philip R. Zimmermann en el año 1991), mientras que SET (Secure Electronic Transaction) se utiliza mayormente para operaciones de comercio electrónico a través de Internet utilizando una tarjeta de crédito, como es Visa.

El principio de funcionamiento de PGP es sencillo y se basa en una clave doble: para cada usuario existe una clave pública que se puede divulgar sin problemas, y también existe una clave privada que es realmente secreta y que nunca es enviada a otros. Cuando se desea enviar un mensaje confidencial, se codifica con la clave pública del destinatario, que es conocida; así, el mensaje se transmite encriptado y solo es posible leerlo si previamente se descodifica con la clave privada del receptor.

El sistema PGP, basado en clave pública (PKI/Public Key Infrastructure) está pensado para las transmisiones de correo electrónico (admite la firma digital pero no trata información multimedia), aunque también es aplicable, en algunos casos, a los formularios del Web, pero de manera más incómoda y limitada. PGP es un sistema tan seguro que está prohibido en varios países, donde sus gobiernos alegan que sería un método de proteger las transmisiones de los delincuentes evitando la vigilancia policial.

La seguridad del sistema

El sistema PGP es seguro frente a los sistemas que realizan de manera sencilla la desencriptacion, puesto que el código fuente es publico y ha sido analizado por mucha gente competente, aunque tiene su back door o puerta trasera para que los gobiernos, con potentes sistemas, puedan descifrarlo. La ultima versión del programa: la 6.5.2 ya está disponible, aunque existen dos versiones, una para uso en Estados Unidos y Canadá (la Criptografia que no cumple determinados requisitos es clasificada como “arma” y por lo tanto su exportación esta restringida) y otra para uso Internacional cuyo código fuente se encuentra disponible en algunos servidores FTP. Con respecto a la seguridad propia del sistema, como todos los de cifrado, depende de la longitud de la clave, aunque con la ultima versión existen dos algoritmos de generación de claves, el RSA/Rivest- Shamir-Adleman (no disponible en las versiones comerciales de PGP 5.x) que permite elegir entre 256, 512 y 1024 bits, y el DSS/Diffie-Helman (solo disponible a partir de la versión 5.0).

Con PGP los mensajes electrónicos son completamente privados y también sirve para la identificación digital (realiza una firma digital) de un usuario asegurando que el mensaje procede de él y además asegura que no se ha realizado la mas mínima modificación en el texto del mensaje, pero esto plantea el problema de saber con certeza que la clave publica de X que se tiene es valida. Para poder asegurar que la clave publica de una persona es valida tenemos dos opciones.

- Que se conozca a la persona en cuestión y nos la haya proporcionado ella misma.

- Que conozcamos a una persona que conozca personalmente a la primera y nos confirme la clave publica de la primera.

En otros sistemas de seguridad, como SET, existen las entidades certificadoras de claves, pero aquí no hay nadie en concreto que autentique aunque existen Servidores de Claves, una red de ordenadores interconectados en la que se encuentran almacenadas las claves publicas, que en España se accede vía WWW en la dirección http://www.rediris.es/cert/ keyserver. Por estos servidores podemos acceder a una base de datos en la que se encuentran miles de claves publicas y si lo deseamos incluso podemos enviar la nuestra que en pocas horas será conocida por el resto de servidores distribuidos por el mundo. Para utilizar PGP en sus últimas versiones no es necesario introducir opciones por la línea de teclado, basta simplemente con instalar el programa (se puede obtener gratuitamente en la dirección http://www.pgpi.com , .org o .net, o la versión comercial en http://www.pgpinternational.com) y utilizar los menús, eso sí, lo primero que hay que hacer es generar el par de claves (pública y privada) y guardar la clave privada en un lugar seguro..


José Manuel Huidobro
Ingeniero Superior de Telecomunicación
Responsable de Business Analysys en Ericsson España
ecjmh@madrid.ericsson.se