Els vostres missatgers, llocs de protocol HTTPS, autorització als serveis d'Internet, emmagatzematge segur de fitxers i, de vegades, fins i tot despertadors, tot això utilitzen PGP. Però què és de totes maneres? La Viquipèdia dóna la següent definició:
Pretty Good Privacy ( PGP ) és un programa de xifratge que proporciona privadesa criptogràfica i autenticació per a la comunicació de dades . PGP s'utilitza per signar , xifrar i desxifrar textos, correus electrònics , fitxers, directoris i particions de disc sencers i per augmentar la seguretat de les comunicacions de correu electrònic. Phil Zimmermann va desenvolupar PGP el 1991.
PGP i programari similar segueixen l'estàndard OpenPGP (RFC 4880), un estàndard obert per a xifrar i desxifrar dades . Les versions modernes de PGP són interoperables amb GnuPG i altres sistemes compatibles amb OpenPGP.
És clar amb les paraules, però anem a veure com funciona.
Imaginem que tenim l'usuari A i l'usuari B. Cal que es comencin a comunicar-se, però de manera que ningú pugui conèixer el contingut de la seva correspondència. Aquí és on entra l'encriptació.
Els sistemes moderns utilitzen Rjindael (actualment AES), DES, RC4 i alguns altres algorismes.
No entraré en detalls de la seva feina. Tot el que necessiteu saber sobre ells és que si els doneu dades d'entrada i una clau, obtindreu una matriu de bytes xifrada, que es pot revertir amb la mateixa clau. Com un cadenat, s'obren i tanquen, però sense clau és gairebé impossible fer-ho (no hi ha maneres efectives de trencar aquests algorismes). Aquests algorismes de xifratge s'anomenen algorismes de xifratge simètrics.
I aquesta és la resposta, no? Deixeu que l'usuari A doni la seva clau a l'usuari B. Llavors podeu xifrar la vostra correspondència des d'ambdós costats, i ningú sabrà què escriuen entre ells.
Per descomptat, si els dos usuaris es coneixen a la vida real, un pot donar a l'altre una unitat flaix amb la clau.
Però a Internet és impossible fer-ho, els usuaris estan lluny de ser dos, i un servei pot servir milions d'usuaris diferents al dia. A més, no sempre és possible donar la vostra clau de xifratge personal a totes les persones amb qui es correspongui personalment durant una reunió.
Com que passar la vostra clau privada des del mateix AES és com posar en perill la vostra seguretat, sorgeix la pregunta: com pot l'usuari A passar la seva clau de manera segura a l'usuari B?
La solució és signar claus i correus electrònics amb una altra clau! Però només aquesta segona clau serà d'un algorisme de xifratge asimètric. L'essència és la mateixa que en simètric, però ara no hi ha cap clau única del pany: n'hi ha dues. Una és "pública", les dades només es poden xifrar amb ella, i la segona és "privada", que és capaç de desxifrar les dades processades per la clau pública de la seva parella.
Aquest procés us permet publicar lliurement la vostra clau pública sense comprometre la vostra seguretat.
Aquesta és la base del principi de funcionament de les "signatures electròniques".
Es necessiten perquè l'usuari B de les dades pugui estar segur que les dades s'han xifrat amb la clau que pertany a l'usuari A, i viceversa.
La signatura es crea a partir del hash de les dades originals i s'adjunta al paquet enviat.
El destinatari desxifra la signatura amb la clau pública, la compara amb el hash de les dades rebudes i, si coincideixen, el remitent és un usuari genuí i no un estafador.
D'acord, hem descobert com fer una encaixada de mans (l'encaixada de mans és el procés de formar un canal de comunicació segur).
Ara, imagineu-vos que entre els usuaris A i B, hi ha un altre usuari, C.
"C" és un atacant que necessita conèixer els detalls de la comunicació d'A i B.
Crea dos parells de claus per signar i dues claus més per xifrar les dades.
A l'usuari A, es presenta com a usuari B, i a l'usuari B com a usuari A. La realitat és que en les realitats d'Internet, no es pot estar segur al 100% que la signatura electrònica i la clau resultants siguin autèntiques.
Aleshores, si aquest escenari és realment possible, els nostres A i B no estaran segurs?
Hi ha salvació! Ara hem arribat al tema principal: la "Web de confiança".
Aquesta xarxa consisteix en el fet que tots els usuaris coneixen les claus públiques de les signatures electròniques dels altres, i es pot preguntar a cada membre de la xarxa: “Aquesta clau, que m'ha enviat l'usuari B, pertany a ell i no a algun? intrús?"
En aquest cas, una xarxa de confiança pot ser molt eficient fins i tot amb un nombre reduït de participants, perquè si un coneix l'altre, el tercer, en demanar-li al primer, coneixerà la clau pública del segon. Com les arrels d'un roure, el Web of Trust està entrellaçat, permetent als usuaris compartir dades.
Ara, el nostre usuari C ja no pot suplantar la identitat d'altres usuaris. Només si ho intenta, l'usuari A, preguntant a qualsevol dels membres de la xarxa, s'adonarà que algú s'interposa entre ell i l'usuari B i intercepta missatges.
Ara, combinem tots aquests conceptes en un esquema senzill.
L'usuari A i l'usuari B es troben a la mateixa xarxa de confiança i volen iniciar una comunicació segura.
"A" demana a diversos membres de la xarxa la clau pública "B". Mitjançant aquesta clau, envia una sol·licitud d'encaixada de mans a l'usuari B. "B", al seu torn, aprèn la clau pública de l'usuari A, genera una clau simètrica per a més comunicació i, utilitzant la clau pública de l'usuari A, envia la clau simètrica. enrere.
Tots els missatges d'aquest esquema també estan signats amb signatures electròniques.
Amb aquesta comunicació, no és possible cap interferència externa, i els nostres usuaris finalment poden començar a correspondre.
No té sentit utilitzar aquest esquema manualment: ja està integrat en tots els protocols de comunicació d'Internet possibles pels vostres navegadors i aplicacions.
Cap sistema és perfecte. Els atacs MITM (Man in the middle, en el nostre cas - una manera de falsificar certificats verificant claus falses amb signatures de confiança del navegador de l'usuari víctima) encara s'estan duent a terme avui dia.
Però si veieu aquest "pany verd" a prop de la barra d'adreces del vostre navegador, les vostres dades estan en mans segures de l'algoritme PGP.