Galerija

Koliko je siguran vaš pasvord?

Danas, teško je i zamisliti Internet bez registracije u desetine, pa čak i stotine sajtova. Svaki traži ponovo, novo korisničko ime i lozinku (username i password). I neki od njih, oni napredniji, kao na primer Gugl, mada i mnogi drugi, prilikom unošenja lozinke pomažu korisniku da lozinku učine čvršćom. I pri tom savetuju da se koriste mala i velika slova, brojevi, specijalni znakovi i kombinacije slova van ljudskog rečnika bilo kog jezika. I ako uspete to sve da ispoštujete, onda vam se lozinka vrednuje, Gugl vam daje ocenu čvrstine.

Sigurnost zahteva mnogo više od samo snažnih pasvorda, ali to je minimum  koji morate da odradite

Sigurnost zahteva mnogo više od samo snažnih pasvorda, ali to je minimum koji morate da odradite

O čemu se tu radi, kakve veze imaju ovi saveti i neprobojnost lozinke? Šta uopšte znači neprobojnost, Gugl o tome ne govori? Problem je neverovatno složen i zahteva analizu na nekoliko nivoa. Cilj lozinke je da se ulaz u neki sajt ili vidljivost nekog određenog podatka ili fajla, omogući samo korisniku koji ima pravi ključ, odnosno tajnu reč koju, u teoriji, niko osim vlasnika ne bi mogao da sazna. Dok je zlonamerniku cilj da se dočepa te lozinke da ukrade neki podatak ili ulaz u neki sajt, pa čak i bankarski. Da bi se zlonamerniku posao otežao, ako ne i potpuno onemogućio, lozinka mora biti netrivijalna. Zlonamernici nisu neki magovi ili telepatski čitači. Ne, oni jednostavno koriste veliku računarsku snagu da izlistaju sve moguće permutacije svih mogućih simbole date dužine, brojeva i znakova i probaju jedan za drugom sve redom, dok jedna ne upali. Što je računar brži, a vaša lozinka kraća, to je lopovu posao lakši. Zašto je to tako? Evo jednog sajta koji to lepo ilustruje.

https://howsecureismypassword.net/

Ako otkucate, recimo, password:

«01»,

dobićete rezultat da je broj mogućih kombinacija 100 i da je današnjem prosečnom PC-ju potreban delić sekunde da takvu lozinku otkrije. Zašto? Zato što ste koristili samo brojeve, i to samo dve cifre, dakle, broj kombinacija je 10^2, zato što imate samo 10 različitih simbola. Ako tako nastavite, pukim povećavanjem broja cifara, doćićete i do:

«01234567890123456789»,

dakle 20 cifara. Sajt će vam reći da sada ima 100 kvintiliona kombinacija (10^20) i da je potrebno 792 godine PC-ju da to otkrije. To bi se moglo već smatrati sigurnim pasvordom. No, pamtiti lozinku od 20 cifara nije nimalo lako, trebalo bi to skratiti. Da to postignemo, moramo koristiti dodatne simbole. Tako da ako preko tastature krenemo da korstimo i slova, mala, velika i akcentovana, kao i specijalne simbole, stvari će se bitno popraviti. Sledeći primer može biti:

«Qw@:Š0123»

Rezultat: 1 sekstilion kombinacija i 11 hiljada godina potrebno da se lozinka «provali» silom. Samo 9 simbola su mnogo jači nego 20 simbola iz prethodnog prmera. Zato što sada imamo skup od 224 moguća različita simbola na devet mesta, to je 224^9=1.4 * 10^21 permutacija. Dakle, lozinke već od 9 simbola su više nego sigurne. Ali, samo ako korstite ova pravila, Lozinka

«012345678»

što takođe ima 9 simbola se «provali» u deliću sekunde, nezavisno od toga kojim redom te cifre poređate, jer je broj permutacija veoma mali, 10^9 = 1 bilion.

Kako je moguće da računar može da izlista 1 bilion permutacija za samo jednu četvrtinu sekunde? Ako se podsetimo da današnji računari rade na 3 GigaHerca, to znači da mogu da izvrše oko 3 biliona operacija u sekundi po jezgru i ako, uz to, dodamo izvesan nivo paralelnog izvršavanja čak unutar jednog jedinog jezgra, lako možemo doći do 4 biliona što je pretpostavka ovog sajta u računanju vremena da se silom otkriju lozinke. 4 biliona je sasvim razumna i skromna aproksimacija. Dakle:

1 bilion permutacija / 4 biliona operacija po sekundi = 0.25 sekunde.

Dok je u prethodnom primeru bilo

(1.4 * 10^21 permutacija) / (4 * 10^9 PC operacija) / 3600 sekundi / 24 sata / 365 dana = 11098 godina.

Matematika je tu sasvim nemilosrdna, i tu nema pomoći. Uzgred, nikako ovaj sajt nemojte koristiti da kontrolišete svoje prave kandidate za sigurnost lozinke, već samo da biste naučili kako se to računa. Kada to jednom naučite, a veoma je lako, onda napravite nekoliko formula u Excel programu i tamo proveravajte. To zato, što nikada ne možete biti sigurni da ti sajtovi, a ima ih više ne pamte i ne šalju to realnim zlonamernicima, čak iako tvrde da to ne rade. Sigurno je samo ono što je osigurano.

