News for hackers. Stuff that matters.
Re:Persona is distributed. Today. by csense on Tuesday March 26, 2013 @07:53PM (#5446815)
How is this different from OpenID?

EDIT: Seriously, this question was downvoted within two minutes? Why?

EDIT again: The best I've been able to come up with by reading the comments and docs is that they attempt to solve the same problem, but OpenID is based on the backend of the website you're logging into issuing a request to the auth server over HTTP, while Persona has the auth server issue a very-short-duration cert for a public key generated by the client.

Re:Persona is distributed. Today. by mcpherrinm on Tuesday March 26, 2013 @07:59PM (#5446845)
Ben Adida, one of the developers, wrote a post on the subject here: http://identity.mozilla.com/post/7669886219/how-browserid-di...

In short, three big differences:

1. Identifiers are email addresses, not strange URI things, which is good because users are already comfortable with emails identifying them.

2. Privacy: Your OpenID provider can see what services you log into. Not true with Personas, which was a big deal for Mozilla and for me.

3. Browser integration: The APIs are currently implemented with a javascript shim, but the browser can step in (either via native support or an extension) to provide new, exciting types of authentication -- dongles, certificates, interpretive dance via a kinect, etc.

Re:Persona is distributed. Today. by charlieok on Tuesday March 26, 2013 @08:27PM (#5446970)
How does Persona avoid the identity provider seeing what services you log into? (Assuming the provider has implemented the distributed version of the protocol, not Mozilla's fallback IdP)
Re:Persona is distributed. Today. by csense on Tuesday March 26, 2013 @08:40PM (#5447019)
The service you log into knows the identity provider's public key and a cert for the user (the user's public key signed by the identity provider).

The service can verify the user's cert against the identity provider's public key with this information. The service initially contacts the identity provider to get the provider's public key, so the identity provider can infer that someone is attempting to log into the service as one of its users.

Once the service has the provider's public key, it can be cached by the service until it expires, and while it's cached, the service can verify logins without contacting the server again by checking that the cert presented by the user to the service has a legitimate signature from the identity provider's public key.

So if someone logs into HN using their Gmail ID (assuming both services grow support for the protocol), all Gmail knows is that at least one person attempted to log into HN using a gmail address. Who was trying to log in, whether that login was successful, and the number of other people who logged into HN with Gmail after that, are all facts that would be completely hidden from Google.

Re:Persona is distributed. Today. by StavrosK on Tuesday March 26, 2013 @08:54PM (#5447075)
Does this mean that your browser can cache the signed cert and log in to websites automatically without needing to even contact the provider again?

I'm guessing there's some sort of timestamp there, to prevent someone from just stealing the cert and logging in to whatever they want as that user.

Re:Persona is distributed. Today. by badida on Tuesday March 26, 2013 @11:41PM (#5447669)
Yes, that is exactly right, and it's also why certs are short-lived (hours). When certs are renewed, the site the user plans on logging into is not revealed to the Identity Provider.
Re:Persona is distributed. Today. by brendn on Tuesday March 26, 2013 @11:42PM (#5447672)
By my understanding, yes and yes. The third-party service caches the public key (with timestamp) and the browser caches the signed certificate (with timestamp). The timestamp gives the credentials a relatively short TTL to prevent a stolen cert from being used indefinitely.
Re:Persona is distributed. Today. by marcioaguiar on Tuesday March 26, 2013 @09:24PM (#5447192)
not different from someone stealing your cookies.
Re:Persona is distributed. Today. by StavrosK on Tuesday March 26, 2013 @09:27PM (#5447199)
Cookies can be invalidated. Signatures, not so much.
Re:Persona is distributed. Today. by sp332 on Wednesday March 27, 2013 @09:37AM (#5449271)
It's possible to revoke a certificate. Not sure if that's what you're supposed to do in this case, but it's possible.
Re:Persona is distributed. Today. by anologwintermut on Tuesday March 26, 2013 @11:59PM (#5447725)
This is an incomplete definition of privacy. If the service and server collude, you are hosed. There are cryptographic constructions(anonymous credentials) that have been around for over a decade that prevent this. IBM and Microsoft both have (unfortunately incompatible) libraries that do this. If we really are trying to build the id scheme of the future, why not use these?
Re:Persona is distributed. Today. by lifeisstillgood on Wednesday March 27, 2013 @01:03PM (#5450579)
Can you provide links?
Re:Persona is distributed. Today. by anologwintermut on Wednesday March 27, 2013 @07:03PM (#5452524)
Sure, though unfortunately I know of none that provide a decent balance between high level explanations and cryptographic depth.

The main actual deployed usage of the technique is in TPM's for direct anonymous attestation. http://en.wikipedia.org/wiki/Direct_Anonymous_Attestation

IBM explains their project here http://www.zurich.ibm.com/idemix/details.html

The original academic work its based on is this http://cs.brown.edu/~anna/papers/cl01a.pdf

A different(and older) technique which, by my understanding, is mainly useful for smart cards, is deployed in a prototype system from microsoft : http://research.microsoft.com/en-us/projects/u-prove/

Re:Persona is distributed. Today. by sergiosgc on Tuesday March 26, 2013 @08:54PM (#5447074)
https://developer.mozilla.org/en-US/docs/Persona/Protocol_Ov...

In short, your browser asks the identity provider to sign a certificate proving that you are [email protected]. The browser will then use that certificate to authenticate you on the site. The site can check this certificate by getting the pubkey from the identity provider. You are never associated with the site you are authenticating against (except on very low traffic identity providers)

Re:Persona is distributed. Today. by callahad on Tuesday March 26, 2013 @08:38PM (#5447011)
Check out around the 16:00 mark in this video: https://www.youtube.com/watch?v=nJff23UdNAI

Notice that provisioning (steps 1 and 2) and logging into a site (steps 3 and 4) are two completely independent processes, with the browser mediating any identifiable identity-provider-to-target-site communication.

Re:Persona is distributed. Today. by subleq on Tuesday March 26, 2013 @08:39PM (#5447017)
Persona stores a signed statement from the IdP in your browser (currently using localStorage). Once you get the statement from your IdP verifying your identity, you can log in using the same proof many times without contacting the IdP, until it expires.
Re:Persona is distributed. Today. by callahad on Tuesday March 26, 2013 @08:03PM (#5446866)
In brief, Persona offers a dramatically better privacy model, developer experience, and user experience. The protocol is decentralized and designed from the ground up to be built into the browser natively.

Re: Downvotes: It's a pretty common question that we (the Persona team) have clearly not done a good enough of a job of communicating. I imagine a lot of folks here are just tired of the repetition.

Re:Persona is distributed. Today. by iSnow on Wednesday March 27, 2013 @05:03AM (#5448441)
>It's a pretty common question that we (the Persona team) have clearly not done a good enough of a job of communicating

It would be nice if you created a example Persona-enabled web application (some lines of gulp PHP or heck even a VirtualBox image), push it to bitbucket/github/whatever and link to the repo from http://www.mozilla.org/en-US/persona/. Does not need any functionality, just a login screen using Persona and a "it works" page you reach after logging in. And maybe sample ID provider code too. Extra cookie points if the "it works" page explains the structure of this Proof of Concept application and how the Persona protocol was used.

This way, a curious developer could pull the source, have a Persona-enabled template app and his own ID provider up and running in minutes and could play around with it, evangelize it in his organization etc. If it "feels" right, said developer would read the docs afterwards to move beyond the Proof of Concept.

Re:Persona is distributed. Today. by callahad on Wednesday March 27, 2013 @12:21PM (#5450312)
That sounds like a great idea. We could probably build something similar on NudgePad.com (YC, WebFWD) so interested folks could quickly have a forkable, runnable Persona sandbox.

Look for it soon. :)

Re:Persona is distributed. Today. by iSnow on Wednesday March 27, 2013 @07:25PM (#5452594)
Great, thanks :)
Re:Persona is distributed. Today. by JoshTriplett on Tuesday March 26, 2013 @07:59PM (#5446848)
Re:Persona is distributed. Today. by drdaeman on Wednesday March 27, 2013 @07:16PM (#5452569)
Persona allows you to keep your network activity private from providers. It's the same in a couple of important aspects, though:

1. You still have to remember which email you had used to login. This was heavily criticized with OpenID ("did I login with Google or MyOpenID?" kind of situation). With emails it just got worse, as you will have problem, especially if you're trying to fight spam using service-specific emails ([email protected]).

2. You still can't "migrate" from one email address to another. Shall your email provider go down or you lose your domain - you lose your identity.

3. You still don't own your own identity. The identity is just leased to you by your email provider (or your domain registrar).

Re:Persona is distributed. Today. by wmf on Tuesday March 26, 2013 @07:56PM (#5446835)
Firefox supports Persona and they're not going to support OpenID.
Re:Persona is distributed. Today. by badida on Tuesday March 26, 2013 @11:45PM (#5447683)
It's worth pointing out that, a couple of years ago, we tried to make OpenID easier through Firefox integration. There was no good way to do it. The OpenID protocol doesn't lend itself to browser mediation. (In addition to the other usability and privacy problems mentioned above.)
Re:Persona is distributed. Today. by vitno on Tuesday March 26, 2013 @07:59PM (#5446843)
Can you elaborate on that? OpenID was designed to be browser-independent. Persona is essentially a distributed openID with some extra browser integration. Sure Mozilla doesn't support openID, but I'm unsure what you would want them to do...
Re:Persona is distributed. Today. by wmf on Tuesday March 26, 2013 @08:08PM (#5446897)
Without browser support, you have to type your ID into every site. (I'm ignoring Nascar login because that's not distributed.) With browser support you just click to login and maybe click again to confirm.
Re:Persona is distributed. Today. by cpeterso on Tuesday March 26, 2013 @11:51PM (#5447704)
Here is a Firefox add-ons to add the missing "browser support":

https://addons.mozilla.org/en-US/firefox/addon/openid-for-fi...

(I have not actually tested this add-on myself.)

Re:Persona is distributed. Today. by namespace on Tuesday March 26, 2013 @07:58PM (#5446839)
http://identity.mozilla.com/post/7669886219/how-browserid-di...

While the goals are similar, the ways differ. With perosona, the focus is on emails as the identifier. In case of OpenID, the identity provider may or may not have used email id as identifier.

Re:Persona is distributed. Today. by jayfuerstenberg on Tuesday March 26, 2013 @09:25PM (#5447193)
Nobody should be downvoted for simply asking a question so I upvoted you.

Hope it helps a bit.

EDIT: And somebody downvoted this comment. Oh no, I lost 1 HN point! What . will . I . ever . do?

Re:Persona is distributed. Today. by stephenhuey on Tuesday March 26, 2013 @08:03PM (#5446868)
vitno posted their original blog post explaining the difference, and now it's in their FAQ:

https://developer.mozilla.org/en-US/docs/Persona/FAQ

You may also wish to take a look at the Mozilla Persona Developer FAQ:

http://www.mozilla.org/en-US/persona/developer-faq/

It's easier for users since it relies on email addresses instead of a URL, easier for developers thanks to its simple API, and tracking information is never leaked back to the identity provider.

Re:Persona is distributed. Today. by martinced on Tuesday March 26, 2013 @08:19PM (#5446937)
I didn't downvote it but I think I know why: there's a huge wave of negativity on HN and your question sounds like criticism.

There are ways to formulate the same question which would be much nicer and less negative, for example:

"It's great to see other solutions providing things similar to OpenID. Can anyone explain what are the differences with OpenID?"

Simply writing: "How is this different from XXX?" just sounds rude and negative.

Re:Persona is distributed. Today. by freshhawk on Tuesday March 26, 2013 @09:14PM (#5447149)
Understand where you are coming from but this is an overreaction. An HN where you have to wrap a plain, absolutely neutral question like this in a bunch of false praise or meaningless filler words is a much much worse place than the HN that might be overly critical/negative by default (and this perception is partly false, reinforced by the cultural belief that questions are attacks).
Re:Persona is distributed. Today. by yellowseed on Tuesday March 26, 2013 @10:06PM (#5447335)
On the other hand, paraphrasing what you've said to make a counter-argument: an HN where a peaceful, respectful atmosphere is sustained by thoughtfully worded comments is a much much worse place than an HN where dry, hastily worded comments take some heat.
Re:Persona is distributed. Today. by freshhawk on Wednesday March 27, 2013 @10:05PM (#5453045)
> thoughtfully worded comments

That's what makes me disagree. I want honest comments and thoughtful reading.

To break that down further:

We have a comment "How is this different from X?" which can be interpreted literally, as an honest question, or with the assumption that what he actually meant is "This is stupid because we already have X".

One solution is to encourage people to write "No offense to the project, It looks interesting but I honestly don't know what differentiates it from X, and if you could explain it in contrast to X I will understand it better since I already understand X"

That's ... ok, but the writer will never anticipate every possible misinterpretation so you will have verbose comments full of fluffy meaningless language and still have the same problem.

The alternative is encouraging people to think about the phrase "benefit of the doubt", what it means and why it's a well known phrase in the first place.

If someone asks "How is this different from X" then you take it to mean what it says, you don't try to guess at what possible negative thing he might have meant. So the replies would all take that comment seriously.

What's the downside? Someones snarky comment would be read as honest and there would be an answer. Who's going to reply with "I actually meant that sarcastically"? Some people might, but they'll just look foolish.

If the choice is between:

1. encouraging a culture where questions are taken as honest questions or 2. one where every question is scrutinized for the slightest possible clue of hidden negative meaning and you have to fill your comment with false praise and legal and marketing language to avoid any possibility of the suggestion of offense

Then the answer is obvious to me.

Re:Persona is distributed. Today. by Helianthus on Tuesday March 26, 2013 @10:36PM (#5447447)
Honestly, I'm not sure if your counter argument is intended to be ironic.

I'm used to an Internet where you're not required to be so goddamned polite. Seems to me it becomes the spidery veneer of Silicon Valley networking; insincere, self-interested, and a corruption of what it means to be 'nice.'

Re:Persona is distributed. Today. by mindcrime on Tuesday March 26, 2013 @10:51PM (#5447493)
What's wrong with being polite? It doesn't cost any extra and there are a lot of people who appreciate it.
Re:Persona is distributed. Today. by Helianthus on Tuesday March 26, 2013 @11:35PM (#5447655)
Not anything wrong with being polite. Plenty wrong with requiring people to be polite.
Re:Persona is distributed. Today. by cpeterso on Tuesday March 26, 2013 @11:48PM (#5447690)
You're not required to be polite, but you may be downvoted.
Re:Persona is distributed. Today. by Helianthus on Wednesday March 27, 2013 @12:15AM (#5447760)
shrug yep. I'm saying more that there can be an atmosphere of required politeness.

I mean, look; the OP asked a really good, terse question and got downvoted presumably because it was 'rude.' That's just silly.

Re:Persona is distributed. Today. by 18pfsmt on Wednesday March 27, 2013 @12:19PM (#5450296)
I'm curious how the GP's question can be construed as "good" when there exists a blog post that explicitly addresses it. This indicates the GP didn't do even cursory research to determine the answer for themselves. In other words, the GP was lazy, expecting to be hand-fed, and was down-voted as a result.
Re:Persona is distributed. Today. by freshhawk on Wednesday March 27, 2013 @09:49PM (#5453001)
Ah! If he was downvoted for asking an easily google-able question then that's reasonable and end of discussion.

The discussion here started because of the statement that he was probably downvoted because "how is this different from X?" is interpreted as "This is stupid, we already have X."

Re:Persona is distributed. Today. by sliverstorm on Wednesday March 27, 2013 @02:18AM (#5448088)
For better or worse, the former is what HN usually seems to be. I remember when I started using the site, I spent several weeks learning to write in the fashion of the former to avoid all the negative reactions.
Re:Persona is distributed. Today. by arethuza on Wednesday March 27, 2013 @07:57AM (#5448835)
"How is this different from XXX?"

That just sounds like a direct question to me - not rude or negative.

"It's great to see other solutions providing things similar to OpenID"

I don't see what that adds - everyone reading this already knows it is a solution similar to OpenID so why restate it?

Note that I also apologise if you think this reply is rude - I'm really not meaning to be.

Re:Persona is distributed. Today. by StacyC on Wednesday March 27, 2013 @09:42AM (#5449303)
Simply writing: "How is this different from XXX?" just sounds rude and negative.

It reads like a perfectly reasonable question to me. Where exactly are you finding rudeness and negativity?

Re:Persona is distributed. Today. by Helianthus on Tuesday March 26, 2013 @10:33PM (#5447435)
One way it'll be different is (presumably) users won't be confronted with a wall of possible OpenID providers.

You asked a good question. HN's not very good at self-regulating. Negativity is regarded negatively in some bizarre self-perpetuation cycle.

Re:Persona is distributed. Today. by badida on Tuesday March 26, 2013 @11:42PM (#5447674)
Exactly right: we hate the NASCAR array of buttons that is publisher-centric, rather than user-centric. I wrote about this a few days ago on the Persona blog:

http://identity.mozilla.com/post/45842909320/users-dont-like...