http://ssc.users.ro curs 2 – cloud si bazele criptografiei bogdan carstoiu 1

29
http://ssc.users.ro Curs 2 – Cloud si bazele criptografiei Bogdan Carstoiu 1

Post on 21-Dec-2015

221 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Http://ssc.users.ro Curs 2 – Cloud si bazele criptografiei Bogdan Carstoiu 1

http://ssc.users.ro

Curs 2 – Cloud si bazele criptografiei

Bogdan Carstoiu

1

Page 2: Http://ssc.users.ro Curs 2 – Cloud si bazele criptografiei Bogdan Carstoiu 1

Cloud computing (definitii)

• „Cloud computing” - dezvoltarea si folosirea de tehnologie de calcul prin intermediul retelei Internet.

• „Cloud computing” - paradigma de calcul in care informatia este permanent stocata pe servere de pe Internet si adusa temporar pe dispozitivele clientilor, cum ar fi: desktop-uri, notebook-uri, senzori, monitoare, smart phone, etc.

• Def. Buyya - Cloud este un tip de sistem paralel si distribuit alcatuit dintr-o colectie de calculatoare virtual interconectate care sunt dinamic dimensionate si prezentate ca una sau mai multe resurse unificate bazate pe un nivel de serviciu agreat stabilit in timpul negocierii dintre furnizorul de servicii si consumator.

2

Page 3: Http://ssc.users.ro Curs 2 – Cloud si bazele criptografiei Bogdan Carstoiu 1

Caracteristici cloud

Avantaje: • Minimizarea costurilor si predictibilitatea lor• Independenţa de locaţie si echipament de conectare• Monitorizarea performantelor si asigurarea consistentei - (SLA)• Disponibilitate ridicata – locatii redundante • Scalabilitate ridicata• Securitate – aspect controversat

– Imbunatatita datorita centralizarii datelor si a cresterii resurselor alocate pentru asigurarea securitatii.

– Puncte slabe: utilizarea canalelor de comunicatie publice si proprietatea datelor.

• Utilizarea eficienta a resurselor• Partajarea resurselor si a costurilor de achizitie si exploatare intre un numar

mare de utilizatori

Dezavantaje:• Probleme de securitate!!!• Poate fi o capcana - forteaza achizitionarea de sisteme inchise.

3

Page 4: Http://ssc.users.ro Curs 2 – Cloud si bazele criptografiei Bogdan Carstoiu 1

Organizarea pe niveluri

• Infrastructura sau IaaS (Infrastracture as a Service): stocare, putere de calcul

• Platforma sau PaaS (Platform as a Service) se materializeaza prin furnizarea de platforme de calcul ca servicii: baze de date

• Aplicatie sau SaaS (Software as a Service) ofera acces la aplicatie fara a o instala si rula pe calculatorul clientului: Salesforce, Google Docs

• Serviciile reprezinta un sistem (sau mai multe sisteme) software proiectat(e) pentru a suporta interactiuni masina-masina prin intermediul unei retele.

• Clienţii sunt reprezentati de componentele hardware si/sau software care se bazeaza pe Internet pentru furnizarea aplicatiei

4

Clienti

Servicii

Aplicatie

Platforma

Stocare

Infrastructura

Page 5: Http://ssc.users.ro Curs 2 – Cloud si bazele criptografiei Bogdan Carstoiu 1

Model arhitectura cloud

5

User User UserUser User UserUser

Examinare Cereri Servicii si Control Furnizare· Managementul serviciilor cerute de client· Managementul riscului computational · Managementul automat al resurselor

Politica pret

MonitorVM

Taxare

Dispecer Monitor Servire Cereri

Server Server Server Server Server Server Server Server

Server Server

Server

Server Server

Server

Server Server

Server

Util

izat

ori/

Bro

keri

Mas

ini

Virt

uale

Mas

ini

Fiz

ice

Page 6: Http://ssc.users.ro Curs 2 – Cloud si bazele criptografiei Bogdan Carstoiu 1

Riscuri securitate cloud

• Privileged user access. Date sensibile prelucrate in afara companiei.• Regulatory compliance. Clientii sunt responsabili de securitatea si

integritatea datelor proprii. Furnizorii de servicii supusi la audituri externe si certificari de securitate.

