Securitatea comunicatiilor
LOGO

Cum se poate incepe prima afacere pe Internet

Harta graficaHomeAfaceri onlineWebdesignCarti in format electronicArticoleHarta sitului

HOME
E-BUSINESS

WEBDESIGN

E-BOOKS
ARTICOLE
  Afaceri online
 < Webdesign >
  Comert electronic
  Programe afiliate

  E-book
 
Diverse
HARTA SIT


[ Sign my Guestbook] - [Read my Guestbook ]
[Guestbook by TheGuestBook.com]

Subscrieti la lista de discutii
Prima afacere pe Internet

Chat Chat

Trimite un email

Trafic counter

Site Meter


Securitatea comunicatiilor

Autor : Mirel Muresan


In prezent, una din problemele comunicatiei datelor o reprezinta securitatea transmisiei si receptiei lor.

Securitatea reprezinta un proces - un mod de a gandi legat de sisteme, retele, utilizatori si aplicatii care imbratiseaza un set de tehnologii. Setul minim de cerinte pe care trebuie sa le respecte o aplicatie ce utilizeaza sistemele bazate pe securitate sunt:

Confidentialitatea: mentinerea caracterului privat al informatiei
Integritatea: dovada ca respectiva informatie nu a fost modificata
Autenticitatea: dovada identitatii celui ce transmite mesajul
Non-repudierea: siguranta ca cel ce genereaza mesajul nu poate sa-l denigreze mai tarziu
Toate aceste proprietati pot fi indeplinite prin utilizarea de chei publice criptografice. Criptografia este considerata a fi o arta sau stiinta de mentinere a mesajelor secrete, asigurand confidentialitatea prin criptarea unui mesaj utilizand chei asociate cu un algoritm. Cheia utilizata trebuie sa fie secreta ambelor parti, problema reprezentand-o managementul cheilor si mentinerea lor secreta. Criptografia are la baza codificarea mesajelor, un bloc fiind substituit prin altul, respectand anumite reguli. Codificarea se poate realiza in mai multe moduri acestea avand urmatoarele proprietati comune:

atat intrarile cat si iesirile sunt reprezentate ca stream-uri de octeti
criptarea unei date se realizeaza cu ajutorul unei chei
decriptarea datei se realizeaza tot cu o cheie
Criptarea se poate realiza cu chei simetrice sau asimetrice. Prima se realizeaza cu aceeasi cheie la criptare si la decriptare, iar cealalta cu chei diferite.

Criptarea asimetrica are avantajul ca una din chei (cea de criptare) poate fi facuta publica. Aceasta cheie de criptare poate fi transmisa oricui, in timp ce cheia de decriptare este detinuta de cel ce a criptat, fiind denumita cheie privata. Un alt avantaj al cheilor asimetrice este ca asigura identitatea. Daca o persoana X cripteaza un mesaj cu I cheie privata si transmitandu-l unei persoane Y, aceasta il poate decripta cu o cheia publica putem spune ca Y are certitudinea ca mesajul vine de la X. Aceasta idee are la baza semnaturile digitale.

Criptarea simetrica are avantajul vitezei, fiind foarte utila la criptarea fisierelor locale.

Combinand avantajele celor doua tipuri de algoritmi au aparut protocoalele hibride care functioneaza astfel :

Protocol 1.a. Criptarea mesajului

(1) Generarea cheii simetrice K

(2) Criptarea mesajului M cu cheia simetrica si obtinand mesajul M*

(3) Preluarea cheii publice

(4) Criptarea cheii simetrice cu cheia publica si obtinerea lui K*

(5) Transmiterea perechii {K*,M*}

Protocol 1.b. Decriptarea mesajului

(1) Receptionarea mesajului {K*,M*} si separarea celor doua campuri

(2) Decriptarea lui K* cu ajutorul cheii private proprii pentru obtinerea lui K

(3) Decriptarea lui M* cu K pentru obtinerea lui M

In acest caz se genereaza cate o cheie separata pentru fiecare sesiune de mesaje cunoscuta sub numele de cheie sesiune . Criptarea mesajelor ofera confidentialitate, dar acest lucru nu este suficient. In cazul unei transmisii sau receptii trebuie sa existe certitudinea ca cel ce a generat mesajul este o persoana autorizata, motiv care a dus la adaugarea de noi proprietati cum ar fi integritatea si autentificarea, acestea fiind asigurate cu ajutorul semnaturii digitale.

Pentru a intelege modul de functionare este nevoie de cunoasterea unui al treilea algoritm si anume functiile de hashing. Acestea, spre deosebire de algoritmii de criptare si decriptare realizeaza doar functia de criptare iar mesajul original nu va fi recuperat niciodata. In principiu, un mesaj are intotdeauna aceeasi valoare dupa aplicarea functiei si este imposibil ca doua mesaje oarecare sa genereze aceeasi valoare. Prin utilizarea unei astfel de functii se poate obtine o autentificare fara a cripta intreg mesajul cu acea cheie privata astfel:

Protocol 2.a. Semnarea unui mesaj

