Lösenord verkar vara den moderna versionen av den medeltida hårshirt.

De verkar existera som irriterande för dagens online liv. Vill du ha tillgång till din dator? Lösenord Tack. Vill du lägga till en Facebook-status? Lösenord! Vill du kolla ditt bankkonto online? Lösenord behövs!

Så, hur skapar du bra? Faktum är vad bra? Hur kommer du ihåg dem? Hur kan du minska irritationen?

För att autentisera dig själv till de system du använder varje dag - för att bevisa att du är den du säger är du - du använder ett lösenord. Det här lösenordet är i princip allmänt känt för dig själv och det system du försöker komma åt - det är Facebook, Twitter, din bank, din email, din blogg eller något annat. Det är en hemlighet att inte avslöjas för tredje part.

Det finns en annan viktig del i autentiseringspusslet - ditt användarnamn - men det här är generellt din e-postadress eller ditt namn i någon sammanfogad form och är lätt att upptäcka. Ditt lösenord är därför "öppen sesam" som avslöjar allt om dig. Hur kan du se till att din integritet förblir intakt och att hemligheten kvarstår?

Låt oss ta ställning till frågan ur synpunkten för en svart hatthackare som vill förhöra dig för ett visst system. För att höja insatsen, låt oss anta att systemet är din bank och hacker vill testa din kreditgräns. Hur kan han få ditt lösenord?

Se och lär

Det första sättet är det enklaste: han tittar på dig när du skriver in ditt lösenord. På så sätt spelar ingen roll hur stark eller svag ditt lösenord är; hackaren tittar bara på att du anger den. Jag kommer att anta att du skulle vara medveten om att någon tittade över din axel, så frågan blir hur annars kan en hackare titta på dig?

I mars hackades RSA (producent av SecurID-systemen som används av företag och Förenta staternas försvarsdepartement). Någon lyckades få tillgång till interna system och nätverk och stjäla hemligheter som hänför sig till SecurIDs tvåfaktors autentiseringsnyckel.

Ett par månader senare försökte de hacka in i Lockheed Martin, försvarskontrakten som använde dem. Hur var det gjort? Enkelt - det var en phishing-attack.

Ett e-mail som påstod att vara ungefär 2011 rekryteringsplaner och som innehåller ett Excel-kalkylblad skickades till flera lågprofilpersonal vid RSA, till synes från en rekryteringsbyrå. Kalkylbladet innehöll ett inbäddat Adobe Flash-objekt som i sin tur innehöll en nolldagars sårbarhet. När kalkylbladet öppnades installerade den här malware en bakdörr på maskinen, vilket gav attackerna tillgång till datorn och nätverket.

Vid den tiden är alla insatser avstängd. Hållaren kan installera en keylogger och spåra exakt vad du skriver på inloggningsskärmarna - det går ett lösenord. Ännu värre kan de ladda ner dina systemlösenfiler (de som används av System Account Manager) och sedan knäcka dem med ett program som Ophcrack, som använder tekniker som regnbordsbord för att omvända hashed-inloggningsdata. Där går alla dina lösenord.

Faktum är att det sista scenariot tar upp hela ämnet för spricklösenord. Det finns två steg: gissar lösenordet med hjälp av en viss algoritm - vanligtvis brute-force genom att försöka varje permutation - och sedan validera lösenordet mot att systemet ska hackas.

Problemet med att validera lösenord är att många system har inbyggda säkerhetsåtgärder. Generellt får du bara så många försök att prova ett lösenord innan systemet låser ut det konto som prövas. Ibland försöker systemet med avsikt att återställa inloggningsskärmen med några sekunder för att försöka göra många lösenord extremt långsamma.

Observera att en fristående Windows 7-maskin har kontoutlåsning som standard, medan en dator i ett företagsnätverk kan ha den aktiverad. Om systemet är förkroppsligat i en fil - säg offeret använder en lösenordshanterare och hackaren har lyckats fånga lösenordsfilen - hackarens jobb är mycket lättare.

I själva verket är online-skyddsåtgärderna (begränsat antal lösenordsförsök, fördröjning mellan försök) inte längre i spel och hackern har frihet att försöka så många lösenord som de gillar så snabbt som möjligt. Det är här styrkan i lösenordet kommer in i spel.

Styrka i antal

När vi får tillgång till en ny resurs för vilken vi måste skapa ett lösenord, får vi generellt några riktlinjer för att skapa ett starkt lösenord och avskräckas från att använda svaga. Riktlinjerna inkluderar vanligtvis att lösenord längre än vissa definierade minimier (t.ex. åtta tecken), inte använder vanliga ord, använder stora bokstäver och använder siffror och skiljetecken.

Med lycka till kommer skärmen där du anger ditt nya lösenord att ha någon form av visuell cue för att visa hur bra det är, som en framdriftsfält som är färgad från rött (dåligt) till grönt (bra). De värsta systemen är de som begränsar ditt lösenord till ett lågt teckenräkning, begränsar tecknen som bara används för små bokstäver och siffror, och så vidare. Sådana riktlinjer kommer automatiskt att producera svaga lösenord.

Löshetsstyrkan mäts av entropin, som ett antal bitar. Ju större antal bitar desto större entropi är, desto svårare blir det att spricka lösenordet.

Entropi är ett begrepp från informationsteori, och är ett mått på ett förutsägbart budskap. Till exempel är en serie kasta från ett rättvist mynt oförutsägbart (vi kan inte säga vad som kommer nästa) och så har maximal entropi. Text på engelska - den här artikeln är till exempel ganska förutsägbar eftersom vi kan göra bedömningar om vad som kommer att komma nästa. Bokstaven E visas mycket oftare än Q, om det finns en Q, är det troligt att nästa tecken kommer att vara U, och så vidare.

Det uppskattas att engelsk text har en entropi på mellan en och 1,5 bit per (8-bitars) tecken. I en annan bemärkelse är entropi ett mått på hur komprimerbart ett meddelande är - hur mycket fluff vi kan förkasta vid komprimering av ett meddelande och fortfarande kunna återställa det ursprungliga meddelandet vid ett ögonblick. Om du vill innehåller det komprimerade meddelandet bara informationsinnehållet i meddelandet.

Vi har alla komprimerat en textfil i en zip-fil för att få 70-80 procent kompression eller mer. Det är bara ett uttryck för entropin i texten.