Razvoj napredne zaštite – FIDO alijansa

Share

Najučestaliji koncepti za zaštitu korisničkih podataka, poput 2-faktor-autentikacije i šifri, ne obezbeđuju maksimalan nivo zaštite. Problemi su sve veći, internet napadi sve učestaliji, stoga su vodeći internet provajderi poput Gugla, Amazona i Pejpala, rešili da formiraju organizaciju i obezbede dodatne načine zaštite. Rešenje koje su predstavili nazvali su FIDO2 i bazira se na hardverskoj autentikaciji uz pomoć “wearable” uređaja (satovi, narukvice, prsteni).

Moderno doba i 21. vek donose brojne pogodnosti u vidu potpune digitalizacije mnogih sfera zivota. U mogućnosti smo da na brz i efikasan način obavimo brojne aktivnosti, poput plaćanja, informisanja, kupovine… Broj servisa koji nam omogućava sve to je u konstantnom porastu i taj trend će se sigurno nastaviti i u decenijama koje dolaze.

Navedene pogodnosti sa sobom nose i rizike koji se ogledaju u problemima krađe identiteta, podataka, a samim tim i usluga i novca. Lozinke mogu biti “provaljene”, telefoni ukradeni, baze lozinki hakovane, što omogućava razne oblike zloupotrebe ličnih podataka, poput krađe poverljivih email- ova, brojeva kreditnih kartica, privatnih podataka itd.

Današnje metode zaštite identiteta nisu dovoljno bezbedne, a očekivanja su da problem postane sve izraženiji u narednim godinama. Očigledno, neophodna su poboljšanja postojećih rešenja, kao i razvoj novih, koja bi obezbedila adekvatan nivo zaštite.

Postojeći principi verifikacije korisnika, bazirani su na 2-faktor-autentikaciji (2FA) i zahtevaju unos koda sa uređaja, koji se uglavnom šalje preko SMS poruke ili se generiše preko 2FA aplikacije.

Najpoznatije aplikacije za generisanje tajnog koda su Google Authenticator, Authy, Authenticator Plus i Duo. Kad se pristupi sajtu, aplikacija generiše kod (“secret”) na osnovu ključa i trenutnog vremena. Na isti način funkcioniše i server. Ako se kodovi poklope, verifikacija je uspešna. Problem se javlja ukoliko dodje do neautorizovanog pristupa bazi kodova, koji mogu biti iskorišćeni za zloupotrebu korisničkih naloga.

Primer dizajna Androida aplikacije u kome je bilo moguće pristupiti 2FA kodovima zahvaljujući propustu razvojnog tima.

Zbog svega navedenog, oformljena je organizacija pod nazivom FIDO Alijansa (FIDO – Fast IDentity Online) u okviru koje vodeće svetske firme pokušavaju da unaprede internet bezbednost. Google, Amazon i Paypal rade na razvoju sistema verifikacije korisnika, koji bi zamenio postojeće delimično bezbedne sisteme.

Protokol koji dospeva u fokus, nazvan je FIDO2 i predstavlja pokušaj da se obezbedi snažna internet zaštita korisnika, jednostavnost korišćenja i onemoguće internet napadi u vidu “malware a” i “phishing-a”.

Najvažniji i najrevolucionarniji delovi FIDO2 su WebAuthn protokol (Web Authentication) i CTAP protokol (Client to Authenticator Protocol) koji imaju potencijal da kompletno eliminišu potrebu za lozinkama, koristeći kriptografiju javnog ključa (public key cryptography).

Osnovne komponente sistema su autentikatori, internet pregledači (browser-i) i serveri.

Autentikatori predstavljaju uređaje koji generišu unikatne kredencijale (par ključeva – privatni i javni) i komuniciraju sa pregledačima i serverima u cilju ostvarivanja bezbednog registrovanja i autentikacije korisnika.

Najčešći autentikatori su nezavisni hardverski uređaji poput “wearable” uređaja (narukvice, satovi) ili dongli (Yubico key), a mogu biti i ugrađeni u druge uređaje poput Windows Hello ili Apple Touch ID.

