diumenge, 22 de novembre de 2020

Signar, xifrar i desxifrar correu electrònic

(En español, en Medium)
Fa uns dies que he començat a preparar una xerrada per a la propera festa ubuntaire, per tal de parlar sobre aquest tema, i m'he adonat que en realitat poder accedir a aquestes funcionalitats és tan senzill que en podia fer una entrada al blog mirant de no complicar-ho excessivament.

Abans que res, però, volia mirar de desmuntar la fal·làcia del "a mi m'és igual si m'espien perquè no tinc res a amagar".  Qui digui això totalment convençut (dubto molt que hi hagi ningú) el primer que hauria de fer és preguntar-se si realment no li faria res que algú mirés pel damunt de l'espatlla el que està escrivint o mirant al mòbil. Segurament sí que li importaria. I segurament també tanca el sobre quan envia una carta. I segurament tanca les cortines de casa quan no vol que el vegin, encara que no hagi de cometre cap crim. A més, hi ha molta informació que potser volem compartir amb algú en concret, però amb ningú més. Perquè sí. O potser perquè si fa cap a qui no toca ens pot perjudicar, encara que no impliqui la revelació de cap delicte. Potser és informació empresarial que no volem que conegui ningú, especialment la competència. No, no ens és igual si ens espien, i per això és molt raonable adoptar unes mesures mínimes per tal de protegir la nostra informació.

Segur que heu llegit alguna cosa sobre PGP o GnuPG, les funcionalitats dels quals no només inclouen el xifrat i desxifrat de correu electrònic, sino també de qualsevol mena de text o fitxer. Anem a veure doncs alguns conceptes bàsics i com accedir a aquestes funcionalitats perquè realment és molt senzill i en pocs minuts podem preparar-nos per a poder enviar i rebre correu electrònic xifrat (i també signar-lo)

Una de les primeres coses que cal tenir clares és que el tipus de xifrat que ens interessa és el xifrat asimètric i en un moment veurem per què. Segur que coneixeu mètodes de xifrat simètric, com per exemple comprimir un fitxer en un .zip i protegir-lo amb contrasenya. Per què aquest xifrat es denomina simètric? Doncs perquè la contrasenya utilitzada és la mateixa tant a l'hora de xifrar com de desxifrar. I quin és el problema si volem compartir informació amb algú altre? Evidentment que li hem de facilitar la contrasenya per un altre canal: si volem protegir una informació perquè ha de viatjar a través d'un canal insegur com és el correu electrònic i enviem la contrasenya pel mateix canal... potser no haurem guanyat res en termes de seguretat. I aquí rau l'interés del xifrat asimètric: funciona com una caixa forta amb dues claus: una clau només serveix per tancar, i l'altra només per obrir. El bo del cas és que per a xifrar i desxifrar text o fitxers necessitem el que s'anomena parell de claus, format per una clau pública (és la clau que tanca) i una altra de privada (és la clau que obre), amb el gran avantatge que la clau pública s'anomena així precisament perquè és la que podem compartir amb la resta del món: qualsevol que ens vulgui enviar informació xifrada la pot xifrar amb aquesta clau, però només nosaltres podrem desxifrar aquesta informació amb la nostra clau privada, que com que és privada no la compartim amb ningú i per tant ningú més podrà desxifrar aquestes dades. Amb això eliminem el problema que té el xifrat simètric a l'hora de compartir la contrasenya!

Un advertiment abans de seguir endavant: el parell de claus que necessitem per a fer funcionar l'invent, i més concretament la clau privada, està protegida per una contrasenya o paraula de pas. Aquí no hi ha botó de "he oblidat la contrasenya": si l'oblideu us podeu oblidar també de poder desxifrar res, per tant feu servir una contrasenya que pugueu recordar, o bé anoteu-la i guardeu-la en un lloc segur!

Bé, prou avisos: anem a generar el parell de claus. Si ho voleu fer amb l'intèrpret d'ordres trobareu centenars de tutorials per fer-ho, però la meva intenció aquí és fer-ho de la forma més senzilla possible, i per tant mitjançant una interfície gràfica. Jo us ho explicaré per a sistemes GNU/Linux que és el que conec, segurament per a altres sistemes operatius hi deu haver eines similars però caldrà que les busqueu. Si feu servir Linux ja sabreu que normalment hi ha diferents eines per a la mateixa funcionalitat i per tant podeu triar i remenar la que us agradi més mitjançant el vostre gestor de paquets preferit. Personalment em sento còmode amb GPA, però cadascú sap els seus gustos. Només un comentari més abans de generar el parell de claus: en el cas de GPA les opcions per defecte us funcionaran a la perfecció, però si pel motiu que sigui voleu triar la longitud de la clau, abans haureu d'activar aquesta opció al menú Edit - Preferences:



De totes maneres, les següents captures corresponen a la generació del parell de claus sense haver activat aquesta opció (que realment no és necessària). L'assistent ens guia pels següents passos absolutament senzills i fàcils de completar:

1 - Menú Keys - New key:



2 - Informem nom i correu electrònic:



3 - No imprescindible però absolutament recomanable: fem còpia de seguretat:



4 - Escrivim la paraula de pas (sí, la que convé no oblidar!):



5 - Si, com es recomana, hem decidit fer còpia de seguretat, la desem al directori que triem. Ja està! Al gestor de claus hi podem veure el nostre flamant parell de claus, el seu identificador, el fingerprint, la validesa (no entrarem ara en aquests conceptes)... ja podeu compartir la clau pública amb qualsevol persona que us hagi d'enviar informació xifrada, pujar-la a servidors de claus... proveu de fer clic amb el botó dret i mirar les diferents opcions.

A partir d'aquí podeu aprendre a xifrar, signar i desxifrar text i fitxers jugant amb l'aplicació que hagueu triat, buscar alguna extensió per al navegador que us faciliti la vida a l'hora de gestionar correu electrònic... benvinguts al món del xifrat asimètric!


Cap comentari: