Re: [calsify] Roman Danyliw's Discuss on draft-ietf-calext-jscontact-09: (with DISCUSS and COMMENT)

Robert Stepanek <rsto@fastmailteam.com> Tue, 18 April 2023 08:42 UTC

Return-Path: <rsto@fastmailteam.com>
X-Original-To: calsify@ietfa.amsl.com
Delivered-To: calsify@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 96267C14CE54; Tue, 18 Apr 2023 01:42:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.097
X-Spam-Level:
X-Spam-Status: No, score=-7.097 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=fastmailteam.com header.b="KqcHrYag"; dkim=pass (2048-bit key) header.d=messagingengine.com header.b="PSqHh1ec"
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 oJRkrwROMnIy; Tue, 18 Apr 2023 01:42:11 -0700 (PDT)
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com [64.147.123.20]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 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 2A960C16950E; Tue, 18 Apr 2023 01:42:10 -0700 (PDT)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.west.internal (Postfix) with ESMTP id A5CD0320089C; Tue, 18 Apr 2023 04:42:09 -0400 (EDT)
Received: from imap43 ([10.202.2.93]) by compute3.internal (MEProxy); Tue, 18 Apr 2023 04:42:10 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= fastmailteam.com; h=cc:cc:content-type:content-type:date:date :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm1; t= 1681807329; x=1681893729; bh=Q/UeqLHGl4e7Pp+XW9pSGb2Zgr+hF+6x8zo spU4O6Cw=; b=KqcHrYagK1XEpWoRYCxF/Pvywo0uYRXhmIEVa0awOB4QjafedTf JmfoBS8LIpsB3j38QHikeNqAaIMW+4IAiLunGSgRuPGlsh4fo7k1eBe+wk1FCQyL gy6u3MIE+hCV5AYhiBK2PY7fXJpvZ9X8Oky8s+mCZHemBI3P8yBbCV55DBPVKh+U qjr+I5mfgnJcWFb/MSGDYD1YI1qgEBA0Wf0HQRsxYOKWuZzN8R++Ujk3OvmbMlaa sNXJNIUOOOthu8Bh4SQOmIzGvq+PBUJ2/B1x/OhJyZigT/T5YtyIAz6l0PeBTzcg 7w1IAT+wlZaQn4s8Donb44Ou12o3nehnHlg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm3; t=1681807329; x=1681893729; bh=Q/UeqLHGl4e7P p+XW9pSGb2Zgr+hF+6x8zospU4O6Cw=; b=PSqHh1ec78hGXQNCzn3rcprxWXrVJ w8qRJ2FwPBYQab63vbahpMst20kdDbREqK1TJcIILWtr6GZBbKYJ+dZzyLn5u21Y n/OmQ+sLRucQbo/qC3XluTfBPHgeTtVqGRp1a0NxSZgC0MDszd+7bnxE0Zkxpg5l eg4O5S9H1ZV9Av9pAgJFyWVvDIy4L616FRBxaqs+1DEkD+Ab9wVePt2PlueLrNOf rJ5mHqvNYgvvPV29lZxdacX6P42SkgzljmsvdYL4EVOQravlgvY1y9b7YAyMHTWr 1omJK+cBVVp2Z4cadyI0SPgCEmi5iyQRs/MDwFCKiv4XuBuVhMQrs66EA==
X-ME-Sender: <xms:4Vc-ZCkK0C0eZJ_pR3x9V9CpkJw_r9Sipgkr_651kt_8Vuw8yBIVPQ> <xme:4Vc-ZJ1Fd54pYUgSCxot8oMoQJUzjGXayFeOqveVlFtMf3wY56Xsq1QomXUmqFhJh s4o5WqlFiI_0g>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdelkedgtdekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvfevufgtsegrtderreerreejnecuhfhrohhmpedftfho sggvrhhtucfuthgvphgrnhgvkhdfuceorhhsthhosehfrghsthhmrghilhhtvggrmhdrtg homheqnecuggftrfgrthhtvghrnhepveetheevveehleeugfehfeefteevjeetieejteet tedtieehleffueeiveeugeegnecuffhomhgrihhnpehirghnrgdrohhrghdphhhtthhprd hinhenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehr shhtohesfhgrshhtmhgrihhlthgvrghmrdgtohhm
X-ME-Proxy: <xmx:4Vc-ZAoKcOvEJI-jmfeMPCjGA0rybzd1KBNECKPAUu4uMimC23AmRg> <xmx:4Vc-ZGmu1Bna_ZUbABAGPNec7h0If0W-UXmuBGGjTEU1eSxE4KKb-w> <xmx:4Vc-ZA1dUCfAuiV_iflNkbARtccnvLRHAgKm4y6xRaVXyg27ELve4g> <xmx:4Vc-ZNxuIMadl6lV31pHykfsFSbiJQDIYx-igS0g5ltqbEO1Rm1SQA>
Feedback-ID: ia5d944da:Fastmail
Received: by mailuser.nyi.internal (Postfix, from userid 501) id F26E82D4007D; Tue, 18 Apr 2023 04:42:08 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.9.0-alpha0-372-g43825cb665-fm-20230411.003-g43825cb6
Mime-Version: 1.0
Message-Id: <0c4adcf5-7ce8-400d-8bfc-14da5be57c86@app.fastmail.com>
In-Reply-To: <168118260036.32336.8758000080460108503@ietfa.amsl.com>
References: <168118260036.32336.8758000080460108503@ietfa.amsl.com>
Date: Tue, 18 Apr 2023 10:41:47 +0200
From: Robert Stepanek <rsto@fastmailteam.com>
To: Roman Danyliw <rdd@cert.org>, The IESG <iesg@ietf.org>
Cc: draft-ietf-calext-jscontact@ietf.org, calext-chairs@ietf.org, calsify@ietf.org, Daniel Migault <mglt.ietf@gmail.com>
Content-Type: multipart/alternative; boundary="5c2676ff6cb24ae4821322d8db22c15b"
Archived-At: <https://mailarchive.ietf.org/arch/msg/calsify/Uphpc3p3AL7lGKhrIcFzpclV18c>
Subject: Re: [calsify] Roman Danyliw's Discuss on draft-ietf-calext-jscontact-09: (with DISCUSS and COMMENT)
X-BeenThere: calsify@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Calendaring and Scheduling Standards Simplification <calsify.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/calsify>, <mailto:calsify-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/calsify/>
List-Post: <mailto:calsify@ietf.org>
List-Help: <mailto:calsify-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/calsify>, <mailto:calsify-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 18 Apr 2023 08:42:16 -0000

