Geeze, first I'm sorry for making you speculate my intent.   More color inline.

On Aug 20, 2013, at 2:55 AM, Brian Warner <[email protected]> wrote:

> On 8/12/13 6:55 AM, Lloyd Hilaiel wrote:
> 
>> What are the cons of reducing the security of recoverable class A data
>> such that it could be accessed with a persona assertion asserting
>> ownership of the email address stored in your account?
> 
> If I understand you correctly, the proposal is to replace the "help I
> forgot my password" flow from:
> 
> 1: we email you a code, you type the code into your browser, you replace
>   the password with something you can remember
> 
> to
> 
> 2: you use that browser to get a Persona assertion for the email, then
>   you replace the password with something you can remember

> If that's correct, I'm all in favor of the change. I don't even think
> it's a reduction in security, especially if we improve the Persona
> email-verification like you suggested.

I actually wasn't even thinking of optimizing the reset password flow with 
persona.  But that generally this is possible seems like something we can 
leverage later to streamline the experience.

> Using Persona for this would allow IdPs to use other (non-email)
> authentication mechanisms, which is is part of the whole
> enabling-competition story of Persona. There are technical details to
> figure out (the assertion should probably be delivered to chrome code
> instead of a web page, so figuring out what the audience should be is
> non-trivial), but overall I think it's the right thing to do.

> If you meant "instead of typing in a password to connect a new browser
> to the account, you use an assertion", then 1: that won't give access to
> any class-B data, and 2: we can't provide the "changing your password
> causes other devices to be disconnected" behavior, because we wouldn't
> have a password. If we were offering a class-A-only service, it could
> work.

Got it, understand, and agree.

The interesting post-milestone-1-crazy-talk optimization here is that we could 
actually sync class A data without a password, right?  If a user has an active 
session with their email provider and that provider is persona-enabled.  Then, 
while there are some technical details, we could have a two click sync set up 
experience leveraging the fact that the email verification step is already done.

There's a lot to figure out here and room for skepticism, but this is one 
tangible optimization we gain when we have the property that a subset of your 
firefox account is accessible via proof-of-email-ownership.

> Toby> Is the idea that the data would sit on the servers unencrypted?
> Toby> How far reduced are you thinking?
> 
> Class-A data is encrypted by a key which lives on our key-server. We
> have access to that key, which means we can be coerced into revealing
> it. From the user's point of view, it's mostly just encryption-at-rest
> (which is either "best practice", "defense in depth", or "CYA",
> depending upon your mood that day). The one improvement over completely
> transparent server-side encryption is that the IdP (or someone who can
> create valid Persona assertions for that address) must actually reset
> the account password first, to learn the class-A key. This leaves a
> trail (for us to see), and the user can discover they've been a victim
> because they won't be able to log in (they'll have to reset the password
> again before they can get in).

+1

> Karen> From previous discussions when we initially settled on class B
> Karen> several months ago, that felt like a really good place as default
> Karen> for most of our data types. Like the others are asking, What's
> Karen> the benefit of moving it to class A? This will help me understand
> Karen> the pros / cons of changing our recommendation from a while back.
> 
> I don't think Lloyd is talking about switching any defaults from B to A.
> I think he's just talking about changing the way you recover your
> class-A data.

+1

> As far as I know, we still haven't decided what the defaults ought to
> be. I agree that B is a good default for most of our datatypes.

Per-data-type classification is extremely interesting.  Meta, one thing that 
seems like it would be really nice to have so that we don't have to be 100% 
right the first time, is an easy ability to change the defaults and cause 
clients to re-encrypt.  I think this is the tiny consideration that gives us 
the freedom to get the defaults wrong.  (inline with the work already we're 
already doing to avoid future flag days, I expect - probably already figured 
out and totally redundant :)

lloyd

> cheers,
> -Brian
> _______________________________________________
> Sync-dev mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/sync-dev

_______________________________________________
Sync-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/sync-dev

Reply via email to