Poslední dobou me začala docela trápit otázka bezpečnosti. Přihlašuju se na wifi ve škole. Není tam nastavené žádné šifrování ani nic. V dnešní době, kdy s Etherealem dokáže odchytit heslo i malé dítě, se mam proč bát. A když uvážím to, že někteří někteří moji spolužáci mají větší schponosti než malé dítě..

Tak jsem se rozhodl, že tam kde můžu s tím něco udělám. Bohužel většina free providerů neposkytuje https, takže můj sen o jednoduchém systémovém řešení se hodně rychle rozplynul.

Zkusil jsem si naprogramovat vlastní zabezpečené přihlašování v php. Moje požadavky:

  • nemít možnost přečíst si heslo v databázi jako plain/text
  • neposílat heslo plain/text vzduchem
  • nemít možnost znovupoužití odchycených dat

Tak jsem napsal skript používající php a javascript, který funguje přibližně takhle:

  • server vygeneruje sůl (nahodný řetězec a timestamp)
  • uživatel zada jmeno a heslo do formuláře
  • javascript zahashuje heslo
  • javascript zahashuje první hash se solí
  • hash(hash(heslo)+sul) se pošle serveru
  • server zkontroluje platnost dat

K tomuhle navíc po 20 špatných přihlášeních zabanuju ip adresu na pul hodiny. Pro ostatní paranoiky je dobrá zpráva to, že jsem si to vystavil na stránce – je to zdroják, takže si to můžou překontrolovat a taky používat.

Loading

By Jozef Mlích

Software Developer at GreyCortex, NemoMobile contributor, Micro light aircraft pilot, OpenAlt Conference organizer

2 thoughts on “zabezpečené přihlašování na webovou stránku”
  1. no v php 5 existuje v repozitari PEAR taka zaujimava trieda, ktora sa vola HMAC – tak si to nastuduj … GL

Comments are closed.