securitatea reţelelor - tc.etc.upt.ro · pdf file1 securitatea reţelelor etc, upt, 2011...

106
1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor Să asigure cofidenţialitatea. Să asigure integritatea informaţiei. Să nu se efectueze decât acţiuni autorizate, –Să se separe şi să se protejeze resursele, –Să se detecteze şi să se corecteze erorile. Să se asigure disponibilitatea datelor şi servicilor. Să se asigure autenticitatea. -Să se asigure nerepudierea. Dicţionar de securitate Sistem de calcul, hard, soft, date; Expunere - o formă de pierdere de informaţie; Vulnerabilitatea - slăbiciune care poate fi exploatată; Atac - încercarea de a exploata vulnerabilitatea; Control - măsură de reducere a vulnerabilităţii; Costul controlului se măsoară în: Bani, Timp: Cheltuit; Operaţional; de calculator, întârziere în reţea. Disponibilitatea se măsoară în: cicluri de unitate centrală de microprocesor; spaţiu fizic; de memorie; de disc. Principiul eficienţei: Un control este eficient numai dacă este utilizat corespunzător. "Foloseşte-l sau pierde-l".

Upload: tranthuy

Post on 06-Feb-2018

232 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

1

Securitatea reţelelor

ETc, UPT, 2011

Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor

• Să asigure cofidenţialitatea.• Să asigure integritatea informaţiei.• Să nu se efectueze decât acţiuni autorizate,

– Să se separe şi să se protejeze resursele,– Să se detecteze şi să se corecteze erorile.

• Să se asigure disponibilitatea datelor şi servicilor. • Să se asigure autenticitatea.• - Să se asigure nerepudierea.

Dicţionar de securitate

• Sistem de calcul, hard, soft, date;• Expunere - o formă de pierdere de informaţie;• Vulnerabilitatea - slăbiciune care poate fi

exploatată;• Atac - încercarea de a exploata vulnerabilitatea;• Control - măsură de reducere a vulnerabilităţii;• Costul controlului se măsoară în:• Bani, Timp:• Cheltuit; Operaţional;• de calculator, întârziere în reţea.

Disponibilitatea se măsoară în:cicluri de unitate centrală de microprocesor; spaţiu fizic;de memorie; de disc.

Principiul eficienţei: Un control este eficient numai dacă este utilizat corespunzător. "Foloseşte-l sau pierde-l".

Page 2: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

2

Analiza de risc şi planificarea securităţii;Asumarea riscului; Estimarea valorii;

Care este importanţa funcţională a misiunii ?Este capabilă organizaţia să funcţioneze fără acea resursă ?Estimarea "inamicului"; Care este cauza pierderii resursei de informaţie ?Estimarea slăbiciunilor sistemului de calcul: Care sunt subsistemele cele mai vulnerabile ?

Principiul celei mai uşoare penetrări; Atacatorul va exploata orice vulnerabilitate disponibilă, el va ataca "cea mai slabă za a lanţului";Recomandarea controlului;

Realizarea controlului adecvat pentru a reduce vulnerabilităţile periculoase; resursele critice; ameninţările semnificative.

Tipuri de ameninţări: Întrerupere, Interceptare, Modificare.Atributele unui sistem de securitateConfidenţialitate

Criptare (Cifrare), Controlul accesului la citire.Integritate

Controlul accesului la scriere, Controlul consistenţei.Disponibilitate

Controlul accesului, Redundanţă, Toleranţă la defecţiuni, Monitorizare, Folosirea mecanismelor de prioritate, Autentificare

Folosirea de Secrete (de exemplu parole), Folosirea semnăturilor digitale.

Nerepudiere Utilizarea semnăturilor digitale, Contactul cu terţe

persoane de încredere, Folosirea mecanismelor de control, Controlul

accesului. Tehnici de asigurare a securitatiiCriptografie; Criptare(Cifrare), Semnături digitale, Protocoale criptografice, Monitorizare, Detectoare de anomalii, Control soft, Controlul programelor interne (de obicei identificare şi autentificare).

Page 3: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

3

Controlul sistemelor de operare (Identificare şi autentificare, Izolarea proceselor, Protecţia fişierelor), Controlul dezvoltării, Standarde de calitate (ISO 9000), Revizii, Testare, Separarea sarcinilor.

Politici, Stabilirea politicii, Antrenament, Monitorizare,Protecţie fizică: Uşi, Lacăte, Scuturi, Surse

neinteruptibile, Controlul climatic,…Protecţie hard: instrucţiuni protejate, protecţie la scriere,Protecţie soft (bazată pe sistemul de operare),Identificare şi autentificare, Grupuri de lucru în reţea;Protecţia la nivelul aplicaţiei: parole, criptare.

Eficienţa controalelorPolitică;Disponibilitate;Securitatea resurselor;Costuri operaţionale;Suprapunerea controalelor;Revizii periodice.

Capitolul 2Protecţia calculatoarelor neconectate în

reţea

Modelul de securitate pentru un calculator seamănă cu o ceapă, bazându-se pe mai multe nivele de securitate:

• Nivelul fizic• Nivelul logic:

Controlul accesului la resursele şi serviciile sistemului de calcul;

• Securitatea serviciilor– cozi de aşteptare, – Intrări-Ieşiri la hard-disk,– gestiunea server-ului.

Page 4: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

4

Autentificarea utilizatorului

Autentificarea utilizatorului poate fi realizată pe baza a ceva ce utilizatorul posedă, a ceva ce utilizatorul ştie sau a ceva ce utilizatorul este. De exemplu utilizatorul ştie parola sa.

Sisteme cu parole

Programe care rulează când se face încărcarea sistemului de operare, cer o parolă şi nu permit continuarea încărcării sistemului de operare până când nu se introduce parola corectă. O metodă obişnuită de a activa programul corespunzător este folosirea unei linii de tipul: DEVICE=PASSWORD.SYS în fişierul CONFIG.SYS. Prin utilizarea unei parole se face identificarea şi autentificarea unui anumit utilizator, program sau operator.

Page 5: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

5

DezavantajeEficienţa unui sistem cu parole depinde de capacitatea de a menţine parola secretă. Ghicitul sau dedusul parolei; shoulder surfingDivulgatul parolei; social engineeringFolosirea forţei brute; dicţionare de parole online,epuizarea tuturor combinaţiilor posibile.Monitorizarea electronică;când parolele sunt transmise de utilizatori;Accesarea fişierului de parole;Evitarea sistemului cu parole;Incărcarea sistemului de operare de pe dischete sistem.

Reguli pentru creşterea securităţii asigurate de sistemele cu parole- Generatoare automate de parole. - Sistemul de operare poate fi configurat să accepte doar un număr limitat de încercări de introducere a parolei. - Parola trebuie să fie de lungime maximă, să conţină toate categoriile de caractere disponibile şi să nu aparţină unui dicţionar de parole online existent. - Este bine ca parola să fie schimbată periodic.-Se recomandă controlul accesului şi criptarea fişierului de parole de pe server.

http://www.microsoft.com/protect/yourself/password/create.mspx

Protecţia prin criptare

Presupune autentificarea bazată pe criptarea fişierelor de date. Operaţie antagonică cu prevenirea pierderii datelor fiind necesară criptarea tuturor copiilor fişierului considerat.

Page 6: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

6

Autentificarea bazată pe chei cifrate

Pentru început se prezintă metode de autentificare bazate pe o combinaţie între ceva ce utilizatorul posedă şi ceva ce utilizatorul ştie. Obiectele pe care utilizatorul le posedă şi care sunt folosite pentru autentificarea sa se numesc tokens. Există două categorii de astfel de obiecte: memory tokens şi smart tokens.

Memory tokensSunt obiecte care stochează informaţia fără însă a o prelucra. Cel mai cunoscut tip de memory token este cartela magnetică. Cartela magnetică de tip ATM :Combinaţie între ceva ce utilizatorul posedă (cartela propriuzisă) şi ceva ce utilizatorul ştie (codul PIN).

Smart tokensDiversifică funcţionarea unui memory token adăugând câteva circuite integrate care realizează funcţiile unui calculator. Aceste dispozitive pot fi clasificate după trei criterii: carateristici fizice, tipul de interfaţă folosit şi protocolul folosit.

Autentificarea bazată pe ceva ce utilizatorul este

Tehnologiile de autentificare biometrică folosesc : amprentele, geometria mâinii, caracteristici ale retinei, caracteristici ale vocii sau caracteristici ale semnăturii. Ele se folosesc pentru aplicaţiile de login.- Utilizatorul este "achiziţionat", înregistrându-i-se caracteristicile şi asociând acestora identitatea sa;La cererea de autentificare caractersiticile utilizatorului sunt măsurate;Se compară rezultatele obţinute prin măsurare cu cele înregistrate anterior şi se realizează sau nu autentificarea utilizatorului.

Page 7: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

7

AmprenteTehnologii hard de scanare a amprentelor

• Un dispozitiv hard de scanare a amprentei măsoară anumitecaracteristici fizice ale acesteia şi le transformă într-o imagine.

• Mai multe tehnologii se pot aplica în acest scop:

• capacitivă (UPEK),

• de radiofrecvenţă (Authentec),

• termică (Atmel),

• piezorezistivă (Fidelica),

• ultrasonică (Ultrascan),

• piezoelectrică (Franhaufer),

• MEMS.

Tipuri de dispozitive hard de scanare a amprentelor

• Cu deplasare

Utilizatorul îşi deplasează degetul de-a lungul dispozitivuluide scanare (care este format dintr-o linie de senzori).

• Cu arii de senzori

Conţin o arie de senzori care acoperă amprentautilizatorului. Sunt mai scumpe decât dispozitivele de scanare cu deplasare

Dispozitive de scanare capacitivă cudeplasare

Sunt formate dintr-o singură linie (sau din doar câteva linii) de senzori.

Sunt ieftine, au dimensiuni mici şi consumă puţină energie electrică. Se folosesc la telefoane celulare, la PDA-uri şi la laptop-uri.

Utilizatorul îşi deplasează degetul transversal peste linia de senzori, imaginea amprentei construindu-se pe baza mai multor înregistrări făcute de linia de senzori.

Viteza şi direcţia deplasării degetului sunt limitate.

Procesul software de sinteză a imaginii poate produce distorsiuni, neacceptabile în cazul utilizării în criminalistică.

Page 8: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

8

Circuit integrat de scanare hard a amprentei cudeplasare de tipul Fujitsu Microelectronics MBF 320.

Dispozitive de scanare cu arii de senzori

Capturează una sau mai multe amprente printr-o singură expunere.

Dimensiunea imaginii trebuie să fie suficient de mare.

Dimensiunea amprentei

Studiul NISTR 7201, al NIST intitulat « Effect of Image Size and Compression on One-to-One FingerprintMatching » ajunge la următoarele concluzii:

« Prin decuparea imaginii performanţele dispozitivuluide recunoaştere a amprentei se degradează rapid. Imagini cu dimensiuni mai mici de 320X 320 pixeli nu trebuie să fie folosite. »

Incă nu s-a realizat nici un circuit integrat pentruscanarea amprentei unui singur deget care să satisfacăaceste condiţii.

Dispozitive de scanare a amprentelorcapacitive cu deplasare

Brevet SUA nr. 5973623

Fiecare senzor, pixel, conţine un integrator a cărui capacitate este determinată de prezenţa degetului în apropierea suprafeţei circuitului.

Senzorii funcţionează în 2 faze:

Prima este de reset-are – scurtcircuitarea condensatoruluiintegratorului,

Faza 2 – integratorul primeşte cantitatea de sarcina ΔQ, care producetensiunea de ieşire E= ΔQ/C, unde C reprezintă capacitatea dintreplăcile de metal, determinată de proximitatea pielii (muchii şi văi).

Page 9: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

9

Circuit integrat de scanare a amprentelorcapacitiv cu deplasare de tip Fujitsu

Microelectronics MBF320O arie de 256 x 8 electrozi metalici de pe suprafaţa circuitului capturează imaginea unei amprente folosinddetecţia de capacitate. Suprafaţa degetului joacă rolulunei armături a condensatorului iar fiecare electrod al ariei acţionează ca şi cealaltă armătură. Suprafaţa circuitului e protejată de un înveliş foarte dur, rezistentchimic, care are rolul de dielectric. Un ghidaj axeazădegetul pe centrul ariei de senzori.

Când un utilzator îşi deplasează degetul de-a lungulsuprafeţei circuitului, muchiile şi văile degetului producvariaţii de capacitate. Circuitul măsoară modificările de tensiune corespunzătoare prin intermediul unui CAN pe 8 biţi. Rezultatul este o imagine de rezoluţie mare. Pachetulde programe oferit de Fujitsu capturează cadrele de imagine de 256 x 8 pixeli produse la o scanare completă şi construieşte o imagine completă a amprentei.

Dispozitive de scanare a amprentelorfuncţionând în radio-frecvenţă

Amplificatoarele din structura circuitului răspund la semnalelede radio-frecvenţă cuplate prin condensatoarele formate întredeget şi electrozii circuitului.

Dispozitive de scanare a amprentelorfuncţionând termic (Atmel)

Măsoară diferenţa de temperatură dintre muchii şi văi.Aceasta este tranzitorie (dureaza aproximativ 100 ms).Constau dintr-o plăcuţă de siliciu presărată cu “pixeli”de material piroelectric, sensibili la diferenţele de temperatură.Aceste diferenţe de temperatură sunt transformate în sarcini electrice, care sunt amplificate şi măsurate. Se obţin doar 16 nivele de gri.

Page 10: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

10

Dispozitive de scanare piezoelectrică a amprentelor (Fraunhofer)

Brevete USA:Nr. 6720712 – Scott ş.a. 13 Aprilie 2004,Nr. 6812621 – Scott, 2 Noiembrie 2004,Nr. 6844660 – Scott, 18 Ianuarie 2005.

Dispozitive de scanare Micro-Electro-Mecanica a amprentelor

Sunt dispozitive mecanice integrate în circuitesemiconductoare.Au preţ potenţial scăzut.

Page 11: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

11

Page 12: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

12

• Cele mai multe amprente din baza de date a FBI (peste 30 de milioane) sunt imprimate pe hârtie cu cerneală. Copii ale acestorasunt distribuite prin fax utilizatorilor legali, dar calitatea digitizăriieste adesea insuficientă.

• Utilizatorii legali experimentează stocarea digitală a acestorînregistrări. Incompatibilitatea formatelor.

• Standard nou de digitizare şi compresie a amprentelor. FBI+NIST, 1993.

• Rezoluţie de 500 de pixeli pe inch, 256 de nivele de gri/pixel. O singură amprentă ≅ 700000 de pixeli ⇒ 0,6 Mbytes pentru stocare. O pereche de mâini ⇒ 6 Mbytes. 30 de milioane de amprente ⇒ 200 Tbytes ⇒ peste 200 de milioanede dolari.

• Necesitatea compresiei de date. O amprentă digitizată folosind acest standard. Imaginea din stângaeste cea originală, iar cea din dreapta este o imagine reconstruită în urma compresiei realizate de standard care asigură un factor de compresie de 26:1. Metoda de compresie se bazează pe folosireafuncţiilor wavelet. Amara Graps, An Introduction to Wavelets.

Caracteristici ale retinei How Iris Recognition WorksJohn Daugman, PhD, OBE, University of Cambridge, The Computer Laboratory, Cambridge CB2 3QG, U.K. www.CL.cam.ac.uk/users/jgd1000/

Page 13: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

13

Recunoaşterea automată sigură a persoanelor este de mult timp o provocare. Ca în toate problemele de recunoaştere a formelorprincipala dificultate rezidă în relaţia dintre variabilităţile inter-clase şi intra-clasă: obiectele pot fi clasificate corect numai dacăvariabilitatea elementelor fiecărei clase este inferioară variabilităţii dintre diferite clase. De exemplu în recunoaşterea feţei, dificultăţile apar din faptul căfaţa este un organ social care se modifică, oglindind o varietate de expresii, la fel ca şi din caracterul său de obiect 3D activ, a căruiimagine variază în funcţie de unghiul sub care este privită, de iluminare sau de vârstă. S-a demonstrat că pentru imagini ale feţeiluate la interval de 1 an, chiar şi cei mai buni algoritmi de recunoaştere au rate de eroare cuprinse între 43% şi 50%. Împotrivaunei astfel de variabilităţi intra-clasă variabilitatea inter-clase este limitată deoarece feţe diferite posedă acelaşi set de parametri de bază în aceeaşi geometrie canonică.

• Irisul devine interesant pentru recunoaşterea vizuală sigură a persoanelor când imaginea poate fi achiziţionată de la distanţă mai mică de 1 m şi în special atunci cand există o nevoie de căutare în baze de date foarte mari, care să nu producă erori de identificare în ciuda numărului imens de posibilităţi.

• Deşi mic (11 mm), irisul are marele avantaj matematic că variabilitatea formei sale de la persoană la persoană este enormă.

• Ca şi organ intern (deşi vizibil din exterior) al ochiului, irisul este bine protejat faţă de mediul înconjurător şi stabil în timp.

• Ca şi obiect planar imaginea sa este relativ insensibilă la unghiuliluminării şi modificări în unghiul de vedere cauzează doar transformări afine ale imaginii, chiar şi distorsiunea de formă ne-afină cauzată de dilatarea pupilei este reversibilă.

• Uşurinţa localizării ochilor în cadrul feţei şi forma inelară distinctivă a irisului facilitează izolarea precisă şi repetabilă a acestuia şi creareaunor reprezentări invariante la dimensiune.

Captura imaginii irisului

• Instalaţia de capturăcamera de tipul Machine Visionsistem de lentile Pentaxiluminare cu LED-uri în infraroşuprogram de achiziţie National Instrument Vision Assistant

http://www.smartsensors.co.uk/

Implementarea în Matlab a algoritmului de prelucrare a

imaginilorAdrian Lodin, Laura Kovacs, Sorina Demea - Preprocessing Iris Images Using Matlab

Page 14: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

14

Detecţia pupilei Metoda propusă

Rezultat

Page 15: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

15

Page 16: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

16

Autentificarea pe baza semnăturii

Achiziţia:- off line,

- on line, semnături dinamice sunt scrise cu un instrument electronic fiind disponibilă şi informaţia dinamică (localizarea peniţei în timp) chiar dacă stiloul nu este în contact cu hârtia.

Page 17: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

17

P-pressure

Tablete de digitizare a semnăturii

Funcţionare

• Tableta transmite unde radio către stilou. Pe baza răspunsurilor recepţionate se identifică poziţia stiloului.

• Sub ecran este poziţionată o grilă de senzori care pot funcţiona ca emiţătoare sau ca receptoare. Comutarea dintr-un mod de funcţionare în celălalt se face la intervale de 20 μs. – Semnalul electromagnetic emis de senzori produce oscilaţii în circuitul

LC din stilou.– Apoi energia oscilaţiilor din circuitul LC din stilou este detectată de aria

de antene. Apoi se analizează rezultatul detecţiei pentru a se determina poziţia şi alte informaţii (inclusiv presiunea).

• Deoarece grila furnizează puterea pentru stilou prin intermediulcuplajului cu circuit rezonant (LC), nu sunt necesare baterii pentru alimentarea stiloului.

Recunoaşterea semnăturii

Extragere

parametri

Modele de semnături de referinţă

Asemănare

Distanţă

Date brute

Rezultat

recunoaştere

Page 18: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

18

Semnături dinamice Extragere parametriVector de parametri

Semnătură

Falsificare

• Fără efort: semnătură generată aleator, sau copiată• Îmbunătăţită: falsificatorul are o copie a semnăturii şi

mult timp la dispoziţie ca să se antreneze. Imitaţia se bazează doar pe o semnătură statică.

• Peste umăr: falsificatorul este prezent la scirerea semnăturii originale, învăţând atât aspectul static al imaginii cât şi proprietăţile sale dinamice.

• Cu talent: o combinaţie a ultimelor două tipuri de falsificare.

• Profesională: produsă de indivizi talentaţi în analiza scrisului de mână.

Exemple

originale falsificări peste umăr falsificări îmbunătăţite

Page 19: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

19

Semnătură originală Falsificată cu talent

Semnătura originală

Semnătura falsificată O comparaţie

Original Falsificare

Page 20: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

20

Metode de prelucrare

Netezire. Semnalul achiziţionat de la un stilou poate conţine variaţii foarte rapide.

Segmentare

Determinarea începutului şi sfârşitului semnăturii. Începutul semnăturii corespunde la primul eşantion de presiune nenul.

Sfârşitul semnăturii corespunde la ultima ridicare de stilou.

Parametri locali

Unghiul traiectoriei

Viteza

Parametri globali

• Lungime, înălţime,...• Durata semnăturii,• Viteza medie,• Viteza maximă,• Viteza minimă,...

Simina Moldovan (Emerich), Aplicaţii ale analizei wavelet B-spline în biometrie, teză de doctorat, Universitatea tehnică din Cluj-Napoca, ianuarie 2011

Page 21: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

1

2.2. Viruşii calculatoarelor

Termenul de virus de calculator a fost introdus, în anul 1972, de catre Fred Cohen, pe baza analogiei cu termenul de virus biologic. Virus este termenul latin pentru otravă.

Un virus de calculator este un program (cu lungimea cuprinsa între 200 şi 4000 de octeţi).Îşi copiază propriul cod în unul sau mai multe programe "gazdă" mai mari, atunci când este activat. La execuţia acestor programe se continuă răspândirea sa. Fac parte din categoria malicious programs.

Malicious programs

• Trojan horses (sub pretextul realizării unei alte funcţii reuşesc să ajungă în memoria calculatorului, de exemplu un astfel de program poate realiza "infiltrarea" unui virus în memoria unui calculator),

• “Viermi" - au capacitatea de a trece de pe un sistem de calcul pe un altul şi se execută independent de excuţia altor programe ("gazdă").

• “Bacterii“- se reproduc până absorb întreaga capacitate de memorie a sistemului pe care au fost instalate.

• “Bombe“ - se decleanşează doar atunci când se îndeplinesc anumite condiţii (de exemplu se ajunge într-o zi de vineri la data de 13).

Page 22: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

2

Viruşii calculatoarelorhttp://www.f-secure.com/v-descs/

2.2.1.ClasificăriUn virus de calculator are 2 funcţii:

- de reproducere, - de distrugere.

Criterii de clasificareTipul fişierelor afectate

- fişiere ordinare,- .com sau .exe,- ambele categorii de fişiere

Tequila.- fişiere sistem

bootTipul acţiunii efectuate

- cu acţiune directă (Viena);- rezidenţi (Jerusalim).

Modul de ataşare la programele pe care le infectează:- shell, formează un înveliş în jurul programului "gazdă". Virusul devine program principal. Prima dată se execută virusul. Majoritatea viruşilor de boot.- add-on, se adaugă la extremităţile programului "gazdă".Programul gazdă este lăsat aproape neatins. - intrusiv, distrug o parte a programului "gazdă" şi înscriu în acea zonă codul propriu.

Alte categorii de viruşi

Viruşi de tip STEALTH

Modifică fişierele în funcţie de rezultatul monitorizării funcţiilor sistemului folosite de programe pentru a citi fişiere sau blocuri fizice de pe mediile de înregistrare.Falsifică rezultatele acestor funcţii astfel încât programele care încearcă să citească aceste zone să vadă formele iniţiale neafectate de virus în locul formelor reale, actuale, infectate. În acest fel modificările efectuate de virus rămân neafectate de programele anti-virus.

Page 23: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

3

Viruşi polimorfi

Produc copii neidentice (dar operante) ale variantei iniţiale prin:- autocriptarea cu cheie variabilă,

virusul Whale. - modificarea secvenţei de instrucţii, pentru fiecare copie, prin includerea unor instrucţii care funcţionează ca şi zgomot (de exemplu instrucţia No operation sau instrucţii de încărcare a unor regiştrii nefolosiţi cu valori arbitrare).

virusul V2P6.

Viruşi rapizi

Un virus rapid nu infectează, atunci când este activ în memorie, doar programele care se excută ci şi pe cele care sunt doar deschise. În acest mod se infectează mai multe programe deodată. Exemple de astfel de viruşi sunt Dark Avenger şi Frodo.

Viruşi lenţi

Sunt viruşi care în faza în care sunt activi în memorie infectează fişierele doar în momentul în care li se aduc modificări sau atunci când sunt create. Un exemplu de astfel de virus este cel numit Darth Vader.

Viruşi împrăştiaţi

Infecteaza doar ocazional, de exemplu tot al 10-lea program executat sau doar fişierele care au o lungime bine precizată. În acest mod se încearcă îngreunarea detectării lor.

Viruşi însoţitori

În loc să modifice un fisier existent crează un nou program a cărui execuţie este declanşată de către interpretorul liniei de comandă şi nu de programul apelat. La sfârşit se rulează şi programul apelat în aşa fel încât funcţionarea calculatorului să pară normală utilizatorului.

2.2.2. Moduri de funcţionare a viruşilor

Alterarea întreruperilor standard utilizate de sistemul de operare şi de BIOS (Basic Input/Output System). Virusul este apelat de alte aplicaţii când acestea sunt activate.

Page 24: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

4

Intreruperi

PC-urile uilizează intreruperi (hard şi soft) pentru a coopera cu evenimente asincrone. Toate serviciile DOS-ului şi BIOS-ului sunt apelate de utilizator prin parametrii stocaţi în regiştrii, cauzând întreruperi soft. Cînd se solicită o întrerupere, sistemul de operare apelează rutina a cărei adresă o găseşte în tabelul de întreruperi. Acest tabel conţine pointeri spre regiuni din ROM sau spre regiuni rezidente în memorie din DOS.

Virusul modifică tabelul de întreruperi astfel încât execuţia unei întreruperi să genereze rularea sa. El interceptează întreruperea specifică DOS-ului şi produce rularea sa înainte de rularea serviciului DOS cerut. După ce a infectat un anumit program încearcă să se împrăştie şi în alte programe sau eventual în alte sisteme. Majoritatea viruşilor aşteaptă îndeplinirea unor condiţii favorabile şi apoi îşi continuă activitatea.

2.2.2.1. Activarea viruşilor în cazul calculatoarelor IBM-PC

1. Infectarea secvenţei de încărcare (boot) a sistemului de operare

Această secvenţă are 6 componente:a) Rutinele ROM BIOS;b) Executarea codului din tabela partiţiilor;c) Executarea codului din sectorul de boot;d) Executarea codului IO.SYS şi MSDOS.SYS;e) Executarea comenzilor Shell din COMMAND.COM;f) Executarea fişierului batch AUTOEXEC.BAT

Infectarea secventei de bootare a sistemului de operare

Componentele secvenţei de bootare

a) La boot-are calculatorul execută un set de instrucţii dinROM. Acestea iniţializează hard-ul calculatorului şi furnizează un set de rutine de intrare-ieşire de bază, BIOS-ul. Rutinele din ROM nu pot fi infectate (deoarece în această memorie nu se poate scrie).

b) Orice hard-disk poate fi împărţit în mai multe regiuni, numite partiţii, C,D,E,…. Dimensiunea fiecărei partiţii, obţinute astfel, este memorată în tabela partiţiilor. În această tabelă există şi un program, de 446 de octeţi, care specifică pe care partiţie se află blocul de boot. Acest program poate fi infectat de un virus (de exemplu New Zealand), care mută tabela partiţiilor la o nouă locaţie de pe hard-disk şi controlează întreg sectorul din care face parte acea locaţie.

Page 25: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

5

c) Programul din tabela partiţiilor localizează blocul de boot. - conţine blocul parametrilor BIOS-ului (BPB), - conţine un program, (de mai puţin de 460 de

octeţi), de localizare a fişierului IO.SYS,- conţine stadiul următor din secvenţa de boot-are. poate fi atacat, virusul Alameda.

Viruşii de boot ajung să controleze întregul sistem de calcul înainte ca orice program de protecţie (anti-virus) să poată fi activat.d) Blocul de boot declanşează încărcarea fişierului IO.SYS, care produce iniţializarea sistemului, după care se încarcă DOS-ul, conţinut în fişierul MSDOS.SYS. Şi aceste două fişiere pot fi infectate de viruşi.

e) Programul MSDOS.SYS declanşează execuţia interpretorului de comenzi COMMAND.COM.El furnizează interfaţa cu utilizatorul, făcând posibilă execuţia comenzilor primite de la tastatură. Poate fi infectat, virusul Lehigh.f) Programul COMMAND.COM execută o listă de comenzi memorate în fişierul AUTOEXEC.BATAcesta este un simplu fişier text ce conţine comenzi ce vor fi executate de interpretor. La execuţia acestui fişier un virus poate fi inclus în structura sa.

Infectarea unui program utilizator

Acestea sunt programe de tipul .COM sau .EXE. Programele de tipul .COM conţin la început o instrucţiune de tipul jump la o anumită adresă. Viruşii pot înlocui această adresă cu adresa lor. După execuţia virusului se efectuează jump - ul la adresa specificată la începutul programului .COM infectat şi se rulează şi acest program.

Modalităţi de rezidenţă în memoria sistemului

O varietate de tehnici de rămânere în memorie, după primaexecuţie. Viruşii de boot : Israeli, Cascade sau Traceback, sunt apelaţi involuntar de către orice aplicaţie care solicită servicii de la sistemul de operare. Deturnând întreruperea de tastatură, un virus poate intercepta comanda de reboot-are soft CTRL-ALT-DELETE, poate modifica semnificaţia tastelor apăsate sau poate face să fie invocat la fiecare apăsare de tastă. La fel pot fi deturnate şi întreruperile de BIOS sau de DOS.

Page 26: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

1

2.2.3. Modalităţi de detectare a viruşilor

Manifestări care indică prezenţa: • modificări dimensiuni conţinut, • modificarea vectorilor de întrerupere, • realocarea altor resurse. • Memoria sistemului - utilitarul CHKDSK. Se verifică dacă valorile afişate s-au modificat de la boot-are la boot-are. Este indicată capacitatea memoriei disponibile pe calculatorul respectiv.

Programe anti-virus

• Nu recunosc decât viruşii deja cunoscuţi. Trebuie schimbate frecvent, căutându-se în permanenţă variantele cele mai noi.

• Producători diferiţi de programe anti-virus folosesc denumiri diferite pentru acelaşi virus.

Modalităţi de detectare a viruşilor

Fred Cohen a demonstrat următoarea propoziţie:Orice detector de viruşi se poate înşela, furnizând alarme false (atunci când clasifică un fişier sănătos ca fiind infectat) sau nedectând unii viruşi sau făcând ambele tipuri de erori.Înainte de a lua o decizie să se utilizeze două sau mai multe programe anti-virus. Modificările făcute asupra fişierelor de către primul pot fi interpretate de către al doilea ca posibili viruşi.

Însuşi programul anti-virus poate să fie infectat.

2.2.4. Programe anti-virus

Nu există o cea mai bună strategie împotriva viruşilor. Nici un program anti-virus nu poate asigura o protecţie totală. Se pot stabili strategii anti-virus pe mai multe nivele de apărare. Există trei tipuri principale de programe anti-virus, precum şi altemijloace de protecţie (ca de exemplu metodele hard de protecţie la scriere).

Page 27: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

2

Tipuri principale1. Programele de monitorizare. Încearcă să prevină.

SECURE sau FluShot+.2. Programele de scanare.

- şiruri de date specifice pentru fiecare dintre viruşi. - folosesc tehnici euristice pentru a recunoaşte

