It is now universally acknowledged that basic password authentication does not offer sufficient security. 2-Factor authentication is a major improvement and hopefully would become the standard form of authentication over time. Another approach that might work well would be to use public key cryptography to authenticate with a signed password instead of just the plain password. An application (web or native) would generate the public/private key pair and store the private key locally while storing the public key along with the user's password on the server. This key generation can happen for instance during account sign up when it is clear the owner of the account is the one accessing it. Of course a key rotation mechanism can be devised to allow for a flexible way of rotating keys. This would all be transparent to the end user. Instead of the user submitting just the password, they'll submit both the password and a timestamp based signature, ie plain passwor
Turbo-charging developer productivity