Configurando un sistema más robusto y confiable de correo electrónico – 1

En el segundo podcast de “Las terTUXlias de Llefi@net”, cuando comentamos el tema de GPG y las firmas digitales, dije que intentaría instalar y configurar un sistema de correo electrónico más seguro y confiable en mi smartphone.

Tras unas pocas pruebas he logrado hacerlo. Y he de decir, que entre mi nube personal con Nextcloud, los servicios que tengo instalados y ahora con esto, poco a poco voy alejándome de las soluciones privativas. Aún queda mucho para la independencia completa, y dudo que la consiga, pero poco a poco voy haciendo camino.

Si escuchasteis el podcast (quien no lo haya hecho ya sabe lo que le toca 🙂 ) recordareis que Marc comento de la existencia de 2 app’s. Ya las conocía, y de hecho las instalé e intente configurarlas hace unos meses, pero no pude lograr mi objetivo.

Antes de nada, ¿para que firmar los correos?

En otra entrada de hace más de dos años (http://llefia.org/wptux/incluir-una-firma-digital-en-nuestros-e-mails/), ya hable de este tema, aunque de forma muy superficial. Siempre he creido que quedo un poco cojo (bueno… bastante) y quería ampliarlo, así que he visto la ocasión.

En esta entrada comentaba la importancia de adjuntar una firma o certificado digital a nuestro e-mail. No hablo del nombre, el saludo o el tipico gracias que sale automático para no tener que escribir. Hablo de algo que pueda certificar que ese e-mail es legitimo. Esto puede parecer trivial, o una chorrada friki más. Pero en los tiempos que nos ha tocado vivir necesitamos herramientas de defensa digital. Lo que hoy voy a explicar es la primera parte; el por que y como funciona. Solo os diré una cosa, aquellos profesionales de la informática que se dedican, concretamente al área de seguridad informática, firman digitalmente todos sus correos, por algo será.

La cosa es es que esto no solo sirve para los e-mails. Lo estoy aplicando aquí por que es uno de los usos principales. Firmando un e-mail, y sus adjuntos, certificamos dos cosas. La primera es, como he dicho, el origen legitimo del mensaje, es decir que lo envía quien dice enviarlo. Y la segunda es que durante el proceso de transmisión no se ha visto alterado, bien sea de forma accidental por un fallo en el proceso o bien sea por un acto deliberado.

Como os he dicho, el uso de firmas no se limita a los e-mails. Imagino que os habréis fijado en que muchos archivos que podáis encontrar por Internet tiene a su lado un número de hash, o función de resumen para su verificación. Pensaba que ya hice una entrada sobre el tema del MD5, el SHA1 y compañía, pero no. Con lo que me la reservo para la siguiente. Es otro tema a tener en cuenta. Pues el caso es que con estas herramientas, y la que nos ocupa, podemos firmar archivos y/o verificarlos. Asegurando así su integridad.

Se trata de una herramienta de seguridad pasiva, pues no hace nada, no vigila nada, ni controla nada. Simplemente nos informa sobre un hecho. El archivo, mail, documento, etc. es legitimo o no en base a una comparación con un factor de referencia. Lo que decidas hacer con esa información ya es cosa tuya.

¿Cómo funciona?

La pregunta que surge, además de ¿cómo lo hago?, es la siguiente: ¿cómo puede un adjunto, o un elemento que forma parte del propio mensaje, asegurar que él mismo y lo que le acompaña es legítimo y procede de donde dice proceder?

Es muy fácil, se usa un sistema basado en un par claves asimétricas. Y lo que hace que este sistema sea tan eficiente son, precisamente, esos 2 puntos básicos.

  1. Se usa un par, una pareja, de claves. Una sin la otra no sirven de nada, se complementan. Por separado son inútiles.
  2. Estas claves son asimétricas, es decir, forman parte del mismo conjunto, pero son diferentes. Una es pública y la otra privada. El caso es que la privada, contiene parte de la pública, precisamente para poder usarla como firma digital.

Cuando generamos un par de claves, no solo se crea un certificado criptográfico sino que se hacen otras cosas, entre ellas la más importante y de forma obligatoria, cada par de claves se asocian a una identidad. Además, se les puede asignar un periodo de caducidad, se les pueden dar diferentes niveles de seguridad. Para nosotros, lo más importante, es que se asocian a una cuenta de correo electrónico.

cifrado asimetrico
cifrado asimetrico

De entre los muchos ejemplos para describir como funciona este sistema el que más me gusta, y creo que el más simple, es el del candado y la llave. El candado equivale a la clave pública, disponible a cualquiera que quiera usarlo, pero una vez cerrado solo puede abrirlo aquella persona que tenga la llave en su poder, en este caso la clave privada.

Al firmar un correo electrónico estás usando tanto el contenido de lo que quieres firmar, ya sea un e-mail, un texto o un archivo, como la clave privada para generar un hash. Esto es una función matemática que da un resultado único e inequívoco de longitud fija y predeterminada, independientemente de la longitud original. Este hash se obtiene aplicando sobre el contenido del mensaje la parte pública que hay dentro de la clave privada. Pero para poder generar este hash no basta con aplicar una cosa sobre la otra, para poder usar la clave privada necesitas introducir su contraseña.

Para que te hagas una idea de la precisión, imagínate el libro más gordo que se te ocurra, “El Quijote”, por ejemplo. Cambiando solamente una letra, aunque sea la misma letra por su equivalente en mayúscula, un espacio, un signo o lo que sea. El resultado de ese hash cambiará radicalmente. Y de nuevo, por ejemplo, si el hash tiene que tener 100 caracteres, da igual que lo obtengamos con todo el texto de “El Quijote” o con la palabra “HOLA”, en ambos casos tendrá 100 caracteres de largo.

Al usar la parte pública contenida en la clave privada. Este hash puede ser evaluado por la clave pública sin necesidad de la contraseña. De nuevo con la analogía del candado y la llave. Es como si a tus destinatarios les hicieras una copia de goma de la llave de ese candado. Con esta llave de goma pueden comprobar que efectivamente esa llave corresponde al candado, lo que certifica que tú tienes la original y en consecuencia eres el remitente y propietario legitimo. Aunque esta llave no sirva para abrir el candado.

Cuando recibimos un e-mail firmado el cliente de correo evalúa como positivo, y en consecuencia certifica como legitimo ese e-mail y su remitente, si se cumplen estas 3 condiciones:

  • La dirección de correo del remitente corresponde con la identidad asociada a la clave pública.
  • La comparación del hash generado en local por el destinatario contra el hash suministrado por el remitente se evalúa como positiva, es decir ambos son exactamente iguales.
  • Si la clave tiene caducidad, se evalúa que la fecha es previa a esa caducidad.

Por hoy ya esta bien. En otra entrada os enseñare a generar instalar un cliente de correo en el móvil (para android) y un gestor de claves. Generar vuestro propio par de llaves y configurarlo todo para poder enviar e-mails firmados (y cifrados si queréis). También exportaremos esta configuración al portátil o PC para que podáis usarlo también en vuestro cliente de correo. Para esto último os aconsejo que reviséis la entrada sobre los clientes de correo, también escrita hace un par de años.

Y como siempre, espero vuestros comentarios en el blog, o por e-mail en la dirección tux[arroba]llefia.org. Y si no habéis podido esperar y os habéis adelantado (hay toneladas de tutoriales sobre este tema por Internet) espero vuestros correos firmados y para el que se atreva podéis buscar mi llave pública usando el buscador de claves del propio cliente o buscarla y descargarla desde aquí https://pgp.mit.edu/.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies