Pagaments per internet, missatges xifrats i parelles secretes

CartaBustia2.jpg Quan enviem una carta, no ens agrada que la llegeixin terceres persones. Tenim dret a la intimitat, i els encarregats del correu ordinari tenen el deure de garantir-ho.

Però de fet, si volem estar tranquils, el millor que podem fer és xifrar el nostre missatge. La història del xifrat (o encriptat) és quasi tan antiga com la de la humanitat, com ens explica en David Juher. Al llarg dels segles hem anat inventant sistemes cada cop més sofisticats per encriptar els missatges, amb l’objectiu que poguessin ser desxifrats pel destinatari però que fossin incomprensibles per a terceres persones. Però als humans ens agraden els reptes: sempre hi ha qui ha volgut interceptar i desxifrar (sobretot en èpoques de guerres i conflictes) els missatges. És la història del gat i el rata. Un dels pares de la informàtica, Alan Turing, va servir al seu país durant la segona Guerra Mundial tot desxifrant els codis secrets dels nazis i en concret els de la màquina Enigma.

Amb internet, tot això es complica. Cada dia enviem correus electrònics i documents. Fem transaccions, i des de fa uns anys hem començat a fer compres i pagaments per internet. Quina garantia tenim que aquests pagaments i transaccions no seran interceptats per terceres persones que se’n voldran aprofitar? La garantia, com veurem tot seguit, s’anomena RSA i PGP. El creador del sistema PGP, fa només vint anys, va ser en Phil Zimmermann. Zimmermann és físic i president de la “Open PGP Alliance“, un lobby en favor de software de codi obert. L’objectiu d’en Phil Zimmermann és el d’estendre l’ús habitual del xifrat al nostre àmbit privat. Diu: “Els serveis secrets tenen un bon accés a les tecnologies d’encriptació. També en tenen els governs, els contractistes de defensa, les empreses petrolieres i les grans corporacions. També, els traficants d’armes i de drogues. Però la majoria de la gent normal no han tingut accés a la tecnologia criptogràfica militar de clau pública, fins ara. El sistema PGP permet que la gent tingui la privacitat a les seves mans. Vaig crear el sistema PGP perquè hi ha una creixent necessitat social de privacitat”. El sistema PGP que va inventar Zimmermann va ser pensat per a nosaltres, per a la gent. És una bona pantalla per a protegir la nostra intimitat, com veurem tot seguit.

Es diu que els mètodes clàssics de xifrat treballen amb claus simètriques. En d’altres paraules, la clau (o conjunt d’instruccions) que usem per xifrar un missatge és la mateixa que farem servir per desxifrar-lo. Veiem-ho amb dos exemples. Si la nostra clau o regla de xifrat és que substituïm cada lletra per la lletra anterior en l’abecedari, el resultat d’encriptar la paraula “dilluns” serà “chkktmr”. És clar que el receptor podrà desxifrar fàcilment  el missatge si aplica les regles de xifrat a l’inrevés. Però aquesta idea és massa senzilla, i ben segur que d’altres persones podran interceptar-lo i desxifrar el seu significat, si volen. Una idea millor podria ser convertir el nostre missatge en xifres, “xifrar-lo”. Si la nostra clau indica que d=23, i=37, l=12, u=54, n=22, s=83, i que quan trobem dues “l” seguides el codi de la segona és l=56, la codificació de dilluns serà “23371256542283”. Aquest exemple ja és més difícil de desxifrar. I evidentment, podem pensar en sistemes més i més sofisticats. Però tots aquests sistemes de clau simètrica, per complexes que siguin, tenen un greu problema: tant qui envia i encripta el missatge com qui el rep, han de conèixer la clau de xifrat. Podem enviar missatges ben encriptats, però primer hem d’enviar la clau d’encriptació, i ens la poden interceptar. I si volguéssim enviar la clau amb total seguretat ens caldria encriptar-la, i llavors hauríem d’enviar la clau de xifrat de la clau… És el peix que es mossega la cua. Fins fa poc, fins la dècada dels 70, semblava que no hi hauria manera de poder enviar informació amb confidencialitat garantida.

Tot va canviar amb la proposta de Whitfield Diffie i Martin E. Hellman, i amb l’article-columna de Martin Gardner a la revista Scientific American de febrer de 1977. L’algorisme RSA (de Ronald Rivest, Adi Shamir i Leonhard Adleman, del MIT), presentat també l’any 1977, va ser la primera proposta pràctica basada en esquemes de clau pública o asimètrica.

El truc de l’algorisme RSA és que enlloc de tenir una clau de xifrat, en tenim dues. Tenim una parella de claus. A una d’elles l’anomenarem clau pública, i a l’altra, clau privada. El que es xifra amb una d’ells, es pot desxifrar amb l’altra. Per això diem que l’algorisme RSA és de clau asimètrica, perquè mai desxifrem amb la mateixa clau amb que hem encriptat. Si les dues claus de la parella les anomenem com C1 i C2, tots els missatges que xifrem amb la clau C1 els podrem desxifrar sense cap problema amb la clau C2. Diem que és de clau asimètrica, però el propi sistema és simètric: si preferim xifrar amb la clau C2, cap problema. L’únic és que ara haurem de desxifrar el missatge amb la seva parella: amb la clau C1. Només cal una cosa, per a que tot vagi bé. La parella de claus ha de ser una parella secreta. És fonamental que ningú pugui trobar el valor de C2 a partir de C1, ni que pugui trobar C1 a partir de C2 (vegeu la nota al final). La parella de claus (C1, C2) és com una parella de bessons que viuen separats i que no expliquen que tenen un germà. Viuen lluny un de l’altre, però els dos bessons es coneixen prou bé i el que xifra un qualsevol d’ells, l’altre ho sap desxifrar. Van ser creats junts, van néixer alhora, però no desvetllaran mai el seu secret. No diran mai qui és el seu germà bessó, quina és l’altra clau, per a que ningú pugui usar la clau pública de xifrat per a obtenir la clau privada de desxifrat.

