Subject: [Acme] Use cases / trust model for device certs

From: Richard Barnes <[email-masked]>
Date: Wed, 17 Apr 2019 13:09:08 -0400

Hey Rifaat,

Owen and I were chatting about ACME and device certs this morning, and it
seemed like it might be useful to rekindle discussion on the topic here on
the ACME list.

I'd like to push a little more on the trust model here.  Just to establish
some terminology:

- Device: Uses certificates to authenticate identifiers
- Vendor: Makes the device that will get the end certificate
- Customer: Buys the device from the vendor and operates it
- CA: Validates identifiers and issues certificates
- Relying Party: Uses certificates to verify authentication for identifiers
- Device Identity: MAC address or similar

In the flows Owen and I have been discussing (more based on ANIMA/BRSKI),
the model is basically broken in two, with the customer in the middle:

1. The customer validates devices' device identity as part of the ANIMA
flow, based on the customer trusting the vendor, and assigns the device a
domain name
2. The customer uses ACME to issue domain name certificates (the CA is
unaware of the device identity)

That all pretty much just works with BRSKI and ACME as they are today.  But
it presumes that the RP is authenticating the device by domain name, as is
prevalent in most uses of TLS today.

In contrast, it seems like your draft presumes that the RP needs to know
the device identity; it's not satisfied by a domain name alone.  Can you
elaborate a bit more on what scenarios you have in mind for this?  If all
you care about is the customer tracking things, then the model above is
sufficient; the customer can simply assign domain names that encode the
device identity however it likes.

Thanks,
--Richard

---

From: Eliot Lear <[email-masked]>
Date: Wed, 17 Apr 2019 11:29:02 -0700

Hi Richard,

Just to add, ACME is really an enrollment protocol.  For device onboarding, we have those.  I hadn’t really thought about ACME as one, but there are definitely some concepts that can and should be leverage.  PoP or Proof of ownership is one that requires exploration.  Also, this ties to supply chain management/SBoM, and the work of SUIT.  Specifically, how does the onboarded identity relate to the application?

There is a mailing list for this: [email-masked] <mailto:[email-masked]>.

Eliot

> On 17 Apr 2019, at 10:09, Richard Barnes <[email-masked]> wrote:
> 
> Hey Rifaat,
> 
> Owen and I were chatting about ACME and device certs this morning, and it seemed like it might be useful to rekindle discussion on the topic here on the ACME list.
> 
> I'd like to push a little more on the trust model here.  Just to establish some terminology:
> 
> In the flows Owen and I have been discussing (more based on ANIMA/BRSKI), the model is basically broken in two, with the customer in the middle:
> 
> 1. The customer validates devices' device identity as part of the ANIMA flow, based on the customer trusting the vendor, and assigns the device a domain name
> 2. The customer uses ACME to issue domain name certificates (the CA is unaware of the device identity)
> 
> That all pretty much just works with BRSKI and ACME as they are today.  But it presumes that the RP is authenticating the device by domain name, as is prevalent in most uses of TLS today.
> 
> In contrast, it seems like your draft presumes that the RP needs to know the device identity; it's not satisfied by a domain name alone.  Can you elaborate a bit more on what scenarios you have in mind for this?  If all you care about is the customer tracking things, then the model above is sufficient; the customer can simply assign domain names that encode the device identity however it likes.
> 
> Thanks,
> --Richard
> _______________________________________________
> Acme mailing list
> [email-masked]
> https://secure-web.cisco.com/1tlmqIbvXi2GsjydUBbTmsMvgAIUs8PxjTEsHBBrQHvGqLC_eq6oyniVBQXUhbMRIWXPbic_j3yu99L40LmxOHOYbKI4aLWdBh6LaxJPSYilwp4z5jjYm7UPZa8EOAIGFrR9y1rF0w2Ls0JKD9OKvDPF-XGunL6DjYBbJFzon6FcSCWNBEXAMs4i5ieqiAGKlvM-Mbou1gqIVK13Mf-9mlIBvXhq0Kry2Koqd9p67M1NUtZyo8XBseYnMDprATd3AN0j20H5vApQe62q3I36Pyx6Mi69rw_H6vODTiraXAsFI58RFVCsqmTrVa9ZTNVwV/https%3A%2F%2Fwww.ietf.org%2Fmailman%2Flistinfo%2Facme

---

From: Rifaat Shekh-Yusef <[email-masked]>
Date: Wed, 17 Apr 2019 15:37:26 -0400

Hi Richard,

I was not aware of the ANIMA work before the meeting in Prague, so I will
definitely look into that in details.

