it-swarm-eu.dev

Použitelnost a zabezpečení pro přístup uživatelů a nakládání s hesly ve webové aplikaci?

Snažím se sestavit web zaměřený na běžné uživatele, který bude zpracovávat osobní údaje, které nechci být ohroženy. Jak mohu zabezpečit web, ale také ho použít?

Zdá se, že většina stránek používá identifikátor uživatele (zdá se nejlepší e-mailová adresa) a heslo, což je celkem dobře pochopitelné.

Některé bankovní stránky jdou nad rámec toho, že mají PIN nebo bezpečnostní otázky, které vycházejí ze standardních identifikátorů nebo nahrazují heslo). Měl bych zájem slyšet o všech alternativách, které se v tomto ohledu osvědčily. .

Slyšel jsem také o tom, že jsem uživatelům umožnil zvolit si vlastní barevný systém nebo hledat a cítit web, jakmile budou identifikováni, což ztěžuje phishing údajů o účtu. Ví někdo o webech, které to používají a jak dobře to funguje?

Skutečnou slabinou ve většině systémů se mi zdá být zařízení pro resetování hesla. Protože uživatelé zapomínají svá hesla po celou dobu, musíme mít něco, co jim pomůže tady, ale zdá se opravdu těžké najít rovnováhu mezi užitečným a hrozně nejistým. Opět se zdá, že zde je široce používán přístup k otázkám bezpečnosti uživatelů, ale obě strany, se kterými jsem se setkal, buď kladly otázku, kterou uživatel nastavuje a poskytuje odpovědi nebo mají na uživatele neměnné otázky.

S otázkou poskytnutou uživatelem jim nedůvěřuji, aby neučinili otázku „co je 1 + 1“, bez ohledu na to, jak těžké se jim pokusíte říct, že je to velmi důležité.

S nezměnitelnými otázkami - a pokud se ptáte uživatelů na věci spíše než na jednoduchá fakta, je pravděpodobnější, že se změní - mají tendenci proměnit se v věc (rodiče křestní jméno, první domácí mazlíček), která je ve skutečnosti docela snadno najít pokud cílíte uživatele na útok.

Uvědomuji si, že zde bude vždy kompromis mezi tím, co je bezpečné a co se snadno používá, ale musí být možné dělat lépe, než dnes většina webů. Můžete navrhnout méně obvyklé, ale spolehlivé přístupy k zabezpečení uživatelských účtů? Slyšel jsem mluvit o obrazových sítích, vlastních záznamech atd. - nějaké zkušenosti s nimi v praxi? Existují nějaké weby, které to spravují zvlášť dobře, a pokud ukazují, jak/proč fungují?

10
glenatron

Dobrá otázka.

Krátká verze

Stejně jako většina webů existuje několik možností, které přesahují uživatelské jméno/e-mail/heslo. Nemůžete vyřešit konečný problém se zabezpečením, ale můžete se vzdělávat. Existují alternativy k captchas. Zabezpečení versus snadné použití je nekonečná zdravá debata.