• Data location. Nu se cunoaste locatia in care datele sunt stocate, in ce tara si care sunt jurisdictiile zonei.

• Data segregation. Datele sunt pastrate intr-un mediu partajat sunt criptate dar criptarea nu rezolva tot. Necesita o cale pentru a separare a datelor. Accidentele provenite din criptare pot face datele complet neutilizabile.

• Recovery. Ce se intampla cu datele in caz de dezastru? Are furnizorul posibilitatea de restaurare completa a datelor?

• Investigative suport. Investigarea activitatii necorespunzatoare sau ilegala poate fi imposibila.

• Long-term viability. In ce masura pot fi datele recuperate dupa intreruperea serviciilor?

6

Page 7: Http://ssc.users.ro Curs 2 – Cloud si bazele criptografiei Bogdan Carstoiu 1

Aspecte securitate Cloud (1)

Security and Privacy. Pentru a se asigura ca datele sunt sigure, nu pot fi accesate sau pierdute si ca proprietatea datelor este gestionata corect:– Protectia datelor. Separarea datelor apartinand clientilor diferiti, stocarea si

mutarea securizata intre locatii. Sisteme care sa previna scurgerea datelor si acesul de catre terti. Auditarea si monitorizarea nu poate fi eliminate nici chiar de utilizatorii privilegiati.

– Managementul identitatii. Fiecare companie va avea propriul sistem de management al identitatii pentru controlul accesului la informatii si resurse de calcul.

– Securitate fizica si personala. Asigura ca masinile fizice sunt securizate corespunzator si ca accesul persoanelor neautorizate la aceste masini nu este posibil.

– Disponibilitate. Asigura clientul ca are acces regulat si predictibil la propriile date si aplicatii

– Securitatea aplicatiilor. Aplicatiile sunt disponibile ca serviciu si securizate. Se folosesc firewall-uri aplicatie in mediul de productie.

– Privacy. Datele critice sunt mascate (ex: numar carte credit) si numai cei autorizati au acces la ele.

7

Page 8: Http://ssc.users.ro Curs 2 – Cloud si bazele criptografiei Bogdan Carstoiu 1

Aspecte securitate Cloud (2)

Compliance. – Continuitatea operarii si recuperarea datelor. Garantarea faptului

ca serviciile vor fi mentinute in caz de dazastru si ca orice date pierdute vor fi recuperate. Aceste planuri sunt disponibile si acceptate de catre client.

– Jurnalul de log si audit trebuie corespunzator securizat, mentinut pentru intervalul de timp cerut de catre client si accesibil pentru orice investigatie.

– Cerinte de conformitate. Centrele de date intretinute de furnizorii cloud pot avea cerinte suplimentare de conformitate.

Aspecte juridice si contractuale. In afara de problemele de securitate furnizori de cloud si clientii vor negocia raspunderea in cazul pierderilor de date, proprietatea intelectuala, intreruperea serviciilor (aducerea datelor la client). Tratarea aspectelor juridice legate de pastrarea inregistrarilor asa cum sunt cerute de reglementarile in vigoare.

8

Page 9: Http://ssc.users.ro Curs 2 – Cloud si bazele criptografiei Bogdan Carstoiu 1

Tehnologii de securitate in Cloud

• Firewall/VPN. Nu aduce nimic nou. Tehnologia are aplicabilitate mai ales in domeniul Iaas, dar din ce in ce mai mult apare necesitatea de a apara aplicatiile software oferite ca serviciu. Exista aplicatii web cu tehnologia de securitate corespondenta Web Firewall.

• IPS. Are aplicabilitate exclusiv in zona IaaS. La aplicatiile web functia este de regula suplinita de web firewall.

• Anti-malware. Domeniul de bază este IaaS. • Data Loss Prevention. Lucru oarecum nou, DLP este o tehnologie

tanara aparuta prin 2005-2006.• Web Security/URL Filtering. Poate fi disponibila si ca tehnologie in

contextul Iaas si SaaS.• Orice tehnologie de securitate pentru perimetre poate fi implementata

si in cazul IaaS.

9

Page 10: Http://ssc.users.ro Curs 2 – Cloud si bazele criptografiei Bogdan Carstoiu 1

