Autor | Zpráva | ||
---|---|---|---|
hrk Profil * |
#1 · Zasláno: 10. 8. 2010, 01:36:54
Píšu pro svou aplikaci fci pro generování náhodných znaků. Tuto fci budu chtít používat např. jako základ pro generování hashů, jako hodnoty bezpečnostních tokenů, pro fci crypt() jako salt. Jaké znaky jsou bezpečné pro použití? Všiml jsem si např., že je problém u fce crypt se znakem $ který má speciální význam a asi to nebude jediný nekonfliktní znak v php.
|
||
Lamicz Profil |
#2 · Zasláno: 10. 8. 2010, 05:36:47
Viděl bych to na [a-z0-9], nekomplikoval bych to s nějakými speciálními znaky.
|
||
hrk Profil * |
#3 · Zasláno: 10. 8. 2010, 11:34:26
Jenže každým dalším znakem by trvalo déle, než by případný útočník na daný řetězec přišel (zanedbáme-li konkrétní použití tohoto řetězce).
|
||
Keeehi Profil |
#4 · Zasláno: 10. 8. 2010, 12:52:03 · Upravil/a: Keeehi
hrk:
[a-z0-9] 1 znak: 34 kombinací 2 znaky: 34*34 = 1 156 kombinací 3 znaky: 34*34*34=39 304 kombinací … 8 znaků: 1 785 793 904 896 n znaků: 34 na entou kombinací Pokud by jsi měl osmi znakový řetězec a útočník by každou sekundu zvládl zkusit milion hesel, trvalo by mu to 20 dní. Chtěl bych vidět server, na kterém budeš tu aplikaci mít, jak by zvládl každou sekundu přijmout milion požadavků, vykonat script a odeslat odpovědi. Pokud se ti to zdá pořád málo, můžeš rozsah rozšířit i o [A-Z], počet kombinací je 58 na entou. Útočník neví, jaký rozsah jsi použil při generování řetězce pro hashovací funkci. Proto může zkoušet hesla i z většího rozsahu. |
||
AM_ Profil |
#5 · Zasláno: 10. 8. 2010, 14:26:14
vzhledem k tomu, že nejde o hesla zadávaná uživatelem, ale o automaticky generovaný salt, ničemu nevadí, když bude trochu delší. Bohatě stačí 20 znaků z rozsahu [a-z0-9] a takové heslo se bude při 1 000 000 pokusů za sekundu louskat 135136209 miliard let. Pokud se vědci příliš nemýlí, náš vesmír je starý cca 15 miliard let.
|
||
Časová prodleva: 14 let
|
0