24.10.2012 Views

Securitatea informației Cursul 9 Securitatea Web Prof. univ.dr ...

Securitatea informației Cursul 9 Securitatea Web Prof. univ.dr ...

Securitatea informației Cursul 9 Securitatea Web Prof. univ.dr ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Securitatea</strong> <strong>informației</strong><br />

<strong>Cursul</strong> 9<br />

<strong>Securitatea</strong> <strong>Web</strong><br />

<strong>Prof</strong>. <strong>univ</strong>.<strong>dr</strong>. Constantin Popescu<br />

Departamentul de Matematica si Informatica<br />

http://webhost.uoradea.ro/cpopescu/curs-si.html<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 1


<strong>Securitatea</strong> <strong>Web</strong><br />

♦ Modelul client-server<br />

♦ Protocolul HTTP<br />

♦ Protocolul Secure Sockets Layer<br />

♦ Protocolul Secure Electronic Transaction<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 2


<strong>Securitatea</strong> <strong>Web</strong><br />

♦ Sistemul World Wide <strong>Web</strong> a luat fiinta la<br />

începutul anilor '90.<br />

♦ Sistemul <strong>Web</strong> nu este o reţea, ci este un<br />

sistem de aplicaţii.<br />

♦ Sistemul <strong>Web</strong> poate fi instalat pe diferite<br />

tipuri de reţele, care nu trebuie să facă parte<br />

din Internet, şi poate fi folosit chiar pe<br />

calculatoare neconectate la reţea.<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 3


<strong>Securitatea</strong> <strong>Web</strong><br />

♦ World Wide <strong>Web</strong> este un sistem de<br />

comunicare a informaţiilor hipertext folosit<br />

în general în reţeaua Internet<br />

♦ Funcţionează prin comunicare de date pe<br />

baza unui model client-server.<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 4


Modelul client-server<br />

♦ Clienţii, adică navigatoarele <strong>Web</strong>, au acces<br />

la informaţiile hipermedia şi multiprotocol<br />

aflate pe un server <strong>Web</strong>.<br />

♦ Modelul client-server pentru calculatoarele<br />

conectate în reţea implică trei componente:<br />

– clientul,<br />

–serverul<br />

–reţeaua.<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 5


Modelul client-server<br />

♦ Clientul este o aplicaţie care de obicei<br />

rulează pe calculatorul utilizatorului final.<br />

♦ Serverul este o aplicaţie care de obicei<br />

rulează pe calculatorul furnizorului de<br />

informaţii.<br />

♦ Programul client este adaptat sistemului<br />

hardware pe care rulează şi funcţionează ca<br />

o interfaţă între sistemul respectiv şi<br />

informaţiile furnizate de server.<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 6


Modelul client-server<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 7


<strong>Securitatea</strong> <strong>Web</strong><br />

♦ Cererea este transportată prin reţea, de la<br />

client la server.<br />

♦ Serverul analizează cererea şi execută<br />

activităţile corespunzătoare.<br />

♦ Protocolul HTTP (Hyper Text Transfer<br />

Protocol) este un protocol simplu, la nivel<br />

aplicaţie, în modelul TCP/IP<br />

♦ HTTP descrie cererile de la clienţi şi<br />

răspunsurile de la servere.<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 8


Protocolul HTTP<br />

♦ HTTP (HyperText Transfer Protocol) este<br />

metoda cea mai des utilizată pentru<br />

accesarea informaţiilor în Internet care sunt<br />

păstrate pe servere World Wide <strong>Web</strong><br />

(WWW).<br />

♦ Protocolul HTTP este un protocol de tip<br />

text, fiind protocolul "implicit" al WWW.<br />

♦ HTTP presupune că pe calc. dest. rulează un<br />

program care înţelege protocolul.<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 9


Protocolul HTTP<br />

♦ Fişierul trimis la destinaţie poate fi un document<br />

HTML (abreviaţie de la HyperText Markup<br />

Language)<br />

♦ HTML este un fişier grafic, de sunet, animaţie sau<br />

video, de asemenea un program executabil pe<br />

server-ul respectiv sau şi un editor de text.<br />

♦ După clasificarea după modelul de referinţă OSI,<br />

protocolul HTTP este un protocol de nivel<br />

aplicaţie.<br />

♦ Realizarea şi evoluţia sa este coordonată de către<br />

World Wide <strong>Web</strong> Consortium (W3C)<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 10


Protocolul HTTP<br />

♦ HTTP oferă o tehnică de comunicare prin care<br />

paginile web se pot transmite de la un computer<br />

aflat la distanţă spre propriul computer.<br />

♦ Dacă se apelează un link sau o a<strong>dr</strong>esă de web cum<br />

ar fi http://www.example.com, atunci se cere<br />

calculatorului host să afişeze o pagină web<br />