viruşii.- verifică suporturi specificate (hard-disk, dischetă,

CD-ROM)- pot fi rezidente, examinând fiecare program care

urmează să fie executat.

- conţin subrutine de îndepărtare după detecţie.

Programe de scanare

• FindViru, din cadrul programului Dr Solomon's Anti-Virus Toolkit, • FPROT al firmei FRISK• VIRUSCAN - McAfee. Programe de scanare rezidente:• V-Shield sau VIRUSTOP realizate la firma McAfee. • Scanare euristică - F-PROT.

3) Programe de verificare a integrităţii sau de detectare a

modificărilor

Calculează o sumă de control sau o valoare de funcţie hash pentru fiecare fişier. Compară valorile nou calculate cu valorile iniţiale. Detecţie "generică". Modificările pot apărea şi din alte motive. Sarcina utilizatorului să decidă. Programele anti-virus ajută la decizie. Verifică întregul hard-disk.Pot fi rezidente.

3a) Antivirusul GENERIC DISINFECTION

• Salvează suficientă informaţie pentru fiecare fişier, astfel încât acesta să poată fi reconstruit în forma sa originală în cazul în care a fost detectată activitate virală.

• Face parte din nucleul de securitate V-Analyst 3, realizat de firma izraeliană BRM Technologies.

Page 28: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

3

2.2.5. Elaborarea unei politici de securitate anti-virus

Metodele de apărare să fie utilizate pe rând. • Sistem de protecţie al tabelei de partiţie a hard-disk-ului - infectarea

la boot-are. De tip hard sau de tip soft localizat în BIOS. Sisteme soft:DiskSecure sau PanSoft Imunise.

• Detectoare de viruşi rezidente, încărcate ca şi părţi ale programelor de pornire ale calculatorului, CONFIG.SYS sau AUTOEXEC.BAT, FluShot+ şi/sau VirStop împreună cu ScanBoot.

• Program de scanare: F-Prot sau McAfee's SCAN - AUTOEXEC.BAT verifică prezenţa viruşilor la pornire.

Scanarea noilor fişiere la sosire. Folosirea comenzii PASSWORD din DRDOS pentru protejare la scriere.

Alte metode de protecţie anti-virus :(a) Crearea unei liste de partiţii a hard-disk-ului specială - inaccesibil când se boot-ează de pe dischetă. GUARD. (b) Utilizarea inteligenţei artificiale

- învăţare viruşi noi, - extragere noi caracteristici utile,- scanare, V-Care (CSA Interprint Israel; distribuit în S.U.A. de către Sela Consultants Corp.).

(c) Cifrarea fişierelor (cu descifrare înainte de execuţie).

Capitolul 3. Protecţia reţelelor de calculatoare

Pentru a proteja reţeaua trebuie să protejăm fiecare calculator. Măsuri suplimentare datorate comunicării dintre calculatoare. Identificare şi autentificare mai complexă.Atacuri specifice pentru reţele:Se autoreproduc şi se autotransferă.

Infectează doar dispozitivele de control al traficului prin reţea.

3.1. Categorii de atacuri asupra reţelelor

3.1.1. Atacuri pasiveIntrusul observă traficul de informaţie prin reţea, fără a înţelege

sau modifica această informaţie. - Analiza traficului,- Identificarea părţilor,- Învăţarea lungimii şi frecvenţei mesajelor vehiculate.

Page 29: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

4

• Caracteristicile atacurilor pasive sunt:• Nu cauzează pagube,

– supravegherea legăturilor telefonice sau radio, – exploatarea radiaţilor electromagnetice emise, – dirijarea datelor prin noduri adiţionale mai puţin protejate.

3.1.2. Atacuri activeIntrusul fură mesaje, le modifică sau emite mesaje false. El poate şterge sau întârzia mesaje, poate schimba ordinea mesajelor.

• Mascarada: o entitate pretinde că este o alta. Înlocuirea sau modificarea mesajelor;

• Reluarea: Un mesaj sau o parte a sa sunt repetate. Ex. informaţia de autentificare.

• Modificarea mesajelor: înlocuire, inserare sau ştergere. • Refuzul serviciului: O entitate nu-şi îndeplineşte propria

funcţie sau împiedică o alta să-şi efectueze propria funcţie.• Repudierea serviciului: O entitate refuză să recunoască

serviciul pe care l-a executat.• Viruşii, Caii Troieni, "Bombele“ informatice, "Bacteriile"

informatice şi mai ales "Viermii" informatici.

Viermi

Denumirea de vierme a fost preluată din nuvela SF The Shockwave Rider, publicată în 1975 de John Brunner. Cercetătorii John F Shoch şi John A Huppode la Xerox PARC au propus aceastădenumire într-un articol publicat in 1982: The Worm Programs, Comm ACM, 25(3):172-180, 1982, şi a fost unanim adoptat.Ei au implementat primul vierme in 1978, în scopul detectăriiprocesoarelor mai puţin încărcate dintr-o reţea şi alocării de sarcinisuplimentare pentru o mai bună împărţire a muncii în reţea şi pentruîmbunătăţirea eficienţei acesteia. Principala limitare a programuluilor a fost răspândirea prea lentă. Primul vierme care s-a propagat la nivel mondial (de fapt un cal troian) a fost Christmas Tree Worm, care a afectat atât reţeaua IBM cât şi reţeaua BITNET în decembrie 1987.