(1) Efectuarea de hashing asupra mesajului M si obtinerea valorii H

(2) Criptarea lui H cu cheia privata (a celui ce transmite) si obtinerea semnaturii S

(3) Transmiterea perechii {M,S}

Protocolul 2.b. Verificarea unui mesaj semnat

(1) Receptia {M,S} si separarea lor

(2) Efectuarea de hashing asupra lui M si obtinerea valorii H'

(3) Preluarea cheii publice apartinand celui ce a transmis

(4) Decriptarea lui S cu cheia publica si obtinerea lui H''

(5) Compararea lui H' cu H''

Daca H' si H'' sunt identice, mesajul a fost verificat corect, iar daca nu, exista o eroare.

Pentru a putea construi cheia ce se utilizeaza in timpul transmisiei se apeleaza la "o treia parte" de incredere denumita Autoritate Certificatoare (CA - Certification Authority). Ea genereaza un Certificat Digital ce genereaza o cheie publica. Cheia nu trebuie sa contina ambiguitati, ingloband datele personale care apoi sunt impachetate si semnate.

Un Certificat Digital este un document ce contine patru componente mari:

o cheie publica
informatia ce leaga cheia publica de detinatorul ei
informatia de validitate a certificatului
semnatura digitala
Certificatele sunt clasificate ca: certificate self-signed si certificate CA-signed. Primul este semnat de detinatorul cheii iar al doilea de o alta persoana cu autoritate. Ele functioneaza ca si containere de chei publice iar informatia tipica include:

numele detinatorului,
e-mail-ul acestuia,
numele companiei,
telefonul,
informatii legate de certificat,
un numar serial,
un indicator de nivel de incredere,
data a generarii,
data a expirarii.
Informatia colectata si detinuta de proprietar este referita de nume distincte (sau Dname). Un certificat contine doua Dname: al detinatorului si al celui ce l-a generat.

Non-repudierea este o alta proprietate a securitatii oferind certitudinea ca cel ce transmite mesajul nu poate sa nege mai tarziu ce a transmis.

Din cele prezentate putem sa observam ca: integritatea, confidentialitatea si non - repudierea sunt asigurate prin criptografia cheilor publice. Pentru aceasta trebuie insa sa se stie: cine genereaza certificatul, unde este stocata cheia si unde se gasesc certificatele? Un certificat digital bazat pe infrastructura cheilor publice (PKI - Public Key Infrastructure ) asigura rezolvarea tuturor problemelor.

Componentele PKI sunt :

Autoritatea Certificatoare (CA): responsabila cu generarea si revocarea certificatelor
Autoritatea Registratoare (RA): responsabila cu verificarea constructiei generate de cheile publice si identitatea detinatorilor.
Detinatorii de Certificate (subiectii) : Oameni, masini sau agenti software care detin certificate si le pot utiliza la semnarea documentelor.
Clientii: ei valideaza semnatura digitala si certificarea de la un CA.
Depozitele: stocheaza si fac accesibile certificatele si Listele de Revocare a Certificatelor (CRLs -Certificate Revocation Lists)
Politicile de securitate : definesc procesele si principiile de utilizare a criptografiei.
Dintre functiile realizate cu ajutorul PKI putem mentiona:

Inregistrarea : este un proces in care cel ce doreste sa obtina un certificat de la CA isi prezinta atributele sale. Acestea sunt verificate iar apoi se elibereaza certificatul .

Certificarea: este procesul in care CA elibereaza certificatul ce contine cheia publica subiectului apoi il depune intr-un depozit public.

Generarea Cheilor: in multe cazuri subiectul genereaza o pereche de chei in mediul sau, inainte de a transmite cheia publica la CA pentru certificare. Daca CA raspunde pentru generarea cheilor, acestea sunt oferite subiectului ca un fisier criptat sau token fizic asemeni unui smartcard.

Recuperarea Cheilor: in unele implementari PKI necesita ca toate cheile schimbate si/sau criptate sa fie depuse intr-un depozit securizat. Ele sunt recuperabile daca subiectul pierde cheia, acest lucru revenind lui CA sau sistemului de recuperare.

Actualizarea Cheilor: toate cheile perechi si certificatele lor asociate trebuiesc actualizate la un interval regulat. In acest sens exista doua situatii care necesita acest lucru:

Data care este specificata in certificat ca data de expirare este depasita si se actualizeaza.
Cheia privata a uneia din entitati din PKI este compromisa. In acest caz PKI trebuie sa anunte ca vechiul certificat nu mai este valid si urmeaza sa-l inlocuiasca. Una din cai este de pre-generare si stocare securizata a perechilor de chei pentru astfel de situatii. Actiune ce duce la informarea fiecarui utilizator de acest lucru. Alta cale este metoda "out-of-band" unde cu ajutorul telefonului, faxului, scrisorii se transmite acea cheie.
Certificarea incrucisata: permite utilizatorilor dintr-un domeniu administrativ sa utilizeze certificate generate de un CA operational in alt domeniu. Procesul implica un CA (CA_1) ce ofera o certificare pentru alt CA(CA_2). Acest certificat contine cheia publica CA asociata cu cea privata pe care CA_1 o utilizeaza, lucru ce permite subiectilor certificati prin CA_2 sa accepte certificatele generate de CA_1 sau orice CA subordonat.

