[Settle] Re: Deployment experience - public CA certs for LAN devices (devicessl)

Michael Sweet <msweet@msweet.org> Fri, 25 September 2026 15:31 UTC

Received: from mail.msweet.org (mail.msweet.org [173.255.209.91]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx.ietf.org (Postfix) with ESMTPS id EC47031 for <settle@ietf.org>; Fri, 25 Sep 2026 15:31:04 +0000 (UTC)
Authentication-Results: mx.ietf.org; dkim=pass header.d=msweet.org header.s=default header.b=tPH159Gp; dmarc=pass (policy=quarantine) header.from=msweet.org; spf=pass (mx.ietf.org: domain of msweet@msweet.org designates 173.255.209.91 as permitted sender) smtp.mailfrom=msweet@msweet.org
Received: from smtpclient.apple (cbl-66-186-76-47.vianet.ca [66.186.76.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.msweet.org (Postfix) with ESMTPSA id DA5D780F07; Fri, 25 Sep 2026 15:31:03 +0000 (UTC)
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.msweet.org DA5D780F07
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=msweet.org; s=default; t=1790350264; bh=tzgkQL0L97iPP8GdIJOoPL5GhEDREbk4UosCU9M2KhQ=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=tPH159Gp7Pkw/ViSsEI666aoMphEzu/NM5yem6VGsYaUTB6BVuIt396vg7BB9EY+S tsjk6NVniEDUVSn0DRkI4jFmZwj1Z7uhZ7Kh2zg0Ni3AsRCf+OVp9k/s9Pd2kShoa8 L7QWnYl3s1aHbw4H1vCQVYl+xLYiSzK9iyozOo94=
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3901.100.1.1.11\))
From: Michael Sweet <msweet@msweet.org>
In-Reply-To: <CA+c7DyX9TqXBoD9+juTWnkXLVsxwDL83NE0TGH9dy2Ly+jZaKg@mail.gmail.com>
Date: Fri, 25 Sep 2026 11:30:52 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <BBFA2F87-6205-4AA0-B8F8-BDA00D7C3559@msweet.org>
References: <CA+c7DyX9TqXBoD9+juTWnkXLVsxwDL83NE0TGH9dy2Ly+jZaKg@mail.gmail.com>
To: Adam Raźniewski <adam.razniewski=40adaraz.com@dmarc.ietf.org>
X-Mailer: Apple Mail (2.3901.100.1.1.11)
X-Spamd-Bar: /
Message-ID-Hash: MEHDGQGTUSBCABBG4DFDPQPCB6BE7ENK
X-Message-ID-Hash: MEHDGQGTUSBCABBG4DFDPQPCB6BE7ENK
X-MailFrom: msweet@msweet.org
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: settle@ietf.org
X-Mailman-Version: 3.3.10
Precedence: list
Subject: [Settle] Re: Deployment experience - public CA certs for LAN devices (devicessl)
List-Id: "SEcure access To Tls Local rEsources. To discuss non-PKI methods of identifying and authenticating to TLS endpoints in a local domain." <settle.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/settle/gBGVdkfmRJjm8gotVC7CDz_2iw0>
List-Archive: <https://mailarchive.ietf.org/arch/browse/settle>
List-Help: <mailto:settle-request@ietf.org?subject=help>
List-Owner: <mailto:settle-owner@ietf.org>
List-Post: <mailto:settle@ietf.org>
List-Subscribe: <mailto:settle-join@ietf.org>
List-Unsubscribe: <mailto:settle-leave@ietf.org>

Adam,

Thank you for reaching out.  This is exactly the problem SETTLE hopes to solve...

> On Sep 25, 2026, at 10:10 AM, Adam Raźniewski <adam.razniewski=40adaraz.com@dmarc.ietf.org> wrote:
> ...
> We built our own thing, to somehow WORKAROUND a problem.
> But from user perspective and user experience to be honest it's... You know the word (bad at least).
> a) every device has its own zone <device-id>.d.devicessl.com
> b) device generates its key itself, sends only CSR
> c) we do DNS-01 on our own DNS and get Let's Encrypt wildcard *.<device-id>.d.devicessl.com
> d) private IP is encoded in the name, e.g. 192-168-1-50.<device-id>.d.devicessl.com
> 
> So it results in "green" padlock on 192-168-1-50.DEVICE_ID.d.devicessl.com

That's a creative way to get around the local hostname/IP changing, and presumably your DNS server just returns an A record for the given FQDN to make it all work?

> ...
> Also, today we can't even properly use mDNS in the local network. Our devices announce themselves as e.g. rcp-a1b2c3d4.local, which is the most natural way to find a device on a LAN. But we can never open it over HTTPS with a valid cert, because no public CA will issue a certificate for .local. So the "nice" local name is exactly the one that can never be secure.

That was the point of my IoT-ACME draft:

    https://datatracker.ietf.org/doc/draft-sweet-iot-acme/

TL;DR: Your Wi-Fi router would provide a local ACME server that is used to generate certs for your local domain and/or mDNS.

Fixing this properly requires some coordination amongst the various client OS and router developers, along with (of course) the IoT devices themselves using the local ACME service to get their certs.  And there are security issues WRT secure/verifiable device identity to solve.

________________________
Michael Sweet