Kan du fortælle mig mit kodeord?

Jeg har på det seneste et par gange på Twitter (og dermed også Facebook) brokket mig lidt over login systemer på det seneste. Noget tyder i hvert fald på, at det der burde være en rimelig og ansvarlig politik og “best practice” politik, overhovedet ikke følges – selv når der er tale om nye (og prestigefyldte) websites.

Note: Det følgende er skrevet i håbet om at være nogenlunde forståeligt af alle, og der er derfor bevidst lavet nogle simplifikationer og udeladt detaljer – f.eks. omkring “salt” af hash algoritmer. Jeg håber trods dette, at den har værdi og giver mening.

Der er 2 åbenlyse faresignaler, man bør være opmærksom på, hvis man har med online login-systemer at gøre:

  1. Man bør aldrig nogensinde blive tvunget til at have en maksimal længde på passwords (i hvert fald ikke på under 40-50 tegn).
  2. Et website bør aldrig nogensinde kunne gensende dig dit password via en “glemt kodeord” funktion.

Ad 1) I “gamle dage” da man lavede de første websites med logins, der skulle det sikkert bare gå stærkt, og sikkerhed var typisk noget, der blev kigget på “når man fik tid”. Derfor var der mange sites, som startede med en tabel i en database, der ret beset bestod af et felt til brugernavn og et til passwordet – matchede de to med det, som brugeren tastede ind, blev han godkendt.

Udover det åbenlyst uheldige i at enhver udvikler, webmaster og andre med adgang til denne database, uden videre vil kunne udgive sig for at være brugeren, så er der også det problem, at hvis man har “indbrud” på serveren (populært sagt, at den bliver “hacket”), så vil de ubudne gæster også kunne skaffe sig en kopi af samtlige brugernavne og tilhørende passwords. Det skete f.eks. for Yahoo! i sommers, hvor over 450.000 brugernavne og kodeord (i klar tekst) blev kopieret af folk, der havde fundet en sikkerhedsbrist i et af deres sites.

Når man har brug for kunne genkende en bruger, så er det ikke brugerens password, man har brug for at gemme – det er en sikkerhed for at brugeren har tastet det rigtige password, og her kan matematikken hjælpe.

Der findes nemlig såkaldte “hash funktioner“, som er en slags en-vejs kryptering. Man giver et kodeord til en hash funktion, og den returnerer altid det samme samme. Svaret har altid samme længde, og der bør ikke findes nogen mulig måde, at komme fra svaret, der er kommet ud af Hash funktionen tilbage til det oprinelige kodeord.

Laver man login systemer i dag, så er det resultatet af hash funktionen man gemmer, ikke brugerens kodeord. Med hash funktionen(*) kan ingen ud fra den gemte tekst som udgangspunkt se brugerens kodeord (og dermed misbruge det), men vi kan stadigt være helt sikre på, at brugeren kender kodeordet, der hører til brugerens konto.

Ad 2) Hvis websitet er i stand til at sende eller på anden måde udlevere dit kodeord, så forudsætter denne handling, at det er gemt i klar-tekst (eller i det mindste på en sådan måde, at det kan bruges tilbage til klar-tekst).

Givet mange har for vane, at genbruge samme brugernavn og kodeord igen og igen på tværs af mange sites – twitter, facebook og mange, mange andre steder, så er det, at ens brugernavn og kodeord ligger i klar-tekst på et tilfældigt site, ikke kun et problem for det ene site, hvis de som Yahoo! har digitalt indbrud og fremmede får en kopi af brugerkonti.

Websites, der har lavet sikkerheden rigtigt, har typisk også en “glemt kodeord” procedure. Den fungerer typisk ved at man enten får udstedt et nyt midlertidigt kodeord og får dette via mail, telefon eller lignende (og ofte tvinges til at skifte dette ved første brug, så ingen efterfølgende har mulighed for at kende dit personlige kodeord) – eller også sender de et link med en lang kode i, som giver adgang til at lave et nyt kodeord.

Lidt om hash funktioner

Der findes mange forkellige hash funktioner. Nogle af de mest kendte er CRC32, MD5 og SHA1. Funktionerne bruges ikke kun i forbindelse med passwords, men også i forbindelse med “checksummer”, så man f.eks. kan lave en “hash” af to tekster, og hvis den bliver ens, så er teksterne antageligvis ens.

En hash kvalitet måles ud fra flere forskellige parametre, blandt andet hvor tung den er at lave for serveren, hvor tilfældigt resultatet er i forhold til hvad man giver den af input (om det er muligt at se mønstre i det, der kommer ud) og hvor lang den hash (resultat), der resulterer i.

LastPass – sikre kodeord overalt

Lastpass

Det kan være vældigt svært at huske alle de kodeord,  som alle de websites vi efterhånden bruger, kræver af os. For mange er løsningen desværre, at man har samme brugernavn og kodeord rigtigt mange steder – og det er ofte et rimeligt simpelt password, så det er til at huske. Der findes nogle forskellige bud på hvordan man kan løse det – blandt andet har Firefox og Google Chrome browserne indbyggede password managers, men de virker kun på en enkelt maskine – og flere arbejder på mindst to – arbejdscomputeren og den private derhjemme.

 

Et af de enkleste og mest effektive løsninger på password-problemet hedder Lastpass. Det er en website, som også har integration til Internet Explorer, Safari, Firefox og Google Chrome, og som kan hjælpe dig med at styre dine passwords. Med LastPass har man sit login til LastPass selv, men derfra kan LastPass overtage alle dine øvrige login behov på facebook, twitter og de tusinde andre tjenester, som du måtte benytte.

 

Lastpass kan importere de passwords, som din browser allerede kender, så du hurtigt er nemt igang. Det smarte ved lastpass er så, at den krypterer dine login-oplysninger lokalt, og kun sender krypterede data til Lastpass’ server. Dine login-oplysnigner ligger kun i krypteret form hos lastpass, så selvom de ville, så har de ikke adgang til at se oplysningerne. Selv når du bruger lastpass websitet til at se dine oplysninger, så er det din browser, ikke deres website, der dekrypterer oplysningerne og viser dem på skærmen.

Lastpass findes til Chrome, til Safari, til Firefox og til Internet Explorer.

Når er kommet i gang med LastPass, så findes der i øvrigt også en Security Challenge, som tester ens sikkerhed og giver en score i forhold til LastPass’ øvrige brugere. Den viser også i resultatet hvor man har brugt det samme kodeord igen og igen – så man kan få lavet det om.

I sin grund udgave er lastpass gratis, men du kan også tilkøbe et medlemskab (det koster pt. US$ 1 pr måned. Med dette får du også adgang til dine passwords på mobil telefonen, så du kan slå brugernavne og kodeord op på den, samt mulighed for at dele login oplysninger med andre.

 

Besøg lastpass.com.

Skift kodeord… ja altså

Så er det på tide at skifte kodeord til Windows netværket på arbejde. Det er altid en spændende opgave, idet feedback teksten man får, hvis det nye kodeord ikke opfylder de regler, der nu måtte være sat op, ikke helt er til at dekryptere. Er der nogen, der kan hjælpe mig til at finde et nyt kodeord, der opfylder det sidste krav – “… og skal være mindst 2 dage gammel”?

Media_httpnetfactoryd_jnhai

Klik for at se det i stor udgave.