Registracija korisnika (“attestation”) se obavlja tako što prilikom pristupa servisu, generiše “challenge” i prosleđuje autentikatoru. Pod “challenge”-om podrazumevamo nasumično generisan string, dužine minimalno 16 bajta čija svrha je odbijanje “replay” napada. Zatim, autentikator generiše nove kredencijale koji su unikatni za taj servis.

Svaki uređaj, prilikom proizvodnje, dobija privatni ključ koji ga jednoznačno određuje. On se koristi za potpisivanje javnog ključa, pre slanja na server. Samim tim, ukoliko dođe do pokušaja presretanja registracione poruke, podmetanje drugog, lažnog, javnog ključa neće biti moguće jer se potpisi neće podudarati.

Potpisani javni ključ se, zajedno sa “challenge”-om, šalje servisu gde se čuva za potrebe dalje autentikacije. On, sam po sebi, ne predstavlja tajnu, zato što je beskorisan bez odgovarajućeg privatnog ključa. Iz tog razloga, baze podataka smeštene na serverima više nisu interesantne kao predmet internet upada.

Za naredne autentikacije, server šalje novi nasumično generisan “challenge” autentikatoru i validira primljeni potpis koristeći već prethodno sačuvan javni ključ.

CTAP predstavlja protokol koji služi za slanje kredencijala sa autentikatora na klijenta.

WebAuthn je protokol koji preko ugrađene podrške u okviru pregledača komunicira sa serverom za potrebe verifikacije registracije ili logina.

Počevši od januara 2019. godine, WebAuthn je u potpunosti podržan od strane pregledača – Chrome, Firefox i Edge, dok se podrška u okviru Safari-ja očekuje u narednom periodu.

Najpoznatiji servisi koji podržavaju WebAuthn su Google (rezultati testiranja), Facebook, Twitter, Dropbox, Github i drugi.

Pošto se privatni ključ nalazi isključivo na autentikatoru, neophodno je ograničiti pristup i time sprečiti neovlašćeno korišćenje istog. Zaštita se može implementirati u vidu biometrijske autentikacije bazirane na skeniranju prsta, irisa ili lica. Pored toga, imamo i novi sistem – analiza načina na koji hodamo (“gait”).

Uz pomoć akcelerometra integrisanog u sam uređaj, moguće je pratiti pokrete korisnika i analizom mnoštva sesija napraviti jedinstven identifikacioni kod koji bi se koristio za “otključavanje” autentikatora i omogućavanje pristupa digitalnim servisima. S obzirom da je svako od nas jedinstven, napredni algoritmi obezbeđuju unikatan kod za svakog korisnika, koji je prakticno nemoguće “hakovati”.

Pošto se uređaj nosi na ruci, prilikom registracije ili login-a, dovoljno je odraditi unapred predefinisani pokret rukom, koji signalizira autentikatoru da otpočne komunikaciju sa serverom u cilju prepoznavanja korisnika.

Navedeni koncept eliminiše potrebu za korišćenjem 2-faktor-autentikacije i lozinki sto korisniku štedi vreme, oslobađa ga pamćenja kompleksnih lozinki, a sto je najvažnije – onemogućuje potencijalne maliciozne aktivnosti.

Internet servisi i njihovi razvojni timovi troše znatna sredstva i mnogo vremena štiteći se od konstantnih napada čiji je cilj krađa korisničkih informacija, lozinki i drugih podataka.

Standardizacijom FIDO2 protokola, započela je i masovnija implementacija protokola od strane vodećih pregledača, što otvara put ka upotrebi hardverskih uređaja za potrebe verifikacije i unapređenju internet bezbednosti.

 

Share

Prijavi se da prvi dobijaš nove blogove i vesti.

Ostavite odgovor

Stevan Medić

Software Engineer @Symphony
mm

Stevan se bavi razvojem softvera za mobilne platforme počevši od 2013. godine, kada je započeo sa radom na projektima baziranim na Android platformi (AOSP).
Neke od najznačajnih kompanije za koje je radio su ODG, Motiv, LifeFitness, Bouygues Telecom, Canal+, Swisscom…
Stevanova želja je da nastavi sa radom na razvoju inovativnih funkcionalnosti za “wearable” uredjaje. I učini ih veoma pametnim! I sigurnim, naravno :)

Prijavi se da prvi dobijaš nove blogove i vesti.

Kategorije