Kriptografija Autori izvornika: prof. dr. sc. Miljenko Mikuc

Slides:



Advertisements
Similar presentations
Blok algoritmi i DES Jelena Ignjatović.
Advertisements

Kriptografija sa simetričnim ključem
1.6. Pohrana podataka.
Provisioning Windowsa 10 na IoT, mobilnim i desktop uređajima
Sveučilište u Splitu Sveučilišni studijski centar za stručne studije
Programi zasnovani na prozorima
PRIJENOS PODATAKA.
Petlje WHILE – WEND.
Algoritamske/programske strukture
Pedagoški fakultet u Zenici Odsjek matematika i informatika
Kriptografija.
Creative Commons licence kao alat za korištenje i objavu OER-a
Uvod u projekte Rijeka,
The Present Perfect Continuous Tense
Tehničke mjere zaštite podataka
Petlje FOR - NEXT.
REPEAT…UNTIL Naredbe ciklusa.
HT usluge u Oblaku Ivan Cicvara
KAKO RADI INTERNET.
Komponente izbora i kontejnerske komponente
Kriptografija sa asimetričnim ključem
KREIRANJE OBJEKATA.
Interkulturalni karakter prekogranične medijacije.
POVEZIVANJE DVA RAČUNARA U WINDOWS 7 KORIŠTENJEM LAN ETHERNET KABLA
KRIPTOGRAFIJA Tomislav Ćurin.
Europski dan programiranja
Elektrotehnički fakultet – Podgorica Operativni sistemi
LAPLACEOVA TRANSFORMACIJA
Sveučilište u Splitu Medicinski fakultet
Struktura MAC adrese i Ethernet okvira
Programiranje za Internet
M-datoteke.
Element form Milena Kostadinović.
MessageBox.
Sigurnost Interneta Cvetana Krstev.
Pojmovi digitalnog zapisa
Internet FTP usluga.
PROGRAMSKI JEZIK PASCAL
MATEMATIČKI FAKULTET, UNIVERZITET U BEOGRADU
ELEKTRONIČKA POŠTA ( ) OTVARANJE RAČUNA.
Osnovni simboli jezika Pascal
FAKULTET KEMIJSKOG INŽENJERSTVA I TEHNOLOGIJE
Do While ... Loop struktura
Virtualizacija poslovnih procesa metodom „Swimlane“ dijagrama
Programiranje – Small Basic
PGP Pretty Good Privacy
Memorije Vrste memorija i osnovni pojmovi Ispisne memorije
posljednja faza razvoja podatkovnih komunikacija
Strukture podataka i algoritmi 5. VRIJEME IZVRŠAVANJA ALGORITMA
Nizovi.
C++ WORKSHOP Šimec Tino - FOI.
Skup instrukcija procesora
Naredbe u php-u.
IP SPOOFING Sveučilište u Zagrebu
Programski jezik C++ - Vježbe - 5. dio
Programski jezik Python
Priprema prezentacije
VAŽNOST ČITANJA U NIŽIM RAZREDIMA OSNOVNE ŠKOLE
HODITI U SVJETLU Odreći se svjetovnosti ADAPT it! Teaching Approach
Izranjajuća Inteligencija
LimeSurvey Uvjetni prikaz pitanja Internetska istraživanja
1. Sigurno u virtualnom svijetu
7. Baze podataka Postavke MS Accessa.
Simetrični algoritmi kriptiranja
Dvostruka autentifikacija
Ponavljanje Pisana provjera
OneNote for Classroom Gabrijela Vratarić, prodajni predstavnik i specijalist za licenciranje softvera Tomislav Bronzin, ICT Senior Expert,
Programiranje - Naredbe za kontrolu toka programa – 1. dio
INTERPOLACIJA PO DIJELOVIMA POLINOMIMA
Kako zaštititi privatnost na facebooku
Presentation transcript:

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

Creative Commons slobodno smijete: pod sljedećim uvjetima: 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 19.11.2018.

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 19.11.2018.

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 19.11.2018.

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

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

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 19.11.2018. Informatika, II. gimnazija, Zagreb 7 7

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

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

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

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

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 19.11.2018. 12 12

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 19.11.2018.

Terminologija kriptoanaliza ili dešifriranje kriptologija 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 19.11.2018.

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 19.11.2018. 15 15

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 19.11.2018. 16 16

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 19.11.2018.

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 http://projects.geekguild.com/padlock/ Informatika, II. gimnazija, Zagreb 19.11.2018.

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

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 19.11.2018.

Razbijanje DES-a Tip napadača Budžet Alat Vrijeme i cijena probijanja (po ključu) Duljina ključa potrebna za zaštitu 1995. / 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 12 minuta ($0.08) 18 mjeseci ($5,000) 55 / 69 Korporativni odjel $300K 24 sekunde ($0.08) 19 dana ($5,000) 60 / 74 ASIC 0.18 sekundi ($0.001) 3 sata ($38) Veliko poduzeće $10M 7 sekunda ($0.08) 13 sati ($5,000) 70 / 84 0.005 sekundi ($0.001) 6 minuta ($38) Obavještajna agencija $300M 0.0002 sekunde ($0.001) 12 sekundi ($38) 75 / 89 Informatika, II. gimnazija, Zagreb 19.11.2018.

Može li se simetrična kriptografija koristiti pri digitalnom potpisivanju? I, naravno, zašto? http://jneerpat.files.wordpress.com/2009/05/paperwork.jpg

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 19.11.2018. 34 34

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 19.11.2018.

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 19.11.2018.

Model rada –tajnost A B DKPB (C)  M EKJB (M)  C M* KPB* M C M KPB 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 19.11.2018.

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 19.11.2018.

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

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 19.11.2018.

Kriptoanaliza osjetljiva na brute-force napad napadi pogađanjem poruke 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 19.11.2018.

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 19.11.2018.

+ = + = 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 19.11.2018. 46 46

+ + Postupak šifriranja stvara se jednokratni simetrič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 19.11.2018.

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: samo pošiljatelj ima ključ kojim je poruka potpisana! za potpisivanje poruke koriste se dodatni algoritmi! + = + = Informatika, II. gimnazija, Zagreb 19.11.2018. 48 48

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 19.11.2018.

Primjena hash-funkcije digitalni potpisi Message Authentication Code (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 19.11.2018.

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 19.11.2018.

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 19.11.2018.

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 19.11.2018.

PKI Sadržaj certifikata DN: cn=Anja Kovač, 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 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 institucije koja je izdala certifikat