Re: [mile] Artart last call review of draft-ietf-mile-rolie-10

"Banghart, Stephen A. (Fed)" <stephen.banghart@nist.gov> Thu, 19 October 2017 16:24 UTC

Return-Path: <stephen.banghart@nist.gov>
X-Original-To: mile@ietfa.amsl.com
Delivered-To: mile@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B6D2813235C; Thu, 19 Oct 2017 09:24:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nistgov.onmicrosoft.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pYf4dSgsRMam; Thu, 19 Oct 2017 09:24:17 -0700 (PDT)
Received: from gcc01-dm2-obe.outbound.protection.outlook.com (mail-dm2gcc01on0125.outbound.protection.outlook.com [23.103.201.125]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AAEA713263F; Thu, 19 Oct 2017 09:24:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nistgov.onmicrosoft.com; s=selector1-nist-gov; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=8rdIIJ2ehxTBsUl9d09E/T85YGYxvy4KodQRjql2d5E=; b=hnBSYSu690Y2RQ2LZmYQocYMpeGDs16jFza3zI7zs/HZ4w+4rueCF1QLxmPdJSYbH8Ryk3isARsoPsCUvvZNVCUF6hfOvh9BvfB8LpqnUlAQ1Lrgh8Hapnr5jt/FB3VIoKSqcNwWEr3Tu+zx1EdscKocOhbvJyGCO73RxIshNno=
Received: from DM5PR09MB1307.namprd09.prod.outlook.com (10.172.34.141) by DM5PR09MB1308.namprd09.prod.outlook.com (10.172.35.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7; Thu, 19 Oct 2017 16:24:15 +0000
Received: from DM5PR09MB1307.namprd09.prod.outlook.com ([10.172.34.141]) by DM5PR09MB1307.namprd09.prod.outlook.com ([10.172.34.141]) with mapi id 15.20.0077.023; Thu, 19 Oct 2017 16:24:15 +0000
From: "Banghart, Stephen A. (Fed)" <stephen.banghart@nist.gov>
To: Martin Thomson <martin.thomson@gmail.com>
CC: "mile@ietf.org" <mile@ietf.org>, "draft-ietf-mile-rolie.all@ietf.org" <draft-ietf-mile-rolie.all@ietf.org>
Thread-Topic: [mile] Artart last call review of draft-ietf-mile-rolie-10
Thread-Index: AQHTQLy5EiZhxIKVNkSNg/Bn547ThKLrUSVQ
Date: Thu, 19 Oct 2017 16:24:15 +0000
Message-ID: <DM5PR09MB13070FC0B54EB6DB8C707EE7F0420@DM5PR09MB1307.namprd09.prod.outlook.com>
References: <150752570618.18384.5615358468704377459@ietfa.amsl.com>
In-Reply-To: <150752570618.18384.5615358468704377459@ietfa.amsl.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=stephen.banghart@nist.gov;
x-originating-ip: [129.6.219.21]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; DM5PR09MB1308; 6:SSiQXlia3Vmx2nE4+xw5FqlFzTCGg8rsSvokYAHB7VuDNYXyxg8sE09CidtqbftjyFSGbuhNXoWZiei5Hyoo1Abcn2hlu8QABUnZmQLuQuSbHVJCYd1mCPtLXT8EpGOFx8tBAGkkpdyHVPvel8Fhd5loAfAQ3y0z60QdiMyYVVsEDu1e8ToVvbW8HQwChIsMmM9Ktfwn33x29XH2/2oEzaOhsHZi7JfmWFlFC3MuvQXHcADGsMMCVjAD/8HWDvTr2LECr7/puEA2eZlhhI8k/ejif/5KCtjBbIigJdASxVtdftww9STuRSiDCCf5VbyqAHX/Jx56WdK3FiXC1dmazA==; 5:MP75ip/2koWjQ3Y3K9Urtfh6GVMlckT/K7Fq7C7603rURJNg643En2ZbE6tRt51xzAqS5bDoxVt5Vi/PyFs9BxE9wXqzqpdbiM4hMYGdCD/edHfWfgZg0CTaez0OQ1uGPe4NpcruD5bQcQAggSczVQ==; 24:eXigkGwPs+DdRP40Kb16BkyA9JFZnI0f0LdX3nwU/EdWck+ZoM+fadSMyd1qfid96NSnwaF1wldN8ojfn8zm7tvBX4O9byjzQaQkZHf0FkQ=; 7:vMldfDE7Nng1+1nH1ZILKHasN0PHTv/1VJ/N0B37Z30uQhoGq12hYih4CoHIiHmSLQ9AShVysL0eDzjzdVSln+2oiNk4X5CZktETY9hOGA/5S6/sTaA5fLCPezddwIWWthQ9tcHaqI+LzpEmjV6BJTR02tUQEPswWB4M7+Asq/rvUnxaZyJN6zrzWMidx6GBucUR76wP4WquXrJSwDCGovDWk7iNqVsRlr31vovagM0=
x-ms-exchange-antispam-srfa-diagnostics: SSOS;
x-ms-office365-filtering-correlation-id: 2820d37e-9b7f-4597-1158-08d5170dd765
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254152)(48565401081)(2017052603199)(201703131423075)(201703031133081)(201702281549075); SRVR:DM5PR09MB1308;
x-ms-traffictypediagnostic: DM5PR09MB1308:
x-exchange-antispam-report-test: UriScan:(158342451672863)(192374486261705)(189930954265078)(131327999870524)(150554046322364)(788757137089)(219752817060721);
x-microsoft-antispam-prvs: <DM5PR09MB1308A27729AACD8ED61CD4FCF0420@DM5PR09MB1308.namprd09.prod.outlook.com>
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(100000703101)(100105400095)(3002001)(93006095)(93001095)(10201501046)(6055026)(6041248)(20161123562025)(20161123558100)(20161123564025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DM5PR09MB1308; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DM5PR09MB1308;
x-forefront-prvs: 0465429B7F
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(346002)(39860400002)(376002)(13464003)(199003)(43784003)(51444003)(189002)(53546010)(2906002)(8936002)(66066001)(97736004)(3660700001)(33656002)(5660300001)(25786009)(966005)(99286003)(478600001)(53936002)(6306002)(6246003)(54906003)(9686003)(316002)(39060400002)(55016002)(45080400002)(4326008)(86362001)(230783001)(74316002)(189998001)(7736002)(101416001)(14454004)(50986999)(54356999)(76176999)(2900100001)(3846002)(106356001)(305945005)(105586002)(6116002)(102836003)(6916009)(6436002)(6506006)(229853002)(77096006)(81166006)(81156014)(2950100002)(8676002)(7696004)(3280700002)(68736007); DIR:OUT; SFP:1102; SCL:1; SRVR:DM5PR09MB1308; H:DM5PR09MB1307.namprd09.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en;
received-spf: None (protection.outlook.com: nist.gov does not designate permitted sender hosts)
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: nist.gov
X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Oct 2017 16:24:15.7438 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2ab5d82f-d8fa-4797-a93e-054655c61dec
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR09MB1308
Archived-At: <https://mailarchive.ietf.org/arch/msg/mile/wgkOTkO4YJeVlZD-gj1VC3FcAg4>
Subject: Re: [mile] Artart last call review of draft-ietf-mile-rolie-10
X-BeenThere: mile@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "Managed Incident Lightweight Exchange, IODEF extensions and RID exchanges" <mile.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mile>, <mailto:mile-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mile/>
List-Post: <mailto:mile@ietf.org>
List-Help: <mailto:mile-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mile>, <mailto:mile-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 19 Oct 2017 16:24:22 -0000

Martin,

I've put the rest of my comments inline, and uploaded a -11 version of ROLIE to the Github with the changes. Providing there are no additional major comments I'll post this version to datatracker today.

Thanks again for the great review,
Stephen

> -----Original Message-----
> From: mile [mailto:mile-bounces@ietf.org] On Behalf Of Martin Thomson
> Sent: Monday, October 09, 2017 1:08 AM
> To: art@ietf.org
> Cc: mile@ietf.org; ietf@ietf.org; draft-ietf-mile-rolie.all@ietf.org
> Subject: [mile] Artart last call review of draft-ietf-mile-rolie-10
> 
> Reviewer: Martin Thomson
> Review result: Almost Ready
> 
> I have reviewed this document, and - despite what appears to be a lengthy
> list of issues - I think that it is in pretty good shape.  It's clear, readable, and
> addresses the requirements well.  Most of my comments should be trivial to
> resolve.
> 
> Major:
> 
> The decision to define a .well-known URI without a discovery story is - in my
> opinion - inadvisable.  Such a registration is usually appropriate if you design a
> protocol that depends on discovery by hostname and port.  As such, this
> does not use that at all.  A configuration system can (and should) accept a
> complete URI for the service endpoint.  It would be better to defer creation
> of yet another .well-known URI registration until the working group is certain
> that discovery requires it.

Discussed in a separate thread.

> The same comment applies to the .well-known resource for the category
> document.
>  Given that this sort of document is readily discoverable via the service
> document, I would say that the need for a .well-known resource is less well-
> justified than the service document.

We agree, removed the registration for the category document location.

> The requirements in Section 5.3 on TLS use are unnecessarily strict.  It's great
> to recommend the use of TLS 1.2, but given that the document has no real
> requirement on any particular version of TLS, the use of "MUST" here is not
> needed.  Similarly, the prohibition on the use of 0-RTT is groundless.  The
> lengthy list of requirements around certificate validation only risk creating a
> conflict with advice in other RFCs.  Many, if not all, of these requirements are
> transitively included by way of referencing HTTPS documents.  I would prefer
> to see this entire section reduced to a simple RFC 7525 reference.

The majority of the section has been reduced to a RFC 7525 reference. We believe that the benefits provided by 0-RTT don't outweigh the loss of forward secrecy. The text currently places this as a suggestion from the authors, and not a normative requirement.

> User authentication is under-specified.

As any repository using user authentication is already inherently pre-communicating with its consumers, we felt that underspecifying authentication mechanisms allowed for each sharing consortium to control their own repositories. Whatever system they are using already for internal/external sharing authentication can be used here as long as it meets the ROLIE requirements.

> * Section 5.3 mandates the use of TLS cipher suites that support client
> authentication using certificates, but offers no further advice.  Aside from
> being an unnecessary requirement - cipher suites that support certificate-
> based authentication of servers all allow for client authentication - this sort of
> requirement is rarely sufficient for interoperation.  For instance, you need to
> specify how a server will request a certificate such that clients can select the
> correct certificate.  If a client and server have agreed to share information on
> terms that rely on authentication of clients, it is better for those peers to
> arrange the terms on which they will authenticate.

Removed cipher suite text as these recommendations are provided by RFC 7525. 

> * Section 5.4 uses "SHOULD" regarding client authentication using federation,
> but offers no hints about what this entails.  It also uses "SHOULD" regarding
> authorization checks, which isn't an interoperability requirement.  It's more
> of a "don't be silly" type of requirement, which doesn't need to be written
> down in an RFC.

While its true that this is a "don't do anything stupid" requirement, I think that its valuable as a reminder that the authorization checks need to support full granularity through the entire resource tree.

> Section 5.5 prohibits the use of GET on "/".  This prohibits use of the resource
> for other purposes.  It seems reasonable to accept POST messages as
> defined in RFC 6546, but this requirement is overly strict (and further
> entrenches the violation of RFC 7320).  If, for instance, the server operator
> wishes to provide HTML in response to a GET request to "/", this would
> prohibit that.  The requirement to return 404 if RFC 6546 is not supported is
> worse; not supporting RFC 6546 might be a choice that a deployment makes
> to avoid the need to reserve "/" for that protocol.

Cleaned up the text describing this requirement to be more clear that they only trigger when an implementation has decided to support RFC 6546. Removed the 404 requirement when not supporting RFC6546, as I agree that it was overly restrictive.

> In Section 6.2.3, what is the advantage of "rolie:format" over having a well-
> defined media type?  Media types can take advantage of content
> negotiation, existing support in link relations, and other existing tools.
> This rolie:format element has namespace, format, and schema; these are not
> useful to anyone that is ignorant of their contents.  The only advantage I see
> is that syntax might be validated, but semantics can't be extracted.  There's a
> lot of implied work in adding this element, but that doesn't seem to be
> justified by that advantage.  (I see that RFC 7970 doesn't define a media type,
> but it seems like it would be easier to correct that than to define an element
> like this.)

Atom:content has an attribute for media type, which provides information about the serialization of the content representation. In many cases, we found that different formats can appear for the same content within the same media type. For example, the same piece of information may be represented using two different XML Schemas. The rolie:format element allows the entry to clarify which "format" its using beyond which serialization it is using. Ultimately the format element is not registered anywhere, nor is its contents particularly standardized. We're providing the element as a tool for repository producers to use.

> Section 6.2.4 defines a generic key-value mechanism.  But that is something
> that XML is actually good at.  Why can't users that require additional
> metadata use additional metadata as originally defined by Atom?  That is,
> replace <rolie:property name="urn:ietf:params:rolie:property:csirt-iodef-id"
> value="12345"/> with something like
> <rolie:csirt-iodef-id>12345</rolie:csirt-iodef-id>.  The final paragraph of the
> section recognizes this possibility.

The latter example you provide is still possible, as unrecognized elements in ROLIE/Atom don't cause validation to fail, but are just potentially ignored by the client/server. The rolie:property element allows automated systems to have a globally available "vocabulary" of potentially available properties, that can be used to populate tables or fields in automated systems.

> Minor:
> 
> Section 5.1.1 recommends the use of workspaces to separate "private" and
> "public" information.  But workspaces don't really contain enough
> information to signal their status to a consumer of the information.  I would
> suggest mentioning this, removing the recommendation, or expanding on
> the manner in which the status of information is signaled.

Agreed, I've clarified the text in this section and removed the normative recommendation.

> Section 6.1.1 says "zero or more atom:category elements", but this
> contradicts the text and amendment to the schema in Section 6.1.

Thanks for catching this, fixed.

> Section 6.1.3 requires updating the "atom:updated" element when the
> representation changes.  I don't think that this is what was intended.  I think
> that the element needs to be updated when the contents of the feed
> change in any way.

Agreed, changed.

> Question: it's fairly widely accepted that use of IRIs in Atom has been less
> than successful.  Do you want to mandate use of URIs instead?  This would
> apply to both link relations and the "src" attribute.

We wanted to stay in line with the requirements in Atom, if this becomes an issue it may be worth re-examining.

> In Section 7.1, the definition of the namespace prefix
> "urn:ietf:params:rolie:category:local" seems unnecessary.  Namespace URIs
> are cheap and it seems reasonable to experiment with feeds that produce
> non-ROLIE information by omitting the
> "urn:ietf:params:rolie:category:information-type"
> category, even if that feed might comply with the requirements of ROLIE.
> The other way to experiment would be to use the category, but define a way
> to identify "term" attributes that are for use in private or experimental
> contexts.

Agreed. The local registration was providing nothing that XML/Atom don't already provide. As such, we've removed this registration and clarified that any category not registered via the ROLIE table is considered private. This should be more in line with how Atom originally handled categories.

> In Section 7.4, how is "...:rolie:property:content-author-name" superior to
> "atom:author"?

Atom:author provides information on the person or entity that authored the entry, while the rolie:content-author-name provides information on the person or entity that authored the content. We found that the two often differed, and added this property to allow both entities to be described. I added some extra text to content-author-name to clarify this.

> In Section 8.4,  is there a uniqueness requirement on "name"?  I understand
> this to be the thing that being registered.   Assuming that, what purpose
> does
> the "index" serve?

Yes name needs to be unique, I added this requirement. We included an index as an additional unique identifier for the registration as a potential shorthand. We've been discussing the possibility of binary serialization of ROLIE and wanted a shorter form for the registration.

> This statement from Section 9, "As described in the discovery section, DNS
> SRV Records are a possible secure solution to discovery." is false without
> further qualification.  SRV with DNSSEC might be secure, but a lot depends on
> the input to the discovery process and its provenance.

Dropped the "secure" descriptor to avoid being misleading.

> In Section 10, the following statement is false (all of the described privacy
> violations are available to a client or server, not third parties): "Proper usage
> of TLS as described in Section 5.3 will in many cases aid in the mitigation of
> these issues."  I think that you can strike this statement (most of the reason
> for use of TLS is justified by the security considerations anyway).

Agreed, none of the privacy issues described included third parties that TLS could keep away.

> Nits:
> 
> Is it "Feed" or "feed"?  RFC 4287 uses the latter, but this document seems to
> prefer the Proper Noun form.

We decided to use Feed for referring to the conceptual Feed, and atom:feed for the actual representation.

> Section 6.2 should say what changed in the schema.  It's hard to eyeball the
> schema to discover that "atomContent" is no longer optional.  The two new
> elements are easy to spot and might cause the first change to be missed.
> 
> Section 6.2.1 is the same.  It should explicitly say that it only permits the
> atomOutOfLineContent formulation.

Agreed, added text explicitly describing the important changes.

> I found the formulation of Section 7.1.1 confusing.  It includes a list that
> seems to be authoritative, then disclaims any attempt to register these
> terms.
> Maybe this is because the statement "This document does not specify any
> information types." appears too late.  Some reordering might help.

Reordered and provided some additional text to make the list more clear.

> The formatting of the table in Section 8.3 makes most of the columns
> unreadable.  I would recommend a simple nested list.

I think the formatting issue is caused by the long note to IANA in the first row. When this note is removed the table formatting should be more sensical.

> In section 9, the use of the term "well-known" to refer to information that is
> either public or widely available risks misinterpretation.

Changed.

> FWIW, I would reword this entire paragraph to say simply "Access control to
> information published using ROLIE should use mechanisms that are
> appropriate to the sensitivity of the information.  Primitive authentication
> mechanisms like HTTP Basic Authentication [RFC7617] are rarely appropriate
> for sensitive information."  I didn't find the remainder of the text on
> authentication especially helpful.  The text seems to equivocate on the
> subject of federation, where it would be easier to say nothing.

Included your text and removed text that was contributing little, this shorted the paragraph and rendered it more readable. We kept the text listing valid alternatives as we felt it was valuable.

> Also in Section 9, the use of the term "message" is used in the context of
> using additional security controls.  I think that the word "representation" is
> what was intended here.

Changed.

> _______________________________________________
> mile mailing list
> mile@ietf.org
> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.i
> etf.org%2Fmailman%2Flistinfo%2Fmile&data=02%7C01%7Cstephen.banghar
> t%40nist.gov%7Caf3af91a1c684592007d08d50ed3d401%7C2ab5d82fd8fa4797
> a93e054655c61dec%7C1%7C0%7C636431225322845891&sdata=SykEasQlo1e
> MarYmKXSA5HsOUpTLyjd9rslyvZPpxak%3D&reserved=0