Jag har gjort ett litet lösenordsprogram

Permalänk
Medlem

Jag har gjort ett litet lösenordsprogram

Tillhör ni också till den alltför stora skaran som återanvänder ett fåtal lösenord? Det finns förvisso gott om lösenordshanteringsprogram, men ibland kanske man snabbt och enkelt vill ha ett lösenord med hög entropi. Därför skrev jag detta program: https://fritjof.dyndns.org/
Det är ett program som "hashar" fram ett lösenord med hög entropi utifrån en huvudlösenord och en identifierare. Om du t.ex. har lösenordet "kissekatt" och identifieraren "sweclockers.com" och vill ha ett lösenord på 12 tecken som kan vara stora eller små bokstäver eller siffror eller specialtecken, får du ut strängen "JMFgTNPUWQNq". Denna sträng kan du använda som lösenord. Du behöver inte minnas det genererade lösenordet. När du behöver det är det bara att skriva in "kissekatt" och "sweclockers.com" igen och du får ut samma sträng som förra gången. Du kanske märkte att det genererade lösenordet i det här fallet bara innehåller stora och små bokstäver, trots att vi valde också siffror och specialtecken som möjliga tecken. Det råkade bara bli så i just det här fallet, men om du absolut måste ha minst ett tecken av varje sort, finns det en ruta att kryssa i som fixar detta.

Om du undrar varför du borde använda mitt program, använd det inte! Servern är en ynklig ARM-processor på 450 MHz med 32 MB RAM. Använd därför programmet endast om du finner någon nytta med det.

Just ja, SSL-certifikatet är självsignerat, så din webbläsare varnar dig förmodligen när du går in på sidan. Det är bara att lägga till ett undantag för denna plats.

Här finns koden för den som vill köra programmet på sin egen server eller bara titta på kod: http://fritjof.dyndns.org/pwdhashgen.tgz

Visa signatur

Coola låtar i massor!
http://revolvermen.com

Permalänk
Medlem

Haha, Ilja har börjat fiska lösenord
Nu ska du bara börja koppla det till användare också, vilket iofs blir lätt om varje användare återanvänder lösenord för flera identifierare, samt använder samma identifierare åtskilliga gånger, vilket tenderar hända alltför ofta. Denna går naturligtvis att kringgå vid inslag av väldigt många lösenord till väldigt många identifierare, där det mesta är blufflösenord, samt identifierare där man inte använder något lösenord (sidor man inte är registrerad på), men då försvinner själva syftet med att använda sig av en lösenordsomvandlare.
Ge oss sås istället

Visa signatur

It's not that you don't comprehend what's laid out before you, or that you're unable to process. It's all about what you're to live up to, your position, an identity created by the expectations of your affiliation.

Permalänk

Lycka till med fångsten Ilja, du kanske får en stor torsk som du kan visa upp !

Tjänsten som den är nu är dömd att misslyckas, när man får en megatydlig varning i webbläsaren som skrämmer iväg de flesta, så är det inte många kvar som vågar generera ett lösenord där för att ha till andra sidor.
Nu är inte webbprogrammering mitt område, men en javascript-generator som körs lokal på ens dator skulle jag helst vilja ha. Där alla som har kunskap enkelt kan se att inget fuffens gör.

Sedan litar jag såklart på dig Ilja, men detta är ett misstag många har gjort. D.v.s. att lita på någon som de tror att "de känner".

Visa signatur

[Core i7-3930K med 32GB ram, 2*256GB SSD] & [Core i7 3770K med 16 GB RAM, 256GB SSD] som tillsammans har ett [HD 5850 1GB] och 3st 24".

Permalänk
Medlem

Om du inte litar på mig kan du ta hem koden, som är fritt tillgänglig, granska den och köra den på din egen server. Jag har gjort programmet för mig själv och ingen annan, eftersom jag hade behovet och det saknades en färdig lösning. Den enda "tjänst" jag erbjuder är att vem som helst som känner för det får ta del av mitt program i befintligt skick.

Glöm inte att köpa mina lotter. Högsta vinsten är en bro.

Visa signatur

Coola låtar i massor!
http://revolvermen.com

Permalänk
Medlem

Intressant! Dock känner jag också att jag hade föredragit att exekvera koden själv. Inte för att jag misstänker dig för något, men bara för att det känns som en onödig potentiell risk, när det är enkelt att undvika.

Jag hade tänkt fråga om du kände för att dela med dig av källkoden, men du skriver att den är fritt tillgänglig. Hur kommer man då åt den? Kanske jag som är dum, men jag förstår inte hur...

Permalänk
Medlem
Skrivet av Genesis:

