Taggat med: lösenord

NISTs uppdaterade riktlinjer för lösenord

NIST Password Lösenords policy

Det amerikanska organisationen National Institute of Standards and Technology (NIST) uppmanar till att överge gamla metoder för lösenord till förmån för mer nya och effektiva skydd. Här har jag sammanfattat sex viktiga insikter från NIST:s nya rekommendationer som kan hjälpa Er organisation att skapa moderna och säkra lösenordspolicyer:

1. Prioritera längden på lösenordet framför komplexitet

Tidigare har många organisationer krävt komplexa lösenord med stora och små bokstäver, siffror och specialtecken. Men ny forskning visar att människor ofta skapar förutsägbara mönster som gör lösenorden lättare att gissa.

NIST föreslår istället att fokusera på lösenordets längd. Uppmuntra därför användare att skapa långa lösenfraser, som kombinerar orelaterade ord, exempelvis “lamas-kasett-trumpet7”. Dessa är både enklare att komma ihåg och svårare att knäcka än komplexa men förutsägbara lösenord.

2. Möjliggör långa lösenord

NIST rekommenderar att stödja lösenord upp till 64 tecken för att ge maximal flexibilitet och säkerhet. Även om lösenfraser inte är osårbara, erbjuder de bättre skydd än kortare alternativ. Se till att dina system tillåter tillräckligt långa lösenord:

SHALL require passwords to be a minimum of eight characters in length and SHOULD require passwords to be a minimum of 15 characters in length.

3. Inför multifaktorautentisering (MFA)

Enligt undersökningar från Microsoft saknade 99 % av alla komprometterade konton MFA. NIST understryker att MFA inte längre är valfritt – det är ett måste. Kombinera lösenord med ytterligare autentiseringsfaktorer för att öka säkerheten ytterligare.

4. Undvik frekventa lösenordsbyten

Många användare ogillar att ofta behöva byta lösenord ofta, och NIST rekommenderar att slopa denna praxis om det inte finns bevis för att ett lösenord har komprometterats. Ofta leder sådana krav till svagare lösenord, då användarna gör minimala ändringar. En mer balanserad strategi är att förlänga tiden mellan byten och istället använda verktyg som upptäcker komprometterade lösenord såsom HaveIBeenPwned.

5. Blockera komprometterade lösenord

Att använda lösenord som redan finns i databaser över tidigare läckor är en stor säkerhetsrisk. NIST rekommenderar att man kontrollerar nya lösenord mot dessa databaser för att förhindra att komprometterade lösenord används igen. Detta kan eliminera en vanlig attackmetod innan den utnyttjas. Och för att implementera detta kan exempelvis k-anonymitet användas eller nedladdade databaser från HaveIBeenPwned.

6. Sluta med lösenordstips och säkerhetsfrågor

Traditionella metoder som lösenordstips och säkerhetsfrågor är föråldrade och bör ej användas. Med dagens tillgång till information via sociala medier är svaren ofta enkla att hitta. NIST föreslår istället att använda säkrare alternativ som återställningslänkar via e-post eller MFA vid lösenordsåterställningar.

Att anpassa sig till NIST:s riktlinjer är ett viktigt steg mot starkare lösenordssäkerhet i din organisation. Genom att fokusera på lösenordslängd, använda MFA och förebygga vanliga misstag kan du skapa en säkerhetspolicy som är både användarvänlig och robust.

Här kan du läsa hela det nya dokumentet med rekommendationer:

PasswordsCon kommer till Stockholm

Norrmannen Per Thorsheim som anordnar konferensen PasswordsCon meddeladeTwitter att konferensen kommer att gå av stapeln i Stockholm. Det är i November under Internetdagarna som PasswordsCon blir ett av flertalet spår.

Call-for-papers är ute nu och har du något att berätta på 20-30 minuter så släng iväg ett mail till [email protected]

Vad priset för att gå på konferensen blir är dock ännu oklart eftersom det inte är möjligt att anmäla sig ännu till Internetdagarna men datumet blir 19-20 November, så boka in det i din kalender.

Videos från tidigare PasswordsCons hittar du på YouTube.

Läs mer på CFP-sidan här: passwordscon.org/cfp/

Nya lösenordsrekommendationer från NIST: Ju längre desto bättre