Un alt vierme care a afectat funcţionarea internet-ului a fost Morris worm. Peter Denning l-a numit 'The Internet Worm' într-un articolapărut în American Scientist (martie-aprilie, 1988), în care el făceadistincţia între un virus şi un vierme. Definiţia lui era mai restrictivădecât cele date de alţi cercetători contemporani: (McAfee and Haynes, Computer Viruses, Worms, Data Diddlers, ..., St Martin'sPress, 1989). Acest vierme a fost creat de către Robert TappanMorris, care în acea perioadă era student la Cornell University, şi a fost activat în 2 noiembrie 1988, cu ajutorul calculatorului unuiprieten, student la Harvard University . El a infectat rapid un număr foarte mare de calculatoare, conectatela internet şi a produs pagube importante. Motivul pentru care el nu s-a împrăştiat şi mai departe şi nu a produs mai multe necazuri a fost prezenţa unor erori în implementarea sa. El s-a propagatdatorită câtorva bugs-uri ale BSD Unix şi ale programelor asociateacestui sistem de operare, printre care şi câteva variante ale protocolului 'sendmail'. Morris a fost identificat, acuzat şi mai târziucondamnat.

Page 30: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

5

Tipuri de viermiDe e-mail – se răspândesc cu ajutorul mesajelor e-mail. Mesajulpropriuzis sau fişierul ataşat conţin codul viermelui, dar el poate fi de asemenea declanşat de un cod situat pe un site web extern. Majoritatea sistemelor de poştă electronică cer explicit utilizatoruluisă deschidă fişierul ataşat pentru a activa viermele dar şi tehnicanumită "social engineering" poate fi adesea utilizată pentru a încuraja această acţiune, aşa cum a dovedit-o autorul viermelui"Anna Kournikova". Odată activat viermele va emite singur, folosindfie sisteme locale de e-mail (de exemplu servicii MS Outlook, funcţii Windows MAPI), sau direct, folsind protocolul SMTP. Adresele la care expediază el mesaje sunt împrumutate adesea de la sistemulde e-mail al calculatoarelor pe care le-a infectat. Începând cuviermele Klez.E lansat în 2002, viermii care folsesc protocolul SMTPfalsifică adresa expeditorului, aşa că destinatarii mesajelor e-mailconţinând viermi trebuie să presupună că acestea nu sunt trimise de către persoana al cărei nume apare în câmpul 'From' al mesajului.

De messenger – împrăştierea se face prin aplicaţii de mesagerieinstantanee (IRC, Yahoo-Messenger) prin transmiterea unor legăturila site-uri web infectate fiecărui membru al unei liste de contact. Singura diferenţă între aceşti viermi şi viermii de e-mail este caleaaleasă pentru transmiterea legăturii la site-ul infectat.De această dată se utilizează canalele de chat IRC dar aceaşi metodă de infectare/împrăştiere, deja prezentată, se foloseşte şi în acest caz. Transmiterea de fişiere infectate este mai puţin eficientăîn acest caz, deoarece destinatarul trebuie să confirme recepţiaacestuia, să salveze fişierul infectat şi să-l deschidă, pentru ca să se producă infectarea.

• De sharing în reţele – Viermii se autocopiază într-un fişier vizibilde întreaga reţea, de obicei localizat pe calculatorul infectat, subun nume inofensiv. În acest mod viermele este gata să fie încărcat (download) prin reţea şi împrăştierea infecţiei continuă.

• De internet – Cei care ţintesc direct porturile TCP/IP, fără să mai apeleze la alte protocoale de nivel mai înalt (de exempluaplicaţie, cum ar fi cel de e-mail sau cel de IRC). Un exempluclasic este viermele "Blaster" , care a exploatat o vulnerabilitatea protocolului Microsoft RPC. Un calculator infectat scaneazăagresiv în mod aleator reţeaua sa locală precum şi internet-ul, încercând să obţină acces la portul 135. Dacă obţine acestacces, împrăştierea viermelui continuă.

Viermi distrugători (Payloads)Mulţi viermi au fost creaţi doar pentru a se împrăştia. Ei nu distrugsistemele prin care se propagă. Totuşi, aşa cum s-a văzut, viermiiMorris şi Mydoom afectează traficul prin reţea şi produc şi alteefecte neintenţionate, care pot produce disfuncţionalităţi majore. Un program de tip payload este conceput să facă mai mult decât împrăştierea viermelui - el poate şterge fişiere de pe un calculator, poate cripta fişiere, în cadrul unui atac de tipul cryptoviral extortion, sau poate să expedieze documente prin e-mail. O acţiune uzualăefectuată de către un program de tip payload este instalarea unuiprogram de tipul backdoor pe calculatorul infectat, care favorizeazăcrearea unui "zombie", controlat de către autorul viermelui. Exemple de viermi care crează zombies sunt Sobig şi Mydoom. Reţelele din care fac parte calculatoarele infectate cu astfel de viermi sunt numite botnets şi se utilizează cu predilecţie de cătreexpeditorii de spam. Un program backdoor, odată instalat, poate fi exploatat şi de alţi viermi. De exemplu, programul de tip backdoorinstalat de viermele Mydoom este folosit pentru împrăştiereaviermelui Doomjuice.

Page 31: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

6

Viermi cu intenţii bune

Totuşi, viermii pot fi utilizaţi în lupta anti-tero, în cooperare cu tehnicibazate pe ştiinţa calculatoarelor şi pe inteligenţa artificială, începândcu prima cercetare efectuată la Xerox. Familia de viermi Nachiîncearcă să transfere (download) şi apoi să instaleze programele de corecţie (patches) de pe site-ul Microsoft pentru a corecta diferitevulnerabilităţi ale calculatorului gazdă – aceleaşi vulnerabilităţi pecare le exploata viermele Nachi. Această acţiune ar putea să facăsistemul afectat mai sigur, dar generează trafic suplimentarconsiderabil.

Protecţie împotriva viermilor

Viermii se răspândesc exploatând vulnerabilităţile sistemului de operare sau înşelând operatorul (determinându-l să-i ajute). Toţi furnizorii oferă actualizări (updates) de securitate frecvente ("Patch Tuesday"), şi dacă acestea sunt instalate pe un calculator atuncimajoritatea viermilor este împiedicată să se împrăştie. Utilizatorii nu trebuie să deschidă mesaje e-mail neaşteptate şi mai ales nu trebuie să ruleze fişierele sau programele ataşate şi nu trebuie săviziteze site-urile web la care îi conectează astfel de programe. Totuşi, aşa cum au dovedit-o viermii ILOVEYOU şi phishing oricândexistă un procent de utilizatori care sunt înşelaţi.Programele anti-virus şi anti-spyware sunt folositoare, dar este necesară reactualizarea lor aproape zilnică.

Bibliografiehttp://www.microsoft.com/technet/security/bulletin/ms01-020.mspxhttp://www.wired.com/news/technology/0,1282,41782,00.htmlF-Secure Virus Descriptions: Klez.Ehttp://www.symantec.com/security_response/writeup.jsp?docid=2003-

081113-0229-99&tabid=2http://www.symantec.com/security_response/writeup.jsp?docid=2003-

081113-0229-99&tabid=2http://seattletimes.nwsource.com/html/businesstechnology/2001859752

_spamdoubles18.htmlhttp://www.wired.com/news/business/0,1367,60747,00.htmlhttp://www.heise.de/english/newsticker/news/44879http://news.bbc.co.uk/1/hi/technology/3513849.stm

Detecţia anomaliilorIntruziunile în reţea: etapa de inspecţie (supraveghere), etapa de

exploatare şi etapa de mascare. Sisteme de Detecţie a Intruziunilor (IDSs): • bazate pe semnătură sau utilizare greşită,• bazate pe anomalii.Sunt create profile ale activităţii normale şi se detectează intruziuni

când comportamentul sistemului monitorizat deviază de la profilelede bază stabilite anterior.

Beneficii: • abilitatea de a identifica atacuri necunoscute, • incertitudine în ceea ce priveşte activitatea pe care atacatorul o

poate efectua fără a declanşa alarma, • capacitatea de a detecta atacuri interne.Dezavantaje: • stabilirea profilului traficului normal este dificilă şi poate fi de durată, • un profil neadecvat al traficului normal poate duce la performanţe

foarte slabe,• numărul mare de alarme false.

Page 32: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

7

Tehnici de detecţie a anomaliilor• detecţia statistică:

– analiza spectrală pentru identificarea fluxurilor de date TCP legitime, – analiza de tip componentă-principală, – estimarea entropiei maxime, – filtrarea adaptivă,

– suma cumulativă.• tehnica maşina-de-învăţare ("machine learning"), • detecţia de tip data-mining,

• tehnici bazate pe prelucrarea de semnal

– tehnici bazate pe analiza wavelet.

Tipuri de date colectate• Date specifice sistemuluidatele generate de către sistemul de operare al calculatorului gazdă

(date de audit). Sistemele de operare pun la dispoziția utilizatoruluio serie de informații prin intermediul câtorva utilitare foarte uzuale(de ex. ps, netstat, top, vmstat).

• Date specifice aplicațieiInformațiile utilizate pentru detecția intruziunilor sunt generate de

mecanismul de log-are propriu al aplicației respective. • Date specifice rețeleitraficul de rețea captat pentru detectarea atacurilor. conținutului pachetelor de date de rețea captate, caracteristici ale

diferitelor antete și protocoale, număr de pachete, număr de conexiuni într-un interval, dimensiunea medie a pachetelorrecepționate/transmise, număr de porturi utilizate, număr de adresede rețea, etc.

Arhitectura generală a sistemuluide detecție Analiza wavelet

Stationary Wavelet Transform (SWT) Analytic SWT (ASWT)

Page 33: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

8

Analiza statistică (Cum4)

[ ] ( ){ }[ ] [ ]( ) [ ]

1

0

1

qq p *p

N qq p *p

k

M s E s s

M̂ s s k s kN

=

=

= ∑

Momentul complex al lui s

Cumulantul de ordinul patru

[ ] [ ] [ ]( ) [ ] [ ]2

2 2 1 0 22 2 1 2 02ˆ ˆ ˆ ˆ ˆC s M s M s M s M s= − −

3.1.3. Necesitati de securitate in retele

Organizatia internationala de standardizare (ISO) defineste in modelul OSI (Open System Interconnect) 7 nivele de comunicatii si interfetele dintre ele. In ultimii 20 de ani - mai multe tipuri de retele de calculatoare. Integrare. Protocolul CLNP (Connectionless Network Protocol), ISO IP, defineste o cale de interconectare virtuala a tuturor retelelor si o cale de acces la fiecare nod al retelei astfel obtinute (Network Service Access Point), NSAP din oricare alt NSAP. Protocoalele TCP/IP- cea mai naturala cale de evolutie spre adevaratele sisteme

deschise. - prima cale de interconectare a retelelor heterogene si de dirijare a

traficului.

3.2. Securitatea LAN-urilor

Proprietati utile: banda larga, intarzieri mici, costuri independente de traficul de informatie. Amenintare de securitate:Intr-o retea locala toate calculatoarele componente "asculta" in permanenta mediul de comunicare. Oricare calculator poate supraveghea, fara a fi detectat, intregul trafic din retea. Orice statie isi poate asuma o identitate falsa si sa transmita cu o adresa de sursa falsa.

Atacuri

- Inregistrarea si retransmiterea secventelor de autentificare. Exista in prezent posibilitati (hard si soft) pentru oricine care are acces intr-o retea locala sa monitorizeze traficul, sa caute secvente de tipul "Username:" sau "Password:" sa inregistreze raspunsurile la aceste secvente si mai tarziu sa acceseze un serviciu cu oidentitate falsa. Orice tronson al unei retele locale poate fi securizat rezonabil folosind o pereche de dispozitive de criptare de incredere, dar pe masura ce capacitatea unei retele creste si riscurile de securitate cresc.

Page 34: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

9

In continuare se considera exemplul unei retele locale, deservita de un server. Colectie de masuri de securitate.Nu se iau in considerare sistemul de operare al serverului sau al celorlalte calculatoare. Se presupune ca reteaua poate fi amenintata de urmatoarele actiuni:

De forta majora:pierderea personalului; inundaţie; incendiu; praf;

Deficiente de organizare:folosirea neautorizata a drepturilor de utilizare; banda defrecvente aleasa neadecvat;

Greseli umane:Distrugerea din neglijenta a unor echipamente sau a unor date;Nerespecatrea masurilor de securitate; Defectarea cablurilor; Defectiuni aleatoare datorate personalului de intretinere a cladirii sau datorate unui personal extern; Administrarea necorespunzatoare a sistemului de securitate; Organizarea nestructurata a datelor;

Defectiuni tehnice:Intreruperea unor surse de alimentare; Variatii ale tensiunii retelei de alimentare cu energie electrica; Defectarea unor sisteme de inregistrare a datelor; Descoperirea unor slabiciuni ale programelor folosite; Posibilitati de acces la sistemul de securitate prea greoaie;

Acte deliberate:Manipularea sau distrugerea echipamentului de protectie al retelei sau a accesoriilor sale; Manipularea datelor sau a programelor; Furt; Interceptarea liniilor de legatura dintre calculatoare; Manipularea liniilor de legatura; Folosirea neautorizata a sistemului de protecţie al retelei; Incercarea sistematica de ghicire a parolelor; Abuzarea de drepturile de utilizator; Distrugerea drepturilor administratorului; Cai Troieni; Virusi de calculator; Raspunsuri la mesaje; Substituirea unor utilizatori cu drept de acces in retea de catre persoane fara aceste drepturi; Analiza traficului de mesaje; Repudierea unor mesaje. Negarea servicilor.

Contramasuri recomandate:O buna alegere a modulelor de protectie. Aceasta alegere se face secvential, pe baza urmatoarelor criterii:

Pasul 1: Regulile specifice institutiei respective pentru Managementul Securitatii, Regulamentul de organizare al institutiei, Politica de realizare a back-up-urilor si Conceptele de protectie anti-virus;

Pasul 2: Criterii arhitecturale si structurale, care iau in considerare arhitectura cladirii institutiei respective;

Pasul 3: Criterii constructive ale echipamentelor care constituie reteaua;

Page 35: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

10

Pasul 4: Criterii de interconectare a echipamentelor din retea; de exemplu daca exista sau nu echipamente de tip firewall ;

Pasul 5: Criterii de comunicare intre echipamentele retelei, cum ar fi programele de posta electronica folosite sau bazele de date folosite.Utilizand pe rand toate aceste criterii rezulta modelul de

securitate al retelei considerate. Un astfel de model poate fi prezentat sub forma unui tabel cu urmatoarele coloane:

Numarul si numele modulului de protectie; Obiectul tinta sau grupul de obiecte tinta. De exemplu

acesta poate fi numarul de identificare al unei componente sau grup de componente din retea sau numele unei cladiri sau al unei unitati organizatorice din cadrul institutiei;

Persoana de contact Persoana de contact nu estenominalizata in faza de modelare ci doar dupa ce s-a ales o anumita arhitectura de sistem de securitate;

Ultima coloana este destinata observatiilor.

Pe baza unei astfel de analize, se poate ajunge, pentru server-ul considerat in acest paragraf, la urmatoarea lista de masuri de securitate:

• Sursa de alimentare neinteruptibila (optional); • Controlul mediilor de pastrare a datelor;• Revizii periodice;• Interzicerea utilizarii unor programe neautorizate; • Supravegherea pastrarii programelor;• Corecta dispunere a resurselor care necesita protectie;• Improspatarea periodica a parolelor;• Existenta documentatiei de configurare a retelei;• Desemnarea unui administrator de retea si a unui adjunct;• Existenta unei documentatii asupra utilizatorilor si drepturilor;• Existenta unei documentatii asupra schimbarilor efectuate; • Permanenta cautare a informatiilor despre slabiciunile

sistemului;• Antrenarea personalului inainte de utilizarea unui anumit

program; • Stocarea structurata a datelor;• Educarea personalului in legatura cu masurile de securitate;

• Selectia unor angajati de incredere pentru posturile de administrator de retea si de adjunct al acestuia;

• Antrenarea personalului tehnic si al personalului de intretinere;

• Protectie prin parole;• Rularea periodica a unui program anti-virus;• Asigurarea unei operatii de login sigure.In prezent se urmareste integrarea dispozitivelor de securitate

izolate (specifice fiecarui nivel de comunicatie ISO), de tipul "modulelor" amintite.

3.2.1. Standardizarea securitatii in sisteme deschise

Modelul de referinta OSI al ISO este universal acceptat. La inceput OSI nu s-a concentrat asupra management-ului interoperabilitatii sistemelor din cadrul unei retele deschise si nici asupra necesitatilor de securitate. Mai tarziu aceste chestiuni au fost analizate si ele apar in documente mai recente care fac parte din modelul OSI. Din pacate aceste adaugiri nu au nici pe departe calitatea modelului de referinta OSI de baza.

Page 36: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

11

Arhitectura de securitate OSI : - lista de amenintari ale securitatii,- defineste un numar de servicii de securitate si de mecanisme de

protectie impotriva amenintarilor,- defineste locuri posibile de instalare a servicilor si mecanismelor pe

cele 7 nivele OSI.Numeroase subiecte raman deschise. Un alt standard de securitate este ECMA, "Security in open systems: A

security framework", Proiectele SESAME si SAMSON.

Deficientele sistemului de securitate OSI

Majoritatea serviciilor pot fi plasate pe oricare dintre nivele (dar mai ales pe nivelele 3, 4, 6 si 7).

E necesara ingradirea acestei libertati astfel incat sa nu fie afectata securitatea globala a retelei.

- Se dau foarte putine indicatii asupra modului in care trebuie sa interopereze aceste servicii si mecanisme. De exemplu cum trebuie ele incluse in serviciile si protocoalele existente, cum se negociaza utilizarea lor si cum trebuie sa fie ele activate.

- Din punctul de vedere al utilizatorului conteaza modul in care este protejat un anumit serviciu pe ansamblul sistemului de comunicatii si nu doar pe un anumit nivel al modelului de referinta. Se doreste o analiza integratoare a intregului sistem de protectie.

Modelul OSI defineste doar o strategie de standardizare a securitatii sistemelor deschise. Numeroase alte standarde OSI definesc si protocoale pentru diferitele nivele.

Standardizarea sistemelor deschise actuale consta din doua faze. Prima este legata de necesitatea standardizarii unor entitatifunctionale, cum ar fi manipularea mesajelor. Aceasta cerinta destandardizare este discutata in mai multe standarde ca de exemplu in cazul seriei de recomandari ale CCITT, X-400. In doua elemente diferite ale acestei serii pot exista solutii diferite pentru aceeasi sarcina. Acestea au fost incluse in standard ca si compromis între diferite parti. In tari diferite, la producatori diferiti, au fost adoptate parti diferite ale acestui standard.Cea de a doua faza presupune definirea standadelor functionale (numite si profile) pornind de la standardele de baza, care sa specifice clar grupurile functionale, functiile, optiunile, dimensiunile echipamentelor. Scopul profilelor OSI este sa defineasca cum trebuie utilizate in practica diferite standarde OSI de baza, pentru a putea fi definite sisteme capabile de interoperare.

In procesul de standardizare OSI definirea profilelor de comunicatie a devenit cea mai importanta activitate. In acest sens s-a creat un nou tip de document: Profilul international standardizat. Dar sisteme de securitate corespunzatoare vor putea fi create doar dupa ce se vor concepe si documente de tipul Profil de securitate.

3.2.1.1. Standarde de evaluare a increderii

Pe langa standardele care privesc direct securitatea exista si standarde care contin criterii de evaluare a increderii in calculatoare si retele. Centrul de securitate a calculatoarelor din S.U.A, NCSC (National Computer Security Center) a elaborat pentru DoD doua documente: pentru evaluarea securitatii calculatoarelor, Cartea portocalie (ORANGE BOOK) si pentru evaluarea securitatii retelelor,Cartea rosie (RED BOOK). Ambele definesc o aceeasi scala a nivelelor de securitate.

Page 37: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

1

5. Criptografia şi securitatea reţelelor

Criptografia-ştiinţa scrierilor secrete. Stă la baza unor servicii şi mecanisme de securitate.Foloseşte metode matematice pentru transformarea datelor, în intenţia de a ascunde conţinutul lor sau de a le proteja împotriva modificării.Are o istorie îndelungată. În anul 1975 a fost adoptat primul standard de criptare a datelor, propus de IBM şi numit DES (Data Encryption Standard). Se bazează pe un algoritm de criptare simetrică (cheia de criptare este cunoscută doar de către expeditorul şi destinatarul mesajului).

Witfield Diffie şi Martin Hellman, 1976, bazele criptografiei asimetrice cu chei publice. Se utilizează două chei, una secretă (cunoscută doar de destinatarul mesajului) şi una publică, care poate fi cunoscută de orice utilizator al reţelei. Cheia publică - identificarea sursei (se poate face şi autentificare). Standard de semnătură digitală (bazat pe utilizarea cheilor publice şi secrete), DSS (Digital Signature Standard), 1991.

5.1. Câţiva termeni utilizaţi în criptografie

Text clar - mesajul original:Mesaj cifrat, criptogramă - rezultatul operaţiei de criptare efectuate asupra textului clar;Cifrare, criptare - operaţia de secretizare a textului clar al cărei rezultat este mesajul cifrat;Descifrare, decriptare - operaţia inversă operaţiei de criptare.Chei criptografice - secvenţe de caractere care controlează operaţiile de criptare şi de decriptare. Criptanaliza - Studiul metodelor de decriptare ilegale (fără cunoaşterea cheilor criptografice).

Un sistem criptografic este compus din:M, text clar;C, text cifrat;2 funcţii inverse E şi D;- un algoritm care produce cheile. Există două tipuri de sisteme

criptografice:- simetrice (cu cheie secretă) care folosesc aceaşi cheie atât la cifrarea cât şi la descifrarea mesajelor;- asimetrice (cu chei publice) care folosesc două chei, una publică şi una privată.

Page 38: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

2

4. Bazele matematice ale criptării4.1. Aritmetica pe clase de resturi modulo specificatTabelele pentru operaţiile de adunare, înmulţire şi ridicare la putere pe

mulţimea claselor de resturi modulo 7.

+ | 0 1 2 3 4 5 6 * | 0 1 2 3 4 5 6------------------- ------------------- ^ | 0 1 2 3 4 5 60 | 0 1 2 3 4 5 6 0 | 0 0 0 0 0 0 0 -------------------1 | 1 2 3 4 5 6 0 1 | 0 1 2 3 4 5 6 1 | 1 1 1 1 1 1 12 | 2 3 4 5 6 0 1 2 | 0 2 4 6 1 3 5 2 | 1 2 4 1 2 4 13 | 3 4 5 6 0 1 2 3 | 0 3 6 2 5 1 4 3 | 1 3 2 6 4 5 14 | 4 5 6 0 1 2 3 4 | 0 4 1 5 2 6 3 4 | 1 4 2 1 4 2 15 | 5 6 0 1 2 3 4 5 | 0 5 3 1 6 4 2 5 | 1 5 4 6 2 3 16 | 6 0 1 2 3 4 5 6 | 0 6 5 4 3 2 1 6 | 1 6 1 6 1 6 1

1 şi 6, 2 şi 5 şi 3 şi 4 sunt inverse în raport cu adunarea. Exemplu de criptare folosind adunarea.

Se doreşte transmiterea mesajului 3. Se transmite 4, (3+1). La recepţie se adună modulo 7, inversul lui 1, adică 6 şi se va obţine (4+6),10 modulo 7, adică 3.

+ | 0 1 2 3 4 5 6 * | 0 1 2 3 4 5 6------------------- ------------------- ^ | 0 1 2 3 4 5 60 | 0 1 2 3 4 5 6 0 | 0 0 0 0 0 0 0 -------------------1 | 1 2 3 4 5 6 0 1 | 0 1 2 3 4 5 6 1 | 1 1 1 1 1 1 12 | 2 3 4 5 6 0 1 2 | 0 2 4 6 1 3 5 2 | 1 2 4 1 2 4 13 | 3 4 5 6 0 1 2 3 | 0 3 6 2 5 1 4 3 | 1 3 2 6 4 5 14 | 4 5 6 0 1 2 3 4 | 0 4 1 5 2 6 3 4 | 1 4 2 1 4 2 15 | 5 6 0 1 2 3 4 5 | 0 5 3 1 6 4 2 5 | 1 5 4 6 2 3 16 | 6 0 1 2 3 4 5 6 | 0 6 5 4 3 2 1 6 | 1 6 1 6 1 6 1

Dacă se îndepărtează, din tabelul de înmulţire, linia şi coloana care conţin doar elemente nule, atunci cele şase numere, rămase în fiecare linie şi în fiecare coloană, sunt diferite între ele. Se constată că în fiecare linie respectiv coloană, pe o anumită poziţie, există un 1. De aceea se poate afirma că pentru fiecare număr cuprins între 1 şi 6 există un altul, astfel încât produsul lor, modulo 7, să fie egal cu 1. Cu alte cuvinte, pe clasa de resturi modulo 7 (fără 0) operaţia de înmulţire este inversabilă. Această proprietate nu este adevărată pentru orice valoare a modulului. Ea este adevărată în cazul nostru deoarece 7 este număr prim.

4.2. Numere primeSe numeşte funcţie indicator, totient, a lui Euler şi se notează cu ϕfuncţia care asociază lui N numărul de numere întregi şi pozitive mai

mici decât N, relativ prime cu N.

E clar că dacă N este prim atunci ϕ(N)=N-1. În cazul din exemplul anterior ϕ(7)=6. Deci dacă modulul N este număr prim, atunci numărul de elemente inversabile la înmulţirea modulo N este ϕ(N). Mai interesant este tabelul de ridicare la putere prezentat în paragraful anterior.

^ | 0 1 2 3 4 5 6-------------------1 | 1 1 1 1 1 1 12 | 1 2 4 1 2 4 13 | 1 3 2 6 4 5 14 | 1 4 2 1 4 2 15 | 1 5 4 6 2 3 16 | 1 6 1 6 1 6 1

Orice număr cuprins între 1 şi 6, ridicat la puterea 6 este egal cu 1.Operaţia este periodică. Valorile obţinute prin ridicarea la puterea 0 sunt identice cu valorile obţinute prin ridicarea la puterea a 6-a.

Page 39: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

3

^ | 0 1 2 3 4 5 6-------------------1 | 1 1 1 1 1 1 12 | 1 2 4 1 2 4 13 | 1 3 2 6 4 5 14 | 1 4 2 1 4 2 15 | 1 5 4 6 2 3 16 | 1 6 1 6 1 6 1

Doar pentru 6 valori distincte ale exponenţilor (1, 2, 3, 4, 5 şi 6) se obţin valori diferite prin ridicarea la putere modulo 7. Se poate afirma, pe baza acestui exemplu, că numărul de exponenţi pentru care se obţin valori distincte prin ridicarea la putere modulo Neste egal cu ϕ(N). Cu alte cuvinte perioada de repetiţie într-un tabel de ridicare la putere modulo N

este egală cu ϕ(N). Din acest punct de vedere se poate afirma că la ridicarea la putere modulo 7, (N), exponentul poate fi privit ca fiind un element al clasei de resturi modulo 6 (modulo ϕ(N)). Această proprietate este valabilă, în general, pentru orice clasă de resturi modulo un număr prim. În continuare se analizează cazul în care baza nu este număr prim. Dacă se cunoaşte restul împărţirii unui anumit număr cu 5 şi apoi cu 7, se poate determina (deoarece 5 şi 7 sunt numere prime între ele (nu au factori comuni) ) restul împărţirii acelui număr la 35. De fapt cele două resturi sunt egale.

De aceea se poate spune că proprietăţile aritmeticii modulo 35 sunt o combinaţie a proprietăţilor aritmeticilor modulo 5 şi modulo 7. În consecinţă, referindu-ne acum la operaţia de ridicare la putere şi ţinând seama de proprietatea amintită anterior, nu este nevoie ca pentru ridicarea la putere modulo 35 (care conform proprietăţii anterioare ar pretinde exponenţi modulo 34) să se folosească exponenţi modulo 34, fiind suficient să se utilizeze exponenţi modulo 24 (pentru ridicarea la puterea a 5-a sunt suficienţi, conform proprietăţii anterioare, coeficienţi modulo 4, iar pentru ridicarea la puterea a şaptea, exponenţi modulo 6 şi produsul dintre 4 şi 6 este 24).

Raţionamentul făcut explică rolul numărului (p-1)(q-1) folosit în metoda de criptare cu cheie publică RSA. Această metodă presupune criptarea unui mesaj M, prin ridicarea sa la o putere e modulo N. Perechea (N,e) reprezintă cheia de criptare. Se obţine textul criptat C. Decriptarea se realizează prin ridicarea lui C la o putere d, inversa lui e în raport cu operaţia de înmulţire modulo N. Cheia de decriptare este perechea (N,d). Pentru a aplica această metodă de criptare trebuie calculată puterea d. În continuare se prezintă tabelul corespunzător operaţiei de ridicare la putere modulo 55.

^ | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ---------------------------------------------------------------------------------------------------

1 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 | 2 4 8 16 32 9 18 36 17 34 13 26 52 49 43 31 7 14 28 1 23 | 3 9 27 26 23 14 42 16 48 34 47 31 38 4 12 36 53 49 37 1 34 | 4 16 9 36 34 26 49 31 14 1 4 16 9 36 34 26 49 31 14 1 45 | 5 25 15 20 45 5 25 15 20 45 5 25 15 20 45 5 25 15 20 45 5 6 | 6 36 51 31 21 16 41 26 46 1 6 36 51 31 21 16 41 26 46 1 67 | 7 49 13 36 32 4 28 31 52 34 18 16 2 14 43 26 17 9 8 1 78 | 8 9 17 26 43 14 2 16 18 34 52 31 28 4 32 36 13 49 7 1 89 | 9 26 14 16 34 31 4 36 49 1 9 26 14 16 34 31 4 36 49 1 9

10 | 10 45 10 45 10 45 10 45 10 45 10 45 10 45 10 45 10 45 10 45 1011 | 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 1112 | 12 34 23 1 12 34 23 1 12 34 23 1 12 34 23 1 12 34 23 1 1213 | 13 4 52 16 43 9 7 36 28 34 2 26 8 49 32 31 18 14 17 1 1314 | 14 31 49 26 34 36 9 16 4 1 14 31 49 26 34 36 9 16 4 1 1415 | 15 5 20 25 45 15 5 20 25 45 15 5 20 25 45 15 5 20 25 45 1516 | 16 36 26 31 1 16 36 26 31 1 16 36 26 31 1 16 36 26 31 1 1617 | 17 14 18 31 32 49 8 26 2 34 28 36 7 9 43 16 52 4 13 1 1718 | 18 49 2 36 43 4 17 31 8 34 7 16 13 14 32 26 28 9 52 1 1819 | 19 31 39 26 54 36 24 16 29 1 19 31 39 26 54 36 24 16 29 1 1920 | 20 15 25 5 45 20 15 25 5 45 20 15 25 5 45 20 15 25 5 45 2021 | 21 1 21 1 21 1 21 1 21 1 21 1 21 1 21 1 21 1 21 1 2122 | 22 44 33 11 22 44 33 11 22 44 33 11 22 44 33 11 22 44 33 11 2223 | 23 34 12 1 23 34 12 1 23 34 12 1 23 34 12 1 23 3412 1 2324 | 24 26 19 16 54 31 29 36 39 1 24 26 19 16 54 31 29 3639 1 2425 | 25 20 5 15 45 25 20 5 15 45 25 20 5 15 45 25 20 5 15 45 2526 | 26 16 31 36 1 26 16 31 36 1 26 16 31 36 1 26 16 3136 1 2627 | 27 14 48 31 12 49 3 26 42 34 38 36 37 9 23 16 47 4 53 1 2728 | 28 14 7 31 43 49 52 26 13 34 17 36 18 9 32 16 8 4 2 1 2829 | 29 16 24 36 54 26 39 31 19 1 29 16 24 36 54 26 39 3119 1 2930 | 30 20 50 15 10 25 35 5 40 45 30 20 50 15 10 25 35 5 40 45 3031 | 31 26 36 16 1 31 26 36 16 1 31 26 36 16 1 31 26 3616 1 3132 | 32 34 43 1 32 34 43 1 32 34 43 1 32 34 43 1 32 3443 1 3233 | 33 44 22 11 33 44 22 11 33 44 22 11 33 44 22 11 33 4422 11 3334 | 34 1 34 1 34 1 34 1 34 1 34 1 34 1 34 1 34 1 34 1 3435 | 35 15 30 5 10 20 40 25 50 45 35 15 30 5 10 20 40 25 50 45 3536 | 36 31 16 26 1 36 31 16 26 1 36 31 16 26 1 36 31 16 26 1 3637 | 37 49 53 36 12 4 38 31 47 34 48 16 42 14 23 26 27 9 3 1 3738 | 38 14 37 31 23 49 47 26 53 34 27 36 48 9 12 16 3 4 42 1 3839 | 39 36 29 31 54 16 19 26 24 1 39 36 29 31 54 16 19 26 24 1 3940 | 40 5 35 25 10 15 50 20 30 45 40 5 35 25 10 15 50 20 30 45 4041 | 41 31 6 26 21 36 46 16 51 1 41 31 6 26 21 36 46 16 51 1 4142 | 42 4 3 16 12 9 48 36 27 34 53 26 47 49 23 31 37 14 38 1 4243 | 43 34 32 1 43 34 32 1 43 34 32 1 43 34 32 1 43 34 32 1 4344 | 44 11 44 11 44 11 44 11 44 11 44 11 44 11 44 11 44 11 44 11 4445 | 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 4546 | 46 26 41 16 21 31 51 36 6 1 46 26 41 16 21 31 51 36 6 1 4647 | 47 9 38 26 12 14 53 16 37 34 3 31 27 4 23 36 42 49 48 1 4748 | 48 49 42 36 23 4 27 31 3 34 37 16 53 14 12 26 38 9 47 1 4849 | 49 36 4 31 34 16 14 26 9 1 49 36 4 31 34 16 14 26 9 1 4950 | 50 25 40 20 10 5 30 15 35 45 50 25 40 20 10 5 30 15 35 45 5051 | 51 16 46 36 21 26 6 31 41 1 51 16 46 36 21 26 6 31 41 1 5152 | 52 9 28 26 32 14 13 16 7 34 8 31 17 4 43 36 2 49 18 1 5253 | 53 4 47 16 23 9 37 36 38 34 42 26 3 49 12 31 48 14 27 1 5354 | 54 1 54 1 54 1 54 1 54 1 54 1 54 1 54 1 54 1 54 1 54

Page 40: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

4

Factorii lui 55 sunt 5 şi 11, numere prime între ele şi prime în general. Conform observaţiei anterioare ar trebui să fie folosiţi coeficienţi modulo 40, deoarece tabelul ar trebui să se repete cu perioada 40. Observaţia anterioară este justificată de următoarea propoziţie:Dacă p şi q sunt două numere relativ prime şi dacă atunci

Intr-adevăr, în exemplul prezentat mai sus, valoarea lui N este 55, valoarea lui p este 5 iar valoarea lui q este 11. Numerele relativ prime cu 55, mai mici decât 55 sunt: 1, 2, 3, 4, 6, 7, 8, 9, 12, 13, 14, 16, 17, 18, 19, 21, 23, 24, 26, 27, 28, 29, 31, 32, 34, 36, 37, 38, 39, 41, 42, 43, 46, 47, 48, 49, 51, 52, 53, 54. De aceea ϕ(55)=40.

( ) ( )( )11 −−= qpNϕ

qpN ⋅=

4.3. Mica teoremă a lui FermatFiind dat numărul întreg a şi numărul prim p , care nu este divizor al lui a, are loc relaţia:

ap-1 = 1 (mod p).Notă istorică.Ca de obicei, Fermat nu a dat o demonstraţie nici pentru această teoremă (mărginindu-se să afirme ”Ţi-aş fi trimis şi demonstraţia dacă nu m-aş fi temut că este prea lungă"). Primul care a publicat o demonstraţie a acestei teoreme a fost Euler în anul 1736. A fost găsită însă aceeaşi demonstraţie într-un manuscris al lui Leibniz, redactat înainte de 1683, rămas nepublicat.

Demonstraţie: Pentru început se scriu primii p-1 multipli pozitivi ai lui a: a, 2a, 3a, ... (p -1)a. Dacă ra şi sa sunt egali modulo p, atunci:

deoarece p este număr prim şi nu-l divide pe a. Adică:r = s (mod p)

Dar numerele r şi s sunt distincte şi mai mici decât p. De aceea ultima egalitate nu poate avea loc. În consecinţă ipoteza făcută este absurdă. De aceea se poate afirma că cei p-1 multipli ai lui a,introduşi mai sus, sunt distincţi şi nenuli. În consecinţă (fiind vorba de p-1 valori) ei trebuie să fie egali modulo p cu numerele 1, 2, 3, ..., p-1 într-o anumită ordine. Prin înmulţirea membrilor stângi respectiv drepţi ai tuturor acestor egalităţi se obţine egalitatea următoare:

ax2ax3a.....(p-1)a =1x2x3.....(p-1) (mod p)adică:

a (p-1) (p-1)! = (p-1)! (mod p)Împărţind în ambii membri cu (p-1)! mod(p) se obţine tocmai relaţia din enunţ.

( ) ( ) ( ) ( )pmodapmodspmodapmodr ⋅=⋅

Page 41: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

5

4.4. Câmpuri GaloisUn câmp Galois este un câmp finit cu pn elemente, unde p este un număr prim. Mulţimea elementelor nenule ale câmpului Galois este un grup ciclic în raport cu operaţia de înmulţire. Un element generator al acestui grup ciclic este numit element primitiv al câmpului. Câmpul Galois poate fi generat ca o mulţime de polinoame cu coeficienţi în Zp modulo un polinom ireductibil de gradul n. Valorile unui octet se reprezintă în algoritmii de criptare prin concatenarea biţilor individuali: {b7, b6, b5, b4, b3, b2, b1, b0}. Aceşti octeţi sunt interpretaţi ca şi elemente ale campului finit GF(28) cu ajutorul unei reprezentări polinomiale:

∑=+++++++=

7

001

22

33

44

55

66

77

k

kk xbbxbxbxbxbxbxbxb

În februarie1827 s-a înscris în clasa de matematică a profesorului M. Vernier. În aprilie 1829 a publicat prima lucrare, asupra fracţiilor continue, în Annales de mathematiques. Galois a propus 2 articole asuprasoluţiilor ecuaţiilor algebrice la Academia de ştiinţe dinFranţa. A promovat examenul de bacalaureat pe data de 29 decembrie 1829. Galois a continuat să-i trimită lui Cauchy (recenzorul său de la Academie) cercetărilesale asupra ecuaţiilor dar a aflat că o parte din ele se suprapuneau peste rezultatele publicate de Abel. AtunciGalois a ascultat sfatul lui Cauchy şi a propus un nouarticol asupra condiţiilor în care o ecuaţie este rezolvabilă cu ajutorul radicalilor în februarie 1830. Articolul i-a fost trimis lui Fourier, secretarul Academieidin Paris, pentru a fi considerat pentru Marele premiu în matematică. Dar Fourier a murit în aprilie 1830 aşa călucrarea lui Galois nu a fost niciodată considerată pentruacest premiu. După ce a citit lucrările lui Abel şi ale lui Jacobi, Galois a început să studieze funcţiile eliptice şi integralele abeliene. Cu ajutorul lui Jacques Sturm, Galois a publicat 3 lucrări în aprilie 1830. Două lucrări minore, prima publicată în decembrie 1830 şi cea de a doua în ianuarie 1831, au fost ultimele sale publicaţii.

Evariste Galois (25. 10. 1811 - 31. 05. 1832)

De exemplu octetul {01100011} se identifică cu polinomul:

Elementele câmpurilor finite pot fi adunate sau înmulţite. Exemplul 1: GF(2)

GF(2) constă din elementele 0 şi 1 (p=2 şi n=1) şi reprezintă cel mai mic câmp finit. Este generat de polinoame peste Z2 modulo polinomul x. Polinoamele corespunzătoare elementelor din GF(2) sunt: 0 şi 1, deoarece x mod x=0 şi x+1 mod x=1. Tabelele sale de adunare şi înmulţire sunt:

+ | 0 1 * | 0 1--+---- --+----0 | 0 1 0 | 0 01 | 1 0 1 | 0 1

Se constată că operaţia de adunare este identică cu operaţia logică sau-exclusiv şi că înmulţirea este identică cu operaţia logică şi.

156 +++ xxxCâmpul GF(2) este utilizat frecvent la construcţia de coduri deoarece el este uşor reprezentat în calculatoare, fiind necesar un singur bit.Adunarea Însumarea a două elemente într-un câmp finit Galois al lui 2 la o anumită putere este realizată prin "adunarea" coeficienţilor corespunzători aceleiaşi puteri din polinoamele corespunzătoare celor două elemente. "Adunarea" este efectuată modulo 2 (adică este vorba despre funcţia logică sau-exclusiv). În consecinţă scăderea polinoamelor este identică cu adunarea lor. Alternativ adunarea a doi octeţi în GF(28), {a7, a6, a5, a4, a3, a2, a1, a0} şi {b7, b6, b5, b4, b3, b2, b1, b0}, se face prin adunarea modulo 2 a biţilor lor corespunzători.

Page 42: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

6

Se obţine octetul {c7, c6, c5, c4, c3, c2, c1, c0}, unde: De exemplu următoarele expresii sunt echivalente:

(notaţie polinomială){01010111} {10000011}= {11010100}(notaţie binară)

{57} {83} = {d4} (notaţie hexazecimală)Înmulţirea

În reprezentare polinomială, înmulţirea în câmpul lui Galois al lui 28, GF(28), notată cu •, corespunde înmulţirii polinoamelor corespunzătoare modulo un polinom ireductibil de gradul 8. Un astfel de polinom ireductibil este:

sau {1b} în notaţie hexazecimală.

.,i,bac iii 71=⊕=

( ) ( ) 24677246 11 xxxxxxxxxx +++=+++++++

1348 ++++ xxxx

De exemplu:{57} • {83} = {c1}deoarece ţinând seama de reprezentările polinomiale ale lui {57} şi {83}:

sau ţinând seama de modul în care a fost definită adunarea:

Dar:

P(x) m(x) R(x)deoarece restul împărţirii lui P(x) la m(x) este care este egal cu R(x), deoarece coeficienţii acestor polinoame trebuie consideraţi din mulţimea claselor de resturi modulo 2 (aşa cum s-a arătat deja când s-a vorbit despre adunare).

( ) ( )1

11246

235778911137246

+++++

++++++++++=++•++++

xxxx

xxxxxxxxxxxxxxxx

( ) ( ) 111 34568911137246 ++++++++=++•+++ xxxxxxxxxxxxx

( )13 11 9 8 6 5 4 3 8 4 3 7 61 mod 1 1 x x x x x x x x x x x x x x+ + + + + + + + + + + + = + +

167 +−− xx

Dar octetul corespunzător lui R(x) estesau în notaţie hexazecimală {c1}. Înmulţirea definită astfel este asociativă, iar elementul său neutru este {01}. Pentru orice polinom binar neidentic nul, de grad inferior lui 8, b(x), există un element invers în raport cu această înmulţire, notat . Acesta poate fi calculat utilizând algoritmul lui Euclid, şi determinând polinoamele a(x) şi c(x), care au proprietatea:

adică:

ceea ce înseamnă că:

{ }100000110 ,,,,,,,,

( ) ( ) ( ) ( ) 1=⋅+⋅ xcxmxaxb( ) ( ) ( ){ } 1=• xmmodxaxb( ) ( ) ( ){ }xmmodxaxb =−1

( ) ( ) ( )( ) ( ) ( ) ( ) ( )xcxaxbxaxcxbxa •+•=+•

( )xb 1−

Mai mult se poate demonstra că înmulţirea • este distributivă în raport cu adunarea pe GF(28).

Exemplul 2: GF(3)GF(3) este constituit din elementele 0, 1, şi -1. El este generat de

polinoame peste Z3 modulo polinomul x. Tabelele sale de adunare şi înmulţire sunt:

+ | 0 1 -1 * | 0 1 -1--+-------- --+--------0 | 0 1 -1 0 | 0 0 01 | 1 -1 0 1 | 0 1 -1-1| -1 0 1 -1 | 0 -1 1

Este utilizat la construcţia codurilor ternare.

Page 43: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

7

Exemplul 3: GF(4)Acest câmp Galois este generat de polinoamele peste Z2 modulo

polinomul x2 + x + 1. Elementele sale sunt (0,1, A, B). Tabelele sale de adunare şi înmulţire sunt:

+ | 0 1 A B * | 0 1 A B---|---------- ---|----------0 | 0 1 A B 0 | 0 0 0 01 | 1 0 B A 1 | 0 1 A BA | A B 0 1 A | 0 A B 1B | B A 1 0 B | 0 B 1 A

Datorită tabelului de înmulţire A se identifică de obicei cu rădăcina cubică a unităţii , A şi B sunt elemente primitive ale lui GF(4).

2321 /i/ +−

Înmulţirea cu monoame pe GF(28)

Într-un paragraf anterior s-a introdus înmulţirea pe acest câmp Galois, dar nu s-a indicat o metodă numerică simplă pentru efectuarea acestei înmulţiri. Înmulţirea cu monoame este un caz particular important (orice înmulţire de polinoame se bazează pe câteva înmulţiri cu monoame) pentru care există metode numerice simple de implementare. Înmulţirea lui

notat cu b(x), cu x conduce la polinomul:

Rezultatul înmulţirii se obţine reducând modulo m(x) rezultatul obţinut anterior. Daca bitul b7 are valoarea 0 atunci rezultatul este deja în forma redusă. Dacă acest bit are valoarea 1 reducerea este realizată prin scăderea (adică prin operaţia logică sau-exclusiv) polinomului m(x).

012

23

34

45

56

67

7 bxbxbxbxbxbxbxb +++++++

xbxbxbxbxbxbxbxb 02

13

24

35

46

57

68

7 +++++++

În consecinţă înmulţirea pe GF(28) cu x, (adică {00000010} în formă binară, respectiv {02}, în formă hexazecimală) poate fi implementată la nivel de octet printr-o deplasare la stânga urmată sau nu (în funcţie de valoarea bitului b7) de calculul funcţiei sau-exclusiv dintre rezultatul (obţinut în urma rotirii) şi {1b}. Această operaţie, la nivel de octet, este notată prin xtime().Înmulţirea cu puteri mai mari ale lui x poate fi implementată prin aplicarea repetată a operaţiei xtime().Prin adunarea unor astfel de rezultate intermediare poate fi implementată înmulţirea cu orice polinom. De exemplu: {57} • {13} = {fe}deoarece:{57} • {02} = xtime({57}) = {ae}{57} • {04} = xtime({ae}) = {47}{57} • {08} = xtime({47}) = {8e}{57} • {10} = xtime({8e}) = {07}şi:{57} • {13} = {57} • ({01} + {02} + {10}) = {57} + {ae}+{07} = {fe}

Polinoame cu coeficienţi în GF(28)

Până acum coeficienţii polinoamelor erau de valoare unu sau zero, fiind deci vorba despre polinoame binare. În continuare se analizează cazul polinoamelor cu coeficienţi octeţi. Polinoamele cu patru termeni, cu coeficienţi în câmpul specificat, sunt de forma:

şi se reprezintă ca şi cuvinte de forma [a0 , a1 , a2 , a3 ]. De data aceasta însă coeficienţii nu mai sunt biţi ci octeţi. De aceea şi polinomul de reducere va fi diferit, aşa cum se va arăta în continuare. Pentru a ilustra operaţiile de adunare şi de înmulţire pentru polinoame cu patru termeni cu coeficienţi octeţi fie cel de al doilea termen (sau factor) al operaţiei:

( ) 012

23

3 axaxaxaxa +++=

( ) 012

23

3 bxbxbxbxb +++=

Page 44: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

8

Adunarea este realizată prin adunarea, în câmpul finit al coeficienţilor, a coeficienţilor corespunzători aceleiaşi puteri a lui x. Adunarea în câmpul finit al coeficienţilor este efectuată prin intermediul operaţiei de sau-exclusiv între octeţii corespunzători (de această dată este vorba despre sau-exclusiv între octeţii compleţi şi nu între biţii din componenţa lor).În consecinţă:

Înmulţirea celor două polinoame, numită înmulţire modulară, se efectuează în doi paşi.Primul pas presupune dezvoltarea algebrică a produsului celor două polinoame, şi identificarea coeficienţilor fiecărei puteri:

( ) ( ) ( ) ( ) ( ) ( )3 23 3 2 2 1 1 0 0a x b x a b x a b x a b x a b+ = ⊕ + ⊕ + ⊕ + ⊕

( ) ( ) ( )xbxaxc •=

unde:

Acest rezultat, c(x), nu este însă un polinom cu patru termeni.

Cel de al doilea pas presupune reducerea lui c(x) modulo un

polinom de gradul 4, obţinându-se un polinom de grad mai mic

decât patru. De exemplu în cazul algoritmului de criptare simetrică

Rijndael polinomul de reducere este , astfel încât:.

( ) 012

23

34

45

56

6 cxcxcxcxcxcxcxc ++++++=

0 0 0 4 3 1 2 2 1 3

1 1 0 0 1 5 3 2 2 3

2 2 0 1 1 0 2 6 3 3

3 3 0 2 1 1 2 0 3

c a b c a b a b a bc a b a b c a b a b

c a b a b a b c a bc a b a b a b a b

= • = • ⊕ • ⊕ •= • ⊕ • = • ⊕ •

= • ⊕ • ⊕ • = •= • ⊕ • ⊕ • ⊕ •

14 +x

( ) 44 1 modii xxmodx =+

Produsul modular al polinoamelor a(x) şi b(x), notat , este dat de polinomul cu patru termeni d(x), definit după cum urmează:

cu:

Dacă a(x) este un polinom fixat, operaţiile descrise mai sus pot fi exprimate şi matricial:

( ) ( )xbxa ⊗

( ) 012

23

3 dxdxdxdxd +++=

( ) ( ) ( ) ( )( ) ( ) ( ) ( )( ) ( ) ( ) ( )( ) ( ) ( ) ( )302112033

332011022

322310011

312213000

babababadbabababadbabababadbabababad

•⊕•⊕•⊕•=•⊕•⊕•⊕•=•⊕•⊕•⊕•=•⊕•⊕•⊕•=

⎥⎥⎥⎥

⎢⎢⎢⎢

⎥⎥⎥⎥

⎢⎢⎢⎢

=

⎥⎥⎥⎥

⎢⎢⎢⎢

3

2

1

0

0123

3012

2301

1230

3

2

1

0

bbbb

aaaaaaaaaaaaaaaa

dddd

De aceea se poate afirma că înmulţirea modulară se reduce la o înmulţire matricială.

Deoarece nu este un polinom ireductibil pe GF(28), înmulţirea modulară a polinoamelor cu patru termeni cu coeficienţi octeţi, definită mai sus, nu este neapărat o operaţie inversabilă. În algoritmul Rijndael este totuşi utilizat un polinom cu patru termeni cu coeficienţi octeţi, care trebuie să aibă invers în raport cu această operaţie de înmulţire:

Inversul său este:

Un alt polinom utilizat în programul de criptare cu cheie secretă

Rijndael este polinomul .

14 +x

( ) { } { } { } { }02010103 23 +++= xxxxa

( ) { } { } { } { }exxdxbxa 00900 231 +++=−

3x

Page 45: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

9

Efectul înmulţirii modulare cu acest polinom este rotirea octetului cu o poziţie spre stânga. Asta înseamnă că [b0, b1, b2, b3] se transformă în [b1, b2, b3, b0].

4.5. Matrici MDSUn cod separat la distanţă maximă, maximum distance separable code

(MDS), definit peste un câmp finit, este o corespondenţă între aelemente ale acelui câmp finit şi b elemente ale unui alt câmp finit, care produce un vector compus de a+b elemente, cu proprietatea că numărul minim de elemente nenule din orice vector nenul este de cel puţin b + 1. Altfel spus distanţa dintre oricare doi vectori produşi de corespondenţa MDS (adică numărul de elemente care diferă între cei doi vectori) este de cel puţin b + 1. O corespondenţă MDS poate fi reprezentată cu ajutorul unei matrici MDS care are axb elemente. Transformarea MDS corespunzătoare, a unui anumit octet, se realizează prin înmulţirea acelui octet, privit ca şi vector, cu matricea MDS. De exemplu codurile corectoare de erori Reed-Solomon sunt coduri de tip MDS.

Page 46: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

1

Transformări Pseudo-Hadamard

Simpla operaţie de mixare, poate fi implementată numeric rapid.

algoritmul Twofish, - 2 cicluri de microprocesor.

Functii hash

H definită pe A, cu valori în B, formată cu elemente a căror exprimare în binar se face cu acelaşi număr de biţi, n.A-mulţimea mesajelor. B are 2n elemente. n prea mic - H nu este injectivă.

( )322modbaat +=

Caracteristicile funcţiilor hash sunt:Fiind dat mesajul M, din A, este simplu de

calculat h=H(M).Fiind dat h este dificil de calculat M.Fiind dat M este dificil să se găsească un alt

mesaj M' diferit, a. î. H(M)=H(M').Este greu să se găsească două mesaje

aleatoare a. î. H(M)=H(M') - rezistenţă la coliziune.Prin modificarea unui singur bit din M se modifică mulţi biţi din h.

O funcţie hash de tipul one-way este o funcţie hash care este dificil de inversat: dacă H(a)=b şi dacă se cunoaşte b atunci este foarte dificil să se afle a. Sunt rezistente la atacuri de tip collision.

Aplicaţii:- autentificare;- message integrity check;- message authentication check;- generarea şirurilor de chei;- securitatea parolelor.

Cel mai des folosită funcţie hash se numeşte MD5 (Message Digest) şi a fost introdusă de Rivest în 1991. Ea transformă un fişier de lungime arbitrară într-o valoare exprimată pe 128 de biţi. Această funcţie hash se utilizează la generarea semnăturilor digitale, caz în care rezultatul aplicării sale unui mesaj se numeşte rezumatul mesajului, MD.

Terminologie şi notaţii• ^ ridicare la putere, x^i • + adunarea modulo 2^32 • X <<< s valoare exprimată pe 32 de biţi obţinută prin rotirea

circulară spre stânga cu s poziţii a lui X.• not(X) complementul lui X obţinut prin complementarea

fiecărui bit al sau.• X v Y rezultatul aplicării funcţiei sau cuvintelor X şi Y obţinut

prin aplicarea funcţiei sau fiecărei perechi de biţi (de aceeaşi semnificaţie) din cele două cuvinte

• X xor Y rezultatul aplicării funcţiei sau-exclusiv cuvintelor X şi Y obţinut prin aplicarea funcţiei sau-exclusiv fiecărei perechi de biţi (de aceeaşi semnificaţie) din cele două cuvinte.

• XY rezultatul aplicării funcţiei şi cuvintelor X şi Y obţinut prin aplicarea funcţiei şi fiecărei perechi de biţi (de aceeaşi semnificaţie) din cele două cuvinte.

Pentru determinarea rezumatului mesajului se fac următorii 5 paşi.

Page 47: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

2

Descrierea algoritmului MD5Se consideră că mesajul de intrare (elementul căruia i se aplică funcţia hash) are o lungime de b biţi. Rezultatul aplicării funcţiei hash va fi rezumatul mesajului considerat. Forma mesajului iniţial este: m_0 m_1 ... m_{b-1}.

Pasul 1. Adăugare de biţi pentru egalizarea lungimii mesajuluiMesajul este extins astfel încât lungimea sa să devină egală cu 448 modulo 512. Se adaugă un singur bit cu valoarea 1 şi apoi se aduagă biţi de valoare 0. Numărul de biţi adăugaţi poate varia între1 şi 512.

Pasul 2. Adăugarea lungimii mesajuluiO reprezentare pe 64 de biţi a lungimii iniţiale a mesajului, b, este adaugată la rezultatul obţinut în urma efectuării pasului anterior. În ipoteza, puţin probabilă, că valoarea lui b este mai mare decât 2 la puterea 64, se utilizează doar cei mai puţin semnificativi 64 de biţi ai reprezentării binare a valorii b. Acest cuvânt de 64 de biţi se adauagă prin concatenarea a două cuvinte de 32 de biţi, primul fiind cel care conţine biţii mai puţin semnificativi. În acest punct al algoritmului, noulmesaj obţinut are o lungime egală cu un multiplu de 512. Deci acest mesaj conţine un număr întreg de cuvinte de 16, respectiv 32 de biţi. Fie M[0 ... N-1] reprezentarea unui cuvânt al mesajului rezultat, unde N este un multiplu de 16.

Pasul 3. Iniţializarea registrului MD

Un registru de patru cuvinte (A,B,C,D) se foloseşte pentru calculul rezumatului mesajului. De fapt cu A, B, C, D, au fost notate patru registre de câte 32 de biţi. Aceste registre sunt încărcate iniţial cu următoarele valori, exprimate în hexazecimal (cu biţii cei mai puţin semnificativi la început):A 01 23 45 67 B 89 ab cd ef C fe dc ba 98 D 76 54 32 10

Pasul 4. Prelucrarea mesajului folosind blocuri de câte 16 cuvintePentru început se definesc 4 funcţii auxiliare, fiecare aplicându-se la câte 3 cuvinte de câte 32 de biţi şi având ca valoare câte un cuvânt de 32 de biţi.

F(X,Y,Z) = XY v not(X) ZG(X,Y,Z) = XZ v Y not(Z)H(X,Y,Z) = X xor Y xor ZI(X,Y,Z) = Y xor (X v not(Z))

Acest pas foloseşte un tabel cu 64 de elemente T[1 ... 64] construit cu ajutorul valorilor funcţiei sinus. Fie T[i] cel de al i-ilea element al tabelului, care este egal cu partea întreagă a produsului dintre 4294967296 şi valoarea absolută a lui sin(i), unde i este exprimat în radiani.Pentru încheierea acestui pas se efectuează următoarele operaţii:

Page 48: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

3

/* Se prelucrează fiecare bloc de câte 16 cuvinte. */For i = 0 to N/16-1 do

/* Se copiază cel de al i-ilea bloc în X. */For j = 0 to 15 do

Set X[j] to M[i*16+j].end /* al buclei după j */

/* Salvează A ca şi AA, B ca şi BB, C ca şi CC, şi D ca şi DD. */

/* Iteraţia 1. */ /* Se notează cu [abcd k s i]operaţia:

a = b + ((a + F(b,c,d) + X[k] + T[i]) <<< s). */ /* Se fac următoarele 16 operaţii. */

[ABCD 0 7 1] [DABC 1 12 2] [CDAB 2 17 3] [BCDA 3 22 4][ABCD 4 7 5] [DABC 5 12 6] [CDAB 6 17 7] [BCDA 7 22 8][ABCD 8 7 9] [DABC 9 12 10] [CDAB 10 17 11] [BCDA 11 22 12][ABCD 12 7 13] [DABC 13 12 14] [CDAB 14 17 15] [BCDA 15 22 16]/* Iteraţia 2. */

/* Se notează cu [abcd k s i] operaţia:a = b + ((a + G(b,c,d) + X[k] + T[i]) <<< s). */

/* Se fac următoarele 16 operaţii. */[ABCD 1 5 17] [DABC 6 9 18] [CDAB 11 14 19] [BCDA 0 20 20][ABCD 5 5 21] [DABC 10 9 22] [CDAB 15 14 23] [BCDA 4 20 24][ABCD 9 5 25] [DABC 14 9 26] [CDAB 3 14 27] [BCDA 8 20 28][ABCD 13 5 29] [DABC 2 9 30] [CDAB 7 14 31] [BCDA 12 20 32]/* Iteraţia 3. */

/* Se notează cu [abcd k s t] operaţia:a = b + ((a + H(b,c,d) + X[k] + T[i]) <<< s). */

/* Se fac următoarele 16 operaţii. */[ABCD 5 4 33] [DABC 8 11 34] [CDAB 11 16 35] [BCDA 14 23 36][ABCD 1 4 37] [DABC 4 11 38] [CDAB 7 16 39] [BCDA 10 23 40][ABCD 13 4 41] [DABC 0 11 42] [CDAB 3 16 43] [BCDA 6 23 44][ABCD 9 4 45] [DABC 12 11 46] [CDAB 15 16 47] [BCDA 2 23 48]/* Iteraţia 4. */

/* Se notează cu [abcd k s t] operaţia:a = b + ((a + I(b,c,d) + X[k] + T[i]) <<< s). */

/* Se fac următoarele 16 operaţii. */[ABCD 0 6 49] [DABC 7 10 50] [CDAB 14 15 51] [BCDA 5 21 52][ABCD 12 6 53] [DABC 3 10 54] [CDAB 10 15 55] [BCDA 1 21

56][ABCD 8 6 57] [DABC 15 10 58] [CDAB 6 15 59] [BCDA 13 21

60][ABCD 4 6 61] [DABC 11 10 62] [CDAB 2 15 63] [BCDA 9 21 64]

/* Apoi se realizează următoarele adunări. (Acestea incrementează fiecare dintre cele patru registre cu valorile pe care le-a avut înaintea începerii acestui bloc.) */

A = A + AAB = B + BB

C = C + CCD = D + DD

end /* al buclei după i */

Pasul 5. Livrarea MDRezumatul mesajului produs cu algoritmul MD5 este obţinut prin concatenarea conţinuturilor registrelor A, B, C şi D obţinute la sfârşitul pasului anterior. La început se vor găsi biţii cei mai puţin semnificativi ai registrului A iar la sfârşit biţii cei mai semnificativi ai registrului D.

O altă funcţie hash utilizată frecvent este SHA (prescurtarea de la Secure Hash Algorithm), publicată de Guvernul American în anul 1995. Aceasta transformă un fişier, mai scurt sau mai lung de 160 de biţi, într-o secvenţă de 160 de biţi. Şi această funcţie se utilizează la construcţia semnăturilor digitale, fiind utilizată în standardul DSS, în algoritmul DSA. Această funcţie este prezentată în documentul publicat de NIST intitulat FIPS 180-1.

Page 49: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

4

Structura FeistelHorst Feistel de la IBM a propus în anul 1973 o structură care a fost aleasă pentru algoritmul DES. Aceasta este o structură iterativă, care are un numar fixat de iteraţii. La prima iteraţie se utilizează textul clar iar rezultatul ultimei iteraţii este textul cifrat. Cheia de criptare K este utilizată pentru a genera câte o cheie ki la fiecare iteraţie, i. În fiecare iteraţie, textul obţinut la sfârşitul iteraţiei anterioare este împărţit în 2 jumătăţi Li şi Ri. Se folosesc formulele de recurenţă:

L i+1 = Ri (1 Feistel)şi

Ri+1 = f(Ri,ki) + Li, (2 Feistel)unde cu + s-a notat operaţia de sau-exclusiv şi cu f() s-a notat o funcţie hash.

O trăsătură utilă a acestei structuri este că în fiecare iteraţie se utilizează o altă funcţie dacă cheia specifică a iteraţiei este diferită de cheile folosite în iteraţiile anterioare şi că se poate utiliza orice număr de iteraţii. Frumuseţea acestei structuri este că, deşi f este dificil de inversat, această inversare nu este necesară pentru a descifra Li+1 putându-se utiliza tot funcţia f, folosind cheia ki şi apoi se aplică funcţia sau-exclusiv între rezultatul obţinut şi Ri+1:

Li = f(Ri,ki) + Ri+1 = f(Li+1,ki) + Ri+1 (3 Feistel)iar:

Ri= Li+1 (4 Feistel)

Ideea lui Feistel conduce deci la folosirea aceleiaşi structuri hard sau soft atât pentru criptare cât şi pentru decriptare.

Algoritmi criptografici cu cheie secretă

S-a transformat radical modul de a face afaceri, de a guverna, de a se distra şi de a conversa cu prietenii şi cu familia. Documente private, erau pe hartie, livrate în mână şi ţinute sub lacăt.Acum create, trimise şi păstrate electronic. Scăderea confidenţialităţii.Adoptarea criptografiei. Multe scheme de criptare utilizate astăzi sunt simetrice (se bazează pe o singură cheie, secretă), aşa cum o arată standardul american DES. În continuare se prezintă câteva dintre cele mai populare astfel de metode.

Standardul de criptare a datelor (DES) a fost dezvoltat în anii 70 şi încă se utilizează pe scară largă, urmând să fie înlocuit de Standardul avansat de criptare a datelor Advanced Encryption Standard (AES), care a fost omologat în anul 2000. Algoritmul DES este încă popular mai ales în "industria bancară". El este un sistem de cifrare pe blocuri, codând textul în blocuri de lungime fixă, folosind o cheie tot de lungime fixă. Există şi sisteme de cifrare a şirurilor care nu fac segmentarea în blocuri. În anul 2000, Institutul National de Standardizare şi Tehnologii al S.U.A., United States' National Institute of Standards and Technology (NIST), din Gaithersburg, a declanşat o competiţie pentru conceperea unui nou standard de criptare simetrică numit Standardul de Criptare Avansat, Advanced Encryption Standard(AES), care va inlocui standardul DES. Motivul principal este că există suspiciunea că Guvernul S.U.A. ar avea o "uşă din dos" pentru a controla fişierele criptate folosind algoritmul DES.

Page 50: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

5

Cei cinci finalişti ai acestei competiţii sunt: programul Mars, creat de IBM; programul RC6, realizat de RSA Laboratories şi Ronald Rivest de la Massachusetts Institute of Technology; programul Rijndael, creat de doi belgieni, Joan Daemen şi Vincent Rijmen; programul Serpent, creat de Ross Anderson, Eli Biham şi Lars Knudsen, din Marea Britanie, Israel şi Norvegia, şi progamul Twofish, creat de Bruce Schneier, de la Counterpane Internet Security, Inc. Câştigătorul acestui concurs a fost programul Rijndael.Triplu DES. Criptând un mesaj deja criptat cu algoritmul DES cu ajutorul unei noi chei creşte securitatea acestuia dar aceasta poate fi crescută şi mai mult dacă se mai efectuează încă o criptare DES. Algoritmul obţinut astfel este mai lent dar mai sigur. Majoritatea implementărilor noului algoritm utilizează doar două chei, cheia 1 este folosită la prima şi la cea de a treia criptare iar cheia 2 la cea de a doua criptare.

Algoritmul internaţional de criptare de date (IDEA) foloseşte o cheie de 128 de biţi, concepută la ETH Zurich. IDEA se foloseşte în programele PGP (de poştă electronică criptată) şi Speak Freely (un program care realizează criptarea semnalului vocal digitizat care se transmite pe Internet).Blowfish este un cod bloc de 64 de biţi care foloseşte chei de lungimi cuprinse între 32 şi 448 de biţi. A fost conceput de către Bruce Schneier de la Counterpane Internet Security Inc., San Jose, California şi este utilizat în peste 100 de produse.Twofish de asemenea conceput de Schneier, este un program de criptare foarte bun şi este unul dintre cei cinci candidaţi consideraţi pentru standardul AES.RC4 este un program de cifrare a şirurilor de date proiectat de către Ronald Rivest de la RSA Security Inc., Bedford, Massachusetts. El adună bit cu bit ieşirea unui generator de numere pseudoaleatoare cu şirul de biţi ai unui text clar.

Algoritmul DESCei 64 de biţi ai unui bloc de text clar care urmează să fie criptat suferă o permutare iniţială IP: 58 50 42 34 26 18 10 260 52 44 36 28 20 12 462 54 46 38 30 22 14 664 56 48 40 32 24 16 857 49 41 33 25 17 9 159 51 43 35 27 19 11 361 53 45 37 29 21 13 563 55 47 39 31 23 15 7Primul bit al şirului obţinut după permutarea iniţială este cel de-al 58-lea bit al blocului de text clar, cel de al doilea bit al şirului obţinut după permutarea iniţială este cel de al 50-lea bit al blocului de text clar ş.a.m.d. Şirul de biţi obţinut în urma permutării iniţiale este prelucrat apoi de o schemă de calcul dependentă de chei, descrisă în continuare.

Prima etapă, Expandarea (E):

În fiecare iteraţie, partea dreaptă este la început expandată de la 32 la 48 de biţi, prin considerarea sa ca o grupare de 8 nybbles (cantitate de 4 biţi) şi prin copierea celor 8 nybblesîn centrele (de câte 4 biţi) ale celor 8 grupări de câte 6 biţi (existente în cadrul şirului destinaţie de 48 de biţi). Biţii extremi, din stânga şi din dreapta ai grupărilor de 6 biţi (destinaţie) sunt obţinuţi prin copierea biţilor extremi ai nybble-ului corespunzător din şirul original de 32 de biţi. De exemplu prima grupare de 6 biţi constă din biţii: 31, 0, 1, 2, 3 şi 4 iar cea de a doua constă din biţii 3,4,5,6,7 şi 8.

Page 51: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

6

A doua etapă, Sau-exclusiv (+):Între aceste 8 grupări de 6 biţi şi cheia iteraţiei se efectuează sau-exclusiv, rezultatul fiind salvat în una din cele 8 "cutii" de tip S (S-boxe). A treia etapă, Salvarea (S):În fiecare cutie de tip S ajunge câte o grupare de 6 biţi căreia, folosind un "selector" (construit cu cei doi biţi de la capete) i se aplică una dintre cele 4 substituţii ale celor 4 biţi centrali. Din cele 8 grupări de câte 4 biţi centrali se obţine un şir de 32 de biţi.A patra etapă, Permutarea (P):Acestui şir i se aplică o nouă permutare (se zice că şirul este pus într-o cutie de tip P) şi apoi se calculează sau-exclusiv între rezultat şi partea stângă a structurii Feistel. Operaţia de expandare poate fi descrisă şi cu ajutorul unui tabel de selecţie a biţilor. Funcţia E transformă şirul de 32 de biţi într-un bloc de 48 de biţi. Blocul de 48 de biţi rezultat este reprezentat ca şi o mulţime de 8 blocuri de câte 6 biţi fiecare şi se obţine prin alegerea biţilor din şirul de intrare (de 32 de biţi) în concordanţă cu tabelul :

32 1 2 3 4 54 5 6 7 8 98 9 10 11 12 13

12 13 14 15 16 1716 17 18 19 20 2120 21 22 23 24 2524 25 26 27 28 2928 29 30 31 32 1

Deci primii trei biţi ai şirului E(R) sunt biţii din poziţile 32, 1 şi 2 ale şirului Rîn timp ce ultimii 2 biţi ai şirului E(R) sunt biţii din poziţiile 32 şi 1 ale şirului R. Şi operaţia de salvare S poate fi descrisă cu ajutorul unor tabele de selecţie a biţilor. Fiecare dintre funcţiile de selecţie S1,S2,...,S8, transformă un bloc de intrare de 6 biţi într-un bloc de ieşire de 4 biţi. În acest scop se poate folosi câte un tabel de ordonare a biţilor. Tabelul de selecţie pentru S1 are forma următoare:

Număr coloanăLinie

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 71 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 82 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 03 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13

Dacă B este un bloc de 6 biţi, atunci S1(B) se determină după cum urmează: Primul şi ultimul bit al lui B reprezintă în baza 2 un număr cuprins între 0 şi 3. Fie acest număr k. Cei 4 biţi din mijlocul lui B reprezintă în baza 2 un număr cuprins între 0 şi 15. Fie acest număr l. Se alege din tabel numărul din linia k şi din coloana l. Acesta este un număr cuprins între 0 şi 15 şi deci este reprezentat pe 4 biţi. Acest bloc de 4 biţi reprezintă şirul S1(B) al lui S1 pentru intrarea B. De exemplu, pentru intrarea 011011 se obţine linia 01, adică 1 şi coloana 1101, adică 13. În linia 1 şi coloana 13 se găseşte 5 şi deci rezultatul este 0101.

Tabelele de selecţie pentru cutiile S2,...,S8 sunt:S2

15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 103 13 4 7 15 2 8 14 12 0 1 10 6 9 11 50 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15

13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9S3

10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 813 7 0 9 3 4 6 10 2 8 5 14 12 11 15 113 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7

1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12S4

7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 1513 8 11 5 6 15 0 3 4 7 2 12 1 10 14 910 6 9 0 12 11 7 13 15 1 3 14 5 2 8 43 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14

S52 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9

14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 64 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14

11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3

S612 1 10 15 9 2 6 8 0 13 3 4 14 7 5 1110 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8

9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 64 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13

S74 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1

13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 61 4 11 13 12 3 7 14 10 15 6 8 0 5 9 26 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12

S813 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7

1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 27 11 4 1 9 12 14 2 0 6 10 13 15 3 5 82 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11

Page 52: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

7

Permutarea P poate fi descrisă cu ajutorul următorului tabel:

16 7 20 2129 12 28 17

1 15 23 265 18 31 102 8 24 14

32 27 3 919 13 30 622 11 4 25

Valoarea P(L) a funcţiei P definită de acest tabel este obţinută pe baza şirului de biţi L considerând că cel de al 16-lea bit al lui Leste primul bit al lui P(L), că cel de al 7-lea bit al lui L este cel de al doilea bit al lui P(L), ş.a.m.d. În continuare se explică modul de generare a cheilor, folosite în cadrul algoritmului DES. Cheia Ki (vezi relaţia (2)), pentru 1≤ i ≤16, este un bloc de 48 de biţi.

Analizând această figură se constată că pentru generarea cheilor de criptare se fac două tipuri de operaţii: permutări şi deplasări la stânga. În continuare se prezintă aceste două tipuri de operaţii. Câte un bit din fiecare octet al unei chei poate fi utilizat pentru detecţia de erori în generara cheilor, distribuirea cheilor şi stocarea cheilor. Biţii 8, 16,..., 64 dintr-o cheie se folosesc pentru a asigura imparitatea fiecărui octet. De aceea s-a afirmat că numărul de biţi ai cheii algoritmului DES este 56 deşi în figura 3 crpt blocul iniţial are doar 48 de biţi. Varianta 1 de permutare este realizată cu ajutorul următorului tabel:

PC-157 49 41 33 25 17 9

1 58 50 42 34 26 1810 2 59 51 43 35 2719 11 3 60 52 44 36

63 55 47 39 31 23 157 62 54 46 38 30 22

14 6 61 53 45 37 2921 13 5 28 20 12 4

Tabelul este împărţit în două părţi, cu cea de sus efectuându-se alegerea biţilor din şirul C() iar cu cea de jos alegerea biţilor din şirul D() . Numerotând biţii CHEII de la 1 la 64, şirul C() este format cu ajutorul celui de al 57-lea bit al CHEII, urmat de cel de al 49-lea bit al CHEII, urmat de cel de al 41-lea bit al CHEII,...,urmat de cel de al 44-lea bit al CHEII şi de cel de al 36-lea bit al CHEII. Şirul de biţi D() este format din biţii CHEII cu numerele de ordine 63, 55, 47,..., 12 şi 4. Cu şirurile C() şi D() definite astfel se pot calcula blocurile Cn şi Dnpe baza blocurilor Cn-1 şi Dn-1, pentru n = 1, 2,..., 16.

Această sarcină este îndeplinită cu ajutorul operaţiilor de deplasare la stânga ale blocurilor individuale. Numărul de deplasări la stânga cerut în fiecare iteraţie este specificat în tabelul următor:Numarul iteraţiei Numărul de deplasări la stânga

1 12 13 24 25 26 27 28 29 110 211 212 213 214 215 216 1

Page 53: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

8

Cea de a doua variantă de permutare este descrisă de tabelul:PC-2

14 17 11 24 1 53 28 15 6 21 10

23 19 12 4 26 816 7 27 20 13 241 52 31 37 47 5530 40 51 45 33 4844 49 39 56 34 5346 42 50 36 29 32

Deci primul bit al cheii Kn este cel de al 14-lea bit al secvenţei obţinută prin concatenarea şirurilor Cn Dn, cel de al doilea bit al cheii celei de a n-a iteraţie este cel de al 17-lea al secvenţei concatenate ş.a.m.d.

Moduri de aplicare ale algoritmului DES

• ECB - Electronic Code Book - Textul clar al mesajului, M, este împărţit în blocuri de 64 de biţi şi fiecare dintre aceste blocuri este criptat folosind cheia K. Acest mod de aplicare este sensibil la atacuri de tipul cut&paste.

• CBC - Cipher Block Chaining -M este din nou segmentat în blocuri de 64 de biţi. Acestea sunt cifrate ca la ECB. Se calculează funcţia sau-exclusiv între blocul curent de text clar şi blocul anterior cifrat. Rezultatul se criptează cu cheia K. La început se calculează sau-exclusiv între primul bloc de text clar şi un vector de iniţializare (IV). În scopul decriptării, fiecare bloc este prima dată descifrat folosind cheia K şi apoi se calculează funcţia sau-exclusiv între rezultat şi anteriorul bloc de text cifrat sau IV. Erorile de transmisie vor afecta două blocuri. Anumiţi biţi dintr-un bloc de text clar vor fi schimbaţi dacă blocul precedent a fost atacat.

• OFB - Output Feedback -Un vector de iniţializare este criptat folosind cheia K şi apoi cei mai din stânga k biţi ai rezultatului se utilizează ca şi un şir cheie. Apoi se consideră următorii (spre dreapta) k biţi din vectorul de iniţializare şi acest nou şir este criptat pentru a se obţine noul şir cheie. Pentru a se produce textul cifrat se calculează sau-exclusiv între blocurile textului clar şi şirurile cheie. Decriptarea este foarte simplă. Se generează aceleaşi şiruri cheie şi se calculează sau-exclusiv între blocurile textului cifrat şi aceste şiruri cheie.

Variante de DES• DES cu sub-chei independente- La fiecare iteraţie se utilizează o cheie

independentă. Aceste chei nu se mai generează cu metoda descrisă, ci se extrag direct din cheia principală. Această cheie are un număr total de 768 de biţi (16 iteraţii x 48 de biţi). În acest mod atacurile bazate pe forţa brută devin impracticabile.

• DESX- Este o variantă dezvoltată la RSA Data Security Inc. bazată pe o tehnică numită de transparenţă. Pe lângă cheia obişnuită de 56 de biţi se mai generează şi o cheie de 64 de biţi, numită cheie transparentă. Aceşti 64 de biţi sunt însumaţi cu fiecare bloc de text clar înainte de aplicarea algoritmului DES clasic. După ultima iteraţie a algoritmului DES se face suma modulo 2 între rezultat şi cheia transparentă.

• DES generalizat (GDES). Această variantă a fost proiectată pentru a mări viteza algoritmului. Se lucrează cu blocuri de text clar de dimensiune mai mare, dar numărul de operaţii de calcul rămâne constant.

• Blocurile de text clar, de dimensiune variabilă, sunt împărţite în q sub-blocuri de 32 de biţi. La fiecare iteraţie se construieşte funcţia f pentru cel mai din dreapta sub-bloc. Rezultatul este însumat modulo 2 cu toate celelalte sub-blocuri de text clar care sunt apoi rotite spre dreapta. Numărul de iteraţii este variabil. Dacă se alege un număr de 16 iteraţii şi valoarea 2 pentru q se obţine algoritmul DES clasic.

• DES cu cutii S alternative. Este o variantă în care construcţia cutiilor S este diferită de cea descrisă mai sus. În unele cazuri dimensiunile acestor cutii sunt variabile. Dacă construcţia acestor cutii depinde de cheie atunci se obţine varianta de DES numită DES cu cutii S dependente de cheie. Avantajul acestei variante este că poate fi implementată hard.

Page 54: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

1

5.2.2 Algoritmul IDEA

A fost conceput în Elveţia de către Xuejia Lai şi James Massey în anul 1992. Patentul său se găseşte la firma

Ascom. Principala sa aplicaţie este programul de criptare PGP.

• Este unul dintre sistemele de criptare cele mai rapide şi mai sigure disponibile la ora actuală.

• Foloseşte o cheie de 128 de biţi. • Pe baza acesteia se construiesc 52 de sub-chei cu lungimea de

16 biţi fiecare. Câte două dintre acestea se utilizează la fiecaredintre cele 8 iteraţii ale algoritmului şi câte 4 se utilizeazăînaintea fiecărei iteraţii şi după ultima iteraţie.

• Nu foloseşte nici un tabel de alocare de biţi şi nici o cutie de tipS. Cifrarea şi descifrarea se fac pe blocuri de câte 64 de biţi. Sebazează pe utilizarea unor operaţii algebrice utile în operaţiile decriptare cum ar fi suma modulo 2, suma modulo 216, produsulmodulo 216 +1.

• Operaţia de înmulţire cu zero are ca rezultat zero şi nu este o operaţie inversabilă. Dar înmulţirea folosită în acest algoritm trebuie să fie o operaţie inversabilă.

• Numărul 216 +1 are valoarea 65537 şi este prim. Pe baza tabelului de înmulţire specific mulţimii claselor de resturi modulo 216 +1 se constată că această operaţie este inversabilă dacă se evită înmulţirea cu zero (se elimină din tabel prima linie şi prima coloană).

• Toate aceste operaţii se efectuează asupra unor sub-blocuri de 16 biţi. S-a dovedit că IDEA este mai sigur decât DES la atacuri de criptanaliză diferenţială.

Page 55: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

2

• Fie cele patru sferturi ale textului clar care trebuie criptat notate cu A, B, C şi D, şi cele 52 de sub-chei notate cu K(1) …K(52). Înainte sau în cursul primei iteraţii se efectuează următoarele operaţii:

• Se înmulţeşte A cu K(1). Rezultatul va reprezenta noua valoare a lui A. Se adună modulo 216 K(2) la B. Rezultatul va reprezenta noua valoare a lui B. Se adună modulo 216 K(3) la C. Rezultatul va reprezenta noua valoare a lui C. Se înmulţeşte D cu K(4). Rezultatul va reprezenta noua valoare a lui D.

• Prima iteraţie propriuzisă constă din executarea următoarelor operaţii:

• Se calculează suma modulo 2 dintre A şi C (rezultatul se notează cu E). Se calculează suma modulo 2 dintre B şi D (şi se notează cu F). Se înmulţeşte F cu K(5). Rezultatul reprezintă noua valoare a lui F. Se adună modulo 216 noua valoare a lui F la E. Rezultatul va reprezenta noua valoare a lui E. Se înmulţeşte noua valoare a lui E cu K(6).

• Se adună rezultatul, care reprezintă noua valoare a lui F, la E. Se modifică valorile lui A şi C însumând modulo 2 aceste valori cu valoarea curentă a lui F. Se modifică valorile lui B şi D, însumând modulo 2 aceste valori cu valoarea curentă a lui E.

• Celelalte 7 iteraţii sunt identice, doar că se folosesc celelalte sub-chei: de la K(7) la K(12) pentru cea de a doua iteraţie şi de la K(43) la K(48) pentru cea de a 8-a iteraţie. La ultima iteraţie nu se mai face substituţia finală dintre A şi C respectiv B şi D.

• Ultimele operaţii sunt: Se înmulţeşte A cu K(49). Se adună modulo 216 K(50) la B. Se adună modulo 216

K(51) la C. Se înmulţeşte D cu K(52).

Decriptarea• Cum se poate inversa o iteraţie a algoritmului

IDEA, când toate cele 4 blocuri se modifică în acelaşi timp ? Răspunsul se bazează pe o proprietate a sumei modulo 2. Suma modulo 2 a două variabile A şi C nu se modifică atunci când cele două variabile sunt însumate modulo 2 cu o aceeaşi variabilă, X.

• Demonstraţie

vvvvnn

vnvnCAXXCACA

;XCC;XAA+=+++=+⇒

+=+=

Se observă că variabila X a dispărut. Aceeaşi proprietate este valabilă şi pentru variabilele B şi D.

Întrucât variabilele folosite în iteraţiile algoritmului IDEA sunt funcţii de şi rezultă că cele 4 variabile pot fi recuperate. Inversarea operaţiei de adunare modulo 216

se face prin calculul complementului faţă de 2. Pentru prima iteraţie a algoritmului de decriptare se utilizează următoarele chei:

• KD(1) = 1/K(49)• KD(2) = -K(50)• KD(3) = -K(51)• KD(4) = 1/K(52)

CA + DB +

Page 56: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

3

Pentru cheile din următoarele iteraţii procedura descrisă în continuare se repetă de 8 ori, adunând 6 la fiecare indice al unei chei de decriptare şi scăzând 6 din fiecare indice al unei chei de criptare:

• KD(5) = K(47)• KD(6) = K(48)• KD(7) = 1/K(43)• KD(8) = -K(45)• KD(9) = -K(44)• KD(10) = 1/K(46)

Generarea sub-cheilorPrimele 8 sub-chei se obţin prin segmentarea cheii originale a algoritmului IDEA în segmente de 16 biţi. Apoi se efectuează o deplasare circulară la stânga a cheii originale cu 25 de poziţii şi o nouă segmentare obţinându-se următoarele 8 chei. Această procedură de deplasare la stânga şi segmentare este repetată până când se obţin toate cele 52 de chei de criptare necesare.

5.2.3. Algoritmul BLOWFISH• Acest algoritm a fost conceput de Bruce Schneier. • Este un algoritm de criptare bazat pe o structura Feistel. A fost

aleasă o funcţie f mai simplă decât în cazul algoritmului DES obţinându-se aceeaşi securitate dar o eficienţă şi cu o viteză de calcul sporite.

• Cea mai importantă particularitate a algoritmului Blowfish este metoda de generare a cheilor. Cheile iteraţiilor precum şi întregul conţinut al cutiilor de tip S sunt create prin iteraţii multiple ale sistemului de criptare de bloc. În acest mod creşte securitatea sistemului de criptare împotriva atacurilor bazate pe metode exhaustive de căutare a cheilor, chiar şi pentru chei scurte.

• Spre deosebire de DES, Blowfish aplică funcţia f jumătăţii din stânga a blocului de text clar rezultatul fiind însumat modulo 2 cu jumătatea din dreapta a blocului. Se fac 16 iteraţii.

• La începutul fiecărei iteraţii se calculează suma modulo 2 dintre blocul din stânga şi sub-cheia corespunzătoare acelei iteraţii. Apoi se aplică funcţia f blocului din stânga şi rezultatul se adună modulo 2 cu blocul din dreapta. La sfârşitul ultimei iteraţii se substituie una celeilalte cele două jumătăţi de bloc obţinute.

În fiecare iteraţie se foloseşte o singură sub-cheie, funcţia f nu foloseşte nici o sub-cheie, dar foloseşte cutii S care depind de sub-cheie. După ultima iteraţie se calculează suma modulo 2 a jumătăţii din dreapta a blocului de biţi cu sub-cheia 17 şi se calculează suma modulo 2 a jumătăţii din stânga a blocului de biţi cu sub-cheia 18.

Funcţia f• Blowfish foloseşte 4 cutii de tip S. Fiecare are 256 de intrări la

care se aduc blocuri de câte 32 de biţi. • Calculul funcţiei f se bazează pe următoarea succesiune de

operaţii: Se foloseşte primul octet al blocului de 32 de biţi de intrare pentru a găsi o intrare în prima cutie de tip S, cel de al doilea octet pentru a găsi o intrare în cea de a doua cutie de tip S, ş.a.m.d. Valoarea funcţiei f este:

unde se foloseşte adunarea modulo , notată cu .(( 1( 1) 2( 2)) 3( 3)) 4( 4))S B S B S B S B+ + +

322 +

Page 57: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

4

DecriptareaDecriptarea se realizează la fel ca şi criptarea, folosind cele 18 sub-chei de iteraţie în ordine inversă. Se poate face aşa deoarece se foloseşte proprietatea sumei modulo 2 demonstrată la prezentarea decriptării algoritmului IDEA. Într-adevăr există două operaţii de adunare modulo 2 după ultima utilizare a funcţiei f şi numai una singură înaintea primei utilizări a funcţiei f.Generarea sub-cheilorAcest proces converteşte o cheie iniţială de cel mult 448 de biţi în câteva zone de sub-chei care ocupă un spaţiu de 4168 de octeţi. Blowfish foloseşte un număr mare de sub-chei. Acestea trebuiesc generate înaintea oricărei operaţii de criptare sau de decriptare. În continuare se prezintă zonele de sub-chei. Zona 1. Este numită şi zona P şi constă din 18 sub-chei de 32 de biţi: P1, P2,..., P18.

Zona 2. Este zona cutiilor de tip S. Există 4 cutii de tip S de 32 de biţi, fiecare cu 256 de intrări:S1,0, S1,1,..., S1,255;S2,0, S2,1,..,, S2,255;S3,0, S3,1,..., S3,255;S4,0, S4,1,..., S4,255. Generarea sub-cheilor se face folosind algoritmul Blowfish. Etapele de generare a cheilor sunt:1. Iniţializarea zonelor 1 şi apoi 2, în ordine, cu un şir fixat. Acest şir constă din partea fracţionară a numărului pi exprimată în forma hexa-zecimală.2. Se calculează suma modulo 2 între P1 şi primii 32 de biţi ai cheii iniţiale, se calculează suma modulo 2 între P2 şi următorii 32 de biţi ai cheii iniţiale, ş.a.m.d. (e posibil să se depăşească P18). Acest ciclu se repetă până când întreaga zonă 1 a fost însumată modulo 2 cu biţi ai cheii iniţiale a algoritmului Blowfish. Pentru orice cheie iniţială scurtă există cel puţin o cheie echivalentă mai lungă; de exemplu dacă A este o cheie de 64 de biţi atunci AA, AAA, etc. sunt chei echivalente.

3. Se criptează texte în clar formate numai din biţi nuli cu algoritmul Blowfish folosind sub-cheile descrise în paşii (1) şi (2). 4. Se înlocuiesc cheile P1 şi P2 cu rezultatul obţinut la pasul (3). 5. Se criptează rezultatul obţinut la pasul (3) folosind algoritmul Blowfish cu cheile obţinute la pasul (4). 6. Se înlocuiesc cheile P3 şi P4 cu rezultatul obţinut la pasul (5).7. Se continuă procesul, înlocuind toate elementele zonelor 1 şi 2 cu rezultatele aplicării algoritmului Blowfish.Pentru generarea tuturor sub-cheilor de care este nevoie sunt necesare 521 de rulări ale algoritmului Blowfish.

O particularitate a algoritmului Blowfish este utilizarea cutiilor de tip S dependente de chei. Această construcţie are câteva avantaje:

Se realizează o bună protecţie împotriva atacurilor prin criptanaliză liniară sau diferenţială;Implementarea cutiilor variabile este mai simplă decât cea a unor cutii fixe;Reducerea necesităţii stocării unor structuri de date mari.

Există câteva modalităţi de simplificare a algoritmului Blowfish care pot conduce la reducerea volumului de memorie ocupat precum şi la creşterea vitezei. Acestea sunt prezentate în continuare:

Utilizarea unui număr mai mic de cutii de tip S, de dimensiuni mai mici ;Reducerea numărului de iteraţii (de exemplu de la 16 la 8). Numărul de iteraţii necesar pentru asigurarea unui anumit nivel de securitate depinde de lungimea sub-cheilor folosite. Utilizarea unei metode neiterative de calcul al sub-cheilor. În acest mod s-ar putea obţine chei independente una de cealaltă.

Page 58: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

5

5.2.4. Algoritmul TWOFISHTwofish este un algoritm de criptare a blocurilor de 128 de biţi care lucrează cu o cheie variabilă de lungime maximă de 256 de biţi. Sunt folosite 40 de sub-chei de 32 de biţi. La începutul algoritmului se calculează suma modulo 2 între 4 chei şi blocul de text clar, iar la sfârşitul său se calculează suma modulo 2 între alte 4 chei şi întregul text rezultat. Face 16 iteraţii ale unei structuri Feistel folosind o funcţie f bijectivă construită cu ajutorul a 4 cutii de tip S dependente de chei, cu ajutorul unei matrici fixe de dimensiune 4x4, cu ajutorul unei transformări pseudo-Hadamard, cu ajutorul unor rotaţii de biţi şi cu ajutorul unei scheme de generare a cheilor. În fiecare iteraţie sunt folosite 2 sub-chei. Acest algoritm poate fi implementat şi hard folosind un număr de 14000 de porţi logice. Liberatea de proiectare a funcţiei de iteraţie şi a sub-cheilor permite o mare variabilitate a raportului dintre viteza de calcul şi lungimea programului.

O iteraţie a algoritmului TwofishBlocul de text clar este împărţit în patru sferturi: Q3 este rotit cu o poziţie spre stânga. Q0 şi Q1 sunt rotite spre stânga cu 8 poziţii şi sunt trimise la cele 4 cutii de tip S dependente de sub-cheie care au intrări şi ieşiri de 8 biţi. Apoi octeţii din fiecare cutie de tip S sunt "combinaţi" prin înmulţire matricială cu următoarea matrice (numită matrice MDS):01 EF 5B 5B5B EF EF 01EF 5B 01 EFEF 01 EF 5Bpeste câmpul Galois al lui 28. Fiind vorba despre octeţi se face o înmulţire modulară de polinoame cu coeficienţiidin GF(28), modulo 8 6 5 3 1x x x x+ + + +

Rezultatul acestei înmulţiri este un şir de 16 biţi. Acesta este redus la un şir de 8 biţi folosind următoarea metodă: Polinomul modul, considerat ca şi şirul binar 101101001, este rotit la stânga până când primul său bit coincide cu primul bit de 1 al rezultatului. Apoi se calculează suma modulo 2 dintre polinomul modul rotit şi rezultat. Această sumă reprezintă noul rezultat. Apoi se roteşte polinomul modul spre dreapta până când primul său bit coincide cu primul bit de 1 din noul rezultat. Apoi se calculează suma modulo 2 dintre rezultat şi polinomul modul rotit. Astfel se obţine noul rezultat. Această procedură se repetă până când lungimea rezultatului devine egală sau mai mică decât 8. În acest fel la ieşirile celor 4 cutii de tip S se obţin 4 şiruri de 8 biţi (adică 32 de biţi pentru Q0 şi 32 de biţi pentru Q1). Aceste două şiruri de 32 de biţi sunt amestecate cu ajutorul unei transformări Pseudo-Hadamard (PHT).

Apoi prima sub-cheie pentru iteraţie este adunată la cea formată din Q0 şi se calculează suma modulo 2 între rezultatul obţinut şi Q2. Cea de a doua sub-cheie pentru iteraţie este adunată la cheia formată din Q1 şi se calculează suma modulo 2 între rezultatul obţinut şi Q3. La sfârşit, Q2 se roteşte cu o poziţie la dreapta şi cele două jumătăţi ale blocului îşi schimbă poziţia (Q0 se schimbă cu Q2 iar Q1 se schimbă cu Q3). La fel ca şi la algoritmul DES cele două jumătăţi nu se schimbă între ele după ultima iteraţie.

Page 59: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

6

Generarea cheilorProcesul de generare a cheilor începe prin construcţia vectorilor pentru 3 chei fiecare având o lungime egală cu jumătate din lungimea cheii iniţiale. Primii 2 vectori se construiesc prin împărţirea cheii iniţiale în blocuri de 32 de biţi. Numerotând aceste părţi începând cu zero, cele cu indici pari devin M(e), iar cele cu indici impari devin M(o).Cel de al treilea vector se formează împărţind cheia iniţială în blocuri de 64 de biţi şi construind o parte de 32 de biţi a vectorului cheie prin înmulţirea fiecărui bloc de 64 de biţi cu matricea RS:

01 A4 55 87 5A 58 DB 9EA4 56 82 F3 1E C6 68 E502 A1 FC C1 47 AE 3D 19A4 55 87 5A 58 DB 9E 03Această înmulţire matricială corespunde unei înmulţiri peste câmpul Galois al lui 28

cu polinomul modul

Cuvintele rezultante cu lungimea de 32 de biţi sunt apoi plasate în ordine inversă în vectorul cheie notat S. Fiecare dintre cutiile de tip S fixe, cu intrări şi ieşiri de 8 biţi, notate q(0) şi q(1) este construită pornind de la 4 cutii de tip S cu intrări şi ieşiri de 4 biţi. Pentru q(0), cutiile de tip S sunt:

Intrare 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15--------------------------------------------------------------

T0 8 1 7 13 6 15 3 2 0 11 5 9 14 12 10 4T1 14 12 11 8 1 2 3 5 15 4 10 6 7 0 9 13T2 11 10 5 14 6 13 9 0 12 8 15 3 2 4 7 1T3 13 7 15 4 1 2 6 14 9 11 3 0 8 5 12 10

8 6 3 2 1x x x x+ + + +

Pentru q(1), cutiile de tip S sunt:

Intrare 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15---------------------------------------------------------------

T0 2 8 11 13 15 7 6 14 3 1 9 4 0 10 12 5T1 1 14 2 11 4 12 3 7 6 13 10 5 15 9 0 8T2 4 12 7 5 1 6 9 10 0 14 13 8 2 11 3 15T3 11 9 5 1 12 3 13 14 6 4 7 15 2 0 8 10

Fiecare cutie de tip S se construieşte după cum urmează:Octetul de intrare este împărţit în părţile sale mai semnificativă şi mai puţin semnificativă, A şi B.

• Noua valoare a lui A este suma modulo 2 a vechilor valori ale lui A şi B.

• Noua valoare a lui B este suma modulo 2 a vechilor valori ale lui A şi B rotite la dreapta cu o poziţie sau cu opt poziţii dacă vechea valoare a lui A a fost impară.

Noile valori ale lui A şi B substituie vechile valori A şi B la intrările T0 şi T1 ale cutiilor S pe 16 biţi.

Noua valoare a lui A este suma modulo 2 a vechilor valori ale lui A şi B.Noua valoare a lui B este suma modulo 2 a vechilor valori ale lui A şi B rotite la dreapta cu o poziţie sau cu opt poziţii dacă vechea valoare a lui A a fost impară.Noile valori ale lui A şi B substituie vechile valori A şi B la intrările T2 şi T3 ale cutiilor S pe 16 biţi.

A şi B sunt combinate apoi în ordine inversă pentru a forma octetul rezultat.Cele 4 cutii de tip S dependente de chei se formează din elementele de 32 de biţi ale vectorului cheie S după cum urmează:

Dacă cheia iniţială are o lungime de 256 de biţi atunci vectorul cheie S are 4 elemente de 32 de biţi, S(0), S(1), S(2), şi S(3). În acest caz utilizarea celor 4 cutii de tip S dependente de cheie este echivalentă cu efectuarea următoarelor operaţii:

Page 60: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

7

output = q(0)(S(0,0) xor q(1)(S(1,0) xor q(1)(S(2,0) xor q(0)(S(3,0) xor q(1)(input))))output = q(1)(S(0,1) xor q(1)(S(1,1) xor q(0)(S(2,1) xor q(0)(S(3,1) xor q(0)(input))))output = q(0)(S(0,2) xor q(0)(S(1,2) xor q(1)(S(2,2) xor q(1)(S(3,2) xor q(0)(input))))

output = q(1)(S(0,3) xor q(0)(S(1,3) xor q(0)(S(2,3) xor q(1)(S(3,3) xor q(1)(input))))unde S(2,1) reprezintă octetul 1 al cuvântului 2 din vectorul cheie S.Dacă cheia iniţială are o lungime de 192 de biţi definirea cutiilor S se simplifică la:

output = q(0)(S(0,0) xor q(1)(S(1,0) xor q(1)(S(2,0) xor q(0)(input)))output = q(1)(S(0,1) xor q(1)(S(1,1) xor q(0)(S(2,1) xor q(0)(input)))output = q(0)(S(0,2) xor q(0)(S(1,2) xor q(1)(S(2,2) xor q(1)(input)))output = q(1)(S(0,3) xor q(0)(S(1,3) xor q(0)(S(2,3) xor q(1)(input)))

Dacă cheia iniţială are o lungime de doar 128 definirea cutiilor S se simplifică şi mai mult:output = q(0)(S(0,0) xor q(1)(S(1,0) xor q(1)(input))output = q(1)(S(0,1) xor q(1)(S(1,1) xor q(0)(input))output = q(0)(S(0,2) xor q(0)(S(1,2) xor q(1)(input))output = q(1)(S(0,3) xor q(0)(S(1,3) xor q(0)(input))Sub-cheile care se adună la ieşirile funcţiilor înainte de a se calcula suma lor modulo 2 cu un alt sfert de bloc sunt generate de un proces asemănător cu o iteraţie a algoritmului Twofish, dar cu cutii de tip S dependente de chei derivate din vectorii M(e) şi M(o) şi nu din vectorul S. Intrările în toţi cei patru octeţi ai unui cuvânt reprezintă numărul obţinut prin înmulţirea numărului iteraţiei cu 2 şi adunarea lui 1 iar paşii de rotire la stânga au loc fie înainte de calculul funcţiei f, fie după: o rotire la stânga cu 8 poziţii se efectuează înainte de PHT iar o rotire cu 9 poziţii la stânga se efectuează după.

5.2.5. Algoritmul RC6Proiectat de Ronald C. Rivest, în anul 1998, RC6 se bazează pe iteraţii de structuri Feistel. Acestea nu operează însă asupra celor două jumătăţi ale blocului de date, ci asupra unor perechi de sferturi ale blocului de date. Între aceste iteraţii au loc transferuri de date. Particularitatea cea mai importantă a acestui algoritm este utilizarea unor deplasări circulare cu numere de poziţii dependente de datele de cifrat. Un alt element neliniar utilizat în construcţia functiei f, specifică unei structuri Feistel, utilizat în algoritmul RC6 este o funcţie pătratică.Algoritmul este conceput în aşa fel încât să poată lucra cu blocuri de lungime variabilă, cu o cheie iniţială de lungime variabilă şi să efectueze un număr variabil de iteraţii. În continuare se prezintă varianta propusă pentru competiţia destinată construcţiei standardului AES. Descrierea originală este disponibilă la adresa http://theory.lcs.mit.edu/~rivest

Page 61: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

8

RC6 foloşeste 44 de sub-chei, notate S0 … S43, fiecare având lungimea de 32 de biţi. Textul în clar este segmentat în blocuri de 128 de biţi. Fiecare bloc obţinut astfel este împărţit în 4 sferturi, de lungimi egale notate A, B, C, şi D. Primii 4 octeţi criptaţi formează noul A, primul octet codat reprezentând cel mai puţin semnificativ octet al noului A.

RC6 începe cu un pas iniţial de albire; se calculează suma modulo 2 între B şi S0, respectiv între D şi S1. Fiecare iteraţie a algoritmului RC6 foloseşte 2 sub-chei; pentru construcţia primeia se utilizează S2 şi S3, Iteraţii succesive utilizând chei succesive. O iteraţie a algoritmului RC6 se desfăşoară după cum urmează:Rezultatul aplicării funcţiei f blocului B (f(x) = x(2x+1)), este rotit la stânga cu 5 poziţii, între noul rezultat şi blocul A calculându-se suma modulo 2. Rezultatul aplicării funcţiei f blocului D este rotit cu 5 poziţii spre stânga şi apoi se calculează suma modulo 2 între noul şir obţinut şi blocul C.

Se efectuează o deplasare circulară spre stânga a blocului C. Numărul de poziţii cu care se face această deplasare este specificat de cei mai semnificativi 5 biţi ai şirului obţinut prin aplicarea funcţiei f blocului B şi rotirea la stânga cu 5 poziţii. Se efectuează o deplasare circulară spre stânga a blocului A. Numărul de poziţii cu care este efectuată această deplasare este specificat de cei mai semnificativi 5 biţi ai şirului obţinut prin aplicarea funcţiei f blocului D şi rotirea rezultatului cu 5 biţi spre stânga. Apoi se calculează suma modulo 2 între prima sub-cheie a iteraţiei şi blocul A şi suma modulo 2 între cea de a doua sub-cheie a iteraţiei şi blocul C. Apoi cele 4 sferturi ale blocului sunt rotite după cum urmează: Valoarea lui A este plasată în D, valoarea lui B este plasată în A, valoarea lui C este plasată în B şi valoarea (originală) a lui D este plasată în C.După încheierea celei de a douazecea iteraţii are loc un pas suplimentar de albire: se claculează suma modulo 2 între A şi S42, respectiv între C şi S43.

Generarea cheilor în cadrul algoritmului RC6

Input: User-supplied b byte key preloaded into the c-word, v = 3_ maxfc; 2r + 4g

array L[0;…; c - 1] for s = 1 to v doNumber r of rounds {Output: w-bit round keys S[0; …;2r + 3] A = S[i] =(S[i] +A + B)<<<3Procedure: S[0] = Pw B = L[j] =(L[j] +A + B)<<<(A + B)for i = 1 to 2r + 3 do i = (i + 1) mod (2r + 4)S[i] =S[i -1] + Qw j = (j + 1) mod cA = B = i = j = 0 }

5.2.6. Standardul AES, Advanced Encryption Standard (Rijndael)

Algoritmul care a câştigat competiţia pentru standardul AES este numit Rijndeal. Acesta realizează doar operaţii pe octeţi întregi. El este foarte flexibil deoarece dimensiunea blocurilor cu care se lucrează poate fi aleasă de valoare 128, 192 sau 256 de biţi. În continuare se prezintă varianta care lucrează cu blocuri de 256de biţi. Rijndael are un număr variabil de iteraţii. Acesta poate fi (fară a calcula ultima iteraţie care nu este completă):

• 9 dacă atât blocurile cât şi cheia iniţială au o lungime de 128 de biţi;

• 11 dacă fie blocurile fie cheia iniţială au lungimea de 192 de biţi şinici una dintre ele nu are o lungime superioară acestei valori;

• 13 dacă atât blocurile cât şi cheia au o lungime de 256 de biţi.

Page 62: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

9

Vincent Rijmen Joan Daemen

Iteraţiile algoritmului

Pentru a cripta un bloc de date cu algoritmul Rijndael, primul pas presupune calculul unui sau-exclusiv între blocul de text clar şi o sub-cheie. Paşii următori sunt iteraţiile care se vor prezenta în continuare. Ultimul pas este constituit de ultima iteraţie care este incompletă, neconţinând operaţia de amestecare a coloanelor, the Mix Column step.

Primul pas - substituirea octeţilor, the Byte Sub step

99 124 119 123 242 107 111 19748 1 103 43 254 215 171 118202 130 201 125 250 89 71 240173 212 162 175 156 164 114 192183 253 147 38 54 63 247 20452 165 229 241 113 216 49 214 199 35 195 24 150 5 1547 18 128 226 235 39 178 1179 131 44 26 27 110 90 160

82 59 214 179 41 227 47 13283 209 0 237 32 252 177 91106 203 190 57 74 76 88 207208 239 170 251 67 77 51 13369 249 2 127 80 60 159 16881 163 64 143 146 157 56 245188 182 218 33 16 255 243 210

205 12 19 236 95 151 68 23196 167 126 61 100 93 25 11596 129 79 220 34 42 44 13670 238 184 20 222 94 11 219224 50 58 10 73 6 36 92194 211 172 98 145 149 228 121231 200 55 109 141 213 78 169108 86 244 234 101 122 174 8186 120 37 46 28 166 180 198232 221 116 31 75 189 139 138112 62 181 102 72 3 246 1497 53 87 185 134 193 29 158225 248 152 17 105 217 42 148155 30 135 233 206 85 40 223140 161 137 13 191 230 66 10465 153 45 15 176 84 187 22

Fiecare iteraţie obişnuită se efectuează în 4 paşi. În acest pas fiecare bit al textului clar este substituit cu un bit extras dintr-o cutie de tip S. Cutia de tip S este descrisă de matricea:

Cel de al doilea pas - deplasarea liniilor, the Shift Row step

Considerând că blocul care trebuie construit este alcătuit cu octeţii numerotaţi de la 1 la 16, aceşti octeţi se aranjează într-un dreptunghi şi se deplasează după cum urmează:De la la1 5 9 13 1 5 9 132 6 10 14 6 10 14 23 7 11 15 11 15 3 74 8 12 16 16 4 8 12

Page 63: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

10

Cel de al treilea pas-amestecarea coloanelor, the Mix Column step

Acest pas se realizează prin înmulţire matricială: fiecare coloană, în aranjamentul pe care l-am observat, este înmulţită cu matricea:2 3 1 11 2 3 11 1 2 33 1 1 2Această înmulţire matricială corepunde unei înmulţiri specifică câmpului Galois al lui 28, definită de polinomul modul

Această înmulţire (folosind acelaşi polinom modul) a fost prezentată şi exemplificată în paragraful destinat bazelor matematice ale criptării.

8 4 3 1x x x x+ + + +

Cel de al patrulea pas - adăugarea sub-cheii, the Add Round Key step

Acesta presupune doar calculul unui sau-exclusiv cu sub-cheia specifică iteraţiei curente. O iteraţie uzuală:

Din ultima iteraţie este omis pasul de amestecare a coloanelor.

DecriptareaPentru a decripta mesajul fabricat de algoritmul Rijndael este necesar ca operaţiile descrise să fie înlocuite cu operaţiile lor inverse şi ca acestea să fie aplicate în ordine inversă (prima operaţie din algoritmul de decriptare trebuie să fie inversă ultimei operaţii din algoritmul de criptare). Succesiunea paşilor în algoritmul Rijndael este:ARK BS SR MC ARKBS SR MC ARK... BS SR MC ARKBS SR ARKDeşi această secvenţă nu este simetrică, ordinea unor operaţii poate fi modificată fără ca procesul de criptare să fie afectat. De exemplu pasul de substituire a octeţilor BS (notat cu B în continuare), poate fi la fel de bine făcut şi după pasul de deplasare a liniilor SR (notat cu S în continuare). Această observaţie este utilă pentru procesul de decriptare. Făcând această inversare secvenţa algoritmului, de forma:

A BSMA BSMA ... BSMA BSAse transformă într-o secvenţă de forma:

A SBMA SBMA ... SBMA SBA (1R)

Pentru fiecare pas s-a folosit notaţia bazată pe prima literă a denumirii engleze a pasului. Dacă se inversează secvenţa care descrie algoritmul se obţine:

ASB AMSB ... AMSB AMSB A (2R)A SBMA SBMA ... SBMA SBA (1R)

Comparând secvenţele (1R) şi (2R) se constată că pe lângă diferita poziţionare a spaţiilor (acestea marchează începutul unei noi iteraţii a algoritmului de criptare) singura diferenţă care mai apare este că grupurile "MA" din (1R) sunt înlocuite cu grupuri "AM" în (2R). E clar că nu este suficientă inversarea ordinii paşilor folosiţi la criptare pentru a se face decriptarea ci trebuie inversate şi operaţiile care compun aceşti paşi. Pentru inversarea pasului ARK trebuie inversată funcţia sau-exclusiv. Dar această inversare se realizează tot cu funcţia sau-exclusiv. De aceea pasul ARK nu trebuie inversat la decriptare. Nu acelaşi lucru se poate spune despre ceilalţi paşi. Este de exemplu cazul pasului de amestecare a coloanelor, MC, (notat cu M în relaţiile (1R) şi (2R)) pentru inversarea căruia, în procesul de decriptare este necesară inversarea matricii cu care se înmulţeşte fiecare vector.

Page 64: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

11

La fel trebuie procedat şi cu matricea cutiei de tip S din pasul de substituţie a octeţilor, BS (notat cu B în relaţiile (1R) şi (2R)).Revenind la relaţiile (1R) şi (2R) este legitimă întrebarea: Trebuie inversată ordinea secvenţei paşilor "MA" şi "AM" pentru decriptare ?Răspunsul este Nu, deoarece operaţia de înmulţire a matricilor este distributivă în raport cu operaţia de adunare pe câmpul Galois al lui 28 . Operaţia de sau-exclusiv din cadrul pasului MC (M) este de fapt identică cu operaţia de adunare definită pe câmpul Galois al lui 28 . De aceea cheile de iteraţie, implicate în procesul de inversare al pasului de amestecare a coloanelor, trebuiesc înmulţite cu inversa matricii de amestecare a coloanelor şi apoi se pot calcula funcţiile sau-exclusiv, la fel ca la criptare (bineinţeles cheile de iteraţie trebuiesc luate în ordine inversă în raport cu ordinea folosită la criptare). Matricea pentru inversarea pasului de amestec al coloanelor este:

14 11 13 99 14 11 1313 9 14 1111 13 9 14

Forma sa binară, folosită în algoritmul de decodare este:1110 1011 1101 1001 01 00 00 001001 1110 1011 1101 00 01 00 001101 1001 1110 1011 00 00 01 001011 1101 1001 1110 00 00 00 01111 101 110 100 01 01 00 00110 100 111 101 00 00 01 01

1100 1000 1110 1010 00 00 10 101011 1101 1000 1110 01 01 10 10

0 0 1 0 01 01 10 11

Generarea cheilorPentru cazul în care se foloseşte o cheie iniţială cu lungimea de 128 biţi sau de 192 de biţi, toate subcheile necesare pentru toate iteraţiile, se obţin din cheia iniţială (prima subcheie fiind chiar cheia iniţială) sau din variante ale cheii iniţiale şi au aceeaşi lungime cu aceasta. Subcheile sunt alcătuite din cuvinte de 4 octeţi. Fiecare cuvânt se obţine calculând sau-exclusiv între cuvântul anterior de 4 octeţi şi cuvântul corespunzător dintr-o variantă anterioară sau rezultatul aplicării unei funcţii acestui cuvânt (din varianta precedentă). Pentru stabilirea primului cuvânt dintr-o anumită variantă, cuvântul iniţial (cel curent pentru iteraţia respectivă) este pentru început rotit cu opt poziţii spre stânga, apoi octeţii săi sunt modificaţi folosind cutia de tip S din pasul de substituţie a biţilor BS (B) corespunzător, iar apoi se calculează sau-exclusiv între primul octet al rezultatului obţinut anterior şi o constantă dependentă de iteraţie.

Constantele dependente de iteraţie sunt: 1 2 4 8 16 32 64 128

27 54 108 216 171 77 154 4794 188 99 198 151 53 106 212179 125 250 239 197 145 57 114228 211 189 97...sau în binar: 00000001 00000010 00000100 00001000 00010000 00100000 01000000 1000000000011011 00110110 01101100 11011000 10101011 01001101 10011010 0010111101011110 10111100 01100011 11000110 10010111 00110101 01101010 1101010010110011 01111101 11111010 11101111 11000101 10010001 00111001 0111001011100100 11010011 10111101 01100001...

puterile lui 2 succesive în reprezentarea din câmpul Galois al lui 28 folosit.

Page 65: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

1

5.3. Algoritmi de criptare cu cheie publică

Algoritmii prezentaţi anterior erau simetrici, se folosea aceiaşi cheie atât pentru criptare cât şi pentru decriptare. Prima problemă de securitate a acestor algoritmi este distribuţia cheii secrete. Algoritmii de criptare cu cheie publică pot rezolva această problemă.

O altă funcţie de securitate importantăAlgoritmii asimetrici oferă o cale pentru ca expeditorul să semneze mesajul pe care doreşte să-l expedieze, semnătura putând fi verificată de oricare dintre ceilalţi utilizatori ai reţelei fără ca aceştia să fie capabili să semneze un alt mesaj şi să pretindă că acesta vine din partea expeditorului considerat. O schemă ingenioasă a fost propusă în anul 1976 de profesorul Martin Hellman, de la universitatea Stanford şi de fostul său student Whitfield Diffie. Schema lor de criptare cu cheie publică a fost prima dată prezentată într-un articol din revista IEEE Transactions on Information Theory.Această schemă permite destinatarului şi să verifice dacă expeditorul este cel declarat în cadrul mesajului respectiv dacă mesajul a fost cumva falsificat de către un alt utilizator.

Bob şi Alice au câte o copie a soft-ului, distribuit liber, de criptare cu cheie publică. Fiecare foloseşte copia proprie pentru a crea o perche de chei. Un mesaj criptat cu una dintre cheile din această pereche de chei poate fi decriptat doar cu cealaltă cheie din aceeaşi pereche. Cea de a doua cheie nu poate fi generată matematic folosind doar prima cheie.

Bob face cunoscută una dintre cheile din perechea sa, aceasta devenind cheia sa publică. Alice face acelaşi lucru. Fiecare păstrează secretă cealaltă cheie din pereche, care devine cheia sa privată.

Page 66: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

2

Dacă Bob vrea să cripteze un mesaj, pe care să-l poată citi doar Alice, atunci el foloseşte cheia publică a lui Alice (care este disponibilă tuturor); dar acest mesaj va putea fi decodat doar cu ajutorul cheii secrete a lui Alice, aşa cum se vede în partea de sus a figurii. Procesul invers ; trimiterea unui mesaj criptat de la Alice la Bob este acum clarificat. De fapt, Bob şi Alice pot acum schimba între ei fişiere criptate, fără a avea vreun canal sigur pentru transmiterea cheilor, acesta fiind un avantaj major asupra comunicaţiilor bazate pe criptarea simetrică.

Autentificarea mesajuluiOperaţia de validare a faptului că mesajul recepţionat este o copie neatinsă a mesajului trimis. Poate fi realizată folosind criptarea cu cheie publică. Să presupunem că înainte de a expedia un mesaj, Bob efectuează o operaţie criptografică asupra acestuia, de exemplu îl transformă cu ajutorul unei funcţii hash. Cel mai simplu exemplu de astfel de funcţie este cea care asociază o sumă de control textului clar. Este foarte dificil să se modifice textul clar fără a modifica valoarea obţinută prin aplicarea funcţiei amintită mai sus.

Criptarea cu cheie publică este utilizată de câţiva ani la construcţia oricărui căutător pe INTERNET, Web browser. Această metodă de criptare se utilizează de asemenea atunci când se transmit informaţii referitoare la cartea de credit, la un vânzător on-line, când se transmite un e-mail folosind protocolul standard S/MIME, sau când se obţine un certificat de securitate, de la un vânzător on-line sau creat local folosind soft specializat. Un dezavantaj al criptării cu cheie publică este că solicită un volum de calcul mai important decât criptarea simetrică. Pentru a diminua acest dezavantaj majoritatea programelor de securitate folosesc criptarea simetrică pentru a cripta textul clar şi criptarea cu cheie publică pentru a cripta cheia secretă, folosită în criptarea simetrică a textului clar. Apoi fişierele criptate, conţinând mesajul şi cheia secretă, sunt transmise destinatarului.

Dacă ne referim la atacuri bazate pe forţa brută (se face căutarea exhaustivă a cheii încercând toate posibilităţile) atunci se poate afirma că un algoritm de criptare simetrică care foloseşte o cheie secretă (este vorba despre cheia iniţială) de 128 de biţi este la fel de rezistent ca şi un algoritm de criptare cu cheie publică a aceluiaşi text clar care foloseşte chei de 2304 biţi. De fapt cheia publică ar trebui să aibă o lungime şi mai mare deoarece aceeaşi pereche de chei publică şi secretă este folosită pentru a proteja toate mesajele la acelaşi destinatar. Altfel spus, în timp ce "spargerea" unei chei secrete pentru un algoritm de criptare simetrică compromite un singur mesaj, "spargerea" unei perechi de chei pentru un algoritm de criptare cu cheie publică compromite toate mesajele primite de un anumit destinatar. Algoritmii de criptare cu cheie publică pot fi atacaţi şi datorită faptului că cei doi corespondenţi nu au la dispoziţie un canal sigur prin care să-şi poată confirma identitatea unul celuilalt.

Page 67: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

3

Este totuşi posibil ca Alice să primească o cheie simetrică, care să pară că vine de la Bob, dar care în fapt să aparţină unei a treia părţi, care susţine că este Bob. Este vorba de atacul numit om-la-mijloc.

Încă nu se cunoaşte nici o metodă de apărare împotriva unui astfel de atac. Unul dintre algoritmii de criptare cu cheie publică cel mai des folosit este algoritmul RSA. Denumirea îi vine de la numele creatorilor săi: Ronald Rivest, Adi Shamir şi Leonard Adleman de la Massachusetts Institute of Technology, Cambridge. Proprietăţile sale de securitate provin din dificulatea de a factoriza numere prime de valori mari. În prezent o cheie cu lungime mai mare sau egală decât 1024 de biţi este, în general, suficient de sigură. Totuşi algoritmul RSA poate fi vulnerabil la "atacuri cu textul clar ales". Acestea sunt atacuri pentru care criptanalistul posedă un fişier de text clar şi textul cifrat corespunzător obţinut prin criptarea cu algoritmul de cifrare investigat.

Algoritmul de criptare cu cheie publică Diffie-Hellman este folosit mai ales pentru schimbul de chei. Proprietăţile sale de securitate se bazează pe dificultatea de a discretiza valorile unei funcţii logaritmice într-un câmp finit generat de un număr prim de valoare mare. Se consideră că această operaţie este chiar mai dificilă decât operaţia de factorizare a unor numere foarte mari. Acest algoritm se consideră sigur dacă se utilizează chei suficient de lungi şi generatoare de chei performante.

5.3.1. Algoritmul Diffie-HellmanDe fapt inventatorul acestui algoritm este englezul Malcolm Williamson iar anul primei sale menţionări este 1974. Deşi nu este util la criptarea directă a vreunui mesaj, acest algoritm este folositor pentru trimiterea de mesaje secrete. De fapt cu ajutorul său poate fi generată o cheie secretă pe baza unor chei publice. Funcţionarea sa este următoarea. Cele două părţi, expeditorul şi destinatarul, care cunosc aceeaşi cheie publică, îşi aleg fiecare câte un număr. Fiecare aplică o anumită funcţie hash numărului pe care l-a ales, folosind cheia publică şi transmite rezultatul celeilalte părţi. Aceste rezultate sunt utile deoarece acum fiecare parte posedă

rezultatul aplicării funcţiei hash numărului ales de ea precum şi rezultatul aplicării funcţiei hash numărului ales de cealaltă parte iar produsul acestor rezultate este acelaşi. De aceea acest produs poate fi utilizat ca şi o cheie publică de criptare iar produsul celor două numere originale, alese de cele două părţi, poate fi utilzat ca şi o cheie secretă de criptare. Funcţia hash utilizată în metoda Diffie-Hellman este A la puterea x

modulo P. Aceasta nu este o funcţie inversabilă pe mulţimea numerelor întregi.

Notând cu x numărul ales de expeditor şi cu y numărul ales de destinatar, primul va transmite A la puterea x modulo P, iar cel de al doilea A la puterea y modulo P. Fiecare parte poate calcula apoi A la puterea x ori y modulo P (expeditorul ridică la puterea x numărul primit de la destinatar iar destinatarul ridică la puterea y numărul primit de la expeditor). Orice alt utilizator al aceleiaşi reţele poate avea acces la numerele A la puterea x modulo P, respectiv A la puterea y modulo P, dar nu poate, pe baza lor, să-l determine pe A la puterea x ori y modulo P. Pentru o funcţionare sigură a metodei Diffie-Hellman trebuie alese cu grijă constantele A şi P.

Page 68: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

4

5.3.2. Algoritmul RSA (Rivest-Shamir-Adleman)

Metoda RSA este aproape singura metodă "adevarată" de criptare cu cheie publică. Ea a fost publicată în anul 1977. S-a demonstrat însă recent că de fapt această metodă a fost inventată în anul 1973 de către Clifford Cocks.Algoritmul RSA se bazează pe următoarele fapte matematice:Dacă se ridică un număr la o putere (d), modulo un număr N, numărul original poate fi recuperat prin ridicarea rezultatului la o altă putere (e) modulo acelaşi număr. Cunoscând numărul N utilizat ca şi modul precum şi prima putere folosită se poate determina cu uşurinţă care a fost cea de a doua putere folosită.

Algoritmul RSA are următoarele etape:- criptarea mesajului X;

unde p şi q sunt două numere prime foarte mari cu produsul egal cu N, iar cmmdc(e, φ(N))=1. Cu ajutorul lui N şi e rezultă cheia publică.- decriptarea mesajului X; Se calculează d, care reprezintă inversa lui e în raport cu operaţia de înmulţire modulo φ(N)

Cheia secretă rezultă cu ajutorul lui N şi d.

( ) ( )qpmodXXE e ⋅=

( ) ( ) ( )qpmodXEXD d ⋅=

Dacă se doreşte semnarea unui mesaj X atunci semnătura poate fi generată cu formulaPentru a verifica o semnătură se calculeazăşi se compară cu X.

( ) dXXS =

( )( ) ( )( ) X...)Nmod(XSXSV e ===

( ) ( )( )33 3 11 3 11 1 1 20,3, 1 mod 20 7

,

N p q N p qe e d d= = × ⇒ = = ⇒ϕ = − − =

= × = ⇒ =

Bineînţeles pentru a putea folosi algoritmul RSA nu este suficientă doar descrierea sumară făcută până acum. E necesar să se găsească răspunsuri la câteva întrebări:

Cum se pot alege 2 numere prime foarte mari ? Cum se poate calcula o valoare inversă modulo (p-1)(q-1) ?

Cum se face o ridicare la putere modulo pq ?

Inversarea lui e

După cum s-a arătat d este inversa lui e modulo (p-1)(q-1), fiind respectată condiţia:

cmmdc(e, (p-1)(q-1))=1 (1 RSA)

Deoarece p şi q sunt două numere prime foarte mari, ele trebuie să fie numere impare. De aceea numerele p-1 şi q-1 vor fi pare. În consecinţă aceste numere au pe 2 ca şi factor comun. De aceea o soluţie pentru d va fi şi inversa lui e modulo (p-1)(q-1)/2 (aşa cum s-a arătat în paragraful referitor la bazele matematice ale criptării). Condiţia (1 RSA) devine:

Page 69: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

5

cmmdc(e, (p-1)(q-1)/2)=1 (2 RSA)

De obicei e se alege dintre următoarele numere: 3, 5, 17, 257, sau 65537, pentru a obţine o criptare (prin ridicarea la puterea e modulo pq) convenabilă şi rapidă. Verificarea condiţiei (2 RSA) poate fi realizată folosind algoritmul lui Euclid, cu ajutorul căruia se poate găsi cel mai mare divizor comun a două numere. E clar că folosirea algoritmului lui Euclid permite şi obţinerea răspunsului la întrebarea legată de găsirea a două numere prime de valori foarte mari. Dacă cel mai mare divizor comun al acestor numere este 1 atunci ele sunt prime.Dacă s-a demonstrat că 2 numere sunt prime între ele atunci inversul lui s modulo b poate fi determinat pe baza valorilor intermediare obţinute prin aplicarea algoritmului lui Euclid.

Se doreşte rezolvarea unei ecuaţii de forma:

1=s(0)*d-b(0)*n (3 RSA)

unde s(0)=e, b(0)=(p-1)(q-1)/2 şi n este un număr întreg arbitrar.

Într-adevăr, d, soluţia acestei ecuaţii, reprezintă inversa modulo b(0) a lui s(0) deorece:

b(0)*n=0 modulo b(0)

Dacă în pasul i al algoritmului lui Euclid se obţine restul 1 (asta înseamnă că s-a ajuns la penultima iteraţie a algoritmului) atunci înseamnă că are loc relaţia:

b(i)-s(i)*q(i)=1 (4 RSA)

unde q(i) este câtul împărţirii efectuate la pasul i. Aceasta este de forma ecuaţiei (3 RSA).Deci când se foloseşte algoritmul lui Euclid pentru determinarea unei valori inverse nu este suficientă memorarea valorilor b şi s la fiecare pas al algoritmului ci este necesară şi memorarea câtului împărţirii la fiecare pas al algoritmului. Memorarea valorilor câtului trebuie făcută într-o memorie de tip stivă.

Din prezentarea anterioară a algoritmului lui Euclid rezultă că acesta este descris de următoarele relaţii:s(i-1)=b(i); r(i-1)=s(i);şi:b(i-1)-s(i-1)*q(i-1)=r(i-1).De aceea relaţia (3 RSA) se mai poate scrie:s(i-1)-r(i-1)*q(i)=1sau:s(i-1)-(b(i-1)-s(i-1)*q(i-1))*q(i)=1adică:

-q(i)*b(i-1)+(1-q(i)*q(i-1))*s(i-1)=1 (5 RSA)

Se remarcă faptul că şi aceasta este de tipul relaţiei (3 RSA). Folosind relaţiile:s(i-2)=b(i-1), r(i-2)=s(i-1)şi b(i-2)=s(i-2)*q(i-2)=r(i-2)se poate substitui din nou ( de data asta în relaţia (5 RSA)) pentru a-l exprima pe 1 ca şi o sumă de multiplii de b(i-2) şi s(i-2).

Acest proces se poate repeta mergând înapoi (faţă de sensul în care s-a iterat algoritmul lui Euclid) spre b(0) şi s(0) pentru a găsiinversa dorită, d, pe baza unei relaţii de tipul (3RSA).

Page 70: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

6

Ridicarea la putere a numerelor mari

Algoritmul folosit pentru ridicarea la putere a unor numere mari modulo un număr specificat se bazează pe o metodă de înmulţire numită Russian Peasant Multiplication şi presupune înmulţiri repetate. Algoritmul are următoarele etape:

- Fie rezultatul egal cu 1;- Se converteşte puterea dorită în binar şi se notează cu n lungimea

obţinută. Se memorează rezultatul conversiei. Bitul cel mai puţin semnificativ va fi a(1) iar bitul cel mai semnificativ va fi a(n).

Numărul care se va ridica la putere se numeşte bază. Pentru ridicare la pătrat

rezultat=rezultat * bază- Se repetă pasul anterior până când se ajunge la puterea dorită.

Factorizare

Deoarece d poate fi obţinut din e de îndată ce este cunoscut (p-1)(q-1), descompunerea lui N în factorii săi primi p şi q poate fi o cale de decriptare ilegală, cracking, a unui text criptat cu algoritmul RSA. Factorizarea numerelor mari este o operaţie dificilă. Calea cea mai simplă este să se împartă numărul cu fiecare număr prim mai mic decât el. Dacă restul împărţirii este zero atunci numărul testat, care a condus la acest rest, este un factor al lui N.

O îmbunătăţire a acestei metode se bazează pe faptul că este suficient dacă se încearcă numerele prime mai mici decât radicalul numărului testat. Într-adevăr dacă primul factor identificat ar fi mai mare decât radical din N atunci şi al doilea factor care ar putea fi identificat ar trebui să fie mai mare decât radical din N. Dar în acest caz produsul acestor factori ar fi mai mare decât N, ceea ce este absurd.

Există şi alte îmbunătăţiri posibile ale metodei de factorizare. Un algoritm de factorizare îmbunătăţit, relativ uşor de înţeles, este algoritmul lui Fermat. Acesta se bazează pe formula produsului sumei prin diferenţă

(a+b)*(a-b) = a2 - b2. (1 Fermat)

Astfel, deoarece numărul care trebuie factorizat este produsul a două numere impare diferenţa acestora va fi un număr par, iar cei doi factori vor fi exprimaţi în forma a+b şi a-b, unde a şi b sunt doi întregi pozitivi. În continuare se prezintă algoritmul lui Fermat pentru factorizarea numărului 319 (care este produsul dintre numerele prime 11 şi 29). Acesta se bazează pe încercări repetate de verificare a relaţiei (1 Fermat) pentru valori consecutive ale lui a. Rădăcina pătrată a lui 319 (care reprezintă membrul stâng al relaţiei (1 Fermat)) este 17,86057.... Dacă i se dă lui a valoarea 18 atunci a la pătrat este egal cu 324 şi conform relaţiei (1 Fermat) valoarea lui b la pătrat este 5. Dar 5 nu este un pătrat perfect. De aceea i se dă lui a valoarea următoare, adică 19. Valoarea lui a la pătrat devine 361. În acest caz valoarea lui b la pătrat devine 42. Dar nici această valoare nu reprezintă un pătrat perfect. De aceea i se dă lui a valoarea 20. Valoarea lui 20 la pătrat este de 400. Diferenţa dintre 400 şi 319 este de 81. Acesta este în sfârşit un pătrat perfect. Deoarece b la pătrat ia valoarea 81 rezultă că valoarea lui b este 9.

În consecinţă factorii a+b şi a-b sunt de valori 29 şi 11. Se constată că s-a realizat factorizarea dorită.

Algoritmul de factorizare al lui Fermat este rapid doar dacă cei doi factori au valori apropiate. Dacă este necesară factorizarea numărului 321, de exemplu (care este produsul dintre numerele prime 3 şi 107) atunci deoarece iniţializarea algoritmului lui Fermat se realizează cu valoarea 18 (partea întreagă a rădăcinii pătrate a numărului 321 este 17), pentru a ajunge la factorul 107 sunt necesare 89 de iteraţii. În consecinţă dacă N este suficient de mare şi dacă p şi q sunt aleşi aleator atunci este foarte dificilă factorizarea lui N. Rivest, Shamir şi Adelman au sugerat utilizarea unor numere p şi q de câte 100 de cifre, cea ce face ca N să aibă 200 de cifre. Pentru factorizare ar putea fi necesar un număr mare de ani de calcul.

Un alt atac împotriva metodei de criptare cu cheie publică RSA este aşa numitul atac cu text în clar limitat, limited plain text attack. Dacă există un număr mic de mesaje care trebuiesc transmise, un atacator ar putea să le cripteze pe toate, cu diferite chei publice, folosind algoritmul RSA şi să-l identifice pe cel transmis la un moment dat comparându-l cu toate textele cifrate pe care le-a obţinut.

Page 71: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

7

5.3.3. Algoritmul El GamalAlgoritmul de schimb de chei Diffie-Hellman a fost descris pe baza

următoarelor operaţii:expeditorul alege numărul x şi transmite A la puterea x modulo P,destinatarul alege numărul y şi transmite A la puterea y modulo P,apoi ambele părţi comunică folosind ca şi cheie publică A la puterea xy

modulo P.După cum se vede, nimic nu împiedică destinatarul să declare ca şi

cheie publica A la puterea y modulo P, permiţând oricărui alt utilizator al reţelei să transmită un mesaj pe care expeditorul să-l citească, după ce l-a ales pe x şi să-l retransmită criptat cu cheia A la puterea xy modulo P, adăugându-i la început A la puterea x.

Algoritmul El Gamal poate fi considerat ca şi un caz particular al acestei metode.

Pentru a transmite un mesaj unui corespondent a cărui cheie publică este A la puterea y modulo P, i se transmite propria cheie publică, Ala x modulo P şi apoi mesajul, care este criptat prin înmulţirea sa, modulo P, cu A la puterea xy modulo P.

Algoritmul El Gamal poate fi utilizat şi pentru generare şi autentificare de semnături.

Page 72: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

1

5.4. Standardul de criptare cu cheie publică PKCS#1Standardele de criptare cu cheie publică,

PKCS, Public-Key Criptography Standards, sunt specificaţii produse de către

laboratoarele RSA, din S.U.A cu scopul de a accelera dezvoltarea criptografiei cu chei

publice. Primul a fost publicat în 1991.

Numeroase contribuţii prezentate în aceste standarde au ajuns să fie părţi ale unor standarde elaborate de institute speciale de standardizare, cum ar fi documentele X9 ale ANSI sau PKIX, SET, S/MIME şi SSL. Aceste standarde sunt publicate la adresa: http://www.rsa.com/rsalabs/node.asp?id=2124PKCS #1:Standardul criptografic RSA, care dă titlul acestui paragraf. PKCS #2: O notă explicativă referitoare la standardul PKCS#1.PKCS #3:Convenţia de schimbare de chei Diffie-Hellman.PKCS #4: O notă explicativă referitoare la standardul PKCS#3.PKCS #5: Standard de criptografie bazată pe parole.PKCS #6: Standardul de sintaxă a certificatelor (de autentificare) extinse.PKCS #7: Standardul de sintaxă al mesajelor criptografice.PKCS #8: Standardul de sintaxă al cheilor secrete.PKCS #9: Tipuri de atribute selectate. PKCS #10: Standardul de sintaxă de cerere a unui certificat.PKCS #11: Standardul de interfaţă criptografică de tip token.PKCS #12: Standardul de sintaxă de schimb de informaţie personală.PKCS #13: Standardul de criptografie cu curbe eliptice.PKCS #15: Standardul de format al informaţiei criptografice de tip token.

Standardul de criptare cu cheie publică PKCS#1

să permită cifrarea datelor folosind metoda RSA. construcţia semnăturilor digitale şi a "plicurilor" digitale, digital envelopes, (PKCS #7).semnături digitale - conţinutul care trebuie semnat este prima dată redus la un rezumat, cu ajutorul unui algoritm de rezumare (ca de exemplu MD5) şi apoi un şir de octeţi, conţinând rezumatul mesajului este criptat cu cheia secretă RSA a semnatarului conţinutului. Conţinutul precum şi rezumatul mesajului criptat sunt reprezentate împreună, conform regulilor de sintaxă (PKCS #7), formând o semnătură digitală. Această aplicaţie este compatibilă cu metodele de protejare a poştei electronice de tipul PEM, Privacy-Enhanced Mail.

"plicuri" digitale - conţinutul este prima dată criptat cu o metodă de criptare simetrică (care foloseşte o cheie secretă) folosind un algoritm corespunzător (de exemplu DES) şi apoi cheia secretă este criptată folosind cheia publică RSA a destinatarului conţinutului.Conţinutul criptat precum şi cheia secretă criptată sunt reprezentate împreună, conform sintaxei (PKCS#7), pentru a crea un plic digital. Şi această metodă este compatibilă cu metodele PEM. Standardul mai descrie şi sintaxa pentru cheile publice şi secrete RSA. Sintaxa cheilor publice se foloseşte la elaborarea certificatelor iar sintaxa cheilor secrete se foloseşte la elaborarea informaţilor referitoare la cheile secrete (PKCS#8).

Standardul defineşte şi trei algoritmi de semnare a certificatelor pentru PEM şi a listelor de revocare a certificatelor, a certificatelor extinse, (PKCS#6) şi a altor obiecte care folosesc semnături digitale.

Page 73: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

2

Sintaxa cheilorÎn cazul cheilor publice este vorba despre o secvenţă care are pe prima poziţie valoarea modulului N, iar pe a doua poziţie, valoarea cheii publice a expeditorului e.În cazul cheilor secrete este vorba despre o secvenţă care are, în ordine, următoarele elemente: versiunea, modulul N, cheia publică a expeditorului, e, cheia secretă a destinatarului, d, numărul prim p, numărul prim q, valoarea exponentului dmodulo (p-1), valoarea exponentului d modulo (q-1), valoarea inversului lui q modulo p şi versiunea. - versiunea: este un număr care indică apartenenţa la standard şi care are rolul de a face posibilă compatibilitatea cu standarde viitoare. Are valoarea 0 pentru acest standard.- N, e, d, p au semnificaţiile din prezentarea metodei RSA.Lungimea modulului N, în octeţi, este numărul întreg k care satisface condiţia: Valoare minimă a lui k este 12.

( )8 1 82 2k kN− ≤ ≤

Observaţii

1. Pentru o cheie secretă RSA sunt suficiente valorile lui N şi d. Prezenţa valorilor p, q, d mod (p-1), d mod (q-1) şi q-1 mod p este justificată de eficienţa sporită obţinută prin utilizarea lor. 2. Prezenţa exponentului cheii publice e, în structura cheii secrete este justificată de crearea posibilităţii de a transforma cheia secretă într-o cheie publică.

Procesul de criptareare 4 paşi:

formatarea blocului de criptat,conversia şirului de octeţi în valori întregi,calculul specific metodei RSA,conversia valorilor întregi obţinute într-un şir de octeţi.

Datele iniţiale:Şirul de octeţi D - datele de transmis,Valoarea modulului N,Valoarea unui exponent c. Pentru o operaţie care necesită chei publice exponentul c trebuie să fie identic cuexponentul cheii publice a unui utilizator, e, iar pentru ooperaţie care necesită chei secrete el trebuie să fie identiccu exponentul cheii secrete a unui utilizator, d.În urma procesului de criptare rezultă un şir de octeţi ED.

Observaţii

1. În aplicaţiile tipice ale acestui standard pentru a genera chei secrete dependente de conţinutul mesajului sau rezumate de mesaj este necesar ca lungimea şirului de octeţi D să fie de 30. De aceea este necesar ca lungimea modulului N, folosit în metoda RSA să fie de cel puţin 41 de octeţi. 2. Procesul de criptare nu presupune şi realizarea unui control de integritate explicit care să uşureze detecţia erorilor care provin din coruperea datelor criptate pe durata transmisiei lor.Totuşi structura blocului de date folosit garantează că probabilitatea de ne-detectare a erorilor este mai mică decât 2 la puterea -16.3. Aplicarea operaţiilor cu cheie publică aşa cum este definită în acest standard la alte tipuri de date decât şirurile de octeţi care conţin un rezumat al mesajului nu este recomandată şi reprezintă obiectul unor studii viitoare.

Page 74: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

3

Formatarea blocului de criptatBlocul de criptat, EB, encryption block, este un şir de octeţi şi este format din 3 elemente: tipul blocului BT, şirul de egalizare, PS, padding string şi şirul de date D. Acestea sunt concatenate conform formulei:EB = 00 ||BT ||PS ||00 ||D (1 PKCS#1)Tipul blocului, BT, trebuie să fie un singur octet şi indică structura blocului de criptare. Pentru această versiune a standardului el poate avea una dintre valorile: 00, 01, sau 02. Pentru o operaţie cu cheie secretă se folosesc valorile 00 sau 01. Pentru o operaţie cu cheie publică valoarea sa este 02. Şirul de egalizare, PS, trebuie să aibă k-3-ll D ll octeţi, unde cu ll D ll s-a notat lungimea şirului de date D. Pentru BT de valoare 00, toţi octeţii din PS vor avea valoarea 00. Pentru BT de valoare 01, toţi octeţii din PSvor avea valoarea FF iar pentru BT de valoare 02, octeţii din PS vor fi generaţi pseudoaleator şi de valoare diferită de 00. În acest fel lungimea blocului de criptat va fi egală cu k. De aceea PS se numeşte şir de egalizare.

Observaţii

1. Cei doi octeţi 00 din formula (1 PKS#1) au fost incluşi pentru a se asigura condiţia ca blocul criptat, convertit într-o valoare întreagă să fie de valoare mai mică decât a modulului. 2. Dacă BT are valoarea 00, şirul de date D trebuie să înceapă cu un octet nenul sau să aibă o lungime cunoscută pentru ca blocul criptat să poată fi interpretat corect (neambiguu). Pentru BT de valori 01 sau 02 blocul criptat poate fi interpretat corect,deoarece şirul egalizator PS nu conţine octeţi de valoare 00 şi este separat de şirul de date D printr-un octet de valoare 00. 3. Valoarea 01 a BT este recomandată pentru operaţii cu chei secrete. Această valoare conduce la o valoare mare a blocului EB, după ce acesta a fost convertit într-o valoare întreagă, ceea ce previne anumite atacuri.4. Valorile 01 şi 02 pentru BT asigură compatibilitatea blocului criptat cu criptarea RSA bazată pe conţinut a cheilor şi a rezumatelor de mesaje, PEM.

Conversia şirului de octeţi într-un întreg

Blocul criptat, EB, se converteşte într-un întreg, x, folosind relaţia:

(2PKCS#1)

unde reprezintă octeţii lui EB de la primul la ultimul. Cu alte cuvinte primul octet al lui EB are cea mai mare semnificaţie în întregul x iar ultimul octet al lui EBeste cel mai puţin semnificativ pentru întregul x.

Observaţie

Întregul x obţinut prin conversia blocului EB satisface condiţia:

(3PKCS#1)deoarece şi .

( )8

1

2k

k ii

ix EB−

=

=∑

1 2, ,..., kEB EB EB

( )8

1

2k

k ii

iy ED−

=

=∑

1 00EB = ( )8 12 k N− ≤0 x N≤ <

Criptarea RSAÎntregul x, obţinut în pasul anterior este ridicat la puterea c

modulo N, obţinându-se întregul y care reprezintă rezultatul criptării în formă de număr întreg, mai mic decât N.

Conversia întreg-şir de octeţiÎntregul y, obţinut în urma criptării este convertit într-un şir de octeţi, ED, de lungime k, care reprezintă mesajul criptat. Şirul ED trebuie să satisfacă relaţia:

(4 PKCS#1)

unde sunt octeţii şirului ED, de la primul la ultimul.

( )8

12

kk i

ii

y ED−

=

= ∑

1 2, ,..., kED ED ED

Page 75: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

4

Procesul de decriptareconstă din 4 paşi: conversia şirului de octeţi într-un întreg, decriptarea RSA, conversia întregului într-un şir de octeţi şi formatarea blocului decriptat. sunt necesare: şirul de octeţi ED, datele criptate, modulul N şi exponentul c. Pentru o operaţie cu chei publice exponentul c trebuie să reprezinte exponentul public al unui utilizator, e, iar pentru o operaţie cu chei secrete coeficientul c trebuie să reprezinte exponentul secret al unui utilizator, d. În urma procesului de decriptare se obţine un şir de octeţi, D, care reprezintă datele transmise. Dacă lungimea acestui şir de octeţi nu este egală cu k atunci înseamnă că s-a comis o eroare.

Conversia şirului de octeţi într-un întreg

Şirul de date criptate, ED, este convertit într-un întreg y, conform relaţiei (4PKCS#1). Dacă întregul obţinut nu satisface condiţia înseamnă că s-a comis o eroare de transmisie.

0 y N≤ <

Decriptarea RSA

Întregul y, obţinut la pasul anterior este ridicat la puterea c modulo N, obţinându-se un nou întreg, x, inferior lui N.

Conversia întregului într-un şir de octeţi

Întregul x, obţinut la pasul anterior, este convertit într-un şir de octeţi, EB, de lungime k, conform relaţiei (2PKCS#1).

Formatarea blocului decriptat

Blocul decriptat este formatat prin includerea într-o structură formată dintr-un octet BT care specifică tipul blocului, un şir de egalizare, PS, şi un şir de octeţi de date, conform relaţiei (1PKCS#1).Dacă este satisfăcută una dintre condiţiile următoare înseamnă că s-a produs o eroare în procesul de transmisie:- Blocul decriptat nu poate fi formatat neambiguu.- Şirul de egalizare, PS, este constituit din mai puţin de 8octeţi, sau nu este în accord cu BT.

- Procesul de decriptare este o operaţie cu cheie publică iar BT nu are valorile 00 sau 01, sau procesul de decriptare este o operaţie cu cheie secretă şi BT nu arevaloarea 02.

Page 76: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

5

5.5.3. Standardul de semnătură digitală DSS

În anul 1994, NIST, National Institute of Standards and Technology a publicat standardul de semnătură digitală, Digital Signature Standard (DSS).Acest standard prezintă un algoritm de semnătură digitală, Digital Signature Algorithm (DSA). Semnătura numerică DSA este o pereche de numere foarte mari reprezentate ca şi şiruri de octeţi. Semnătura digitală este calculată folosind o mulţime de reguli şi o mulţime de parametri astfel încât identitatea semnatarului şi integritatea datelor transmise să poată fi verificate. DSA asigură posibilitatea de a genera şi de a verifica semnături digitale. Generarea semnăturilor se bazează pe utilizarea unei chei secrete. Verificarea semnăturii se bazează pe folosirea unei chei publice care corespunde cheii secrete.

Cheile publice pot fi cunoscute de către orice utilizator al reţelei. Oricine poate verifica semnătura unui utilizator folosind cheia sa publică. Generarea semnăturii unui utilizator poate fi realizată numai de către acesta deoarece în procesul de generare se foloseşte cheia sa secretă. În procesul de generare a semnăturii se utilizează o funcţie hash, pentru a obţine o variantă condensată (rezumat al mesajului) a datelor care trebuiesc transmise. Acestui rezumat i se aplică algoritmul DSA pentru a se genera semnătura digitală. Semnătura digitală împreună cu mesajul semnat sunt transmise celui care trebuie să verifice semnătura digitală. Acesta verifică semnătura digitală cu ajutorul cheii publice a expeditorului. Aceeaşi funcţie hash trebuie folosită şi în procesul de verificare. Proceduri similare trebuie folosite şi pentru generarea şi verificarea semnăturilor digitale pentru date stocate ( nu transmise).

Algoritmul DSA se foloseşte pentru poşta electronică, pentru transferul electronic de fonduri, schimbul electronic de date, distribuire de soft, stocare de date şi alte aplicaţii care necesită verificarea integrităţii datelor transmise şi autentificarea expeditorului.

Algoritmul DSA poate fi implementat în variante hard, soft sau mixte. NIST dezvoltă un program de validare a acordului dintre aceste implementări şi standardul DSS.

Parametrii algoritmului DSA1. p, un număr prim folosit ca şi modul, cu proprietatea:

2. q, un număr prim, divizor al lui p - 1.

3.

4. x, un număr generat aleator sau pseudoaleator.

5. 6. k, un întreg generat aleator sau pseudoaleator.

Întregii p, q, şi g pot fi publici şi pot fi comuni unui grup de utilizatori. Numărul x reprezintă cheia secretă a unui utilizator iar y cheia sa publică. În mod normal aceste valori rămân fixe pentru o perioadă de timp. Parametrii x şi k se folosesc doar pentru generarea semnăturii şi trebuie păstraţi secreţi. Parametrul k trebuie regenerat pentru fiecare semnătură digitală.

82 2 pentru 512 1024 multiplu de 64L Lp L L− ⋅ < ≤ ≤

1

modpqg h p−

=

modxy g p=

Page 77: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

6

Generarea semnăturiiSemnătura unui mesaj M, este perechea de numere rşi s calculate conform următoarelor ecuaţii:

Cu k la puterea -1 s-a notat inversa lui k pentru înmulţirea modulo q. E necesară verificarea egalităţii cu zero a lui r sau s. Dacă una dintre aceste mărimi este 0 atunci o nouă valoare a lui k trebuie aleasă şi semnătura trebuie recalculată. Semnătura împreună cu mesajul sunt transmise celui care trebuie să verifice semnătura digitală.

( ) qpgr k modmod= ( )( )( ) qrxMSHAks mod1 ⋅+= −

Verificarea semnăturiiÎnaintea verificării semnăturii unui mesaj parametrii p, q şi g precum şi cheia publică şi identitatea expeditorului asunt puse la dispoziţia celui care trebuie să verifice semnătura digitală într-o formă autentificată. Fie M', r' şi s' versiunile recepţionate ale parametrilor M, r şi s şi fie y cheia publică a semnatarului mesajului. Prima operaţie de verificare se referă la şirul de inegalităţi 0 < r' < s' < q. Dacă una dintre aceste condiţii nu este respectată atunci semnătura este respinsă. Dacă aceste condiţii sunt satisfăcute atunci se continuă verificarea. Se calculează:

( ) qsw mod' 1−= ( )( )( )qwMSHAu mod'1 ⋅=

( )( ) qwru mod'2 ⋅= ( ) ( )( )( ) qpygv uu modmod21 ⋅=

Dacă v = r', atunci rezultatul verificării semnăturii digitale este pozitiv şi se poate afirma că mesajul a fost trimis de către posesorul cheii secrete x corespunzătoare lui y. Dacă v nu este egal cu r' atunci se poate ca mesajul să fi fost modificat sau să nu fi fost corect semnat de către semnatar sau ca mesajul să fi fost semnat de către un impostor. Oricum mesajul nu trebuie validat. În standardul DSS, în anexe, sunt prezentate şi metode de generare a numerelor prime, necesare în algoritmul DSA, precum şi metode de generare a numerelor aleatoare sau pseudoaleatoare, de asemenea necesare în algoritmul DSA.

5.6. Atacuri împotriva sistemelor de criptare

Sistemele de criptare simetrică au fost construite cu intenţia de a fi foarte greu de atacat (decriptat de către o persoană neautorizată). Chiar avand la dispoziţie cantităţi impresionante de text în clar şi text cifrat crespunzător, o a treia persoană (neautorizată) nu ar trebui să poată să deducă cheia de criptare folosită, decât folosind atacurile bazate pe căutare cu forţă brută (adică generarea tuturor cheilor posibile având un număr fixat de caractere şi încercarea lor pe un text clar al cărui text cifrat corespunzător se află de asemenea în posesia acelei persoane, până la identificarea cheii utilizate de expeditor). Multe sisteme de criptare par să satisfacă această condiţie. Totuşi există două tipuri de atac care ar putea să descopere mai repede o cheie secretă decât metoda de căutare a acesteia bazată pe forţa brută. Acestea sunt atacul bazat pe criptanaliză linară şi cel bazat pe criptanaliză diferenţială.

Page 78: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

1

Securitatea poştei electronice

În ceea ce priveşte securitatea, poşta electronică nu oferă condiţii ideale. Mesajele pot fi interceptate, voit sau din greseală, de către persoane neautorizate sau de către administratorii de sisteme. Protocolul de poştă electronică, cel mai des folosit este sendmail, care funcţioneaza sub sistemul de operare UNIX.

PEM-standardul de poştă electronică cu facilităţi de

securitateScopul proiectului Privacy Enhanced Mail, PEM, este asigurarea securităţii poştei electronice pe INTERNET. Rezultatele acestui proiect sunt prezentate în documentele RFC 1421-1424. Aceste documente, elaborate în anul 1993, definesc proceduri de criptare a mesajelor şi de autentificare. Aceste proceduri sunt compatibile cu un număr mare de modalităţi de management al cheilor, atât de tip simetric (cu cheie secretă) cât şi de tip asimetric (cu cheie publică). Procedurile de management al cheilor sunt folosite pentru criptarea cheilor, care se folosesc pentru criptarea şi decriptarea mesajelor. Pentru criptarea mesajelor se folosesc proceduri de criptare simetrică. În RFC 1421 se fixează cadrul general.

În RFC 1422 se specifică mecanismele de management al cheilor, bazate pe folosirea certificatelor cu chei publice. În RFC 1423 se specifică algoritmii şi identificatorii asociaţi, relevanţi pentru documentele RFC 1421 şi RFC 1422. În RFC 1424 se dau detalii asupra formatelor electronice şi a procedurilor pentru infrastructura de management a cheilor care reprezintă suportul, descrise în celelalte trei documente.

Serviciile de îmbunătăţire a securităţii (confidenţialitate, autentificare, integritate, nerepudiere a originii) sunt oferite atât la nivelul legăturii capăt-la capăt, cât şi la nivelul Agent Utilizator. Nu sunt impuse cerinţe speciale Sistemului de Transfer al Mesajelor la capete sau la nivele intermediare. Facilitează încorporarea selectivă pe o bază de tipul de la site la site sau de tipul de la utilizator la utilizator fără afectarea altor entităţi ale INTERNET-ului. Sunt suportate atât interoperabilitatea între componente heterogene cât şi facilităţi de transport prin poştă. Proiectul PEM dezvoltă procedurile de prelucrare a textului pentru poşta electronică, descrise în RFC-822. În scopuri descriptivedocumentele RFC folosesc anumiţi termeni definiţi în modelul OSI de sistem de mânuire a mesajelor, de tipul X.400, the OSI X.400 Message Handling System Model, MHS.

Page 79: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

2

Un utilizator pregăteşte mesajele cu ajutorul agentului său de utilizare, User Agent, UA.

Un UA este un proces de tip aplicaţie care interacţionează cu sistemul de transfer al mesajelor, the Message Transfer System, MTS, pentru a trimite un mesaj.

MTS livrează la unul sau mai multe procese UA de destinatar, mesajele care i-au fost înaintate. Funcţiile care nu se îndeplinesc decât de serviciul UA şi nu sunt standardizate ca parte a servicilor MHS se numesc funcţii UA locale. Sistemul MTS este compus dintr-un număr de agenţi de transfer de mesaj, Message Transfer Agents, MTA.

Lucrând împreună, agenţii MTA înlănţuiesc mesaje şi le livrează proceselor UA ale destinatarului, care le fac apoi disponibile pentru destinatar. Colecţia de procese UA şi de agenţi MTA este numită sistem de mânuire a mesajelor, Message Handling System, MHS.

Sistemul de mânuire a mesajelor împreună cu toţi utilizatorii săi formează mediul de mânuire a mesajelor, the Message Handling Environment.

Pentru toate mesajele PEM se asigură autenticitate şi integritate. Când se foloseşte distribuţia cheilor bazată pe algoritmi asimetrici atunci se asigură şi nerepudierea originii. Servicile de confidenţialitate sunt furnizate la cerere.

Măsurile de securitate specifice proiectului PEM sunt aplicabile unui număr mare de tipuri de gazde INTERNET şi de moduri de folosire. Aceste măsuri au următoarele atribute:1. Mecanismele PEM nu sunt specifice pentru un anumit calculator gazdă sau pentru un anumit tip de sistem de operare. Toate tehnicile de securitate sunt implementate la nivelul aplicaţie şi nu depind de parametri de securitate de la nivele inferioare de protocol. 2. Mecanismele de securitate sunt implementate în mod capăt la capăt care nu are impact asupra prelucrării poştei de către intermediari, care nu trebuie să includă facilităţi de îmbunătăţire a securităţii. Este totuşi necesar ca expeditorul mesajului să ştie ce mecanisme de securitate foloseşte destinatarul pentru ca să nu folosescă un anumit mecanism de criptare şi destinatarul să nu dispună de mecanismul de decriptare corespunzător.

3. Mecanismele definite trebuie să fie compatibile cu faciltăţi de transport a poştei electronice, Mail Transport Facilities, MTA. În cadrul INTERNET-ului, transportul poştei electronice este realizat de o varietate de implementări SMTP. Anumite site-uri, accesibile prin SMTP, retransmit poşta electronică în alte medii de prelucrare a acesteia (de exemplu USENST, CSNET, BITNET). Mecanismele de securitate trebuie să fie capabile să lucreze în domeniul de securitate SMTP; este de dorit ca ele să fie compatibile cu protecţia poştei electronice trimisă prin mediul SMTP şi alte medii conectate. 4. Mecanismele definite sunt compatibile cu un domeniu larg de agenţi UA. Din dorinţa de a putea fi implementate ca proiecte pilot, este de preferat ca mecanismele de securitate să fie încorporate într-un program separat, aplicabil la un domeniu de agenţi UA, şi nu să ceară modificări ale fiecărui UA cu care se realizează servicii PEM.

Page 80: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

3

5. Mecanismele de securitate definite sunt implementate pe calculatoare personale, de tip PC separate de sistemele pe care sunt implementate funcţiile UA. Având în vedere dezvoltarea rapidă a utilizării calculatoarelor personale şi încrederea limitată care se poate acorda implementărilor de tip UA de pe multe sisteme multi-utilizator, acest atribut poate permite unui număr mare de utilizatori să prelucreze mesajele PEM cu un nivel sporit de încredere decât în cazulîn care s-ar fi adoptat o strategie bazată doar pe sisteme UA.6. Mecanismele definite permit securizarea adreselor de poştă electronică din liste (liste de distribuţie în limbaj ISO).

7. Mecanismele definite sunt compatibile cu o varietate de metode de distribuire a cheilor, cum ar fi predistribuirea manuală, distribuirea centralizată bazată pe criptografia simetrică şi folosirea certificatelor cu cheie publică, descrisă în RFC 1422. Diferite metode de distribuire a cheilor pot fi folosite pentru diferiţi destinatari ai unui aceluiaşi mesaj. Pentru ca să poată interopera, două aplicaţii PEM trebuie să folosească un mecanism de management al cheilor comun; se recomandă să se aleagă în acest scop unul dintre mecanismele prezentate în RFC 1422.

Au fost prevăzute următoarele facilităţi:1. protecţia la modificarea structurii,2. autentificarea expeditorului,3. aprecierea integrităţii mesajului, 4. nerepudierea originii mesajului (dacă se foloseşte managementul asimetric al cheilor) dar nu şi următoarele:1. controlul accesului,2. confidenţialitatea traficului,3. acurateţea listei de adrese,4. controlul dirijării,5. măsuri de conectare a PC-urilor la utilizatori multipli,6. asigurarea recepţiei mesajului şi a ne-repudierii recepţiei acestuia,7. asocierea automată a acceptărilor cu mesajele la care se referă acestea,8. detecţia dublării mesajelor, prevenirea răspunsului, sau alte servicii orientate pe şiruri de date.

Prelucrarea mesajelorTransmisiile PEM se bazează pe o ierarhie a cheilor pe două nivele:

1. Cheile de criptare, Data Encrypting Keys, DEK, se folosesc pentru cripatarea textului mesajului şi (cu câteva alegeri dintr-o mulţime de algoritmi alternativi) pentru calculul valorilor de control de integritate a mesajului, Message Integrity Check. În mediul de management al cheilor asimetric, cheile DEK se folosesc şi pentru a cripta reprezentările semnate ale MIC-urilor în mesajele PEM cărora li s-a asigurat deja confidenţialitatea. Cheile DEK se generează individual, pentru fiecare mesaj transmis; nu este necesară predistribuirea acestor chei.

Page 81: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

4

2. Pentru a cripta cheile de tip DEK şi pentru a le include în mesajele transmise se utilizează chei de interschimb, Interchange Keys, IK. De obicei, aceaşi cheie IK va fi folosită pentru toate mesajele trimise de către acelaşi expeditor aceluiaşi destinatar, într-o anumită perioadă de timp. Fiecare mesaj transmis include o reprezentare a cheii de tip DEK, folosită pentru criptarea mesajului şi/sau pentru calculul MIC, criptată cu o cheie de tip IK, specifică pentru fiecare nume de destinatar. Reprezentarea este asociată cu câmpuri specifice din cadrul ID-ului expeditorului şi al destinatarului (definite în diferite forme pentru a se putea face distincţia între cazurile simetric şi asimetric), care permit fiecărui participant la schimbul de mesaje să identifice cheia de tip IK folosită pentru criptarea cheii de tip DEK şi/sau a valorii MIC.

Fiind dată o cheie de tip IK, un participant la schimbul de mesaje poate decripta reprezentarea DEK corespunzătoare, transmisă, extrăgând cheia de tip DEK cerută pentru decriptarea textului mesajului şi/sau pentru validarea valorii MIC. Definiţia unei chei de tip IK diferă în funcţie de tipul de criptare (simetrică sau asimetrică) folosit pentru criptarea cheii de tip DEK:2a. Când se foloseşte criptografia simetrică pentru criptarea cheii de tip DEK, cheia de tip IK este unică şi partajată între un expeditor şi un destinatar. În acest caz, aceeaşi cheie se foloseşte atât pentru criptarea valorii MIC cât şi pentru criptarea cheii de tip DEK. Pentru o construcţie corectă a unei chei de tip IK trebuiesc adăugate şi informaţii despre versiunea acesteia, despre termenul său de expirare, precum şi despre expeditor şi beneficiar.

2b. Când se foloseşte criptografia asimetrică, componenta IK, folosită pentru criptarea cheii de tip DEK, este componenta publică a destinatarului. Componenta IK folosită pentru criptarea valorii MIC este componenta secretă a expeditorului, motiv pentru care doar o singură reprezentare MIC criptată trebuie inclusă într-un mesaj, în loc de una pentru fiecare destinatar.

Fiecare dintre aceste componente IK poate fi evidenţiată într-un anumit câmp al ID-ului destinatarului, respectiv al expeditorului. Alternativ, o componentă IK a expeditorului poate fi determinată dintr-un certificat purtat într-un câmp de tipul "Originator-Certificate".

Pasii de prelucrareO procedura de transformare in patru pasi este aplicatapentru a reprezenta textul mesajului criptat intr-o formacare sa poata fi transmisa universal si care sa permitamesajelor criptate pe un anumit tip de calculator gazdasa fie decriptate pe un alt tip de calculator gazda. Un mesaj in text clar este acceptat in forma locala, folosind setul de caractere al gazdei, precum si reprezentarea in linie corespunzatoare. Forma locala este convertita intr-o reprezentare canonica a textului mesajului, echivalentacu reprezentarea inter-SMTP, a textului mesajului. Aceasta reprezentare canonica este obiectul pasului de calcul a valorii MIC (aplicabila mesajelor de tip ENCRYPTED, MIC-ONLY si MIC-CLEAR) si a procesului de criptare (aplicabil doar pentru mesajul criptat).

Page 82: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

5

Pentru mesaje de tipul ENCRYPTED PEM, reprezentarea canonica este segmentata de catre algoritmul de criptare si apoi se face criptarea. Textul criptat (pentru un mesaj criptat) sau forma canonicanesegmentata (pentru un mesaj de tipul MIC-ONLY) este apoi codat intr-o forma, care poate fi listata. Aceasta este compusa din caractere apartinand unui set restrans, care este ales astfel incat sa poata fi universal reprezentabil (de-a lungul site-urilor) si sa nu fie perturbat prin prelucrarea in cadrul sau intre entitati de tip MTS. Mesajele de tipul MIC-CLEAR PEM omit pasul de codare in forma listabila. Rezultatul pasilor de prelucrare anteriori este combinat cu un set de campuri de antet, care poarta informatie de control criptografic. Mesajul PEM rezultat este transmis sistemului de postaelectronica, pentru a fi inclus in portiunea de text a mesajului care se transmite.

Nu este necesar ca un mesaj PEM sa cuprinda in intregime portiunea de text a unui mesaj MTS; in acest fel informatia protejata PEM ar fi acompaniata de comentarii neprotejate. Este de asemenea permis, pentru mesaje PEM multiple (si pentru text neprotejat asociat, din exteriorul mesajului PEM) sa fie reprezentate, in cadrul textului incapsulat al unui mesaj PEM de nivel superior. Semnaturile mesajelor PEM sunt retransmisibile cand se foloseste managementul cheilor de tip asimetric; un destinatar autorizat al unui mesaj PEM (cu confidentialitate aplicata) poate reduce acest mesaj la o forma semnata dar necriptata, in scopul retransmiterii sau poate recripta acel mesaj pentru retransmitere ulterioara.

Cand se primeste un mesaj PEM, campurile de control criptografic, din antetul sau incapsulat, contin informatia necesara pentru a se face validarea valorii MIC si decriptarea, pentru fiecare destinatar autorizat. Pentru mesaje criptate sau de tipul MIC-ONLY, forma codatapentru a putea fi listata este convertita intr-un sir de biti. Portiunile criptate ale mesajului transmis sunt decriptate. Valoarea MIC este validata. Apoi procesul PEM de la receptie, converteste reprezentarea canonica in forma sa locala corespunzatoare.

In procesul de prelucrare a unui mesaj PEM receptionat pot aparea si pot fi detectate mai multe tipuri de erori. Actiunile specifice care trebuiesc efectuate ca raspuns la aparitia acestor erori sunt de natura locala, depinzand de preferintele utilizatorului si de tipul interfetei cu utilizatorul realizata in cadrul unei anumite implementari a PEM, dar pot fi date anumite recomandari generale. Mesajele PEM invalide din punct de vedere sintactic trebuie semnalizate, prin setarea unor anumite campuri. Este de preferat ca aceste semnalizari sa contina si colectii de informatii de diagnostic, necesare pentru a putea elimina incompatibilitatile si a depana alte defecte. In RFC 1422 sunt prezentate unele cerinte de prelucrare a erorilor, relevante pentru mecanismele de management al cheilor, bazate pe certificate.

Page 83: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

6

O grija deosebita trebuie acordata mesajelor PEM, valide din punct de vedere sintactic, dar care nu trec testul referitor la valoarea MIC, deoarece ele pot aparea ca urmare a unor atacuri care au falsificat mesajul. Nu este recomandabil ca sa fie afisat, de catre destinatar, continutul acestor mesaje, fara ca acesta sa fie avertizat in prealabil ca nu poate fi garantata autenticitatea si integritatea acestui continut si sa i se cearaconsimtamantul explicit pentru afisare. Si mesajele de tipul MIC-CLEAR trebuie sa sufere un tratament special, pentru ca si ele pot fi afectate de atacuri, care conduc la neverificarea valorii MIC.

Algoritmi de criptare, moduri si parametri

In RFC 1423 sunt prezentati algoritmii, modurile si identificatorii asociati, care se folosesc pentru criptarea textului mesajelor cu chei de tip DEK. Aceste mecanisme incorporeaza facilitati pentru transmiterea parametrilor criptografici (ca de exemplu vectori de initilizare pseudoaleatori, pseudorandom Initializing Vectors, IV) impreuna cu mesajele PEM la care li se aplica serviciul de confidentialitate, cand este cerut.Anumite operatii cer criptarea cheilor de tip DEK, a valorilor MIC si a semnaturilor digitale cu chei de tip IK, in scopul transmisiei. In campul unui antet se indicamodul in care cheia de tip IK este folosita pentru criptare. Documentul RFC 1423 specifica algoritmi de criptare si identificatori de mod precum si necesitati minimale de sprijin pentru procesul de criptare.

Documnetul RFC 1422 specifica modalitatile de management nesimetric al cheilor, bazate pe certificate, construite cu ajutorul recomandarii CCITT X.509. Procedurile de prelucrare a mesajelor pot fi folosite si cu management simetric al cheilor, furnizand apriori cheile de criptare simetrica, de tip IK, dar nu exista documente de tip RFC care sa specifice procedurile de distributie a cheilor care ar trebui folosite in acest caz.

Managementul cheilorCateva constructii criptografice sunt implicate in procedura de prelucrare a mesajelor PEM. Cheile de tip DEK se folosesc pentru criptarea textului mesajelor si in procesul de calcul al valorilor MIC. Cheile de tipul IK se folosesc pentru criptarea cheilor de tip DEK si a valorilor MIC pentru transmitere impreuna cu mesajele. Intr-o arhitectura de management asimetric al cheilor, bazatape certificate, acestea sunt folosite ca un mijloc de a evidentia componentele publice ale entitatilor precum si alte informatii, intr-un mod a carui securitate este asigurata de o autoritate centrala.

Page 84: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

7

Chei de tip DEKIn modul de management al cheilor de tip asimetric, cheile de acest tip se folosesc pentru a cripta valori MIC, in mesaje de tipul ENCRYPTED PEM. Se recomanda ca acest tip de chei sa fie generate si folosite o singura datapentru un anumit mesaj. Un mesaj transmis va incorpora o reprezentare a cheii de tip DEK, criptata, folosind o cheie de tip IK, pentru fiecare dintre destinatarii specificati. Generarea cheilor de tip DEK poate fi realizata, fie central, de catre centrul de distributie al cheilor, Key Distribution Center, KDC, fie de catre sistemele situate la capete. Sistemele KDC dedicate pot implementa algoritmi mai puternici decat sistemele de la capete, pentru generarea aleatoare a cheilor de tip DEK.

Pe de alta parte, descentralizarea face ca sistemele de la capete sa fie suficiente, reducand nivelul de incredere care trebuie avuta in componente externe, cuplului expeditor destinatar. Mai mult, generarea descentralizata a cheilor de tip DEK, facuta la cele douacapete, reduce frecventa cu care expeditorii trebuie safaca cereri, de timp real, la servere, pentru a putea transmite posta electronica, imbunatatind disponibilitatea de comunicare. Cand se foloseste managementul simetric de chei, un avantaj al genererarii centralizate, bazate pe servere KDC, este ca aceste chei (de tip DEK) pot fi returnate la capete deja criptate cu cheile de tip IK ale destinatarilor mesajelor in loc sa se genereze chei de tip IK ale expeditorilor. Aceasta reduce expunerea cheilor de tip IK si simplifica cerintele managementului de chei al capetelor.

Aceasta metoda are o valoare mai redusa daca se foloseste criptografia asimetrica pentru managementul cheilor, deoarece componenta publica a cheii de tip IK a destinatarului este disponibila iar componenta secreta a cehii de tip IK a expeditorului nu trebuie partajata cu serverul KDC.

Chei de tip IKPentru ca doi utilizatori principali sa se angajeze intr-un schimb util de mesaje PEM, folosind criptografia conventionala, ei trebuie sa posede o cheie de tip IK comuna (daca se foloseşte un management simetric al cheilor) sau componente complementare ale unei chei de tip IK (daca se foloseste un management asimetric al cheilor).

Cand se foloseste criptografia simetrica, cheia de tip IK este unica si se foloseste atat pentru criptarea cheii de tip DEK cat si pentru criptarea valorii MIC.

Page 85: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

8

Cand se foloseste criptografia asimetrica, o componenta a cheii publice a destinatarului este folosita pe post de cheie IK pentru a cripta cheia de tip DEK (aceasta va putea fi decriptatadoar de catre destinatarul care poseda cheia secretacorespunzatoare) si cheia secreta a expeditorului este folositapentru a cripta valoarea MIC (aceasta va putea fi decriptata de catre toti utilizatorii din reteaua respectiva, deoarece toti cunosc cheia publica a expeditorului, si deci si de catre destinatar, care va putea valida sau nu valoarea MIC respectiva).Cand se foloseste managementul asimetric bazat pe certificate, se foloseste (asa cum este descris în RFC 1422) functia Issuing Authority, IA, de catre o autoritate de certificare, Certification Authority, CA. Cand o autoritate IA genereaza si distribuie o componenta a unei chei de tip IK, se creaza si informatie asociata de control, pentru a specifica modul in care sa se foloseasca acea cheie de tip IK.

Pentru a selecta cheia de tip IK potrivita pentru criptarea unui anumit mesaj, expeditorul trebuie sa retinacorespondenta dintre componentele IK si destinatarii cu care acestea sunt asociate. Si termenul de expirare al cheii de tip IK trebuie retinut, pentru ca sa nu poata fi folosite chei expirate de catre atacatori.

Deoarece un mesaj poate fi trimis cu mai multe componente IK identificate, corespunzatoare la mai multi destinatari, procesul de tip UA, al fiecarui destinatar, trebuie sa determine componenta de tip IK care corepunde acelui destinatar. Mai mult, daca nu existacomponenta IK corespunzatoare in baza de date a destinatarului, cand soseste un mesaj, acel destinatar trebuie sa fie capabil sa identifice componenta IK cerutasi functia IA asociata.

Trebuie notat ca diferite chei de tip IK trebuie folosite pentru diferite mesaje schimbate de aceasi pereche de calculatoare aflate in comunicare. Se considera, de exemplu, un mesaj trimis de la A la B si un alt mesaj trimis (folosind metoda IK-per-list) de la A la o lista de posta electronica al carei membru este si B. Primul mesaj va folosi componentele IK asociate individual cu A si B iar cel de al doilea mesaj va folosi o componenta IK partajata intre membrii listei. Cand se transmite un mesaj PEM o indicatie referitoare la componentele IK folosite pentru criptarea cheii de tip DEK si a valorii MIC trebuie inclusa.

In acest scop campuri din antetele ID ale expeditorului si destinatarului trebuie sa contina unele dintre urmatoarele date:Identificarea autoritatii IA relevante,Identificarea unei entitati cu care o anumita componentaIK este asociata (identificator de entitate, Entity Identifier sau subcamp EI), Subcamp versiune-expirare.Documentul RFC 1422 defineste o arhitectura de management al cheilor bazata pe folosirea certificatelor cu chei publice, ca suport al procedurilor de criptare a mesajelor si de autentificare, definite in RFC 1421. Conceptul certificatelor cu chei publice este definit in norma X.509, arhitectura de fata fiind un caz particular al acestei norme.

Page 86: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

1

Pachetul de programe PGP, Pretty Good Privacy

• reprezintă o exemplificare a conceptului PEM. • a fost conceput de Phil Zimmermann.

Funcţionarea PGPPGP combină câţiva dintre cei mai buni parametri ai criptografiei simetrice şi asimetrice. Cand un utilizator criptează un text clar cu PGP, acesta comprimă prima dată textul în clar. Compresia creşte rezistenţa la atacuri de criptanaliză. Apoi PGP crează o cheie de sesiune care este folosită o singură dată. Această cheie este un număr aleator. Ea lucrează în acord cu un algoritm de criptare foarte sigur şi rapid pentru a cripta varianta comprimată a textului în clar. Rezultatul este textul criptat. De îndată ce datele au fost criptate, este criptată şi cheia sesiunii, folosindu-se cheia publică a destinatarului. Varianta criptată a cheii sesiunii este transmisă împreună cu textul criptat. Pentru decriptare se aplică operaţiile dscrise în ordine inversă. Destinatarul recepţionează mesajul PGP, îşi foloseşte cheia secretă pentru a reconstrui cheia sesiunii, pe care apoi programele PGP o folosesc pentru a decripta textul criptat.

CheiPGP memoreză cheile în două fişiere de pe hard disk-ul calculatorului gazdă. Unul dintre ele este folosit pentru cheile secrete iar celălalt pentru cheile publice. Acestea se numesc inele de chei keyrings. Dacă un utilizator îşi pierde cheia secretă, el nu va mai putea să decripteze nici un mesaj PGP pe care îl primeşte.

Page 87: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

2

Semnături digitaleSe folosesc pentru autentificarea sursei mesajului şi pentru verificarea integrităţii acestuia. Ele asigură şi nerepudierea mesajului. În figura următoare este exemplificat modul de inserare a unei semnături digitale.

În loc să se cripteze informaţia cu cheia publică a cuiva se foloseşte cheia secretă a utilizatorului. Dacă acea informaţie poate fi decriptată cu cheia publică a utilizatorului atunci înseamnă că a fost generată de către acesta.

PGP foloseşte funcţia hash MD-5 pentru a obţine un rezumat (message digest) al textului în clar pe care trebuie să-l semneze utilizatorul. Cu ajutorul acestui rezumat şi al cheii secrete a utilizatorului, acesta crează semnătura. PGP transmite împreună semnătura şi mesajul în clar. După recepţie destinatarul foloseşte PGP pentru a recompune rezumatul, verificând în acest fel semnătura. Mesajul în clar poate fi criptat sau nu. Semnarea unui text în clar este utilă dacă unii dintre destinatari nu sunt interesaţi sau nu sunt capabili să verifice semnătura. Atât timp cât se utilizează o funcţie hash sigură, nu există nici o posibilitate să se copieze semnătura cuiva dintr-un mesaj şi să se ataşeze într-un altul sau să se altereze un mesaj semnat. Cea mai mică modificare a unui document semnat va cauza insuccesul procesului de verificare a semnăturii.

Semnăturile digitale joacă un rol important în autentificarea şi validarea cheilor unor noi utilizatori PGP. În figura următoare se prezintă procesul de generare şi inserare a unei semnături digitale.

Certificate digitaleDupă cum s-a arătat la prezentarea algoritmului Diffie-Hellman, o problemă majoră a sistemelor de criptare cu cheie publică este vulnerabilitatea acestora la atacul de tip man-in-the-midle. De aceea în cazul acestor sisteme de criptare este vital ca utilizatorul să fie sigur că foloseşte o cheie publică, pentru criptarea datelor, care aparţine într-adevăr destinatarului mesajului şi nu este o cheie falsificată. Aşa cum s-a arătat la prezentarea sistemului Kerberos, în scopul eliminării cheilor falsificate, pot fi folosite certificatele digitale. Acestea permit autentificarea pe baza colaborării cu o a treia entitate de încredere.

Page 88: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

3

Un certificat digital este compus din trei elemente:- o cheie publică,- informaţie proprie (de identificare a utilizatorului),- una sau mai multe semnături digitale.

Scopul utilizării semnăturilor digitale într-un certificat este ca acesta să atesteze că informaţia proprie a fost verificată şi confirmată de o a treia entitate de încredere.Deci un certificat digital este o cheie publică la care se ataşează una sau două forme de identificare şi o aprobare de la o a treia entitate de încredere.

Distribuirea certificatelor

În cazul grupurilor mici se utilizează distribuirea manuală a certificatelor digitale. În cazul grupurilor mai mari trebuie să se folosească server-e de certificare, sau alte sisteme mai complexe, de tipul celor prezentate în capitolul destinat standardelor PKCS, ale firmei RSA. PGP recunoaşte două formate diferite de certificat:- certificate PGP,- certificate X.509.

Formatul de certificat PGPUn certificat PGP include (dar nu este limitat la) următoarea informaţie:- numărul de versiune PGP. Acesta identifică ce versiune de PGP a fost folosită la generarea cheii asociate la certificatul curent,

- cheia publică a certificatului. Partea publică a perechii de chei a utilizatorului, împreună cu algoritmul folosit împreună cu această cheie: RSA, Diffie-Hellman, algortim de semnătură digitală,

- partea de informaţie a certificatului. Este vorba despre informaţia de identificare a utilizatorului, cum ar fi numele său, fotografia sa, etc,

- semnătura digitală a distribuitorului de certificate. Se mai numeşte şi autosemnătură şi se construieşte folosind cheia secretă corespunzătoare cheii publice amintită mai sus,

- perioada de valabilitate a certificatului. Se specifică data de generare a certificatului precum şi data expirării sale,- algoritmul de criptare simetrică preferat pentru criptarea cheii (CAST, IDEA sau DES-triplu).

Page 89: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

4

Valabilitate şi încredereOrice utilizator poate confunda un certificat real cu unul fals. Valabilitatea exprimă gradul de încredere cu care trebuie considerat că un certificat a fost elaborat de o anumită autoritate. Când un utilizator s-a convins că un anumit certificat este valabil el poate semna copia acestuia cu una dintre cheile de pe inelul său de chei, pentru a-i confirma autenticitatea. După cum s-a arătat în paragraful în care a fost prezentat sitemul PEM, există autorităţi de autentificare a certificatelor, CA.

Nivele de incredere in PGPCel mai inalt nivel de incredere intr-o cheie, incredere implicita, este cel corespunzator perechii proprii de chei. PGP presupune ca daca un utilizator poseda o cheie secreta, el trebuie sa aiba incredere in actiunile efectuate pe baza cheii publice corespunzatoare. Orice cheie semnata cu ajutorul acestei chei publice este de incredere pentru acel utilizator. Exista trei niveluri de incredere care se poate acorda unei chei publice a unui alt utilizator:completa, marginala, neincredere.In consecinta exista si trei nivele de validitate:totala, marginala, nula.Pentru a considera o cheie valida, PGP pretinde fie o semnatura cu incredere completa fie doua semnaturi cu incredere marginala.

Revocarea certificatelorCertificatele digitale sunt folositoare doar atata vreme cat sunt valabile. Cand ele expira nu mai sunt valabile. Exista si cazuri cand este necesara revocarea unui certificat digital inainte de data expirarii sale. Orice entitate care a semnat un certificat, poate sa-si revoce propria semnatura de pe acesta, de indata ce are impresia ca informatia proprie si cheia publica nu mai sunt in corespondenta corecta sau ca a fost atacatacheia publica. În cazul certificatelor PGP poate fi revocat si intregul certificat (nu numai propria semnatura) de catre una dintre entitatile care l-a semnat. Un certificat PGP poate fi revocat doar de catre autoritatea care l-a eliberat sau de catre o entitate care a fost imputernicitade catre aceasta sa revoce certificate.

Comunicarea revocarii unui certificat

La revocarea unui certificat digital este important ca toti potentialii sai beneficiari sa fie informati. Pentru aceasta, in cadrul sistemului PGP se afiseaza certificatul revocat pe un server de certificare. In acest mod toti cei care doresc sa comunice cu utilizatorul a carui cheie publicaeste continuta in acel certificat sa poata sa fie avertizati ca acea cheie publica nu mai este valida. Pentru aceasta se folosesc liste de certificate revocate, Certificate Revocation List, CRL, publicate de catre CA. Certificatele revocate raman pe o astfel de lista doar pana la data expirarii lor. CA distribuie CRL, la utilizatori, periodic.

Page 90: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

5

ParoleCe este o parola de tip fraza ?

O parola de tip fraza este o varianta mai lunga de parolacare este folosita de catre un utilizator in scop de identificare. Aceasta este mai sigura impotriva atacurilor bazate pe forta bruta. PGP foloseste o parola de tip fraza pentru criptarea cheii unui utilizator pe propriul calculator. Nu este permis ca utilizatorul sa-si uite parola de tip fraza.

Impartasirea cheilor

Se spune ca un secret nu mai este secret daca este cunoscut de doua persoane. La fel este si in cazul unei chei secrete. Desi nu este recomandabil, uneori este necesar sa se utilizeze in comun chei secrete. In aceste situatii este recomandabil ca portiuni ale cheii secrete safie facute cunoscute cate unei persoane, astfel incat acea cheie sa poata fi folosita doar cu participarea tuturor acelor persoane.

Sisteme de tip firewallUn firewall este un sistem sau un grup de sisteme care impune o politică de control al accesului între două reţele. Metodele de implementare sunt variate dar în principiu dispozitivul de tip firewall poate fi privit ca şi o pereche de două mecanisme: unul de blocare a traficului de date şi celălalt de deblocare a acestui trafic.Denumirea de firewall a fost folosită pentru prima dată la sfârşitul anului 1980, pentru un dispozitiv de limitare a pagubelor. Pentru prima oară termenul firewall a fost folosit pentru a denumi un dispozitiv de securitate în anul 1987. O primă descriere a unui dispozitiv de acest tip a fost făcută în anul 1990.

Cel mai important atribut al unui astfel de dispozitiv este politica de control pe care o implementează. În absenţa unei astfel de politici utilizarea unui dispozitiv de tip firewall nu are sens. Este de asemenea de remarcat că dispozitivul de tip firewall impune politica sa, tuturor dispozitivelor din vecinătate. De aceea responsabilitatea administratorilor de reţea care programează dispozitivele de tip firewall este importantă pentru funcţionarea reţelelor pe care le conectează aceste dispozitive.

Dispozitivul de tip firewall al unei companii poate fi folosit şi pentru a obţine informaţii despre acea companie. Prin intermediul acestui dispozitiv pot fi publicate cataloage de produse, informaţii de uz general,…, dobândirea acestora putându-se face fără a accesa vreun server din reţeaua companiei considerate.

Page 91: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

6

Unele dispozitive de tip firewall permit doar traficul prin poştă electronică, protejând reţeaua de orice atac cu excepţia celor specifice pentru poşta electronică. Alte dispozitive de tip firewall realizează o protecţie mai puţin strictă, blocând doar serviciile despre care se crede că nu sunt suficient de sigure.În general dispozitivele de tip firewall sunt configurate pentru a proteja împotriva accesului neautentificat din lumea externă. Dispozitive de tip firewall mai elaborate blochează traficul dinspre exterior spre interior dar permit utilizatorilor din interior să comunice liber cu exteriorul. Dispozitivele de tip firewall sunt importante şi deoarece ele pot fi privite ca noduri în care poate fi impusă securitatea. De exemplu atacurile prin modem-uri pot fi respinse, dispozitivul de tip firewall comportându-se ca şi un înregistrator de convorbiri telefonice.

El inregistreaza mesajul transmis prin modem, verificasecuritatea acestuia si doar daca mesajul este sigur il transmite mai departe. Dispozitivele de tip firewall pot oferi administratorilor de retea si diferite informatii referitoare la traficul care le-a strabatut intr-un anumit interval de timp (tipul de trafic, numarul de incercari ilegale de a forta accesul, etc). Dispozitivele de tip firewall nu pot proteja impotriva atacurilor care nu trec prin ele. Date pot fi furate dintr-o anumita retea si prin acces direct (de exemplu pe o banda magnetica) sau prin intermediul modemurilor.

Pentru ca sa poata functiona corect, un dispozitiv de tip firewall trebuie sa reprezinte o parte a unei arhitecturi de securitate bazata pe o politica coerenta. Daca una dintre celelalte parti ale acestei arhitecturi de securitate nu functioneaza corect atunci arhitectura respectiva nu este sigura. Politica de securitate a unui dispozitiv de tip firewalltrebuie sa fie realista si sa reflecte nivelul de securitate din intreaga retea. De exemplu un calculator gazda care detine informatii clasificate ca secrete nu necesita un dispozitiv de tip firewall, pur si simplu acesta nu trebuie conectat in retea. De asemenea dispozitivele de tip firewall nu pot proteja impotriva atacurilor pornite din interiorul retelei.

Nici impotriva virusilor nu poate fi asigurata o protectie eficienta. Impotriva acestui tip de atacuri trebuie creatao politica speciala a intregii retele. Majoritatea virusilor sunt inoculati prin folosirea dischetelor si nu prin retea. In continuare se prezinta cateva adrese utile pentru informare in domeniul dispozitivelor de tip firewall:

http://www.net.tamu.edu/ftp/security/TAMU/http://www.cs.purdue.edu/coast/firewalls

Page 92: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

7

ImplementareExista cateva decizii, pe care trebuie sa le ia un administrator de retea in legatura cu instalarea unui dispozitiv de tip firewall. In primul rand trebuie cunoscut modul in care se doreste sa se opereze sistemul.E necesar ca administratorul de retea sa stie dacadispozitivul de tip firewall trebuie sa blocheze toate servicile care nu sunt absolut necesare pentru conectarea retelei respective la INTERNET sau dacaeste suficient ca dispozitivul de tip firewall sa ofere o cale obiectiva de dirijare a accesului. In al doilea rand administratorul de retea trebuie sa stie care este nivelul de monitorizare, redundanta si control necesare pentru reteaua considerata. Cel de al treilea este aspectul financiar.

Tipuri de dispozitive firewallDispozitivele de tip firewall pot fi clasificate dupa nivelul din

modelul de referinta OSI, la care actioneaza, in douacategorii:

dispozitive care actioneaza la nivelul retea,dispozitive care actioneaza la nivelul aplicatie.

Dispozitivele firewall care actioneaza la nivele inferioare (retea) sunt mai rapide dar asigura un nivel de securitate mai scazut.

Dispozitive firewall care actioneazala nivel retea

Aceste dispozitive iau decizii pe baza adreselor sursei si destinatiei precum si pe baza porturilor specificate, in adresele IP individuale. Un router obisnuit poate fi privit ca dispozitiv de tip firewall din aceasta categorie. Dispozitivele firewall care actioneaza la nivel retea moderne sunt din ce in ce mai complicate, in prezent acestea mentin informatii interne despre starea conexiunilor care trec prin ele precum si despre continutul anumitor siruri de date. Utilizarea unui astfel de dispozitiv este prezentata in figura urmatoare.

Accesul la si de la un singur calculator gazda este controlat cu ajutorul unui router care opereaza la nivelul retea. Singurul calculator gazda, amintit mai sus este un calculator gazda de tip Bastion, adica un calculator puternic aparat care realizeaza un nod cu securitate de nivel inalt pentru a rezista atacurilor. Dispozitivul de tip firewall din figura anterioara este numit screened host firewall.

Page 93: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

8

Dispozitivul din figura urmatoare se numeste screened subnet firewall. In cazul utilizarii unui astfel de sistem este controlat accesul spre si dinspre o intreaga retea cu ajutorul unui router care opereaza la nivel retea. Sistemul este similar cu un dispozitiv de tipul screened host, doar ca nu este vorba despre un singur dispozitiv ci despre o retea de dispozitive de tipul screened host.

Dispozitive firewall care actioneazala nivel aplicatie

Pot fi folosite ca si translatoare de adrese de retea deoarece traficul este dirijat intr-o singura directie, la un anumit moment de timp, dupa ce a trecut printr-o aplicatie care a mascat originea conexiunii initiate. Avand o aplicatie intr-un anumit sens, la un moment dat, in anumite cazuri pot fi afectate performantele retelei iar dispozitivul de tip firewall poate deveni mai putin transparent. Dispozitivele de tip firewall mai moderne, cu actiune la nivelul aplicatie, cum sunt cele construite folosind sistemul de generare a dispozitivelor firewall (toolkit) TIS, nu sunt absolut transparente la nivelul utilizatorilor de la capete si pot necesita o perioada de antrenament.

Cele mai moderne dispozitive de tip firewall sunt perfect transparente. Dispozitivele de tip firewall care actioneazala nivel aplicatie tind sa asigure un nivel de securitate mai ridicat decat cele care actioneaza la nivel retea. Un exemplu de dispozitiv de tip firewall din aceasta categorie este prezentat in figura urmatoare. El este numit dual horn gateway. Este vorba despre un calculator gazda cu un nivel de securitate sporit care ruleaza software de tip proxy. Are doua interfete cu reteaua si blocheaza complet traficul care il strabate. Viitorul dispozitivelor de tip firewall se va gasi undeva

intre categoria care actioneaza la nivelul retea si categoria care actioneaza la nivelul aplicatie. Vor fi dispozitive care vor asigura un nivel de securitate mai mare decat dispozitivele care actioneaza la nivelul retea si au o transparenta mai mare decat dispozitivele care actioneaza la nivelul aplicatie.

Page 94: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

9

Din ce in ce mai des dispozitivele de tip firewall apeleazala metode de criptare pentru protejarea datelor care le strabat. Dispozitivele de tip firewall cu criptare capat la capat pot fi folosite de organizatii care au mai multe puncte de conectare la INTERNET, in acest fel administratorii de retea ai acestor oraganizatii, netrebuind sa-si mai faca griji pentru protectia datelor sau parolelor calculatoarelor organizatiilor lor.

Server-e proxyUn server proxy este o aplicatie care mediaza traficul intre o retea protejata si INTERNET. De obicei astfel de server-e se utilizeaza in locul controloarelor de trafic bazate pe router-e, pentru a preveni traficul direct intre retele diferite. Multe server-e proxy contin programe pentru autentificarea utilizatorului. O categorie populara de sever-e proxy este TIS, Internet Firewall Toolkit, care include server-e proxy pentru protocoalele: Telenet, rlogin, FTP, X-window, HTTP/Web si NNTP/Usenet. Un alt sistem de server-e proxy este numit SOCKS. Acesta poate fi compilat intr-o aplicatie de tip client pentru a fi facut sa lucreze printr-un dispozitiv de tip firewall.

Resurse critice intr-un dispozitiv de tip firewall

Resursele critice ale unui dispozitiv de tip firewall tind savarieze de la site la site in functie de trafic. Oricum una dintre cele mai importante resurse este capacitatea de memorare a unui astfel de dispozitiv, mai ales atunci cand debitul traficului este ridicat. In tabelul urmator se prezinta cateva dintre resursele critice pentru servicile de tip firewall in functie de principala aplicatie a acestora.

Serviciu Resursa criticăPoştă electronică Dispozitive I/O pentru hard-disck

Reviste electronice Netnews Dispozitive I/O pentru hard-disckNavigaţie Web Performanţele socket-ului sistemului de operare al

calculatorului gazdăDirijare IP Performanţele socket-ului sistemului de operare al

calculatorului gazdăWeb Cache Performanţele socket-ului sistemului de operare al

calculatorului gazdă, Dispozitive I/O pentru hard-disck

Diferite tipuri de atacTraficul dirijat de sursa

In mod normal drumul pe care il parcurge un pachet de date intre sursa si destinatia sa este fixat de catre router-ele pe care le intalneste in cale. Pachetul contine doar adresa destinatiei. Exista insa o optiune pentru expeditorul de pachete de a include informatii in pachet care sa specifice drumul pe care trebuie sa meargapachetul respectiv. În acest mod se realizeaza dirijarea traficului de catre sursa. Aceasta metoda de dirijare nu este agreata de catre dispozitivele de tip firewall, deoarece un atacator poate genera trafic declarand caacesta a fost creat de catre un sistem din interiorul dispozitivului de tip firewall. Un astfel de trafic nu poate fi dirijat corect de catre dispozitivul de tip firewall deoarece toate router-ele situate intre calculatorul atacatorului si tinta vor returna traficul pe calea inversa a drumului "indicat" de catre sursa (deci tot acest trafic fals va fi indreptat spre dispozitivul de tip firewall).

Page 95: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

10

Deoarece implementarea unui astfel de atac este foarte simpla, constructorii de dispozitive de tip firewall nu trebuie sa accepte ca acest tip de dirijare sa fie folosit. La constructia unui dispozitiv de tip firewall trebuie blocata intr-un anumit punct dirijarea traficului de catre sursa.Redirectionare ICMP O redirectionare ICMP informeaza un anumit router catrebuie sa modifice ceva in tabelul sau de dirijare. In acest fel pot fi evitate de exemplu drumurile blocate (din cauza ca, de exemplu, un router de pe acele drumuri s-a defectat, sau este congestionat). E clar ca prin falsificarea mesajelor de redirectionare ICMP poate fi atacat un anumit router si traficul prin acesta blocat. Redirectionarea ICMP poate fi folosita si pentru realizarea unor atacuri de tip negarea serviciului, service denial. De aceea multe dispozitive de tip firewall nu iau in considerare mesajele de redirectionare ICMP.

Negarea serviciuluiEste imposibil, in INTERNET, sa se pareze un atac

de tipul negarea serviciului, datorita naturii distribuite a acestei retele. Un dispozitiv de tip firewall poate avea control doar asupra catorva elemente locale, atacul de tip negarea serviciului putandu-se oricand declansa de la distanta mai mare.

Saturarea server-ului SMTP Un atacator poate trimite numeroase copii ale unui

aceluiasi mesaj la o lista de adrese e-mail. Aceasta listatransmite mesajele unui server SMTP pentru a le livra destinatarilor. In acest mod acel server poate fi saturat.Exploatarea greselilor din softul de aplicatieMajoritatea programelor de aplicatie folosite pentru reteaua INTERNET contin mici greseli, bugs. Acestea pot fi utilizate pentru atacarea servicilor implementate de aplicatiile respective. Expunerea la acest risc poate fi redusa prin limitarea la folosirea doar a servicilor strict necesare si utilizarea acelor programe de implementare a acestor servicii care s-au dovedit in timp cele mai fiabile si sigure. Aceleasi considerente sunt valabile si pentru sistemele de operare.

Produse de tip firewallProdus Producător

Black Hole MilkywayBorderWare Border Network TechnologiesBrimstone SOS Corp

CENTRISecure Internet Gateway Cohesive SystemsCiscoWorks Cisco SystemsCyberguard Harris Computer Systems

Data Privacy Facility Network Systems CorporationEagle Raptor Systems

Firewall-1 CheckPoint Software TechnologiesGauntlet TIS

GFX-94 Internet Firewall Global Technology AssociatesHSC GateKeeper Herve Schauer ConsultantsInterceptor TechnologicInterlock ANSIRX Router Livingston EnterprisesKarlBridge KarlNetNetGate Smallworks

NetLOCK(tm) HughesNetRanger WheelGroupNetSeer EnterWorks.com

Netra Server SunNetSP IBM

Private Internet Exchange Network TranslationPORTUS LSLISEAL Digital

Secureconnect Morning StarSidewinder Secure Computing CorporationSite Patrol BBN Planet CorpSmartWall V-ONE

SunScreen SPF-100 Sun Internet Commerce GroupTurnstyle Firewall System Atlantic Systems GroupTiny Personal Firewall TINY Software

Page 96: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

1

Doua solutii de firewall

Propuse in proiectele de diploma ale studentilor Bogdan Corina si Boca Tudor, care au absolvit in 2007.

Concepte de bază

• Securitatea, o necesitate;• Ce este un firewall?• Care este scopul unui firewall?• Direcţii de utilizare.

Sisteme de protecție cu firewall

Prezentare firewall: Politica de securitate pentru un firewall:

permite orice acces;interzice orice acces.

Sisteme de protecție cu firewall

Page 97: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

2

Pricipii de bază în proiectarea unui firewall

1. Definirea nevoilor;Rolul concret,Ce servicii oferă ?Grupuri de utilizatori protejaţi şi gradul de protecţie,

2. Evaluarea produselor disponibile pe piaţă;

3. Îmbinarea pricipiilor în vederea obţinerii unei soluţii convenabile.

Filtru de pachete

Sisteme de protecție cu firewall

Modulul IPTABLES• Ce este un filtru de pachete?Un filtru de pachete este o

bucăţică de software care se uită la antetul pachetelor pe măsură ce ele intră şi decide soarta întregului pachet. Acest filtru poate să decidă să ignore pachetul (DROP), să îl accepte (ACCEPT) sau poate să ia alte decizii mai complicate.

Tabele: Mangle, Filter, NAT;În IPTABLES există trei tabele. Fiecare tabelă conţine anumitelanţuri (chains): PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING.

Page 98: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

3

Lanţuri: Prerouting, Input, Forward, Output, Postrouting;Un lanţ este o listă de verificare cu reguli. Fiecare regulă spune "dacă antetul pachetului arată aşa, atunci iată ce să faci cu pachetul". Dacă regula nu se potriveşte cu pachetul, atunci următoarea regulă din lanţ este examinată. În final, dacă nu mai exista reguli de examinat, kernel-ul Linux se uită la politica acelui lanţ pentru a decide soarta pachetului.

Ţinte, salturi;Fiecare regulă sau set de reguli are o ţintă. Dacă o regulă se potriveşte, ţinta ei specifică ce se va întâmpla cu acel pachet. Există două ţinte foarte simple incluse: ACCEPT şi DROP. Există şi specificaţii de tipul jump (salt). Această instrucţiune se foloseşte când ţinta unui pachet este un alt lanţ.

Sintaxa unei reguli:Iptables [-t tabela] comandă lanţ [identificatori][ţintă/salt]

Sisteme de protecție cu firewall

Structura standard de directoare a sistemului Linux

root@tudi‐desktop:~#/|‐‐bin|‐‐boot|‐‐dev|‐‐etc|‐‐home|‐‐lib|‐‐mnt|‐‐opt|‐‐proc|‐‐root|‐‐sbin|‐‐sys|‐‐tmp|‐‐usr|‐‐var

Serverul FTP

Sisteme de protecție cu firewall

Pentru a crea un server FTP pe un sistem LINUX/UNIX trebuie mai întâi să-l instalăm din System> Administration> Synaptic Package Manager. Serverul current instalat se numeşte proftpd.

Page 99: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

4

Pentru a descărca pachetele trebuie să ne logăm în modul root de administrare, mod ce conferă drepturi depline pentru instalare sau dezinstalare de programe sau aplicaţii. Proftp-ul este instalat default în fisierul /etc adică /etc/proftpd.conf. Pentru instalare într-o fereastră Terminal din Application> Accessories, logaţi ca root trebuie dată comanda:

sudo apt-get install proftpd Conectarea la serverul FTP

Sisteme de protecție cu firewall

Copierea de informaţii

Sisteme de protecție cu firewall

Conexiunile stabilite pe serverul FTP

Sisteme de protecție cu firewall

Page 100: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

5

Oprirea din firewall a unei conexiuni

Sisteme de protecție cu firewall

Arhitectura reţelei studiate

• Reţeaua perimetru (DMZ):– SVN (Subversion);– LDAP (Lightweight

Directory Access Protocol);

– AS (Application Server);

• VPN (Virtual Private Network).

Soluţia propusă

• Gateway-ul :-este un calculator cu

cel puţin două interfeţe,

-poate dirija pachetele dintr-o reţea în alta.

• Motivaţie: reţeaua este de dimensiuni mici.

Arhitectură de tip Dual-homed gateway

Pricipiul de functionare al firewall-ului

• Configuratia retelei;

• Tabela MANGLE;• Tabela NAT;• Tabela Filter;• Lanturi definite:

Vpn-cust,Vpn-stuff.

Page 101: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

6

Rezultate experimentale• Produse software utilizate pentru testare:

-Ethereal,-Network Mapper (Nmap).

Ethereal este un software folosit pentru analiza traficului. Acesta esteun analizor de retea care permite vizualizarea tuturor pacheteloratunci cand se face trafic. Se pot:- face capturi de pachete,-defini filtre pentru pachete prin expresii logice, in functie de protocol, timp etc.

Pe baza acestor capturi se genereazagrafice cu evolutia in timp a pachetelor.

Datele pot fi capturate in timp real din Ethernet, FDDI (Fiber Distributed Data Interface), PPP, Token-Ring, IEEE 802.11 (standardul pentru LAN Wireless) si interfete loopback. Suporta peste 700 de protocoale.

Page 102: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

7

Nmap este un tool open-source folosit pentruexplorarea retelei si audit de securitate. Design-ul sau permite scanarea rapida chiarsi a retelelor de mari dimensiuni, darfunctioneaza foarte bine si pentru un singurcalculator gazda. Nmap utilizeaza pachete IP brute pentru a determina ce host-uri suntdisponibile intr-o retea, ce servicii (nume de aplicatii si versiuni) ofera aceste host-uri, cesisteme de operare ruleaza, ce tipuri de filtrede pachete sunt in uz si multe altecaracteristici.

[root@krishna ~]# nmap -sS 86.125.29.227Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2007-05-20

20:20 EESTInteresting ports on 86-125-29-227.oradea.rdsnet.ro (86.125.29.227):Not shown: 1676 closed portsPORT STATE SERVICE22/tcp open ssh53/tcp open domain80/tcp open http199/tcp open smuxNmap finished: 1 IP address (1 host up) scanned in 0.615 seconds

Nmap este foarte util pentru operatiuni ca: inventarierearetelei, monitorizarea host-urilor şi determinarea timpuluide functionare a serviciilor (uptime).

Iesirea este o lista de tinte scanate, cu diferite informatii suplimentare, in fuctie de optiunile utilizate. In tabela vorfi listate numarul portului, protocolul, numele serviciului si starea. Starea poate fi: deschis (open), filtrat (filtered), inchis (closed) sau nefiltrat (unfiltered). Deschisinseamna ca o aplicatie de pe masina tinta asculta pe un port. Filtrat inseamna ca un firewall, filtru sau alt obstacolblocheaza portul. Porturile inchise nu au aplicatii care sale asculte.

-Ping flood,-Syn flood,-Scanare porturi de pe masina pe care e instalat firewall-ul,-Scanare porturi de pe o masina aflata in exteriorul retelei,-Scanare UDP.

Tipuri de teste aplicate firewall-ului implementat

Page 103: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

8

Ping flood este incercarea de inundare cu pachete ICMP echo-request. In firewall exista o regula prin care se limiteaza rata de raspuns echo-reply, la pachetele de tip request.

Ecranul analizorului de protocoale Ethereal in cazul unui atac de tip ping flood, in absenta unui firewall.

Ping Flood

• Regula din firewall prin care se limiteaza rata de raspuns:

Iptables -A INPUT -p icmp -m limit --limit-burst 10 --limit 1/sec -j ACCEPT,

Limitare pachete “echo-reply” Inundare cu pachete “echo-request”

Syn floodAtacul Syn Flood decurge in felul

urmator:Atacatorul (simbolizat prin omulgri) trimite mai multe pachete SYN, dar nu trimite server-ului inapoimesajul ACK. Conexiunea estedeci semi-deschisa, consumandresursele server-ului.Un utilizator oarecare, legitim, (simbolizat prin femeia in rosu) incearca sa se conecteze, insaserverul refuza sa deschidaconexiunea, rezultand astfeldenial-of-service.

Page 104: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

9

Daca in firewall se introduce o regula de limitare a raspunsului, la o rata de 5 mesaje pe secunda, aceasta situatie va fi evitata. De ce? Filtrul token bucket (TBF) va contine atatea jetoane cates-au impus prin parametrul burst, 10 în acest caz. Adica primele 10 pachete care sosesc vor primijetoane, având dreptul sa mearga mai departe. Apoi fiecare pachet care soseste, va primi un jetontot la 5 secunde, deci indiferent daca exista cereride conexiune, sistemul nu poate sa raspundadecat la acest interval, limitandu-se astfelinundarea cu pachete SYN.

SYN Flood

• Regula din firewall prin care se impiedica un atac DoS:

Iptables -p TCP -syn -m limit --limit-burst 10 --limit 5/sec -j ACCEPT.

Atac Denial-of-Service.Respingerea unui atac de tip Denial-of-Service.

Scanare de porturi de pe masina pe care e instalat firewall-ul

Din consola de Linux, cu privilegii de root, se da urmatoarea comandaNmap:

[root@krishna ~]# nmap -sS 86.125.29.227Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2007-05-20

20:20 EESTInteresting ports on 86-125-29-227.oradea.rdsnet.ro (86.125.29.227):Not shown: 1676 closed portsPORT STATE SERVICE22/tcp open ssh53/tcp open domain80/tcp open http199/tcp open smuxNmap finished: 1 IP address (1 host up) scanned in 0.615 secondsSe observa ca exista 4 porturi deschise: ssh, DNS, HTTP şi SMUX

(protocol SNMP de multiplexare).

Scanare porturi de pe o masina aflata in exteriorul retelei

Se da aceeasi comanda ca in exemplul de mai sus.Rezultatul va fi urmatorul:Initiating SYN Stealth Scan against 86.125.29.227 [1663 ports] at 13:47Discovered open port 22/tcp on 86.125.29.227SYN Stealth Scan Timing: About 3.52% done; ETC: 14:01 (0:14:01 remaining)SYN Stealth Scan Timing: About 62.93% done; ETC: 14:10 (0:08:35 remaining)The SYN Stealth Scan took 1377.45s to scan 1663 total ports.Host 86.125.29.227 appears to be up ... good.Interesting ports on 86.125.29.227:(The 1661 ports scanned but not shown below are in state: filtered)PORT STATE SERVICE1723/tcp closed pptpNmap finished: 1 IP address (1 host up) scanned in 1377.487 secondsInterpretarea scanarii:Portul SSH este deschis, deoarece conexiunea la masins s-a facut de catre un

utilizator autentificat (user/parola). Restul porturilor sunt inchise, asa cum si trebuie ele sa apara pentru un utilizator care este in exterior.

Page 105: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

10

Scanare UDPDesi cele mai multe servicii in Internet folosesc protocolul

TCP, serviciile UDP sunt de asemenea foarte utilizate. DNS (Domain Name System), SNMP (Simple Network Management ) şi DHCP (Dynamic Host Configuration Protocol) sunt cele mai cunoscute. Acest tip de scanareeste mult mai lenta decat cea TCP, dar este foarte utiladeoarece un atacator sigur nu va ignora acest protocol.

Scanarea functioneaza in felul urmator: se trimite un antetUDP la portul tinta. Daca se returneaza o eroare ICMP unreachable (tip 3, cod 3), portul este inchis. Alte eroriICMP (tip 3, cod 1,2,9,10 sau 13) marcheaza portul ca fiind filtrat. Daca nu se primeste nici un raspuns, portuleste clasificat ca fiind deschis|filtrat. Acest lucruinseamna ca portul poate fi deschis sau ca un filtru depachete blocheaza comunicatia.

Scanare UDP din interiorul retelei, cu privilegii de root

Se ruleaza urmatoarea comanda cu Nmap: [root@krishna tmp]# nmap -sU gwRezultatul scanarii este:Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2007-05-20 22:30 EESTInteresting ports on 10.0.0.1:Not shown: 1479 closed portsPORT STATE SERVICE53/udp open|filtered domain67/udp open|filtered dhcps68/udp open|filtered dhcpc123/udp open|filtered ntp137/udp open|filtered netbios-ns138/udp open|filtered netbios-dgm161/udp open|filtered snmp32768/udp open|filtered omadNmap finished: 1 IP address (1 host up) scanned in 1.808 secondsInterpretarea scanarii: Se observa ca porturile 53 (DNS), 67 (DHCPS), 68 (DHCPC),

123 (NTP-Network Time Protocol), 137 (NetBios-NS), 138 (NetBios-DGM) si 161 (SNMP) sunt in starea open|filtered, ceea ce inseamna ca exista un mecanismde filtrare (firewall-ul). Deci regulile de filtrare din firewall functioneaza corect.

Scanare din exteriorul reteleiComanda Nmap este urmatoarea:[root@localhost ~]# nmap -vv -sU -F 86.125.29.227 -P0Aceasta este o scanare rapida (specificata prin parametrul -F), iar prin parametrul -PO sespecifică comanda "No Ping" (pentru a trece peste testul de "descoperire host").Rezultatul scanarii:Initiating SYN Stealth Scan against 86.125.29.227 [1663 ports] at 13:47Discovered open port 22/tcp on 86.125.29.227SYN Stealth Scan Timing: About 3.52% done; ETC: 14:01 (0:14:01 remaining)SYN Stealth Scan Timing: About 62.93% done; ETC: 14:10 (0:08:35 remaining)The SYN Stealth Scan took 1377.45s to scan 1663 total ports.Host 86.125.29.227 appears to be up ... good.Interesting ports on 86.125.29.227:(The 1661 ports scanned but not shown below are in state: filtered)PORT STATE SERVICE22/tcp open ssh1723/tcp closed pptpNmap finished: 1 IP address (1 host up) scanned in 1377.487 secRaw packets sent: 3509 (140KB) | Rcvd: 3392 (156KB)Interpretare:Singurul port care apare deschis este SSH, dar acest lucru este normal deoarece conexiunea s-a

facut prin SSH, însa in mod autorizat (user/parola), pentru a putea efectua testul de la distanta (nu din reteaua locala). In cazul in care un atacator ar incerca o astfel de scanare, nu ar reusi, deoarece mai intai trebuie sa se conecteze la masina şi nu poate face acest lucrudecat daca obtine (in mod fraudulos) un user şi o parola.

Concluzii

Sisteme de protectie cu firewall

Tot traficul de date dinspre si inspre Internet trebuie filtrat;

Este mai bine de securizat o masina care le va proteja pe celelalte;

Un firewall poate sa monitorizeze caile de patrundere in reteaua privata, permitand un buncontrol al traficului si deci o mai usoara detectare a incercarilor de infiltrare.

Page 106: Securitatea reţelelor - tc.etc.upt.ro · PDF file1 Securitatea reţelelor ETc, UPT, 2011 Capitolul 1. Scopurile securităţii calculatoarelor şi reţelelor •Să asigure cofidenţialitatea

11

• Un firewall poate:– Monitoriza caile de acces in reteaua privata,– Selecta accesul in spatiul privat pe baza

informatiilor din pachete,– Izola spaţiul privat de cel public.

• Un firewall NU poate:– Interzice exportul/importul de informatii

daunatoare vehiculate ca urmare a actiunilor rautacioase ale utilizatorilor din spatiul privat,

– Sa apere reteaua privata de utilizatori care folosesc sisteme fizice mobile (USB Stick, discheta, CD, etc.).