Kako izbrati dobro geslo (in si ga zapomniti)
"21% gesel smo uganili v prvem tednu, 2.7% pa že v prvih 15 minutah preverjanja."
Slaba gesla
Da spoznamo dobro geslo, moramo najprej poznati slaba.
Slaba so tista gesla, ki jih je mogoče uganiti z avtomatiziranim poskušanjem. Programi za ugibanje gesel zmorejo pregledati vse kombinacije znakov le za krajša gesla (do npr. 6 znakov v spremljivem času), pri ugibanju daljših gesel pa se zatečejo k poskušanju s podmnožico gesel, ki sloni na poznanju osebnih podatkov o uporabniku in na splošno znanih besedah iz slovarjev, knjig in podobnih zbirk besed ali krajših fraz, ter na preprostejših izpeljankah in variacijah teh besed. Javno in preprosto je dostopna ogromna količina besed v raznih jezikih, zato nismo varni niti z geslom v eksotičnem jeziku niti z malo znanim mitološkim bitjem.
Slabo geslo je:
- geslo, sestavljeno ali izpeljano iz vašega uporabniškega imena (šifre na računalniku), imena in priimka ali iz drugih osebnih podatkov, kot so npr.: ime soproga/soproge, otrok, staršev, psa, ime sodelavca/sodelavke ali prijatelja/prijateljice; vaša telefonska številka, registrska tablica avtomobila, ime firme, katerikoli del vaše matične številke - vključno s preprostimi permutacijami teh delov (npr.: Jereb, pjereb, peterj, PETER, Dr.Jereb, retepJ, jerebjereb...);
- geslo, izpeljano iz imena vašega računalnika ali operacijskega sistema ali izpeljano iz kateregakoli uporabniškega imena na tem računalniku, vključno z variantami: z veliko začetnico, podvojeno, napisano nazaj, napisano naprej in nazaj ipd;
- geslo, ki je beseda, ki jo lahko najdemo v slovarjih (v domačem ali tujem jeziku), leksikonih in drugih spiskih besed in verjetnih gesel, med drugim:
- imena slavnih ljudi ali izmišljenih junakov, imena mitoloških bitij, športnih ekip, ...;
- lastna imena, priimki, krajevna imena;
- naslovi filmov in knjig ter krajev in oseb iz njih;
- strokovni ali žargonski izrazi;
- pogoste ali vulgarne fraze in njihove okrajšave;
imena firm in njihovih proizvodov (avtomobili, letala, računalniki, HiFi in foto tehnika, ...);
- kratice;
- iz gornjih imen tvorjeni: množina, pridevnik, trpnik, v angleščini dodani "ing" ali "ed" in podobne izpeljanke;
- zamenjave črk v gornjih besedah, med drugim zamenjava prve (ali poljubne) črke v besedi z veliko črko ali s krmilnim znakom, pretvorba cele besede v velike črke, beseda, zapisana nazaj ali podvojena, zamenjava
- črke 'o' v cifro '0',
- črke 'l' v cifro '1',
- črke 'z' v cifro '2',
- črke 'h' v cifro '4',
- črke 's' v cifro '5' ali znak '$',
- črke 'a' ali 'o' v znak '@', in podobno;
- preprost vzorec (bbbbbb, 12345678), vzorec s tipkovnice (qwerty, asdfghjkl);
- geslo iz številk, še posebno iz takih, ki izvirajo iz osebnih podatkov, npr. telefonske številke, matične številke, naslovi, registrske tablice, datumi; pa tudi druge številke zapisane s ciframi, npr. 2001, ali zapisane z besedo (dvanajst, twelve);
- karkoli od doslej naštetega, čemur sledi (ali pred katerim stoji) ena cifra, dvomestna letnica ali ločilo;
- karkoli od doslej naštetega, zapisano nazaj (ali podvojeno za kratke besede);
- geslo, krajše od šest znakov;
- za sisteme Unix: geslo, ki je sestavljeno iz samih velikih ali samih malih črk (glej spodaj).
Dobra gesla
Dobro geslo je tako, ki si ga z lahkoto zapomnimo, a ga je težko uganiti.
Ne dá se povedati pravila, kako sestaviti dobro geslo - takoj ko bi ga povedali, tako narejena gesla ne bi bila več dobra. Če pa se izogibamo zgoraj naštetim slabim geslom in prepustimo svoji domišljiji prosto pot, bomo ob spodnjih idejah lahko brez težave izbrali odlično geslo:
- uporabimo dvoje ali več pomensko nepovezanih besed, vmes pa namečemo še * uporabimo začetne črke stavka, ki si ga je lahko zapomniti, a ga je težko uganiti, npr.:
Hladno pivo! Kar dva prinesite, prosim. -> Hp!K2pp. (Unix), hpivo_k2pp (VMS)
- če uporabimo nesmiselni stavek [2, 3, 4], bo geslo se težje uganiti, zaradi kakšne šokantne ali vulgarne beseda v njem pa si ga laže zapomnimo:
Zakokodakal si je: "fikslavdon, strela nebeska!" -> Zsj:f,Sn! (Unix), zkksjfl$n (VMS)
Ne pozabite, da mora biti izbrano geslo dovolj dolgo, da ga ni mogoce uganiti s poskušanjem vseh kombinacij znakov.
Ne uporabite gornjih primerov za svoja gesla! S tem, da smo jih zapisali, so postala slaba.
Omejitve operacijskega sistema
V idealnem primeru lahko v geslu uporabljamo vse 8-bitne znake, vključno z ločili, posebnimi znaki, krmilnimi znaki ter velikimi in malimi črkami, ki se ločijo med seboj. Tudi dolžina gesla naj ne bi bila omejena, tako da bi lahko izbirali tudi daljše stavke (te v angleščini imenujejo pass phrase namesto password).
Nekateri sistemi in programi se temu idealu precej približajo (npr. PGP, S/Key), žal pa postavljata operacijska sistema Unix in OpenVMS precejšnje omejitve za gesla, ki ščitijo vklop na uporabniške šifre.
Unix
Dolžina gesla je omejena na 8 znakov. Če vtipkamo več kot osem znakov, se preostanek ignorira brez opozorila. Velike in male črke se ločijo med seboj, v geslu lahko uporabimo tudi večino posebnih in krmilnih znakov. Z znakoma '@' in '#' utegnemo imeti težave na nekaterih računalnikih, zato se jima raje izognemo.
Dolžina gesla 8 malih črk se že približuje možnostim napada z grobo silo (preizkušanje vseh možnosti), zato je priporočljivo, da v svojem geslu uporabimo tako male kot tudi velike črke in vmes dodamo tudi kakšno številko ali ločilo - tako se število možnosti, ki bi jih bilo treba pregledati za napad z grobo silo, drastično poveča.
OpenVMS
Dolžina gesla je omejena na 32 znakov. Velike in male črke se ne ločijo med seboj. Poleg črk in številk lahko uporabimo le še znaka '$' in '_', drugi posebni znaki niso dovoljeni.
Manjši nabor možnih znakov kompenziramo z nekoliko daljšim geslom.
Windows NT
Dolžina gesla je omejena na 14 znakov. Pri neposrednem vklopu na sistem ali pri vklopu prek omrežja z drugega sistema Windows NT se velike in male črke ločijo med seboj, pri vklopu prek omrežja iz sistema, na katerem ne teče Windows NT, pa se ne ločijo. Dovoljeni so tudi posebni znaki in znaki s kodami nad 128, le da je nekatere znake s posebnim pomenom v nekaterih kontekstih potrebno zaščititi (npr. z narekovaji ali '\').
Literatura:
- "Foiling the Cracker", A Survey of, and Improvements to, Password Security
- How to Choose a Passphrase FAQ
PassPhrase FAQ
- Privacy Begins With Your Passphrase
- RFC1938 - A One-Time Password System
- OPIE - One-Time Passwords In Everything -- a software implementation of RFC1938
- The S/KEYtm One-Time Password System
- Unix Password Security