Subject: [OAUTH-WG] Proof-of-Possession Key Semantics for JWTs spec addressing final shepherd comment

From: Mike Jones <[email-masked]>
Date: Wed, 4 Nov 2015 15:32:35 +0000

Proof-of-Possession Key Semantics for JWTs draft -06 addresses the remaining document shepherd comment - adding use case diagrams to the introduction.

The updated specification is available at:

*        http://tools.ietf.org/html/draft-ietf-oauth-proof-of-possession-06

An HTML formatted version is also available at:

*        https://self-issued.info/docs/draft-ietf-oauth-proof-of-possession-06.html

                                                            -- Mike

P.S.  This note was also posted at http://self-issued.info/?p=1471 and as @selfissued<https://twitter.com/selfissued>.

---

From: "Kepeng Li" <[email-masked]>
Date: Wed, 04 Nov 2015 23:57:09 +0800

Thank you Mike.

The diagrams look good to me.

Kind Regards
Kepeng

发件人:  Mike Jones <[email-masked]>
日期:  Thursday, 5 November, 2015 12:32 am
至:  "[email-masked]" <[email-masked]>
抄送:  Li Kepeng <[email-masked]>
主题:  Proof-of-Possession Key Semantics for JWTs spec addressing final
shepherd comment

Proof-of-Possession Key Semantics for JWTs draft -06 addresses the remaining
document shepherd comment – adding use case diagrams to the introduction.
 
The updated specification is available at:
·       http://tools.ietf.org/html/draft-ietf-oauth-proof-of-possession-06

An HTML formatted version is also available at:
·       
https://self-issued.info/docs/draft-ietf-oauth-proof-of-possession-06.html

                                                            -- Mike
 
P.S.  This note was also posted at http://self-issued.info/?p=1471 and as
@selfissued <https://twitter.com/selfissued> .

---

From: Mike Jones <[email-masked]>
Date: Wed, 4 Nov 2015 16:04:11 +0000

Thanks for suggesting the diagrams, Kepeng. They make the document more understandable.

-- Mike
________________________________
From: Kepeng Li<mailto:[email-masked]>
Sent: ‎11/‎5/‎2015 12:57 AM
To: Mike Jones<mailto:[email-masked]>; [email-masked]<mailto:[email-masked]>
Subject: Re: Proof-of-Possession Key Semantics for JWTs spec addressing final shepherd comment

Thank you Mike.

Kind Regards
Kepeng

???: Mike Jones <[email-masked]<mailto:[email-masked]>>
??: Thursday, 5 November, 2015 12:32 am
?: "[email-masked]<mailto:[email-masked]>" <[email-masked]<mailto:[email-masked]>>
??: Li Kepeng <[email-masked]<mailto:[email-masked]>>
??: Proof-of-Possession Key Semantics for JWTs spec addressing final shepherd comment

Proof-of-Possession Key Semantics for JWTs draft -06 addresses the remaining document shepherd comment – adding use case diagrams to the introduction.

·        https://self-issued.info/docs/draft-ietf-oauth-proof-of-possession-06.html

                                                            -- Mike

---

From: Brian Campbell <[email-masked]>
Date: Wed, 4 Nov 2015 15:47:50 -0700

+1 for the diagrams making the document more understandable.

One little nit/question, step 1 in both Symmetric and Asymmetric keys shows
the Presenter sending the key to the Issuer. It's possible, however, for
the key to be sent the other way. Presenter sending it to the Issuer is
probably preferred for asymmetric, especially if the client can secure the
private keys in hardware. But I don't know if one way or the other is
clearly better for symmetric case and PoP key distribution currently has it
the other way
<https://tools.ietf.org/html/draft-ietf-oauth-pop-key-distribution-02#section-4.2>.
Should the intro text somehow mention the possibility that the Issuer could
create the key and send it to the Presenter?

I know it's only the introduction but it was just something that jumped out
at me.

<https://tools.ietf.org/html/draft-ietf-oauth-pop-key-distribution-02#section-4.2>

On Wed, Nov 4, 2015 at 9:04 AM, Mike Jones <[email-masked]>
wrote:

> ------------------------------
> From: Kepeng Li <[email-masked]>
> To: Mike Jones <[email-masked]>; [email-masked]
> Proof-of-Possession Key Semantics for JWTs draft -06 addresses the
> remaining document shepherd comment – adding use case diagrams to the
> introduction.
>
>
>
> http://tools.ietf.org/html/draft-ietf-oauth-proof-of-possession-06
>
>
>
> @selfissued <https://twitter.com/selfissued>.
>
> _______________________________________________
> OAuth mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/oauth
>
>

---

From: Mike Jones <[email-masked]>
Date: Wed, 4 Nov 2015 22:51:22 +0000

Thanks for the detailed read, Brian.  You’re right that in the symmetric case, either the issuer or the presenter can create the symmetric PoP key and share it with the other party, since the effect is equivalent.  I suspect that both the key distribution draft and this draft should be updated with a sentence or two saying that either approach can be taken.  Do others concur?

                                                            -- Mike