One use case that I have in mind is a way to make sure that a specific
device can only be used by a specific party.
If you rely on RP to request identities for the device, then any party that
has a valid ACME account can use any device.
For example, if party A purchased a device from the vendor, and party B
gets a hold of that device, then there
is nothing that prevents party B from getting a valid ACME certificate for
that device.

If instead you reply on a token from the Device Authority, then the CA will
only issue a certificate to a specific party and specific device.

Regards,
 Rifaat

On Wed, Apr 17, 2019 at 1:09 PM Richard Barnes <[email-masked]> wrote:

> That all pretty much just works with BRSKI and ACME as they are today.
> But it presumes that the RP is authenticating the device by domain name, as
> is prevalent in most uses of TLS today.
>

---

From: "Owen Friel (ofriel)" <[email-masked]>
Date: Tue, 23 Apr 2019 22:41:09 +0000

Hi Rifaat,
Inline.

From: Rifaat Shekh-Yusef <[email-masked]>
Sent: 17 April 2019 20:37
To: Richard Barnes <[email-masked]>
Cc: IETF ACME <[email-masked]>; Owen Friel (ofriel) <[email-masked]>
Subject: Re: Use cases / trust model for device certs

Hi Richard,

I was not aware of the ANIMA work before the meeting in Prague, so I will definitely look into that in details.

One use case that I have in mind is a way to make sure that a specific device can only be used by a specific party.
If you rely on RP to request identities for the device, then any party that has a valid ACME account can use any device.
[ofriel] This is one of the use cases that BRSKI enables. Read the sections relating to Ownership Tracker.

For example, if party A purchased a device from the vendor, and party B gets a hold of that device, then there
is nothing that prevents party B from getting a valid ACME certificate for that device.
[ofriel] With strict ownership tracking, BRSKI is flexible enough to prevent devices from bootstrapping against a network without proof of ownership.

If instead you reply on a token from the Device Authority, then the CA will only issue a certificate to a specific party and specific device.
[ofriel] The Device Authority appears to perform a similar function to the MASA audit log function. The Client (i.e. customer.com) can claim devices from the DA (via some sales channel/integration API), the DA issues JWTs indicating that the device is claimed by a specific Client, and ACME checks that the requesting Client matches that in the JWT which the DA has logged. The BRSKI MASA service audit logs every single domain that a device has registered against, and does not preclude Registrars claiming devices/proving ownership via some sales channel integration/API. It appears that this proposal is trying to address similar issues as BRSKI.

Regards,
 Rifaat

On Wed, Apr 17, 2019 at 1:09 PM Richard Barnes <[email-masked]<mailto:[email-masked]>> wrote:
Hey Rifaat,

Thanks,
--Richard

---

From: Rifaat Shekh-Yusef <[email-masked]>
Date: Wed, 24 Apr 2019 14:30:34 -0400

Thanks Owen,

I honestly did not have a chance to look BRSKI yet.

Just to make sure that I understand you correctly, are you saying that
BRSKI has a solution for my use case with ACME?
If so, can you please point me to the right document?

Regards,
 Rifaat

On Tue, Apr 23, 2019 at 6:41 PM Owen Friel (ofriel) <[email-masked]>
wrote:

> Hi Rifaat,
>
> Inline.
>
>
>
> *From:* Rifaat Shekh-Yusef <[email-masked]>
> *Sent:* 17 April 2019 20:37
> *To:* Richard Barnes <[email-masked]>
> *Cc:* IETF ACME <[email-masked]>; Owen Friel (ofriel) <[email-masked]>
> *Subject:* Re: Use cases / trust model for device certs
>
>
>
> Hi Richard,
>
>
>
> If you rely on RP to request identities for the device, then any party
> that has a valid ACME account can use any device.
>
> [ofriel] With strict ownership tracking, BRSKI is flexible enough to
> prevent devices from bootstrapping against a network without proof of
> ownership.
>
>
>
> If instead you reply on a token from the Device Authority, then the CA
> will only issue a certificate to a specific party and specific device.
>
> [ofriel] The Device Authority appears to perform a similar function to the
> MASA audit log function. The Client (i.e. customer.com) can claim devices
> from the DA (via some sales channel/integration API), the DA issues JWTs
> indicating that the device is claimed by a specific Client, and ACME checks
> that the requesting Client matches that in the JWT which the DA has logged.
> The BRSKI MASA service audit logs every single domain that a device has
> registered against, and does not preclude Registrars claiming
> devices/proving ownership via some sales channel integration/API. It
> appears that this proposal is trying to address similar issues as BRSKI.
>
>
>
> Regards,
>
>  Rifaat
>
>
>
>
>