(index.html sau altele).<br />

♦ În prima fază numele (a<strong>dr</strong>esa) www.example.com<br />

este convertit de protocolul DNS într-o a<strong>dr</strong>esă IP.<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 11


Protocolul HTTP<br />

♦ Urmează transferul prin protocolul TCP pe portul standard<br />

80 al serverului HTTP, ca răspuns la cerere<br />

♦ Informaţii suplimentare ca de ex. indicaţii pentru browser,<br />

limba dorită ş.a. se pot adăuga în header-ul (antetul)<br />

pachetului HTTP.<br />

♦ În urma cererii urmează din partea serverului răspunsul cu<br />

datele cerute, ca de ex.: pagini în (X)HTML, cu fişiere<br />

ataşate ca imagini, fişiere de stil (CSS), scripturi<br />

(Javascript), dar pot fi şi pagini generate dinamic (SSI,<br />

JSP, PHP şi ASP.NET).<br />

♦ Dacă dintr-un anumit motiv informaţiile nu pot fi<br />

transmise, atunci serverul trimite înapoi un mesaj de<br />

eroare.<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 12


<strong>Securitatea</strong> <strong>Web</strong><br />

♦ O modalitate de a furniza securitatea <strong>Web</strong><br />

este utilizarea securităţii la nivel IP (IPSec).<br />

♦ Avantajul utilizării IPSec este acela că este<br />

transparent pentru utilizatorii finali şi pentru<br />

aplicaţii.<br />

♦ Mai mult, securitatea la nivel IP include<br />

posibilităţi de filtrare aşa încât numai<br />

mesajele selectate circulă în reţea.<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 13


<strong>Securitatea</strong> la nivel IP<br />

HTTP FTP SMTP<br />

TCP<br />

IP/IPsec<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 14


<strong>Securitatea</strong> <strong>Web</strong><br />

♦ O altă soluţie de a furniza securitatea <strong>Web</strong> este<br />

aceea de a implementa o securitate deasupra<br />

protocolului TCP.<br />

♦ Cel mai cunoscut exemplu este folosirea<br />

protocolului Secure Sockets Layer (SSL) şi a<br />

urmaşului lui SSL, numit Transport Layer<br />

Security (TLS).<br />

♦ Browserele Netscape şi Microsoft Explorer au<br />

încorporate protocolul SSL şi cele mai multe<br />

servere <strong>Web</strong> au implementat acest protocol.<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 15


<strong>Securitatea</strong> la nivel SSL<br />

HTTP FTP SMTP<br />

SSL sau TLS<br />

TCP<br />

IP/IPsec<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 16


<strong>Securitatea</strong> <strong>Web</strong><br />

♦ A treia soluţie pentru securitatea <strong>Web</strong> este<br />

folosirea unor aplicaţii cum ar fi:<br />

–Kerberos<br />

–S/MIME<br />

–PGP<br />

– SET (Secure Electronic Transaction).<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 17


Atacuri asupra datelor in Internet<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 18


Protocolul Secure Sockets Layer<br />

♦ Netscape a introdus protocolul Secure<br />

Sockets Layer (SSL).<br />

♦ In 1994 a fost proiectată versiunea SSL 1.0.<br />

♦ In 1995 apare implementarea versiunii SSL<br />

2.0 pe browserele Netscape.<br />

♦ In 1995 se publică versiunea 1.0 a PCT<br />

(Private Communication Technology) –<br />

concepută de Microsoft ca o extensie<br />

minoră a SSL 2.0<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 19


Protocolul Secure Sockets Layer<br />

♦ PCT se bazeaza pe SSL 2.0.<br />

♦ Aceste puncte slabe au fost remediate odată<br />

cu versiunea SSL 3.0, tot în 1995.<br />

♦ Din 1996, dezvoltarea SSL a trecut în<br />

responsabilitatea organizaţiei internaţionale<br />

pentru standarde Internet, IETF (Internet<br />

Engineering Task Force).<br />

♦ IETF a redenumit SSL în TLS (Transport<br />

Layer Security).<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 20


Protocolul Secure Sockets Layer<br />

♦ Suportul pentru SSL este implementat în<br />

aproape toate browserele.<br />

♦ Majoritatea serverelor suportă de asemenea<br />

comunicare peste SSL.<br />

♦ Conventional URL-urile care<br />

implementeaza conexiunile SSL încep cu<br />

♦ https:// în loc de http://<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 21


Protocolul Secure Sockets Layer<br />

♦ Fiind un protocol independent, inserat între<br />

HTTP şi TCP, nu s-au impus modificări<br />

pentru protocoalele adiacente.<br />

♦ Protocolul HTTP are aceeaşi interfaţă cu<br />

protocolul SSL ca şi cu protocolul TCP.<br />

