Cómo proteger tu información sensible con la criptografía asimétrica

Actualizado 04/01/2018 10:52:22 CET
Encriptación, criptografía
PIXABAY

   MADRID, 28 Dic. (EDIZIONES/Portaltic) -

   Los datos ofrecidos por la herramienta de Google Consumer Barometer concernientes a España indican una gran penetración de Internet en la vida de los españoles: el 85% acceder a la Red para atender propósitos personales; el 92% se conecta de manera diaria; la mayoría navega ya con varios dispositivos --usuarios multipantalla-- y, además, el 91% considera un asunto "muy importante" la privacidad y protección de los datos.

   La privacidad en Internet ha sido, de hecho, un tema recurrente. Los datos proporcionados por la herramienta Google Trends relativos a España así lo constatan: desde el año 2004 hasta el presente, los términos de búsqueda "privacidad" y "privacidad en Internet" han tenido un interés relativamente constante.

Sobre este asunto, es importante remarcar que la confidencialidad de la información va en muchas ocasiones de la mano de la seguridad informática. Así, la generalización del protocolo seguro de transferencia de hipertexto (HTTPS) y el cifrado extremo a extremo permiten que millones de datos privados viajen cifrados desde su origen hasta su destino, evitando que terceras personas puedan acceder a ellos mediante su intercepción.

   Pero el protocolo HTTPS no protege enteramente las comunicaciones de los usuarios. Por ejemplo, si el correo electrónico de una persona es 'hackeado', el intruso sí podría leer sus mensajes. Y aún hay más, la Política de privacidad de Google especifica lo siguiente: "Nuestros sistemas automatizados analizan el contenido (incluidos los correos electrónicos) para proporcionarle funciones de productos que guarden relación con su actividad, como la publicación de anuncios y resultados de búsqueda personalizados y la detección de spam y software malicioso". ¿Existe alguna manera de evitar todas estas vulnerabilidades relativas a la privacidad y la confidencialidad de los datos? La respuesta es afirmativa, gracias a la existencia de la criptografía asimétrica.

CRIPTOGRAFÍA SIMÉTRICA Y ASIMÉTRICA

   Para entender el concepto de criptografía asimétrica, primero es conveniente entender el de criptografía simétrica. En esta última, una misma clave sirve para cifrar y posteriormente descifrar un mensaje o un archivo. Como consecuencia, el emisor y el receptor han de conocerla, y de ahí parte su gran inconveniente: ¿cómo comunicar dicha clave sin que un atacante pueda interceptarla?

   En la criptografía asimétrica no es necesario que el emisor y el receptor acuerden una contraseña en ningún momento. Este tipo de cifrado funciona gracias a dos claves, una pública y otra privada. El emisor ha de encriptar el mensaje con la clave pública del destinatario. De esta manera, el mensaje viajará 'blindado' y únicamente la clave privada del receptor podrá descifrarlo.

   Una vez se tienen conocimientos básicos sobre la criptografía asimétrica, se explicará cómo hacer uso de ella en un ordenador que ejecute el sistema operativo Microsoft Windows.

