Vlákno názorů k článku
Firefox bude výrazně varovat před přihlašováním bez HTTPS od Jan Hrach - Takže místo toho, aby implementovali způsob přihlašování, při...

  • Článek je starý, nové názory již nelze přidávat.
  • 21. 1. 2017 12:52

    Jan Hrach
    Stříbrný podporovatel

    Takže místo toho, aby implementovali způsob přihlašování, při kterém se heslo nepřenáší, raději udělají upozornění, které se ale nebude zobrazovat v případech, kdy heslo může být zneužité jen vzdáleným serverem?

    Výborně.

  • 21. 1. 2017 13:08

    Filip Jirsák
    Stříbrný podporovatel

    Ještě smutnější je, že přihlašování, při kterém se heslo nepřenáší, je ve standardu už mnoho let, a v prohlížečích je už dlouho implementováno, akorát že velmi nepřívětivě a nedotaženě.

  • 21. 1. 2017 13:50

    Vlado (neregistrovaný)

    Ahoj.
    Toto by ma zaujímalo!
    Na serveri mám heslá uložené ako solené hashe. Ako mám urobiť prihlasovanie, aby sa heslo nemuselo prenášať na server?
    Našiel som iba SCRAM, ale implementovať ho v javascripte....
    O vhodnej podpore v prehliadačoch zatiaľ neviem.
    Môžeš ma, prosim, nasmerovať?
    Díky!

  • 21. 1. 2017 14:02

    Filip Jirsák
    Stříbrný podporovatel

    Ve standardu HTTP je definována hlavička Authorization, která se může posílat s každým požadavkem. Všechny dnešní prohlížeče podporují typ autentizace Basic a Digest. Při Basic se přenáší jméno a heslo nešifrovaně, při Digest se používá MD5 hash. V prvním kole se vytvoří hash jména, hesla a popisu serveru (realm) – tenhle hash můřže mít uložený server, nemusí vůbec znát heslo v otevřeném tvaru. Tenhle hash se pak spolu s výzvou použije jako vstup pro druhé kolo MD5 a odešle se na server. Server zná první hash a výzvu, takže ověří, že druhý hash sedí.

    Nevýhodou je, že pro to prohlížeče nemají moc dobré UI a chybí jim podpora pro odhlášení. A standard vůbec neřeší registraci uživatele a změnu hesla, takže nastavení hesla musíte pořád řešit přes klasický formulář a hash spočítat javascriptem, nebo heslo odeslat (při jeho nastavení) na server a až tam zahashovat. (Což vám samozřejmě uživatel nemusí věřit, že si heslo neuložíte.) Výhodou je, že je autentizovaný každý jednotlivý požadavek, takže odpadají všechny problémy s únosem session apod.

  • 21. 1. 2017 15:22

    Jan Hrach
    Stříbrný podporovatel

    Osobně by se mi víc líbila metoda podobná SSH. Já bych měl třeba klíč v password manageru, kdo by chtěl mít heslo, generoval by si klíč deterministicky z hesla.

    > Ako mám urobiť prihlasovanie, aby sa heslo nemuselo prenášať na server?

    Momentálně nijak, protože prohlížeče to buď nepodporují, nebo je GUI nepoužitelné.

    > Našiel som iba SCRAM, ale implementovať ho v javascripte....

    To je samozřejmě nesmysl, protože nikdo nezaručí, že ten JS není podvodný (uživatel asi nebude při každém načtení stránky kontrolovat všechny zdrojáky). Tohle právě musí implementovat prohlížeč a heslo se ke stránce nesmí vůbec dostat.