acp1 - iulia gheorghe - protocolul set (1)

10
Universitatea Tehnică Cluj - Napoca Raport de cercetare Protocolul SET Iulia Gheorghe Prof. indrumator: sl.dr.ing. Raul Malutan

Upload: calina-grosan

Post on 05-Jan-2016

9 views

Category:

Documents


0 download

DESCRIPTION

proiect sicas

TRANSCRIPT

Page 1: ACP1 - Iulia Gheorghe - Protocolul SET (1)

Universitatea Tehnică Cluj - Napoca

Raport de cercetare Protocolul SET

Iulia Gheorghe

Prof. indrumator: sl.dr.ing. Raul Malutan

Page 2: ACP1 - Iulia Gheorghe - Protocolul SET (1)

2

Cuprins

1. Introducere

2. Sesiunea SET

3. Descriere

4. Obiective

5. Criptografie

6. Mecanism de funcționare SET

7. Implementarea SET

8. Cerințe practice pentru SET

9. Concluzii

10. Bibliografie

Page 3: ACP1 - Iulia Gheorghe - Protocolul SET (1)

3

Introducere

SET a fost dezvoltat de către SET Consortiul, înființat în anul 1996 de către VISA și

MasterCard, în cooperare cu GTE, IBM, Microsoft, Netscape, SAIC, Terisa Systems, RSA, și

VeriSign. Scopul acestuia a fost de a combina asemănările dintre asociațiile de carduri, dar

care foloseau protocoale incompatibile (STT de la Visa/Microsoft și SEPP de la

Mastercard/IBM), într-un singur standard.

Datorită dezvoltării Internetului din ultimii ani, este posibilă achiziționarea online a

diverselor bunuri. Un impediment al dezvoltării acestei afaceri a fost neîncrederea

cumpărătorilor, deoarece este necesară dezvăluirea datelor personale de pe card. De

asemenea, nu este surprinzător faptul că a crescut rata fraudelor cu carduri de credit.

Mulţi comercianţi folosesc protocolul SSL în tranzacţiile de vânzare-cumpărare pe care le

efectuează cu clienţii. După stabilirea cheii de sesiune, clientul trimite la serverul

comerciantului detaliile produselor pe care doreşte să le cumpere şi informaţiile cardului de

credit. Comerciantul efectuează tranzacţia, apelând pentru verificarea cardului şi pentru plata

în sine la un alt site, care reprezintă compania de carduri de credit. Singurul impediment în

acest scenariu este că datele cardului de credit sunt aflate de comerciant. Acest lucru este

problematic în comerţul electronic datorită naturii anonime a Internetului şi pentru că doar

datele cardului sunt necesare pentru a efectua tranzacţii, nu şi cardul în sine; aceasta permite

unui comerciant neonest să folosească datele respective, fără ştirea proprietarului, până când

problema va fi descoperită.

Pentru încurajarea comerţului electronic în Internet, s-au dezvoltat protocoale care oferă

garanţii mai puternice de securitate. Unul dintre ele este SET, dezvoltat de VISA şi

MaterCard. În vreme ce SSL este un protocol de securitate la nivel de sesiune, care

garantează comunicaţia sigură pe parcursul unei sesiuni, SET este un protocol de securitate la

nivel de tranzacţie, care garantează securitatea unei tranzacţii de cumpărare, inclusiv un

commit atomic.

Sesiunea SET

O scurtă descriere a funcționării acestui protocol din perspectiva clientului ar fi

următoarea:

clientul accesează site-ul web al comerciantului, vizionează produsele acestuia și

selectează produsele pe care le dorește. Probabil există un coș de cumpărături virtual,

unde își poate ‘aduna’ cumpărăturile. La sfârșit, urmează partea de checkout. Îi va

apărea un pop up screen cu detalii privind prețul produselor selectate și a costurilor

adiționale (transport și alte taxe).

apoi clientul este întrebat ce metodă de plată dorește să aleagă – va alege plata cu

cardul utilizând protocolul SET.

imediat este activat un software de pe PC-ul utilizatorului, denumit Digital Wallet

(portofel online); clientul trebuie să selecteze tipul cardului cu care dorește să

efectueze plata.