Necesitatea criptarii - caracteristici

Scenariu• Doua persoane comunica printr-un canal de comunicatie ce

traverseaza o retea publica.

Atacatorul dispune de putere de calcul si doreste interceptrarea datelor.

Ce urmareste criptografia?• Asigurarea faptului ca datele schimbate de cele 2 parti sunt private• Integritatea si autenticitatea datelor

10

Sursa Destinatie

Retea publicaMes

Atacator

Page 11: Http://ssc.users.ro Curs 2 – Cloud si bazele criptografiei Bogdan Carstoiu 1

Date private, Integritate si Autenticitate

Date Private:

Adversarul nu poate vedea sau obtine datele din mesajul MES

Ex: MES poate fi un numar de carte de credit transmis de un cumparator (sursa) la server (destinatia) pe care atacatorul nu trebuie sa-l vada

Integritate si Autenticitate: • MES este generat de sursa nu de altcineva• MES nu a fost modificat in transportul de la sursa la destinatie

Ex de atac ideal:

1. Alice trimite la banca mesajul: Plateste 100 $ lui Bob

2. Atacatorul:• Modifica destinatia din Bob in Eve• Modifica suma din 100 in 1000

11

Page 12: Http://ssc.users.ro Curs 2 – Cloud si bazele criptografiei Bogdan Carstoiu 1

Exemplu: Baza de date medicala

Consideram baza de date cu inregistrari medicale de natura confidentiala la care doctorul are acces.

• Date private: Fa si Fa’ sunt confidentiale• Integritate si autenticitate: doctor autorizat sa citeasca datele lui Alice, Fa si

Fa’ nu sunt modificate in trafic, Fa este trimis de baza de date, Fa’ este trimis de doctor.

12

Alice Fa

Bob Fb

Doctor Baza de dateGet Alice

FaCiteste: Fa

Modifica: Fa’ Put: Alice, Fa’ Alice Fa’

Bob Fb

Page 13: Http://ssc.users.ro Curs 2 – Cloud si bazele criptografiei Bogdan Carstoiu 1

Schema criptografica

Solutie ideala: • Delimitarea canalului de comunicatie, izolarea ca intr-o “teava” in interiorul

caruia nu se poate patrunde sau altera continutul.• Nu poate fi realizata!Solutia practica:• Criptarea la transmisie si decriptarea la receptie.

Ke: cheie de criptare Kd: cheie de decriptareE: Algoritm criptare D: Algoritm decriptareC: Mesajul criptat de transmis C’: Mesajul criptat receptionat

MES: Mesaj C: (Ciphertext)13

E DKe

MES

C C’Kd

MES sau ER

Page 14: Http://ssc.users.ro Curs 2 – Cloud si bazele criptografiei Bogdan Carstoiu 1

Elemente definitorii criptografie

Modalitati:• Asimetrica (cheie publica), in care: Ke publica, Kd secreta• Simetrica (cheie privata), in care: Ke = Kd secreteProbleme:• Cum se distribuie cheile?Ce urmarim:• Cum definim scopul securizarii?• Cum proiectam algoritmul de criptare (E) si decriptare (D)?• Care este increderea atingerii scopului de catre E si D?Computer Security: Cum protejaza sistemul Ke/Kd de virusi, worms, brese

de securitate ale sistemului de operare etc.Criptografie: Cum se utilizeaza Ke , Kd pentru a asigura securitatea

comunicatiei peste o retea nesigura.Probleme criptografie:• Nu pot fi anticipate strategiile adversarului: infinitate de posibilitati• Testarea completa nu este posibila si datorita numarului mare de

posibilitati de atac

14

Page 15: Http://ssc.users.ro Curs 2 – Cloud si bazele criptografiei Bogdan Carstoiu 1

Cifruri cu substitutie

Daca Ke =Kd si avem permutare secreta pe alfabetul ∑, cu ∑={A,B,C,…}, atunci:

Ke=Kd=π: ∑→∑ si π este:

Atunci:

E π(CAB) = π(C) π(A) π(B) = ZEA si

D π(ZEA) = π-1(Z) π-1 (E) π-1 (A) = CAB

Obs: Nu este sigura, un puzzle.

15

A B C D E F