From: Brian Campbell [mailto:[email-masked]]
Sent: Thursday, November 05, 2015 7:48 AM
To: Mike Jones
Cc: Kepeng Li; [email-masked]
Subject: Re: [OAUTH-WG] Proof-of-Possession Key Semantics for JWTs spec addressing final shepherd comment

+1 for the diagrams making the document more understandable.
One little nit/question, step 1 in both Symmetric and Asymmetric keys shows the Presenter sending the key to the Issuer. It's possible, however, for the key to be sent the other way. Presenter sending it to the Issuer is probably preferred for asymmetric, especially if the client can secure the private keys in hardware. But I don't know if one way or the other is clearly better for symmetric case and PoP key distribution currently has it the other way<https://tools.ietf.org/html/draft-ietf-oauth-pop-key-distribution-02#section-4.2>. Should the intro text somehow mention the possibility that the Issuer could create the key and send it to the Presenter?
I know it's only the introduction but it was just something that jumped out at me.

On Wed, Nov 4, 2015 at 9:04 AM, Mike Jones <[email-masked]<mailto:[email-masked]>> wrote:
Thanks for suggesting the diagrams, Kepeng. They make the document more understandable.

-- Mike

Kind Regards
Kepeng

发件人: Mike Jones <[email-masked]<mailto:[email-masked]>>
日期: Thursday, 5 November, 2015 12:32 am
至: "[email-masked]<mailto:[email-masked]>" <[email-masked]<mailto:[email-masked]>>
抄送: Li Kepeng <[email-masked]<mailto:[email-masked]>>
主题: Proof-of-Possession Key Semantics for JWTs spec addressing final shepherd comment

                                                            -- Mike

_______________________________________________
OAuth mailing list
[email-masked]<mailto:[email-masked]>
https://www.ietf.org/mailman/listinfo/oauth

---

From: Hannes Tschofenig <[email-masked]>
Date: Thu, 5 Nov 2015 01:25:58 +0100

I agree that the effect is the same. From a security point of view there
is only an impact if one of the two parties is in a better position to
generate random numbers, which is the basis for generating a high
entropy symmetric key.

On 11/04/2015 11:51 PM, Mike Jones wrote:
> Thanks for the detailed read, Brian.  You’re right that in the symmetric
> case, either the issuer or the presenter can create the symmetric PoP
> key and share it with the other party, since the effect is equivalent. 
> I suspect that both the key distribution draft and this draft should be
> updated with a sentence or two saying that either approach can be
> taken.  Do others concur?
> 
>  
> 
>                                                             -- Mike
> 
>  
> 
> *From:*Brian Campbell [mailto:[email-masked]]
> *Sent:* Thursday, November 05, 2015 7:48 AM
> *To:* Mike Jones
> *Cc:* Kepeng Li; [email-masked]
> *Subject:* Re: [OAUTH-WG] Proof-of-Possession Key Semantics for JWTs
> spec addressing final shepherd comment
> 
>  
> 
> One little nit/question, step 1 in both Symmetric and Asymmetric keys
> shows the Presenter sending the key to the Issuer. It's possible,
> however, for the key to be sent the other way. Presenter sending it to
> the Issuer is probably preferred for asymmetric, especially if the
> client can secure the private keys in hardware. But I don't know if one
> way or the other is clearly better for symmetric case and PoP key
> distribution currently has it the other way
> Should the intro text somehow mention the possibility that the Issuer
> could create the key and send it to the Presenter?
> 
> On Wed, Nov 4, 2015 at 9:04 AM, Mike Jones <[email-masked]
> <mailto:[email-masked]>> wrote:
> 
> ------------------------------------------------------------------------
> 
> *From: *Kepeng Li <mailto:[email-masked]>
> *Sent: *‎11/‎5/‎2015 12:57 AM
> *To: *Mike Jones <mailto:[email-masked]>; [email-masked]
> <mailto:[email-masked]>
> *Subject: *Re: Proof-of-Possession Key Semantics for JWTs spec
> addressing final shepherd comment
> 
> Thank you Mike.
> 
>  
> 
> *发件人**: *Mike Jones <[email-masked]
> <mailto:[email-masked]>>
> *日期**: *Thursday, 5 November, 2015 12:32 am
> *至**: *"[email-masked] <mailto:[email-masked]>" <[email-masked]
> <mailto:[email-masked]>>
> *抄送**: *Li Kepeng <[email-masked]
> <mailto:[email-masked]>>
> *主题**: *Proof-of-Possession Key Semantics for JWTs spec addressing
> final shepherd comment
> 
>  
> 
> P.S.  This note was also posted at http://self-issued.info/?p=1471 and
> as @selfissued <https://twitter.com/selfissued>.
> 
> 
> [email-masked] <mailto:[email-masked]>

---

From: Mike Jones <[email-masked]>
Date: Thu, 5 Nov 2015 01:44:49 +0000

Good point.  I'll republish in the next day or so adding that to the security considerations.

				-- Mike

-----Original Message-----
From: Hannes Tschofenig [mailto:[email-masked]] 
Sent: Thursday, November 05, 2015 9:26 AM
To: Mike Jones; Brian Campbell
Cc: [email-masked]
Subject: Re: [OAUTH-WG] Proof-of-Possession Key Semantics for JWTs spec addressing final shepherd comment

