Firma y cifrado de correos electrónicos

De Mozilla Hispano - Documentación

Para asegurar que nuestros mensajes de correo llegan sin ninguna modificación y totalmente confidenciales sin que nadie pueda leerlos más que el destinatario, podemos hacer uso de la firma y el cifrado digital de mensajes de correo electrónico mediante la extensión Enigmail y el uso de GnuPG.

Índice de contenido

[editar] Introducción a la firma y cifrado

[editar] ¿Qué es y para qué nos sirve?

  • Firma: nos permite que nuestro destinatario compruebe que el mensaje no fue modificado en el camino y que lo que lee es exactamente lo que redactamos.
  • Cifrado: nos permite ocultar el contenido del mensaje para que sólo el destinatario final pueda leerlo.

No son excluyentes, se pueden usar para crear un mensaje de correo firmado y cifrado.

[editar] ¿Cómo funciona?

La explicación del proceso es la parte más complicada, pero vamos a intentar verlo de forma práctica y muy gráfica.

Para que todo el proceso funcione cada usuario debe disponer de un par de claves, similar a tener dos llaves, una que daremos a la gente (clave pública) y otra que no daremos a nadie (clave privada).

  • Clave pública: se la enviaremos a todo el mundo que la quiera, la subiremos a un servidor, o a nuestra web... Esta clave permitirá a la gente verificar nuestra firma y crear mensajes cifrados para nosotros.
  • Clave privada: no se la daremos a nadie, ya que nos permitirá firmar y descifrar correo.

Es importante darse cuenta de que estas claves son dos archivos que se generarán en nuestro PC y que están íntimamente ligadas, pero no se puede averiguar una a través de la otra.

[editar] Ejemplo de firma

Supongamos que queremos mandar un mensaje firmado a nuestro amigo Pepe. Para ello, antes de nada, debemos recordar que Pepe debe tener nuestra clave pública.

  • Gracias a nuestra clave privada generaremos un correo firmado.
  • Pepe recibirá nuestro correo firmado.
  • Pepe usará nuestra clave pública para comprobar la validez de la firma.

Gráficamente:


Imagen:Firma_digital.png


[editar] Ejemplo de cifrado

Ahora supondremos que queremos mandar a Pepe un mensaje cifrado para que sólo él pueda ver el contenido. Para ello, previamente, dispondremos de la clave pública de Pepe.

  • Con la clave pública de Pepe cifraremos el mensaje.
  • Pepe recibirá un mensaje cifrado.
  • Pepe usará su clave privada para ver el contenido del mismo.

Gráficamente:


Imagen:Cifrado_digital.png


[editar] Resumen

En este apartado hemos visto qué es la firma y el cifrado digital y qué es necesario para usarlo. En los siguientes apartados aprenderás a crearte un par de claves (pública y privada) y a usarlo con tu cliente de correo.

[editar] Firma y cifrado con GPG y Enigmail

[editar] Instalación

En primer lugar, debes descargar e instalar GnuPG, disponible para los sistemas operativos más usados. Es posible que necesites reiniciar el sistema para completar la instalación.

  • GnuPG para Windows (descarga la última versión del archivo gnupg-w32cli.exe)
  • GnuPG para GNU/Linux (puedes encontrarlo en los repositorios de tu distro favorita)
  • GnuPG para Mac OS

En segundo lugar, debes instalar la extensión Enigmail en tu cliente de correo, la cual puedes obtener en Mozilla Addons, entre otros sitios.

[editar] Generación del par de claves

Abre Thunderbird y verás una nueva opción en el menú superior a la izquierda de Herramientas titulado OpenGPG. Selecciona OpenPGP > Administración de claves. Se abrirá una ventana; selecciona en el menú Generar > Nuevo par de claves.


Imagen:Enigmail-generar.png


En el diálogo que aparece puedes especificar varias preferencias de la clave:

  • La cuenta/identificación que quieres usar para el par de claves.
  • La contraseña o frase clave del par de claves. La contraseña sirve para proteger tu clave privada contra un uso fraudulento; si alguien consigue robar tu clave privada, aún necesitará conocer la contraseña asociada para poder utilizarla.
  • El tiempo de expiración de la clave, es decir, el tiempo durante el cual la clave que generes será válida. Puedes hacer pruebas con una clave con un tiempo de expiración bajo, pero más tarde puedes generar una clave que no expire nunca sin problemas, pues siempre puedes utilizar un certificado de revocación para invalidar tu clave.
  • En la pestaña Avanzadas, el tamaño y el tipo de clave. Asegúrate de que seleccionas un tipo de clave DSA y El Gamal. Cuanto más grande sea la clave, más segura será, pero también requerirá más recursos el cifrado y descifrado lícito de mensajes.

