Jelszógenerálás

Régen volt, hogy nagyobb mennyiségben kellett jelszót beállítanom,
de most kellett hirtelen vagy 30 jelszót változtatnom.

Nem akartam külön programot (pwgen) ezért telepíteni, inkább
így generáltam:


head -c 8192 /dev/urandom |md5sum

Csak amolyan gondolatébresztő.

Hozzászólások

Az md5sum lecsokkenti az entropiat. Csinaltam mar ilyet egyebkent (olyan helyre, ahol kb. mindegy volt), de tudd, hogy ez a baj vele.
Esetleg meg base64-be konvertalhatod az outputjat a sima hexa helyett.

--
A strange game. The only winning move is not to play. How about a nice game of chess? - Wargames

az md5sum azert volt kenyelmes, mert nem kell a speci karakterekkel szivni.

Az entropiat azert csokkenti, mert egy 8bites bemenetet csokkent lenyegeben <7bitre (0-9a-zA-Z), vagy pedig maga az md5 algoritmus?

Mondjuk kellokeppen hosszu (33 karakter) ahhoz, hogy az entropiacsokkenes lenyegtelen legyen.

Van meg egy rejtett elonye is:), lenyegeben ha el is lopnak a jelszoadatbazist, hirtelen ossze lennenek zavarodva, hogy ez a jelszo, vagy csak a hashelt adatbazis:)))

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Eddig kulonosebben nem erdekelt, mert kelloen hosszu a jelszo ahhoz, hogy kivaltsa egy ember altal megjegyezhetot.

De az md5sum elvileg nem valtoztatja meg az entropiat:
http://web.bahcesehir.edu.tr/atabey_kaygun/Blog/hashes-and-entropy.html

"The result is not surprising: hashing isn’t supposed to add or take away any entropy since we expect the hash to be collision-free."

Persze lehet kulcsutkozes, de az elhanyagolhato.

Talan meg ez vag ide:
http://crypto.stackexchange.com/questions/25243/if-you-hashed-a-hash-an…

Az teny, hogy az eredeti input (ami 8kB) megvagja 128bit hosszra (16 bajt), de entropiat nem kellene csokkentenie.

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Attól függ.. Ha azonos hosszú user által beállítható jelszóról beszélünk akkor szerintem de (ahogy fentebb is írták): Az md5sum csak [a-z,0-9] karaktereket fog használni neked, így a kulcstérből egy csomó karakter kiesik (nagybetű, speciális karakterek, szóköz, kötőjel, etc).
____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Ülj le és kuss legyen!"..

> Van meg egy rejtett elonye is:), lenyegeben ha el is lopnak a jelszoadatbazist, hirtelen ossze lennenek zavarodva, hogy ez a jelszo, vagy csak a hashelt adatbazis:)))

A fene se gondolta, hogy a BKK/T-Systems lenyulja az 5letet.
Noh mindegy, akkor ez a fele nem mukodik az 5letnek... :-P

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

nem mindegy hova van használva. usereknek lett kiküldve plaintext mailben? akkor nem a 32 karakter hosszal lesz gond ha ennyire aggódsz.

first loginkor meg kell változtatniuk? plaintext ftp-t használó userek?

jelszókezelőt használsz? pw managerekben van beépítve jelszó generáló, max raksz bele saját kézzel pár extra karaktert ha nem bízol meg a randomgenerátorban..

a jó jelszó hosszú, truly random, nincs újra felhasználva, nincs megosztva másokkal, biztonságosan van tárolva*, stb.

*sima md5 a pw hash? vagy salt+[bcrypt|scrypt|PBKDF2]? vagy esetleg AIX DES, ami 8 karakter után levágja a jelszót?

még TODO alatt van, de majd' egyszer kirakom főoldalra: https://sites.google.com/site/magyarinformatikus/about-passwords

