Vad krävs för att ett lösenord skall vara säkert?

De två första metoderna som nämns ovan, fråga och gissa, går det inte att skapa någon säkerhet emot annat än att uppmana till att inte lämna ut sitt lösenord eller annan privat information. För keylogger gäller att bästa sättet att skydda sig från det är att använda sig av en webbläsare visar sidor, kör program och så vidare i en isolerad miljö och på så sätt förhindrar skadlig kod från att installeras permanent. Sandboxie är ett exempel på en sådan läsare.

De olika brute force-metoderna kan man skapa ett starkt lösenordsskydd mot, genom att kräva långa och krångliga lösenord.

Image 4

Det är naturligtvis inte så att en hackare sätter sig ner och provar sig fram manuellt genom att skriva aaa, aab, aac och så vidare i stället skapas ett automatiskt script eller program som gör jobbet Den här typen av program finns dessutom att ladda ner gratis på nätet. De är mycket enkla att använda, flera av dem har till och med användarhandledning. Det är i princip bara att skriva in adressen till sidan man vill hacka, skriva in användarnamn för dens konto man vill hacka, klicka i vilken metod man vill använda, Brute force, vanliga ord, eller ordbok. Om någon av de två sista, vilket eller vilka språk, som skall användas och slutligen hur många  tecken som skall användas, det vill säga lösenordets längd. Ju högre antal tecken, desto längre tid tar det för programmet att finna lösenordet. Sedan är det bara att låta programmet stå där och tugga, till sist kommer det att ha lyckats logga in och då stannar det. Hackaren behöver alltså inte sitta framför datorn hela tiden, bara starta upp programmet, sedan sköter det sig självt).

Därmed reduceras svaret på frågan om hur säkert ett lösenord är till att det beror på hur många inloggningsförsök webbsidan klarar av att hantera per tidsenhet. Siffran varierar beroende av server och konfiguration men de flesta servrar klarar inte av mer (!) än 100 inloggningsförsök per sekund. Dessutom har lösenordets antal möjliga tecken betydelse, ju fler teckengrupper som tillåts, desto fler kombinationsmöjligheter. Formeln för att räkna ut antal möjliga kombinationer är:

k = bt 

k = antal möjliga kombinationer

b = bas

t = antal tecken

Tabell 1 nedan redovisar antalet möjliga kombinationer för några olika alternativ.

Bas Kombinationer*
Beskrivning Bas 6 tecken 8 tecken 10 tecken
Endast små bokstäver 26 0,3 21 141167
Små + stora bokstäver 52 20 53 459 14 455 510
Små + stora bokstäver + siffror 62 57 218 340 839 299 365
Små + stora + siffror + ASCII** 83 327 2 252 292 ***

Tabell 1.

* Avrundade värden i miljarder

** Enbart specialtecknen i ASCII (21 stycken)

*** Räknaren klarar inte av så stora tal

Detta innebär att ett enkelt lösenord som sky hackas på (maxtid)*

  • Brute force 3 minuter
  • Vanliga ord 3 minuter
  • Ordbok 45 minuter

(* Ett ”lösenord” bestående av tre tecken har 26 upphöjt till 3, det vill säga 17 576 olika kombinationsmöjligheter. Förutsättningen här är att vi använder oss av det engelska alfabetet och begränsar oss till enbart små bokstäver.)

Så hur lång maxtid skall vi kräva för att ett lösenord skall anses som säkert?

Några minuter är naturligtvis alldeles för osäkert, 1 timma? Nej, det är fortfarande allt för osäkert. 1 dag? Ja, det skulle kanske kunna räcka för en privatperson, men det finns fortfarande en möjlighet att någon ödslar en dags försök för möjligheten att komma över ett bankkonto. 1 månad? Räcker i de flesta fall. Bara en seriös hackare som vet att han kan få ut något verkligt åtråvärt skulle hålla på så här länge mot ett konto. 1 år? Nu börjar vi röra oss från det praktiskt möjliga mot det teoretiskt möjliga, men för den som arbetar med hemligstämplat material räcker det ändå inte riktigt till. 10 år? Nu har de praktiska möjligheterna försvunnit, teoretiskt sett är det dock möjligt att knäcka lösenordet. 100 år, här får väl gränsen anses vara överskriden. Inget lösenordsskydd skall behövas mer än 100 år efter att lösenordet skapades. Vi skulle alltså kunna nöja oss med ett lösenord som det maximalt tar upp till 100 år att knäcka, men har hackaren tur kanske han löser det på 10 år så varför inte ta det säkra för det osäkra och skapa ett lösenord som det tar 1000 år att hacka (maxtid).