Seguretat de les comunicacions d'Internet I: Confidencialitat

Leturia Azkarate, Igor

Informatikaria eta ikertzailea

Elhuyar Hizkuntza eta Teknologia

Avui dia la informació que recorre Internet és molt important: correus electrònics privats, documents confidencials, contrasenyes de comptes de serveis online, dades de targetes de crèdit... Però tota aquesta informació va segura des d'Internet?
interneteko-komunikazioen-segurtasuna-i-konfidentz
Ed. © Sergey Nivens/350RF

Tant en el nivell d'e-mail, navegant per la web, com en altres coses en Internet, enviem informació; des del punt de partida aquesta informació per a arribar a la destinació passa per molts punts: surt del nostre ordinador o un altre dispositiu digital, passa per algun encaminador (encaminador de xarxa de l'empresa, wiko de casa o de bar...), després arriba al proveïdor d'Internet i d'aquí encara passarà molts altres nodes fins a la destinació. Qui exerceixi el control de qualsevol d'aquests punts intermedis, ja sigui l'informàtic de l'empresa, el propietari del bar o la policia que es trobi en contacte amb el proveïdor d'Internet --o, en el cas de la wifi, fins i tot qualsevol que tingui un ordinador amb wifi zero-, pot accedir fàcilment a la informació.

Gran part de les comunicacions de la xarxa (la major part de la navegació en la web, molts enviaments i recepcions de correu) van en obert i accessibles per a qualsevol persona. Però Internet té mecanismes per a transportar informació sensible com a contrasenyes, dades de targetes de crèdit o correus electrònics secrets de manera segura i confidencial. Per a això utilitza la criptografia, és a dir, encriptant (codificant o xifrant) els missatges es converteixen en incomprensibles per a qualsevol persona que no sigui el destinatari. En concret, s'utilitza en Internet un tipus especial de criptografia: criptografia de clau pública o criptografia asimètrica.

Problemes de la criptografia clàssica en internet

Els sistemes d'encriptació de missatges han estat molt utilitzats al llarg de la història, especialment per a comunicacions importants entre reis, generals i altres autoritats, però també per a missatges secrets d'amor entre amants. Els mètodes que inicialment eren simples s'han anat fent cada vegada més complexos a mesura que la tecnologia ho permet i s'han anat descobrint tècniques de ruptura de sistemes anteriors. Entre els mètodes d'encriptació més coneguts i utilitzats de la història podem citar la xifra de César, la xifra de Vigène i les màquines de rotor com Lorenz o Enigma.

Bàsicament, tots aquests sistemes d'encriptació es basen en el mateix principi: el missatge es transforma mitjançant una funció, utilitzant una clau, i el receptor aplica posteriorment la funció inversa per a obtenir el missatge original amb la mateixa clau. En l'exemple més simple, la funció pot ser la resta i la clau el número 1. D'aquesta forma, el missatge "IBM" passaria a ser "HAL" si apliquem a cada lletra la funció "-1" que substituïm per la lletra anterior, i el destinatari, coneixent la clau (número 1), aplicant la funció "+1" al missatge xifrat, tornaria a obtenir "IBM". A això se'n diu criptografia simètrica perquè utilitza la mateixa clau per a encriptar i desencriptar.

Aquests sistemes s'han tornat cada vegada més fràgils en complicar la funció de xifrat amb l'ajuda de la tecnologia de cada època. En l'actualitat, la criptografia es realitza a través d'ordinadors que permeten que aquestes funcions siguin molt complexes i que les claus siguin llargues per a desenvolupar sistemes totalment indestructibles. Així, el xifrat AES (Advanced Encryption Standard) utilitzat pel Govern dels EUA (entre molts altres) és un sistema de criptografia simètrica.

Però aquest tipus de sistemes tenen un problema a l'hora de navegar per internet, comprar online o enviar emails privats: totes dues parts han de conèixer la clau i ningú més. Per tant, no sempre es pot utilitzar la mateixa clau, es necessita una clau diferent per a cada destinatari i remitent, i perquè ningú sàpiga aquesta clau, no es pot enviar per Internet, com s'ha dit anteriorment, ja que es pot detectar. Així, en alguns casos, com els dels governs, es pot enviar la clau per missatger a cada organització que es vol comunicar, però per a les comunicacions en Internet? Per cada botiga i client, per lloc web i visitant, per cada remitent i destinatari del correu electrònic, és impossible en la pràctica haver de compartir prèviament una clau o enviar-la per missatger: seria molt car i no segur (els missatgers poden estar corruptes o ens poden robar la clau en el camí).

Criptografia amb clau pública

Si el comerç electrònic i l'enviament d'informació compromesa a través d'Internet han evolucionat, és perquè en la dècada de 1970 es va inventar un nou sistema de xifrat totalment diferent i trencador als sistemes existents, totalment oposat a la intuïció i alhora molt segur: criptografia de clau pública o criptografia asimètrica.

En la criptografia per clau pública s'utilitza una funció de xifrat i una clau, però aquesta funció no és inversa (denominades funcions unidireccionals), per la qual cosa fins i tot sabent la clau no es pot desxifrar el missatge, sinó que es necessita una altra funció de desxifrat i una altra clau (per això es diu criptografia asimètrica). Llavors, si algú vol permetre a uns altres comunicar-se de manera privada amb ell (per exemple, el venedor als compradors perquè aquests puguin enviar les dades de la targeta de crèdit), fa pública la clau d'encriptació. Qualsevol persona podrà utilitzar aquesta clau pública per a enviar-li un missatge xifrat, però fins i tot coneixent aquesta clau pública tothom, el missatge només pot desxifrar-lo, ja que només ell coneix la clau de desxifrar (denominada clau privada).