I agree that the effect is the same. From a security point of view there is only an impact if one of the two parties is in a better position to generate random numbers, which is the basis for generating a high entropy symmetric key.

On 11/04/2015 11:51 PM, Mike Jones wrote:
> Thanks for the detailed read, Brian.  You’re right that in the 
> symmetric case, either the issuer or the presenter can create the 
> symmetric PoP key and share it with the other party, since the effect is equivalent.
> I suspect that both the key distribution draft and this draft should 
> be updated with a sentence or two saying that either approach can be 
> taken.  Do others concur?
> 
>  
> 
>                                                             -- Mike
> 
>  
> 
> client can secure the private keys in hardware. But I don't know if 
> one way or the other is clearly better for symmetric case and PoP key 
> On Wed, Nov 4, 2015 at 9:04 AM, Mike Jones 
> <[email-masked] <mailto:[email-masked]>> wrote:
>

---

From: John Bradley <[email-masked]>
Date: Thu, 5 Nov 2015 13:32:05 +0900

Agreed the only real difference is the quality of the key.  If the server generates it, then it knows that the client is not using the fixed hex value of DEADBEEF for everything.

John B.
> On Nov 5, 2015, at 9:25 AM, Hannes Tschofenig <[email-masked]> wrote:
>

---

From: Justin Richer <[email-masked]>
Date: Thu, 5 Nov 2015 13:35:58 +0900

I’d argue that it’s best practice, and in line with other parts of OAuth, if we assume the server generates it in the normal case (issuer -> presenter). Client generated token keys should be an exception, especially in the asymmetric case.

 — Justin

> On Nov 5, 2015, at 1:32 PM, John Bradley <[email-masked]> wrote:
>

---

From: John Bradley <[email-masked]>
Date: Thu, 5 Nov 2015 13:43:12 +0900

In the asymmetric case the use of a HSM or secure element is the argument for the client selecting the public key.   In those cases the client is doing the key gen in hardware so one hopes it is OK.   In the symetric case the client generating the key is weaker (as in I can’t think of any really good reason).

> On Nov 5, 2015, at 1:35 PM, Justin Richer <[email-masked]> wrote:
>

---

From: Anthony Nadalin <[email-masked]>
Date: Thu, 5 Nov 2015 04:45:49 +0000

Not sure why you think its weaker as it would be a wrapped key that the hardware produces 

-----Original Message-----
From: OAuth [mailto:[email-masked]] On Behalf Of John Bradley
Sent: Wednesday, November 4, 2015 8:43 PM
To: Justin Richer <[email-masked]>
Cc: <[email-masked]> <[email-masked]>
Subject: Re: [OAUTH-WG] Proof-of-Possession Key Semantics for JWTs spec addressing final shepherd comment

