( rascy | 2021. 07. 16., p – 09:13 )

Köszönöm a hozzászólásokat és a kérdéseket, pont ilyenekre volt szükségem.

Nem akarom feltalálni a spanyol viaszt, csak a sima e-mail cím és jelszó beléptetés helyett 1-el biztonságosabbat szeretnék alkalmazni
úgy hogy a gyenge jelszavak ne jelentsenek kockázatot, de ne is kelljen cetlire felírnia, mert elfelejtené.
A lenti lista alapján azt gondolom jobb valamivel, de lehet tévedek.

"Ez hogy all elo, pontosan?"
- random string + unique id (ez nem JWT token, de a sikeres belépés után azt kap, ami x ideig megőrzésre kerül a böngészőben)

"Mi az oka annak, hogy nem egy meglevo megoldast hasznalsz?"
- nem használom, és ilyen formában biztos nem is fogom :) 

"Ha nem kapja meg a levelet, mert akarmi, akkor nem tud belepni?"
- igen ez így lenne, de több nagyobb cégnél is e-mail-es a második faktor és ott is ugyanez előfordulhat

"Hogyan és mivel garantálod, hogy ugyanazzal a linkkel ne tudjon még egyszer belépni a felhasználó?"
- a belépéssel azonnal törlődik az adatbázisból az egyedi random string + unique id

"Mi történik, ha az email késve jön meg és a felhasználó még egyszer megpróbál belépni, így 2 levelet fog majd kapni és megpróbál belépni mindkettővel? Melyik lesz érvényes?"
- mindig az utolsó és igen ezzel már nekem is van tapasztalatom (regisztrációt aktiváló linkek esetében) hogy nem mindig értik 


Ha az e-mailben nem egy link menne csak egy 6 számjegyű kód? (OTP)
Bár az e-mail feladójából általában ki lehet deríteni, hogy milyen oldalhoz tartozik, de "hacker" akkor sem tudná hová beírni az oldalon, mert azt az oldalt nem éri el ahol be kellene ezt írni a bejelentkezéshez.
Viszont ha a levelezést feltörik vagy minden e-mailt elkapnak akkor az erős jelszó sem ér sokat, hiszen kérnek újat.

Ha a bejelentkezési folyamatokat hasonlítom össze, akkor biztonság szempontjából ez a sorrend helyes?
Tehát a megoldásom valamivel biztonságosabb mintha csak e-mail és 8 karakteres jelszó páros lenne?
Viszont ha erős jelszavakat kényszerítek ki, akkor már az jobb?
(a próbálkozásokat mindegyik esetben letiltaná a rendszer x ideig)
(erős jelszó = 
10+ karakter, kis- és nagybetű, szám, és zxcvbn password strength meter használata)
(gyenge jelszó = 8+ karakter, kis- és nagybetű, szám, de pl. "Jozsi123" engedve van)

1. email és jelszó megadása (erős jelszó*) + applikációban megjelenő OTP beírása az oldalon
2. email és jelszó megadása (erős jelszó*) + SMS-ben érkező OTP beírása az oldalon
3. email és jelszó megadása (erős jelszó*) + email-ben érkező OTP beírása az oldalon
4. email és évszám (vagy valami) megadása + email-ben érkező kód beírása az oldalon
5. email megadása + email-ben érkező kód beírása az oldalon

6. email és jelszó megadása (erős jelszó*) + nincs OTP
7. email megadása + email-ben érkező linkre kattintás
8. email és jelszó megadása (gyenge jelszó*)  + nincs OTP

Lehet tényleg túlságosan rápörögtem az egészre :D