Intressant! Dock känner jag också att jag hade föredragit att exekvera koden själv. Inte för att jag misstänker dig för något, men bara för att det känns som en onödig potentiell risk, när det är enkelt att undvika.

Jag hade tänkt fråga om du kände för att dela med dig av källkoden, men du skriver att den är fritt tillgänglig. Hur kommer man då åt den? Kanske jag som är dum, men jag förstår inte hur...

Ja, det kanske är du som är dum, men ännu troligare är det jag som är dum.
http://fritjof.dyndns.org/pwdhashgen.tgz

Visa signatur

Coola låtar i massor!
http://revolvermen.com

Permalänk
Medlem
Visa signatur

Coola låtar i massor!
http://revolvermen.com

Permalänk
Medlem

Tack!

En fråga, vad syftet är med rad 44 är i pwdhash.py? ( prehash = prehash[0:passlen] )
Om du trunkerar resultatet från den förra hashningen innan du hashar det hela igen så minskas väll säkerheten på det slutgiltiga lösenordet? Om du vill se till att olika lösenordslängder ger helt olika resultat så hade det väll varit bättre att lägga till data baserad på lösenordslängden innan nästa hashning, i stället för att minska datamängden som går till nästa hashning? Hade inte exempelvis prehash = prehash + str(passlen) gett ett bättre resultat?

Och denna kommentar är absolut inte negativ kritik från min sida. Jag har hunnit glömma en hel del av mina datalogi-studier, och jag kan mycket väl ha missat något uppenbart.
I övrigt tycker jag det ser vettigt byggt med snygga lösningar!

Permalänk
Medlem
Skrivet av Genesis:

Tack!

En fråga, vad syftet är med rad 44 är i pwdhash.py? ( prehash = prehash[0:passlen] )
Om du trunkerar resultatet från den förra hashningen innan du hashar det hela igen så minskas väll säkerheten på det slutgiltiga lösenordet? Om du vill se till att olika lösenordslängder ger helt olika resultat så hade det väll varit bättre att lägga till data baserad på lösenordslängden innan nästa hashning, i stället för att minska datamängden som går till nästa hashning? Hade inte exempelvis prehash = prehash + str(passlen) gett ett bättre resultat?

Och denna kommentar är absolut inte negativ kritik från min sida. Jag har hunnit glömma en hel del av mina datalogi-studier, och jag kan mycket väl ha missat något uppenbart.
I övrigt tycker jag det ser vettigt byggt med snygga lösningar!

Det har du ju helt rätt i. Faktum är att jag från början tänkte lösa det såhär:

shash = hashlib.sha256(sitename + str(passlen)).hexdigest()

Men sedan tänkte jag att det i väldigt speciella fall kan ge upphov till likadana lösenord från olika input, så jag valde den nuvarande metoden. Med facit på hand borde jag givetvis ha gjort såhär:

lhash = hashlib.sha256(str(passlen)).hexdigest() posthash = hashlib.sha512(phash + shash + lhash).hexdigest()

Men om jag nu går och ändrar på algoritmen, invaliderar jag alla lösenord som hittills genererats.

Visa signatur

Coola låtar i massor!
http://revolvermen.com

Permalänk
Medlem

Nu har jag ändrat algoritmen. Jag tänkte att det blir svårare att ändra ju längre jag väntar. Förhoppningsvis kommer jag inte att ändra den mer i framtiden. Om någon vill klaga på detta så varsågod.

Visa signatur

Coola låtar i massor!
http://revolvermen.com

Permalänk
Medlem

Du har ingen plan på att släppa en iphone app ;>

Visa signatur

PC - GB Z390-Ultra | 9900K 5GHz | 32GB | RTX2080ti | NVME ~5TB
SRV (unRaid) - Asus Z370-H | 8700K 4.30GHz | 64GB | LSI9211 | 60TB HDD + 4TB NVME

Permalänk
Medlem
Visa signatur

Xbox Live - Firaphex
Jag har inte alltid rätt, men jag utgår från det tills jag ser bevis på annat. Citera för svar
2008-06-18, Dagen då integriteten ställdes tå mot tå med maktmissbruket och förlorade.

Permalänk
Medlem
Skrivet av belga:

Oh Randall..

Ju länge meningarna blir desto säkrare. Frågan är om en fyra ord lång mening är säker nog mot en ordlisteattack.

EDIT: Well, förutsatt att man känner till att det är fyra ord i meningen så gäller det bara att kombinera ca 100 000 ord i rätt ordning. 100 000 ^ 4 kombinationer. Kan ta uppemot år att knäcka i värsta fall.
Alltså, det gäller att vara noga med att instruera rätt. Ett ord att komma ihåg eller två ger ingen säkerhet. Flera ord i en kort mening går dock an.

Visa signatur

