02 August, 2009

(Ne)siguranța emailurilor și GPG

Multă lume probabil că știe, dar este un lucru care merită repetat:
Emailurile pot fi citite de oricine pe parcurs, la fel cum o carte poștală poate fi citită de orice lucrător poștal!
Bine, bine, să zicem că nu scriem nimic confidențial pe email, dar cum rămâne cu:
Emailurile pot fi contrafăcute/modificate de oricine pe traseu!
Nu mă credeți? E posibil ca din cauza filtrelor de spam să nu fi observat, dar eu am primit mai multe mesaje spam DE LA MINE! Adică am un cont de e-mail cu filtrare proastă (inexistentă?) și primesc din când în când mesaje care la expeditor (câmpul From:) au chiar adresa la care primesc mesajele. Da, știu că ISPul respectiv are putea (ar trebui?) să filtreze asemenea mesaje automat, dar e o dovadă clară că oricine poate trimite mesaje în numele meu. Oare câte au fost trimise deja? Deci ce se poate face? Tehnologii există și sunt folosite, ba chiar avem și de unde alege. Semnătura electronică, pe lângă faptul că este un indicator mult mai sigur referitor la cine a scris acel mesaj este folosită și pentru a verifica dacă mesajul a fost modificat pe parcurs. Criptarea se poate folosi în cazurile în care este necesară transmiterea de informații confidențiale: parole, numere de cont,... orice informație care nu ați dori să fie lipită pe avizierul de la bloc :) Există și două tehnologii similare pentru semnătură și/sau criptare: S/MIME și GPG. S/MIME din câte înțeleg se bazează pe certificate emise de o autoritate (modelul catedrală) pe când GPG (GnuPG, GNU Privacy Guard) se bazează pe o rețea-de-încredere (web of trust) în stilul bazar. Cred că e ușor de ghicit că GPG e mai răspândit în comunitățile FLOSS ;) Pentru a putea folosi GPG aveți nevoie de cel puțin:
  • o pereche de chei (publică/privată)
  • o metodă de a semna/cripta mesaje, texte, pachete, ...
  • apartenență la (o) rețea-de-încredere
Oricine poate să-și genereze o pereche de chei (GPG este inclus în orice distribuție GNU/Linux și se poate instala și pe Windows/Mac) și programele uzuale de e-mail (Thunderbird, Kmail, Evolution, Sylpheed/Claws-Mail, ...) au suport pentru GPG, eventual cu extensii. Dacă folosiți în principal webmail există o extensie pentru Firefox. Problema principală este ca cei care primesc mesajul semnat să poată să și verifice identitatea semnatarului. Aici intervine rețeaua-de-încredere. Iată cum funcționează: Mă întâlnesc cu persoana cu care vreau să port corespondență sigură (semnată și/sau criptată) și ne verificăm reciproc identitatea după care facem schimb de „amprentele” cheilor GPG publice. De exemplu amprenta cheii mele este: CD 960A 2844 2952 EE06 466F 7356 B378 DEA2 2DE9 Când ajung acasă compar amprenta primită cu cheia cu care au fost semnate mesajele anterioare ca să verific că într-adevăr m-am întâlnit cu persoana cu care am corespondat până acum. Semnez cheia publică respectivă și o trimit posesorului (se poate și încărca direct pe serverele de chei, dar acest lucru poate fi considerat "fără tact"). Simplu, nu? Dar cum rămâne cu mulțimea de oameni cu care e posibil să nu mă întâlnesc niciodată în persoană? Foarte simplu: dacă sunt destule persoane în rețea care au semnat ambele chei se poate găsi calea-de-încredere (trustpath) către persoana respectivă. Adică eu nu cunosc persoana respectivă dar avem unul sau mai mulți „prieteni” comuni care au semnat și cheia mea și cheia persoanei respective. Atenție: NU semnați cheia unei persoane a cărei identitate nu a fost verificată. În România un minim ar fi verificarea carții de identitate (buletinul) a persoanei respective. Dacă sunt disponibile și alte documente (pașaport, carnet de conducere) cu atât mai bine. Desigur că o carte de identitate poate fi contrafăcută, dar n-am afirmat că sistemul e perfect! Responsabilitate și Licență: NU sunt expert în GPG. Ceea ce am scris mai sus este o compilație bazată pe diverse informații de pe 'net. De exemplu nu menționez nimic despre certificate de revocare a cheii sau cum puteți să vă schimbați cheia. Dacă țineți la siguranță/confidențialitatea corespondenței vă recomand cu căldură să citiți mai mult pe acestă temă. Pentru cazul în care cineva consideră că acest articol poate fi util într-un loc mai vizibil, prin prezenta pun la dispoziție conținutul și declin orice responsabilitate conform licenței BSD cu trei clauze.

No comments:

Post a Comment