Den amerikanska myndigheten NIST släppte nyligen uppdaterade rekommendationer gällande hantering av lösenord. Dessa uppdaterade rekommendationer kommer precis lagom till det att SVT Dold uppdagat att massor av läckta lösenord och användaruppgifter finns på nätet att tanka ner. Många av dessa läckta lösenord är så klart hashade eller krypterade som i fallet med Adobe (läs här hur du knäcker lösenord).

Dessa nya rekommendationer från NIST innehåller bl.a. att användare ska ges möjlighet att välja lösenord upp till 64 tecken. Även ska lösenord tillåtas att innehålla specialtecken såsom unicode, space och emojis.

En annan bra sak är att rekommendationerna från NIST anser att du bör kontrollera de lösenord som användaren anger mot listor med vanligt förekommande lösenord. Samt så bör du ta bort password hints och Knowledge-based authentication (KBA) såsom frågor ”din moders ogifta efternamn”, ”din förstfödde hunds bästa kompis”.

Minst 32 bitar slumpad salt ska användas samt en hashfunktion godkänd av NIST såsom PBKDF2 och med minst 10,000 iterationer.

Dokumentet innehåller även en hel del andra vettiga saker såsom att SMS för 2FA inte bör användas (troligtvis pga SS7 attacker och nummerportabilitet mellan operatörer).

Avsnitt 2 av SVT Dold kan du se här: www.svtplay.se/video/11171365/dold/dold-sasong-2-avsnitt-2

Uppdatering: SVT har av någon anledning tagit bort avsnittet.

Ny GPU-instans från Amazons molntjänst EC2

amazon-web-servicesAmazon har en molnjänst vid namn EC2 där du kan hyra datorkapacitet per timme. De har nu lanserat en ny GPU-instans som gör att du kan knäcka lösenord ännu snabbare, något som vi som jobbar med IT-säkerhet gillar.

Den nya instansen heter p2.16xlarge och har 16 st GPU-kärnor och körs med ett Nvidia Tesla K80-grafikkort. Det går så klart inte att jämföra med exempelvis Nvidia Titan X men du slipper springa iväg till affären och köpa ett grafikkort eller en häftig Sagitta Brutalis. Kostnaden för en instans av p2.16xlarge ligger på$14.4 vilket är ca 123 SEK/h.

Här kommer några färska prestandasiffror som jag just hämtade in från en instans som jag startade upp och konfigurerade på under 10 minuter:

$ ./hashcat64.bin -b
hashcat (v3.10) starting in benchmark-mode...

OpenCL Platform #1: NVIDIA Corporation
======================================
- Device #1: Tesla K80, 2859/11439 MB allocatable, 13MCU
- Device #2: Tesla K80, 2859/11439 MB allocatable, 13MCU
- Device #3: Tesla K80, 2859/11439 MB allocatable, 13MCU
- Device #4: Tesla K80, 2859/11439 MB allocatable, 13MCU
- Device #5: Tesla K80, 2859/11439 MB allocatable, 13MCU
- Device #6: Tesla K80, 2859/11439 MB allocatable, 13MCU
- Device #7: Tesla K80, 2859/11439 MB allocatable, 13MCU
- Device #8: Tesla K80, 2859/11439 MB allocatable, 13MCU
- Device #9: Tesla K80, 2859/11439 MB allocatable, 13MCU
- Device #10: Tesla K80, 2859/11439 MB allocatable, 13MCU
- Device #11: Tesla K80, 2859/11439 MB allocatable, 13MCU
- Device #12: Tesla K80, 2859/11439 MB allocatable, 13MCU
- Device #13: Tesla K80, 2859/11439 MB allocatable, 13MCU
- Device #14: Tesla K80, 2859/11439 MB allocatable, 13MCU
- Device #15: Tesla K80, 2859/11439 MB allocatable, 13MCU
- Device #16: Tesla K80, 2859/11439 MB allocatable, 13MCU

Hashtype: MD5

