Stručni magazin za razvoj i unapređenje ličnih i profesionalnih veština u formi BLOG-a.
Jednosmerne funkcije, koje se još nazivaju i heš (hash) funkcije su veoma korišćene danas. Između ostalog, one su osnova za postojanje blockchain tehnologije, jer služe za ulančavanje blokova i čuvanje integriteta podataka koje se upisuju u same blokove.
Ove funkcije veliku primenu imaju, i već odavno su veoma korišćene, u procesu autentifikacije tako što se, u sklopu najbolje prakse, od svake lozinke kreira heš vrednost koja se čuva u bazi, pa nijedan administrator ne vidi lozinke, već eventualno njihove heš vrednosti. Heš funkcije rade tako što kreiraju, na izgled, slučajni niz bita fiksne dužine od npr. 128b ili 256b.
Naziv jednosmerne funkcije potiče od toga što inverzan proces nije moguć. Tako se iz heš vrednosti ne može ponovo dobiti lozinka, jer su se u procesu heširanja neke informacije koje su bile na ulazu u samu funkciju izgubile. Zato se i nazivaju jednosmerne funkcije, jer se od izlaza (heš vrednost) nikada ne može dobiti ulaz (lozinka). Heš vrednost se još naziva i digitalni sažetak, jer se kroz heš funkciju može propustiti bilo koji niz bita, odnosno bilo koji fajlovi različitih dužina. Kako je digitalni sažetak fiksne dužine, kao što smo rekli (128b, 256b), on može da bude značajno manji nego veličina fajla (100kb, 1MB i više)
Ako se kroz heš funkciju propuste npr. dva PDF fajla koja se razlikuju za samo jedno slovo, njihovi digitalni sažeci že se razlikovati za oko 50% bita.
Značajna karakteristika heš funkcija je ta što ako se kroz heš funkciju propuste npr. dva PFD fajla koja se razlikuju za samo jedno slovo njihovi digitalni sažeci će se razlikovati za oko 50% bita. Na slici obratite pažnju na tekst koji se nalazi u plavom kvadratu. Prvi se značajno razlikuje od narednih, ali se preostala 4 razlikuju samo u jednom slovu u reči „over“, odnosno „ouer“, zatim oevr“ i u poslednjem redu „oer“. Razlika samo u jednom slovu dovodi do toga da se digitalni sažetak, (digest), odnosno hash vrednost značajno promeni. Na taj način, čak i ako se nađu slične hash vrednosti to ne znači da je originalan tekst bio sličan.
Tako, kada govorimo o lozinkama, dolazimo do još jedne lepe primene. Ako unesemo pogrešnu lozinku, koja se od prave razlikuje samo u jednom karakteru dobiće se heš vrednost koja je potpuno različita od heš vrednosti kada unesemo pravu lozinku. Zapravo, razlika između njih će biti u oko 50% bita. S toga, servis na koji pokušavamo da se prijavimo, a unosimo pogrešnu lozinku nema pojma gde smo pogrešili i da li je greška sam u jednom karakteru ili je cela lozinka potpuno pogrešna. To se ne zna jer servis, aplikacija, sajt, analiziraju heš vrednosti kako bi potvrdili da je prijava uspešna.
Postoje mnoge primene jednosmernih funkcija u informacionoj bezbednosti, ali i šire. Više o tome kako tehnologija i praksa doprinose razvoju informacione bezbednosti i uspostavljanja odgovarajućih kontrola i mera možete ćuti na nekom Lukinih predavanja.
Autor:
Luka Milinković, IT bezbednost | Upravljanje rizicima | Procesi, kontrole i usklađenost | Kriptografija