>>> I agree that the effect is the same. From a security point of view 
>>> there is only an impact if one of the two parties is in a better 
>>> position to generate random numbers, which is the basis for 
>>> generating a high entropy symmetric key.
>>> 
>>>> I suspect that both the key distribution draft and this draft 
>>>> should be updated with a sentence or two saying that either 
>>>> approach can be taken.  Do others concur?
>>>> 
>>>> 
>>>> 
>>>>                                                          -- Mike
>>>> 
>>>> 
>>>> 
>>>> *Subject:* Re: [OAUTH-WG] Proof-of-Possession Key Semantics for 
>>>> JWTs spec addressing final shepherd comment
>>>> 
>>>> 
>>>> 
>>>> One little nit/question, step 1 in both Symmetric and Asymmetric 
>>>> keys shows the Presenter sending the key to the Issuer. It's 
>>>> possible, however, for the key to be sent the other way. Presenter 
>>>> sending it to the Issuer is probably preferred for asymmetric, 
>>>> especially if the client can secure the private keys in hardware. 
>>>> But I don't know if one way or the other is clearly better for 
>>>> symmetric case and PoP key distribution currently has it the other 
>>>> way <https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2ftools.ietf.org%2fhtml%2fdraft-ietf-oauth-pop-key-distribution-02%23section-4.2&data=01%7c01%7ctonynad%40microsoft.com%7c9456670075d04a51f85508d2e59ba294%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=UgZEoqQiaUk9VdYpSQRvUeVVOQgIUg3UmAr18oQ7GtI%3d>.
>>>> Should the intro text somehow mention the possibility that the 
>>>> Issuer could create the key and send it to the Presenter?
>>>> 
>>>> *To: *Mike Jones <mailto:[email-masked]>; 
>>>> [email-masked] <mailto:[email-masked]>
>>>> remaining document shepherd comment – adding use case diagrams to 
>>>> the introduction.
>>>> 
>>>> 
>>>> 
>>>> ·        https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2ftools.ietf.org%2fhtml%2fdraft-ietf-oauth-proof-of-possession-06&data=01%7c01%7ctonynad%40microsoft.com%7c9456670075d04a51f85508d2e59ba294%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=6hE6dOO0I1%2ffF005rVknyOFHuB18gdpZg9dftExLtCw%3d
>>>> 
>>>> 
>>>> 
>>>> https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fse
>>>> lf-issued.info%2fdocs%2fdraft-ietf-oauth-proof-of-possession-06.htm
>>>> l&data=01%7c01%7ctonynad%40microsoft.com%7c9456670075d04a51f85508d2
>>>> e59ba294%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=EQd4rUcuyqdSP
>>>> gmibtcfjMpJm6RWWwCZC85%2bCboEs54%3d
>>>> 
>>>> 
>>>> 
>>>>                                                          -- Mike
>>>> 
>>>> 
>>>> 
>>>> P.S.  This note was also posted at 
>>>> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fself-issued.info%2f%3fp%3d1471&data=01%7c01%7ctonynad%40microsoft.com%7c9456670075d04a51f85508d2e59ba294%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=TMfX1tG5qucl%2be2KVpyMBuj72ZQ%2f%2bEKGoTyJyf%2bfJi4%3d and as @selfissued <https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2ftwitter.com%2fselfissued&data=01%7c01%7ctonynad%40microsoft.com%7c9456670075d04a51f85508d2e59ba294%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=LfFAjchzCTh0x%2fY9hr0W%2fSohPGgb0JVjL%2f2Az%2f12BCg%3d>.
>>>> 
>>>> 
>>>> https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fww
>>>> w.ietf.org%2fmailman%2flistinfo%2foauth&data=01%7c01%7ctonynad%40mi
>>>> crosoft.com%7c9456670075d04a51f85508d2e59ba294%7c72f988bf86f141af91
>>>> ab2d7cd011db47%7c1&sdata=ND3ydaXOsPMsoRhE0Uyq0uznGy6MdYOLZQJHLhEQKJ
>>>> s%3d
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fww
>>>> w.ietf.org%2fmailman%2flistinfo%2foauth&data=01%7c01%7ctonynad%40mi
>>>> crosoft.com%7c9456670075d04a51f85508d2e59ba294%7c72f988bf86f141af91
>>>> ab2d7cd011db47%7c1&sdata=ND3ydaXOsPMsoRhE0Uyq0uznGy6MdYOLZQJHLhEQKJ
>>>> s%3d
>>>> 
>>> 
>>> https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fwww
>>> .ietf.org%2fmailman%2flistinfo%2foauth&data=01%7c01%7ctonynad%40micr
>>> osoft.com%7c9456670075d04a51f85508d2e59ba294%7c72f988bf86f141af91ab2
>>> d7cd011db47%7c1&sdata=ND3ydaXOsPMsoRhE0Uyq0uznGy6MdYOLZQJHLhEQKJs%3d
>> 
>> https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fwww.
>> ietf.org%2fmailman%2flistinfo%2foauth&data=01%7c01%7ctonynad%40micros
>> oft.com%7c9456670075d04a51f85508d2e59ba294%7c72f988bf86f141af91ab2d7c
>> d011db47%7c1&sdata=ND3ydaXOsPMsoRhE0Uyq0uznGy6MdYOLZQJHLhEQKJs%3d
> 

_______________________________________________
OAuth mailing list
[email-masked]
https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fwww.ietf.org%2fmailman%2flistinfo%2foauth%0a&data=01%7c01%7ctonynad%40microsoft.com%7c9456670075d04a51f85508d2e59ba294%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=BLqSuDjWLY72fGm0UrpLwxQVnamMelggJeOpYJESVFs%3d

---

From: Justin Richer <[email-masked]>
Date: Thu, 5 Nov 2015 13:47:59 +0900

That’s only if you’re using good hardware to produce a key. We can’t assume that’s the only kind of client that will exist, and software generation is likely to be much more common for a while yet.

Perhaps what we really need is strong guidance on when to use which approach. “If you client has a strong random generator function then you can make your own key, but otherwise let the server do it for you."

 — Justin

> On Nov 5, 2015, at 1:45 PM, Anthony Nadalin <[email-masked]> wrote:
>

---

From: John Bradley <[email-masked]>
Date: Thu, 5 Nov 2015 13:51:43 +0900

OK, no good reason unless the client is using a HSM that can do HMAC and can export a symmetric key wrapped in a asymmetric key provided by the AS.

We don’t currently cover that use case of sending a wrapped symmetric key to the AS in POP key distribution.   
I don’t know how common that is going to be, but it is worth thinking about defining.

John B.

---

From: Anthony Nadalin <[email-masked]>
Date: Thu, 5 Nov 2015 04:53:20 +0000

Our use case involves mostly hardware (TPM 1.2) based key generation, where the hardware (TPM 1.1) is slow we will use secure software execution environment, our use case is always client side generated keys

-----Original Message-----
From: Justin Richer [mailto:[email-masked]] 
Sent: Wednesday, November 4, 2015 8:48 PM
To: Anthony Nadalin <[email-masked]>
Cc: John Bradley <[email-masked]>; <[email-masked]> <[email-masked]>
Subject: Re: [OAUTH-WG] Proof-of-Possession Key Semantics for JWTs spec addressing final shepherd comment

 — Justin