Speed.Dev.#1: 4232.2 MH/s (93.96ms)
Speed.Dev.#2: 4228.3 MH/s (94.21ms)
Speed.Dev.#3: 4179.4 MH/s (95.75ms)
Speed.Dev.#4: 4246.1 MH/s (96.86ms)
Speed.Dev.#5: 4488.8 MH/s (92.94ms)
Speed.Dev.#6: 4460.2 MH/s (91.24ms)
Speed.Dev.#7: 4314.4 MH/s (94.73ms)
Speed.Dev.#8: 4569.5 MH/s (88.65ms)
Speed.Dev.#9: 4465.4 MH/s (90.92ms)
Speed.Dev.#10: 4147.8 MH/s (95.67ms)
Speed.Dev.#11: 4426.8 MH/s (93.48ms)
Speed.Dev.#12: 4078.0 MH/s (98.75ms)
Speed.Dev.#13: 4339.8 MH/s (94.58ms)
Speed.Dev.#14: 4459.1 MH/s (91.09ms)
Speed.Dev.#15: 4263.1 MH/s (94.88ms)
Speed.Dev.#16: 4221.2 MH/s (93.16ms)
Speed.Dev.#*.: 69120.1 MH/s

Och med den GPU-instansen hos Amazon som var snabbast tidigare så såg det ut så här när det gäller MD5:

Hashtype: MD5

Speed.Dev.#1.: 1714.1 MH/s (95.69ms)
Speed.Dev.#2.: 1705.1 MH/s (96.22ms)
Speed.Dev.#3.: 1714.5 MH/s (95.36ms)
Speed.Dev.#4.: 1726.3 MH/s (95.01ms)
Speed.Dev.#*.: 6860.0 MH/s

Så en klart förbättring.

Uppmaning: Tvinga inte regelbundna lösenordsbyten

CESG Lösenord

Brittiska säkerhetsmyndigheten CESG släppte under 2015 en lösenordspolicy som frångår tidigare rekommendationer som säger att användare bör byta lösenord efter 30, 60 eller 90 dagar.

Regular password changing harms rather than improves security, so avoid placing this burden on users. However, users must change their passwords on indication or suspicion of compromise.

Citat från CESG Password Guidance

Och för några dagar sedan så släppte även CESG en djupare förklaring till varför myndigheten har ändrat sina rekommendationer.

Det beror främst på följande tre orsaker:

  • Ökad administration – Det är lättare att glömma bort lösenordet om användaren tvingas ändra lösenordet regelbundet.
  • Snarlika lösenord – Användaren väljer i många fall snarlika lösenord när denne tvingas ändra lösenord regelbundet.
  • Skriva ner lösenordet – Långa komplexa lösenord som måste bytas ofta är svåra att komma ihåg och användaren skriver då ner lösenordet i större omfattning.

CESG är en del av brittiska signalspaningsmyndigheten GCHQ. Här kan du ladda hem CESG lösenordspolicy i sin helhet:

CESG Lösenordspolicy

Så lagrar Facebook lösenord

På en konferens nyligen så avslöjade Facebook hur de lagrar sina lösenord. Eller rättare skrivet hur de hashar sina lösenord.

  1. $cur  = ’plaintext’
  2. $cur  = md5($cur)
  3. $salt = randbytes(20)
  4. $cur  = hmac_sha1($cur, $salt)
  5. $cur  = cryptoservice::hmac($cur)
  6.         [= hmac_sha256($cur, $secret)]
  7. $cur  = scrypt($cur, $salt)
  8. $cur  = hmac_sha256($cur, $salt)

1. Det första steget är tämligen självförklarande.

2. Gör först en MD5 av lösenordet. Detta ligger troligtvis kvar pga historia då detta troligtvis enbart var det enda steget. Om en användare loggar in och enbart har en md5 så kommer lösenordet att uppdateras med det nya systemet enligt nedan.

3. En salt på 160 bitar är genererad slumpmässigt. För att förhindra kollisioner så bör den vara minst 64 bitar pga antalet användare och övriga bitar är troligtvis för att framtidssäkra.

4. En HMAC med sha1 skapas som sedan skickas in i nästa steg.

5. Detta steg är för att inneha en central kontrolldel och att förhindra offline eller online forceringsattacker mot lösenord.

7-8. scrypt för att försvåra forcering samt skapande av regnbågstabeller. Vi har många gånger tidigare skrivit om scrypt. Samt sista steget är för att göra databasen med lösenord mindre.

Facebook håller även koll på lösenordsdumpar som publiceras på internet och förekommer ditt lösenord i en sådan dump så kommer Facebook att varna dig.

Bedömt så har Facebook lagt mycket kraft bakom lösenordshashningen och det ser mycket bra ut.

Joachim Strömbergson
Joachim Strömbergson

Joachim Strömbergson som är säkerhetsexpert på företaget Assured som också har tittat på Facebooks sätt att lagra lösenord kommenterar enligt följande:

