1 / 40

Kriptografija

Kriptografija. Autori izvornika: prof . dr. sc. Miljenko Mikuc doc. dr. sc. Gordan Gledec Preradio: Luka Humski. Creative Commons. slobodno smijete: dijeliti — umnožavati, distribuirati i javnosti priopćavati djelo remiksirati — prerađivati djelo pod sljedećim uvjetima:

calvin
Télécharger la présentation

Kriptografija

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kriptografija Autori izvornika: prof. dr. sc. Miljenko Mikuc doc. dr. sc. Gordan Gledec Preradio:Luka Humski

  2. Creative Commons • slobodno smijete: • dijeliti — umnožavati, distribuirati i javnosti priopćavati djelo • remiksirati — prerađivati djelo • pod sljedećim uvjetima: • imenovanje. Morate priznati i označiti autorstvo djela na način kako je specificirao autor ili davatelj licence (ali ne način koji bi sugerirao da Vi ili Vaše korištenje njegova djela imate njegovu izravnu podršku). • nekomercijalno. Ovo djelo ne smijete koristiti u komercijalne svrhe. • dijeli pod istim uvjetima. Ako ovo djelo izmijenite, preoblikujete ili stvarate koristeći ga, preradu možete distribuirati samo pod licencom koja je ista ili slična ovoj. U slučaju daljnjeg korištenja ili distribuiranja morate drugima jasno dati do znanja licencne uvjete ovog djela. Najbolji način da to učinite je linkom na ovu internetsku stranicu. Od svakog od gornjih uvjeta moguće je odstupiti, ako dobijete dopuštenje nositelja autorskog prava. Ništa u ovoj licenci ne narušava ili ograničava autorova moralna prava. Tekst licencije preuzet je s http://creativecommons.org/. Informatika, II. gimnazija, Zagreb

  3. Zapis podataka u računalu • Niz nula i jedinica • Primjer: 0000111010101011010101 • Binarni broj • Može ga se pretvoriti u dekadski • Primjer: (0000111010101011010101)2 = (240341)10 UVIJEK BROJ • Kodiranje podrazumijeva operacije s brojevima • MATEMATIKA • Isti niz binarnih znamenaka može se različito tumačiti • Također, ista informacija može se različito zapisati Informatika, II. gimnazija, Zagreb

  4. Vrste kodiranja (s obzirom na namjenu) • KOMPRESIJA • Smanjenje broja bitova potrebnih za izražavanje poruke • Vrste: s gubitcima (npr. JPEG) i bez gubitaka (npr. ZIP, RAR) • ZAŠTITNO KODIRANJE • Zaštititi podatke od grešaka u prijenosu • Cilj: otkriti i ispraviti greške u prijenosu • KRIPTOGRAFIJA • O tome ćemo u nastavku  Informatika, II. gimnazija, Zagreb

  5. Problem • pretpostavka: napadač nadzire mrežu • presreće promet (datagrame) • mijenja njihov sadržaj • ubacuje svoje datagrame Informatika, II. gimnazija, Zagreb

  6. Metode sigurnosnih prijetnji prekid presretanje promjena lažna informacija Informatika, II. gimnazija, Zagreb

  7. Osnovni sigurnosni zahtjevi • cjelovitost, integritet (integrity) • povjerljivost (confidentiality) • raspoloživost (availability) • autentifikacija (authentification) • neporecivost (nonrepudiation) • kontrola pristupa (access control) • ranjivi: • sklopovlje • programska podrška • podaci Informatika, II. gimnazija, Zagreb

  8. Sigurna komunikacija • temeljena na: • kriptografiji • upravljanju ključevima Informatika, II. gimnazija, Zagreb

  9. Jednostavno kriptiranje • Cezarova šifra • Primjer: • LPDPR VDW LQIRUPDWLNH • IMAMO SAT INFORMATIKE Informatika, II. gimnazija, Zagreb

  10. AugusteKerckhoffs(Jean-Guillaume-Hubert-Victor-François-Alexandre-AugusteKerckhoffs von Nieuwenhof) “Kriptosustavi bi trebali biti sigurni čak i ako sve vezano uz njih, osim samog ključa, bude javno poznato.”

  11. Od stoljeća sedmog... Informatika, II. gimnazija, Zagreb

  12. Kriptografija • omogućuje komunikaciju dviju stranki preko nesigurnog komunikacijskog kanala • treća stranka ne može razumjeti njihove poruke • postupak: • šifriranje: transformira se otvoreni tekst (plaintext) koristeći unaprijed dogovoreni ključ (key) • rezultat dobiven šifriranjem naziva se šifrat (ciphertext) ili kriptogram • pošiljatelj pošalje šifrat preko komunikacijskog kanala + = Informatika, II. gimnazija, Zagreb

  13. I onda... • protivnik prisluškujući dozna sadržaj šifrata, ali ne može odrediti otvoreni tekst • primatelj koji zna ključ kojim je šifrirana poruka može dešifrirati šifrat i odrediti otvoreni tekst • realizacija? ? + = Informatika, II. gimnazija, Zagreb

  14. Terminologija • kriptoanaliza ili dešifriranje • znanstvena disciplina koja se bavi proučavanjem postupaka za čitanje skrivenih poruka bez poznavanja ključa • kriptologija • grana znanosti koja obuhvaća kriptografiju i kriptoanalizu • kriptografski algoritam ili šifra • matematička funkcija koja se koristi za šifriranje i dešifriranje • općenito, radi se o dvije funkcije, jednoj za šifriranje, a drugoj za dešifriranje • njezini argumenti su ključ i otvoreni tekst, odnosno ključ i šifrat Informatika, II. gimnazija, Zagreb

  15. Ključ • matematički algoritam • određuje kako se šifrira otvoreni tekst • složenost ovisi o duljini ključa - broj bitova • ključ duljine n bitova generira prostor ključeva od 2n mogućih vrijednosti • matematički algoritmi • tajni • javni • snaga sustava za šifriranje počiva na ključu • napadač može imati šifrirane tekstove i znati algoritme, ranjivost sustava ovisi o snazi ključa • dulje ključeve teže je probiti (vrijeme, novac) Informatika, II. gimnazija, Zagreb

  16. Simetrična kriptografija • za šifriranje i dešifriranje koristi se isti ključ • tajni ključ • uglavnom temeljeni na logičkoj operaciji XOR • model: • M je poruka (message), K je ključ • šifriranje (encription): EK (M)  C (C = šifrat, cyphertext) • dešifriranje (decription): DK (C)  M • napadač bez znanja ključa K ne može iz šifrata C saznati sadržaj poruke M + = + = Informatika, II. gimnazija, Zagreb

  17. Model simetrične kriptografije Kriptoanaliza M* K* EK (M)  C DK (C)  M Izvor poruke M Algoritam šifriranja C Algoritam dešifriranja M Odredišteporuke komunikacijski kanal K K Izvor ključa Informatika, II. gimnazija, Zagreb

  18. One-time pad • izmišljen 1917., patentiran kasnije • Gilbert Sandford Vernam, Joseph Mauborgne • razmijeni se slučajno generirani ključ K (pad) • otvoreni tekst se šifrira s K u modularnoj aritmetici (XOR) • EK(M) = K M = C(bit po bit) • šifrat se dešifrira s istim K u modularnoj aritmetici • DK (C) = C K = M(bit po bit) • dobre strane: • teoretski jednostavan • neprobojan (Claude Elwood Shannon, 1949.) • mane: • ključ K mora biti jednako dug kao otvoreni tekst M • slučajno generiran Informatika, II. gimnazija, Zagreb

  19. Koliko ključeva? • n korisnika? 1 10 Informatika, II. gimnazija, Zagreb

  20. Algoritmi i duljina ključa • duljina ključa naznačuje koliko će trebati da se napadom razbije šifra • Data Encryption Standard (DES, 56 bita) • 3DES - trostruki DES • International Data Encryption Algorithm (IDEA, 128 bita) • Advanced Encryption Standard (AES, 128, 192, 256 bita) • Blowfish (varijabilni ključevi, do 448 bita) • CAST (Carlisle Adams & Stafford Tavares, 128, 256 bita) • RC2 (8-1024 bita), RC5 (0 do 2040 bita ) Informatika, II. gimnazija, Zagreb

  21. Tip napadača Budžet Alat Vrijeme i cijena probijanja (po ključu) Duljina ključa potrebna za zaštitu1995. / 2015. 40 bita 56 bita Pojedinačni napadač Mali Neiskorišteno procesorsko vrijeme 1 tjedan nemoguće 45 / 59 $400 FPGA 5 sati($0.08) 38 godina($5,000) 50 / 64 Malo poduzeće $10,000 FPGA 12 minuta($0.08) 18 mjeseci($5,000) 55 / 69 Korporativni odjel $300K FPGA 24 sekunde($0.08) 19 dana($5,000) 60 / 74 ASIC 0.18 sekundi($0.001) 3 sata($38) Veliko poduzeće $10M FPGA 7 sekunda($0.08) 13 sati($5,000) 70 / 84 ASIC 0.005 sekundi($0.001) 6 minuta($38) Obavještajna agencija $300M ASIC 0.0002 sekunde($0.001) 12 sekundi($38) 75 / 89 Razbijanje DES-a Informatika, II. gimnazija, Zagreb

  22. Može li se simetrična kriptografija koristiti pri digitalnom potpisivanju? I, naravno, zašto?

  23. Asimetrična kriptografija • problemi u simetričnoj kriptografiji: • razmjena ključeva • nemogućnost digitalnog potpisivanja • asimetrično: • jedan ključ za šifriranje, drugi ključ za dešifriranje • ključevi su međusobno vezani • neizvedivo je poznavajući algoritam i jedan ključ otkriti drugi • često: svejedno je kojim ključem se šifrira, a kojim dešifrira • rade isključivo u paru • poznavanjem javnog ključa ne može se izračunati tajni ključ u nekom razumnom vremenu • vrijeme potrebno za izračunavanje tajnog ključa iz poznatog javnog ključa, tj. razbijanje šifre, mjeri se milijunima godina na danas najjačim raspoloživim računalima Informatika, II. gimnazija, Zagreb

  24. Simetrična i asimetrična kriptografija • način rada: • isti algoritam i isti ključ koriste se i za šifriranje i za dešifriranje • pošiljatelj i primatelj dijele algoritam i ključ • sigurnost: • očuvati tajnost ključa • nemoguće ili nepraktično dešifrirati poruku • poznavanje algoritma i dijelova šifrata mora biti nedovoljno za rekonstrukciju ključa • 100-1000 puta brži • način rada: • jedan algoritam i par ključeva: jedan za šifriranje, jedan za dešifriranje • primatelj i pošiljatelj moraju imati po jedan od uparenih ključeva • sigurnost: • jedan od dva ključa mora ostati tajan • nemoguće ili nepraktično dešifrirati poruku • poznavanje algoritma, jednog ključa i dijelova šifrata mora biti nedovoljno za rekonstrukciju ključa Informatika, II. gimnazija, Zagreb

  25. Privatni i javni ključ • svaki korisnik ima par ključeva: • privatni ključ KP • dostupan isključivo korisniku, ne smije se distribuirati • javni ključ KJ • dostupan svima • mora se distribuirati • ono što se šifrira javnim ključem, može se dešifrirati samo privatnim: • EKJ (M)  C, DKP (C)  M • ono što se šifrira privatnim ključem, može se dešifrirati samo javnim: • EKP (M)  C, DKJ (C)  M Informatika, II. gimnazija, Zagreb

  26. Model rada –tajnost Kriptoanaliza M* KPB* DKPB (C)  M A EKJB (M)  C B Izvor poruke M Algoritam šifriranja C Algoritam dešifriranja M Odredišteporuke KPB KJB Izvor para ključeva Informatika, II. gimnazija, Zagreb

  27. Model rada – autentifikacija Kriptoanaliza M* KPA* EKPA (M)  C DKJA (C)  M A B Izvor poruke M Algoritam šifriranja C Algoritam dešifriranja M Odredišteporuke KJA KPA Izvor para ključeva Informatika, II. gimnazija, Zagreb

  28. Model rada – autentifikacija i tajnost Izvor para ključeva KJB KPB A B EKPA (M)  P DKJA (P)  M Izvor poruke Algoritam šifriranja Algoritam šifriranja Algoritam dešifriranja Algoritam dešifriranja Odredišteporuke P C P M M EKJB (P)  C DKPB (C)  P KJA KPA Izvor para ključeva Informatika, II. gimnazija, Zagreb

  29. Zahtjevi • lako se generira par ključeva KP i KJ • pošiljatelj lako iz poruke M stvara šifrat C na temelju javnog ključa KJ primatelja • primatelj lako dešifrira šifrat C koristeći svoj privatni ključ KP • računalno neizvedivo da se na temelju javnog ključa KJ izračuna privatni ključ KP • računalno neizvedivo da se na temelju javnog ključa KJ i šifrata C rekonstruira poruka M Informatika, II. gimnazija, Zagreb

  30. Kriptoanaliza • osjetljiva na brute-force napad • protumjera: dulji ključ • problem: matematički izračuni • složenost ne mora rasti linearno s brojem bita • duljina ključa mora biti: • dovoljno velika da spriječi napad • dovoljno mala da se operacije obavljaju brzo • napadi pogađanjem poruke • računanje privatnog ključa na temelju javnog • nije dokazano da nije moguće • svi algoritmi su sumnjivi Informatika, II. gimnazija, Zagreb

  31. Hibridni pristup • dobre strane simetričnih algoritama: • 100-1000 puta brži od asimetričnih • manje računalno zahtjevni • dobre strane asimetričnih algoritama: • upravljanje ključevima, distribucija i tajnost • hibridni pristup: • asimetričnu kriptografiju koristiti za razmjenu simetričnog ključa • Secure Sockets Layer - SSL • Pretty Good Privacy - PGP • GNU Privacy Guard - GPG Informatika, II. gimnazija, Zagreb

  32. Načelo šifriranja • pošiljatelj šifrira dokument koristeći javni ključ primatelja • rješava probleme kontrole pristupa i povjerljivosti – samo onaj tko ima privatni ključ, može pristupiti šifriranom dokumentu • zbog sporosti asimetričnih algoritama, koriste se u kombinaciji sa simetričnima = + = + Informatika, II. gimnazija, Zagreb

  33. Postupak šifriranja + stvara se jednokratnisimetrični ključ svojim privatnim ključem primatelj dešifrira simetrični tajni ključ poruka se šifrira simetričnim ključem + tako dešifriranim simetričnim tajnim ključem dešifrira se poruka simetrični ključ se šifrira javnim ključem primatelja šalje se poruka šifrirana simetričnim ključem i simetrični ključ šifriran javnim ključem primatelj sada može pročitati poruku Informatika, II. gimnazija, Zagreb

  34. Načelo digitalnog potpisa • pošiljatelj potpisuje poruku koristeći svoj privatni ključ • svi koji imaju javni ključ pošiljatelja, mogu verificirati potpis • rješava probleme neporecivosti, autentičnosti i cjelovitosti • razlog: samopošiljatelj ima ključ kojim je poruka potpisana! • za potpisivanje poruke koriste se dodatni algoritmi! = + = + Informatika, II. gimnazija, Zagreb

  35. Hash funkcija • prije digitalnog potpisivanja treba generirati sažetak (hash, digest) poruke • hash funkcija • ulaz: niz znakova proizvoljne duljine • izlaz: niz znakova fiksne duljine (npr. 128 ili 160 bitova) • osnovna svojstva hash funkcije: • hash je jednosmjerna funkcija • jednostavno ju je izračunati za zadanu poruku • nije moguće na osnovu izlaza regenerirati ulaznu poruku • nije moguće odrediti ulaznu poruku koja bi imala zadani hash • neizvedivo da se pronađu dvije različite poruke koje bi imale isti hash • promjena jednog bita ulaza rezultira potpuno drugačijim izlazom Informatika, II. gimnazija, Zagreb

  36. Primjena hash-funkcije • digitalni potpisi • MessageAuthenticationCode (MAC) • autentifikacija • hash-tablice (raspršeno adresiranje) • za detekciju kopija binarnih sadržaja • za jednoznačnu identifikaciju binarnih sadržaja • za izračunavanje kontrolne sume (checksum) Informatika, II. gimnazija, Zagreb

  37. Primjer hash funkcije • ulazni tekst: "primjena" • izlaz (heksadecimalno): • MD5: 490901fcf9a20ffb05b1575a5b89c952 • SHA-1: 632488e67e6de572328801e9194025163476c2d4 • u ulazu se mijenja samo jedno slovo: "promjena" • izlaz: • MD5: fb336d024c6c32b181ab50870890a988 • SHA-1: 6e5b7ddbb89b0b2bf88aa15e860a6e4779902e1c Informatika, II. gimnazija, Zagreb

  38. Postupak digitalnog potpisivanja izračuna se hash poruke iz poruke se vadi šifrirani hash hash se dešifrira javnim ključem pošiljatelja hash poruke potpiše se vlastitim privatnim ključem iz izvorne poruke se računa novi hash na izvornu poruku se doda hash i sve se šalje primatelju kao tekst ako su hashevi isti, dokazan je identitet pošiljatelja Informatika, II. gimnazija, Zagreb

  39. Digitalni certifikat • rješava problem dokazivanja identiteta • skup informacija koje identificiraju korisnika i davatelja usluge certificiranja • sadržaj certifikata: • npr. ime organizacije koja izdaje certifikat, ime organizacije ili korisnika kojem pripada certifikat, njegovog javnog ključa, vremena važenja certifikata, elektroničke adrese organizacije ili korisnika, zemlje porijekla korisnika te ostalih bitnih informacija koje identificiraju stranu kojoj se izdaje certifikat • standardizacija: • X.509 format - ISO, ITU-T Informatika, II. gimnazija, Zagreb

  40. Sadržaj certifikata DN: cn=AnjaKovač, o=FER, c=HR Serial #: 3913133 Start: 6-7-2009 3:33 End: 6-7-2010 3:33 CRL: cn=CRL2, o=FER, c=HR Key: CA DN: o=UNI-ZG, c=HR PKI informacije o korisniku: ime, institucija, država jednoznačni serijski broj informacija o važenju certifikata informacija o povlačenju certifikata javni ključ korisnika informacija o instituciji koja je izdala certifikat digitalni potpis institucijekoja je izdala certifikat

More Related