Subject: [OAUTH-WG] New OAuth client credentials RPK and PSK

From: Samuel Erdtman <[email-masked]>
Date: Fri, 12 May 2017 10:03:28 +0200

Hi ACE and OAuth WGs,

I and Ludwig submitted a new draft yesterday defining how to use Raw Public
Key and Pre Shared Key with (D)TLS as OAuth client credentials,
https://datatracker.ietf.org/doc/draft-erdtman-ace-rpcc/.

We think this is valuable to the ACE work since the ACE framework is based
on OAuth, but client credentials as defined in the OAuth framework are not
the best match for embedded devices.

We think Raw Public Keys and Pre Shared Keys are more suitable credentials
for embedded devices for the following reasons:
* Better security by binding to transport layer.
* If PSK DTLS is to be used a key need to be distributed any way, why not
make use of it as credential.
* Client id and client secret accommodates for manual input by a humans.
This does not scale well and requires some for of input device.
* Some/many devices will have crypto-hardware that can protect key
material, to not use that possibility would be a waste.
* There are probably more reasons these was just the once on top of my head.

This is not the first resent initiative to create new client credential
types, the OAuth WG adopted a similar draft for certificate based client
credentials (https://tools.ietf.org/html/draft-ietf-oauth-mtls-00.html).
That work is also valuable to ACE but not all devices will be able to work
with certificates or even asymmetric cryptos .

Please review and comment.

Cheers
//Samuel

---

From: Torsten Lodderstedt <[email-masked]>
Date: Sat, 13 May 2017 11:58:01 +0200

Hi Samuel,

as far as I understand your draft, it utilizes results of the (D)TLS client authentication for authentication towards the tokens endpoint - similar to https://tools.ietf.org/html/draft-ietf-oauth-mtls-00.html. Do you intend to also utilize the binding of the access token to a certain key pair as described in oauth-ietf-mtls?

best regards,
Torsten.

> Am 12.05.2017 um 10:03 schrieb Samuel Erdtman <[email-masked]>:
> 
> Hi ACE and OAuth WGs,
> 
> I and Ludwig submitted a new draft yesterday defining how to use Raw Public Key and Pre Shared Key with (D)TLS as OAuth client credentials, https://datatracker.ietf.org/doc/draft-erdtman-ace-rpcc/.
> 
> We think this is valuable to the ACE work since the ACE framework is based on OAuth, but client credentials as defined in the OAuth framework are not the best match for embedded devices.
> 
> We think Raw Public Keys and Pre Shared Keys are more suitable credentials for embedded devices for the following reasons:
> * If PSK DTLS is to be used a key need to be distributed any way, why not make use of it as credential.
> * Client id and client secret accommodates for manual input by a humans. This does not scale well and requires some for of input device.
> * Some/many devices will have crypto-hardware that can protect key material, to not use that possibility would be a waste.
> This is not the first resent initiative to create new client credential types, the OAuth WG adopted a similar draft for certificate based client credentials (https://tools.ietf.org/html/draft-ietf-oauth-mtls-00.html). That work is also valuable to ACE but not all devices will be able to work with certificates or even asymmetric cryptos .
> 
> _______________________________________________
> OAuth mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/oauth

---

From: Samuel Erdtman <[email-masked]>
Date: Sun, 14 May 2017 12:12:22 +0200

Hi Torsten,

That is a possibility, I excluded it to keep the scope limited and because
I don´t think it is as applicable with these credential types.

I think these credential types will mostly be used in IoT deployments using
the ACE framework, in that case the token will have its own key that will
most likely be used in the (D)TLS handshake between the client and resource
server see e.g.
https://tools.ietf.org/html/draft-gerdes-ace-dtls-authorize-01.

However if the token would not be a PoP token then it could make sense. Do
you fore see such use cases where it would be useful?

One thing that I did not mention in my earlier email that could be a
possible path forward would be to merge this draft into the mtls one.

//Samuel

On Sat, May 13, 2017 at 11:58 AM, Torsten Lodderstedt <
[email-masked]> wrote:

> Hi Samuel,
>
> as far as I understand your draft, it utilizes results of the (D)TLS
> client authentication for authentication towards the tokens endpoint -
> similar to https://tools.ietf.org/html/draft-ietf-oauth-mtls-00.html. Do
> you intend to also utilize the binding of the access token to a certain key
> pair as described in oauth-ietf-mtls?
>
> best regards,
> Torsten.
>
> I and Ludwig submitted a new draft yesterday defining how to use Raw
> Public Key and Pre Shared Key with (D)TLS as OAuth client credentials,

---

From: Jim Schaad <[email-masked]>
Date: Sun, 14 May 2017 13:18:14 -0700

How is this draft supposed to interact with draft-gerdes-ace-dtls-authorize?

Jim

From: Ace [mailto:[email-masked]] On Behalf Of Samuel Erdtman
Sent: Friday, May 12, 2017 1:03 AM
To: <[email-masked]> <[email-masked]>; ace <[email-masked]>
Cc: Ludwig Seitz <[email-masked]>
Subject: [Ace] New OAuth client credentials RPK and PSK

Hi ACE and OAuth WGs,

Cheers

//Samuel

---

From: Samuel Erdtman <[email-masked]>
Date: Mon, 15 May 2017 10:49:02 +0200

In short this draft focuses on the C to AS connection and
draft-gerdes-ace-dtls-authorize focuses on the C to RS connection.

This draft details on how to use RPK or PSK as client credentials to setup
the (D)TLS between C and AS while draft-gerdes-ace-dtls-authorize provides
details for how to use the RPK or PSK bound to an access token to setup the
connection between C and RS.

//Samuel

On Sun, May 14, 2017 at 10:18 PM, Jim Schaad <[email-masked]> wrote:

> *From:* Ace [mailto:[email-masked]] *On Behalf Of *Samuel Erdtman
> *Sent:* Friday, May 12, 2017 1:03 AM
> *To:* <[email-masked]> <[email-masked]>; ace <[email-masked]>
> *Cc:* Ludwig Seitz <[email-masked]>
> *Subject:* [Ace] New OAuth client credentials RPK and PSK
>
>
>
> Hi ACE and OAuth WGs,
>

---

From: Adrian Imach <[email-masked]>
Date: Mon, 15 May 2017 11:27:56 +0000

Please unsubscribe me from your mailing list. Thank you ,

Adrian Imach

On 15 May 2017, at 09:52, Samuel Erdtman <[email-masked]<mailto:[email-masked]>> wrote:

In short this draft focuses on the C to AS connection and draft-gerdes-ace-dtls-authorize focuses on the C to RS connection.

This draft details on how to use RPK or PSK as client credentials to setup the (D)TLS between C and AS while draft-gerdes-ace-dtls-authorize provides details for how to use the RPK or PSK bound to an access token to setup the connection between C and RS.

//Samuel

On Sun, May 14, 2017 at 10:18 PM, Jim Schaad <[email-masked]<mailto:[email-masked]>> wrote:
How is this draft supposed to interact with draft-gerdes-ace-dtls-authorize?

Jim

From: Ace [mailto:[email-masked]<mailto:[email-masked]>] On Behalf Of Samuel Erdtman
Sent: Friday, May 12, 2017 1:03 AM
To: <[email-masked]<mailto:[email-masked]>> <[email-masked]<mailto:[email-masked]>>; ace <[email-masked]<mailto:[email-masked]>>
Cc: Ludwig Seitz <[email-masked]<mailto:[email-masked]>>
Subject: [Ace] New OAuth client credentials RPK and PSK

Hi ACE and OAuth WGs,

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