>>>>> ------------------------------------------------------------------
>>>>> -
>>>>> -----
>>>>> 
>>>>> e59ba294%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=EQd4rUcuyqdS
>>>>> P gmibtcfjMpJm6RWWwCZC85%2bCboEs54%3d
>>>>> 
>>>>> 
>>>>> 
>>>>>                                                         -- Mike
>>>>> 
>>>>> 
>>>>> 
>>>> w 
>>> oft.com%7c9456670075d04a51f85508d2e59ba294%7c72f988bf86f141af91ab2d7
>>> c d011db47%7c1&sdata=ND3ydaXOsPMsoRhE0Uyq0uznGy6MdYOLZQJHLhEQKJs%3d
>> 
> 
> https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fwww.i
> etf.org%2fmailman%2flistinfo%2foauth%0a&data=01%7c01%7ctonynad%40micro
> soft.com%7c9456670075d04a51f85508d2e59ba294%7c72f988bf86f141af91ab2d7c
> d011db47%7c1&sdata=BLqSuDjWLY72fGm0UrpLwxQVnamMelggJeOpYJESVFs%3d

---

From: Anthony Nadalin <[email-masked]>
Date: Thu, 5 Nov 2015 04:55:10 +0000

I can say on all windows based devices (pc, xbox, phone, etc) with only TPM 1.1 this will be the approach so it will be commonly used 

-----Original Message-----
From: John Bradley [mailto:[email-masked]] 
Sent: Wednesday, November 4, 2015 8:52 PM
To: Anthony Nadalin <[email-masked]>
Cc: Justin Richer <[email-masked]>; <[email-masked]> <[email-masked]>
Subject: Re: [OAUTH-WG] Proof-of-Possession Key Semantics for JWTs spec addressing final shepherd comment

John B.

---

From: John Bradley <[email-masked]>
Date: Thu, 5 Nov 2015 13:58:23 +0900

Good to know.   So the AS needs to expose a public key for the TPM to use for encryption.   I am guessing you are not using a encrypted JWK for that.  What is the format the TPM produces the wrapped key in?

John B.
> On Nov 5, 2015, at 1:55 PM, Anthony Nadalin <[email-masked]> wrote:
>

---

From: Chuck Mortimore <[email-masked]>
Date: Thu, 5 Nov 2015 12:07:17 -0800

