Hello,

> I'm a little concerned that the set of scope-specific keys is
> unbounded, and we have a public-key encryption for each one.  That's
> very expensive.  Perhaps we want to limit the set of keys provided, or
> do just one encryption for the entirety of the keys: {} data.

Actually we certainely don't want to limit the number of public keys
because we don't want that a compromised key reveal data of all reliers.
You were talking about GPG, yes GPG is quite expensive but with
libsodium having a pub/priv keypair is really cheap. (basically a random
32 bytes string is you private key and you derive it to get the public key)

That also the reason why we want a service that can link a Firefox
Account to the scoped public key used by an email address.

> A little off topic, but what happens if the user wants to convey "you
> can only see one key" or "no keys at all"?

I supposed we don't accept him to use the application then.
Also because the key are scoped, we may not need to ask him the
permission. I think client_id related keys should always come with an
oauth login if the PUBKEY is provided.

> * is there any request and response integrity at the fxa-oauth
> protocol level?  I'm going to assume encrypt() is encrypt-and-HMAC
> throughout.  How does the relier know the keys in /authenticate are
> the same as those in /token?  Is this kind of state something that
> reliers expect to maintain already?

What I understood is that the public key is send only on the
/authorization endpoint and kept for use on the /token

Ryan, if I understand correctly, the oauth content-server is talking to
another server to validate the user the keys, the aim is to give to that
server the public-key so that it can build kAr and kBr and encrypted them.

It looks good to me.

Thanks for taking the time to go through all this.

Rémy
_______________________________________________
Dev-fxacct mailing list
[email protected]
https://mail.mozilla.org/listinfo/dev-fxacct

Reply via email to