Skip to main content

Why Not Signed Password Authentication?

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 password+current timestamp. This signature would be generated by the locally stored private key. For instance a developer could simply add Javascript to a login page that would generate the signature using the private key stored in the browser's local storage.

This can be implemented easily both for native and web apps without any complication to the sign-in process for the end user.

On the server, authentication would need to be tweaked of course, but the additional effort is minimal. On platforms like php it is just a matter of updating the authentication logic, on JVM platforms application servers can bake this in as an additional security option and make it easy to configure.

On the server, the signature would be verified using the stored public key and the user can be authenticated. Authentication can be denied perhaps based on some sort of user preference. For instance a user could specify that if they ever attempt to access their account without a valid signature, the server should deny access. Or a user could say if signature verification fails, failover to 2-factor authentication.


This can be of course combined with 2-Factor authentication. Also a process can be developed to make it easy to transfer the locally stored private key to other devices both permanently or temporarily.

Of course private keys could be stolen via other security weaknesses but this seems like a low hanging fruit approach to mitigating the effect of stolen passwords and brute force attacks on weak passwords, thereby significantly increasing the effectiveness of passwords.

At the end of the day, security is not about one perfect solution but rather a combination of solutions that together lead to an effective solution.

Just some thoughts...am I missing something here?

Comments

  1. You are missing that this locally stored private key is not easily transferred to other devices or browser, prohibiting users from logging in from another browser/device.

    ReplyDelete

Post a Comment

Popular posts from this blog

Hype on HackNews and Silicon Valley

One of the consequences of refusing to drink the in vogue kool-aid is that you remain sober and take in the full brunt of the silliness going on around you. The technology industry overflows with such silliness, like any credible geek I spend too much time reading HackerNews even when I don't want to. One odd phenomenon I have observed over the past few years is the fact that there is a rather peculiar writing style in Silicon Valley, seemingly meant to make writing more efficient in conveying hype. Specifically, the desire to create emphasis when otherwise the point being made is prosaic has lead people in Silicon Valley to come up with this odd writing style where adverbs are deployed in ways that no decent writer would. Let's just say a good chunk of "influencers" in SV suffer from Hype-Nitis . I have gleefully collected a small sample of these gems on HackerNews over the past couple of years: atrociously bad crucially important astonishingly successful

Reactive and Component Frameworks for "Old Fart" Programmers

One of the great challenges for experienced developers when confronted with new concepts is being able to map one's existing knowledge to the new concept. As they say, there is nothing new under the sun, that is often more true for new development methodologies. Even when new jargon is brought to bear on new methodologies, often upon closer inspection you recognize that it is something that you already know that is being described in a new way (unfortunately sometimes in a convoluted way to make it seem new). Reactive/Component UI/UX frameworks are one such development, while their particular implementations may be new and novel, almost all of the underlying concepts are not new. This is hardly a thorough presentation of Reactive/Component frameworks, but rather an attempt to fill in some gaps for developers who have experience but might find themselves confused by some of these new kids on the block. The top 3 reactive component frameworks being React, Angular and Vue. Al

The feds need to shutdown the bitcoin scam now.

I live in Baltimore, let's say I have some hypothetical friends who are always looking for a good hustle. Now imagine if my friends got together for a new get-rich-quick-scheme, the scheme is very simple. They invent something called cracken (bitcoins) that they start selling on a few blocks in Hamsterdam . The way you get crackens is to do laps around the blocks in Hamsterdam . Initially when the scheme was setup, you could get a whole lot of crackens by merely doing a few strolls around the block. Needless to say my friends made out like bandits, since, after all they created the scheme and could take advantage of the first-come-first-serve rules. Unfortunately for the rest of the hood, the number of laps required to get the same number of crackens keeps going up and after a while even the fittest folks in the neighborhood cannot do the lapse required to earn crackens. Cracken mania takes hold and infects the whole city. Those with crackens start trading these crackens f