sql >> Databáze >  >> RDS >> Mysql

Uživatelské jméno, heslo, solení, šifrování, hash – jak to všechno funguje?

Pokud vyloučíte captcha, zkusíte limity, uzamčení atd... pak ano. Musíte jen hrubou silou použít prostý textový řetězec.

To však vyžaduje čas - přinejmenším je to omezeno rychlostí, s jakou bude server odpovídat na požadavky na přihlášení. I když vývojář nepřidá žádná opatření, aby zabránil hrubému vynucení, samotný server může projít procesem šifrování + ověření tak rychle a zvládne pouze tolik paralelních požadavků.

To je důvod, proč je důležité

  • Jako uživatel používejte silné heslo, které lze těžko vynutit hrubou silou
  • Jako vývojář mějte odpovídající opatření, abyste zabránili hrubému vynucení vašeho přihlašovacího procesu

Hašování a solení hesel není ochrana před lidmi, kteří hrubou silou vynucují přirozený proces přihlašování (existují další věci, které proti tomu chrání). Namísto toho mají chránit před potenciálním ohrožením samotného úložiště hesel (např. když někdo vyhodí obsah databáze).

Hašování i solení slouží ke snížení rychlosti ve kterém může někdo s přístupem k uloženým heslům získat prostý textový řetězec, který by potřeboval k tomu, aby mohl projít přirozeným procesem přihlášení (vašeho webu nebo jiných webů vzhledem k tomu, že hesla jsou mezi weby běžně sdílena), aniž by došlo k porušení bezpečnostních opatření proti násilnému vynucení.



  1. Chyba při pokusu o migraci postgresql db na mysql s workbenchem

  2. Kde PostgreSQL ukládá konfigurační/conf soubory?

  3. Zachování propagace vždy povolené v Oracle Streams

  4. Problém hibernace s Oracle Trigger pro generování ID ze sekvence