Haz clic en el botón "Generar clave". El proceso puede llegar a tardar varios minutos, como indica la nota al pie del diálogo.

Cuando haya acabado, se te preguntará si quieres generar un certificado de revocación, el cual necesitarás si pierdes tu clave privada o te la roban. Haz clic en Sí y guarda el certificado en alguna carpeta que no sea de acceso público. También puedes guardarla en un lápiz USB, en un CD-ROM o en un disquete.

Una vez guardado el certificado de revocación en un lugar seguro podrás ver tu nueva clave en la lista de claves conocidas en negrita, y, en el campo Tipo, "pub/sec", que significa "pública/secreta", es decir, que posees tanto la clave pública como la clave privada.

[editar] Configuración de las claves

Puedes utilizar tu nueva clave para firmar los correos que envíes. Para ello, abre el diálogo de configuración de las cuentas y en la sección Seguridad OpenPGP selecciona "Activar el soporte OpenGPG (Enigmail) para esta identidad".


Imagen:Enigmail-activar.png


Si sólo tienes la clave que acabas de generar, utiliza la opción "Usar la dirección de correo de esta identidad para identificar la clave OpenPGP", pero, si tienes más de una, puedes utilizar la opción "Usar un ID de clave OpenPGP específico" para elegir la que quieres usar.

Más abajo puedes activar el firmado y/o cifrado de los mensajes por defecto. Si no lo activas, siempre puedes hacerlo mientras estés redactando un correo a través del menú OpenPGP o los botones OpenPGP y S/MIME de la ventana de redacción, que se muestran por defecto tras instalar Enigmail.

Si sólo tienes tu clave privada y pública no puedes cifrar mensajes, sólo firmarlos, ya que necesitas la clave pública del usuario al que quieres enviar el mensaje cifrado para poder hacerlo. Si el usuario al que quieres enviar mensajes cifrados ya tiene clave pública, pídele que te la proporcione; si no, pídele que genere un par de claves de la misma manera que tú lo hiciste.

[editar] Subir la clave pública a un servidor de claves

A pesar de que las claves públicas (nunca las privadas) se pueden distribuir por correo electrónico, mediante un lápiz USB, etc., lo más común es usar los llamados servidores de claves, que no son otra cosa que repositorios en Internet de claves públicas, de acceso libre, normalmente. Para publicar tu clave en uno de estos servidores, no tienes más que hacer clic derecho en ella en la ventana de administración de claves de Enigmail y seleccionar la opción Subir claves públicas al servidor de claves. En la lista de servidores que aparece, selecciona uno, por ejemplo, pgp.mit.edu (acuérdate de la dirección) y pulsa el botón Aceptar.


Imagen:Enigmail-subir.png


El usuario al que quieras enviar correo cifrado deberá realizar el mismo proceso (o el equivalente con su gestor de claves GPG) para subir su clave pública a un servidor de su elección, cuya dirección te deberá proporcionar. En la ventana del administrador de claves de OpenPGP, selecciona en el menú Servidor de claves > Buscar claves. En el diálogo que aparece, introduce la dirección del servidor de claves que te proporcionó el otro usuario y el nombre o identidad con que registró su clave. Pulsa Aceptar y aparecerá una ventana con las claves encontradas en el servidor que coinciden con tu criterio de búsqueda. Selecciona la que quieras importar y pulsa Aceptar, tras lo cual podrás ver la clave pública del contacto en la lista de claves disponibles, esta vez con el tipo "pública" presente en la columna Tipo.

[editar] Firmar y/o cifrar mensajes

Firmar y cifrar mensajes desde la ventana de redacción es muy sencillo.

Si quieres firmar tu mensaje, selecciona en el menú superior OpenPGP > Firmar mensaje, o pulsa el botón OpenPGP de la barra de herramientas y marca la opción. Al enviar el mensaje se te pedirá la contraseña o frase de paso de tu clave privada, si la protegiste de esta manera, y se generará un código a partir del contenido de tu mensaje que se adjuntará a éste y permitirá al destinatario verificar que el cuerpo del mensaje no ha sido alterado en su trayecto.

Si quieres cifrar tu mensaje, selecciona en el menú superior OpenPGP > Cifrar mensaje, o pulsa el botón OpenPGP de la barra de herramientas y marca la opción. Como ya se comentó, para enviar un mensaje cifrado a alguien necesitas su clave pública. Las claves de los destinatarios especificados en los campos «Para:» se buscarán en tu anillo de claves en función de su dirección de correo electrónico. Si al enviar el mensaje no se encuentra alguna clave o no es de confianza, se abrirá una ventana pidiéndote seleccionar las claves públicas que se usarán para cifrar, desde la que puedes también descargarte las claves que te falten desde los servidores de claves.


Imagen:Enigmail-firmar.png

Buscar en la documentación

Herramientas personales