Español | English
rss facebook linkedin Twitter

Firmado y cifrado de e-mail con S/MIME y PGP

Uno de los aspectos que ha ido ganando cada vez más importancia en el mundo de las comunicaciones electrónicas es el de garantizar tanto la autenticidad (el destinatario puede confiar en que el remitente es quien dice ser) como la privacidad de la información enviada. Para ello, se puede optar o bien por utilizar distintos sistemas de seguridad en los canales de comunicación, o por encapsular la información a enviar de forma que se puedan conseguir esos objetivos independientemente de los mencanismos de comunicación utilizados. Esta segunda solución -conocida como seguridad "de extremo a extremo"- se ha convertido en un punto muy importante para el usuario final de este tipo de servicios.

Actualmente los principales contendientes en liza para abordar este asunto son S/MIME y PGP (en sus dos encarnaciones tanto PGP/MIME como OpenPGP) que se apoyan en el tipo MIME "multipart/signed" definido en el RFC 1847 por la IETF.

Como viene siendo habitual, el funcionamiento de todas estas tecnologías se basa en algoritmos de clave pública cuyo uso a gran escala depende de un mecanismo que permita certificar que cierta clave pertenece a tal o cual usuario.

A pesar de que proporcionan servicios similares, estas tecnologías son incompatibles entre si de forma que, un usuario que utilice S/MIME, no puede comunicarse con uno que utilice PGP/MIME (y viceversa). Sería algo parecido a lo que ocurre con formatos como GIF y PNG, ambos están pensados para solucionar el problema del almacenamiento de imágenes de forma electrónica pero sus formatos son muy diferentes.

S/MIME

Inicialmente desarrollado por RSA está basado en la sintaxis definida por PKCS #7 para el cifrado y firmado de mensajes y el estandard X.509 v3 para definir el formato de los certificados.

PGP/MIME, OpenPGP

Basados ambos en PGP, utilizan -tanto para los mensajes como para los certificados- formatos desarrollados específicamente para esta tarea. La diferencia principal entre uno y otro es que, el primero, opera a nivel del mensaje completo mientras que, el segundo, lo hace a nivel de cada una de las partes de un mensaje.

Por ejemplo, en un mensaje que incluyese tres ficheros adjuntos, al cifrarlo con PGP/MIME se generaría un mensaje multipart cuyo cuerpo contendría la información sobre el tipo de cifrado utilizado (pgp/mime) y un adjunto que sería el contenido del mensaje -incluyendo sus tres adjuntos- cifrado. La misma operación realizada con OpenPGP, supondría la creación de un mensaje con cuatro adjuntos cifrados (una para el cuerpo y otra por cada uno de los ficheros adjuntos). La ventaja de este último sistema es la de poder descargar las cabeceras del mensaje sin necesidad de descargarlo completamente para poder conocer su contenido.


Estado actual de las distintas tecnologías


En la actualidad, existe cierta confusión en cuanto a las distintas tecnologías relacionadas con el firmado y cifrado de e-mails pero, centrándonos en las comentadas en este artículo, distinguiríamos los siguientes dos grupos:

S/MIME


Que a su vez tiene dos versiones claramente diferenciadas:En primer lugar tendríamos S/MIME v2 (RFC 2311) -desarrollado por un consorcio privado de fabricantes- que ha logrado una amplia aceptación en el mercado y cuyo problema principal es el no esta reconocido como estarndar por la IETF aparte de que, al requerir el uso de claves RSA está sujeto a patentes cuyos derechos posee esta empresa en USA y, además, restringe la longitud de las claves utilizadas a 40 bits por lo que el cifrado es relativamente debil.

Y, en segundo lugar, y con el fín de evitar estos problemas, la IETF liberó en 1999 la especificación de S/MIME v3 (RFC 2633) existiendo implementaciones tanto en el ámbito del software privativo como en el de software libre (por ejemplo el S/MIME Toolkit de la Mozilla Foundation).

PGP/MIME y OpenPGP

Definido en el RFC 3156 PGP/MIME está siendo desarrollado por el OpenPGP Working Group de la IETF y está soportado por los principales clientes de correo electrónico.


Ejemplo: instalación de S/MIME en Mozilla Thunderbird

Para poder utilizar S/MIME es imprescindible obtener primero un certificado S/MIME. Existen multitud de empresas que expiden este tipo de certificado y, algunas de ellas -tal y como se explica en esta página- proporcionan dichos certificados de forma gratuita aunque, por lo general, tienen ciertas limitaciones.

La configuración de S/MIME es específica de cada cliente de correo pero, en lineas generales, consiste en importar el certificado en el gestor de correo y habilitar su uso a la hora de enviar mensajes.

En esta página se explica como configurar Mozilla Thunderbird para enviar correo utilizando S/MIME.


Como dato anecdótico, existe un plugin para Firefox que permite tanto el firmado como el cifrado de mensajes a través de la interface web de Gmail y que únicamente utiliza Javascript y XPCOMP para ello por lo que, en principio, debería funcionar en cualquier plataforma en la que esté soportado dicho navegador.


Por desgracia a día de hoy -e incomprensiblemente- el uso de estas tecnologías está muy poco extendido.

En tu caso, ¿utilizas estas u otras tecnologías similares para esta tarea?, si no es de las comentadas arriba, ¿de cual se trata? Y, si todavía no firmas y/o cifras tus e-mails ¿cual es el motivo?

Fernando Braquehais
S21sec e-crime

4 comentarios:

Javier Terán González dijo...

je... desde hace años firmo todos mis correos salientes con mi certificado de la FNMT... pero nunca he cifrado "realmente" ninguno (salvo para pruebas) por que no tengo la clave pública de nadie que conozca.... nadie mas que yo conozca firma sus correos.

Un saludo

Anónimo dijo...

¿Qué opináis de FireGPG?
http://www.pentester.es/2009/05/firegpg-y-gmail.html

Tampopo dijo...

Yo tengo un certificado para interactuar con la agencia tributaria y ahorrarme salir de la ciudad.

Fuera ese ambito nadie comprende que es eso de un certificado y menos que es eso de un correo cifrado / firmado.

Ya sea tratar con alguna tienda o comunicarse con algun conocido. Exepto las conexiones seguras para comprar es lo maximo que observo en el uso de certificados.

Por otro lado para las comunicaciones informales no tengo ningun interes en ello. Son personas muchas veces anonimas en las que no tengo porque revelarle mi identidad con una firma.

Anónimo dijo...

Hola:
¿SMIME es software propietario y GNUPG software libre? ¿Es debido a que haya patentes sobre SMIME? ¿LA patente de RSA ya ha caducado?
saludos


(+34 902 222 521)


24 horas / 7 días a la semana



© Copyright S21sec 2013 - Todos los derechos reservados


login