No, kao što sam na početku rekao, ovaj deo je najlakši, jer samo govori o probabilističkom aspetku problema. Jako je bitan izbor simbola. Ali, tu sada već izlazimo iz algoritmike i ulazimo u heuristiku, odnosno u korišćenje poznavanja psiholoških fenomena na izbor kombinacije simbola. Na primer, ako koristite reči iz nekog od rečnika prirodnih jezika, čak i ako su dugačke, vaše lozinke su potpuno nesigurne. Zato što kripto analitičari, ili lopovi, znaju kako se ljudi ponašaju i napadaju lozinke ne samo ređajući sve permutacije grupa simbola, već i listajući reči iz rečnika. Tako da lozinka

«otorinolaringolog»

koja ima čak 17 simbola iz skupa od 26 (jer koristi mala neakcentovana latinična slova, u teoriji je veoma sigurna jer je potrebno 8 miliona godina da se «provali» permutacijskim postupkom (i to možete i proveriti na pomenutom sajtu), u realnosti se može otkriti u deliću sekunde jer broj reči u bilo kom jeziku ne prevazilazi milion, a milion operacija se izvršava u manje od sekunde. Dakle, PC primenom rečničkog napada, ima neverovatno lak posao. Izlistati milion reči je dečja igra za današnje računare.

Čak iako koristite kombinaciju malih i velikih slova, na primer

«Pera Ide Na Posao»,

stvar se veoma malo menja, svaka reč se može izlistati sa početnim malim i velikim slovom, tako da broj reči i rečniku se blago podigne sa jednog na dva miliona, dakle i dalje smo ispod sekunde. Stvari se poboljšavaju ako velika slova koristite počevši od drugog mesta. Na primer:

«pEra idE nA posAo»

je malo komplikovanije da se «provali» jer broj reči u rečniku sa svim permutacijama malih i velikh slova, raste, ali ne tako velikom brzinom. Ako bismo pretpostavili da prosečna reč ima 8 slova, rečnik bi za svaku reč morao da pamti 2^8 = 256 reči umesto jedne. 256 miliona reči u rečniku je i dalje ispod jedne sekunde, jer setimo se, sve ispod 4 biliona je delić sekunde za «provalu». Dakle, ništa značajno ne dobijamo ovim metodom. Dakle, ako želimo sigurne lozinke, moramo potpuno da napustimo bilo koja značenja iz bilo kog prirodnog jezika. I ne pomaže korišćenje stranih reči, jer napadači imaju sve rečnike u svojim bazama. Ne pomaže previše čak ni izostavljanje razmaka između reči, jer kriptoanalitičari znaju da korisnici i to rade, pa onda pokušavaju da rastave na sastavne delove skup simbola koristeći opet rečnički napad, i u slučaju ambivalencije, ponude napadaču par kombinacija umesto samo jedne da čovek na kraju odluči, ali to ne predstavlja neku bitniju prepreku.

No, problemi se i ne zavšavaju na tome. Veliku ulogu igra i to koliko je nadapaču stalo do vaše lozinke. Jedan računar može da izvrši 4 biliona operacija. Ali, računar sa 4 jezgra može 16 biliona, dok svi računari sveta, što privatni, što u firmama, što u oblacima, lako mogu da dostignu i broj od 4 biliona, što znači da bi, teoretski, neka svemoćna špijunska organizacija, kao američka NSA ili neka ekvivalentna kineska, zaista mogla da pristupi svim računarima sveta. U tom slučaju, mogla bi da računa na:

16 biliona operacija po računaru * 4 biliona računara = 6.4 * 10^19 operacija.

A to bi značilo iz prethodnog primera sigurne lozinke od 9 simbola «Qw@:Š0123», račun bi izgledao potpuno drugačije:

(224^9 permutacija) / (6.4 * 10^19 PC operacija) = 22 sekunde

Dakle, sa svom svetskom računarskom silom, stvari se bitno menjaju. Da biste bili sasvim sigurni, morate dodati po još koji simbol. Matematika je opet na vašoj strani, esponencijalni rast broja permutacija je takav da samo još uz dodatna 4 simbola, opet ste sigurni:

(224^13 permutacija) / (6.4 * 10^19 PC operacija) / 3600 sekundi / 24 sata / 365 dana = 1771 godina

Dakle, NSA, čak i uz svu svetsku silu, lozinku «Qw@:Š0123<>[]» ne može da «provali».

I to NSA, zna veoma dobro, pa onda primenjuje druge vrste „heuristike“. A to znači koristiti se „uslugama“ susednog joj odelenja CIA-e kao na primer podmetanje špijuna, korupcija, ucene, pretnje, otmice dragih osoba i tako dalje. Dakle, ide se na ljudski faktor koji je daleko lakše manipulisati nego boriti se sa zakonima matematike. Sve samo zavisi od nivoa važnosti otkrivanja neke tajne. No, NSA nije bahata organizacija, tako da najpre pokuša sa mnogobrojnim tehnikama kriptoanalize iz daleka, koristeći sve ovo do sada opisano, i mnogo toga preko toga, i samo ako to na kraju ne upali, onda prelazi na drastičnije metode radeći na ljudima. Ali to je skupo i komplikovano, tako da ako vaše tajne nisu toliko vredne, neće nikoga angažovati, ali ipak, ne budite toliko nepromišljeni da ne se ne štitite jakim pasvordima, jer ako ništa drugo, NSA će koristiti vaš računar za napad na nešto veće, vi možete biti samo odskočna daska za nešto mnogo prljavije. Ne zaboravite sveto pravilo u informatici. Zaštita podataka se mora gledati globalno, ne lokalno. Lanac puca u najslabijoj karici. Ne dozvolite da vi to postanete.

Ja pišem vama, a vi meni recite šta mislite. Voleo bih da saznam o…

Advertisements

One comment on “Koliko je siguran vaš pasvord?

  1. Povratni ping: Mašina Enigma u kućnoj radinosti, deo 1 | Markus Maki

Zatvoreno za komentare.