clientul alege un card, iar apoi are loc realizarea tranzactiei electronice utilizând

protocolul SET; după câteva secunde apare confirmarea realizării tranzacției.

Page 4: ACP1 - Iulia Gheorghe - Protocolul SET (1)

4

Descriere

Protocolul SET este un protocol care implementează algoritmul RSA; RSA reprezintă

unul dintre cei mai folosiți algoritmi cu cheie publică, atât pe plan guvernamental, cât și pe

plan comercial.

Protocolul SET este extrem de complex și se bazează pe două idei noi:

fiecare client are propriul său certificat şi deci, o pereche de chei secretă/publică.

Aceste chei se folosesc pentru implementarea uneia dintre trăsăturile unice ale

protocolului, semnătura duală (dublă), care măreşte considerabil securitatea

tranzacţiei. Certificatul clientului conţine şi o amprentă (message digest) a numărului

cardului de credit împreună cu data expirării acestuia.

un server numit payment gateway, care operează în numele companiei de carduri de

credit. SET e un protocol cu 3 participanţi: clientul, vânzătorul şi serverul gateway.

Acesta din urmă e entitatea “de încredere” în scenariu.

Figura 2. Modul de realizare a comunicării

Ideea de bază a SET:

un client C va trimite vânzătorului V un mesaj compus din două părţi:

prima parte (m1) conţine suma de plată şi datele cardului de credit criptate cu Kpub_G

V nu poate accesa datele cardului de credit

a doua parte (m2) conţine suma de plată şi detaliile comenzii, criptate cu Kpub_V.

V trimite lui G prima parte a mesajului. G o decriptează, realizează plata, şi comite

tranzacţia

Page 5: ACP1 - Iulia Gheorghe - Protocolul SET (1)

5

Obiective:

SET adresează 7 obiective majore:

1. Confidențialitatea platilor și informațiilor legate de comanda (criptare)

2. Integritatea tuturor datelor (semnături digitale)

3. Autentificarea detinatorului de card si cont (certificate)

4. Autentificarea comerciantului (certificate)

5. Asigură siguranța tuturor părților implicate

6. Nu se bazează pe protocoale de transport securizate (TCP / IP)

7. SET este un protocol de plată (mesajele se referă la diferite etape într-o tranzacție card

de credit)

Criptografie

SET utilizează criptografia pentru îndeplinirea obiectivelor. Criptografia este știința care

se ocupă de criptarea mesajelor, convertind mesajul în clar în mesaj cifrat utilizând diferiți

algoritmi, apoi urmând procesul invers și anume transformarea textului criptat în text în clar

(decriptare), folosind aceiași algoritmi ca și la criptare sau algoritmi diferiți. Există două

metode de criptare: cu chei publice (PKC) sau cu chei private.

Criptografia cu chei private (criptare simetrică) a apărut în urmă cu mult timp. Cea mai

cunoscută implementare este DES, care este folosit de toate instituțiile financiare pentru

criptarea tranzacțiilor de debit și de credit. La trimiterea datelor se folosește o cheie pe 56 de

biți (cheie simetrică) pentru criptarea informațiilor, iar la decriptare se va folosi aceeași cheie.

Există implementări hardware și software care funcționează la viteze mari pentru criptare și

decriptarea DES.

O tehnică de criptare mult mai sigură este criptarea folosind chei publice (Public Key

Cryptography - PKC), numită și criptare cu chei asimetrice și folosește două chei pentru

criptare și decriptare. Una dintre chei (nu contează care) este folosită la criptare, iar cealaltă

este folosită la decriptare. Această tehnică este folosită si pentru protocolul SET; criptarea și

decriptarea cu PKC este relativ înceată.

Mecanism de funcționare SET

Metoda a fost dezvoltată ținând cont de obiectivele de bază ale SET: confidențialitate,

integritate și de autentificare atât ale expeditorului și receptorului.

Pentru a asigura integritatea, vom folosi un algoritm ‚one way hashing’ asupra mesajului

pentru a genera un mesaj rezumat. Acest algoritm folosește metode statistice pentru a calcula

o sumă de control (sau un mesaj rezumat), de la personajele din mesaj. Dacă se schimbă

