240 likes | 327 Views
Procedee de cifrare uzuale în Internet. Student: Zamfir Narcis 25.05.2010. De ce e nevoie de criptografie ?. Calculatoarele sunt folosite la: – Sisteme bancare – Cumparaturi (online) – Baze de date private sau publice – In scopuri militare/guvernamentale – In scopuri personale
E N D
Procedee de cifrare uzuale în Internet Student: Zamfir Narcis 25.05.2010
De ce e nevoie de criptografie? • Calculatoarele sunt folosite la: • – Sisteme bancare • – Cumparaturi (online) • – Baze de date private sau publice • – In scopuri militare/guvernamentale • – In scopuri personale • Spatiu personal (chiar si pe calc. personale) • Securitatea trasmisiilor
Aspecte de baza: Filtrare • Securitateprinfiltrareaaccesului(controlulrutarii) • WAN (Internet) : Firewall • LAN : filtrareadrese MAC (inclusivretele wireless) • VPN (ReteleVirtuale Private) • Altele
Aspecte de baza: Criptare • O schemă de criptare convenţională este alcătuită din cinci elemente: • Textul clar: Acesta este mesajul original sau informaţia de intrare pentru algoritmul de criptare. • Algoritmul de criptare: Acest algoritm execută diferite substituţii şi transformări asupra textului clar. • Cheia secretă: Această cheie este o intrare pentru algoritmul de criptare. • Textul cifrat: Este textul rezultat din algoritmul de criptare. El depinde de textul clar şi de cheia secretă. Pentru un mesaj dat, două chei secrete diferite produc două texte cifrate diferite. • Algoritmul de decriptare: Acesta este algoritmul invers algoritmului de criptare. Alg. de decriptare este aplicat textului cifrat şi aceleaşi chei secrete pentru a obţine textul clar original.
Categoriisisteme de Criptare/Cifrare • In functie de tipuloperatiilorfolosite: • Bazatepesubstitutii • Bazatepetranspuneri • In functie de tipul de cheifolosite • SistemeSimetrice (single-key, secret-key, private-key) • SistemeAsimetrice(two-key, public-key) • Metodaprin care datelesuntprocesate: • Cu cifruri bloc • Cu cifruri “stream” (continue)
Exemple de CriptosistemeSimetrice • Data Encryption Standard (DES): • Cifrubloc,lucreaza cu blocuri de 64-bitisi utilizeaza o cheie de 56-biti • A fostspart in1998 cu“Deep Crack.” • Advanced Encryption Standard (AES): • Blocuri de 128-bitisi cheide128, 192 si 256-biti. • Triple-DES: • Criptare tripla cu o cheie de 56-biti. • CifrurileRivest: • AlgoritmiiRC2, RC4, RC5 siRC6,dezvoltati de RonRivestsi RSA Security, Inc.
Algoritmul DES • Cifrarea constă din trei categorii de prelucrări care se fac asupra blocului cu text clar de la intrare: • 1. Blocul de date este supus unei permutări iniţiale, IP. • 2. Blocul permutat trece printr-un calcul complex care depinde de cheie şi care constă din 16 iteraţii funcţional identice. Considerând cei 64 biţi ai unui bloc supuşi unei iteraţii “i”, se notează cu Li-1 şi Ri-1 cele două jumătăţi de 32 de biţi, stînga şi dreapta, care-l compun. Fie ki cheia pentru iteraţia “i” şi un bloc de 48 de biţi aleşi din cei 56 de biţi ai cheii. Prelucrările unei iteraţii sunt: Li = Ri-1 Ri = Li-1 ⊕ f(Ri-1 ,Ki) • 3. Ultima iteraţie este diferită de celelalte, fiind definită de ecuaţiile: L16 = R15 R16 = L15 ⊕ f(R15 ,K16).
Algoritmul AES • Creat de Rijmen‐Daemen in Belgia • Algoritmul de decriptare diferit fata de cel de criptare • 128/192/256‐bit keys, 128 bit data • Se vrea sa fie: • rezistent • rapid • simplu
Sisteme Asimetrice(Neconventionale) • Trebuiesc respectate urmatoarele conditii: 1. B poate uşor să genereze cheia publică PB şi cheia privată SB. 2. Emitătorul A, ştiind cheia publică a lui B şi mesajul clar M, poate să genereze textul cifrat corespunzător: C = EPB(M) 3. Receptorul B poate uşor să decripteze textul cifrat C: M = DSB(C) = DSB(EPB(M)) 4. Un atacator care ştie PB nu poate să determine cheia privată SB 5. Un atacator care ştie cheia publică PB şi textul cifrat C nu poate să determine mesajul original M
Criptosistemul RSA • Prima schemă criptografică cu chei publice a fost realizată în anul 1977 de către Ron Rivest, Adi Shamir şi Len Adleman de la MIT. • Schema Rivest-Shamir-Adleman (RSA) este cea mai răspândită şi implementată schemă din lume. • Generarea cheilor: • 1. Se selectează două numere întregi prime p şi q. • 2. Se calculează produsul n=p*q. • 3. Se calculează indicatorul lui Euler Φ(n)=(p-1)*(q-1). • 4. Se selectează un număr întreg e astfel încât c.m.m.d.c.(Φ(n),e)=1, 1<e<Φ(n). • 5. Se calculează d astfel încât d = e-1 mod Φ(n). • 6. Cheia publică este (e,n), iar cheia privată este d.
Criptosistemul RSA • Algoritmul de criptare: • Presupunem că un utilizator A are cheia publică (e,n) şi cheia privată d. • Utilizatorul B criptează mesajul M pentru a fi transmis la A astfel: • 1. Obține cheia publică (e,n) a lui A. • 2. Transformă mesajul ce va fi criptat într-un număr întreg M în intervalul [0,n-1]. • 3. Calculează C = Me (mod n). • 4. Trimitetextulcifrat C la utilizatorul A. • Algoritmul de decriptare: • Pentru a determinatextulclar M din textulcifrat C, utiliz. A calc.: M = Cd(mod n). • Numai utilizatorul A cunoaste cheia privata d.
Criptosistemul RSA Exemplu: -Se generează mai întâi cheile: 1. Se selectează două numere prime p = 7 şi q = 17. 2. Se calculează n = p*q = 7*17 = 119. 3. Se calculează Φ(n) = (p-1)*(q-1) = 96. 4. Se alege e a. î. e este relativ prim cu Φ(n) = 96. În acest caz e = 5. 5. Se determină d astfel încât d*e = 1 mod 96 şi d<96. Avem d = 77, deoarece 77*5 = 385 = 4*96+1. 6. Cheia publică este (5,119), iar cheia privată este 77. -Se consideră că textul clar este M =19. -Textul criptat va fi C = 195 mod 119 = 2476099 mod 119 = 66. -Pentru decriptare se calculează 6677 mod 119 = 19 mod 119.
Ce s-a spart : DES • Securitatea algoritmului DES depinde de algoritmul în sine şi de utilizarea cheii de 56 de biţi. • De-a lungul timpului, algoritmul DES a fost cel mai studiat algoritm de criptare, atât prin diversele lucrări care au apărut, dar şi prin rezultatele practice efectuate. • Un interes deosebit este manifestat asupra lungimii cheii. • In 1998, Electronic Frontier Foundation (EFF) a anunţat că cifrul DES a fost spart folosindu-se un calculator special care a costat 250000$. • Atacul a durat mai puţin de trei zile. • Dacă un cracker poate executa un milion de decriptări pe milisecundă, atunci codul DES poate fi spart în aproape 10 ore.
Ce s-a spart: RSA • Din punct de vedere matematic, există 3 atacuri asupra RSA: • 1. Factorizarea numărului n în factori primi p şi q. Se poate astfel determina Φ(n) = (p-1)*(q-1), iar apoi d = e-1 (mod Φ(n)). • 2. Determinarea lui Φ(n) direct, fără a determina mai întâi p şi q. Şi în acest caz se poate determina apoi d = e-1 (mod Φ(n)). • 3. Determinarea lui d în mod direct, fără a determina mai întâi Φ(n). • Determinarea lui Φ(n) este echivalent cu factorizarea numărului n, iar determinarea lui d (ştiind doar pe e şi n) se face într-un timp tot aşa de mare ca şi factorizarea lui n. • Securitatea RSA se bazează pe dificultatea factorizării unui număr întreg în factori primi. • RSA cu lungimeacheii de 1024 biți (aproximativ 300 cifre ) esteconsideratdestul de puternicpentruaplicațiileactuale.
Ce s-a spart: RSA • se estima ca poatefispartnumaiprin brute force intr-o perioada de timp de: 1500 de ani. • treicercetatori de la Universitatea din Michigan spun ca au reusitsa "pacaleasca" celebrulalgoritmprintr-o metoda "simpla": au variattensiunea de alimentare a procesoruluiintr-un mod determinat, pentru a genera o singuraeroarepetactul de frecventa, ceeace le-a permissaciteascamodificarisuccesive de cate un bit ale cheii private, reusindastfelsagaseascaparola. • cand l-au spart au avutnevoiepelangacalculatorulfolositpentrucriptare, au maiavutnevoie, pentruprocesareasiinterpretareadatelor, de un cluster de 81 de calculatoare Pentium 4 si 104 ore de munca.
Concluzii • S-au spart : • DES 56 (sialtevariante ale lui) • AES 256 (brute force cu parole mici) • RSA 1024 (exploit hardware) • Nu s-au spart (dar se pot spargebruteforce cu supercomputereintr-un timp “rezonabil”): • Blowfish • Twofish • Kerberos
Intrebari? • Bibliografie • Securitatea in mediul internet [prof. Cezar A., Ed. Tehnica] • Wikipedia.org • Introducere in criptografie [prof. univ. dr. ConstantinPopescu, UniversitateaTehnica Oradea, 2009] • Tehnologii de securitatea alternative pentruaplicaţiiînreţea [UniversitateaTehnica din ClujNapoca, Mircea F. V,2009] • Retele de calculatoare - Introducere in securitate [CorneliuBuraga, UniversitateaA.I.Cuza Iasi,2007] • Computation Algebra [prof. John C.,CALTech University, 2008] • Cryptography and Network Security [William Stallings,Lawrie Brown, Idaho Institute of Technology,SUA, 2006 ] • Cryptography and Network Security [ViorelPreoteasa, Abo Akademy.Finlanda,2009]