Mozilla Persona had one of its first conference Australian outings at AusCERT 2013, with software engineer on the project, New Zealand-based Francois Marier's tutorial on the architecture of the identity project.
While it doesn't entirely eliminate passwords, Mozilla is hoping Persona will at least persuade those building new sites not to deploy their own password infrastructure, instead using Persona as their default sign-on technology.
As far as it can be accomplished, Marier said, we need to get rid of passwords: they're mostly insecure, they provide overheads both on users and site managers. Any site that does a bad job of securing passwords is a “huge externality” on the rest of the Internet, he said, since it's almost certain that if passwords are lost in a breach, some users will have recycled their password at some other site.
The buttons then popup the login, which negotiates not with Mozilla Persona, but with whatever identity the user chooses, using an assertion process: instead of providing a user ID and password stored in a site's database, users merely have to prove ownership of an existing account (such as a Gmail account). That means users don't have to demonstrate their identity to Persona, but rather they prove their existing relationship with another service.
While this looks similar to the “sign in with Twitter or Facebook” buttons, there are important differences. One is that Persona never gets to associate a user with the site they visit: verification is based not on a visit to (for example) the Sydney Morning Herald, but rather on the combination of email@example.com with Gmail's public PKI key.
The other difference is that Persona is not trying to act as a single repository for all users, which Marier pointed out, leaves people subject to the whims of the site owner (having your account terminated at Twitter would leave you without your login to any other account associated with that identity).
The “login with us!” button, Marier said, “Centralises the gatekeeper - do we want them to be able to dictate who can login to a bunch of Websites?”
While it's relatively early days in the project, the attraction that Mozilla hopes will win over developers is that protecting user passwords on any site is difficult: developers need to work with the right cryptography tools, implement the per-user salts for hashing properly, keep their crypto tools up-to-date, implement password recovery and lockout policies – and password recovery has to be just as secure (there are still Websites sending reset passwords as plain text) as every other step in the chain.