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 ...
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