♦ Din punctul de vedere al protocolului TCP,<br />

SSL este doar o altă aplicaţie care îi<br />

foloseşte serviciile.<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 22


Protocolul Secure Sockets Layer<br />

♦ Tot din independenţa SSL ca şi protocol<br />

decurge şi alt avantaj:<br />

– anume că SSL poate fi folosit în conjuncţie şi<br />

cu alte protocoale, nu doar cu HTTP.<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 23


Protocolul Secure Sockets Layer<br />

♦ SSL asigură îndeplinirea celor trei<br />

deziderate de securitate în comunicaţie,<br />

astfel:<br />

– confidenţialitate - prin folosirea unui algoritm<br />

de criptare;<br />

– autentificare - prin folosirea certificatelor<br />

digitale;<br />

– controlul integrităţii - prin folosirea unor<br />

algoritmi pentru integritatea mesajelor.<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 24


Protocolul Secure Sockets Layer<br />

♦ Stabilirea tuturor elementelor menţionate,<br />

– algoritmul de criptare (ex. DES – Data<br />

Encryption Standard, AES),<br />

– schimbul de chei publice între server şi client,<br />

– algoritmul pentru integritatea mesajelor (ex.<br />

MAC – Message Authentication Code),<br />

se negociază la începutul comunicării SSL.<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 25


Protocolul Secure Sockets Layer<br />

♦ Scenariul de negociere a unui canal sigur de<br />

comunicaţie:<br />

♦ C S (cerere client catre server)<br />

♦ C S (Clientul verifică certificatul şi extrage<br />

cheia publică a Server-ului-Kpub-S) ♦ C S (certificatul lui S poate fi găsit pe Internet, e<br />

necesar să se asigure că nu e folosit de altcineva-verificare)<br />

Mesaj aleator + amprenta criptata (D) cu cheia privata a lui S-Kpriv_S ♦ C S (C verifică faptul că mesajul vine de la S)<br />

♦ C S (C trimite la S o cheie de sesiune criptata cu<br />

cheia publica a lui S-K pub-S)<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 26


Protocolul Secure Sockets Layer<br />

♦ SSL poate fi divizat pe 2 niveluri:<br />

1. Protocolul care asigura securitatea si<br />

integritatea datelor-SSL Record Protocol<br />

(Protocolul de înregistrare SSL)<br />

2. Protocolul care stabileste conexiunile SSL:<br />

• Protocolul SSL Handshake (Protocolul dialogului de<br />

confirmare),<br />

• Protocolul SSL Change Cipher (Protocolul<br />

modificare de cifru SSL)<br />

• Protocolul SSL Alert (Protocolul de alerta SSL).<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 27


Protocolul Secure Sockets Layer<br />

Protocolul<br />

SSL Handshake<br />

Protocolul SSL<br />

Cipher Change<br />

Protocolul SSL<br />

Alert<br />

Protocolul SSL Record<br />

TCP (nivel transport)<br />

IP/Ipsec (nivel retea)<br />

Protocol la nivel<br />

aplicatie (de ex.<br />

HTTP)<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 28


Etapele protocolului SSL Record<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 29


Protocolul Secure Electronic<br />

Transaction (SET)<br />

♦ Protocolul SET este o specificaţie deschisă<br />

de criptare şi de securitate proiectată să<br />

protejeze tranzacţiile cu cărţi de credit în<br />

Internet.<br />

♦ Versiunea SET v1, a fost proiectată din<br />

necesitatea celor două companii Master<br />

Card şi Visa de a realiza un standard de<br />

securitate, în anul 1996.<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 30


Protocolul SET<br />

♦ Un număr însemnat de companii au fost<br />

implicate în dezvoltarea SET:<br />

– IBM, Microsoft, Netscape, RSA, Terisa şi<br />

Verisign.<br />

♦ SET nu este un sistem de plată!<br />

♦ SET este un set de protocoale de securitate:<br />

– ce permite utilizatorilor să folosească<br />

infrastructura de plăţi cu cărţi de credit in<br />

Internet, într-un mod sigur.<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 31


Protocolul SET<br />

♦ În esenţă, protocolul SET furnizează trei<br />

servicii:<br />

– Un canal sigur de comunicare între toate părţile<br />

implicate într-o tranzacţie.<br />

– Furnizează încredere în utilizarea certificatelor<br />

digitale X.509v3.<br />

– Asigură secretizarea informaţiilor, astfel încât<br />

acestea să fie disponibile doar părţilor implicate<br />

în tranzacţie.<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 32


Cerinţe ale protocolului SET<br />

♦ Să furnizeze confidenţialitatea plăţilor.<br />

♦ SET utilizează criptarea pentru a realiza<br />

confidenţialitatea.<br />

♦ Să asigure integritatea tuturor datelor<br />

transmise.<br />

