Skrivet av anon186252:
Det är säkrare med helt random tecken av alla olika slag. Annat kan knäckas med "dictionary attacks".
Lösenhanterare är rätt trevligt om dina lösenord ser ut som såhär: >*X)y3'ä"q+9-pT¤6s.....
Den bästa varianten av sådan mjukvara är då såklart inte något i molnet. Helst på en separat usb-sticka eller nått sådant.
Inte på rimlig tid om det är tillräckligt många ord i serie och har skiljetecken mellan orden
'>*X)y3'ä"q+9-pT¤6s' ser inte slumpmässigt utan är troligen tillverkad av en hjärna - en äkta slump har väldigt låg sannolikhet att ge så många symboler i en och samma sträng - en slump ser mer ut som "N4Nex6hK€Qdd" dvs. med 1, kanske 2 symboler som mest - sådan av mänsklig hjärna 'tillverkad slump' fälls kvickt av statistisk analys eftersom vi har så skev uppfattning i vad slump är för något och undviker vissa kombinationer när vi försöker som att använda samma tecken mer än en gång eller sätter dem bredvid varandra etc. - i ditt fall så överöste du med symboler istället för bokstäver eller siffror - Jag vet vet att det var ett exempel från din sida men exemplet visar på hur mänskliga hjärnan fungerar undermedvetet och det gäller oss alla....
Skrivet av Raphaei:
När du har 25 slumpmässiga tecken kommer du inte komma ihåg dem, om du inte följer ett lätt-att-komma-ihåg-mönster, typ flätar två kombinationer. qweasd + 098765 = q0w9e8a7s6d5, eller går i cirkel (wefcxza), fyrkant (qwedcxza), eller andra mönster. Pinkoden 159 456 753 852 951 654 357 258 ex är superlätt att komma ihåg om du bara kommer ihåg att du börjar på 1 och slutar på 2 (bonuspoäng om du ser mönstret).
alla sådana 'tangentbordsturer' är lätta att knäcka och finns redan i crackprogrammen, samma sak med olika permuterade sekvenser.
Citat:
Det finns många knep att göra "slumpmässiga" lösenord som är säkra och svåra att knäcka, speciellt om du har memoriserat vissa alt-codes och klämmer in dem på ställen du kommer ihåg. Ett annat tips är att inte följa standarder andra människor gör, som när de inkluderar siffror så gör de det på slutet av lösenordet, samt börjar med en stor bokstav, ex Lösenord123, här är lösen123Ord ex mycket säkrare.
Byta ut bokstäver i ett slumpmässigt lösen till siffror gör det lättare att bruteforca, gör tvärtom istället. 1337 -> leet är mycket säkrare (som exempel, båda är svinlätta att cracka).
Olika substitutioner som ovan förutsätter man också att det görs när man attackerar lösenord - kort sagt alla trix du än hittar på - har tusentals andra redan gjort och många av dem är redan i crackprogrammen som algoritmer...
Citat:
Jag tror att slumpmässigt masha på sitt tangentbord och sen spara alla lösenord på ett och samma ställe så man kommer ihåg den är det sämsta man kan göra. Då kan man lika gärna ha TeliaLösen på telia.se, SWECLösen på swec, osv.
Adressen för den tilltänkta 'kill-kommando' domänen av wannacry-viruset hittade man ganska snabbt med statistisk analys då man hittade ett område i koden som bara kunde göras med sk. försök till slumpmässighet med oplanerad knackande/slående/bankande/handrullande på den övre högra halvan av tangentbordet och man förstod snabbt att den delen kunde vara viktig...
Skrivet av kaptenperre:
Bra tankar, däremot verkar sidan du länkar till inte fungera så bra.
@Spiffmans förslag på lösenord: Horse battery stapler
Det ger enligt sidan:
"596 QUINTILLION YEARS"
Men med en dictionary attack så skulle det knäckas på en sekund, inte på flera quintillioner år.. jag har testat lite snabbt att knäcka lösenord en gång för många år sedan och använde då ett enkelt program jag hittade på nätet där ingen egen kodning behövdes. Det fanns till och med ett grafiskt gränssnitt. Ordlistefunktion fanns inbyggt. Alltså hur lätt som helst att knäcka löseord som består av ett par engelska ord och till och med om de även har 1-2 random bokstäver.
återigen missar man exponetial-funktionernas värld - med 2-3 ord så är det lätt att knäcka, precis som 4-6 tecken och symboler i rad - men prova med 6 (slumpvalda) ord i passfrasen med skiljetecken mellan orden, även vald med begränsad ordlista av 7776 ord som du känner till och har kopia av.
6 tecken av ett val av 94 tecken ger 94*94*94*94*94*94 alternativ (skrivs också som 94^6) = 689869781056 möjligheter vilket löses på några sekunder med dagens beräkningsnätverk, för varje tecken man lägger till till så ökar beloppet med 64 gånger fler alternativ än innan, med 12 tecken blir summan ungefär 475.9*10^21 alternativa kombinationer och man beräknar ha kommit igenom dessa till hälften efter 3500 år med en räknesnurra som klarar 1000 miljarder beräkningar i sekunden
Med 3 ord vald ord ur en lista på 7776 ord så blir det med 3 ord 7776*7776*7776 eller omskrivet 7776^3 = 470184984576 möjliga kombinationer, vilket löses på sekunder med dagens HW, med 6 ord (7776^6) får man 221.1*10^21 alternativa kombinationer och det tar ca 3000 år att komma igenom till hälften med 1000 miljarder beräkningar i sekunden, varje ord man lägger till i passfrasen ökar beräkningstiden med 7776 gånger.
Även med känd ordlista för attackeraren så blir det väldigt snabbt väldigt jobbigt att prova fram alla alternativ
Allt bygger dock på att både tecknen och orden tas fram maskin-slumpmässigt, nästan alla attackmetoder som går fortare än 'brute force' bygger på att använda svagheter som finns i algoritmer, och finns inte det - hur hjärnan bygger ihop passord och passfraser, i det fallet är människa väldigt lika i tänket.
Skrivet av mannen99:
XKCD bilden blev sågad totalt på reddit för ett tag sedan. Det håller inte för det är inte så en "attack" fungerar.
Det viktiga är att orden som används i passfrasen är slumpmässigt valda och inte är 'konstruerad' med logik så att det har någon mening för den som kommer ihåg den (den skapar man i efterhand för att komma ihåg den utantill - inte börja med det) - med 6 slumpmässiga valda ord (med skiljetecken mellan) så gäller XKCD mycket väl - det viktiga är om man själv styr över urvalet av orden eller om de slumpas fram och användaren får ta sekvensen som den är - däri ligger hela säkerheten och XKCD kanske inte trycker på just den punkten tillräckligt mycket - dvs. slumpmässig utvalda och tillräckligt många ord.
Skrivet av mannen99:
Många gånger behöver man inte göra en ren bruteforce utan man kanske har en databas med krypterade lösenord.
Då kan man använda sig av förgenererade tabeller med samma krypteringsmetod.
Alltså ditt lösenord "password" ger följande sha256 hash:
5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8
Spara det till en lista av hash som du sedan jämför med när du kommer över en databas dump med lösenord.
Det finns flera hundra miljoner förgenererade hashar av olika former och med olika tillägg (salt)
Dessa är ofta specialiserade på vanliga ord men även kombinationer av dessa.
Har kikat lite i dessa hash-listor - det är väldigt få av dem som har knäckta passfraser på mer än 2-3 ord, däremot är dom väldigt duktiga att plocka tämligen komplicerade teckensekvenser i intelligenta substitutioner och sekvenser etc. med tekniker som redan skrivits här, och i vissa fall när man använder 1 eller 2 riktiga ord i sekvensen och den vägen knäcker passord bit över 16 tecken längd som om orden mitt i sekvensen inte fanns alls som skydd - annars verkar gränsen vara runt 10 tkn om det är hyfsat slumpmässiga gjorda teckensekvenser.
Varför det är så beror på att de flesta crack-vertygen är specialiserade på just just passord (<= 16 tkn) med mer eller mindre påhittade med hjärnan tillverkade teckenkombinationer och med dess invävda svagheter och inte är specialiserade på passfraser med mer än 3-4 ord då svårighetsgraden ökar väldigt snabbt med antal ord.
Sedan skall man ha klart för sig att det finns andra sekvenser som kan ge samma hashsumma ut (en kollision) med tex. SHA1, md5 och skulle fungera lika bra med denna som den korrekta passordet men inte fungera alls om man använde denna 'passord' på annan site med annan hash-agoritm, vilket det skulle göra om man hade orginal-passordet om dessa är samma på båda ställena.
md5 är 160 bitar vilket innebär att risken för kollision (annan indata ger samma hashsumma) kan inträffa med en sannolikhet av 2^80 (1.2*10^24) försök om algoritmerna är perfekta, men både SHA1 och MD5 har visat sig har brister som ger betydligt högre sannolikhet av krock och med md5 i storleksordningen 2^63 eller en chans av en träff med en kombination som ger samma hashsumma som en annan kombination per 2.2*10^18 försök (med 1000 miljarder tester i sekunden så tar det fortfarande 2.2 miljoner sekunder, eller 611 timmar att hitta en sådan kollision i genomsnitt) - den mest berömda exemplet är att man gjorde två olika pdf-filer med något olika innehåll som gav samma md5-summa - medans om hash-algoritmen hållit måttet så skulle det vara en sådan kollision per ca 38335 år med samma beräkningskraft
Det betyder att de olika passords-listorna med klartext <-> hashes-par som kan finna hos hashes.org mfl. ställen inte garanterat är passordet som användes när hashsumman skapades - utan det finns en viss, dock mycket liten sannolikhet att man funnit en annan kombination som ger samma hash-summa.
Citat:
Man behöver inte göra extremt komplicerade lösenord bara för att de ska vara någorlunda unika:
fredrik
en siffra mellan varannan bokstav, avsluta med ett tecken.
fr 2 ed 3 ri 2 k !
=
fr2ed3ri2k!
Däremot finns det bra anledningar att man har lite längre lösenord än så. Då det utökar bruteforce tiden det tar även om det kan ta lång tid redan nu.
Sådan substitutioner som ovan knäcks på ingen tid alls - dom som gör crackprogrammen vet precis hur människor tänker...
Det som förstärker en passord maximalt är sann slumpmässighet utan mänsklig hjärna involverad - sann slumpmässighet!! - och tillräckligt många tecken och tillräckligt många tillåtna tecken per tecken - ASCII-tabellens 94 skrivbara tecken har en entropi värt 6.55 bitar per tecken - använder man 128-255 delen också av ASCII-tabellen (totalt 218 valbara tecken) så ökar 'värdet' av detta med drygt en bit till - 7.77 bitar per tecken.
en diceware ord vald ur en 'Alfabet' av 7776 ord har en entropi av 12.92 bitar per ord.
grovt sett kan man säga att att en slumpmässigt vald diceware-ord är värt 2 slumpmässigt valda tecken som inkluderar stora och små bokstäver, siffror och symboler (utom mellanslag)
Skrivet av murklor:
Men måste inte ett sånt lösen knäckas baserat på antalet bokstäver ändå? Låt oss säga att du har ett lösen på endast 4 bokstäver, "snus". Känt ord, gå igenom ordboken och du knäcker det till slut. Men om dom 4 bokstäverna var två ord då? "enni". Blir inte det dubbelt så svårt att knäcka? Tänk då om det var 6 bokstäver... 8.... 15...Om det är ett långt lösen med okänt antal tecken och med mer eller mindre fantasifulla ord inskjutna här och där... hur fasen ska man knäcka det med dictionary?
snushörningenfnattrarpåkronos
Skulle en ordbok knäcka det på några timmar? Men jag vet inte mycket om lösen kodning.
om du stoppar in ett skiljetecken mellan orden så ökar svårigheten markant
dvs.
snus-hörningen-fnattrar-på-kron-os
Det är sex ord och kan anses som mycket starkt - under förutsättningen att det är slumpmässigt framtagen med tex. tärningskast och slå upp i en ordlista efter vissa regler och det finns inte någon tankegång varför blev som den är. Även om attackeraren känner till vilken ordlista orden är urplockade ifrån så hjälper det inte denne ett skvatt. Så arbetar tex. diceware där varje ord är en 'tecken' på ett alfabet av 7776 tecken - åter igen sann och opåverkad slumpmässighet är det viktiga när man skapar starka passord/passfraser
Så fort du använder hjärnan när du skapar sekvenserna så är det genast lättare att hacka passordet/passfrasen.