Posta electronica - a comunica, comunicare II

      În articolul din luna martie 2001 am vazut ca putem împarti sistemul de mesagerie electronica în trei componente:

  1. agentul utilizator - (UA - User Agent) - un program cu care utilizatorul îsi citeste si trimite posta electronica,
  2. server-ul de posta electronica (cutia postala) - locul în care ajunge e-mail-ul si din care agentul utilizator preia mesajele sosite,
  3. agentii de transfer postal (MTA - Mail Transfer Agent) - un program care preia mesajele de la UA si le transmit catre cutia postala a destinatarului.
      În acest articol vom prezenta mai pe larg modalitatile prin care o persoana poate sa-si citeasca posta electronica (User Agent).
      În principiu, sunt trei tipuri de acces la cutia postala, functie de serviciile oferite de ISP-ul care gazduieste contul utilizator:
  1. Prin acces direct sau "Remote Acces" la serverul e-mail. Aceasta varianta este mai rar utilizata din cauza strategiilor de securitate impuse de ISP,
  2. Prin utilizarea unor protocoale specializate, cum ar fi POP3 si IMAP,
  3. Acces prin interfata web. Aceasta modalitate capata o pondere din ce în e mai mare, datorita "exploziei" care o cunoaste www-ul an momentul actual.
Protocolul POP

      Protocolul POP (Post Office Protocol) functioneaza foarte asemanator cu protocolul SMTP (descris pe larg in articolul din luna martie 2001). În prezent exista doua versiuni de POP: POP2 si POP3. Cu toate ca suntem tentati, la prima vedere, sa credem ca POP3 este o revizuire (îmbunatatire) o protocolului POP2, cele doua protocoale sunt total diferite, folosind chiar porturi de comunicatie diferite. POP2 este mult mai apropiat de SMTP decât POP3, comenzile si structura lor fiind mult mai apropiate de comenzile SMTP.
      Protocolul POP3 defineste trei stadii distincte prin care poate trece o sesiune de lucru: autorizare, tranzactie si actualizare. În starea de autorizare clientul trebuie sa se autentifice pe server (nume utilizator + parola). Daca aceasta etapa s-a încheiat cu succes, serverul deschide cutia postala a clientului si sesiunea trece în starea de tranzactie. În aceasta stare, clientul poate cere serverului sa-I ofere anumite date (o lista a mesajelor) sau sa efectueze o anumita actiune (preluarea mesajelor). Când serverul termina de executat comenzile clientului, sesiunea POP3 intra în starea actualizare si conexiunea se închide.
      Prezentam mai jos comenzile POP3 necesare pentru o implementare minimala a acestui protocol pe Internet.

USER Cere un nume care identifica utilizatorul

PASS Cere o parola pentru utilizator/server

QUIT Închide conexiunea TCP

STAT Serverul returneaza numarul de mesaje din cutia postala si dimensiunea totala a mesajelor

LIST Returneaza ID-urile si dimensiunile mesajelor, afisate linie cu linie (permite un ID ca parametru, caz în care returneaza dimensiunea mesajului identificat prin ID-ul respectiv)

RETR Preia un mesaj din cutia postala (Necesita un ID de mesaj ca parametru)

DELE Marcheaza un mesaj pentru stergere (Necesita un ID de mesaj ca parametru)

NOOP Serverul returneaza un raspuns pozitiv, dar nu executa nici o actiune

LAST Serverul returneaza cel mai mare numar de mesaj care a fost accesat

RSET Deselecteaza toate mesajele marcate pentru stergere

      Chiar daca acest protocol defineste mai multe comenzi, contine doar doua posibilitati de raspuns:
  1. +OK - folosit pentru un raspuns pozitiv (analog cu ACK - de confirmare)
  2. -ERR - folosit pentru un raspuns negativ (analog cu NAK - operatie esuata)

      Se poate considera ca ambele raspunsuri "au succes", în sensul ca serverul POP3 a receptionat comanda si a returnat un raspuns.

Protocolul IMAP - (Interactive Mail Access Protocol)

      Este un protocol ceva mai complex decât POP3, proiectat special pentru utilizatorii care nu-si acceseaza posta, tot timpul, de pe acelasi calculator. (Ex: de pe un PC la serviciu si alt PC acasa).
      Ideea de baza, de la care s-a pornit proiectarea acestui protocol, este ca serverul sa pastreze un "depozit" central de mesaje, accesat de pe orice alt calculator. Cu alte cuvinte IMAP nu face "download" la mesaje, ci le lasa pe server (ca si în cazul programelor U.A. bazate pe interfata WEB).
      Un alt avantaj IMAP, este posibilitatea accesarii unui mesaj utilizând atribute (Ex: da-mi primul mesaj de la Cristi). Spre deosebire protocolul POP3 permite accesarea mesajelor doar dupa ID-ul lor. Utilizând protocolul IMAP, o cutie postala poate fi comparata mai degraba cu un sistem de baze de date, decât cu o secventa liniara de mesaje.

