[Ssh] Re: I-D Action: draft-ietf-sshm-cert-00.txt

Damien Miller <djm@mindrot.org> Mon, 27 April 2026 21:53 UTC

Return-Path: <djm@mindrot.org>
X-Original-To: ssh@mail2.ietf.org
Delivered-To: ssh@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id A80A7E4365E5; Mon, 27 Apr 2026 14:53:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1777326827; bh=mp5LFBo+JQ0XoxUPthZSZ4Qf0/25/15Epb20l0Ndn+8=; h=Date:From:To:cc:Subject:In-Reply-To:References; b=WfGm5KQFxBgMq3m7C3kXLCx/ZMwRsNJPEQm/puUyJGJs1Nzt6qoh/vnd0ncgfPZu3 OADgOTgcDsh9vjcUeuYPkjlXveKK3eeOVbkk3Qw+0QA8XIbFCAhA6tX+cv912bdWp1 9jg/WHXLtI4tW2JR/KsDqWpVbH6lVqkyvwJG/R3A=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WJw16gcSAdbI; Mon, 27 Apr 2026 14:53:46 -0700 (PDT)
Received: from plane.compute.dc.uq.edu.au (plane.compute.dc.uq.edu.au [130.102.188.57]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id C37F4E4365E0; Mon, 27 Apr 2026 14:53:45 -0700 (PDT)
Received: from smtp2.compute.dc.uq.edu.au (smtp2.compute.dc.uq.edu.au [10.208.138.89]) by plane.compute.dc.uq.edu.au (8.14.5/8.14.5) with ESMTP id 63RLrhbN023239; Tue, 28 Apr 2026 07:53:43 +1000
Received: from mailhub.eait.uq.edu.au (hazel.eait.uq.edu.au [130.102.60.17]) by smtp2.compute.dc.uq.edu.au (8.14.5/8.14.5) with ESMTP id 63RLrhnD023190 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 28 Apr 2026 07:53:43 +1000
Received: from haru.mindrot.org (haru.mindrot.org [130.102.96.5]) by mailhub.eait.uq.edu.au (8.15.1/8.15.1) with ESMTPS id 63RLrgvq021800 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Tue, 28 Apr 2026 07:53:43 +1000 (AEST)
Received: from localhost (localhost [127.0.0.1]) by haru.mindrot.org (OpenSMTPD) with ESMTP id ab7a08aa; Tue, 28 Apr 2026 07:53:42 +1000 (AEST)
Date: Tue, 28 Apr 2026 07:53:42 +1000
From: Damien Miller <djm@mindrot.org>
To: Peter Gutmann <pgut001=40cs.auckland.ac.nz@dmarc.ietf.org>
In-Reply-To: <SYBPR01MB63364A2DEDEF992FB89A09D8EE292@SYBPR01MB6336.ausprd01.prod.outlook.com>
Message-ID: <60d035a0-f225-0363-d1cc-2e33c78b33b6@mindrot.org>
References: <177694026124.1167663.14342393855069278288@dt-datatracker-b45949c58-5szpr> <MEAPR01MB3654F1EF26DA7E72A3F96E21EE2B2@MEAPR01MB3654.ausprd01.prod.outlook.com> <0652efc5-2e94-6812-1b3c-34280ab05b7b@mindrot.org> <SYBPR01MB63364A2DEDEF992FB89A09D8EE292@SYBPR01MB6336.ausprd01.prod.outlook.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"
x-ms-reactions: disallow
X-Scanned-By: MIMEDefang 2.75 on 130.102.60.17
Message-ID-Hash: HKPYELIGZQHGICMU5XMZNVDJWEI5Y762
X-Message-ID-Hash: HKPYELIGZQHGICMU5XMZNVDJWEI5Y762
X-MailFrom: djm@mindrot.org
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: "ssh@ietf.org" <ssh@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Ssh] Re: I-D Action: draft-ietf-sshm-cert-00.txt
List-Id: "The SSH mail list will allow discussions on improving aspects of the Secure Shell (SSH) protocol." <ssh.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/ssh/mfFgb9OGw98f9oKXjeMzW7KuGeY>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ssh>
List-Help: <mailto:ssh-request@ietf.org?subject=help>
List-Owner: <mailto:ssh-owner@ietf.org>
List-Post: <mailto:ssh@ietf.org>
List-Subscribe: <mailto:ssh-join@ietf.org>
List-Unsubscribe: <mailto:ssh-leave@ietf.org>

On Sun, 26 Apr 2026, Peter Gutmann wrote:

> Damien Miller <djm@mindrot.org> writes:
> 
> >It doesn't "re-encode" X.509 for SSH. It's a radically more simple format
> 
> How is this:
> 
>     string              key type
>     string              nonce
>     byte[]              public key fields
>     uint64              serial number
>     uint32              certificate role
>     string              identifier
>     string              principals
>     uint64              valid after
>     uint64              valid before
>     string              critical options
>     string              extensions
>     string              reserved
>     string              signature key
>     string              signature
> 
> Not just this:
> 
> 	Certificate ::= SEQUENCE {
> 		SEQUENCE {
> 			version			  [ 0 ]	EXPLICIT INTEGER DEFAULT(0),
> 			serialNumber			INTEGER,
> 			signature				AlgorithmIdentifier,
> 			issuer					Name
> 			validity				Validity,
> 			subject					Name,
> 			subjectPublicKeyInfo	SubjectPublicKeyInfo,
> 			extensions		  [ 3 ]	Extensions OPTIONAL
> 			}
> 		signatureAlgorithm	AlgorithmIdentifier,
> 		signature			BIT STRING
> 		}
> 
> re-encoded in SSH format?  But you don't have to take my word for it, show the
> SSH form to anyone with exposure to X.509, so who knows what the fields in the
> cert are, and ask them what they think of it.

Well, for a start you've skipped a bunch of fields that are specified to
be in X.509 but are absent in your description of a X.509 certificate
(compare RFC 5280 section 4 to what you wrote above).

Secondly, your description omits the very significant complexity that lies
behind several of the specified fields, e.g. Issuer (RFC 5280 section
4.1.2.4), that doesn't exist in the SSH certificate format. This format
certainly doesn't offer a menu of five different string encodings for
principal names.

> >that has been in use for ~16 years and is supported by a number of SSH and CA
> >products.
> 
> Then it should say that, "this draft exists to document existing practice",
> not, in effect, "this draft proposes a new certificate format for SSH".

I'll happily accept feedback here but nowhere in the introduction presents
this as a new format and the fairly extensive "Implementation Status" section
provides a detailed timeline of how it is not.

-d