Obiective:
1. Functionarea sistemul de mesagerie electronica
2. Servicii de securitate pentru transferul de mesaje
- servicii de securitate de baza;
-servicii de securitate extinsa.
3. Protocoale pentru transferul in siguranta al mesajelor e-mail
- PEM;
- MOSS;
- S/MIME.
4. Programul PGP
- descriere;
- servicii de securitate realizate;
- elemente componente;
- utilizare.
Majoritatea utilizatorilor nu realizeaza ca serviciile de e-mail nu ofera siguranta in mod implicit. Vulnerabilitatea postei electronice din punct de vedere al securitatii, datorata mediului nesigur pe care mesajele il tranziteaza in drumul lor de la expeditor la destinatar, reprezinta una din problemele importante ale comunicatiei intre retelele de calculatoare.
- poate fi descompus in trei componente principale:
A. Aplicatia Utilizator (Agent Utilizator UA User Agent) un program client pentru posta electronica, pe care utilizatorul il foloseste pentru a citi si a trimite mesaje de e-mail. Cele mai utilizate astfel de programe sunt Outlook Express, Microsoft Outlook, Netscape Mail, Kmail (Unix), Eudora, IncrediMail, etc.
B. Serverul de posta electronica (cutia postala) locul in care ajunge mesajul e-mail si din care agentul utilizator preia mesajele sosite.
C. Agentii de Transfer Postal (MTA - Mail Transfer Agent) un program care ruleaza pe un server pentru a prelua mesajele de la UA si a le trimite catre cutia postala a destinatarului.
Pentru a transmite un mesaj de posta electronica, Agentul Utilizator (UA) contacteaza Agentul de Transfer Postal (MTA) care in acest caz actioneaza ca un client si contacteaza la randul sau serverul pe care se afla contul (cutia postala a) destinatarului. Clientul stabileste o legatura TCP cu serverul si ii trimite mesajul, in conformitate cu protocolul SMTP (Simple Mail Transfer Protocol). Nu intotdeauna insa programul MTA reuseste sa stabileasca o legatura directa cu masina pe care se afla contul destinatie. De cele mai multe ori MTA trimite mesajul unui alt program MTA, aflat pe un calculator mai apropiat de calculatorul destinatie. Se observa ca MTA actioneaza atat ca un server, cat si ca un client, intr-un mediu compus din conexiuni de retea multiple, necunoscute si potential nesigure.
Serviciile de securitate necesare pentru transferul sigur de mesaje pot fi grupate in doua categorii: servicii de securitate de baza si servicii de securitate extinse.
Aceste servicii reprezinta masuri de protectie ce se aplica unui mesaj ca unitate de date de sine statatoare. In general, serviciile de securitate de baza pot fi implementate in intregime la nivelul Agentului Utilizator, intrucat sunt independente de modul de transfer al mesajelor prin retea si de mecanismele de livrare a acestora.
Serviciile de protectie de baza ale postei electronice includ:
Autentificarea originii datelor furnizeaza destinatarului asigurarea ca mesajul provine intr-adevar de la cel ce se pretinde a fi expeditorul lui. Serviciul de autentificare a originii datelor realizeaza verificarea identitatii emitatorului pe baza unei chei criptografice ce o poseda doar respectiva persoana.
Integritatea continutului protejeaza continutul mesajului impotriva modificarilor ce pot aparea intre transmitator si receptor, inclusiv impotriva modificarilor introduse de un atacator. Acest serviciu este de obicei integrat cu cel de autentificare a originii datelor.
Confidentialitatea continutului protejeaza continutul mesajului impotriva divulgarii lui fata de posibilii interceptori ce se pot interpune intre expeditorul mesajului si receptor.
Nerepudierea originii furnizeaza receptorului o dovada asupra originii mesajului si continutului sau. Spre exemplu, daca o companie ce ofera servicii de comert electronic primeste o comanda de o valoare foarte mare de la un client nou, pentru respectiva companie este foarte important sa fie asigurata ca respectivul client nu va nega mai tarziu comanda trimisa si nu va refuza sa plateasca. Prin acest serviciu se poate oferi dovada imediata si indubitabila ca o astfel de comanda a fost trimisa de clientul respectiv.
Mai mult decat sa protejeze un mesaj e-mail ca pe o entitate de date independenta, aceste servicii furnizeaza expeditorului notificari securizate asupra faptului ca mesajul a fost livrat la destinatie.
Serviciile de confirmare sunt diferite, in functie de protocolul utilizat pentru securizarea mesajelor, dar ele pot include:
Dovada livrarii furnizeaza expeditorului asigurarea ca mesajul a fost livrat destinatarului dorit fara modificari in timpul transferului.
Dovada inscrierii furnizeaza expeditorului asigurarea ca mesajul a fost acceptat de catre Agentul de Transfer Postal (MTA) initial pentru a fi livrat receptorilor doriti. Acest serviciu este foarte util in situatia in care Aplicatia Utilizator care genereaza mesajul apartine unei organizatii diferite decat cea careia ii apartine MTA initial (de exemplu o Aplicatie Utilizator privata care utilizeaza serviciile unui agent public de posta).
Nerepudierea livrarii furnizeaza expeditorului mesajului dovada de necontestat ca mesajul a fost livrat receptorilor doriti fara sa fi suferit modificari in timpul transferului.
Nerepudierea inscrierii furnizeaza expeditorului unui mesaj dovada de necontestat ca mesajul a fost acceptat de catre MTA initial pentru a fi transmis spre receptor(i).
Unele protocoale de transfer electronic de mesaje pot furniza si alte servicii de securitate extinsa, pentru a satisface cerinte specifice anumitor medii de operare. De exemplu, protocoalele proiectate a fi folosite in medii militare pot include servicii de etichetare, care ataseaza etichete de securitate fiecarui mesaj, pentru a indica nivelul de securitate necesar a fi asigurat pentru mesajul respectiv si alte informatii de control al autorizarii.
Din cele prezentate anterior se observa ca un mesaj, in drumul sau de la expeditor la destinatar, poate traversa un numar foarte mare de conexiuni de retea. Oricare dintre calculatoarele care participa la transferul mesajului il poate citi sau poate face o copie a respectivului mesaj, incalcand astfel dreptul la intimitate. Pentru a impiedica aceste situatii, au fost luate unele masuri de securitate.
La ora actuala sunt definite mai multe protocoale de securitate pentru transferul de mesaje, care sunt folosite in conjunctie cu posta electronica din Internet. Din pacate insa, chiar existenta unui numar atat de mare de protocoale de securitate constituie o problema, deoarece majoritatea acestora nu interopereaza intre ele. Cateva dintre cele mai folosite protocoale de securitate pentru posta electronica sunt PEM, MOSS si S/MIME.
Protocolul PEM (Privacy Enhanced Mail), dateaza de la inceputul anilor 90 si asigura pentru mesajele de tip text serviciile de autentificare a originii datelor si integritatea si confidentialitatea continutului. PEM preia un mesaj de posta neprotejat si ii adauga un ambalaj PEM, transformandu-l intr-un mesaj care va fi ulterior transferat prin infrastructura obisnuita de transfer de mesaje. Asadar, serviciile de securitate PEM nu pot fi invocate doar pentru anumite portiuni din mesaj, ci ele se aplica intregului corp al mesajului.
Specificatiile protocolului PEM accepta doua alternative pentru realizarea autentificarii: una bazata pe criptografia cu cheie secreta si alta bazata pe criptografia cu chei publice, insa doar varianta bazata pe criptografie cu chei publice a fost implementata.
PEM constituie un pas important in dezvoltarea protocoalelor pentru securitatea postei electronice, fiind considerat un protocol foarte complet din punct de vedere tehnic. Cu toate acestea, PEM nu a fost un succes in ceea ce priveste dezvoltarea comerciala. Unul dintre motivele principale impotriva acceptarii sale a fost incompatibilitatea cu MIME standardul pentru posta electronica multimedia, care a fost dezvoltat cam in aceeasi perioada de timp.
Protocolul MOSS (MIME Security Multiparts and Object Security Services) este un descendent direct al protocolului PEM si include multe dintre specificatiile si caracteristicile acestuia. MOSS furnizeaza separat servicii pentru transferarea informatiilor de tip MIME, semnate digital si criptate.
Pentru semnarea digitala este definita o structura ce consta din doua parti de mesaj. Prima parte poate contine orice tip de continut MIME (text, sunet sau orice alt tip structurat). Semnatura digitala este calculata peste prima parte a mesajului, incluzand si anteturile MIME. Cea de-a doua parte a mesajului contine semnatura digitala si toate informatiile de control necesare destinatarului pentru verificarea acesteia.
In cazul realizarii criptarii, partea a doua a mesajului va include versiunea criptata a unui mesaj MIME, iar prima parte contine informatia de control necesara pentru decriptarea celei de-a doua parti (de exemplu identificatorul algoritmului si informatia asupra cheii folosite).
Asadar, MOSS ofera cateva facilitati noi:
este permisa protejarea unor tipuri arbitrare de continuturi, adica mesajele pot avea si alt tip decat text;
este permis ca un mesaj sa aiba in corpul sau parti care sa nu fie protejate;
este permis ca diferitele componente ale continutului unui mesaj sa fie protejate cu servicii diferite (semnare si/sau criptare), aplicate in orice ordine, in functie de cerintele aplicatiei;
datorita separarii intre serviciile de securitate, sunt eliminate anumite campuri din anteturile mesajelor, ceea ce duce la reducerea lungimii acestora.
Protocolul S/MIME a fost dezvoltat in paralel cu standardul MOSS de catre un grup privat condus de RSA Data Security. In timp ce scopurile proiectelor S/MIME si MOSS au fost in linii mari aceleasi, solutiile adoptate in final au fost diferite. Aceasta s-a datorat in principal faptului ca S/MIME are la baza standardele PKCS (Public Key Cryptography Standards), dezvoltate tot de RSA Data Security, si care se bucura de o mare popularitate in sfera comerciala.
Aceste standarde includ si o specificatie referita ca PKCS#7, ce defineste structurile de date si procedurile pentru semnarea digitala si criptarea altor structuri de date. Standardul S/MIME specifica pur si simplu modul in care trebuie aplicat formatul PKCS#7 pentru a proteja o parte de mesaj MIME, generand o noua structura de date ce va deveni ea insasi un tip de continut MIME. Scopul acestui tip este sa furnizeze o reprezentare protejata pentru orice parte de mesaj MIME neprotejata.
In cadrul standardului S/MIME diferitele cazuri de semnatura digitala, criptare si combinari ale acestora sunt considerate variante ale unei transformari de baza, numita proces de impachetare. Aceste variante sunt:
date semnate (Signed Data) partea de mesaj ce urmeaza a fi protejata este integrata intr-o structura de date ce include o semnatura digitala peste acele date si identificatorii de algoritmi folositi;
date impachetate (Enveloped Data) partea de mesaj ce urmeaza a fi protejata este criptata simetric si apoi integrata intr-o structura de date ce include o copie a cheii de criptare pentru fiecare receptor al mesajului, criptata cu cheia publica RSA a receptorului respectiv;
date semnate si impachetate (Signed-and-Enveloped Data) acest tip de structura combina procesarile asociate atat cu datele semnate, cat si cu datele anvelopate.
De asemenea, cerintele pietei privind securitatea postei electronice au condus la elaborarea mai multor programe de sine statatoare destinate protectiei criptografice a mesajelor. Dintre acestea, cel mai popular este PGP (Pretty Good Privacy), constituit astazi intr-un adevarat standard in domeniu.
Pretty Good Privacy (PGP), este un pachet complet de securitate a mesajelor de posta electronica, care poate fi obtinut gratuit pentru uzul personal. PGP a fost dezvoltat in Statele Unite ale Americii de Phil Zimmermann in anul 1991 si asigura criptare cu cheie publica (confidentialitate), semnaturi digitale (autentificare) si comprimare de date.
PGP functioneaza pe numeroase platforme si satisface cateva cerinte de securitate fundamentale:
Caracterul privat al postei electronice doar destinatarul desemnat al mesajului poate citi continutul acestuia;
Autentificarea emitatorului
Autentificarea mesajelor acorda certitudinea ca mesajele nu au fost modificate de alte persoane.
PGP foloseste o combinatie a sistemelor criptografice simetrice si cu chei publice:
Sistem simetric (cu cheie secreta), bazat pe cifrul IDEA (International Data Encryption Standard), cu o singura cheie K numita si cheie de sesiune, pentru criptarea continutului mesajelor si al fisierelor.
Sistem asimetric (cu chei publice), bazat pe algoritmul RSA, pentru protectia si distributia cheii K de unica intrebuintare cu care se face cifrarea mesajului, precum si pentru autentificarea prin semnatura digitala a mesajului si a emitatorului.
Serviciile de securitate realizate de PGP sunt urmatoarele:
Criptarea fisierelor pot fi criptate fisiere proprii, folosind algoritmul de criptare cu cheie secreta IDEA. Dupa criptare, fisierul poate fi decriptat doar de cineva care cunoaste parola de criptare a fisierului.
Criptarea mesajelor e-mail utilizand PGP pot fi transmise mesaje criptate si pot fi decriptate mesajele receptionate;
Semnarea digitala PGP poate realiza semnarea digitala a documentelor sau poate verifica semnatura digitala a oricarei persoane care ne-a transmis un mesaj semnat digital.
Generarea de chei secrete si publice aceasta pereche de chei este necesara pentru a cripta si semna mesajele trimise, sau pentru a decripta si verifica mesajele primite.
Gestionarea cheilor PGP poate fi folosit pentru crearea si intretinerea unei baze de date care sa contina cheile publice ale persoanelor cu care comunicam.
Folosirea serverelor de chei PGP de pe Internet pentru adaugarea cheii publice personale la o baza de date de pe server sau pentru obtinerea altor chei publice publicate pe server de alti utilizatori.
Certificarea cheilor O dificultate in criptarea cu chei publice o constituie mecanismul de distribuire a insasi cheilor publice, deoarece nu exista o cale de a verifica daca o cheie publica apartine intr-adevar persoanei careia se presupune ca apartine. PGP nu rezolva aceasta problema de distribuire, dar o face mai putin problematica, permitand persoanelor sa semneze fiecare certificat de chei publice. Tehnica folosita de PGP la crearea bibliotecilor de chei publice valide se numeste web of trust.
Revocarea, dezactivarea si custodia cheilor in cazul in care cheile unui utilizator sunt compromise, ele pot fi revocate sau dezactivate. De asemenea, pot fi folosite facilitatile de custodie.
Elementele pe care PGP le utilizeaza pentru implementarea acestor servicii de securitate sunt:
Cheia privata. Este utilizata pentru decriptarea cheii secrete IDEA, criptate cu cheia publica pereche in cazul receptionarii unui mesaj si pentru semnarea digitala a unui mesaj in cazul expedierii unuia.
Cheia publica. Cheia publica a destinatarului mesajului este folosita pentru criptarea cheii IDEA destinate acelei persoane. De asemenea, se foloseste pentru verificarea semnaturii digitale a pretinsului emitator al unui mesaj primit.
Cheie sesiune (pe 128 biti). Este generata aleatoriu pentru fiecare mesaj, servind la criptarea cu algoritmul IDEA. PGP trateaza automat cheile sesiune, fara nici o interventie din partea utilizatorului.
Parole (pass phrases). De fiecare data cand se creeaza o pereche de chei, PGP cere sa se introduca o parola. Aceasta prezinta un grad sporit de securitate, intrucat poate contine si caractere de punctuatie, alte caractere speciale si spatii. Cea mai importanta functie a acestei parole este aceea de a decripta cheia secreta pe care programul o tine in fisierul secring, si care altfel nu poate fi folosita.
Parola este ceruta atunci cand se incearca:
o Decriptarea unui mesaj;
o Semnarea unui mesaj cu cheia privata;
o Criptarea unui fisier cu un sistem cu cheie secreta (IDEA).
Inele de cheie. PGP pastreaza toate cheile publice ale persoanelor cu care comunica un utilizator intr-un singur fisier, numit keyring. Folosirea unui fisier pentru toate cheile publice este mult mai eficienta decat tinerea fiecarei chei in fisierul ei propriu. Majoritatea utilizatorilor folosesc doua fisiere keyring:
o Secring.skr inelul de chei secrete. In acest fisier isi pastreaza utilizatorul cheia sau cheile secrete (private). Exista posibilitatea pentru un utilizator sa isi genereze mai multe perechi de chei.
o Pubring.pkr inelul cu cheile publice ale persoanelor cu care utilizatorul comunica;
o
Certificate de chei. PGP pastreaza fiecare cheie publica intr-un certificat al cheii, care contine:
o cheia publica propriu-zisa;
o unul sau mai multi identificatori de utilizator (user ID) de obicei numele persoanei si adresa de e-mail;
o data la care a fost creata cheia;
o data la care cheia va expira (daca exista);
o optional, lista de semnaturi digitale furnizate de persoane care confirma corectitudinea cheii.
Sa presupunem ca un utilizator doreste sa transmita un mesaj de posta electronica, pentru care sa asigure autentificare, confidentialitate si integritate. El foloseste clientul de posta electronica Microsoft Outlook 2000; PGP se poate instala ca plug-in in aceasta aplicatie si astfel butoanele pentru criptarea si semnarea mesajelor apar in bara de instrumente a Microsoft Outlook, ca in figura 3. Utilizatorul compune mesajul, foloseste cele doua butoane si apoi il trimite.
Pentru criptarea mesajului (asigurarea confidentialitatii), PGP va folosi cheia publica a destinatarului, pe care o pastreaza in inelul cu chei publice (figura 2). Pentru semnarea mesajului in vederea asigurarii autentificarii, PGP va folosi cheia secreta a expeditorului, pastrata criptat in inelul cu chei secrete si pentru decriptarea careia trebuie sa furnizeze parola, ca in figura 4:
Pasii facuti de PGP pentru transmiterea in siguranta a acestui mesaj sunt:
creeaza aleatoriu o cheie de sesiune pentru mesaj;
foloseste algoritmul IDEA pentru criptarea mesajului cu cheia de sesiune;
foloseste un algoritm RSA pentru criptarea (anveloparea) cheii de sesiune cu cheia publica a destinatarului;
foloseste o functie rezumat al mesajului (hash) pentru obtinerea semnaturii digitale. Aceasta functie are ca rezultat o valoare pe 128 biti, care este apoi criptata cu cheia privata a expeditorului, obtinandu-se astfel un bloc PGP semnat si care va fi plasat la sfarsitul mesajului.
leaga impreuna mesajul criptat si cheia de sesiune criptata, apoi concateneaza rezumatul semnat al mesajului (message digest) si le pregateste pentru transmitere.
Astfel sunt asigurate cerintele de securitate de baza.
In timpul transmiterii mesajului de la expeditor la destinatar, el are forma unei criptograme, ca in figura 5. Interceptia mesajului de catre alti utilizatori este inutila, intrucat mesajul nu este inteligibil daca nu se cunoaste cheia privata a destinatarului.
La destinatie, pentru a putea citi si verifica mesajul primit, utilizatorul este solicitat sa introduca parola folosita pentru decriptarea de catre PGP a cheii sale private (figura 6). Mesajul a fost criptat cu cheia publica a destinatarului, deci nu va putea fi decriptat decat cu cheia privata pereche.
PGP va afla cheia secreta de sesiune utilizata pentru a decripta mesajul folosind cheia privata. Pentru a verifica semnatura primita, PGP foloseste aceeasi functie rezumat care a fost aplicata mesajului original. PGP va decripta apoi blocul semnaturii digitale folosind cheia publica a expeditorului si apoi va compara rezultatele obtinute. Daca rezultatele se potrivesc, atunci mesajul nu a fost modificat dupa ce a fost semnat (se verifica astfel si integritatea mesajului) si destinatarul este incredintat ca a primit mesajul original (figura 7).
Intrebari si raspunsuri:
Confidentialitatea continutului este un serviciu de securitate:
a) imposibil de implementat;
b) care face parte din categoria serviciilor de securitate extinse;
c) care face parte din categoria serviciilor de securitate de baza;
d) furnizeaza destinatarului asigurarea ca mesajul provine intr-adevar de la cel ce se pretinde a fi expeditorul lui;
e) protejeaza continutul mesajului impotriva divulgarii lui fata de posibilii interceptori ce se pot interpune intre expeditorul mesajului si receptor.
Raspuns corect: c),e).
Standardele PKCS (Public Key Cryptography Standards) stau la baza dezvoltarii protocolului:
a) PEM;
b) MOSS;
c) S/MIME;
d) POP3;
e) SMTP.
Raspuns corect: c).
PGP foloseste:
a) exclusiv sistemele criptografice cu cheie secreta;
b) exclusiv sistemele criptografice cu chei publice;
c) o combinatie a sistemelor criptografice simetrice si cu chei publice;
d) o cheie de sesiune generata automat si aleator pentru fiecare mesaj
e) parole cu un grad sporit de securitate (pass phrases
Raspuns corect: c),d),e).
PGP furnizeaza urmatoarele servicii:
a Criptarea/decriptarea mesajelor e-mail;
b) Semnarea digitala;
c) Verificarea identitatii expeditorului
d) Certificarea cheilor;
e) Folosirea serverelor de chei PGP de pe internet.
Raspuns corect: a),b),c),d),e).
|