Revocarea: apare in momentul expirarii perioadei de validitate care poate aparea cand: subiectul isi schimba numele, angajatul paraseste compania, cheia privata este compromisa. In cadrul standardului X.509, pentru a revoca un certificat se utilizeaza Lista Revocarilor Certificatelor (CRL - Certificate Revocation List). Aceasta lista identifica certificate si sunt semnate de CA.

Criptarea prin chei publice si implementarea lor in certificate digitale bazate pe sisteme de securitate se face pe baza unor retele standardizate si protocoale cum ar fi:

SSL (Secure Sockets Layer) - este un protocol non-proprietar deschis, dezvoltat de Netscape si care asigura securitate in comunicatii. Este acceptat de standardul WEB pentru autentificare si criptare client-server utilizand ca protocol de transport TCP/IP si poate rula pe protocoale ca HTTP, Telnet. El utilizeaza chei publice criptografiate.

Principiul de functionare este urmatorul:

(1) Clientul se conecteaza la un server SSL

(2) Clientul cere sa initieze o sesiune securizata

(3) Serverul intoarce: pot / nu pot suporta SSL

(4) Clientul si serverul comunica informatia securizata pas cunoscut sub denumirea de "handshaking" .

(5) Clientul specifica ID-ul sesiunii, algoritmii de criptare si metodele de compresie.

(6) Serverul poate face selectia utilizand aceasta informatie si schimba daca este nevoie certificatele

(7) Serverul specifica o cheie a sesiunii apropiata de algoritmii de criptare alesi la "handshaking".

(8) Clientul si serverul comunica in securitate.

O sesiune SSL implica doua protocoale separate : SSL Record Protocol si SSL Handshake Protocol. Primul controleaza transmisia datelor in cadrul sesiunii iar celalalt schimbul de mesaje intre client si server cand stabilesc prima data conexiunea. Tehnica criptarii genereaza multe pachete, incetinind transmisia.

SSL 3.0 este cel mai utilizat si suportat de majoritatea WEB si serverelor Internet .

TLS (Transport Layer Security) - este ultima versiune SSL.

S/MIME (Secure Multi-Purpose Internet Mail Extensions) - este un standard utilizat in transmiterea de e-mail in securitate. Permite criptarea informatiei si include certificatul digital ca o componenta in mesaj. El asigura functiile:

Confidentialitate, doar cel ce receptioneaza poate citi posta
transmisia nu poate fi alterata
clientul poate semna si include semnatura care garanteaza receptia
utilizeaza etichete pentru controlul accesului la mesajele securizate.
permite mesajelor criptate sa fie transmise prin agenti intermediari care le pot cripta si transmite la recipientele dorite.
S/MIME ofera integritate si autentificare oricarui pachet e-mail si in prezent a este implementat la nivel industrial.

WTLC - este o versiune wireless al standardului TLS transformarea fiind bazata pe necesitatea suportarii datagramelor in mediile de banda larga. Pentru aceasta el utilizeaza un handshake optimizat prin refresh al cheilor dinamice. Acesta permite cheilor criptate sa fie actualizate regulat intr-o sesiune.

OCSP (On line Certificate Status Protocol) - specifica o sintaxa mesaj cerere-raspuns intre aplicatia client care solicita revocarea certificatului si aplicatia server care cunoaste starea certificatului revocat. OCSP server poate asigura informatii aditionale accesibile prin CRL.

Principiul functionarii este urmatorul :

(1) Aplicatia transmite cererea de a cunoaste starea certificatului la serverul OCSP, acesta transmite o semnatura digitala care reprezinta "bun", "revocat" sau "necunoscut"

(2) Cel identificat ca "bun" indica la minim ca certificatul nu a fost revocat la momentul cererii, ulterior el putand aparea ca revocat

(3) "revocat" indica ca respectivul certificat a fost revocat

(4) "unknown" indica ca nu cunoaste respectivul certificat.

Din cele prezentate se observa ca in cazul dezvoltarii de aplicatii ce utilizeaza Internetul sau Intranetul, cerintele unei bune securitati sunt confidentialitatea, integritatea, autentificarea si non-repudierea. Toate acestea se realizeaza prin utilizarea cheilor publice criptografiate in Certificate Digitale si care utilizeaza protocoale ca SSL sau S/MIME

Muresan Mirel este informatician in cadrul BCD ROMEXTERRA SA Sucursala Alba, e-mail: m.muresan@mailcity.com

Acest articol a aparut in revista NET Report Nr 100 / Ianuarie 2001 webmaster@pcreport.ro

Nota
Dreptul de autor pentru acest articol apartine in totalitate si in mod exclusiv autorului acestuia .

 


I HOME I EBUSINESS I WEBDESIGN I EBOOKS I ARTICOLE I HARTA SIT I

COPYRIGHT © 2001 , DAN PAUNESCU , TOATE DREPTURILE REZERVATE