Biologie | Chimie | Didactica | Fizica | Geografie | Informatica | |
Istorie | Literatura | Matematica | Psihologie |
O data ce am terminat trecerea in revista a catorva dintre protocoalele suport utilizate la nivelul aplicatiei, ajungem in sfarsit la aplicatiile reale. Cand sunt intrebati: "Ce vreti sa faceti acum?", putini oameni raspund: "Sa ma uit pe niste nume utilizand DNS-ul". Ei spun insa ca isi citesc posta sau stirile, ca se plimba pe Web, sau ca privesc un film pe retea. In restul acestui capitol, vom explica suficient de amanuntit cum lucreaza aceste patru aplicatii.
Posta electronica, sau e-mail, cum este ea cunoscuta de catre numerosii sai admiratori, exista de peste doua decenii. Primul sistem de posta electronica consta pur si simplu din protocoale de transfer de fisiere, cu conventia ca prima linie a fiecarui mesaj (adica fisier) sa contina adresa receptoru1ui. Cu timpul, limitarile acestei abordari au devenit din ce in ce mai evidente.
Pe masura ce s-a castigat experienta, au fost propuse sisteme de posta electronica mai complicate. In 1982 au fost publicate propunerile eu privire la e-mail ale ARPANET, sub numele RFC821 (protocolul de transmisie) si RFC822 (formatul mesajelor). In prezent acestea au devenit standardele de facto ale Internetului. Doi ani mai tarziu, CCITT a emis recomandarea X.400, care a fost preluata ulterior ca baza pentru MOTIS de catre OSI. In 1988, CCITT a modificat recomandarea X.400 pentru a o alinia la MOTIS. MOTIS urma sa fie aplicatia principala, "nava amiral" pentrui OSI, un sistem care urma sa fie de toate pentru toti.
1. Arhitectura si servicii
In aceasta sectiune vom furniza o prezentare de ansamblu a ceea ce pot face sistemele de posta electronica si cum sunt ele organizate. Aceste sisteme constau de obicei din doua subsisteme: agentii-utilizator, care permit utilizatorilor sa citeasca si sa trimita scrisori prin posta electronica si agentii de transfer de mesaje, care transporta mesajele de la sursa la destinatie. Agentii-utilizator sunt programe locale, care furnizeaza o metoda de a interactiona cu sistemul de e-mail bazata pe comenzi, meniuri sau grafica. Agentii de transfer de mesaje sunt, in mod tipic, demoni de sistem care se executa in fundal si transfera mesajele prin sistem.
Posta electronica este in prezent folosita pe scara larga in industrie, pentru comunicatie in cadrul companiilor. Aceasta permite unor angajati, raspanditi la distante mari unii de ceilalti, chiar si peste mai multe fusuri orare, sa coopereze la proiecte complexe. Eliminand majoritatea indiciilor cu privire la functie, varsta si gen, dezbaterile prin posta electronica tind sa se concentreze asupra ideilor si nu a statutului din cadrul organizatiei. Prin posta electronica, o idee sclipitoare a unui student la cursurile de vara poate avea un impact mai mare decat una stupida, venita de la un vicepresedinte executiv. Unele companii au estimat ca posta electronica le-a imbunatatit productivitatea cu pana la 30% (Perry and Adam. 1992).
O idee cheie in toate sistemele modeme de e-mail este distinctia dintre plic si continutul sau. Plicul incapsuleaza mesajul. Contine toata informatia necesara pentru transportul mesajului, cum ar fi destinatia, adresa, prioritatea, nivelul de securitate, toate acestea fiind distincte de mesajul in sine. Agentii de transfer de mesaje folosesc plicul pentru rutare (dirijare), asa cum face si oficiul postal.
Mesajul din interiorul plicului contine doua parti: antetul si corpul. Antetul contine informatia de control pentru agentii utilizator. Corpul mesajului se adreseaza in intregime utilizatorului uman.
2. Agentul utilizator
Sistemele de posta electronica au, asa cum am vazut, doua parti esentiale: agentii-utilizator si agentii de transfer de mesaje. In aceasta sectiune ne vom uita la agentii utilizator. Un agent utilizator este de obicei un program (uneori numit cititor de posta) care accepta o varietate comenzi pentru compunerea, primirea si raspunsul la mesaje, cat si pentru manipularea cutiilor postale. Unii agenti-utilizator au o interfata sofisticata, dirijata prin meniuri sau icoane, care necesita un maus, in timp ce altele accepta comenzi de cate un caracter, date de la tastatura. Functional insa, toti acestia sunt identici.
Pentru a trimite un mesaj prin posta electronica, un utilizator trebuie sa furnizeze mesajul, adresa - destinatie, si eventual alti cativa parametri (de exemplu, prioritatea sau nivelul de securitate). Mesajul poate fi produs cu un editor de texte de sine-statator, cu un program de procesare de text sau, eventual, eu un editor de texte construit in interiorul agentului utilizator.
Adresa de destinatie trebuie sa fie intr-un format cu care agentul utilizator sa poata lucra. Multi agenti-utilizator solicita adrese de forma cutie_postala@locatie. Deoarece aceste lucruri au fost studiate anterior in acest capitol, nu vom relua materialul respectiv aici.
Oricum, merita notat ca exista si alte forme de adresare. In particular, adresele X.400 arata radical diferit de cele DNS. Ele sunt compuse din perechi de forma atribut=valoare. De exemplu:
/C=US/SP=MASSACHUSETTS/L=CAMBRIDGE/PA=360 MEMORIAL DR./CN=KEN SMITH/
Aceasta adresa specifica o tara, un stat, o localitate, o adresa personala ss un nume obisnuit (Tom Smith). Sunt posibile multe alte atribute, astfel incat poti trimite mesaje cuiva al carui nume nu-l sti, atata timp cat sti suficiente alte atribute (de exemplu, compania si functia). Multi considera aceasta forma de adresare considerabil mai putin convenabila decat numele DNS.
Pentru a fi nepartinitori, trebuie totusi sa mentionam ca proiectantii lui X.400 au presupus ca utilizatorii vor folosi pseudonime (aliases - siruri scurte de caractere asignate de utilizator) pentru a identifica receptorii, astfel incat utilizatorii nici nu vor vedea macar vreodata adresa intreaga. Totusi, programele necesare pentru acest lucru nu au fost niciodata disponibile pe scara larga, asa ca, adesea, cei care trimiteau mesaje catre utilizatori ale caror adrese erau de tip X.400 trebuia sa scrie sirul ca cel de mai sus. In schimb, majoritatea sistemelor de e-mail pentru Internet au permis intotdeauna utilizatorilor sa aiba fisiere de pseudonime.
Majoritatea sistemelor de e-mail accepta liste de posta, astfel ca un utilizator poate trimite, cu o singura comanda, un acelasi mesaj tuturor persoanelor dintr-o lista. Daca lista de posta este pastrata local agentul-utilizator poate pur si simplu sa trimita cate un mesaj separat fiecaruia dintre receptorii doriti. Daca lista este pastrata la distanta, atunci mesajele vor fi expandate acolo. De exemplu, daca un grup de admiratori de pasari au o lista de posta numita birders, instalata la meadowlark.arizona.edu, atunci orice mesaj trimis la birders@meadowlark.arizona.edu va fi dirijat catre Universitatea din Arizona si expandat acolo in mesaje individuale pentru toti membrii listei de posta oriunde ar fi ei in lume. Utilizatorii acestei liste de posta nu pot determina ca aceasta este o lista de adrese. Ar putea fi la fel de bine cutia postala personala a Prof. Gabriel O. Birders.
4. Transfer de mesaje
Sistemul de transfer de mesaje se ocupa cu transmiterea mesajelor de la initiator la receptor. Cea mai simpla cale de a realiza acest lucru consta in stabilirea unei conexiuni de transport de la masina sursa la cea de destinatie si apoi, pur si simplu in trimiterea mesajului. Dupa ce examinam cum se face acest lucru in mod normal, vom studia cateva situatii in care metoda nu functioneaza si vom vedea ce trebuie facut in aceste cazuri.
From: elinor@abc.com
To: carolyn@xyz.com
MIME-Version: 1.0
Message-ld: <0704760941.AA00747@abc.com>
Content-Type: multipart/alternative; boundary=qwertyuiopasdfghj]klzxcvbnm
Subject: Pamantul inconjoara soarele de un numar intreg de ori
Acesta este preambulul. Agentul utilizator il ignora. O zi buna.
--qwertyuiopasdfghjklzxcvbnm
Content-Type: text/richtext
Happy birthday to you
Happy birthday to you
Happy birthday dear <bold> Carolyn </bold>
Happy birthday to you
--qwertyuiopasdfghjklzxcvbnm
Content-Type: message/external-body;
access-type=,,anon-ftp";
site="bicycle.abc.com";
directory=,,pub";
name=,,birthday.snd";
content-type: audio/basic
content-transfer-encoding: base64
--qwertyuiopasdfghjklzxcvbnm
Fig. 5-1. Un mesaj multipart continand alternative de tip richtext si audio.
SMTP - Simple Mail Transfer Protocol (protocol simplu de transfer de posta
In cadrul Internetului posta electronica este livrata prin stabilirea de catre masina sursa a unei conexiuni TCP la portul 25 al masinii de destinatie. La acest port se afla un demon de e-mail care stie SMTP (Simple Mail Transfer Protocol). Acest demon accepta conexiunile si copiaza mesajele de la ele in cutiile postale corespunzatoare. Daca mesajul nu poate fi livrat, se returneaza transmitatorului un raport de eroare continand prima parte a mesajului nelivrat.
SMTP este un protocol simplu de tip ASCII. Dupa stabilirea conexiunii TCP la portul 25, masina transmitatoare, operand in calitate de client, asteapta ca masina receptoare, operand ca server, sa vorbeasca prima. Serverul incepe prin a trimite o linie de text, declarandu-si identitatea si spunand daca este pregatit sau nu sa primeasca mesaje. Daca nu este, clientii elibereaza conexiunea si incearca din nou mai tarziu.
Daca serverul este dispus sa primeasca e-mail. clientul anunta de la cine vine scrisoarea si cui ii este adresata. Daca un asemenea receptor exista la destinatie, serverul ii acorda clientului permisiunea sa trimita mesajul. Apoi clientul trimite mesajul si serverul il confirma. In general nu este necesara atasarea unei sume de control deoarece TCP furnizeaza un flux sigur de octeti. Daca mai exista si alte mesaje, acestea sunt trimise tot acum. Cand schimbul de mesaje, in ambele directii, s-a incheiat, conexiunea este eliberata. In Fig.5-2 este prezentata o mostra de dialog referitoare la trimiterea mesajului din Fig.5-1, incluzand codurile numerice utilizate de SMTP. Liniile trimise de client sunt marcate cu C:, iar cele trimise de server cu S:.
Chiar daca protocolul SMTP este bine definit (de RFC 821), mai pot aparea cateva probleme. O problema este legata de lungimea mesajelor. Unele implementari mai vechi nu pot sa lucreze cu mesaje mai mari de 64Kb. O alta problema se refera la expirari de timp (timeout). Daca acestea difera pentru server si client, unul din ei poate renunta in timp ce celalalt este inca ocupat, intrerupand conexiunea in mod neasteptat. In sfarsit, in rare situatii, pot fi lansate schimburi infinite de mesaje. De exemplu, daca masina 1 pastreaza lista de posta A si masina 2 lista de posta B si fiecare lista contine o intrare pentru cealalta, atunci orice mesaj trimis oricareia dintre cele doua liste va genera o cantitate nesfarsita de trafic de e-mail.
Pentru a atinge cateva dintre aceste probleme, in RFC 1425 s-a definit protocolul SMTP extins(ESMTP). C1ientii care doresc sa-l utilizeze trebuie sa trimita initial un mesaj EHLO in loc de HELO. Daca acesta este rejectat, atunci serverul este unul standard de tip SMTP si clientul va trebui sa procedeze in modul obisnuit. Daca EHLO este acceptat, inseamna ca sunt permise noile comenzi si noii parametri. Standardizarea acestor comenzi si parametri este un proces in desfasurare.
Posta electronica utilizand SMTP lucreaza cel mai bine cand atat transmitatorul cat si receptorul se gasesc in Internet si pot accepta conexiuni TCP intre transmitator si receptor. Cu toate acestea, multe masini care nu sunt in Internet doresc sa trimita si sa primeasca mesaje de la sit-uri Internet.
De exemplu, multe companii, din motive de securitate, nu doresc sa fie conectate la Internet. Unele se elimina chiar de pe Internet, ridicand ziduri de netrecut fata de acesta.
S: 220 xyz.com SMTP service ready
C: HELO abc.com
S: 250 xyz.com says hello to abc.com
C: MAIL FROM: <elinor@abc.com>
S: 250 sender ok
C: RCPT TO: <carolyn@xyz.com>
S: 250 recipient ok
C: DATA
S: Trimite mail; terminat cu "." pe linie noua
C: From: elinor@abc.com
C: To: carolyn@xyz.corn
C: MIME-Version: 1.0
C: Message-ld: <0704760941 .AA00747@abc.eom>
C: Content-Type: multipart/alternative; boundary=qwertyuiopasdfghjklzxcvbflm
C: Subject: Pamantul inconjoara soarele de un numar intreg de ori
C:
C: Acesta este preambulul. Agentul utilizator il ignora. O zi buna.
C:--qwertyuiopasdfghjklzxcvbnm
C: Content-Type: text/richtext
C:
C: Happy birthday to you
C: Happy birthday to you
C: Happy birthday dear <bold> Carolyn </bold>
C: Happy birthday to you
C:
C:--qwertyuiopasdfghjklzxcvbnm
C: Content-Type: message/external-body;
C: access-type=,,anon-ftp";
C: site="bicycle.abc.com";
C: directory=,,pub";
C: name=,,birthday.snd";
C:
C: content-type: audio/basic
C: content-transfer-encoding: base64
C:--qwertyuiopasdfghjklzxcvbnm
C:.
S: 250 message accepted
C: QUIT
S: 221 xyz.com closing connection
Fig. 5-2. Transferul unui mesaj de la elinor@abc.com la carolyn@zxy.com.
O alta problema apare cand transmitatorul intelege doar RFC 822 si receptorul doar X.400 sau un protocol de e-mail corespunzand unui standard de proprietar. Atata timp cat toate aceste medii difera in ceea ce priveste formatele mesajelor si protocoalele utilizate, comunicatia directa este imposibila.
Amandoua aceste probleme sunt rezolvate prin utilizarea portilor de e-mail de la nivelul aplicatie. In Fig. 5-3 gazda 1 intelege doar TCP/IP si RFC 822, in timp ce gazda 2 stie doar OSITP4 si X.400. Cu toate acestea ele pot schimba mesaje utilizand o poarta de e-mail. Procedura este ca gazda 1 sa stabileasca o conexiune de TCP cu poarta si apoi sa transfere acolo un mesaj (1) utilizand SMTP. Demonul portii pune apoi mesajul intr-un tampon de mesaje destinate gazdei 2. Ulterior se stabileste o conexiune de TP4 (echivalentul OSI pentru TCP) cu gazda 2 si se transfera mesajul (2), folosind echivalentul OSI pentru SMTP. Tot ce are de facut procesul de tip poarta este sa extraga mesajele sosite dintr-o coada si sa le puna in alta.
7. Confidentialitatea postei electronice
Cand un mesaj de e-mail este trimis intre doua locatii situate la distanta, acesta va trece in drumul sau pe la un numar mare de masini. Oricare dintre acestea poate sa citeasca si sa inregistreze mesajul pentru utilizare ulterioara. Confidentialitatea este inexistenta, in ciuda a ceea ce multi oameni cred (Weisband and Reining, 1995). Cu toate acestea, multora le-ar placea sa poata trimite mesaje care sa fie citite doar de cei carora le sunt adresate si de nimeni altcineva: nu de seful lor, nu de hackeri si nici chiar de guvern. Aceasta dorinta a stimulat mai multe persoane si grupuri sa aplice principiile criptografiei, studiate de noi anterior, la posta electronica, pentru a produce un sistem de e-mail sigur. In sectiunile urmatoare vom studia doua sisteme de e-mail sigur, larg utilizate, PGP si PEM. Pentru informatii suplimentare a se vedea (Kaufman et al., 1995; Schneier, 1995; Stallings, 1995b; si Stallings, 1995c).
8. PGP-Pretty Good Privacy (confidentialitate destul de buna)
Primul nostru exemplu, PGP (Pretty Good Privacy) este in cea mai mare parte rodul gandirii unei singure persoane, Phil Zimmerman (Zimmerrnan, 1995a, 1995b). Este un pachet complet de securitate a e-mailului, care furnizeaza confidentialitate, autentificare, semnaturi digitale si compresie, toate intr-o forma usor de utilizat. Pe deasupra, pachetul complet, incluzand toate sursele, este distribuit gratuit prin Internet, sisteme de informare in retea si retele comerciale. Datorita calitatii sale, pretului (zero) si simplei disponibilitati pe platformele MS-DOS/Windows,UNIX si Macintosh, acesta este larg utilizat astazi. Pentru acele companii care necesita sprijin, este disponibila si o varianta comerciala.
PGP a fost implicat si in diferite controverse (Levy, 1993). Deoarece este distribuit liber pe Internet, guvernul Statelor Unite a pretins ca posibilitatea strainilor de a-l obtine constituie o violare a legilor privind exportul de munitie. Versiunile ulterioare au fost produse in afara Statelor Unite pentru a ocoli aceasta restrictie. O alta problema a inclus o pretinsa incalcare a patentului RSA. dar aceasta a fost rezolvata odata cu aparitia versiunilor incepand cu 2.6. Totusi. nu toti agreeaza ideea ca oamenii pot sa-si pastreze secretele fata de ei, astfel ca dusmanii PGP pandesc din umbra asteptand sa atace. In conformitate cu toate acestea, motto-ul lui Zimmerman este: "Daca dreptul in confidentialitate este in afara legii, atunci doar cei aflati in afara legii vor avea confidentialitate."
In mod intentionat PGP utilizeaza algoritmi de criptare existenti, in loc sa inventeze unii noi Se bazeaza in principal pe RSA, IDEA si MD5, algoritmi care au fost supusi unor numeroase amanuntite si nu au fost proiectati sau influentati de vreo agentie guvernamentala pentru a-i slabi. Pentru cei care au tendinta sa nu aiba incredere in guvern, aceasta proprietate este un mare avantaj.
PGP permite compresie de text, asigurarea secretului mesajelor si semnaturi digitale si furnizeaza de asemenea facilitati de management extensiv al cheilor. Pentru a vedea cum lucreaza PGP, sa consideram exemplul din Fig. 5-3. Aici, Alice vrea sa-i trimita lui Bob, intr-o maniera sigura, un mesaj text simplu, semnat, P. Alice si Bob au cheile private (Dx) si cheile RSA publice (Ex). Sa presupunem ca fiecare stie cheia publica a celuilalt; ne vom ocupa mai tarziu de administrarea cheilor.
KM: Cheia unica de mesaj,
pentru IDEA Cheia RSA publica a
lui Bob, EB ::
Concatenare Cheia RSA privata, a lui
Alice cheie RSA, DA
Fig. 5-3. PGP in actiunea de trimitere a unui mesaj.
Copyright © 2024 - Toate drepturile rezervate