Navrhování hesel u webových aplikací
Nejčastější způsob přihlašování uživatelů k webovým službám je pomocí hesla. Implementace je jednoduchá a bezpečnost obvykle dostačující, ale slabým článkem je uživatel. Sice je dnes běžné že uživatelé používají nějakou klíčenku na hesla a to ať už přímo integrovanou v prohlížeči nebo v operačním sysstému (Mac OS X, Linux+KDE/Gnome, …), takže i hesla nemusí pamatovat a v případě zapomenutí je možnost jak heslo získat jinak, nebo heslo změnit (například potvrzení e-mailem, přednastavená otázka a tak podobně). Co je tedy tím slabým článkem u uživatele? No přeci jeho vlastní fantazie a problém sám vymyslet heslo které nebude stejné na všechny jím používané služby.
Jak tedy přesvědčit uživatele aby používali rozdílná a silná hesla?
No velice jednoduže – stačí jednoduchý JavaScript který uživateli navrhne heslo a rovnou ho uloží do přihlašovacího pole, prohlížeč si ho zapamatuje a je po problému. Pokud ale uživatel chce použít své vlastní vymyšlené heslo, klidně může – stačí když ho napíše do připraveného inputboxu. Mé statistiky pokrývající cca 10 000 našich zákazníků říkají že pokud pouze uživateli předložíme inputbox pro zadání hesla tak více než 80 procent uživatelů použije nevhodné heslo. Pokud jim přidáme možnost navrhnutí silného hesla systémem, tuto možnost využije průměrně 45 procent uživatelů, což je jistě ne zcela zanedbatelné posílení bezpečnosti.
function GeneratePassword(input_field) {
var length=Math.floor(4*Math.random()) + 5;;
var sPassword = "";
for (i=0; i < length; i++) {
num = (parseInt(Math.random() * 1000) % 94) + 33;;
if (
(num >= 97 && num < = 122) ||
(num >= 65 && num < = 90) ||
(num >= 48 && num < = 57)
) {
sPassword = sPassword + String.fromCharCode(num);
} else {
i--;
}
}
$(input_field).value = sPassword
return true;
}
A následně už jen zvývá přidat odkz pro generování hesla do stránky:
<input type="text" name="password" value="" id="id_inputbox" />
<a href="#" onclick="GeneratePassword('id_inputbox')">
Navrhnout heslo
</a>
Závěr
Množství uživatelů kteří si zvykli takhle používat silná generovaná hesla mně opravdu mile překvapilo a proto tuto metodu doporučuju tímto způsobem dalším autorům stránek.