♦ Semnăturile digitale sunt utilizate pentru a<br />

realiza integritatea.<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 33


Cerinţe ale protocolului SET<br />

♦ Să furnizeze autenticitatea astfel încât un<br />

deţinător de carte de credit este utilizatorul<br />

legitim al contului cărţii de credit<br />

respective.<br />

♦ Acest mecanism reduce frauda.<br />

♦ Semnăturile digitale şi certificatele sunt<br />

utilizate pentru a verifica dacă un deţinător<br />

de carte de credit este utilizatorul legitim al<br />

contului cărţii de credit respective.<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 34


Cerinţe ale protocolului SET<br />

♦ Să furnizeze autenticitatea astfel încât un<br />

comerciant să poată să accepte tranzacţiile<br />

cu cărţi de credit cu instituţia financiară<br />

(banca).<br />

♦ Pentru aceasta se folosesc semnăturile<br />

digitale şi certificatele.<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 35


Cerinţe ale protocolului SET<br />

♦ Să creeze un protocol care să nu depindă de<br />

alte mecanisme de securitate a transportului<br />

şi să nu împiedice utilizarea lor:<br />

– SET poate opera sigur deasupra protocolului<br />

TCP/IP<br />

– SET nu interferează cu protocoale ca IPSec sau<br />

SSL/TLS.<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 36


Cerinţe ale protocolului SET<br />

♦ Să faciliteze şi să încurajeze<br />

interoperabilitatea între furnizorii de<br />

software şi de reţele:<br />

– Protocolul SET este independent de platforma<br />

hardware<br />

– Este idependent de sist. de operare sau de<br />

software-ul <strong>Web</strong>.<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 37


Componente SET<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 38


Tranzactia SET<br />

♦ Cumpărătorul deschide un cont şi primeşte un card<br />

de la o bancă care asigură plăţi electronice şi SET.<br />

♦ Cumpărătorul primeşte, după verificarea identităţii,<br />

un certificat digital X.509v3 semnat de bancă.<br />

Certificatul autentifică cheia publică RSA a<br />

cumpărătorului şi stabileşte durata ei de valabilitate;<br />

de asemenea, prin certificat, banca garantează<br />

corespondenţa dintre perechea de chei a<br />

cumpărătorului şi cardul său.<br />

♦ Vânzătorul trebuie să aibă certificate pentru două<br />

chei deţinute de el: cheia cu care semnează şi cheia<br />

folosită pentru schimbul de chei; trebuie să aibă şi o<br />

copie a certificatului cheii publice a porţii de plăţi.<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 39


Tranzactia SET<br />

♦ Cumpărătorul emite un ordin de cumpărare: aceasta implică<br />

selectarea articolelor pentru cumpărare prin vizitarea on line a<br />

web site-ului vânzătorului şi trimiterea listei articolelor pe care<br />

le doreşte către vânzător. Vânzătorul trimite cumpărătorului<br />

factura (OI -Order Information) care conţine lista articolelor,<br />

preţul lor, preţul total şi numărul facturii.<br />

♦ Identitatea vânzătorului este verificată de cumpărător cu<br />

ajutorul copiei certificatului vânzătorului, pe care acesta o<br />

trimite odată cu factura.<br />

♦ Cumpărătorul trimite factura, informaţia de plată (PI-Payment<br />

Information) şi propriul certificat către vânzător. Factura<br />

confirmă cumpărarea articolelor incluse; informaţia de plată<br />

conţine datele despre cartea de credit, criptate astfel încât să nu<br />

poată fi citite de către vânzător; certificatul cumpărătorului<br />

permite vânzătorului să verifice identitatea acestuia.<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 40


Tranzactia SET<br />

♦ Vânzătorul cere autorizarea plăţii prin trimiterea<br />

către poarta de plăţi a informaţiei de plată cerând<br />

să se verifice dacă suma disponibilă în contul<br />

cumpărătorului este suficientă pentru a se face<br />

plata cumpărăturii cerute.<br />

♦ Vânzătorul confirmă acceptarea informaţiei de<br />

plată către cumpărător.<br />

♦ Vânzătorul expediază bunurile către cumpărător<br />

sau efectuează serviciile cerute.<br />

♦ Vânzătorul cere efectuarea plăţii către poarta de<br />

plăţi care gestionează efectuarea plăţii.<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 41


Generarea semnaturii duale<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 42


Efectele semnaturii duale<br />

♦ Vânzătorul a primit OI şi a verificat<br />

semnătura<br />

♦ Banca a primit PI şi a verificat semnătura<br />

♦ Cumpărătorul a legat OI de PI şi poate<br />

dovedi această legătură<br />

<strong>Prof</strong>.<strong>dr</strong>. C. Popescu <strong>Securitatea</strong> informatiei 43

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!