π E A Z U K M

Page 16: Http://ssc.users.ro Curs 2 – Cloud si bazele criptografiei Bogdan Carstoiu 1

Criptarea OTP

Criptarea One-Time-Pad (OTP)• Ke=Kd=K <- {0,1}k , adica K ales aleator din {0,1}k

• Pentru orice MES Є {0,1}k

Ek(MES)=K MESDk(C) =K C

Teorema (Shannon): OTP este perfect sigur atata timp cat un singur mesaj este criptat. Este cazul ideal!

• “Perfect" securizat in acceptiune Shannon inseamna ca este imposibil matematic de a sparge schema de criptare

• In fapt, daca |MES| > |K|, atunci nici o schema nu este perfect sigura.

• Securitatea in sistemele practice nu se refera la imposibilitatea matematicade a sparge sistemul ci la dificultatile de calcul pentru spargerea sistemului.

• De regula, in practica mesajul are mai multi biti decat cheia

16

+

+

Page 17: Http://ssc.users.ro Curs 2 – Cloud si bazele criptografiei Bogdan Carstoiu 1

Criptografia moderna (problema factorizarii)• In loc sa spunem ca este imposibila spargerea schemei spunem ca atacurile pot

exista, dar costurile de realizare sunt prohibitive. (Ex: Un atac care are nevoie de 2160 pasi duce la spargere cu probabilitate de 2-20).

• Criptografia nu este numai matematica, ci trebuie adusa in stiinta calculatoarelor prin prisma complexitatii calculului si a algoritmilor implementati.

Ce trebuie sa faca o schema de criptare pentru a pastra datele private?Asta inseamna ca avand C = EKe (MES), adversarul nu poate:• reface mesajul MES?• regasi primul bit al lui MES?• regasi macar unul dintre biti lui MES?

Problema factorizariiFormulare: Daca se da numarul N sa se obtina factorii primi ai lui N.Ex: Se da 85, factorii primi: 17,5.Daca scriem programul de obtinere a factorilor unui numar N, pare simpluAlg Factor(N) // N produsul a doua numere prime

For i=2;3;…[√N]If N mod i =0 then return i

Acesta este foarte lent daca N este foarte mare (500 digiti).Concluzie: Nimeni nu poate calcula repede in acest moment factorii primi ai unui

numar. Cel mai bun algoritm este sub-exponential.

17

Page 18: Http://ssc.users.ro Curs 2 – Cloud si bazele criptografiei Bogdan Carstoiu 1

Tratarea ierarhica, primitive

Primitive atomice:• Factorizarea: Fiind dat un numar N foarte mare N = pq, se cere sa sa gaseasaca

factorii p si q;• Primitive de criptare bloc: DES, AES, ...• Functii Hash : MD5, SHA1, ...Primitive de nivel inalt:• Scopul de rezolvare a problemei de securitate• Example: criptare, autentificare, semnatura digitala, distributie chei…Abordarea tipica: prin transformari de la primitivele atomice spre cele de nivel inalt.

Procesul de transformare este legatura slaba.

Criptografia utilizeaza:• Teoria numerelor: baza sistemului modern cu cheie publica RSA• Combinatorica• Algebra moderna• Teoria probabilitatilor

18

Primitive atomice Transformari Primitive de nivel inalt

Page 19: Http://ssc.users.ro Curs 2 – Cloud si bazele criptografiei Bogdan Carstoiu 1

Criptare clasica

Schema criptare simetrica, notata SE={K,E,D} necesita implementarea a trei algoritmi:

• Generare cheie {K}• Algoritm criptare {E}• Algoritm decriptare {D}

• Decriptarea este corecta daca pentru toate perechile k, MES relatia DK(EK(MES))=MES este adevarata.

Definitii:• Numim alfabet multimea simbolurilor primitive utilizate (∑);• Notam multimea tuturor sirurilor peste alfabetul ∑ cu ∑*.

19

E D

K

MES MESc

Page 20: Http://ssc.users.ro Curs 2 – Cloud si bazele criptografiei Bogdan Carstoiu 1

Cifru prin substitutie

Def: Un cifru prin substitutie peste un alfabet ∑ este o schema de criptare simetrica SE+(K,E,D) in care cifrul de iesire prin K este o permutare π: ∑→∑

