Hlavní navigace

Názor k článku Jak na tomhle webu změním heslo? Pomocí známé URL pro změnu hesla od Filip Jirsák - Koukám, že už jsou lidé tak zmatení úplnou...

Článek je starý, nové názory již nelze přidávat.

  • 10. 12. 2018 19:15

    Filip Jirsák

    Koukám, že už jsou lidé tak zmatení úplnou absencí použitelného bezpečného přihlašování v prohlížečích, že už ani nevědí, jak to má správně fungovat. Jako když jsou tak zmatení dlouhým používáním NATu, že považují NAT za přednost.

    Hashování hesla samozřejmě patří na klienta, na serveru je hashování k ničemu. Hashování hesla slouží k tomu, aby bylo možné ověřit znalost hesla, ale aby se zároveň nikdo to heslo nedozvěděl. Nikdo, provozovatele webu nevyjímaje – protože provozovatel webu je to největší nebezpečí. Pokud spoléháte na čestné pionýrské provozovatele webu, že hesla bezpečně hashuje, proč byste mu nevěřili, že hesla sice ukládá v plaintextu, ale má vše fakt dobře zabezpečené a hesla mu nikde neuniknou? A pokud budete tvrdit, že nic nelze zabezpečit tak dobře, aby neexistovalo riziko úniku hesel v otevřené podobě – to máte pravdu, ale to se úplně stejně vztahuje na všechny případy, kdy provozovateli posíláte heslo v otevřené podobě. Ostatně porovnejte si, jak často došlo k úniku hesel z komunikace, a jak často došlo k únikům hesel od provozovatele. Zkrátka pokud chcete mít bezpečné heslo, nesmí ho znát především provozovatel webu.

    Bohužel podpora v prohlížečích pro přihlašování hashovanými hesly je mizerná. Standardizována je akorát metoda HTTP Digest, která používá MD5 a uživatelské rozhraní v prohlížečích je bídné, navíc neexistuje podpora pro odhlášení ani pro nastavení/změnu hesla. Takže jediná reálná možnost, jak hashovat hesla v prohlížeči, je JavaScript. To samozřejmě neznamená, že web nemůže fungovat bez zapnutého JavaScriptu – samozřejmě že může, holt když vám uživatel to heslo nutí, tak si ho na server necháte poslat a (možná) ho zahashujete tam.

    To, že předáte útočníkovi informace o způsobu hashování hesla ničemu nevadí, přece nemáte bezpečnost založenou na security through obscurity. Útočníkovi usnadňujete práci především tím, že dovolíte, aby uživatelovo heslo opustilo prohlížeč. Pokud by prohlížeče byly bezpečné, nedovolily by to především ony samy, protože to je ta největší bezpečnostní díra týkající se hesel.