láttam már olyan automatizált jelszóadást usernek, amit sok gépre terítettek, utána amikor ránéztem a megoldásukra, kiderült h. jópár gépen csöndben elfaildel a onelinerük, ezzel üres pw-t adva a usernek. legalább volt root joga annak a felhasználónak sudon keresztül (nopasswd) így akármelyik normál userrel át lehetett menni rootba. szóval double check soha nem árt.

magának a jelszónak md5 hash-t adni nem truly random, így nem ajánlott, max a hossza miatt vagy védve, de persze ez is függ az említettől, adott y cpu/gpu-ból x vagy x*100000 jelszót lehetne bruteolni z időn belül? tárolás módjától függően.

lehet guglizni mindenféle varázsmegoldásra, onelinerre, de adott célra nem hiába vannak célsoftware-ek.

magának a jelszónak md5 hash-t adni nem truly random

A /dev/urandom true random (legalabbis jelenlegi eszkozokkel nem lehet megkulonboztetni tole).
Az md5 csak egyfajta enkodolas ASCII / base64 helyett. Kisebb a karakterkeszlet (64 helyett csak 16 karakter), de 32 hosszusagnal igazabol nem nagyon szamit.

collision = különböző input ellenére ugyan az lesz a hash, azaz ismétlődhet a jelszó, még ha extrém kicsi eséllyel is.
ha truly random lenne, akkor ennek nem lenne matematikai lehetősége, kivéve persze ha ki lenne merítve a teljes kulcstér az összes lehetséges helyen.

ha fognál nagyon-nagyon nagy számú outputot ebből:
head -c 8192 /dev/urandom |md5sum
és összehasonlítod egy ugyan olyan kulcsterű, hosszúságú generált pw listával, amit normális randomgenerátorral hoztak létre, akkor az md5-ösben a collision miatt nagyobb lesz az ismétlődések száma.

collision = különböző input ellenére ugyan az lesz a hash, azaz ismétlődhet a jelszó, még ha extrém kicsi eséllyel is.

Az extrem kicsi esely az 1:(16^32). Az boven nem relevans. Ahogy eax is irta, egy 128 bites entropiaju jelszo kelloen eros ma. Kulonben meg mindegy, hogy ismetlodik-e a jelszo, ha CSPRNG-vel van generalva.

ha truly random lenne, akkor ennek nem lenne matematikai lehetősége, kivéve persze ha ki lenne merítve a teljes kulcstér az összes lehetséges helyen.

Hogy a viharba ne. Ha truly random, pont ugyanakkora esellyel jon az 'abcd' jelszo utan meg egyszer 'abcd', mint 'wxyz'. De meg egyszer: a jelszo nem kell, hogy mindenkinek egyedi legyen, ezt nem is szabad vizsgalni, mert epp ezzel csokkentened az entropiat. Egy a lenyeg: elore ne lehessen kovetkeztetni.

ha fognál nagyon-nagyon nagy számú outputot ebből:
head -c 8192 /dev/urandom |md5sum
és összehasonlítod egy ugyan olyan kulcsterű, hosszúságú generált pw listával, amit normális randomgenerátorral hoztak létre, akkor az md5-ösben a collision miatt nagyobb lesz az ismétlődések száma.

Mivel a hashek egyenletesen oszlanak el, ez nagyon nem igy van. Ha ugyanakkora a kulcster, akkor pont ugyanannyi collision lesz - ami meg egyszer: amugy sem szamit.

"és összehasonlítod egy ugyan olyan kulcsterű, hosszúságú generált pw listával, amit normális randomgenerátorral hoztak létre, akkor az md5-ösben a collision miatt nagyobb lesz az ismétlődések száma."

Ez annyira nem igaz, hogy letezik is random generator ami igy mukodik, lasd: Hash-DRBG.

"A /dev/urandom true random"

Erről eszembe jut a HUP-on az első aláírásom: :)

"Bárki, aki aritmetikai módszerekkel akar előállítani egy véletlenszámot, a bűn állapotában leledzik." Neumann János
--
"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." John F. Woods

Nem lett volna jobb base64? Többen utaltak is rá.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

esetleg még:

cat < /dev/urandom | tr -d -c 0-9A-Za-z | head -c20