• Alfabet: notat ∑ ca totalitatea simbolurilor permise• O cheie este o permutare π: ∑→∑ ce defineste regulile de

codificare• Mesajul initial cuprinde numai simboluri din alfabet MES Є∑* si este

un sir peste ∑

• Criptarea lui MES = M[1] M[2]…M[n] esteC = π(M[1])……. π(M[n])

• Decriptarea lui C = C[1]…..C[n] esteMES = π -1(C[1])….. π -1(C[n])

20

Page 21: Http://ssc.users.ro Curs 2 – Cloud si bazele criptografiei Bogdan Carstoiu 1

Criptanaliza (1)

Principalul scop al adversarului este cel de recuperare a mesajului in clar pornind de la mesajul criptat C. Pentru asta trebuie sa calculeze MES = D(π,C).

• Aceasta este foarte simpla daca adversarul cunoaste π , si de aici π -1, dar adversarul nu il cunoaste pentru ca nu detine cheia.

• El nu cunoaste ce sistem de criptare a fost folosit (aici substitutia).

• In unele cazuri proiectantii spera sa asigure securitatea prin pastrarea secreta a descrierii procedurii de criptare E, dar impiedica standardizarea si utilizarea.

• Adversarii incearca sa faca inginerie inversa a descrierii lui E pornind de la codul executabil.

• Principiul Kerchoff porneste de la presupunerile:– Adversarii cunosc sistemul– Singurul lucru necunoscut este cheia utilizata

21

Page 22: Http://ssc.users.ro Curs 2 – Cloud si bazele criptografiei Bogdan Carstoiu 1

Criptanaliza (2)

22

Adversarul detine textul cifrat!

• Utilizeaza informatia statistica privind frecventa aparitiilor caracterelor intr-o anumita limba. Ex, in engleza la texte tipice:

E este cel mai frecvent;Urmatoarele caractere in ordine sunt: T; A; O; I; N; S; H; R• Ca urmare litera cu cea mai mare frecventa este cel

mai probabil E. • Se construieste pentru fiecare litera din mesajul criptat

vectorul numarului de aparitii. De ex, daca X are cel mai mare numar de aparitii π(E)=X;

