Today's practices for authentication on the Web are inadequate in a number of regards:
Today's practices for authentication on the Web are inadequate in a number of regards:
It is therefore timely to consider new approaches for authentication on the Web, including the role of anonymous credentials as a way to ensure greater privacy.
Much of the current discussion and even more of the current
technologies are centered around the real identity of a given
user. In those concepts, a trusted third party is one that is
known and trusted. In the imagined use cases, the trusted third
party was there to control the user, to deliver it to services.
The business model wasn't user centric, it was service centric.
All this has more or less failed because users weren't convinced.
The third party was rather a point of intrusion than a point of
increased confidence. The information given and the digital trails
left were monitored for even better targeting. But users don't
want to be the target of marketing guns. The third party either
has to offer added value, like social networks do, or has to help
the user to protect and better find their way online. The
intrusiveness possible is probably a direct function of the added
value that comes with the trusted
third party.
Many in the digital economy think that real names will bring more trust. We are doubtful about that assertion. The belief probably stems from the fact that the identity of a person is needed for legal action. The expectation — it seems — is that persons acting under a real name can be made accountable in the legal system. So the legal systems in most countries seem to require real names in order to start legal action in case of abuse. But this expectation is wrong. Persons committing fraud under real names will — in doubt — also fake a real name. To the contrary, the fact of using real names and real identities (whatever that is) is exposing users to more vulnerability to fraud. In our digital world, everything leaves traces. Those traces can be much better interlinked and abused if one has only one identity. So having everything under real name is forcing an unhealthy centralization that makes systems extremely vulnerable.
So real names don't help against fraud and additionally expose users and systems to higher security risks and potential for abuse.
The legal system would also work with pseudonymous identities as long as there is technology for break the glass traceability in case of abuse. And those windows have to be distributed so that breaking one pane of glass doesn't reveal a person's entire life, but just the part that is of interest to the party seeking accountability. In such a world, a reputation is with a pseudonymous identity as we have it already in certain social networks. The reputation itself is not bound to a real person, but to this online identity. Within such a system, credentials will become more important than the current user / password authentication.
This point has also be raised by Lawrence Lessig in his espousal of traceable anonymity:
A strong ethic and architecture of pseudonymous identity, properly protected, would give us more privacy than we have today.
Of course, it is possible (and probably likely) that such an architecture would not properly protect the link between a transaction and the privacy of a person. Government officials, for example, upon mere suspicion would be able to break the link, etc. That of course is not what I am promoting. I would promote a regime where the gov't required a very strong warrant-like reason before it could break the code that makes the link. But I will note that the baseline from which we're starting is a world where no real showing is necessary for this sort of surveillance.
We should start by avoiding the need for users to ever have to type their credentials into Web page forms. The website should disclose authentication and account management details to the browser and allow it to deal with them. Users authenticate themselves to the device/browser, then the browser authenticates the user to the website. The Firefox account manager is proof of feasibility. The approach allows for a variety of different authentication techniques. We should strongly discourage the practice of sending passwords to the server, even when using transport layer security (HTTPS). We should encourage mutual autentication, where the user can be assured that she is connecting to the same server as the one she set up her account with.
In many circumstances, it isn't necessary to identify the user, when you just need to verify certain things about the user, i.e. that the user is a member of a given group, or that he is within a given age range, or resides in a given area. Zero knowledge proofs are a perfect solution for this, with the ability to provide cryptographic proofs based upon the possession of strong credentials. At first sight this seems a little weird - providing privacy by requiring strong credentials, but it makes a lot of sense. The website can be assured that the required properties are backed by a trusted credential issuer, despite not learning what the user's real name, location and age are. There is a break-the-glass mechanism to reveal true identity under court order.
Dave Raggett (W3C) and Patrik Bischel (IBM) have developed a proof of concept demo for Firefox based upon the identity mixer library created by IBM Research, Zurich. Further work is now planned on integrating zero knowledge proofs directly within browsers.
Rigo could show the idemix demo at the workshop!
For strong authentication, we can't ignore the first step of authenticating the user to the device/browser. Relying parties will want assurance that it is the intended user who is operating the device. Two factor techniques can help, but human nature being what it is, this shouldn't be something that can be easily lent to a friend, or purloined by an enemy. This is a problem for short PINs and for smart cards. A combination of biometric techniques with a fallback to a long but memorable personal phase provides a solution. An example is being asked to repeat a few random digits whilst looking at the device's video camera. This combines voice authentication with video-based face authentication, and is safe against replay attacks, noisy conditions, stuffy noses and poor lighting.
Today authentication on the Web is deeply flawed and it is now time to progressively phase in better solutions, starting with avoiding the need for users to type passwords, and for passwords to be sent over the Web to servers. A two step process is essential, where users authenticate to the browser, and the browser then authenticates to the website, preferably using some form of mutual authentication. Authentication isn't necessarily about who you are, and in many cases it is more a matter of what you are! Zero knowledge proofs can provide websites with the evidence they need in a privacy friendly manner, that is underpinned by strong credentials. Secure pseudonymous identities can be based upon strong identities for traceability when really needed. Imagine it, your privacy guaranteed by a goverment Id! It is time for browser vendors to work together with cryptographers, privacy, security and protocol experts to develop new and effective standards for Web authentication!