Confidentialitatea postei electronice

     Un mesaj, în drumul sau de la expeditor la destinatar, poate trece pe la un numar foarte mare de calculatoare. Oricare dintre acestea poate sa-l citeasca si/sau sa faca o copie a lui, dreptul la intimitate al mesagerii electronice fiind doar o poveste frumoasa. Acest neajuns al suitei de protocoale TCP/IP a "pus la treaba" mai multe persoane si grupuri de utilizatori care si-au pus problema confidentialitatii mesajelor. Astfel au luat nastere mai multe sisteme de criptare a mesajelor, cum ar fi PGP si PEM.

PGP - Pretty Good Privacy (confidentialitate destul de buna)

      Acest sistem de criptare are drept initiator pe Phil Zimmerman si este un pachet complet de securitate a e-mailului, asigurând confidentialitate, autentificare, semnatura digitala si compresie. Sistemul este disponibil pe mai toate Sistemele de Operare, fiind distribuit pe Internet, în mod gratuit (inclusiv toate sursele). Din acest motiv a creat si numeroase controverse. Guvernul Statelor Unite a condamnat PGP ca violeaza legea exportului de munitie, fiind usor disponibil pentru utilizatorii din afara S.U.A.. Aceasta restrictie impusa de guvernul S.U.A. a fost rezolvata prin dezvoltarea versiunilor ulterioare în afara Statelor Unite. Dar hartuiala nu s-a terminat. Multe institutii nu se împaca cu ideea ca prin Internet doi utilizatori pot schimba mesaje fara sa poata fi "supravegheati". Cu toate acestea motto-ul lui Zimmerman nu s-a schimbat: "daca dreptul la confidentialitate este în afara legii, atunci doar cei aflati în afara legii vor beneficia de confidentialitate".
      Din aceste motive PGP se bazeaza, în principal, pe algoritmi (RSA, IDEA, MD5) care au fost minutios analizati si nu au fost proiectati sau influentati de vreo organizatie guvernamentala, pentru a lasa unele "portite".
      În figura de mai jos prezentam schematic acest sistem:
      Utilizatorul A trimite lui B un mesaj simplu (notat P). A si B au cheile private (DX) si cheile RSA publice (EX). Sa presupunem ca fiecare stie cheia publica a celuilalt (de chei publice, private, RSA, etc ne vom ocupa într-un articol viitor).
      Prin executarea programului PGP, pe calculatorul lui A, mesajul (P) este codificat prin dispersie (hash), utilizând MD5. Codul rezultat este criptat utilizând cheia RSA privata a utilizatorului A (DA). Apoi, codul de dispersie criptat, împreuna cu mesajul original, sunt concatenate într-un singur mesaj P1. Acest mesaj este comprimat în format ZIP, rezultând mesajul P1.ZIP.
      În acest stadiu, programul PGP cere utilizatorului A sa introduca un sir de caractere orisicare. Viteza de tastare a caracterelor sirului si sirul propriu zis sunt utilizate pentru a genera o cheie de mesaj de tip IDEA de 128 biti (KM). Cheia KM este utilizata în continuare pentru a cripta P1.ZIP cu IDEA prin metoda de tip reactie cifrata. În plus, KM este criptat cu ajutorul cheii publice a lui B (EB). Aceste doua componente sunt apoi concatenate, iar rezultatul, convertit în baza 64. Mesajul rezultat va contine litere, cifre si simboluri care pot fi usor transmise prin Internet, cu o probabilitate maxima de a ajunge nealterat la destinatie.
      Procesul invers, de decriptare decurge dupa cum urmeaza:
      Mesajul receptionat este mai întâi reconvertit din baza 64 si decriptat cu cheia RSA privata. În urma acestei decriptari se obtine mesajul P1.ZIP. Dupa decomprimarea acestuia, se separa textul simplu de codul cifrat, care mai apoi se decripteaza utilizând cheia publica a lui A. Daca codul textului clar este identic cu calculul facut cu ajutorul lui MD5, se poate spune cu siguranta ca mesajul este corect si ca provine de la A.

PEM- Privacy Enhanced Mail (posta cu confidentialitate sporita)

      Spre deosebire de PGP, care nu este (înca) recunoscut ca un standard Internet, PEM este considerat, oficial, standard Internet. Mesajele criptate folosind PEM sunt mai întâi transformate într-o forma canonica, apoi este calculat un cod de dispersie (folosind MD5 sau MD2). Dupa aceasta urmeaza o concatenare a codului rezultat cu mesajul initial, urmând o criptare folosind DES cu o cheie pe 56 de biti. Utilizarea unei chei pe, doar, 56 de biti este "batator la ochi" si ne duce cu gândul la initiativa PGP de a evita algoritmi "certificati" de anumite organizatii guvernamentale.
 
Free Web Hosting