• Se face analiza de dictionar. Se cauta cuvintele cu 2 litere (de ex in textul criptat OX, in care X este substitutia lui E. Atunci substitutia lui O poate fi π-

1(O)={B,H,M,W} si cel mai probabil este H deoarece ne bazam pe frecventa de aparitie.

• Din aproape in aproape se construieste permutarea si se obtine mesajul.

Page 23: Http://ssc.users.ro Curs 2 – Cloud si bazele criptografiei Bogdan Carstoiu 1

Criptanaliza (3)

23

Caracteristici:

• Pentru a avea succes criptanaliza necesita text criptat de lungime mare

• Este dificil de refacut daca nu se respecta semnele de punctuatie (fara permutare la semne de punctuatie).

• Substitutia a fost destul de raspandita si variante sau imbunatatiri se utilizeaza si astazi.

• Substitutia nu este definitiv compromisa.• Prima schema cunoscuta – Cifrul lui Cezar.

Obs finala:

• Slabiciunea cifrarii bazata pe substitutie consta in faptul ca acelasi simbol este codificat in acelasi mod.

Page 24: Http://ssc.users.ro Curs 2 – Cloud si bazele criptografiei Bogdan Carstoiu 1

Criptarea OTP

• Cheia K este un sir aleator de m biti K={0,1}m;• Mesajul in clar este un sir cu lungimea de m biti M ={0,1}m • La criptare se face suma modulo 2 intre cheie si mesaj

obtinand mesajul criptat C• La decriptare se face suma modulo 2 intre cheie si mesajul

criptat si se obtine MSa examinam exemplul de votare:• Presupunem reprezentarea lui D prin 1 si a lui N prin 0;• Votantii V1,…..,Vm voteaza 1, 0, 1, 1, 0,…• Presupunem M = 10110• Mesajul criptat este C = K + M• Adversarul are C dar nu cunoaste K si nu poate determina

doua persoane cu acelasi vot• Chiar daca adversar este V1 si cunoaste ca votul lui este 1,

nu poate determina voturile celorlalti

24

Page 25: Http://ssc.users.ro Curs 2 – Cloud si bazele criptografiei Bogdan Carstoiu 1

Masura securitatii (1)

Daca notam SE = (K, E,D) ca fiind o schema simetrica de criptare, pentru fiecare mesaj M si un cifru C definim probabilitatea

Pr [Ek(M) = C], ca probabilitatea de alegere a oricarei chei k din K sa produca cifrul.

Daca consideram urmatoarea codificare in care la intersectia dintre linie si coloana avem mesajul cifrat Ek(M).

Mesaj

25

00 01 10 11

00 01 10 11 00

01 01 11 10 00

10 00 11 01 11

11 11 10 01 11

Chei

Page 26: Http://ssc.users.ro Curs 2 – Cloud si bazele criptografiei Bogdan Carstoiu 1

Masura securitatii (2)

Daca calculam:Pr [Ek(00) = 01] = 2/4=1/2Pr [Ek(01) = 01] = 0Pr [Ek(10) = 11] = ¼

Definitie: Daca notam SE = (K, E,D) schema de criptare simetrica, spunem ca SE este perfect sigura daca pentru oricare doua mesaje M1 si M2 si orice cifru C, Pr [EK(M1) = C] = Pr [EK(M2) = C]

Intuitiv: Fiind dat C chiar cunoscand ca mesajul este fie M1, fie M2 adversarul nu poate determina care este acesta.

Definitia cere ca pentru toate M1, M2 si C sa avemPr[EK(M1) = C] = Pr[EK(M2) = C]In exemplul anterior nu avem o shema perfect sigura deoarece

pentru M1 = 00, M2 = 01 si C = 01 obtinem Pr [EK(M1) = C] # Pr [EK(M2) = C], adica ½ # 0.

26

Page 27: Http://ssc.users.ro Curs 2 – Cloud si bazele criptografiei Bogdan Carstoiu 1

Masura securitatii (3)

Criptarea prin substitutie nu este perfect sigura.Notand SE = (K,E,D) ca fiind schema de criptare prin substitutie peste

alfabetul limbii engleze cu 26 litere, k este o permutare. Daca luam orice test format din 3 litere vom arata ca probabilitatile sunt diferite.

Fie M1, M2, C in ∑3, aratam ca Pr [E π(M1) = C] # Pr [E π(M2) = C], unde am inlocuit K cu π intrucat cheia este o permutare.

Daca C = XYY, M1 = FEE si M2 = FAR• Pr [E π(M2) = C] = Pr [π(F) π(A) π(R) = XYY] = 0, deoarece π(A) nu

poate fi egal cu π(R)• Pr [E π(M1) = C] = Pr [E π(FEE) = XYY]=

27

650

1

!26

!24

|)(|

|)}()()(:)({|

Perm

EEFPerm

Page 28: Http://ssc.users.ro Curs 2 – Cloud si bazele criptografiei Bogdan Carstoiu 1

Masura pentru OTP (1)

Notand SE = (K,E,D) pentru o schema OTP cu cheia de lungime m>1, schema este perfect securizata, adica pentru orice M1,M2,C:

Pr [EK(M1) = C] = Pr [EK(M2) = C]

adica

Pr [K + M1 = C] = Pr [K + M2 = C], cand K <-{0,1}m.

Se obtine cifrul:

28

00 01 10 11

00 00 01 10 11

01 01 00 11 10

10 10 11 00 01

11 11 10 01 00

Page 29: Http://ssc.users.ro Curs 2 – Cloud si bazele criptografiei Bogdan Carstoiu 1

Masura pentru OTP (2)

29

mm

m CMKk

2

1

|}1,0{|

|}:}1,0{{|

Pentru fiecare probabilitate se obtine 1/2m.Pr [EK(M) = C] = Pr [K + M = C] =

Ca dificultate trebuie remarcat ca este necesar sa avem chei egale ca lungime cu mesajul pentru a asigura o securitate buna.In general dorim sa securizam prin criptare lungimi diferite de date cu o cheie scurta (ex, 128 biti). In modurile descrise pana acum este posibil numai daca relaxam conditia de securizare perfecta. Modalitate: cifru bloc.