¿CÓMO USAR LA HERRAMIENTA GNUPG?

   Uno de los 'software' más importante de criptografía asimétrica es PGP, desarrollado por Phil Zimmermann. Sin embargo, la compañía Symantec lo adquirió en 2010 y su uso no es gratuito. No obstante, existe una alternativa libre llamada GnuPG o GPG, que será la explicada en este artículo.

   Para hacer uso de GnuPG se utilizará el paquete de cifrado Gpg4win, disponible para descarga desde su web oficial. Es posible que un recuadro solicite la donación de una cierta cantidad de dinero antes de permitir su descarga, aludiendo gastos de mantenimiento y desarrollo. Sin embargo, no es obligatorio donar; pulsando sobre el botón '$0' aparecerá el botón 'Download' ('Descargar'), como puede comprobarse en la imagen inferior.

   Una vez descargado el ejecutable se procederá a la instalación, la cual es muy intuitiva: en primer lugar, aparecerá un cuadro de diálogo en el que se escogerá el idioma deseado. A continuación, se pulsará el botón 'OK'. Tras la bienvenida a la instalación, se pulsará 'Siguiente' y se marcarán los componentes que se deseen instalar. Se recomienda elegir al menos 'GnuPG' --marcado por defecto--, 'Kleopatra' y 'GpgEX'.

   Tras pulsar sobre 'Siguiente', habrá que definir un directorio de destino o dejar el que viene determinado por defecto. Por último, se hará clic en 'Instalar'. Una vez finalizada la instalación se abrirá el programa. El 'software' indicará que es necesario crear un nuevo par de claves --una pública y otra privada--, aunque también es posible importarlas de contar ya con ellas haciendo clic en el botón 'Importar'. En este caso, se hará clic sobre el botón 'Nuevo par de claves', remarcado en rojo en la imagen inferior.

   Un cuadro de diálogo pedirá un nombre y una dirección de correo electrónico. No tienen por qué ser reales. De hecho, si se desea un anonimato total, se tendrá que escribir un nombre y un correo falso. En todo caso, una vez rellenadas ambas casillas se hará clic sobre 'Configuración avanzada...' y se verificará que la opción RSA está seleccionada. Además, en el menú desplegable de la derecha deberá elegirse la opción '4096 bits'.

   Por último, se pulsará sobre 'Next' y 'Crear'. Kleopatra avisará de que procederá a crear las dos claves propias de la criptografía asimétrica. Del mismo modo, aparecerá un cuadro de diálogo en el que se deberá indicar una contraseña. Esta contraseña se vinculará a la clave privada, y será necesario introducirla para descifrar cualquier texto o archivo encriptado mediante la clave pública.

   Un cuadro de diálogo informará de que las claves han sido creadas con éxito. En este punto, es recomendable pulsar sobre el botón 'Hacer copia de respaldo de su par de claves...'; de esta manera, se exportarán y se podrá acceder a ellas incluso aunque se hallan borrado por error --por ejemplo, como consecuencia del formateo del disco duro--. Es aconsejable guardar la copia de respaldo en un dispositivo externo, como una memoria USB, y procurar que nadie pueda tener acceso a ella.

   Asimismo, mediante el botón 'Enviar clave pública por correo...' se le podrá hacer llegar a una persona nuestra clave pública, con la que podrá enviarnos mensajes o archivos cifrados. Por último, 'Enviar clave pública a un servicio de directorio...' subirá dicha clave a un servidor de claves públicas; de esta manera, cualquiera que conozca el nombre, el correo electrónico o la ID vinculada a la clave podrá tener acceso a ella. En España, uno de los servidores de claves más importantes es el ofrecido por RedIRIS.

   Ahora bien, ¿cómo podemos cifrar un texto o un archivo para enviárselo a otra persona? En primer lugar, deberemos tener su clave pública. Es posible buscarla en un servidor de claves desde Kleopatra, seleccionando la opción 'Búsqueda en el servidor' de la barra de menú --es posible que el 'firewall' de Windows pida autorización; deberemos concedérsela--. En caso de que nuestro destinatario no tenga su clave pública en un servidor, nos la tendrá que enviar por correo electrónico. Nos llegará, probablemente, en un archivo ASC que deberemos importar a Kleopatra haciendo clic en la opción 'Importar'.

   Para cifrar un texto, deberemos copiarlo en el portapapeles de Windows y, una vez en Kleopatra, pinchar en la opción 'Portapapeles' de la barra de menú y escoger 'Cifrar...'. En el cuadro de diálogo que se abrirá, haremos clic en 'Añadir destinatario...' y seleccionaremos la clave pública del receptor. Tras pulsar 'Siguiente', Kleopatra avisará de que el cifrado "ha tenido éxito". Si pegamos ahora lo almacenado en el portapapeles, podremos comprobar cómo, efectivamente, estará cifrado, como puede apreciarse en la siguiente imagen.

   Por su parte, cifrar un archivo es muy sencillo gracias al componente GPG Shell Extension (GpgEX) instalado anteriormente. GpgEx permite cifrar y descifrar archivos cómodamente desde el menú contextual de Windows --el que se abre cada vez que hacemos clic derecho en el ratón--. Así, únicamente deberemos pulsar con el botón derecho sobre el archivo pertinente y seleccionar 'Firmar y cifrar'. A continuación, en la opción 'Cifrar para otros', seleccionaremos la clave pública del destinatario deseado y pulsaremos 'Cifrar'. El programa nos avisará de que no podremos descifrar los archivos "nunca más" --pues nosotros no disponemos de la clave privada necesaria--.

   Aceptaremos dicha advertencia haciendo clic en 'Continuar' y el proceso de cifrado habrá llegado a su fin, dando como resultado un archivo con extensión GPG que podrá ser enviado por correo electrónico o almacenado en una memoria externa para proporcionárselo al destinatario poseedor de la clave privada correspondiente.

   Con todo, el uso de la criptografía asimétrica debe estar coaligada con otras medidas de seguridad y mejora de la privacidad, particularmente si la comunicación entre el emisor y el receptor se realiza mediante correo electrónico, ya que la línea del asunto, así como la dirección de correo del remitente y del destinatario, no están cifradas.

FIRMA DIGITAL Y VERIFICACIÓN DE IDENTIDAD, OTRA VENTAJA DE GNUPG

   Pensemos en la firma digital como una firma manuscrita: acredita la identidad del firmante. GnuPG no solo permite cifrar documentos y texto, si no también firmarlos digitalmente con la clave privada del emisor.

   Para firmar un texto, primero hay que copiarlo al portapapeles; posteriormente, en Kleopatra, seleccionaremos 'Portapapeles' y 'OpenPGP-Firmar...'. El programa nos avisará de que se "necesita seleccionar un OpenPGP certificado de firma para proceder"; por ello, pulsaremos el botón 'Cambiar las firmas de los certificados...' y elegiremos el certificado deseado. Ahora, Kleopatra nos permitirá firmar el mensaje contenido en el portapapeles. Para ello, pulsaremos 'Siguiente' y escribiremos la contraseña de la clave privada. El 'software' firmará el texto y advertirá de que "el firmado ha tenido éxito". Las siguientes tres imágenes ilustran el proceso descrito.

   La firma de un archivo se realiza de una manera muy similar a su cifrado. Por medio del menú contextual ofrecido por GpgEX, únicamente es necesario pulsar sobre 'Firmar' y elegir qué clave privada se utilizará, como muestra la siguiente captura de pantalla.

   También es posible usar de manera conjunta el cifrado junto con la firma digital. De esta manera, el mensaje o archivo enviado no solo viajará blindado, sino que además el receptor podrá comprobar inequívocamente que el emisor es quien dice ser --a no ser que la clave privada de este haya sido robada; de ahí la gran necesidad de protegerla--.