conținutul sau poziția chiar a unui singur caracter, mesajul rezumat nu se va potrivi. Pentru a

asigura acest mesaj de manipulare, el este criptat folosind cheia privată a expeditorului.

Forma criptată a mesajului se numește semnătura digitală a expeditorului. Receptorul poate

decripta mesajul folosind cheia publică a expeditorului, regenerează mesajul și îl compară.

Aceasta ne asigură, de asemenea, că mesajul a venit într-adevăr de la expeditor (nimeni nu

Page 6: ACP1 - Iulia Gheorghe - Protocolul SET (1)

6

mai știe cheia privată a expeditorului) și, prin urmare, realizează obiectivul de autentificare a

expeditorului.

Pentru a asigura confidențialitatea, întregul mesaj este criptat. Având în vedere că mesajul

ar putea fi mare, vom folosi criptarea simetrică. O cheie simetrică generată aleator va fi

folosită pentru a cripta mesajul. Pentru a asigura cheia simetrică în sine, aceasta este criptată

folosind cheia publică a receptorului.

În final, mesajul criptat simetric și cheia simetrică aleator criptată folosind cheia publică a

receptorului sunt trimise la receptor. Doar receptorul poate decripta cheia simetrică, deoarece

numai el deține cheia privată a receptorului. Astfel am realizat autentificarea receptorului.

Receptorul folosește cheia sa privată pentru a decripta cheia simetrică aleatoare. Apoi, el

folosește această cheie simetrică aleatoare pentru a decripta mesajul principal. El localizează

semnătura digitală a expeditorului și folosind cheia publică a expeditorului, el se decriptează

și preia mesajul. El regenerează mesajul folosind cunoscută funcția hash și îl compară cu

mesajul recuperat. În cazul în care acestea se potrivesc, el este asigurat că mesajul nu a fost

modificat și are originea într-adevăr, la expeditor.

Un ultim lucru trebuie să fie acoperit: conceptele de certificate digitale și a autorităților de

certificare. Înainte ca două părți să inceapă comunicarea, fiecare vrea să se asigure de

autenticitatea cheii publice a celeilalte părți. De exemplu, cum este receptorul sigur că, cheia

publică a expeditorului este ceea ce s-a menționat în mesaj și nu altceva ? Pentru a rezolva

acest lucru, vom folosi părți terțe, de incredere, numite autorități de certificare (Certifying

Authorities - CAs). O autoritate de certificare ar putea fi o instituție financiară, un organism

guvernamental, un organism internațional sau un brand de carte (cum ar fi Visa sau

MasterCard). O autoritate de certificare ar crea un document digital care conține detalii ale

entității și cheia publică iar apoi să-l semneze digital (acest lucru presupune crearea unui

mesaj rezumat și criptarea se sub cheia privată a CA). Acest document digital este denumit

certificat digital. O analogie bună pentru acest lucru este atunci când ducem un certificat de

naștere (cheia publică) la Departamentul Consular (autoritatea de certificare) pentru a obține

o atestare (semnătură digitală) pentru a avea un certificat de naștere atestat (certificat digital).

Din moment ce oamenii au încredere în consulat (CA), ei vor avea încredere în certificatul de

naștere atestat (certificat digital).

Ce se întâmplă dacă expeditorul sau destinatarul nu știe de existența (nu are încredere),

autorității de certificare în sine? Acest lucru se poate întâmpla foarte des, dacă cele două părți

sunt în țări diferite. Pentru a depăși acest lucru, SET mandatează stabilirea unei ierarhii de

încredere. Acest lucru înseamnă că insăși autoritatea de certificare (CA) va avea încredere

întro instituție-‘părinte’ CA, care, la rândul său, va avea încredere în altă CA până când se

ajunge la o CA rădăcină, care este de încredere pentru toată lumea. De exemplu, o instituție

financiară din Emiratele Arabe Unite pot fi încredințată de către biroul regional al Visa sau

MasterCard, care la rândul său este încredințat de către biroul internațional Visa sau

MasterCard, care, la rândul lor, pot fi încredințate de către un organism al ONU. Organismul

ONU poate fi considerat CA rădăcină, în care se încrede toată lumea. Astfel, fiecare