Extra bezpečnostní možnosti při přihlášení

  • Yahoo! používá koncept " sign in seal ", kde si můžete vybrat buď text nebo obrázek, a toto přizpůsobení bude uloženo v cookie a po návratu se zobrazí na přihlašovací stránce. Zde je myšlenka, že pomáhá předcházet phishingovým útokům: namísto vysvětlování technických podrobností phishingu uživatelům a očekávání, že si budou pamatovat věci jako „ujistěte se, že adresa URL začíná https://www.yahoo.com ", řeknete uživateli, aby na stránce hledal přizpůsobený text nebo obrázek. Pokud tam není, nejste na správném webu, proto nezadávejte přihlašovací údaje.

  • World of Warcraft používá Blizzard Authenticator , což je zařízení, které si můžete objednat a které vám bylo zasláno, nebo aplikace pro iPhone/Android. Obě generují jedinečný kód svázaný s vaším účtem každou minutu. Když se přihlásíte, musíte zadat svou registrovanou e-mailovou adresu Battle.net, heslo účtu a kód Blizzard Authenticator. Ačkoli je to hra, World of Warcraft je sám o sobě phishingový kontinent, tento přístup se ukázal jako velmi účinný při snižování počtu hackovaných účtů pomocí phishingu (protože i když se vloupáte do něčího e-mailového účtu a načtete nebo změníte své heslo World of Warcraft) , nemůžete se přihlásit, pokud nemáte tento konkrétní konkrétní synchronizovaný kód Authenticator). Stojí za zmínku, že Authenticator je teoreticky hacknutelný, ale vyžaduje mnohem více práce.

  • myOpenID používá podobnou pečeť přihlášení jako Yahoo! s názvem „vaše osobní ikona“. Protože OpenID má další bezpečnostní důsledky (např. Pokud získáte přístup k mému OpenID, nyní máte potenciálně přístup ke všem webům, které používám s tímto OpenID), jakékoli možnosti pro zvýšení ochrany hodně pomáhají. Nemyslím si, že většina netechnických uživatelů má účty OpenID u poskytovatelů OpenID, takže by to mohlo být méně velké. Přesto je pro JanRain dobré, že jste se dostali na míli navíc.

Co dělat, když uživatelé poskytují zřejmé bezpečnostní otázky a odpovědi

To je problém, který nemůžete vyřešit, a ve skutečnosti to není vaše odpovědnost. Na co byste se měli zaměřit, je propagace správného chování uživatelů tím, že je vzděláváte o tom, co musí věnovat pozornost. V závislosti na typu uživatelské základny, kterou máte, můžete být více či méně agresivní - například Yahoo! a Blizzard jsou velmi agresivní a také implementují aktivnější bezpečnostní pomoc, jak je uvedeno výše.

Některé věci, které můžete udělat:

  • Upozorněte uživatele, aby používali jedinečné heslo sestávající nejen z alfanumerických znaků
  • Vysvětlete, že hesla by měla být vytvořena z neexistujících slov, a pomozte vysvětlit, jak vytvořit nezapomenutelné heslo, které vyhovuje dané formě
  • Použijte jasnou kopii během toku, kde uživatelé vytvářejí otázku pro obnovení hesla a zdůrazněte důležitost kladení netriviálních otázek, na které ostatní lidé neznají odpověď
  • Uveďte příklady otázek, které by lidé mohli použít ( ne uveďte příklady, jako je „rodné jméno matky“, které je dnes snadno dostupné přes Facebook)
  • Napište a FAQ, které poskytují tipy, jak zabezpečit svůj účet. Protože webmail je často používaným zabezpečovacím otvorem, poskytněte základní tipy, jak zabezpečit svůj e-mailový účet a jak sledovat pokus o phishing)

Buďte odpovědným vlastníkem webových stránek. Přirovnávám ji k vlakovým stanicím, které mají cedule s nápisem „dávejte si pozor na kapesní kapsy“ - je vaší odpovědností jako jednotlivec, aby vaši peněženku neměly v jasném výhledu, a poté si stěžují, když ji ukradnou. Ale je to hezké vedení stanice, aby lidem připomnělo, aby si pamatovali. Problém na webu je, že mnoho lidí neví, na co je třeba dávat pozor a jak identifikovat hrozby. Můžeme pomoci neustálým a důsledným vzděláváním všech, s nimiž jsme v kontaktu.

Kapitoly a alternativy

Captchas existují ze dvou důvodů: jeden, aby zabránil vašemu webu získat DDOSed a dva, aby hackerům zabránil v provádění slovníkových útoků. Nevýhodou je, že ve většině případů jsou velmi nepřátelští a úplně ne " Don't Make Me Think ".

