Lloyd Hilaiel
lloyd.io · Personal blog · on HN since 2011
Lloyd Hilaiel, a Mozilla engineer, writes about web identity, notably how BrowserID, later Persona, works.
What HN saysHN commenters point to his BrowserID post as a good explanation of how the system works under the hood, including how it differs from OpenID.
15HN people shared it
12linked it in comments
3stories submitted
14story points
10 years agolast shared
2011people per year2026
Most-shared posts
- 1How BrowserID Works14 people · 9 points · first shared 2011 · discussion on HN
- 2AI with Big Data and Deep Tech1 people · 5 points · first shared 2016 · discussion on HN
What HN people wrote when they linked it
ecaron · 2013-04-09
If you're looking under the hood, the mechanic's blog at http://lloyd.io/how-browserid-works offers a great explanation. The Mozilla blog covered the OpenID comparison at http://identity.mozilla.com/post/7669886219/how-browserid-differs-from… but it doesn't embrace the level of geekery you're likely seeking.
socrates1024 · 2011-12-09
BrowserID is a great long-term design for an identity system (much better than OpenID or WebID) and it already has a great UI. Use this right now on your fancy new webapp rather than asking your users to create a new account and password. This blog post gives the best explanation of how it works: http://lloyd.io/how-browserid-works
Something to note is that it's _slightly_ too good to be true right now. Although the UI is already polished and usable, the whole authentication backend is currently mocked-up using services hosted by Mozilla. Unlike Facebook connect, however, there is a specific plan to move this process off Mozilla's servers and onto your browser and your web frameworks.
kibwen · 2013-04-09
How it works under the hood: http://lloyd.io/how-browserid-works
Comparison to OpenID: http://identity.mozilla.com/post/7669886219/how-browserid-differs-from…
takluyver · 2012-10-02
I think there is a token being passed, but it's authentication, not identity. It's a signed declaration that you own that identity, and it must be either from the domain that issued it, or another source that the site you're visiting specifically trusts (i.e. Mozilla, at present).
I trust Mozilla to have done a good job of this. If there's a weakness, it's not going to be anything so obvious that you can see it from my stumbling attempts to describe the protocol. If it sounds like there is, I'm probably describing it wrong. Have a look at the details here: http://lloyd.io/how-browserid-works
olivier1664 · 2012-10-02
As far as I understand http://lloyd.io/how-browserid-works , the browser will hold a "certificate of ownership of the email". Since browser do not yet implement Persona, it is done in javascript with https://login.persona.org/include.js .
I do not yet understand what prevent me to steal these 'certificate of ownership of the email' by creating a web site with my own version of 'include.js'. In this malicious version, the "Assertion Generation" also send the private key to the server. After that, the server can uses the user login as he wants. It seems there is a timeout, but it allow the malicious server to log so long the time out is not ellapsed.
Where I'am wrong?
pablocubico · 2012-09-28
For those of you asking, you can find some more background on how BrowserID here:
http://lloyd.io/how-browserid-works
geon · 2012-07-12
Ah. I hadn't realized it's using the mail server.
http://lloyd.io/how-browserid-works
nnethercote · 2012-07-12
That link is to a very high level, non-technical overview, which is not a good link for HN.
Try these links, which go into much more detail, answering the "why bother" questions.
https://developer.mozilla.org/en/BrowserID/Why_BrowserID
http://identity.mozilla.com/post/7899984443/privacy-and-browserid
http://lloyd.io/how-browserid-works
Note that BrowserID was the old working name for the project.
bct · 2011-07-14
There are two separate things here. Using the terminology from http://lloyd.io/how-browserid-works , you have:
1. Primary Identity Authority. This is a host (i.e. the one in your email address) that supports BrowserId. This is fully decentralized.
2. Implementation Provider/Secondary Identity Authority. For now the site has to choose one to trust, but once your browser has support it becomes the IP, and when your host becames a PIA there's no need for an SIA.
JoshTriplett · 2011-07-14
See the teaser at https://browserid.org/primaries , and the documentation at http://lloyd.io/how-browserid-works .
unhammer · 2013-04-10
I found this bit confusing too, but in a different way.
The first time around, I knew I was making up a new password, just not where it would be stored.
Then much later I used a different computer (but firefox sync'ed) and tried logging in to Persona, got asked for a password, and thought "oh, so now I make up a new one because it's a new browser and this is BrowserID? Where is this password stored anyway?"
I'm guessing that password is stored on persona.org, not in my sync profile, but even after reading http://lloyd.io/how-browserid-works I still find this one point confusing.
EDIT: I now see that the creation bit has a "verify" field whereas the sign-in bit has only one field, I guess that should have been my hint to use the same password as before. I'm still wondering though how it works when you have several email accounts on one browser, do they all share the same password? Does persona.org know that I have all those email addresses?
philikon · 2011-12-16
A lot of questions here revolve around how this is different from OpenID and single sign-on solutions like Google Accounts or Facebook Connect. Here's a rough list (may be incomplete or inaccurate by now; while I work for Mozilla, I'm not involved in this project):
* federated (like OpenID)
* open standard (like OpenID)
* no passwords / no typing / no memorizing (e.g. like FB Connect)
* possibility of browsers providing an integrated experience (technically possible with previous solutions, but no browser has done this so far -- in the case of OpenID for a very good reason IMHO)
* anonymity/choice of identities (like OpenID, definitely unlike e.g. FB Connect)
* no exposure to identity provider (this is unlike any existing solutions; if you log into a site, your OpenID provide, Facebook, Google, etc. will know which site it was; not with BrowserID!)
Check out Dan and Ben giving a nice demo of the BrowserID user experience: http://www.youtube.com/watch?v=6x45Nt1fOMM. No passwords, no typing, and anonymity where desired.
If you're interested in the nitty gritty details, Lloyd explains the cryptographic assertions that actually let sites verify your identity: http://lloyd.io/how-browserid-works
(EDIT: format bullet points)