Redes Sociales

lunes, 30 de mayo de 2016

Cifrado (y III)

Cifrando correos electrónicos

Mucha información muy confidencial se envía a diario usando el correo electrónico. Si esto se realiza sin ningún tipo de cifrado cualquier podría leer lo que escribimos y mandamos en ese correo en cualquiera de los puntos intermedios por los que pasa el mensaje (recordemos que cualquier comunicación realizada a través de internet pasa por los servidores del ISP que tenemos contratado, los servidores del servicio que nos dan el servicio (por ejemplo los de google si usamos gmail) y los servidores finales de la empresa receptora. En cualquiera de esos puntos podría haber alguien leyendo los contenidos de nuestro mensaje.

Desde Microsoft Outlook 2007 es posible cifrar los mensajes de forma individual o en su conjunto (todos los que mandemos). Para ello, es necesario disponer de un certificado personal, como los que expide la Fabrica Nacional de Moneda y Timbre o entidades certificadoras como VeriSign. Pero de una forma más barata, podemos usar tambien el DNI Electrónico, aunque para mandar correos firmados por el DNI electrónico es necesario:

  1. Que nuestro DNI tenga los certificados en vigor (si no estamos seguros lo mas probable es que la respuesta sea que no, por lo que habrá que acercarse por una comisaria de policia para renovarlos).
  2. Conocer la contraseña (privada) de esos certificados.
  3. Un lector de smartcards y los drivers correctamente instalados.
  4. Un programa de correo compatible con S/MIME (practicamente todos hoy en día. MS Outook nos vale).
  5. Modificar un entrada del registro de Windows.

Voy a suponer que los cuatro primeros puntos ya los tenemos conseguidos, por lo que me centraré en el punto 5 y continuaré. Para poder mandar correos electrónicos firmados digitalmente por el DNI electrónico con Outlook es necesario abrir el Editor de Registro y modificar una entrada del registro:

  1. Menu de inicio --> Ejecutar --> regedit.exe
  2. En la parte izquierda de la ventana hacer clic en HKEY_CURRENT_USER.
  3. Dentro de HKEY_CURRENT_USER, aun en la parte izquierda hacer clic en Software, luego en en Microsoft, y luego en Office.
  4. Dependiendo de la version que tengamos deberemos entrar en 12.0, 14.0 o 15.0 (version 2007, 2010 y 2013 de Office respectivamente).
  5. Por ultimo y aun en la parte izquierda ir a Outlook y luego a Security.
  6. En este momento hay que mirar la parte derecha y buscar una entrada que se llama "SupressNameCheck". Si existe este debe tener como valor "1". Si no es asi, hacer clic dos veces sobre ese valor y modificar el "0" por el "1". Si no existe, hacer click con el boton derecho del raton sobre la parte derecho de Editor de Registro y hacer click en "Agregar". Aparece una nueva ventana de dialogo que nos permitirá crea una nueva entrada con el nombre "SupressNameCheck" y con el valor "1".
  7. Una vez hecho esto, podemos cerrar el Editor de Registro y reiniciar el Outlook.

Una vez reiniciado Outlook, y con el DNI electrónico conectado y reconocido (lucecita verde del lector), para cifrar un mensaje suelto, en el mensaje, haremos clic en Opciones --> Mas opciones --> Configuración de seguridad --> Cifrar el contenido del mensaje y de los datos adjuntos, y le daremos al botón "cambiar configuración" y en la nueva ventana, el boton "Elegir" nos permitirá seleccionar el certificado del DNI electrónico.

Para que todos nuestros correos electrónicos se envien cifrados, es necesario crear y aplicar una nueva "configuracion de seguridad". Para ello es necesario ir a Archivo --> Opciones --> Centro de Confianza -->Configuracion del centro de confianza --> Seguridad del correo electrónico --> Configuracion --> Ponerle un nombre a la nueva configuración de seguridad --> Escoger el certificado de cifrado --> Aceptar --> Escoger esta nueva configuración como configuracion predeterminada.


Cifrado de correos con GNUPG

GNUPG es una herramienta de cifrado y firmas digitales, que viene a ser un reemplazo del PGP pero con la principal diferencia que es software libre. Dispone de varios plugins para los principales clientes de correo. GNUPG para windows se puede descargar de https://gpg4win.org/download.html

GNUPG es un paquete de utilidades de cifrado que incluye:

  • GnuPG, el motor de cifrado, la herramienta que se encarga de todo el proceso.
  • Kleopatra: la utilidad para gestionar certificados desde una interfaz gráfica cómodamente.
  • GpgOL: la extensión de Outlook para cifrar y firmar correos de forma sencilla.
  • GpgEx: la extensión de Explorer para cifrar o descifrar con el botón derecho.
  • Claws Mail: un cliente de correo electrónico.

Por desgracia GpgOL solo funcionaba hasta Outlook 2003. Ahora es posible contar con una extensión más: Outlook Privacy Plugin, que amplía el soporte para las versiones más recientes: 2010 y 2013, tanto en 32bits como en 64bits. Eso sí, siempre en Windows Vista, 7 ó 2008, ya que requiere del Framework 4.5 de .NET y este no se encuentra disponible en el ya obsoleto y decadente Windows XP.

La puesta en marcha es un poco engorrosa, una vez configurado Gpg4win y el ya comentado framework 4.5 de .NET, se ha de instalar también Visual Studio 2010 Tools for Office Runtime de Microsoft y por último la última versión disponible del plugin, que está en continuo desarrollo y fase BETA (o dicho de otra forma, mejor que nada y prepárate para algún que otro casque)

En https://www.isecauditors.com/sites/default/files/files/iseclab2.pdf podemos encontrar un manual muy completo para la configuración y uso de GNUPG para el cifrado de mensajes con Microsoft Outlook y otras herramientas de correo.


Cifrado en Gmail

Aunque el acceso a gmail se realiza siempre utilizando https y por tanto nadie puede interactuar en nuestra lectura de los correos. A la hora del envío el correo electrónico circula por los diferentes servidores de salto "en claro".

Para poder cifrar correos de gmail podemos usar diferentes técnicas:

  • Si usamos Google Chrome, podemos instalar los plugins "Mymail-Crypt for Gmail" (https://chrome.google.com/webstore/detail/mymail-crypt-for-gmail/jcaobjhdnlpmopmjhijplpjhlplfkhba?utm_source=chrome-ntp-icon), "Secure Gmail by Streak"
  • En mozilla Firefox tenemos el complemento "Gmail S/MIME"

Recepción de correos cifrados

Antes de empezar a enviar mensajes de correo electrónico, cifrados, tú, como emisor y los receptores de tu correos debeis obligatoriamente intercambiar vuestras claves públicas. También debeis confirmar la validez de cualquier clave que acepteis confirmando que en realidad pertenece al supuesto remitente.

En Thunderbird con Enigmail esto se hará en la opción OpenPGP --> Adjuntar Mi Clave Pública cuando estemos escribiendo un correo electrónico.

Cuando recibamos un correo cifrado en Thunderbird nos aparecerá algo asi:

Para poder ver el mensaje deberemos, como indica el mensaje, hacer clic en el boton "Descifrar" de la parte superior de Thunderbird. En ese momento se importará automaticamente la clave pública del emisor, se descifrará usando su clave pública y a continuación se nos pedirá la contraseña para poder descifrarlo usando nuestra clave privada.

En ese momento, tendremos el mensaje en claro.



Firma electrónica

Una firma digital se consigue calculando un valor hash, que es un valor único que cambia cada vez que se modifica lo mas minimo un documento (un espacio en blanco mas o menos, implica un valor hash completamente diferente). Ese valor hash se adjunta al final del documento y se cifra para que nadie pueda leerlo más que el receptor. De esta manera que el receptor del mensaje o documento, lo primero que hace es descifrar el hash, calcular el hash del mensaje o documento y comprobar si son iguales. Si son diferentes, advertirá al usuario de que podría haber habido una modificación del mensaje durante el tránsito.

Firma de correos electrónicos con MS Outlook

La firma electrónico de correos electrónicos con MS Outlook es igual al cifrado. Podemos utilizar un certificado de Ceres o de una CA como Symantec, pero lo mas fácil y barato tal vez sea el firmado con el DNI electrónico. La opción de firmado de un mensaje se encuentra justo debajo de la de cifrado y se llama "Agregar firma digital a este mensaje". De nuevo, al igual que antes, es necesario ir al botón "Cambiar configuración" y escoger un certificado para la firma de mensajes (Usaremos el del DNI como indicamos antes).


Firma y cifrado de correos en Thunderbird con GNUPG y Enigmail

Enigmail es una extension de Thunderbird Enigmail que debe instalarse en Thunderbird yendo a Herramientas --> Complementos. Al reiniciar Thunderbird y encontraremos una nueva opción en el menú superior llamada OpenPGP. Al seleccionar dentro de ella "Administración de claves" podremos crear un nuevo par de clave (publica y privada), yendo a Generar > "Nuevo par de claves".

Durante el proceso se nos pedirá: La cuenta o ID de usuario, la contraseña (diferente a la clave privada), que 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. También se nos pedirá el tiempo de expiración de la clave, es decir, el tiempo durante el cual la clave que se genere será válido.

Finalmente pulsaremos en generar clave y pasados unos minutos (dependiendo de la potencia del PC) ya tendremos un par de claves publico privado que podremos ver en el Administrador de Claves de Open PGP.

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 pen-drive.

Se puede usar la nueva clave para firmar y cifrar correos. Para ello, abrimos el diálogo de configuración de las cuentas y en la sección Seguridad OpenPGP seleccionaremos "Activar el soporte OpenGPG (Enigmail) para esta identidad".

Para no tener que incluir la clave pública en todos los mensajes que mandemos, podemos subirla a un servidor de claves. Estos servidores son de acceso libre, para que cualquier pueda conocer tu clave publica. 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 y pulsa el botón Aceptar.

Con la opción "Usar la dirección de correo de esta identidad para identificar la clave OpenPGP" o "Usar un ID de clave OpenPGP específico" se puede subir una clave PGP a Thunderbird.

A continuacion hay que activar el firmado y/o cifrado de los mensajes por defecto. Si no se activa, siempre se podrá hacerlo mientras estemos 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.

Para firmar un mensaje necesitamos la clave pública del usuario al que queremos enviar el mensaje cifrado.

Subir la clave pública a un servidor de claves

El usuario al que queramos enviar un 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, seleccionamos en el menú Servidor de claves > Buscar claves. En el diálogo que aparece, introducimos la dirección del servidor de claves que nos haya proporcionado el otro usuario y el nombre o identidad con que registró su clave. Pulsamos en Aceptar y aparecerá una ventana con las claves encontradas en el servidor que coinciden con tu criterio de búsqueda. Seleccionamos la que queramos importar y pulsamos Aceptar, tras lo cual podremos ver la clave pública del contacto en la lista de claves disponibles.

Firmar y/o cifrar mensajes

Para firmar nuestros mensaje, seleccionamos en el menú superior OpenPGP --> Firmar mensaje, o pulsamos el botón OpenPGP de la barra de herramientas. Al enviar el mensaje se nos pedirá la contraseña de nuestra clave privada, si la protegismos de esta manera, y se generará un código cifrado a partir del contenido del mensaje y permitirá al destinatario verificar que el cuerpo del mensaje no ha sido alterado en su trayecto.

Cierre

Con esto cerramos los tres articulos relacionados con el cifrado en todas sus vertientes. Hemos hablado de cifrado de dispositivos, de discos, de moviles, de comunicaciones... y en esta ultima entrega de correos electrónicos.

No hay comentarios:

Publicar un comentario