Re: [netconf] [lamps] [Anima] Long-lived certificates, but frequently renewed certificates

Nico Williams <> Thu, 18 March 2021 19:12 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 729543A3211; Thu, 18 Mar 2021 12:12:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.1
X-Spam-Status: No, score=-2.1 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id a2dQJ4esWnZF; Thu, 18 Mar 2021 12:12:13 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 468143A320D; Thu, 18 Mar 2021 12:12:13 -0700 (PDT)
X-Sender-Id: dreamhost|x-authsender|
Received: from (localhost []) by (Postfix) with ESMTP id 0CC2C341ED3; Thu, 18 Mar 2021 19:12:12 +0000 (UTC)
Received: from (100-96-17-75.trex.outbound.svc.cluster.local []) (Authenticated sender: dreamhost) by (Postfix) with ESMTPA id 837B5341AE3; Thu, 18 Mar 2021 19:12:11 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384) by (trex/6.1.1); Thu, 18 Mar 2021 19:12:11 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|
X-MailChannels-Auth-Id: dreamhost
X-Shoe-Illustrious: 4bfd262a517ab8c1_1616094731828_4169850356
X-MC-Loop-Signature: 1616094731828:311727433
X-MC-Ingress-Time: 1616094731828
Received: from (localhost []) by (Postfix) with ESMTP id 475D17E694; Thu, 18 Mar 2021 12:12:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed;; h=date :from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to;; bh=49l89RZncjak+w +g/fOJduOZoK0=; b=aZbNVoZTQTfdBMSywU7obqzr2tGt/hiuznpie8UKB/wFK9 gPdV1cPuNTapI5+qfnGXs+dNDfo5uHoXMXKxvHTCdZXlqbSXGsipKTgB6u0MBKac InuJAmyA+0EX3cdf/XcGpvAq+xQAMBjjVifWX+cjHAtRJD9t1eGuFldv2lpiY=
Received: from localhost (unknown []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: by (Postfix) with ESMTPSA id 982118331F; Thu, 18 Mar 2021 12:12:08 -0700 (PDT)
Date: Thu, 18 Mar 2021 14:12:05 -0500
X-DH-BACKEND: pdx1-sub0-mail-a17
From: Nico Williams <>
To: Michael Richardson <>
Cc: Toerless Eckert <>,,,
Message-ID: <20210318191205.GO30153@localhost>
References: <> <20210318183001.GN30153@localhost> <2113.1616093888@localhost>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <2113.1616093888@localhost>
User-Agent: Mutt/1.9.4 (2018-02-28)
Archived-At: <>
Subject: Re: [netconf] [lamps] [Anima] Long-lived certificates, but frequently renewed certificates
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETCONF WG list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 18 Mar 2021 19:12:16 -0000

On Thu, Mar 18, 2021 at 02:58:08PM -0400, Michael Richardson wrote:
> A pity that EST (and I think SCEP, but I haven't read it all), just returns
> the resulting certificate, and not something more useful, like a JSON dict
> that includes the certificate.

But you can always send this kind of metadata in response headers.

> If the whole thing was more RESTful, then holders could be told to GET their
> certificate from some place, and we could use ETag, and Expiry headers to
> tell the holder that it hasn't changed, and isn't expected to change for
> awhile, so piss off and come back then.

Yes, why not.

A client that wants a certificate renewed too soon is not really a
problem, unless it's abusive.  But how would a _stateless_ CA know a
client is being abusive other than by how soon the client is back?

Still, suppose some supplicant has a valid certificate and some RP balks
and says "come back with a fresher certificate"?  What if this happens
before 50% of the original certificate lifetime is up?

I think "too soon" might best be defined as after 25% or less of the
original certificate lifetime has passed since issuance.  But then, I
don't run massively popular public online CAs.

> I'm much less concerned about the RP here.
> The reason to issue long lifetime certificates is that things don't break
> just because some less critical infrastructure is not alive, or not reachable.
> Our reference example/use case in brski-async-enroll is communication between
> thermostats and furnaces in a (newly built) residence.
> The furnace needs to heat keep the home above zero even when the house is not
> occupied, and possibly has not yet been occupied.

In a small enough network like a home network, I would think that
forever credentials + revocation is the best answer.

> Maybe abuse of the certificate renewal process is the wrong way to accomplish
> transfers of ownership.

I think next time I move I'll rip out all the thermostats and replace
them with new ones to my preference :)  But yes, I suspect there will
come a time when there are many computers (and much firmware) in a home
just as in motor vehicles, many/most/all not serviceable or replaceable
by the "owner".