Mozilla Persona was a decentralized authentication system for the web, based on the open BrowserID protocol[1] prototyped by Mozilla[2] and standardized by IETF.[3] 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.[4]

Mozilla Persona
Developer(s)Mozilla Foundation
Initial releaseJuly 2011
Repository
Written inJavaScript
Operating systemCross-platform
Available in51 languages
TypeAuthorization
LicenseMPL
Websitedeveloper.mozilla.org/en-US/Persona

History and motivations

edit

Persona was launched in July 2011[5] 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.[6] It was first released in July 2011 and fully deployed by Mozilla on its own websites in January 2012.[7]

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.[8]

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

Principles and implementation

edit

Persona was inspired by the VerifiedEmailProtocol[10][11] which is now known as the BrowserID protocol.[12] 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

edit

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.[13]

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).[14]

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

edit

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."[15]

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."[16]

Deployment

edit

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,[17] Serendipity,[18] WordPress,[19] Tiki,[20] or SPIP. There is also support for Persona in the Phonegap[21] platform (used for compiling HTML5 apps into mobile apps). Mozilla provides its own Persona server at persona.org.[22] It is also possible to set up your own Persona identity provider,[23] providing federated identity.

Notable sites implementing Persona include Ting,[24] The Times Crossword, and Voost.[25]

See also

edit
  •   Learning materials related to Mozilla Persona at Wikiversity (JavaScript login)
  • OpenID
  • WebID, a set of proposed standards for identity, identification, and authentication on HTTP based networks.

References

edit
  1. ^ "Persona", Mozilla Developer Network (MDN), Mozilla, retrieved 2013-02-10
  2. ^ Persona: Connect with Mozilla Persona, the safest & easiest way to sign in., Mozilla, archived from the original on 2013-03-08, retrieved 2013-02-10
  3. ^ "Javascript Object Signing and Encryption (jose)". IETF concluded WG. 19 July 2016.
  4. ^ Mozilla Stops Developing Its Persona Sign-In System Due To Low Adoption - Techcrunch, 12 Jan 2016
  5. ^ "Introducing BrowserID: A better way to sign in", Mozilla Identity team, Mozilla, 2011-07-14, archived from the original on 2013-01-28, retrieved 2013-02-10
  6. ^ Ben Adida (2011-07-15), "How BrowserID differs from OpenID", Mozilla Identity team, Mozilla, archived from the original on 2013-01-29
  7. ^ Leyden, John (2012-01-20), Mozilla pushes browser-based alternative to passwords, The Register, retrieved 2013-02-10, Give us your keys to look after, we're lovely.
  8. ^ "Transitioning Persona to Community Ownership". 2014-03-07. Archived from the original on 2014-03-07."Identity at Mozilla". Archived from the original on 2014-03-10. Retrieved 2014-04-06.
  9. ^ Shutting down persona.org in November 2016
  10. ^ "Verified Email Protocol: Overview and Introduction", Mozilla Wiki, Mozilla, retrieved 2013-02-10
  11. ^ How BrowserID Works, 2011-07-01, archived from the original on 2014-07-13, retrieved 2013-02-10
  12. ^ "Glossary - "Persona" vs. "BrowserID"". Mozilla Developer Network. [Mozilla]. 2012-11-26. Retrieved 2013-02-10.
  13. ^ Raghunathan, Ananth. "Proofs in Cryptography" (PDF). crypto.stanford.edu. Retrieved 2023-09-08.
  14. ^ Patel, Abhishek (2020-05-09). "What is Single Sign On (SSO) and How It Works?". Medium. Retrieved 2023-09-21.
  15. ^ callahad (July 26, 2013). "What is an Identity Bridge?". Archived from the original on 2016-01-12.
  16. ^ "Mozilla Makes Signing in Easy for Gmail Users Archived 2013-08-11 at the Wayback Machine," August 8th, 2013
  17. ^ Mozilla Persona, Drupal, 2012-09-28, retrieved 2014-03-27, Enables users to sign into a Drupal website using Mozilla Persona.
  18. ^ "Serendipity: Backend: Usermanagement plugins". Serendipity Weblog System (a PHP based CMS). Serendipity. Retrieved 2013-02-10.
  19. ^ Mozilla Persona (BrowserID) Support
  20. ^ Mozilla Persona
  21. ^ Log into your PhoneGap apps using Mozilla Persona aka BrowserID, Couchbase, Inc., retrieved 2017-10-21, Mozilla Persona (aka BrowserID) and PhoneGap / Cordova, together at last.
  22. ^ "Mozilla Persona: A Better Way to Sign In". 2012-12-21. Archived from the original on 2012-12-21.
  23. ^ "Implementing a Persona IdP". Retrieved 10 March 2013.
  24. ^ Ting implements Mozilla Persona, Ting Inc., retrieved 2013-03-13
  25. ^ Mozilla Persona: About, Mozilla, archived from the original on 2013-03-08, retrieved 2013-03-13