Mopar wrote:Question portion: Wouldn't the 2FA scheme you've outlined require some kind of modification of the client to work? Where would you enter in the 2nd authentication factor? If it's just concatenated somehow into the password field, then that is not actually 2FA - all you have in that case is just a single, more complex password. That is, unless you use a time-sensitive key generator or an OTP approach, but that would require external software.
I'd be thrilled if they just added 2FA to the web password reset capability, removed the looney 10 day inactivity requirement, and removed the ability to change password in game. This could be done with zero changes to Mangos (except a configuration change), and just changes to the website approach.
Honestly, I should clarify this a bit more in the main OP. I'm thinking about rewriting it while keeping the old OP in a pastebin or something along those lines. What I meant to say is to add a 2FA to the login page on
https://en.nostalrius.org/login and remove .account password (in-game command). This would allow people to have security both on the login page where nobody can request a password change and a compromised account cannot have its password changed in-game so the owner still retains the account even if a login wasn't from the owner.
You made a valid point on 2FA in-game though. There's another approach to it beyond the login page if you wanted to make sure characters are not played, but can still be deleted/accessed. Login => Character selection => 2FA challenge upon entering the server; time-based -- at this point you're only creating a second password though since a key isn't exactly viable in this situation.
OTP also doesn't require third-party software at all. There's implementations in C that can easily be used here. I don't expect OTP to be implemented as much as keys are though.
For your last paragraph, I'm glad we see eye-to-eye. The password reset they have is quite odd and can swing in favor of the person stealing an account. This would basically hinder them from stealing the account and only allow them to damage characters at this point.