The spec is very clear for most cases, but I think it could use some
guidance on nested JWTs.    (Or perhaps I've got the approach wrong.)

Here's the use-case:
We have devices that are self-issuing keys.    Via token exchange, we're
going to except a self-signed JWT from the device that includes a "cnf"
claim of the key they generated.    Assuming the signature checks out on
that JWT, we'll then bind that key into a "cnf" claim in a new token that
we issue and sign with a tenant key.

When the device goes to use that token, the device would sign it,
constructing a nested JWT.  The outer signature is the proof of possession
of the device's private key.   The inner signature is our signature that
binds the public key used to validate the outer token.

Does this sound correct?   The processing order is a bit odd since you
first need to unpack and validate the inner token before you can validate
the outer token.   Is there some other way this is intended to work?

thanks

-cmort

On Wed, Nov 4, 2015 at 8:58 PM, John Bradley <[email-masked]> wrote:

> Good to know.   So the AS needs to expose a public key for the TPM to use
> for encryption.   I am guessing you are not using a encrypted JWK for
> that.  What is the format the TPM produces the wrapped key in?
>
> John B.
> > I can say on all windows based devices (pc, xbox, phone, etc) with only
> TPM 1.1 this will be the approach so it will be commonly used
> >
> > OK, no good reason unless the client is using a HSM that can do HMAC and
> can export a symmetric key wrapped in a asymmetric key provided by the AS.
> >
> >> In the asymmetric case the use of a HSM or secure element is the
> argument for the client selecting the public key.   In those cases the
> client is doing the key gen in hardware so one hopes it is OK.   In the
> symetric case the client generating the key is weaker (as in I can’t think
> of any really good reason).
> >>
> >>
> >>> I’d argue that it’s best practice, and in line with other parts of
> OAuth, if we assume the server generates it in the normal case (issuer ->
> presenter). Client generated token keys should be an exception, especially
> in the asymmetric case.
> >>>
> >>> — Justin
> >>>
> >>>> Agreed the only real difference is the quality of the key.  If the
> server generates it, then it knows that the client is not using the fixed
> hex value of DEADBEEF for everything.
> >>>>
> >>>> John B.
> >>>>>> way <
> https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2ftools.ietf.org%2fhtml%2fdraft-ietf-oauth-pop-key-distribution-02%23section-4.2&data=01%7c01%7ctonynad%40microsoft.com%7c9456670075d04a51f85508d2e59ba294%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=UgZEoqQiaUk9VdYpSQRvUeVVOQgIUg3UmAr18oQ7GtI%3d
> >.
> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2ftools.ietf.org%2fhtml%2fdraft-ietf-oauth-proof-of-possession-06&data=01%7c01%7ctonynad%40microsoft.com%7c9456670075d04a51f85508d2e59ba294%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=6hE6dOO0I1%2ffF005rVknyOFHuB18gdpZg9dftExLtCw%3d
> >>>>>>
> >>>>>>
> >>>>>>
> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fself-issued.info%2f%3fp%3d1471&data=01%7c01%7ctonynad%40microsoft.com%7c9456670075d04a51f85508d2e59ba294%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=TMfX1tG5qucl%2be2KVpyMBuj72ZQ%2f%2bEKGoTyJyf%2bfJi4%3d
> and as @selfissued <
> https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2ftwitter.com%2fselfissued&data=01%7c01%7ctonynad%40microsoft.com%7c9456670075d04a51f85508d2e59ba294%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=LfFAjchzCTh0x%2fY9hr0W%2fSohPGgb0JVjL%2f2Az%2f12BCg%3d
> >.
> >>>>>>
> >>>>>>

---

From: Kathleen Moriarty <[email-masked]>
Date: Fri, 20 Nov 2015 14:12:00 -0500

Hi,

This draft was tossed over the fence to me, but it seems that there
may be a few open questions that remain.  Use of HSM and TPMwere
raised in this tread and not addressed in the current draft version.

Is guidance needed for nested JWTs?  If not, why?

In a separate thread, JWK is mentioned, but I'm okay with that text as
there is a reference.

I'd like to get this moving, os if we can wrap up these questions and
if anything will be done about them, it would be helpful.

Thank you,
Kathleen

On Thu, Nov 5, 2015 at 3:07 PM, Chuck Mortimore
<[email-masked]> wrote:
> that JWT, we'll then bind that key into a "cnf" claim in a new token that we
> issue and sign with a tenant key.
>
> Does this sound correct?   The processing order is a bit odd since you first
> need to unpack and validate the inner token before you can validate the
> outer token.   Is there some other way this is intended to work?
>
> thanks
>
> -cmort
>
>
>
>> for encryption.   I am guessing you are not using a encrypted JWK for that.
>> What is the format the TPM produces the wrapped key in?
>>
>> John B.
>> >>>>>> way
>> >>>>>> <https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2ftools.ietf.org%2fhtml%2fdraft-ietf-oauth-pop-key-distribution-02%23section-4.2&data=01%7c01%7ctonynad%40microsoft.com%7c9456670075d04a51f85508d2e59ba294%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=UgZEoqQiaUk9VdYpSQRvUeVVOQgIUg3UmAr18oQ7GtI%3d>.
>> >>>>>> and as @selfissued
>> >>>>>> <https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2ftwitter.com%2fselfissued&data=01%7c01%7ctonynad%40microsoft.com%7c9456670075d04a51f85508d2e59ba294%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=LfFAjchzCTh0x%2fY9hr0W%2fSohPGgb0JVjL%2f2Az%2f12BCg%3d>.
>> >>>>>>
>> >>>>>>

-- 

Best regards,
Kathleen

---

From: Mike Jones <[email-masked]>
Date: Fri, 20 Nov 2015 19:32:49 +0000

HSM-backed public keys would be represented in the same way that other public keys are - using the standard JWK representation for them.  Likewise for TPM-backed public keys.  That said, I'm not an expert in TPMs and know that they define TPM-specific signature formats but to my understanding, they're using standard kinds of keys.  If this isn't the case, a new key type ("kty") would be needed to represent them, but they'd still be represented as a JWK in the JWT using that key type.  The draft would still work fine for these use cases as written.  Does that sound right to people or am I missing something here?

For Chuck's nested JWT use case, that seems like it would work out as he described it.  Note that he's primarily describing the protocol messages he's using to do the proof-of-possession - not just how to represent the PoP key in a JWT - which is the scope of this draft.  The PoP protocol pieces are explicitly out of scope for this draft - it's just about PoP key representation.

If I have the above right, does anyone believe that we nonetheless need to do an update to the draft?  If so, can you supply proposed wording or at least the gist of the additional ideas that you'd like to have conveyed.

				Best wishes,
				-- Mike

-----Original Message-----
From: OAuth [mailto:[email-masked]] On Behalf Of Kathleen Moriarty
Sent: Friday, November 20, 2015 11:12 AM
To: Chuck Mortimore <[email-masked]>
Cc: <[email-masked]> <[email-masked]>
Subject: Re: [OAUTH-WG] Proof-of-Possession Key Semantics for JWTs spec addressing final shepherd comment

Hi,

This draft was tossed over the fence to me, but it seems that there may be a few open questions that remain.  Use of HSM and TPMwere raised in this tread and not addressed in the current draft version.

In a separate thread, JWK is mentioned, but I'm okay with that text as there is a reference.

I'd like to get this moving, os if we can wrap up these questions and if anything will be done about them, it would be helpful.

Thank you,
Kathleen

On Thu, Nov 5, 2015 at 3:07 PM, Chuck Mortimore <[email-masked]> wrote:
> that JWT, we'll then bind that key into a "cnf" claim in a new token 
> that we issue and sign with a tenant key.
>
>> > I can say on all windows based devices (pc, xbox, phone, etc) with 
>> > only TPM 1.1 this will be the approach so it will be commonly used
>> >
>> > OK, no good reason unless the client is using a HSM that can do 
>> > HMAC and can export a symmetric key wrapped in a asymmetric key provided by the AS.
>> >
>> > We don’t currently cover that use case of sending a wrapped 
>> > symmetric key to the AS in POP key distribution.
>> >> On Nov 5, 2015, at 1:45 PM, Anthony Nadalin 
>> >> <[email-masked]>
>> >> wrote:
>> >>
>> >> symetric case the client generating the key is weaker (as in I 
>> >> can’t think of any really good reason).
>> >>
>> >>
>> >>> I’d argue that it’s best practice, and in line with other parts 
>> >>> of OAuth, if we assume the server generates it in the normal case 
>> >>> (issuer -> presenter). Client generated token keys should be an 
>> >>> exception, especially in the asymmetric case.
>> >>>
>> >>> — Justin
>> >>>
>> >>>> Agreed the only real difference is the quality of the key.  If 
>> >>>> the server generates it, then it knows that the client is not 
>> >>>> using the fixed hex value of DEADBEEF for everything.
>> >>>>
>> >>>> John B.
>> >>>>> I agree that the effect is the same. From a security point of 
>> >>>>> view there is only an impact if one of the two parties is in a 
>> >>>>> better position to generate random numbers, which is the basis 
>> >>>>> for generating a high entropy symmetric key.
>> >>>>>
>> >>>>>> symmetric case, either the issuer or the presenter can create 
>> >>>>>> the symmetric PoP key and share it with the other party, since 
>> >>>>>> the effect is equivalent.
>> >>>>>> *Subject:* Re: [OAUTH-WG] Proof-of-Possession Key Semantics 
>> >>>>>> for JWTs spec addressing final shepherd comment
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>> One little nit/question, step 1 in both Symmetric and 
>> >>>>>> Asymmetric keys shows the Presenter sending the key to the 
>> >>>>>> Issuer. It's possible, however, for the key to be sent the 
>> >>>>>> other way. Presenter sending it to the Issuer is probably 
>> >>>>>> preferred for asymmetric, especially if the client can secure the private keys in hardware.
>> >>>>>> symmetric case and PoP key distribution currently has it the 
>> >>>>>> other way 
>> >>>>>> <[email-masked] 
>> >>>>>> *至**: *"[email-masked] <mailto:[email-masked]>" 
>> >>>>>> <[email-masked] <mailto:[email-masked]>>
>> >>>>>> *主题**: *Proof-of-Possession Key Semantics for JWTs spec 
>> >>>>>> Proof-of-Possession Key Semantics for JWTs draft -06 addresses 
>> >>>>>> the remaining document shepherd comment – adding use case 
>> >>>>>> diagrams to the introduction.
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%
>> >>>>>> 2ftools.ietf.org%2fhtml%2fdraft-ietf-oauth-proof-of-possession
>> >>>>>> -06&data=01%7c01%7ctonynad%40microsoft.com%7c9456670075d04a51f
>> >>>>>> 85508d2e59ba294%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=6
>> >>>>>> hE6dOO0I1%2ffF005rVknyOFHuB18gdpZg9dftExLtCw%3d
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>> https://na01.safelinks.protection.outlook.com/?url=https%3a%2f
>> >>>>>> %2fs
>> >>>>>> e
>> >>>>>> lf-issued.info%2fdocs%2fdraft-ietf-oauth-proof-of-possession-0
>> >>>>>> 6.ht
>> >>>>>> m
>> >>>>>> l&data=01%7c01%7ctonynad%40microsoft.com%7c9456670075d04a51f85
>> >>>>>> 508d
>> >>>>>> 2
>> >>>>>> e59ba294%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=EQd4rUcu
>> >>>>>> yqdS P gmibtcfjMpJm6RWWwCZC85%2bCboEs54%3d
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>>                                                        -- Mike
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>> https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%
>> >>>>>> 2fself-issued.info%2f%3fp%3d1471&data=01%7c01%7ctonynad%40micr
>> >>>>>> osoft.com%7c9456670075d04a51f85508d2e59ba294%7c72f988bf86f141a
>> >>>>>> f91ab2d7cd011db47%7c1&sdata=TMfX1tG5qucl%2be2KVpyMBuj72ZQ%2f%2
>> >>>>>> bEKGoTyJyf%2bfJi4%3d
>> >>>>>> and as @selfissued
>> >>>>>> https://na01.safelinks.protection.outlook.com/?url=https%3a%2f
>> >>>>>> %2fw
>> >>>>>> w
>> >>>>>> w.ietf.org%2fmailman%2flistinfo%2foauth&data=01%7c01%7ctonynad
>> >>>>>> %40m
>> >>>>>> i
>> >>>>>> crosoft.com%7c9456670075d04a51f85508d2e59ba294%7c72f988bf86f14
>> >>>>>> 1af9
>> >>>>>> 1
>> >>>>>> ab2d7cd011db47%7c1&sdata=ND3ydaXOsPMsoRhE0Uyq0uznGy6MdYOLZQJHL
>> >>>>>> hEQK
>> >>>>>> J
>> >>>>>> s%3d
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>> https://na01.safelinks.protection.outlook.com/?url=https%3a%2f
>> >>>>>> %2fw
>> >>>>>> w
>> >>>>>> w.ietf.org%2fmailman%2flistinfo%2foauth&data=01%7c01%7ctonynad
>> >>>>>> %40m
>> >>>>>> i
>> >>>>>> crosoft.com%7c9456670075d04a51f85508d2e59ba294%7c72f988bf86f14
>> >>>>>> 1af9
>> >>>>>> 1
>> >>>>>> ab2d7cd011db47%7c1&sdata=ND3ydaXOsPMsoRhE0Uyq0uznGy6MdYOLZQJHL
>> >>>>>> hEQK
>> >>>>>> J
>> >>>>>> s%3d
>> >>>>>>
>> >>>>>
>> >>>>> .ietf.org%2fmailman%2flistinfo%2foauth&data=01%7c01%7ctonynad%4
>> >>>>> 0mic
>> >>>>> r
>> >>>>> osoft.com%7c9456670075d04a51f85508d2e59ba294%7c72f988bf86f141af
>> >>>>> 91ab
>> >>>>> 2
>> >>>>> d7cd011db47%7c1&sdata=ND3ydaXOsPMsoRhE0Uyq0uznGy6MdYOLZQJHLhEQK
>> >>>>> Js%3
>> >>>>> d
>> >>>>
>> >>>> ietf.org%2fmailman%2flistinfo%2foauth&data=01%7c01%7ctonynad%40m
>> >>>> icro
>> >>>> s
>> >>>> oft.com%7c9456670075d04a51f85508d2e59ba294%7c72f988bf86f141af91a
>> >>>> b2d7 c 

-- 

Best regards,
Kathleen

---

From: Brian Campbell <[email-masked]>
Date: Fri, 20 Nov 2015 12:51:59 -0700

Agree that the nested JWT question is really outside the scope of this
document. That's would be a way to try and actually prove the possession of
some key (though Chuck and I chatted offline about it some and are not
convinced it's a particularly good way) while this document is just about
how to indicate the key that will be proven somehow in a JWT. I do believe
there's a bit of a void on the PoP protocol side of things but that's a
different topic that shouldn't prevent this document from proceeding.

If I recall correctly, the HSM/TPM concerns were actually raised about
draft-ietf-oauth-pop-key-distribution-02 rather than this document.
Something about only wrapped secret keys being exportable from certain TPMs
or something like that. I'm not sure exactly what it was but don't think it
pertained to this document.

On Fri, Nov 20, 2015 at 12:32 PM, Mike Jones <[email-masked]>
wrote:

> HSM-backed public keys would be represented in the same way that other
> public keys are - using the standard JWK representation for them.  Likewise
> for TPM-backed public keys.  That said, I'm not an expert in TPMs and know
> that they define TPM-specific signature formats but to my understanding,
> they're using standard kinds of keys.  If this isn't the case, a new key
> type ("kty") would be needed to represent them, but they'd still be
> represented as a JWK in the JWT using that key type.  The draft would still
> work fine for these use cases as written.  Does that sound right to people
> or am I missing something here?
>
> For Chuck's nested JWT use case, that seems like it would work out as he
> described it.  Note that he's primarily describing the protocol messages
> he's using to do the proof-of-possession - not just how to represent the
> PoP key in a JWT - which is the scope of this draft.  The PoP protocol
> pieces are explicitly out of scope for this draft - it's just about PoP key
> representation.
>
> If I have the above right, does anyone believe that we nonetheless need to
> do an update to the draft?  If so, can you supply proposed wording or at
> least the gist of the additional ideas that you'd like to have conveyed.
>
>                                 Best wishes,
>                                 -- Mike
>
> This draft was tossed over the fence to me, but it seems that there may be
> a few open questions that remain.  Use of HSM and TPMwere raised in this
> tread and not addressed in the current draft version.
>
> I'd like to get this moving, os if we can wrap up these questions and if
> anything will be done about them, it would be helpful.
>
> Thank you,
> Kathleen
>
> first
> that.
> >> >>>>>> <
> >> >>>>>> <

---

From: John Bradley <[email-masked]>
Date: Fri, 20 Nov 2015 16:53:41 -0300

I don’t know of any special requirements for representing HSM keys.   

How they are negotiated and stored is out of scope for this draft.

I think Brian mentioned that we had an example that is different from the default in the POP drafts.   That can be looked at.

I don’t think we want to get into key management.  That should be left to specifications that use this.

Chuck’s example gets into proof mechanisms for token presentment.
That is also out of scope for this draft.   There are two mechanisms as part of the POP specs.
One is mutual TLS and the other is using a signed message.  
I think the signed message one is what he is looking for.  
https://tools.ietf.org/html/draft-ietf-oauth-signed-http-request-01

I suppose that you could over sign the token itself but there are perhaps better ways to do it.
So if wrapping rules are needed that would probably be part of a pop token proof presentment spec.

John B.

> On Nov 20, 2015, at 4:32 PM, Mike Jones <[email-masked]> wrote:
>

---

From: Kathleen Moriarty <[email-masked]>
Date: Fri, 20 Nov 2015 15:11:48 -0500

Sent from my iPhone

> On Nov 20, 2015, at 2:53 PM, John Bradley <[email-masked]> wrote:
> 

I wasn't suggesting that there were separate requirements or different key types as that would not be the case, just that the discussions did not seem to be complete. 
> That is also out of scope for this draft.   There are two mechanisms as part of the POP specs.

Ok, sounds good.  Thanks.

> So if wrapping rules are needed that would probably be part of a pop token proof presentment spec.

Ok, thanks.
Kathleen