On Thu, Dec 19, 2024 at 11:29 AM Michael Sweet <msw...@msweet.org> wrote:

> This also has huge privacy issues - it is one thing to require local
> services to be published/registered/validated locally, but quite another to
> make them globally visible (if not globally accessible).
>

You have three choices:

1) Issue a cert with a public facing DNS name, this will leak the existence
of the device.
2) Issue a wildcard certificate to the IoT device (baad!).
3) The homeowner has a private root, cross certified to a trusted root with
path constraints.

Given how we have set up transparency expectations in the WebPKI, I am
thinking the third would run into real heavy compliance issues in CABForum.
I can do that with callsigns and .mesh because its my playground and I can
make up my own rules and build the thing and run it for a time before going
to the browser providers and asking for their approval. And then they are
looking at a thing that is built and running and can understand the risks a
lot better than if I am coming to them asking for what could be a blank
check.

Keeping device names private was a huge concern in the design of trans and
I was involved in the ongoing discussions back in the day but I have been
out of that loop for almost a decade at this point and cannot remember how
they turned out, if they ever did. At any rate, I am pretty sure that the
enterprise privacy concerns raised then are no less serious than those of
the homeowner.

I am not too keen on homeowners running completely unconstrained private
CAs either. I would use threshold cryptography to split the private CA
capabilities across a device in the homeowner's network and an external
service so we get some separation of duties going on.



> Finally, this also depends on having Internet connectivity which IMHO
> makes this a non-starter, even for homes that have a dedicated Internet
> service.  For example, my Starlink service drops out regularly as
> satellites transit overhead, and cellular similarly comes and goes for a
> variety of reasons.  We need a *local* trusted authority for *local*
> services.
>

The proposal I just made only requires intermittent connectivity. Each
device has two modes of engagement:

* Onboarding / Reconfiguration, about 5 HTTP POST methods. Usually just
when the device is initially deployed and when it is disposed of.

* Certificate/key Refresh: One HTTP GET, usually every 24 hours but
certificates are valid for 6 days.

So even if you have a power outage, your system will work just fine so long
as it is less than 120 hours. And when you get power back, everything can
recover automatically.


I am all for everyone having their own private CA. In fact, that is the
model I have coded. But going through these interactions today, I can see
that I don't need it for the 1.0 version of the system which can be
dramatically less complicated with a very small reduction in functionality
and the infrastructure deployed in 1.0 enables the step up to 2.0.

We don't need to build such a scheme on the Mesh, but there are some
technical requirements that I think we would end up agreeing on:

* Use a SAML-like assertion architecture.
* Use JSON syntax for the assertions so people can read 'em.
* Use JOSE cryptographic packaging
* Use threshold cryptography for key distribution because it greatly
simplifies everything.

If you sign off on those, you are going to end up with something that looks
pretty close to the Mesh.
_______________________________________________
Acme mailing list -- acme@ietf.org
To unsubscribe send an email to acme-le...@ietf.org

Reply via email to