It's not that you don't comprehend what's laid out before you, or that you're unable to process. It's all about what you're to live up to, your position, an identity created by the expectations of your affiliation.

Permalänk
Medlem
Skrivet av Alakai:

Ju länge meningarna blir desto säkrare. Frågan är om en fyra ord lång mening är säker nog mot en ordlisteattack.

EDIT: Well, förutsatt att man känner till att det är fyra ord i meningen så gäller det bara att kombinera ca 100 000 ord i rätt ordning. 100 000 ^ 4 kombinationer. Kan ta uppemot år att knäcka i värsta fall.
Alltså, det gäller att vara noga med att instruera rätt. Ett ord att komma ihåg eller två ger ingen säkerhet. Flera ord i en kort mening går dock an.

Nja, antalet tecken är ju det viktigaste. Så länge man inte vart dum och använt typ SAOL och enbart hela ord ur denna som giltiga saker att stoppa i lösenordet. Om grunden är säg, 10-40 tecken inkl specialtecken(och blanksteg) så är ju "Jag har dåligt minne" faktiskt säkrare än "1am!di0t" även om det senare ser svårare ut.

edit**
Blanda sedan in flera olika språk m.m. så blir det ännu värre.

Visa signatur

Xbox Live - Firaphex
Jag har inte alltid rätt, men jag utgår från det tills jag ser bevis på annat. Citera för svar
2008-06-18, Dagen då integriteten ställdes tå mot tå med maktmissbruket och förlorade.

Permalänk
Medlem
Skrivet av belga:

Nja, antalet tecken är ju det viktigaste. Så länge man inte vart dum och använt typ SAOL och enbart hela ord ur denna som giltiga saker att stoppa i lösenordet. Om grunden är säg, 10-40 tecken inkl specialtecken(och blanksteg) så är ju "Jag har dåligt minne" faktiskt säkrare än "1am!di0t" även om det senare ser svårare ut.

edit**
Blanda sedan in flera olika språk m.m. så blir det ännu värre.

En korrekt mening blir ju ändå ett ganska svagt lösenord.

Ingenting spöar ju slumpen. Frustrerande, men också en styrka förstås.

Permalänk
Medlem
Skrivet av lorgix:

En korrekt mening blir ju ändå ett ganska svagt lösenord.

Ingenting spöar ju slumpen. Frustrerande, men också en styrka förstås.

Jo, fler tecken
6 slumpmässigt utvalda tecken är i alla lägen sämre än säg, 16 tecken. Så länge reglerna för hur dessa tecken väljs är desamma.
Det är ungefär som att "0005" är en lika säker pinkod som "6549" under förutsättning att man bara har 3 försök på sig.

Så har du en regel som säger t.ex. 6-48 tecken i spannet a-z och 1-9 samt specialtecken så är "Kokosnöt" lika slumpmässigt som "B4n4n3r!". Det handlar bara om vilken typ av attack som används. Att använda ordlister som attackmetod kringås genom att byta ut tecken och använda sig av specialtecken. Men då detta idag är vanligt beteende så är även det lätt att förutsätta vilket då inte heller egentligen bidrar till säkerheten. Att då använda flera delar av detta gör dock det hela mycket svårare. Att t.ex. då använda "Meu cyklar bleu beer" ger oss specialtecken (mellanslag) plus att eftersom lösenordet lika gärna kan vara lika många helt slumpmässiga tecken. Det är då alltså omöjligt att gissa vilken typ av attack som kommer vara mest effektiv. Och även om man gissar rätt på detta, så har man alla ord ur portugisiska, svenska, franska och engelska ordlistor att jämföra inte bara med sig själv, utan med varandra. Och det är förutsatt att inga slangord eller annat som ofta inte finns med i ordlistor använts.

Så visst, vanliga och korrekta meningar är inte så säkra om en ordliste-attack används. Men rena nonsens-lösenord är inte mycket bättre dem heller. Att byta t.ex. en 20-teckens mening mot ett 8-teckens nonsens-lösenord skulle troligen inte ge så mycket även om det ena SER mycket krångligare ut.

Visa signatur

Xbox Live - Firaphex
Jag har inte alltid rätt, men jag utgår från det tills jag ser bevis på annat. Citera för svar
2008-06-18, Dagen då integriteten ställdes tå mot tå med maktmissbruket och förlorade.

Permalänk
Medlem
Skrivet av belga:

Jo, fler tecken
6 slumpmässigt utvalda tecken är i alla lägen sämre än säg, 16 tecken. Så länge reglerna för hur dessa tecken väljs är desamma.
Det är ungefär som att "0005" är en lika säker pinkod som "6549" under förutsättning att man bara har 3 försök på sig.