En els llocs de comerç electrònic, serveis de correu web i molts altres llocs és habitual la versió segura d'HTTP: HTTPS. Ed. © Vlad Kochelaevskiy/350RF

Perquè aquest sistema funcioni és necessari que existeixi una funció segons una clau que no sigui invertida, que la inversió s'obtingui mitjançant una altra funció i una altra clau i que no pugui calcular-se coneixent la segona clau. L'existència d'aquesta mena de funcions i claus és totalment oposada a la intuïció, però existeixen gràcies a l'aritmètica modular, els nombres primers i la factorització. Investigadors del prestigiós MIT (Massachusetts Institute of Technology) van trobar els primers en 1977.

S'ha comentat que una de les condicions de funcionament del sistema és que la clau de desxifrat no es pot basar en la clau de xifrat. No obstant això, com és lògic, ambdues estan relacionades i es pot calcular la segona a partir de la primera: és simplement una factorització, és a dir, l'extracció dels divisors d'aquest número. La qüestió és que per a poder fer-ho no hi ha fórmules ràpides, només es pot fer provant tots els números. Per tant, si aquests números són relativament grans (i s'utilitzen centenars de dígits), la factorització es converteix en un problema impossible amb la tecnologia actual, i el sistema de xifrat és pràcticament inviolable. El mètode, denominat RSA, en homenatge als inventors, va ser inventat posteriorment per personal de Clifford Cocks GCHQ (Government Communications Headquerosarters, o el Servei d'Intel·ligència Britànic) en 1973, és a dir, quatre anys abans, però tota la informació d'aquesta organització era secreta i no es va comunicar fins a 1997.

Després del RSA s'han inventat altres sistemes de criptografia amb clau pública com DSA o ElGamal.

Confidencialitat en Internet

Les comunicacions a Internet estan organitzades a nivell segons el model OSI, tal com us comptem en el número anterior. I per a garantir la confidencialitat d'aquestes comunicacions s'ha definit un protocol TLS (Transport Layer Security) per al nivell de transport (anteriorment conegut com a SSL o Secure Sockets Layer). En aquest cas, tant el remitent com el receptor utilitzen criptografia per clau pública (RSA normalment, però pot ser una altra si ambdues tenen implementada) per a consensuar una altra clau (aleatòria) i posteriorment la comunicació real es realitza amb aquesta clau i amb un mètode de criptografia simètrica (AES per exemple), ja que computacionalment no és tan costosa i de seguretat equivalent.

Per a cada protocol de nivell d'aplicació d'Internet (HTTP per a web, SMTP per a correu i IMAP, FTP per a pujar fitxers, Telnet per a obrir sessions en ordinadors remots, etc.) s'han creat les seves versions segures (HTTPS, SMTPS, IMAPS, SFTP i SSH respectivament). Algunes d'elles, com a HTTPS, SMTPS o IMAPS, es limiten a afegir TLS al protocol original en el nivell de transport i a assignar un altre port al nou protocol (ara, a través del nou protocol STARTTLS, les aplicacions poden utilitzar el mateix port per a connexions segures en els casos en què totes dues parts el tinguin implementat). Uns altres, com SFTP i SSH, tenen la mateixa funció però són protocols diferents que utilitzen encriptació mitjançant clau pública. Quan s'utilitzin aquests protocols, podem considerar garantida la confidencialitat de les nostres comunicacions. I com sabem si estem usant aquests protocols?

Quan estem navegant per la web, si veiem un cadenat en l'adreça i al principi del mateix "https://", significa que estem usant el protocol HTTPS i per tant la comunicació és segura. En pagar en llocs de comerç electrònic, s'utilitza habitualment en serveis com a correu web i en molts altres llocs.

En el cas dels programes de correu, haurem de revisar en els ajustos del nostre compte quins protocols aprova per a enviar i rebre correu. En qualsevol cas, encara que el programa de correu utilitzi els protocols SMTPS i IMAPS, significa que ningú podrà llegir la comunicació entre nosaltres i el nostre proveïdor de correu, però que en les fases posteriors a l'enviament ningú més llegirà. Si volem evitar-ho, podem integrar en el nostre programa de correu el programa PGP (Pretty Good Privacy) (creat per Phil Zimmermann en 1991 i que s'ha convertit en molt conegut i utilitzat) o la seva versió lliure GPG (GNU Privacy Guard), que xifren la informació utilitzant la clau pública del destinatari final i per tant només podrà llegir-la.

Per a obrir sessions o pujar arxius en ordinadors remots, haurem d'assegurar-nos que s'utilitzen protocols SSH o SFTP si volem mantenir la confidencialitat. En altres programes (VNC, VPN o Xarxes Privades Virtuals, etc.) haurem de comprovar si utilitzen protocols amb encriptació o sistemes d'encriptació. Si tenim en compte aquestes qüestions, la nostra informació privada continuarà sent així fins i tot a través d'Internet.

Si t'interessa el tema de la seguretat, la confidencialitat i la criptografia, trobaràs més informació en l'interessant llibre de codis de Simon Singh que la Fundació Elhuyar ha editat en basca.

Babesleak
Eusko Jaurlaritzako Industria, Merkataritza eta Turismo Saila