Mozilla Persona Explained

Mozilla Persona
Logo Size:200px
Developer:Mozilla Foundation
Released:July 2011
Programming Language:JavaScript
Operating System:Cross-platform
Language:51 languages
Genre:Authorization
License:MPL

Mozilla Persona was a decentralized authentication system for the web, based on the open BrowserID protocol prototyped by Mozilla and standardized by IETF.[1] It was launched in July 2011, but after failing to achieve traction, Mozilla announced in January 2016 plans to decommission the service by the end of the year.[2]

History and motivations

Persona was launched in July 2011 and shared some of its goals with some similar authentication systems like OpenID or Facebook Connect, but it was different in several ways:

  1. It used email addresses as identifiers
  2. It was more focused on privacy
  3. It was intended to be fully integrated in the browser (relying heavily on Javascript).

The privacy goal was motivated by the fact that the identity provider does not know which website the user is identifying on. It was first released in July 2011 and fully deployed by Mozilla on its own websites in January 2012.

In March 2014, Mozilla indicated it was dropping full-time developers from Persona and moving the project to community ownership. Mozilla indicated, however, that it had no plans to decommission Persona and would maintain some level of involvement such as in maintenance and reviewing pull requests.

Persona services are shut down since November 30, 2016.[3]

Principles and implementation

Persona was inspired by the VerifiedEmailProtocol which is now known as the BrowserID protocol. It uses any user email address to identify its owner. This protocol involves the browser, an identity provider, and any compliant website.

The browser, the provider and the website

The browser stores a list of user verified email addresses (certificates issued by the identity providers), and demonstrates the user's ownership of the addresses to the website using cryptographic proof.[4]

The certificates must be renewed every 24 hours by logging into the identity provider (which will usually mean entering the email and a password in a Web form on the identity provider's site). Once done, they will be usable for authenticating to websites with the same browser for the rest of the day, without entering passwords again (single sign-on).[5]

The decentralization aspects of the protocol reside in the theoretical support of any identity provider service, while in practice it seems to rely mainly on Mozilla's servers currently (which may in turn delegate email address verification, see identity bridging below). However, even if the protocol heavily relies on a central identity provider, this central actor only knows when browsers renew certificates, and cannot in principle monitor where the certificates will be used.

Identity bridging

Mozilla announced "identity bridging" support for Persona in July 2013. As they describe on their blog:

"Traditionally ... Mozilla would send you an email and ask you to click on the confirmation link it contained. With Identity Bridging, Persona learned a new trick; instead of sending confirmation emails, Persona can ask you to verify your identity via your email provider’s existing OpenID or OAuth gateway."[6]

This announcement included support for existing users of the Yahoo Mail service. In August 2013, Mozilla announced support for Identity Bridging with all Gmail accounts. They wrote in this additional announcement that "combined with our Identity Bridge for Yahoo, Persona now natively supports more than 700,000,000 active email users. That covers roughly 60–80% of people on most North American websites."[7]

Deployment

Persona relies heavily on the JavaScript client-side program running in the user's browser, making it widely usable.

Support of authentication to Web applications via Persona can be implemented by CMSs such as Drupal, Serendipity, WordPress,[8] Tiki,[9] or SPIP. There is also support for Persona in the Phonegap platform (used for compiling HTML5 apps into mobile apps). Mozilla provides its own Persona server at persona.org. It is also possible to set up your own Persona identity provider, providing federated identity.

Notable sites implementing Persona include Ting, The Times Crossword, and Voost.

See also

Notes and References

  1. Web site: Javascript Object Signing and Encryption (jose) . IETF concluded WG . 19 July 2016 . .
  2. https://techcrunch.com/2014/03/08/mozilla-stops-developing-its-persona-sign-in-system-because-of-low-adoption/ Mozilla Stops Developing Its Persona Sign-In System Due To Low Adoption
  3. https://developer.mozilla.org/en-US/docs/Archive/Mozilla/Persona Shutting down persona.org in November 2016
  4. Web site: Raghunathan . Ananth . Proofs in Cryptography . 2023-09-08 . crypto.stanford.edu.
  5. Web site: Patel . Abhishek . 2020-05-09 . What is Single Sign On (SSO) and How It Works? . 2023-09-21 . Medium . en.
  6. Web site: What is an Identity Bridge?. callahad. July 26, 2013. https://web.archive.org/web/20160112025542/http://identity.mozilla.com/post/56526022621/what-is-an-identity-bridge. 2016-01-12.
  7. "Mozilla Makes Signing in Easy for Gmail Users," August 8th, 2013
  8. https://wordpress.org/support/plugin/browserid Mozilla Persona (BrowserID) Support
  9. http://dev.tiki.org/Mozilla+Persona Mozilla Persona