Hi Roman,

thanks for your feedback. We have updated the document accordingly and will publish the new version soon. Please see below for details.

Regards,
Robert

On Tue, Apr 11, 2023, at 5:10 AM, Roman Danyliw via Datatracker wrote:
> ----------------------------------------------------------------------
> DISCUSS:
> ----------------------------------------------------------------------
> 
> ** Section 1.9.1.
>    The vendor-specific prefix SHOULD be a domain name under control of
>    the service or application that sets the property, but it need not
>    resolve in the Domain Name System [RFC1034] and [RFC1035].
> 
> How are vendor-specific prefixes intended to avoid collision if there is no
> mandatory, collision free algorithm to avoid it?

We changed SHOULD to MUST. This now also aligns with the definitions of RFC 8984.

> 
> ** Thank you for the thoughtful and detailed guidance to the designated expert
> with an eye towards long term flexible and extensibility in the ecosystem.
> 
> I see two inconsistencies in the registration guidance.
> 
> -- “Intended usage” field changes the registration behavior:
> 
> (a) Section 4.3 says:
>    This registry follows the Expert Review process ([RFC8126],
>    Section 4.5).
> 
> (b) Section 4.3 says:
>    If the "Intended Usage" field is common, sufficient
>    documentation is required to enable interoperability.  Preliminary
>    community review for this registry is optional but strongly
>    encouraged.
> 
> (c) Section 4.3.3 says:
>    For a common-use registration, the DE is
>    expected to confirm that suitable documentation, as described in
>    Section 4.6 of [RFC8126], is available to ensure interoperability.
> 
> Text-(a) establishes a DE registration policy.  However, the subsequent text in
> (b) and (c) is effectively saying that the registry has different registration
> practices depending on the value of the “intended usage” field.  If “intended
> usage” = “common”, then the registration policy is “Specification Required”
> (where a DE review is required, and a stable reference is needed).  It isn’t
> uncommon for a collection of code points in a single registry to have different
> registration practices (e.g.,
> https://www.iana.org/assignments/cose/cose.xhtml#key-common-parameters).  Why
> not be explicit here?
and
> 
> -- @version/Table 6.
> 
> Section 1.7.2. says:
>   If Expert Review or the IETF working group decides that a new major JSContact
>   version is required, a new standard RFC document MUST be published. Such an
>   RFC document MUST specify all changes to the former JSContact version. An RFC
>   document is not required to change the minor JSContact version.
> 
> Doesn’t this imply that registration policy of this subregistry is:
> Specification Required for new minor versions; and major versions are Standards
> Action (per Section 4.9 of RFC8126) + Expert Review?

Fixed, we updated this to say: major version changes requires Expert Review + Standards Action. Other changes require Expert Review, optionally amended by Specification Request at the discretion of the Designated Expert.

> 
> 
> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
> 
> Thank you to Derek Atkins for the SECDIR review.
> 
> ** Section 1.7.2
>    If Expert Review or the IETF working group decides that a new major
>    JSContact version is required, a new standard RFC document MUST be
>    published.  Such an RFC document MUST specify all changes to the
>    former JSContact version.  An RFC document is not required to change
>    the minor JSContact version.
> 
> -- Is “new standard RFC document” the same as “new standards-track or BCP RFC
> document” (i.e., per Section 4.9 of RFC8126)?

Fixed. We require Standards Action.

> 
> -- Is this decision of the Expert Reviewer envisioned after CALEXT closes? 
> Could there be a situation where the Expert Reviewer and the WG disagree?

The Designated Expert is expected to be a member of CALEXT, which maintains this and other contact related RFCs. The Expert has the final say to say which registry policy applies, but if a new standard RFC is required then the regular IETF processes apply. Otherwise the Expert has the final say.

> 
> ** Section 1.8
>    If a JSContact object is valid,
>    implementations MUST preserve all its properties.
> 
> What does “preserve all … properties” mean in this context?  This section seems
> to be about validating of the document.  Is this the same as the text is
> Section 1.8.2?

Fixed - removed from that section.

> 
> ** Section 1.8.2.
> 
> (a)
> 
>    Implementations may encounter JSContact data where a property name is
>    unknown to that implementation, but the name adheres to the
>    restrictions of an IANA-registered property.
> 
> (b)
>    Implementations
>    that create or update JSContact data MUST only set IANA-registered
>    properties or vendor-specific properties,
> 
> (c) ... but MUST preserve any
>      already existing unknown properties.
> 
> Per (c), what are these properties are being noted that aren’t those defined in
> (a), which is covered with the behavior described in (b).

The properties of (a) were meant in (c). We rephrased the text to make that clear.

> 
> ** Section 1.9.  Editorial.
>    Typically, sending a short description to the IETF working
>    group mailing list is enough for Expert Review to make a decision.
> 
> Recommend dropping this sentence.  There appears to be significant nuance in
> Section 4’s registration practices.  Instead of re-stating, the reference here
> works.

Fixed.

> 
> ** Section 1.9.1
>    They MUST NOT reject the
>    property value as invalid, unless they are in control of the vendor-
>    specific property.
> 
> What does it mean to “control” the vendor-specific property?

"Control" means to control the domain name that is part of the vendor-specific property name (where it being a domain name now is a mandatory requirement). We clarified this section.

> 
> ** Section 2.2.2.
>       This
>       specification does not mandate how to do this but recommends the
>       following: If at least one of two adjacent name components is of
>       type separator then implementations SHOULD join their values
>       without any additional character.
> 
> This mixing of lower-case RFC2119 words which claims that there is no normative
> guidance, followed by a (lower-case) recommendation that has normative guidance
> requires refinement.

Fixed. We removed the first sentence up to the colon.

> 
> ** Section 2.3.2. Editorial.
>      This SHOULD be the canonical service name including
>       capitalization.
> 
> I don’t have better language.  However, I’m unsure what makes something
> “canonical” in naming the service.  Consider if that particular word is needed.

Fixed. We removed "canonical".

> 
> ** Section 23.  Figure 23.  The examples here are clear.  Is serving .ics or
> .ifb over FTP common?  Consider replacing this with a protocol which provides
> confidentiality and integrity.

Fixed. This was just copied over from RFC 6350. We now chose "webcal" and "https".

> 
> ** Section 2.5.1.  Editorial. Per timeZone, consider if the IANA Time Zone
> Database should be made a normative reference.

Fixed.

> 
> ** Section 2.6.1.  Additional flexibility in cryptoKeys seems like it would
> helpful.  For consideration:
> 
> -- Supporting a “kind” property to allow specific typing of a public key vs.
> certificate, or even supporting a shared symmetric secret?
> -- Supporting @context here?

The CryptoResource already includes all properties the Resource object (section 1.5.4). This includes the "kind" and "contexts" properties. We refrained from enumerating any "kind" values, though. This would require us to also define new vCard parameters for the vCard KEY property definition (RFC 6350, section 6.8.1). We think that this requires more expertise and work from security experts and should not be part of our RFC.

> -- Is it possible associate a given cryptoKey with a particular email address?

No. We only added cryptographic support to JSContact to allow preserving existing vCard elements. This is because we think that any additions in that area should be worked out by security experts.

> -- Inline support for a certificate or symmetric key.  It could be as simple as
> reminding the readers of the data:// scheme (RFC3986) with text or an example;
> or a native property.

We added an example for the "data:" scheme.

> ** Section 2.6.1.  Figure 26.  The example proposes to retrieve a certificate
> (judging from the .cer file extensions) over HTTP.  In the general case, this
> doesn’t seem like a good idea.  Please use the https:// scheme.

Fixed. We updated all examples to use https rather than http.