Så har du en regel som säger t.ex. 6-48 tecken i spannet a-z och 1-9 samt specialtecken så är "Kokosnöt" lika slumpmässigt som "B4n4n3r!". Det handlar bara om vilken typ av attack som används. Att använda ordlister som attackmetod kringås genom att byta ut tecken och använda sig av specialtecken. Men då detta idag är vanligt beteende så är även det lätt att förutsätta vilket då inte heller egentligen bidrar till säkerheten. Att då använda flera delar av detta gör dock det hela mycket svårare. Att t.ex. då använda "Meu cyklar bleu beer" ger oss specialtecken (mellanslag) plus att eftersom lösenordet lika gärna kan vara lika många helt slumpmässiga tecken. Det är då alltså omöjligt att gissa vilken typ av attack som kommer vara mest effektiv. Och även om man gissar rätt på detta, så har man alla ord ur portugisiska, svenska, franska och engelska ordlistor att jämföra inte bara med sig själv, utan med varandra. Och det är förutsatt att inga slangord eller annat som ofta inte finns med i ordlistor använts.

Så visst, vanliga och korrekta meningar är inte så säkra om en ordliste-attack används. Men rena nonsens-lösenord är inte mycket bättre dem heller. Att byta t.ex. en 20-teckens mening mot ett 8-teckens nonsens-lösenord skulle troligen inte ge så mycket även om det ena SER mycket krångligare ut.

Hmm, problemet man försöker lösa är väl ngt i stil med:

Vilket är starkast av följande två alternativ?
1. Det längsta slumpmässiga lösenord du kan komma ihåg.
2. Det längsta "regelbundna"(uppbyggt efter ngt slags system, en korrekt mening är ju ett enkelt exempel) lösenord du kan komma ihåg.

typo
Permalänk
Medlem
Skrivet av lorgix:

Hmm, problemet man försöker lösa är väl ngt i stil med:

Vilket är starkast av följande två alternativ?
1. Det längsta slumpmässiga lösenord du kan komma ihåg.
2. Det längsta "regelbundna"(uppbyggt efter ngt slags system, en korrekt mening är ju ett enkelt exempel) lösenord du kan komma ihåg.

Precis, med tillägget att de är lika säkra under förutsättning att den som försöker knäcka det inte vet vilken typ av lösenord som används och att man undviker de vanligaste varianterna.

Visa signatur

Xbox Live - Firaphex
Jag har inte alltid rätt, men jag utgår från det tills jag ser bevis på annat. Citera för svar
2008-06-18, Dagen då integriteten ställdes tå mot tå med maktmissbruket och förlorade.

Permalänk
Medlem
Skrivet av belga:

Precis, med tillägget att de är lika säkra under förutsättning att den som försöker knäcka det inte vet vilken typ av lösenord som används och att man undviker de vanligaste varianterna.

Jag skulle säga att en viss "typ" av lösenord bara förtjänar att användas om den medger en så pass stor ökning av lösenordets längd att det är starkare trots att det är känt vilken typ det är av.

Annars är ju säkerheten beroende av om man vet typen. Som om "jaha, RSA *knäckt* ".

Permalänk
Medlem
Skrivet av belga:

Nja, antalet tecken är ju det viktigaste osv osv

Precis.
Summa summarum, ju fler tecken i ju flera kombinationer i form av en mening desto säkrare och förhoppningsvis inte lika komplicerat att komma ihåg som "m3nl0l" eller "loaded1MBimage".
Sällan trodde man att man skulle ha nytta av lektionerna i Klassisk litteratur, "Han kom som ett yrväder i April och hade ett höganäskrus i en svångrem om lemmen".

Vilket osökt leder mig in på varför i hela vissa envisas med att begränsa input till exempelvis bara siffror och bokstäver med en maximal längd. Jag kan förstå att det kräver extra datorkraft för att behandla mycket långa strängar och att alla tecken kanske inte stöds. Maximalt 64 tecken långt lösenord är på det hela tillräckligt för de flesta behov men jag stör mig mer på maximalt 12 tecken, endast a-z 0-9.
FÖR ATT INTE TALA OM SÄK3RHETSFRÅGORNA TILL DIN HOTMAIL VILKET ÅRTAL ÄR DIN MAMMA FÖDD!

bah wtf lixom

/rant

Visa signatur

It's not that you don't comprehend what's laid out before you, or that you're unable to process. It's all about what you're to live up to, your position, an identity created by the expectations of your affiliation.

Permalänk
Medlem
Skrivet av Alakai:

Sällan trodde man att man skulle ha nytta av lektionerna i Klassisk litteratur, "Han kom som ett yrväder i April och hade ett höganäskrus i en svångrem om lemmen".

Jag skrattade högt.