En aquests sistemes de “parella de claus”, no hem d’enviar cap recepta de desxifrat, no enviem cap clau. Per això són extraordinàriament segurs. Hem resolt el problema clàssic de la criptografia. No ens poden interceptar la clau, simplement perquè no l’enviarem. Imaginem que la Marta vol rebre missatges xifrats. Tot el que ha de fer és crear una parella de claus. Aquesta parella (C1, C2) conté la seva clau pública (una qualsevol de les dues) i la clau privada (l’altra). La Marta es guarda la clau privada i en canvi explica a tothom quina és la seva clau pública. Qualsevol persona que vulgui enviar un missatge xifrat a la Marta, l’encriptarà amb la clau pública de la Marta (que ella ha publicat). Però els missatges només es podran desxifrar amb la clau privada, que no coneix ningú llevat de la Marta. Estem xifrant informació sense haver enviat cap clau.

Fins i tot, si volem garantir la identitat de la persona que ens està enviant un missatge encriptat, podem usar una doble encriptació. En aquest cas, cada un dels dos processos implica dos passos. Primer, l’emissor encripta el missatge que vol enviar amb la clau pública del receptor; però, en un segon pas, el torna a xifrar, ara amb la seva pròpia clau privada. D’aquesta manera, està signant el missatge, tot indicant que és ell qui l’envia. El receptor també procedirà en dos passos. Primer, fa servir la clau pública de l’emissor per desfer el xifrat de la seva signatura i així poder verificar l’origen del missatge (estem usant la simetria entre les dues claus de la parella). Finalment, el receptor desencripta el contingut del missatge amb la seva clau privada. El que sí cal és disposar d’agències de validació que puguin certificar l’autenticitat de la persona que signa amb aquests mitjans digitals.

En tot cas, l’únic problema del mètode RSA és que els algorismes de xifrat i desxifrat són molt complexes. Fins els anys 90, els sistemes de xifrat eren pràcticament monopoli dels governs, serveis secrets, exèrcits i grans empreses. La revolució del sistema PGP (les sigles PGP venen de “Pretty Good Privacy“) de Zimmermann és que ofereix seguretat i no és massa complex, sent apte per a ser usat en PCs i ordinadors personals. PGP fa servir un mètode clàssic de xifrat (dels que hem comentat, de clau simètrica) però quan envia les claus, les encripta amb l’algorisme de clau pública RSA. El mètode de xifrat PGP està pensat per a nosaltres, per a tothom, per a la societat civil. El sistema PGP permet que la gent pugui tenir la privacitat a les seves mans. Sens dubte, és una bona pantalla protectora per a la nostra intimitat.

Nota (de lectura optativa): Les parelles secretes es calculen amb nombres primers. Suposem que escollim dos nombres primers P i Q molt i molt grans (per exemple, de més de 300 xifres cada un d’ells). Ara, calculem el producte R = (P-1)*(Q-1) i el producte N = P*Q. Si escollim qualsevol nombre natural E tal que E i R siguin primers entre ells i calculem D com una de les solucions de l’equació diofàntica E*D+R=1 mòdul N (en altres paraules, D ha de ser tal que la resta de dividir E*D+R entre N sigui la unitat), ja hem trobat una parella secreta. Una de les claus (per exemple, la pública) és el conjunt dels dos nombres N,E mentre que l’altra clau (en aquest cas, la privada) és el conjunt dels dos nombres N,D. Hem pogut calcular les dues claus alhora, però la complexitat d’obtenir una d’elles si només coneixem l’altra, és increïblement gran (pel fet que els nombres amb que estem tractant són immensos). Per això podem afirmar que hem trobat dues claus que formen una parella realment secreta. Per encriptar qualsevol missatge, primer el convertim en un nombre enter M (en informàtica, això és immediat perquè tant els texts com els nombres enters són simples seqüències de bits). El missatge xifrat C el calcularem tot elevant M a la potència E. C serà finalment la resta de la divisió d’aquest resultat entre N. Quan el receptor rebi el missatge C, elevarà C a la potència D, i el missatge desxifrat serà la resta de la divisió d’aquest resultat entre N. Es pot demostrar que sempre, amb aquesta operació, el receptor tornarà a recuperar el missatge inicial M. Però ningú més podrà convertir C en M.

One Response

  • Segurament… Potser el PGP sigui molt vàlid… Però em pregunto si no hi ha programes d’encriptació que guarden la clau secreta dintre del text encriptat i que el programador podria desxifrar amb total seguretat i impunitat. Resulta tan senzill fer-ho!

Comments are closed.