Securitatea informaiei Cursul 9 Securitatea Web Prof. univ.dr. Constantin Popescu Departamentul de Matematica si Informatica http://webhost.uoradea.ro/cpopescu/curs-si.html Securitatea Web Modelul client-server Protocolul HTTP Protocolul Secure Sockets Layer Protocolul Secure Electronic Transaction Prof.dr. C. Popescu Securitatea informatiei 2 Securitatea Web Sistemul World Wide Web a luat fiinta la nceputul anilor '90. Sistemul Web nu este o reea, ci este un sistem de aplicaii. Sistemul Web poate fi instalat pe diferite tipuri de reele, care nu trebuie s fac parte din Internet, i poate fi folosit chiar pe calculatoare neconectate la reea. Prof.dr. C. Popescu Securitatea informatiei 3 Securitatea Web World Wide Web este un sistem de comunicare a informaiilor hipertext folosit n general n reeaua Internet Funcioneaz prin comunicare de date pe baza unui model client-server. Prof.dr. C. Popescu Securitatea informatiei 4 Modelul client-server Clienii, adic navigatoarele Web, au acces la informaiile hipermedia i multiprotocol aflate pe un server Web. Modelul client-server pentru calculatoarele conectate n reea implic trei componente: clientul, serverul reeaua. Prof.dr. C. Popescu Securitatea informatiei 5 Modelul client-server Clientul este o aplicaie care de obicei ruleaz pe calculatorul utilizatorului final. Serverul este o aplicaie care de obicei ruleaz pe calculatorul furnizorului de informaii. Programul client este adaptat sistemului hardware pe care ruleaz i funcioneaz ca o interfa ntre sistemul respectiv i informaiile furnizate de server. Prof.dr. C. Popescu Securitatea informatiei 6 Modelul client-server Prof.dr. C. Popescu Securitatea informatiei 7 Securitatea Web Cererea este transportat prin reea, de la client la server. Serverul analizeaz cererea i execut activitile corespunztoare. Protocolul HTTP (Hyper Text Transfer Protocol) este un protocol simplu, la nivel aplicaie, n modelul TCP/IP HTTP descrie cererile de la clieni i rspunsurile de la servere. Prof.dr. C. Popescu Securitatea informatiei 8 Protocolul HTTP HTTP (HyperText Transfer Protocol) este metoda cea mai des utilizat pentru accesarea informaiilor n Internet care sunt pstrate pe servere World Wide Web (WWW). Protocolul HTTP este un protocol de tip text, fiind protocolul "implicit" al WWW. HTTP presupune c pe calc. dest. ruleaz un program care nelege protocolul. Prof.dr. C. Popescu Securitatea informatiei 9 Protocolul HTTP Fiierul trimis la destinaie poate fi un document HTML (abreviaie de la HyperText Markup Language) HTML este un fiier grafic, de sunet, animaie sau video, de asemenea un program executabil pe server-ul respectiv sau i un editor de text. Dup clasificarea dup modelul de referin OSI, protocolul HTTP este un protocol de nivel aplicaie. Realizarea i evoluia sa este coordonat de ctre World Wide Web Consortium (W3C) Prof.dr. C. Popescu Securitatea informatiei 10 Protocolul HTTP HTTP ofer o tehnic de comunicare prin care paginile web se pot transmite de la un computer aflat la distan spre propriul computer. Dac se apeleaz un link sau o adres de web cum ar fi http://www.example.com, atunci se cere calculatorului host s afieze o pagin web (index.html sau altele). n prima faz numele (adresa) www.example.com este convertit de protocolul DNS ntr-o adres IP. Prof.dr. C. Popescu Securitatea informatiei 11 Protocolul HTTP Urmeaz transferul prin protocolul TCP pe portul standard 80 al serverului HTTP, ca rspuns la cerere Informaii suplimentare ca de ex. indicaii pentru browser, limba dorit .a. se pot aduga n header-ul (antetul) pachetului HTTP. n urma cererii urmeaz din partea serverului rspunsul cu datele cerute, ca de ex.: pagini n (X)HTML, cu fiiere ataate ca imagini, fiiere de stil (CSS), scripturi (Javascript), dar pot fi i pagini generate dinamic (SSI, JSP, PHP i ASP.NET). Dac dintr-un anumit motiv informaiile nu pot fi transmise, atunci serverul trimite napoi un mesaj de eroare. Prof.dr. C. Popescu Securitatea informatiei 12 Securitatea Web O modalitate de a furniza securitatea Web este utilizarea securitii la nivel IP (IPSec). Avantajul utilizrii IPSec este acela c este transparent pentru utilizatorii finali i pentru aplicaii. Mai mult, securitatea la nivel IP include posibiliti de filtrare aa nct numai mesajele selectate circul n reea. Prof.dr. C. Popescu Securitatea informatiei 13 Securitatea la nivel IP HTTP FTP SMTP Prof.dr. C. Popescu Securitatea informatiei 14 TCP IP/IPsec Securitatea Web O alt soluie de a furniza securitatea Web este aceea de a implementa o securitate deasupra protocolului TCP. Cel mai cunoscut exemplu este folosirea protocolului Secure Sockets Layer (SSL) i a urmaului lui SSL, numit Transport Layer Security (TLS). Browserele Netscape i Microsoft Explorer au ncorporate protocolul SSL i cele mai multe servere Web au implementat acest protocol. Prof.dr. C. Popescu Securitatea informatiei 15 Securitatea la nivel SSL Prof.dr. C. Popescu Securitatea informatiei 16 HTTP FTP SMTP SSL sau TLS TCP IP/IPsec Securitatea Web A treia soluie pentru securitatea Web este folosirea unor aplicaii cum ar fi: Kerberos S/MIME PGP SET (Secure Electronic Transaction). Prof.dr. C. Popescu Securitatea informatiei 17 Atacuri asupra datelor in Internet Prof.dr. C. Popescu Securitatea informatiei 18 Protocolul Secure Sockets Layer Netscape a introdus protocolul Secure Sockets Layer (SSL). In 1994 a fost proiectat versiunea SSL 1.0. In 1995 apare implementarea versiunii SSL 2.0 pe browserele Netscape. In 1995 se public versiunea 1.0 a PCT (Private Communication Technology) conceput de Microsoft ca o extensie minor a SSL 2.0 Prof.dr. C. Popescu Securitatea informatiei 19 Protocolul Secure Sockets Layer PCT se bazeaza pe SSL 2.0. Aceste puncte slabe au fost remediate odat cu versiunea SSL 3.0, tot n 1995. Din 1996, dezvoltarea SSL a trecut n responsabilitatea organizaiei internaionale pentru standarde Internet, IETF (Internet Engineering Task Force). IETF a redenumit SSL n TLS (Transport Layer Security). Prof.dr. C. Popescu Securitatea informatiei 20 Protocolul Secure Sockets Layer Suportul pentru SSL este implementat n aproape toate browserele. Majoritatea serverelor suport de asemenea comunicare peste SSL. Conventional URL-urile care implementeaza conexiunile SSL ncep cu https:// n loc de http:// Prof.dr. C. Popescu Securitatea informatiei 21 Protocolul Secure Sockets Layer Fiind un protocol independent, inserat ntre HTTP i TCP, nu s-au impus modificri pentru protocoalele adiacente. Protocolul HTTP are aceeai interfa cu protocolul SSL ca i cu protocolul TCP. Din punctul de vedere al protocolului TCP, SSL este doar o alt aplicaie care i folosete serviciile. Prof.dr. C. Popescu Securitatea informatiei 22 Protocolul Secure Sockets Layer Tot din independena SSL ca i protocol decurge i alt avantaj: anume c SSL poate fi folosit n conjuncie i cu alte protocoale, nu doar cu HTTP. Prof.dr. C. Popescu Securitatea informatiei 23 Protocolul Secure Sockets Layer SSL asigur ndeplinirea celor trei deziderate de securitate n comunicaie, astfel: confidenialitate - prin folosirea unui algoritm de criptare; autentificare - prin folosirea certificatelor digitale; controlul integritii - prin folosirea unor algoritmi pentru integritatea mesajelor. Prof.dr. C. Popescu Securitatea informatiei 24 Protocolul Secure Sockets Layer Stabilirea tuturor elementelor menionate, algoritmul de criptare (ex. DES Data Encryption Standard, AES), schimbul de chei publice ntre server i client, algoritmul pentru integritatea mesajelor (ex. MAC Message Authentication Code), se negociaz la nceputul comunicrii SSL. Prof.dr. C. Popescu Securitatea informatiei 25 Protocolul Secure Sockets Layer Scenariul de negociere a unui canal sigur de comunicaie: C S (cerere client catre server) C S (Clientul verific certificatul i extrage cheia public a Server-ului-K pub-S ) C S (certificatul lui S poate fi gsit pe Internet, e necesar s se asigure c nu e folosit de altcineva-verificare) C S (C verific faptul c mesajul vine de la S) C S (C trimite la S o cheie de sesiune criptata cu cheia publica a lui S-K pub-S ) Prof.dr. C. Popescu Securitatea informatiei 26 Mesaj aleator + amprenta criptata (D) cu cheia privata a lui S-K priv_S Protocolul Secure Sockets Layer SSL poate fi divizat pe 2 niveluri: 1. Protocolul care asigura securitatea si integritatea datelor-SSL Record Protocol (Protocolul de nregistrare SSL) 2. Protocolul care stabileste conexiunile SSL: Protocolul SSL Handshake (Protocolul dialogului de confirmare), Protocolul SSL Change Cipher (Protocolul modificare de cifru SSL) Protocolul SSL Alert (Protocolul de alerta SSL). Prof.dr. C. Popescu Securitatea informatiei 27 Protocolul Secure Sockets Layer Prof.dr. C. Popescu Securitatea informatiei 28 Protocolul SSL Handshake Protocolul SSL Cipher Change Protocolul SSL Alert Protocol la nivel aplicatie (de ex. HTTP) Protocolul SSL Record TCP (nivel transport) IP/Ipsec (nivel retea) Etapele protocolului SSL Record Prof.dr. C. Popescu Securitatea informatiei 29 Protocolul Secure Electronic Transaction (SET) Protocolul SET este o specificaie deschis de criptare i de securitate proiectat s protejeze tranzaciile cu cri de credit n Internet. Versiunea SET v1, a fost proiectat din necesitatea celor dou companii Master Card i Visa de a realiza un standard de securitate, n anul 1996. Prof.dr. C. Popescu Securitatea informatiei 30 Protocolul SET Un numr nsemnat de companii au fost implicate n dezvoltarea SET: IBM, Microsoft, Netscape, RSA, Terisa i Verisign. SET nu este un sistem de plat! SET este un set de protocoale de securitate: ce permite utilizatorilor s foloseasc infrastructura de pli cu cri de credit in Internet, ntr-un mod sigur. Prof.dr. C. Popescu Securitatea informatiei 31 Protocolul SET n esen, protocolul SET furnizeaz trei servicii: Un canal sigur de comunicare ntre toate prile implicate ntr-o tranzacie. Furnizeaz ncredere n utilizarea certificatelor digitale X.509v3. Asigur secretizarea informaiilor, astfel nct acestea s fie disponibile doar prilor implicate n tranzacie. Prof.dr. C. Popescu Securitatea informatiei 32 Cerine ale protocolului SET S furnizeze confidenialitatea plilor. SET utilizeaz criptarea pentru a realiza confidenialitatea. S asigure integritatea tuturor datelor transmise. Semnturile digitale sunt utilizate pentru a realiza integritatea. Prof.dr. C. Popescu Securitatea informatiei 33 Cerine ale protocolului SET S furnizeze autenticitatea astfel nct un deintor de carte de credit este utilizatorul legitim al contului crii de credit respective. Acest mecanism reduce frauda. Semnturile digitale i certificatele sunt utilizate pentru a verifica dac un deintor de carte de credit este utilizatorul legitim al contului crii de credit respective. Prof.dr. C. Popescu Securitatea informatiei 34 Cerine ale protocolului SET S furnizeze autenticitatea astfel nct un comerciant s poat s accepte tranzaciile cu cri de credit cu instituia financiar (banca). Pentru aceasta se folosesc semnturile digitale i certificatele. Prof.dr. C. Popescu Securitatea informatiei 35 Cerine ale protocolului SET S creeze un protocol care s nu depind de alte mecanisme de securitate a transportului i s nu mpiedice utilizarea lor: SET poate opera sigur deasupra protocolului TCP/IP SET nu interfereaz cu protocoale ca IPSec sau SSL/TLS. Prof.dr. C. Popescu Securitatea informatiei 36 Cerine ale protocolului SET S faciliteze i s ncurajeze interoperabilitatea ntre furnizorii de software i de reele: Protocolul SET este independent de platforma hardware Este idependent de sist. de operare sau de software-ul Web. Prof.dr. C. Popescu Securitatea informatiei 37 Componente SET Prof.dr. C. Popescu Securitatea informatiei 38 Tranzactia SET Cumprtorul deschide un cont i primete un card de la o banc care asigur pli electronice i SET. Cumprtorul primete, dup verificarea identitii, un certificat digital X.509v3 semnat de banc. Certificatul autentific cheia public RSA a cumprtorului i stabilete durata ei de valabilitate; de asemenea, prin certificat, banca garanteaz corespondena dintre perechea de chei a cumprtorului i cardul su. Vnztorul trebuie s aib certificate pentru dou chei deinute de el: cheia cu care semneaz i cheia folosit pentru schimbul de chei; trebuie s aib i o copie a certificatului cheii publice a porii de pli. Prof.dr. C. Popescu Securitatea informatiei 39 Tranzactia SET Cumprtorul emite un ordin de cumprare: aceasta implic selectarea articolelor pentru cumprare prin vizitarea on line a web site-ului vnztorului i trimiterea listei articolelor pe care le dorete ctre vnztor. Vnztorul trimite cumprtorului factura (OI -Order Information) care conine lista articolelor, preul lor, preul total i numrul facturii. Identitatea vnztorului este verificat de cumprtor cu ajutorul copiei certificatului vnztorului, pe care acesta o trimite odat cu factura. Cumprtorul trimite factura, informaia de plat (PI-Payment Information) i propriul certificat ctre vnztor. Factura confirm cumprarea articolelor incluse; informaia de plat conine datele despre cartea de credit, criptate astfel nct s nu poat fi citite de ctre vnztor; certificatul cumprtorului permite vnztorului s verifice identitatea acestuia. Prof.dr. C. Popescu Securitatea informatiei 40 Tranzactia SET Vnztorul cere autorizarea plii prin trimiterea ctre poarta de pli a informaiei de plat cernd s se verifice dac suma disponibil n contul cumprtorului este suficient pentru a se face plata cumprturii cerute. Vnztorul confirm acceptarea informaiei de plat ctre cumprtor. Vnztorul expediaz bunurile ctre cumprtor sau efectueaz serviciile cerute. Vnztorul cere efectuarea plii ctre poarta de pli care gestioneaz efectuarea plii. Prof.dr. C. Popescu Securitatea informatiei 41 Generarea semnaturii duale Prof.dr. C. Popescu Securitatea informatiei 42 Efectele semnaturii duale Vnztorul a primit OI i a verificat semntura Banca a primit PI i a verificat semntura Cumprtorul a legat OI de PI i poate dovedi aceast legtur Prof.dr. C. Popescu Securitatea informatiei 43