Inicio

Versión 1.0 - marzo de 2012

Criptografía usando GNUPG y S/MIME (PKCS)

Este documento intenta aclarar las semejanzas y diferencias entre GNUPG y S/MIME. Es un documento para aclararme a mi estos conceptos. Lo he colgado porque me costó mucho aclarme con la inmensa información que hay en internet, así que si alguien busca lo mismo que yo puede que le allane un poco el camino.

De aquí en adelante donde ponga cifrar se entenderán todas las posibilidades: a) cifrar, b) firmar y c) cifrar y firmar.

En el texto he puesto enlaces en los términos clave pero algunos de esos enlaces no explican bien lo que a mi me interesa. Los enlaces del final de la página están elegidos porque contestan al tema de esta página

GNUPG

Inicialmente surgió el programa PGP (Pretty Good Privacy, privacidad bastante buena) 1991. Usaba el algoritmo patentado IDEA (algoritmo internacional de cifrado de datos).

Después surgió OpenPGP (1998). No usa patentes y es un estandar del IETF (grupo de trabajo en ingeniería de internet, que es un organismo que busca crear estándares, llamados RFC (Request for comments, petición de comentarios) con las aportaciones de cualquier persona u organismo). Buscador de RFC (el estado del RFC viene arriba a la derecha). En este documento pondré enlaces a los RFC iniciales (para ver cuándo surgieron), y en ellos hay enlaces a los RFC actuales. En concreto OpenPGP es el estándar RFC 2440 de 1998. Cuando un estándar RFC alcanza una madurez importante, porque es estable, porque se usa, etc., pasa a ser un estándar STD (explicación de STD en español, ejemplo significativo: el STD 66). No obstante hay que tener clara la diferencia entre un RFC calificado como propuesta de estándar, que prácticamente es un estándar, con los RFC informativos, que nunca acabarán como estándar porque tienen alguna caraterística que se lo impide, como por ejemplo usar algún algoritmo patentado.

GNUPG o GPG (Gnu Privacy Guard). Es una implementación del estandar OpenPGP. Es en modo texto.

GPG sirve para cifrar. Enigmail es un plugin de Thunderbird que permite usar GPG en modo gráfico para cifrar mensajes de correo electrónico. Seahorse permite usar GPG en modo gráfico en el escritorio Gnome. Así que podemos cifrar archivos en un ordenador, mandar un correo cifrado, mandar un correo con un adjunto cifrado, etc.

Con GPG somos nosotros los que creamos la clave pública y privada (por ejemplo de 1024 o 2048 bits). Para ello GPG usa algoritmos libre como ElGamal (usar un algoritmo para cifrar define cómo tiene que ser la clave pública y privada). Posteriormente tenemos que crear una red de confianza para transmitir nuestra clave pública. Por tanto no hay ningún organismo que nos asegure la validez de una clave pública, solo que nosotros nos fiemos de las claves firmadas por personas de nuestro anillo de confianza.

GPG en el correo electrónico funciona usando el estandar MIME (RFC 1341 de 1992) y sigue una sintaxis para el mensaje cifrado definida en el estandar OpenPGP.

Hay dos opciones de cifrado: GPG inline y GPG/MIME. Con el primero todo se envía en el cuerpo del mensaje: la firma y/o el mensaje cifrado. Además los archivos adjuntos no se pueden cifrar. Con el segundo, que es el estándar RFC 3156, la firma no se envía en el cuerpo del mensaje, si no como un archivo adjunto. Además los archivos adjuntos se cifran. Este método es más transparente puesto que en el cuerpo del mensaje solo ves el texto y el programa de correo se encarga de descifrar o verificar la firma. GPG inline y S/MIME son incompatibles entre sí, así que si queremos enviar un mensaje cifrado doblemente con GPG y S/MIME debemos usar GPG inline.

S/MIME

S/MIME es la última capa de una serie de estándares. Vayamos de dentro hacia afuera:

S/MIME v2 no es estandar del IETF. Lo creó la RSA Security y restringe las claves a 40 bits (por restricciones de seguridad impuestas por el gobierno estadounidense).

PKI (infraestructura de clave pública). Es el hardware y el software que permite usar el cifrado de clave pública.

Con S/MIME la validez de los certificados la ofrecen organismos, como por ejemplo en España la FNMT, en vez de anillos de confianza como en GPG.

Inicio

HTML5 Powered