autoritate funcționează pentru nivelul de mai jos, prin emiterea de certificate digitale.

Receptorul va autentifica expeditorul traversând această ierarhie de ‘încredere’ până la CA

rădăcină. Întro implementare efectivă, tot acest proces ar trebui să ia doar câteva secunde,

deoarece este complet automatizat.

Page 7: ACP1 - Iulia Gheorghe - Protocolul SET (1)

7

Implementarea SET

Înainte de a aplica acest lucru la o aplicare efectivă SET, să examinăm în primul rând

modul în care o tranzacție de card de credit este procesată în lumea fizică, non-SET.

Titularul cardului prezintă cardul la comerciant, care, la rândul său va trece cardul

printr-un terminal POS.

Un mesaj electronic conținând numărul de card și suma este apoi trimis la banca cu

care comerciantul este asociat.

Banca asociată, la rândul său, transmite mesajul computerului central al brandului

cardului (Visa sau MasterCard).

Acest brand va transmite mesajul către banca emitentă, care a emis inițial cardul

titularului cardului.

Banca emitentă verifică limita de credit disponibilă pe card și trimite înapoi o

autorizație.

Această autorizație călătorește tot drumul înapoi, până când se ajunge la terminal POS

al comerciantului.

Am descris anterior modul în care tranzacția va progresa într-un mediu SET. Dar, în

funcție de mecanismele SET, va fi descris acest lucru în detaliu:

Titularul cardului merge la site-ul unui comerciant și selectează elementele pe care el

sau ea vrea să cumpere. Titularul cardului va face clic apoi pe butonul de verificare

virtuală sau echivalentul acestuia.

Acest lucru declanșează portofelul electronic pe PC-ul deținătorului de card.

Software-ul prezintă mai multe carduri de credit pe care le deține titularul cardului, iar

unul va fi ales. Acest portofel electronic primește, de asemenea, certificatele digitale a

două entități: comerciant și banca achizitoare (numit, de asemenea, un gateway de

plată). Aceste două certificate sunt validate prin traversarea ierarhiei de încredere,

prin mesaje trimise pe Internet tuturor entităților aflate de-a lungul lanțului de

încredere.

Software-ul portofel generează apoi un mesaj care conține două părți: informațiile

legate de comandă și informațiile de plată. Informațiile legate de comandă conțin

informații care să confirme comanda, în timp ce informațiile de plată conțin numărul

cardului și suma aferentă. Informațiile de plată sunt criptate folosind o cheie simetrică

aleatoare, care la rândul său este criptată cu cheia publică a gateway-ului de plată,

astfel încât numai gateway-ul de plată poate decripta. Cu alte cuvinte, comerciantul nu

va ști niciodată detaliile numărului de card al clientul său. Aceste date sunt trimise în

mod automat către site-ul comerciantului.

Calculator comerciantului va valida mai întâi certificatul digital al deținătorului de

card. Apoi, acesta va trimite informațiile de plată la gateway-ul de plată (care este

calculatorul băncii achizitoare) .

Gateway-ul de plată va verifica certificatele digitale atât ale comerciantului cât și ale

titularul cardului și va decripta mesajul pentru a accesa numărul de card și suma.

Apoi, gateway-ul de plată va interfața cu sistemele de la banca achizitoare pentru a

trimite tranzacția brandului cardului (Visa sau MasterCard), care apoi se trimite la

banca emitentă pentru autorizare.

Acest răspuns de autorizare este apoi criptat în mod obișnuit și trimis la comerciant,

care, la rândul său va valida mesajul și va stoca răspunsul. Atunci comerciantul va

face aranjamentele pentru livrarea produselor.

Page 8: ACP1 - Iulia Gheorghe - Protocolul SET (1)

8

Toate aceste tranzacții au loc pe Internet și sunt destul de transparente pentru posesorul

cardului.

Un sistem SET include următorii participanți, după cum se observă și din figura de mai

jos:

Posesorul cardului (Cardholder)

