Re: [lamps] Paul Wouters' Yes on draft-ietf-lamps-documentsigning-eku-05: (with COMMENT)

Tadahiko Ito <tadahiko.ito.public@gmail.com> Sun, 25 September 2022 23:54 UTC

Return-Path: <tadahiko.ito.public@gmail.com>
X-Original-To: spasm@ietfa.amsl.com
Delivered-To: spasm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 926DEC1522D2; Sun, 25 Sep 2022 16:54:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.107
X-Spam-Level:
X-Spam-Status: No, score=-7.107 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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NHTaj_bBBmPm; Sun, 25 Sep 2022 16:54:20 -0700 (PDT)
Received: from mail-yb1-xb2b.google.com (mail-yb1-xb2b.google.com [IPv6:2607:f8b0:4864:20::b2b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 58B7BC1522C7; Sun, 25 Sep 2022 16:54:20 -0700 (PDT)
Received: by mail-yb1-xb2b.google.com with SMTP id e81so6364290ybb.13; Sun, 25 Sep 2022 16:54:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date; bh=+3Q34uM6LSa39EXh+o2QZ0H3uvQhlB6tTMt0PG/t2cM=; b=lxvgV6CzhN8dWXyIiIDqa6THsD+RzTaqx7FirW+VhGzSK1aCZLmEJjVTQNu2Z8NqGT zTtlcDwjWs+PO4u7Jt0xdQ1pla3HPnOVvNNVbeDjMZK1hfjJxL2eyNjBfFdGuWyDg2yN iLo7IkfIbqiFfT8oO9u5W0RFd0ryG6li5nXUAYIR7s2IOJGOG3Cp6jMd2CCuNE7Alt9o oGwNQG4+t7PYwjzklJwu1pXhjQ9ti1RvbrqsGmC3YbsJi7qTGQ6nl6/joqNPHX0GIx/H iF1pKkXcRBfJlR22vEXGKjvXNoiotdyuJdJlmmEcpAs2+1MvLUATo9C/ubJGY4WkLMxY tpzQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date; bh=+3Q34uM6LSa39EXh+o2QZ0H3uvQhlB6tTMt0PG/t2cM=; b=ppbrehTJ5z+O2XTBha+TeytnYXR7UcSfFQyDyhMCLm8/xl7CaQHZdZO+FmdFQ+f/e7 LiZZYrNhmTGsilXnLsB8SEzQJBkgSf7zdC+qytQSc7hEIUG/Y6uz+7AkJ5my4O1e5JoV KBBGLklSlLgEVhjAwUG1XwPonLk0Im1j9OK++6sWkXQoTfTdwwv8aWZQCVhJ48DDGgD7 9SJTZViHdBrX375Du/3Eoud0mr8hDeyN05QP+tVLrWw3T2LqMFKvZmtfWPv/iSBA0eEA jlrJw7nqpMQyDbXDcEncckw5Y08Z70PuVHzPNGd1vIgIWZWikJkKCo//ieOJHb/TckCU Ma8A==
X-Gm-Message-State: ACrzQf0OufgomfUcCBXhm6bFtdm69ezOALacE3fzcquDn6UsXcaMy/6S tu0hvomV5oNiSm45A0gTL4zThcKyFvT1qTj2k/E=
X-Google-Smtp-Source: AMsMyM7MbBPi5rcgTnPtHm/6iT5AtEl6/M6PPOTScwqHgm3NS9V0n8Q3X9SMSR1HcNI9j72O0U0XkdBeYD0qn1A8OD0=
X-Received: by 2002:a05:6902:72a:b0:6b3:a5d5:3454 with SMTP id l10-20020a056902072a00b006b3a5d53454mr18488350ybt.147.1664150058857; Sun, 25 Sep 2022 16:54:18 -0700 (PDT)
MIME-Version: 1.0
References: <166127382763.13969.2657445663675576159@ietfa.amsl.com>
In-Reply-To: <166127382763.13969.2657445663675576159@ietfa.amsl.com>
From: Tadahiko Ito <tadahiko.ito.public@gmail.com>
Date: Mon, 26 Sep 2022 08:54:07 +0900
Message-ID: <CAFTXyYDAVVBu0a0U=_iUybvKueqe1QewXcPUes49gMp1TAFG4A@mail.gmail.com>
To: Paul Wouters <paul.wouters@aiven.io>
Cc: The IESG <iesg@ietf.org>, draft-ietf-lamps-documentsigning-eku@ietf.org, lamps-chairs@ietf.org, spasm@ietf.org, housley@vigilsec.com
Content-Type: multipart/alternative; boundary="0000000000001c791705e98921b2"
Archived-At: <https://mailarchive.ietf.org/arch/msg/spasm/DiVEZwkaCGboNWlMVggP8WcSldM>
Subject: Re: [lamps] Paul Wouters' Yes on draft-ietf-lamps-documentsigning-eku-05: (with COMMENT)
X-BeenThere: spasm@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "This is a venue for discussion of doing Some Pkix And SMime \(spasm\) work." <spasm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spasm>, <mailto:spasm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spasm/>
List-Post: <mailto:spasm@ietf.org>
List-Help: <mailto:spasm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spasm>, <mailto:spasm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 25 Sep 2022 23:54:22 -0000

Hi Paul

Apologies for delay on my response.

Following are our comments and proposals.

Regards Tadahiko

> ### humans
>
>   The term "Document Signing" in this document refers to digitally
>   signing contents that are consumed by people.  To be more precise,
>   contents are intended to be shown to a person with printable or
>   displayable form by means of services or software, rather than
>   processed by machines.
>
> Is there a reason to only include human readers and not machines? Why not
> leave it to users to decide how to use this?

It is common practice that many (machine-proseccing) protocols have their
own keyPurposeId, and some policies requires use of a specific keyPurposeId
for that protocol
(we learned form problems on use of anyExtendedKeyUsage). I also support
use of a protocol-specific keyPurposeId for machine-processing protocol.
(Machines can control arbitrary number of keys automatically, so I believe
it is sound for machines to use protocol-specific key (and certificate with
protocol specific keyPurposeId)).

In the other hand, human can only control small number of keys (e.g., some
IC cards only have 3 slots, human can confuse management of card and PIN,
etc...).
So, if we require a human to use (and manage) protocol specific key (with
protocol specific keyPurposeId), that person would face bigger operational
risks.
Some developer use id-kp-emailProtection etc. as a general keyPurposeId for
human interacting protocol to avoid that risk, but it is not good practice
as we wrote on the draft.
To avoid that issue, we need general keyPurposeId for human use.

That is reason we purposely restricted this to human readers from the very
start.

> ### key usage vs KU
>
>   The EKU extension can be used in conjunction with the key usage
extension
>
> Would it make sense to call that the KU extension, or key usage (KU)
extension

It would, but interestingly enough we have never heard any one every refer
to it as the KU extension.
Two characters might be too short to identify, or "key usage" seems short
enough not to shorten...
We would like to leave that.

> ### Section 4 humans again
>
>   The signed contents of Internet-Drafts are primarily intended to be
>   consumed by people.
>
> ### RFCs is people?
>
> What is this "signed contents of Internet-Drafts" ? Should that be "signed
> contents of Documents" ?

Lars caught this too. Previously, there was a paragraph that provided
motivations - namely [RFC8358] - signing I-Ds. We changed this to
“documents” in:
https://github.com/lamps-wg/documentsigning-eku/pull/20

> ### single example?
>
>   When a single application has the capability to process various data
>   formats, the software may choose to make the excluded and permitted
>   decisions separately in accordance with the format it is handling
>   (e.g. text, pdf, etc).
>
> Why is this text in the document? It seems kinda out of scope.

I believe this is relevant with above "human cannot control arbitrary
number of key " issue.
If human were facing with software, which can handle several (protocol and)
data format, it is quite demanding for that person to choose
dataformat-specific-key.
That sentence is talking about that.
We believe it is more clear with other changes on this email and above
/pull/20.

> ### Section 6 allows squatting?
>
>   This general
>   document signing KeyPurposeId may be used as a stop-gap for those
>   that intend to define town KeyPurposeIds
>
> It seems weird for this document to say "this is for document signing,
but hey
> go squat on this value for other uses if that's convenient".

This was not our intent. I think a couple of words are missing:
s/own KeyPurposeIds/own document signing KeyPurposeId.

> ## NITS
>
> ### Section 1
>
> [RFC5280]  is a broken link

Thanks.  we will fix that.
("RFC5280" on the abstract of the MD file needed to have space between RFC
and 5280... )

> I can't parse: the usage can easily become out of control.

We will fix as below.
s/become out of control/become difficult to control

> weird use of "-" in:  use. - If the

We will drop the “-"

> Paragraph 3 in Section 1 is in its entirety hard to parse.

That paragraph is talking about somebody appropriating (or
misappropriating) an existing KeyPurposeId and what can go wrong if that
happens.
Note that a couple of companies already have document signing EKUs.

how about following sentence.

OLD:
There is no issue if the vendor-defined KeyPurposeIds are used in a PKI
governed by the vendor or a set of specific group of vendors. However, if
the KeyPurposeId is used outside of vendor governance, the usage can easily
become out of control. For instance, when the end user encounters
certificates with vendor-defined KeyPurposeIds, they might want to ask that
vendor about use of the certificate. However, if those certificates were
not governed by the KeyPurposeIds owner but by another vendor, the vender
who own the KeyPurposeIds may not able to control use, or even do not know
about the use. - If the issuance of the cert is not under the control of
the KeyPurposeIds owner, it is hard to estimate the impact of change to
made on the KeyPurposeId. Changes related to KeyPurposeIds possibly make
negative impacts that some group of people do not tolerate, and it could
become a migration agility issue.

NEW:
Vendor-defined KeyPurposeIds that are used in a PKI governed by the vendor
or a group of vendors poses no interoperability concern. Appropriating, or
misappropriating as the case may be, KeyPurposeIDs for use outside of their
originally intended vendor or group of vendors controlled environment can
introduce problems, the impact of which is difficult to determine.

> ### Section 3
>
> [RFC5280] is a broken link

Thanks. we will fix that.
("RFC5280" on the abstract of the MD file needed to have space between RFC
and 5280...)