1 / 71

Specijalistički studij Informacijska sigurnost Sigurnosna arhitektura i tehnologije

Specijalistički studij Informacijska sigurnost Sigurnosna arhitektura i tehnologije. Doc . Dr Hrvoje Mlinarić. Algoritmi za jednokratnu zaporku. Postojeća problematika Korisničko ime i zaporka Mali broj ljudi koristi više od 8 znakova za zaporku Uglavnom samo slova i to mala

sasson
Télécharger la présentation

Specijalistički studij Informacijska sigurnost Sigurnosna arhitektura i tehnologije

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. Specijalistički studij Informacijska sigurnostSigurnosna arhitektura i tehnologije Doc. Dr Hrvoje Mlinarić

  2. Algoritmi za jednokratnu zaporku • Postojeća problematika • Korisničko ime i zaporka • Mali broj ljudi koristi više od 8 znakova za zaporku • Uglavnom samo slova i to mala • Rijetko tko koristi brojeve i druge znakove • Često se koriste neki osobni pojmovi • Nitko ne mijenja redovito svije zaporke • Prijenos korisničkog imena i zaporke putem mreže vrlo često nezaštićen mreže ili slabo zaštićene • …

  3. Algoritmi za jednokratnu zaporku • PhilKarna – Bellcore • Bell laboratorij – odjel za istraživanje i razvoj • 1994 godine predložio prvi algoritam za generiranje jednokratne zaporke • Standardiziran pod nazivom S/KEY PasswordSystemRFC1760 (N. Haller – Bellcore) ( veljača 1995)

  4. Algoritmi za jednokratnu zaporku • Danas se algoritmi za jednokratne zaporke koriste stalo i vrlo često nismo ni svjesni da u transakcijama koje obavljamo koristimo jednokratnu zaporku • Kerberos –komunikacijski protokol koji omogućava identifikaciju i autorizaciju preko nesigurne mreže. Dizajniran je da omogući client-server arhitekturu te da omogući obostranu autentifikaciju. Poruke unutar protokola su zaštićene od mogućih napada. • Windows authentification – ista stvar samo od Microsoft Windows-a

  5. Algoritmi za jednokratnu zaporku • OTP – One Time Password • Jednokratna zaporka bazirana na brojaču • Jednokratna zaporka bazirana na algoritmu HMAC • Jednokratna zaporka bazirana na vremenu • Jednokratna zaporka bazirana na izazovi i odgovoru

  6. Jednokratna zaporka bazirana na brojaču • Svi kriptografski algoritmi pa tako i ovi temelj uzimaju u nemogućnosti inverzije algoritama za računanje - sažetaka poruka • Prema definiciji algoritmi za računanje sažetaka poruka moraju biti jednosmjerne funkcije, odnosno iz sažetka se ne može generirati ulazna poruka.

  7. Jednokratna zaporka bazirana na brojaču • Algoritam generira jednokratnu zaporku tako da izračuna sažetak korisničke tajne, koja je poznata i serveru i korisniku • Korisnička tajna je slučajni broj dodijeljen korisniku, pin, i neke druge informacije • Dobiveni sažetak služi kao ulaz u slijedeći korak iteracije računanja sažetka • Iteracija se ponavlja N puta

  8. ulazna tajnaW računanje sažetka(n puta)H(W) H(H(W))…. OTPHn(W) Jednokratna zaporka bazirana na brojaču

  9. Jednokratna zaporka bazirana na brojaču • Prijava korisnika na sustav vrši se u tri koraka: • Predstavljanje korisnika • Korisničko ime / serijski broj – mora biti jedinstveno u sustavu • Izazov prema korisniku • Server dohvaća posljednji sažetak i vrijednost brojača iz svoje baze • Uočite da server ne mora znati korisničku tajnu • Na temelju zadnjeg sažetka računa novi sažetak i uvećava brojač za jedan. Sprema podatke u bazu • Šalje korisniku broj iteracije koju želi dobiti

  10. Jednokratna zaporka bazirana na brojaču • OTP Odgovor prema serveru • Korisnik računa sažetak i šalje ga serveru koji ga provjerava. • Često se korisničkoj tajni pridodaje i javna tajan servisa. Više servisa može koristiti isti OTP. • Problem je izmjena i slanje sažetaka koji su u pravilu 64 bitni brojevi a u novijim algoritmima i 128,160 i 256 bitni.

  11. Jednokratna zaporka bazirana na brojaču S/KEY • S/KEY predlaže kako 66 bitni broja pretvoriti u niz od šest riječi koje je lakše utipkati od 66 bitnog boja. • Postupak koristi niz/tablicu od 2048 engleskih riječi duljine od 2 do 4 slova. Svaka riječ pokriva 11 bitova podataka koji se kodiraju. Potrebno je 6 riječi. • Sažetak je dužine 64 bita, preostala dva bita se koriste za kontrolu

  12. Jednokratna zaporka bazirana na algoritmu HMAC - HOTP • HOTP - HMAC-based One Time Password • Nije potrebno komunicirati s serverom prije generiranja zaporke. • Svi relevantni parametri moraju biti poznati i serveru i korisniku i moraju biti sinkronizirani • Standard propisuje upotrebu HMAC-SHA-1 algoritma za računanje sažetka poruka. • HMAC Hash-basedMessageAuthenticationCode

  13. Jednokratna zaporka bazirana na algoritmu HMAC - HOTP • Izraz po kojem se računa jednokratna zaporka: H = hotp (T,N) T – korisnička tajna poznata i serveru N – trenutna vrijednost brojača H – izračunata jednokratna zaporka

  14. Jednokratna zaporka bazirana na algoritmu HMAC - HOTP • Proces Autentifikacije • Korisnike • na temelju svoje tajne i vrijednosti brojača generira zaporku. • povećava brojač za jedan • Šalje zaporku i svoj identitet serveru • Server • Računa zaporke u rasponu od N do N+C. • N zadnja ispravna vrijednost brojača • C dozvoljeno odstupanje od brojača • U koliko dobivena zaporka odgovara jednoj od generiranih server pamti vrijednost brojača od te zaporke N+R

  15. HMAC • HMAC Hash-basedMessageAuthenticationCode HMAC(K,D) = H(KeyXOR o_pad, H(KeyXOR i_pad,D)) H- funkcija za računanje sažetka Key- korisnička tajna D - Blok podataka popunjen s nulama do željene veličine o_pad – konstanta 0x5c5c5c5c…5c i_pad – konstanta 0x36363636..36

  16. HOTP • Izlaz iz HMAC algoritma je 20 bajtova. Što je 3 puta duže od prijašnjih algoritama i korištenjem S/KEY trebalo bi nam 14 riječi. • Kako bi smanjili dužinu na izlaz se primjenjuje funkcija koja ulaz pretvara u niz alfanumeričkih ili samo numeričkih znakova proizvoljne dužine, min 6

  17. HOTP HOTP = Truncate (x) Truncate – funkcija koja izvlači 31 bit iz X koji sadrži 160 bitova. • Uzme 4 najmanje važeća bita • Pretvori u broj T u rasponu od 0 -15 • Uzme 4 bajta na mjestima T, T+1, T+2, T+3 • Postavi najviši bit u nulu, bit predznaka 32 broja T, T+1, T+2, T+3 • Napravimo dijeljenje sa 10^R i uzmemo ostatak dijeljenja kao zaporku. R je broj znamenki zaporke

  18. HTOP

  19. Jednokratna zaporka bazirana na vremenu – TOTP • TOTP - Time-based One Time Password • Potpuno isti postupak kao i kod HOTP algoritma samo što se umjesto brojača za sinkronizaciju koristi vrijeme • Brojač ovisi o trenutnom vremenu i ukoliko su server i korisnik vremenski sinkronizirani imat će istu vrijednost brojača

  20. Jednokratna zaporka bazirana na vremenu – TOTP • Izraz po kojem se računa jednokratna zaporka: H = hotp (T,N) T – korisnička tajna poznata i serveru N – trenutna vrijednost brojača H – izračunata jednokratna zaporka N = |U/I| U – Broj sekundi proteklih od početka mjerenja vremena I – interval sekundi u kojem je zaporka valjana

  21. Jednokratna zaporka zasnovana na izazovu i odgovoru • Zasniva se na HMAC algoritmu za računanje sažetka • Umjesto brojača i korisničke tajne OCRA koristi cijeli niz parametara minimalne duljine 230 bajtova

  22. Jednokratna zaporka zasnovana na izazovu i odgovoru OCRA = Funkcija(K, Blok) Funkcija – algoritam za računanje sažetka poruka HMAC-SHA-1 K – korisnička tajna poznata i serveru Blok - skup vrijednosti varijabli čiji se sažetak računa

  23. Jednokratna zaporka zasnovana na izazovu i odgovoru Blok = {OCRASuite |0x00|C|Q|P|S|T} OCRASuite – vrijednost koja definira Verziju algoritma, vrstu algoritma i koje se varijable koriste Varijable su [C]Q[P][S][T] C - da li se koristi brojač ili ne Q - određuje dužini i koji znakovi se smiju koristiti za generiranje izazova P - da li se koristi SHA-1 S - da li se koristi identifikator komunikacije T - da li se koristi vrijeme

  24. Jednostrana autentifikacija

  25. Obostrana autentifikacija

  26. Algoritmi za računanje sažetaka poruka • Svi algoritmi za računanje jednokratnih zaporki u svom temelju imaju jedan od algoritama za računanje sažetaka poruka (hash algoritama) • Uglavnom se koriste MD4, MD5, i SHA-1 algoritmi

  27. Sigurnost jednokratnih zaporki • Napadi na jednokratne zaporke postoje, kao što postoje i napadi na sve zaštite i sigurnosne mehanizme na svijetu. • Mogućnost razbijanja algoritma • Napad na token korisnika • Napad na komunikaciju između servera i korisnika

  28. Napad na algoritme • Algoritmi za računanje sažetaka djeluju na neograničenom broju poruka različitih dužina i sadržaja. • Njihov izlaz s druge strane je fiksne dužine od n bitova. • U stvarnosti postoji ogroman broj poruka koje imaju isti sažetak • Postoje kriteriji koje mora zadovoljiti algoritam

  29. Napad na algoritme • Uspješni napadi na MD4 i MD5 su davno pronađeni (2007). MD5 je nešto otporniji, a MD4 se ne preporuča koristiti • Napadi na SHA-1 nisu tako uspješni, no međutim postoje • HMAC-SHA-1 koristi dva SHA-1 algoritma i do sada je otporan na napade kolizijom

  30. Napad na token • Jedan jednostavan primjer napada • Nije moguće detektirati korisničku tajnu jer token kod svake detekcije ili sumnje na napada briše sve važne podatka. Zato se napada pin korisnika. • Prati se potrošnja napajanja. Naime tokeni pamte koliko ste puta pogrešno unijeli pin i broj pokušaja pamte u memoriji EEPROMU. • Za pisanje u EEPROM moramo trošiti više struje. • Napad ide da unesete pin i pratite koliko vremena treba da poraste potrošnja. • U sljedećem pokušaju ne dopustite da se upisivanje izvrši isključite napajanje • Drugi primjer - Usporedba pina - algoritam

  31. Napad na server • Najčešći oblik napada • Tolerancija na brojač i vrijeme • Truncate funkcija • Smanjuje sigurnost povećava jednostavnost usluge

  32. Literatura: • N. HALLER, C. METZ, P. NESSER, M. STRAW, A One-Time Password System, 1998. • TIME-BASED ONE-TIME PASSWORD ALGORITHM (LAMBERT M. TENNOE, MARIAM T. HENSSONOW, SUSAN F. SURHONE) • RFC1760 The S/Key One-Time PasswordSystem, Neil M. Haller • DAVID M'RAIHI, JOHAN RYDELL, DAVID NACCACHE, SALAH MACHANI, SIDDHARTH BAJAJ, OCRA: OATH Challenge-ResponseAlgorithms, 2008. • H. KRAWCZYK, M. BELLARE, R. CANETTI, HMAC: Keyed-Hashing for Message Authentication, 1997.

  33. Primjeri napada • Chipand Pin is Broken - Steven J. Murdoch - 27th ChaosCommunicationCongress (November 2010) • Deconstructing a ‘Secure’ Processor - Black Hat – Washington D.C. - Christopher Tarnovsky, Flylogic, Inc. (Februar 2010)

  34. H S M • Prvi primjeri kriptografije • 3300 BC, Sumer – Južna Mezopotamija: prvi znakovni sustav za pisanje: “Cuneiform script” • 1600 BC, Irak: Do sada najstariji kriptirani dokument koji je ikada pronađen!

  35. HSM • 1000 BC, Grčka: “TranspositionCiphers” (Mijenje redoslijeda slova) pomoću štapa “Plutarque’stick” • 600 BC, Hebrew: “Substitutionciphers” (zamjena karaktera)

  36. HSM • 100 BC, Caesar’s ciphers • Srednji vijek, Zamjena sa višestrukom zamjenom

  37. HSM • Enigma Automat, 1920, Arthur Scherbius(Drugi svjetski rat): Višestruka slovna zamjena (kontinuirana promjena supstitucijskih tablica)

  38. HSM • Što smo do sada vidjeli? • Kriptografija uvijek koristi neki algoritam i neki ključ • Što nam treba? • Treba nam nešto što će čuvati ključeve • A to se zove HSM

  39. HSM • HSM • HardwareSecurity Module • HostSecurity Module • Što je HSM • Crna kutija koja kombinira sklopovsku i programsku izvedbu • Spojena ili dodana na PC računalo ili server • Omogućava izvođenje kriptografskih funkcija • Fizička i logička zaštita podataka “Tamperprotection” • Povećanje performansi

  40. HSM • Primjena • Generiranje sigurnosnih informacija • Pohrana sigurnosnih podataka • Korištenje sigurnosnih algoritama • Napomena: HSM nikada ne dozvoljava eksportiranje sigurnosnih ključeva

  41. HSM • Drugi nazivi za HSM • PCSM – Personal Computer Security Module • SAM – SecureApplication Module • SCD – SecureCryptographicDevice • SSCD – Secure Signature CreationDevice • TRSM – Tamper Resistant Security Module • HardwareCryptographicDevice, Cryptographic Module…

  42. HSM • Zašto koristiti HSM?

  43. HSM

  44. HSM • Spajanje HSM u ili sa sustavom • Unutarnja ugradnja • PCI (32 bit / 64 bit) • PCI Express • Vanjska • Serijski prijenos: RS232 • Mrežni prijenos - Ethernet • USB

  45. HSM • Sklopovska izvedba i ubrzanje kriptografskih algoritama: • Simetrična kriptografija • DES, 3DES, AES • Generiranje i derivacija ključeva • Kriptiranje i dekriptiranje • Prepoznavanje poruka • Asimetrična kriptografija • RSA, ECC • Generiranje ključeva • Potpisivanje podatka i verifikacija potpisa • Kriptiranje i dekriptiranje podataka

  46. HSM • Algoritmi za računanje sažetaka • SHA-1, SHA-2, MD5 • Ostale funkcije koje se koriste u algoritmima za kriptografiju • Slučajni generator • Pravi slučajni generatori (Undeterministic) • Pseudo slučajni generatori (Deterministic)

  47. HSM • Pravi slučajni generatori • Nedeterministički • Koristi fizički proces koji je nepredvidiv (naravno koliko je to moguće definirati). [npr. Šum] • (FIPS) izvan ljudske kontrole • FIPS 140-2: Za sada ne postoji atestirani radnom generator koji zadovoljava uvijete certifikata

  48. HSM • Pseudo slučajni generator • Deterministički • Koristi računalne algoritme koji proizvode dugačke sekvence koje naizgled izgledaju slučajne • (FIPS 140-2) Preporuča generator slučajnih brojeva zasnovan na algoritmu ANSI X9.31 Appendix A.2.4 koristeći3-Key Triple DES iAES Algorithms

More Related