Comerciant (Merchanrt

Banca emitentă a cardului (Issuer)

Banca achizitoare (Acquirer)

Gateway de plată (Payment gateway)

Autoritate de certificare (Certification authority)

Figura 1. Participanți la plata realizată utilizând protocolul SET

Practic, pentru a folosi SET, clientul (deţinătorul cardului) trebuie să obţină şi să instaleze

software-ul pentru SET (partea de client) şi un cont pentru card de credit care să suporte SET

şi pentru care să se furnizeze certificatul necesar. Vânzătorul trebuie să instaleze software-ul

SET specific, partea de vânzare şi să-l integreze cu sistemul său storefront. Cerinţele

software-ului SET pentru vânzător sunt mai complexe, deoarece acesta va trebui să realizeze

comunicarea atât cu clientul, cât şi cu portalul de plăţi (payment gateway).

Cerințe practice pentru SET

SET a fost introdus și funcționează cu succes în mai multe țări europene. Premisele

pentru SET sunt:

Banca emitentă va trebui să solicite ca posesorii săi de carduri să achiziționeze

certificate digitale. De obicei, aceasta va furniza un portofel electronic, care va stabili

un certificat digital pentru titularul cardului automat.

Trebuie să fie un număr rezonabil de site-uri web comerciante care susțin SET. Pentru

ca acest lucru să se întâmple, băncile achizitoare comercianților trebuie să pună în

aplicare gateway-uri de plată. Software-ul gateway de plată este acum disponibil de la

Page 9: ACP1 - Iulia Gheorghe - Protocolul SET (1)

9

mai mulți furnizori de software de certificați. În prezent, numărul de site-uri web

activate pentru SET este mic; cu toate acestea, numărul lor este de așteptat să crească

substanțial în viitorul apropiat. O listă de site-uri care utilizează SET este disponibilă

pe site-urile web ale MasterCard (www.mastercard.com) și Visa (www.visa.com).

Concluzii

SET este un protocol care permite cumpărături pe Internet extrem de sigure cu ajutorul

cardurilor de credit. Acesta a fost dezvoltat de Visa și MasterCard ca răspuns la problemele

de securitate a tranzacțiilor de pe Internet. Creșterea explozivă a tranzacțiilor pe Internet va fi

alimentată pe deplin de SET. Protocolul SET este încă în dezvoltare și este în prezent în curs

de dezvoltare pentru a acoperi tranzacțiile cu carduri de debit, de asemenea.

Un avantaj al acestui protocol ar fi faptul că este o tranzacție simplă pentru cumpărături,

realizându-se următoarele schimburi:

4 schimburi de mesaje între vânzător și consumator

2 schimburi de mesaje între vânzător și payment gateway

6 semnături digitale

9 cicluri de criptare/decriptare RSA

4 cicluri de criptare/decriptare DES

4 verificări de certificate

La fel ca orice alt protocol, SET prezintă și câteva dezavantaje:

Existența unor servere care trebuie să păstreze copii ale certificatelor

Consumatorii și vânzătorii trebuie să instaleze aplicații soft care permit procesarea

tranzacțiilor SET

Vânzătorii trebuie să aibă un cont cu o banca achizitor sau un POS care să accepte

tranzacții SET

Page 10: ACP1 - Iulia Gheorghe - Protocolul SET (1)

10

Bibliografie

Suportul de curs Tehnici de secretizare a informatiei – prof.dr.ing Monica Borda

SET Secure Electronic Transaction Specification: Book 1: Business Description

Mark S. Merkow (2004). "Secure Electronic Transactions (SET)". In Hossein Bidgoli. The

Internet Encyclopedia. John Wiley & Sons. pp. 247–260. ISBN 978-0-471-22203-3.

Stallings, William (Nov 1, 2000). "The SET Standard & E-Commerce". Dr. Dobbs.

SET Secure Electronic Transaction Specification (V1.0) Book 1. Mastercard and Visa. May

1997.

SET Secure Electronic Transaction Specification (V1.0) Book 2. Mastercard and Visa. May

1997.

SET Secure Electronic Transaction Specification (V1.0) Book 3. Mastercard and Visa. May

1997.

External Interface Guide to SET Secure Electronic Transaction. Mastercard and Visa.

September 1997.

SETco Main Page, SETco, archived from the original on 2002-09-28, retrieved 2013-11-07