Treba mi...

OneTimePassword predstavljaju sledeci korak ka boljoj zastiti u odnosu na nepromenljive password-e. Kao sto znamo najozbiljniji problemi koji se javljaju kod nepromenljivih password-a jesu ranjivost na prisluskivanje i ne-otpornost na napade tipa „napadi sa ponavljanjem – replay attacks“. Resenje za prevazilazenje ovih problema jesu OneTimePassword seme: uvek se koristi razlicita lozinka. Ovakvi sistemi su otporni na pasivne napade (pre svega prisluskivanje).

Pre nego sto krenem u dalja pojasnjenja, da ustanovimo oznake:

t – ukupan broj lozinki (konacna velicina, konstanta),
i – trenutna lozinka,
w – pocetna tajna (pocetna lozinka),
H – One Way Function (jednosmerna – neinverzibilna funkcija),
A, B – ucesnici u komunikaciji.

Postoje tri osnovne varijante ovakvih sistema:
1. „Zajednicka lista sa OneTimePassword-ima“. Korisnik i sistem koriste sekvencu ili skup od t lozinki, gde jedna vazi samo za jednu autentikaciju, dok pri drugoj autentikaciji koristimo drugu lozinku. Ovaj skup lozinki dostavljamo u vidu pre-shared listi. Ovde je veoma vazno da je sistem u stalnoj sinhronizaciji, jer u suprotnom uneta lozinka ce se porediti sa pogresnim parnjakom. To znaci da korisnik i sistem moraju da koriste „challenge-response table“, kako bi bilo moguce uparivanje lozinki sa obe strane. U principu jedan par lozinki moze vaziti samo pri jedoj autentikaciji.
2. „OneTimePassword koji se menja po potrebi“. U ovom slucaju, inicijalno postoji samo jedna lozinka koju znaju i korisnik i sistem. Pretpostavimo da smo prvi put zapoceli proces autentikacije, i da koristimo lozinku i. Tokom ove autentikacije korisnik stvara i salje sistemu novu lozinku (lozinka i+1), koju sifruje uz pomoc kljuca koji je izveden iz lozinke i. Velika mana ovakvog sistema je ukoliko dodje do greski u komunikaciji (nas PTT je samim tim onesposobio ovakav sistem).
3. „OneTimePassword zasnovan na jednosmernim funkcijama (One-way Function)“. Najbolji predstavnik ove varijante je Lamportova OneTimePassword sema. Ova varijanta je (postujuci njena ogranicenja) mnogo bolja od prethodne. Nju mozemo posmatrati kao „challenge-response (zadatak-odgovor)“ protokol gde je challenge implicitno odredjen sa trenutnom pozicijom unutar skupa lozinki.

Lampartova sema.

Lampartova sema pocinje tako sto korisnik pocinje od pocetne tajne w. H koristimo kako bi dobili niz lozinki: w, H(w), H(H(w)),... Ht(w). Lozinka za i-tu (gde je 1≤i≤t) sesiju autentikacije je wi= Ht-i(w). Sada mozemo da prikazemo protokol.

Zadatak: A se treba autentikovati sistemu B.

1. Inicijalna podesavanja.
a) Konstanta t je fiksna (pretpostavimo da je t =1000), ovim smo ogranicili mogu broj identifikacija sistemu. (Na ovaj nacin sistem se uvek restartuje sa novim w, kako bi se izbegao replay-attack).
b) A salje sistemu B (pocetnu lozinku) w0= Ht(w), kako bi obezbedio autentikaciju same pocetne lozinke. Po primanju ove poruke B postavlja brojac za korisnika A na iA=1.

2. Poruke u protokolu.
i-ta autentikacija se odvija na sledeci nacin:
A salje B : A, i, wi
gde je wi= Ht-i(w).

3. Akcije unutar protokola.
a) A racuna wi= Ht-i(w) (ovo nije tesko izracunati) i to salje B,
b) B proverava da li je i=iA, i da li primljena lozinka wi zadovoljava H(wi)=wi-1. Ako su obe provere uspesne, B prihvata novu lozinku, postavlja iA=iA+1, i cuva wi za sledecu sesiju autentikacije.


UPOZORENJE: SLABOSTI !!!
Ovaj protokol iskazuje slabosti pri aktivnim napadima (znaci kada imamo presretanje poruka). Moguca poboljsanje protokola (ali ne i apsolutna sigurnost) se postize saznanjem da su A i B jedine osobe koje znaju pocetnu lozinku i da su sigurne u autenticnost suprotne strane.

Pozdrav.
 

Back
Top