För att sammanfatta min känsla efter 5 sekunder är att man är duktig och använder seed, man har till och med vad som ser ut att vara ytterligare en hemlighet vilket gör det än svårare att försöka göra regnbågsattacker. Vidare använder man dessutom scrypt för att införa work factor som försvårar uttömmande sökning.

Källa på informationen är det som Facebook uppgav vid konferensen Real World Crypt 2015.

Uppdatering: Per Thorsehim tipsar även om att Alec Muffett från Facebook höll en presentation vid konferensen Passwords 2014 i Norge där han berättar mer i detalj:

Facebook lösenord

Finalister i Password Hashing Competition

Password Hashing Competition (PHC) är en tävling som går ut på att hitta nya bra algoritmer för att hasha lösenord. Det finns tyvärr i dagsläget inte så många bra kanidater att välja på: scrypt och bcrypt. Bakom tävlingen står en grupp med kryptografiska experter såsom Peter Gutmann, Colin Percival och Matthew Green.

Tävlingskriterierna är enligt följande:

  • Skydd mot beräkningar i GPU/FPGA/ASIC
  • Skydd mot tid-minneskompromisser
  • Skydd mot sidokanalsläckage
  • Skydd mot kryptografiska attacker
  • Elegans och enkelhet
  • Dokumentationskvalité
  • Kvalité på referensimplementationen
  • Allmän sundhet och enkelhet av algoritmen
  • Originalitet

Det har nu presenterats 12 finalister som är följande:

Argon, battcrypt, Catena, Lyra2, Makwa, Parallel, POMELO, Pufferfish, yescrypt (som vi skrev om i Maj 2014).

För att läsa mer om dessa finalister kolla in password-hashing.net.

yescrypt

Säker lösenordshantering med Seclave

Vi fick för några månader sedan erhålla ett exemplar av lösenordshanteraren Seclave. Det är en liten enhet som har ett enda syfte: Hålla koll på dina lösenord. Dosan är max några centimeter stor och får plats i fickan. Den kan hålla upp till 500 stycken lösenord och skyddas av ett huvudlösenord som skapas när du startar upp enheten första gången.

Detta huvudlösenord består av två ord som är lätta att komma ihåg men svåra att forcera genom det lilla kontrolldonet på Seclave-enheten. Det finns även en begränsning på hur många försök som får genomföras innan allt innehåll raderas.

För den som är mer intresserad av tekniska detaljer så rekommenderar vi att läsa här. Utöver att spara lösenord så ingår det även en lösenordsgenerator som kan skapa nya säkra svårgissade lösenord.

Det vi gillar extra mycket är att den ej behöver någon anslutning till din dator och du kan hålla den fysiskt separerad från övrig utrustning. Men om du vill ansluta den till din dator så finns även den möjligheten och då kan du ta backup av lösenorden samt så agerar enheten tangentbord och kan då skriva in lösenord.

Seclave kostar cirka 600kr och är byggd i Sverige samt utvecklad av Karl Janmar af Ekenstam.

Seclave1

Seclave2

John the Ripper 1.8.0

John the RipperGillar du att knäcka lösenord? Då har vi en nyhet för dig: Lösenordsknäckar-verktyget John the Ripper finns nu ute i en ny version.

För samtliga nyheter i denna nya version se release-notes här:

Och glöm inte att stödja projektet genom att köpa en av de snygga t-shirts som finns ute för försäljning.

Som vanligt kan du ladda hem John the Ripper från Openwall.com här:

Så skapar du ett säkert lösenord

Nedan listar vi fem verktyg för att generera ett lösenord för att exempelvis användas för onlinetjänster såsom Facebook, Twitter eller Gmail. Eller för att vara ännu säkrare så kan du även använda tvåfaktorsautentisering.

Random.org

 

Random.org

 

PC Tools av Symantec

 

PC Tools

 

Strong Password Generator

 

Strong Password Generator

 

Norton Lösenordsgenerator

Norton Lösenordsgenerator

 

Free Password Generator

Free Password Generator

 

Vi har ej kontrollerat huruvida ovan tjänster fungerar som utlovat eller ej. Men att använda en mjukvara för att generera lösenord direkt på din dator är troligtvis säkrare än att använda dessa tjänster.

Du kan även använda myndigheten PTS tjänst för att testa lösenord:

Som en extra rolig tjänst så kan vi rekommendera DinoPass som skapar lösenord anpassade för barn:

DinoPass