Pokud chcete zabránit slovním útokům nebo je alespoň odradit, můžete zvážit přidání časovače na přihlašovací obrazovku, které se zvyšuje po každém pokusu (po určitém počtu). Většina uživatelů se dostane po, řekněme, 5 pokusech, a o nic víc, než je pochybné chování. Zajistěte, aby útoky na slovníky byly nepříjemné, protože by způsobovaly problémy pachatelům, nikoli běžným uživatelům.

Zabezpečení vs. snadné použití

Jakob Nielsen způsobil v loňském roce šplouchnutí, když napsal, že pole hesel představují problém s použitelností a měli by přestat maskovat jejich vstup . Tvrdil, že maskování vstupu skutečně zabraňuje únikům zabezpečení, když někdo stojí přímo za vámi, a to není případ 99% času, tak proč ztěžovat použití věcí pouze v případě Edge? Jako odborník na použitelnost je těžké se s ním hádat. A bezpečnostní expert Bruce Schneier s ním dokonce souhlasil !

Zabezpečení versus snadnost použití je tedy kontroverzní záležitost, kterou nelze skutečně vyřešit. A je to zdravý argument: pokud by se věci pohybovaly příliš daleko v obou směrech, nebylo by to pro koncového uživatele dobré. Jako návrhář uživatelského rozhraní je důležité rozpoznat argumenty odborníků v oblasti bezpečnosti a vzít je v úvahu při navrhování uživatelského prostředí.

9
Rahul

Ve skutečnosti, protože většina poskytovatelů tam nabízí přihlašovací API (obvykle založená na Open Auth), nemusíte se dokonce zabývat problémy s přihlášením/ověřením uživatele. Stačí, když se uživatelé přihlásí pomocí služeb Facebook, Google, Yahoo, Twitter atd. Mám pocit, že Google, Microsoft, Yahoo, et. al. bude lépe zabezpečovat přihlašovací údaje a zabývat se obnovením hesla než já. To je pro vaše uživatele opravdu nejlepší, protože si nemusí pamatovat novou sadu přihlašovacích údajů a ve většině případů, pokud již jsou přihlášeni do své pošty, nebudou znovu zadávat heslo. Je to perfektní přihlášení jedním kliknutím (bez psaní).

Pro tuto práci existují dvě malé gotiky. (1) Musíte podporovat relativně velký počet poskytovatelů přihlášení, abyste zajistili, že zachytíte všechny své uživatele, aniž byste je nepohodlili. (2) Musíte podporovat a povzbuzovat propojení účtů, aby uživatelé mohli do svého účtu na vašem webu přidat více poskytovatelů přihlášení, protože poskytovatelé mohou (a často bez varování) změnit své API nebo jít dolů kvůli údržbě, která je účinně uzamkne vašeho webu.

Nahoře můžete obvykle získat uživatelské parametry přímo od poskytovatele, takže uživatel nemusí zadávat informace, jako je e-mailová adresa, jméno, telefon atd.…

1
Jonathan

Abych byl upřímný, jako programátor, nemám rád bezpečnostní kroky týkající se osobních otázek/odpovědí, protože odpovědi by mohly být zadány nesprávně z přísně programového hlediska. Co se stane, když jejich odpovědí bude jméno, ale nepamatují si, jestli dali celé jméno nebo jen své krátké jméno nebo jen své křestní jméno, nebo jim chybí apostrof a neuvědomují si to.

Captchas (různé druhy) na druhé straně vyžadují černobílé odpovědi. Je to buď platné nebo není. Čitatelnost captcha však pro uživatele někdy představuje problémy. Většina z nich je čitelná, ale některé jsou jen zbožné.

Myslím si, že metoda vyžadující ověření e-mailem při resetování hesla mi vždy připadala docela bezpečná, protože to jasně vyžaduje, abych věděl své přihlašovací údaje pro druhý systém (můj e-mailový účet) pro přístup odkaz zpět na web s žádostí o nové heslo.

0
Nick Bedford