Kako napraviti dobru lozinku
Uvod
Ako iole ozbiljnije razmislimo o efikasnosti i upotrebnoj vrednosti lozinki koje koristimo, neće biti teško da dođemo do sledećeg zaključka: dobre lozinke nisu jednostavne i kratke, a kratke i jednostavne lozinke - nisu dobre.
U praktičnom smislu, najbolja lozinka je 'poduža' nasumična niska znakova, nalik na nisku xA#!dFRx17121M@VxDaS/%
, sa kojom će se pomučiti svako ko želi da neovlašćeno pristupi tuđim podacima, ali, ako koristimo takvu lozinku - pomučićemo se i mi sami.
Potpuno nasumične lozinke teško se pamte (i lako zaboravljaju (ako se neko uopšte i potrudi da ih upamti)), a ako se pridržavamo pravila koje navodi da za svaki nalog (email, Instagram, Facebook, desktop računar, laptop ....), treba koristiti različite lozinke, koje pri tom ne treba zapisivati (pogotovo ne u elektronskom obliku), lako je uvideti da korišćenje dugačkih i nasumičnih lozinki "podosta napreže vijuge".
Međutim, pošto su dobre lozinke neophodne u svakodnevnim situacijama, pokušaćemo da iznađemo kreativan pristup za kreiranje i pamćenje dobrih lozinki, jer u suprotnom preostaje: ili korišćenje slabih lozinki (naravno, to nikako ne preporučujemo!), ili pamćenje komplikovanih lozinki (to već ostavljamo vama, ukoliko ste raspoloženi).
Opšte odlike neadekvatnih lozinki
Pre nego što ponudimo (relativno) jednostavna rešenja za kreiranje (prilično) dobrih lozinki, objasnićemo zašto su dobre lozinke zapravo bitne i šta su odlike dobrih lozinki - tako što ćemo se prvo pozabaviti neadekvatnim obrascima za formiranje lozinki (pri čemu ćemo predočiti zašto takve obrasce treba izbegavati).
Ukoliko neko pokušava da neovlašćeno dođe do tuđe lozinke, najverovatnije će koristiti jednu od sledeće tri metode: pokušaj poklapanja sa uobičajenim lozinkama (i obrascima za formiranje lozinki), korišćenje informacija o ličnosti čiju lozinku pokušava da preuzme, ili (kao najmanje efikasan i najmanje popularan način), metodu grube sile.
Za početak, razmotrićemo zašto lozinka treba da ima što više znakova (naravno, u 'granicama razuma').
Premali broj znakova
U različitim računarskim sistemima (e-mail nalozi, društvene mreže i sl), često se srećemo sa formularima za registraciju koji od korisnika zahtevaju da izaberu lozinku sa najmanje osam znakova, od kojih je bar jedan cifra (a ponegde se zahteva i upotreba bar jednog velikog slova, pa čak i specijalnih znakova) - i nije preterano reći da mnogi korisnici smatraju da je ispunjavanje navedenih zahteva blagi vid uznemiravanja koji naizgled nema poentu. :)
Međutim, poenta (naravno) postoji.
Najteži način za obijanje lozinki, metoda 'grube sile' (eng. brute force), podrazumeva isprobavanje svih mogućih kombinacija znakova, a u sledećem primeru (preko koga ćemo prikazati "kombinatoriku koja stoji iza lozinki"), smatraćemo da se za isprobavanje jedne kombinacije troši 10-7 sekundi (odnosno, 0.1 mikrosekunda), što praktično znači da se u jednoj sekundi može isprobati 10 miliona kombinacija.
Pitanje je: koliko je vremena potrebno za isprobavanje tipične lozinke, a shodno "brzini" koja je navedena u prethodnom pasusu, deluje da će sve biti izvedeno za tili čas.
Možda (?!), ali, hajde da razmotrimo "brojke" ....
Ukoliko je dužina lozinke 4 (znaka) i pri tom se koriste samo cifre (10 cifara), dolazi se do sledeće računice:
Ukoliko se neko (od mlađih čitalaca), dvoumi oko računice, recimo da se svako mesto može kombinovati sa bilo kojim drugim mestom, tako da u obzir dođe - bilo koji od znakova (kojih u ovom slučaju ima 10) - na bilo kom od mesta.
Za raspon mesta od dva do četiri, važe sledeća pravila:
U svakom slučaju, odmah je jasno da mali broj mesta u šifri i mali broj mogućih znakova za svako mesto, nikako nije "dobitna kombinacija" (nije pošalica).
Ukoliko se broj mesta poveća na osam, sledi:
Ako se cifre zamene slovima, stvari postaju mnogo .... 'bolje' ili 'gore', u zavisnosti od toga da li neko pokušava da 'obije' lozinku, ili da je zaštiti.
Ukoliko se umesto cifara koriste slova engleskog alfabeta (26 znakova, umesto 10), vreme potrebno za isprobavanje lozinki raste (i to - veoma primetno):
Ako se na kraju dodaju velika slova (+ 26 znakova), specijalni znakovi (neka bude + 10 znakova, mada ih svakako može biti i više od 10), i ukoliko se 'vrate' cifre (+ 10 znakova), broj mogućih znakova za svako mesto raste na 72, a "računica" po pitanju vremena za isprobavanje lozinki - još je "očiglednija":
Dakle, 'obijanje' metodom grube sile, nije nimalo praktičan metod ukoliko lozinka ima iole 'pristojnu' dužinu.
Međutim, koliko god to neverovatno zvuči, u većini slučajeva, korisnici računarskih sistema praktično sami "poklanjaju" svoje lozinke ....
Lični podaci i suviše jednostavni obrasci
Poslednje što smo naveli, na prvi pogled zvuči neverovatno, jer gotovo niko neće nekom nepoznatom doslovno "pokloniti" lozinku, ali (nažalost), situacija u praksi često nije ni mnogo daleko od 'doslovnog poklanjanja'.
Kada se nedovoljno upućeni korisnici upoznaju sa prethodno navedenim pravilima o dužini lozinki (i zapravo ih uvaže), pri kreiranju lozinki obično će izabrati obrazac koji podrazumeva korišćenje ličnih podataka, koji su lako dostupni.
Ako vaša lozinka nije više "223", već "jecarex89", to jeste malo bolje, ali, druga navedena lozinka jedino zadovoljava kriterijum minimalne dužine (dok, sve ostalo, 'pada u vodu'): ako se Vaša supruga (devojka ili sestra i sl), zove Jelena, Rex je Vaš pas, a 1989. je godina Vašeg rođenja, onda je "tajna" šifra (umesto 'baš odmah'), "pala" već na drugom koraku.
Naivno je poverovati da neko ko pokušava da dođe do šifre neovlašćeno, neće uzeti u obzir šifru koja je formirana po gornjem obrascu, jer - da vas razočaramo - hoće, a pre svega, iza takvih pokušaja neće biti neko ko to radi ručno, već (kao što smo ranije nagovestili), automatizovani sistem koji lozinke isprobava izrazito velikom brzinom.
Prilično poražavajuće statistike (u koje autor ovih redova na nekom nivou i dalje odbija da poveruje), navode da ogroman procenat ljudi (pa čak i administratora mrežnih sistema i sličnih pojedinaca koji bi trebalo da "znaju bolje"), koristi krajnje jednostavne i lako "provaljive" lozinke, kao što su "123", "pass", "lozinka", zatim, lozinke koje se poklapaju sa korisničkim imenom (doduše, sistemi za registraciju obično odbijaju da kreiraju nalog u ovakvoj situaciji), kao i druge slične (najjednostavnije) obrasce.
Tipična situacija podrazumeva da određeni korisnik (ipak) ne upotrebljava niske "123", "lozinka" i sl. kao lozinku, ali - moguće je da se nevoljno "odaje" na drugi način (vratićemo se na primer koji smo prethodno izneli) ....
- na Fejsbuku stoji status koji ukazuje na to s kim je korisnik u braku
- na Instagramu stoji zajednička slika sa kućnim ljubimcem (koji je uredno potpisan imenom)
- na profilima sa društvenih mreža stoji i datum rođenja korisnika (sa godištem koje je korišćeno kao deo lozinke)
Summa summarum (pretpostavljamo da je sada skroz jasno na šta ciljamo): iako mnogi korisnici različitih računarskih sistema ne poklanjaju lozinke doslovno - skoro da je tako.
Pravila za definisanje dobrih lozinki
.... ili, bar - "mnogo boljih" :)
Sada kada smo vas (nadamo se) ubedili u to da se sa lozinkama ipak 'ne treba šaliti', vraćamo se na početak (i postavljamo pitanja): kako kreirati dobru lozinku? Šta je (uopšte) dobra lozinka? Koje su osnovne odlike dobrih lozinki?
Postoji li možda jedna osobina koja određuje dobre lozinke?
U praktičnom smislu, zapravo postoji.
Kao što smo videli, lozinke koje nisu adekvatne: ili su suviše jednostavne u osnovnom tehničkom smislu (premali broj znakova), ili su formulisane po jednostavnim obrascima koji se lako prepoznaju, i stoga se može reći da je njihova zajednička osobina - predvidljivost.
Nije onda teško zaključiti da je glavna osobina dobrih lozinki (nasuprot navedenom) - nasumičnost.
Nasumičnost se najbolje postiže (to smo videli na početku), generisanjem i korišćenjem doslovno nasumičnih niski znakova, ali, takve lozinke se onda moraju čuvati na adekvatan način (preko posebnog softvera za sigurno skladištenje lozinki, ili, u sefovima i sl), jer, u slučaju neadekvatnog čuvanja, praktično se poništava svrha kvalitetnih lozinki.
Međutim, moramo biti praktični i ne možemo ipak očekivati da će se većina korisnika ("baš") toliko truditi oko svojih lozinki za naloge koji se koriste svakodnevno, i stoga je potrebno iznaći metod koji (po mogućnosti) pruža okvirno 90% sigurnosti koju nude doslovno nasumične šifre - uz cca. 10% uloženog truda.
Rešenje koje vam predlažemo podrazumeva da "smislite priču" po jednom od sledeća dva obrasca:
- kraća priča od nekoliko nepovezanih reči (koje ćete koristiti u celosti)
- duža priča - iz koje ćete 'izvući' samo početna slova upotrebljenih reči
Za varijantu sa nekoliko nepovezanih reči, savetujemo da upotrebite bar četiri reči, tako da ukupna dužina bude bar 15 znakova (još bolje i preporučljivije je 6/20, ako ste iole raspoloženi da pamtite).
Naravno, nivo očigledne povezanosti među rečima treba da bude što manji, ali, obrazac istovremeno treba da bude dovoljno "čudan i zanimljiv" - da biste vi sami mogli da upamtite nisku.
Recimo, nešto nalik na ....
Jeste, čudno je i nepovezano, ali (istovremeno): vrlo nasumično i (ako se iole potrudimo) - lako pamtljivo - i upravo u svemu tome je poenta. *
Uz malo truda, osmislili smo 'neobičnu konstrukciju' koja zapravo prestavlja (sasvim dobru) lozinku od preko 30 znakova. **
Veliki broj znakova u lozinki koju smo prethodno "konstruisali", skoro da garantuje da pokušaj pronalaženja metodom znak-po-znak neće uspeti, ali, ni u kom slučaju ne smemo tvrditi da se prikazana lozinka ne može probiti pokušajima poklapanja metodom reč-po-reč (da, naravno da se neko i toga dosetio).
Međutim, pojedinačnih reči ima "prilično mnogo" (a valja uzeti u obzir i različite padežne oblike imenica, glagolska vremena i sl), i stoga je broj kombinacija i u ovom slučaju izuzetno velik, a može se sve "začiniti" i namernim "greškama" (i naravno, kombinacijama velikih i malih slova i dodavanjem specijalnih znakova):
Gore prikazana lozinka je već prilično dobra, ali, budući da je u pitanju rečenica koja je ipak gramatički ispravna (u najvećoj meri), moglo bi se reći da nije dovoljno nasumična. *
Ako je (ipak) potrebno kreirati bolju lozinku - a pri tom želimo da koristimo obrazac sličan prethodnom - preostaje jedino da "nabacamo" nekoliko nasumičnih, međusobno nepovezanih reči, koje ne formiraju gramatički prepoznatljiv obrazac (na primer: "pasteleskopbilismouradiookretan"), međutim, takvi obrasci nisu jednostavni za pamćenje (ni iz daleka).
Za kraj predlažemo metod koji tipično proizvodi kraće, ali zapravo nasumičnije lozinke, i podrazumeva "smišljanje nasumične priče" - iz koje se potom za lozinku biraju (samo) prva slova svih reči (uz koju izmenu i dopunu):
Lozinka je sigurnija, zahteva malo veće angažovanje u odnosu na pamtljive kombinacije nasumičnih reči (ali zato, znatno manje angažovanja u odnosu na potpuno nasumične kombinacije reči - a pogotovo u odnosu na doslovno nasumične niske), i stoga je potrebno odmeriti kada treba koristiti prvi, a kada drugi pristup.
Mogli bismo reći da je prva kategorija lozinki ("rumeni karburatori"), krajnje primerena za obične korisničke naloge na mrežnim računarima, web mail, društvene mreže i sl, dok bismo za kritičnije namene kao što su administratorski nalozi na mrežnim računarima, platni servisi i sl, svakako radije koristili metodu sa dužom pričom i početnim slovima (a možda i neku potpuno nasumičnu lozinku).
Na kraju, mali rezime osobina koje odlikuju dobre lozinke:
- minimum 8 znakova (ali, to je "baš minimum" - preporučujemo bar 10 ili 12 znakova)
- što veći nivo nasumičnosti
- birajte nasumične kombinacije reči koje se lako pamte, ali nemaju veze jedna sa drugom - i pogotovo ne sa vama lično (ili smislite kraću priču, pa upotrebite samo početna slova)
- dodajte bar poneki specijalni znak ponegde (i zamenite poneko malo slovo velikim)
Za kraj ....
Pre nego što završimo, još jednom molba za sve čitaoce (nadamo se da se podrazumeva, a ako se ne podrazumeva, spomenućemo "naglas" za svaki slučaj ): nemojte koristiti nijednu od lozinki koje smo navodili u članku, niti druge lozinke koje ste negde videli (jer, ako ste ih videli Vi, video ih je i "neko drugi").
Uz prethodnu napomenu, ostavljamo vas da smislite svoje lozinke koje neće biti teške za pamćenje, ali će doneti znatno više sigurnosti u odnosu na lozinke kakve većina korisnika (nažalost), i dalje obično upotrebljava.