Re: [stir] Review of: draft-ietf-stir-rfc4474bis-10

Bernard Aboba <bernard.aboba@gmail.com> Thu, 18 August 2016 17:47 UTC

Return-Path: <bernard.aboba@gmail.com>
X-Original-To: stir@ietfa.amsl.com
Delivered-To: stir@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 92BDE12D733 for <stir@ietfa.amsl.com>; Thu, 18 Aug 2016 10:47:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] 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 ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NdVGE8gr4Bzu for <stir@ietfa.amsl.com>; Thu, 18 Aug 2016 10:47:12 -0700 (PDT)
Received: from mail-ua0-x22a.google.com (mail-ua0-x22a.google.com [IPv6:2607:f8b0:400c:c08::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6DEC212DAFE for <stir@ietf.org>; Thu, 18 Aug 2016 10:45:14 -0700 (PDT)
Received: by mail-ua0-x22a.google.com with SMTP id 97so40175120uav.3 for <stir@ietf.org>; Thu, 18 Aug 2016 10:45:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=2LDD/LIku5y+2bvQfEO7ibbdzwHHZHvKIqHA2AYqk7w=; b=B1ZVIBewinHyfxZEeCK5Cqii8z3jqJpM0rl9e+5bnqWnLJ+OvmtAqJLoQOg46ALiu8 3med1uxvmderu2ja6szbSikCsUGbTKOf8V1jHTwKOSP2TsCeICMEJuDUwFZ+HJvhZtfR e/r5hW0j1ARowLnX0H1SoEIaAtDNf1oofCbWHW5oS7wZhOEsiTzUspTpTcSDPOYcjFiO 1HTyark99X61zGZMdqAgR8agpaQQ/4OY6af649LBgiEUbQfbSLcihhssGaTr6m91CGgf pwG2QDSA4WXGKjsNg1BZdz+5CB4xVtK+LnZZKVAXQWthwWRjiH6MphW+I8dz67TKEJYf 9KrQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=2LDD/LIku5y+2bvQfEO7ibbdzwHHZHvKIqHA2AYqk7w=; b=NjzwHsCEfFRhaZS+JbzRIqfdZFcazk+Pc71gRhKTh5XjBe/30NyHqr5hcE2wylyzUX I6SJcL+JRXP7CXv20kM4oNuEONRtCAuQ1V1Oux+HPcFpvfLSrLHkQslxWqubDeKSMtil aoyhe0FZ6p/mEnhKnSQXbUmp6Kt68CrLXjwXr/46B5uI5wuaRtksCMoZ1CMJXw3493Tt RMv4LEJlzE7lvR0GP6R54zwiu5UV78TCoprdjwPUKJ6rD9wunS9F4I6AnrJrASDIUkGm IxFNrA5Ad6Wzaai3YEILMmsXXTnoQa+9LdLI+FP6xBbLlOn7Hcolwf5vK3rer/L16aUg PfRQ==
X-Gm-Message-State: AEkoouuLZqbyXlEU8lG52GQMmsOZFceqVt5EKKkW0J2BYmL/rABcb1B/jj1/Xrw5FWMWXO3cX1oAKM+AIFDusg==
X-Received: by 10.31.2.209 with SMTP id 200mr1506316vkc.58.1471542313460; Thu, 18 Aug 2016 10:45:13 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.176.82.184 with HTTP; Thu, 18 Aug 2016 10:44:52 -0700 (PDT)
In-Reply-To: <CAHBDyN7W8zkgGjeUqzGaxLfRD-nFDgD9R3kxioQ47Kbp4_B8EA@mail.gmail.com>
References: <c3a85ffc-8340-ac54-4d8e-21a16fefd032@dcrocker.net> <D3D41210.1A72E4%jon.peterson@neustar.biz> <CAHBDyN7W8zkgGjeUqzGaxLfRD-nFDgD9R3kxioQ47Kbp4_B8EA@mail.gmail.com>
From: Bernard Aboba <bernard.aboba@gmail.com>
Date: Thu, 18 Aug 2016 10:44:52 -0700
Message-ID: <CAOW+2duONZhakBiAQuTLsXZ7z7wFnFM7zC8tBRW-a-rz5_3_Mw@mail.gmail.com>
To: Mary Barnes <mary.ietf.barnes@gmail.com>
Content-Type: multipart/alternative; boundary="001a113f7f9cdda9e2053a5c24b8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/stir/OSVsp2udL_b6eHNJWX3txrHvvYc>
Cc: "stir@ietf.org" <stir@ietf.org>, "dcrocker@bbiw.net" <dcrocker@bbiw.net>, "Peterson, Jon" <jon.peterson@neustar.biz>
Subject: Re: [stir] Review of: draft-ietf-stir-rfc4474bis-10
X-BeenThere: stir@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Secure Telephone Identity Revisited <stir.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/stir>, <mailto:stir-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/stir/>
List-Post: <mailto:stir@ietf.org>
List-Help: <mailto:stir-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/stir>, <mailto:stir-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 18 Aug 2016 17:47:33 -0000
X-List-Received-Date: Thu, 18 Aug 2016 17:47:33 -0000

Mary Barnes said:

"I'm not sure on this one, in particular given that it deprecates the
header fields defined in RFC 4474 (per section 8).  And, unlike other -bis
specs there is no summary section in this document of the differences
between the two.  Also, currently this draft doesn't indicate what impact
it has on 4474 in the header page. There is the sentence at the end of
section 1 stating that this document "revises RFC 4474" but that's not
particularly meaningful. Given that when we produced RFC 7044, we obsoleted
RFC 4244 despite RFC 7044 being backwards compatible with RFC 4244, I
really think that this draft should be documented as obsoleting RFC 4474."

[BA]  Agree that the document should include Obsoletes: 4474 in the
header.  The Abstract and Introduction could also set the context somewhat
better.

Section 15 is a bit terse and could probably be expanded. However, if the
context for RFC 4474bis is properly set, I don't think we need to go
overboard on that.

On Wed, Aug 17, 2016 at 12:03 PM, Mary Barnes <mary.ietf.barnes@gmail.com>
wrote:

> Jon,
>
> Thanks for responding to Dave's comments - I found that quite helpful.  I
> have some comments/responses below [MB].  As a caveat to my responses, I
> did not read all the details in Dave's review.
>
> Regards,
> Mary.
>
> On Sat, Aug 13, 2016 at 2:40 AM, Peterson, Jon <jon.peterson@neustar.biz>
> wrote:
>
>>
>> I finally had a chance to go through these comments, and I did want to
>> provide a few responses on Dave's review of rfc4474bis here.
>>
>> >Taken on its own and also when taken with its companion documents, the
>> >specifications are confusing and incomplete.  It is quite far from being
>> >ready for publication.
>>
>> Having looked through Dave's specific concerns, I don't think he makes his
>> case for this criticism.
>>
>> >Terminology is used inconsistently. It often is introduced with no
>> >background or citation.  Many uses of 'header' are probably supposed to
>> >be 'header field'.  My sense is that quite a bit of terminology is used
>> >equally loosely.
>>
>> I think the use of terminology in the specification has proper background
>> and citations. Certainly Dave is correct that the text is pretty lax with
>> "header" vs. "header field" vs. "header field value," no denying that. If
>> people think this is a big deal, I will fix it. But the suggestion that
>> because this is true, terminology is loosely used to a point where it
>> would hamper implementation, that I think his comments don't really
>> substantiate.
>>
>
> [MB] As pendantic as it might seem, in my experience, the expectation is
> that we are precise with terminology in the specs, so that qualifying
> 'header' as 'header field' and 'parameter' as 'header field parameter' is a
> reasonable expectation. I've had to do that with the RFCs that I've
> authored and in re-reading this document recently, I think it adds to the
> readability/understanding in particular since the ABNF comes later. [/MB]
>
>
>>
>> >There is no integrative architectural description, so the reader has
>> >difficulty understanding what all of the pieces are or how they fit
>> >together.  In fact is appears that the document itself gets confused on
>> >this matter.
>>
>> I'm not sure what an "integrative architectural description" would entail,
>> but there are a number of sections that provide overviews of operations
>> and related examples of how the architectural piece come together. I don't
>> think anything in the review comments genuinely substantiates that the
>> document itself is confused about its own architecture.
>>
>> >Algorithms are all offered only as prose and often in a form mitigating
>> >comprehension, such as tending towards negation or disjunction, which
>> >humans process less well than affirmatives and conjunctions. From what I
>> >can tell, the algorithms often are incomplete, but serious analysis is
>> >difficult.
>>
>> Algorithms are offered in steps with normative language, if that's what
>> you mean by "prose form". RFCs are typically composed of prose. The review
>> does reveal some very striking views about specmanship and algorithms in
>> particular which are foreign to my experience in the IETF.
>>
>> >The documents appear to rely on a reader's having quite a bit of prior
>> >knowledge and are certainly not usable by an implementer who is not
>> >already deeply embedded in the community that produced these
>> >specifications.  My impression is that being embedded won't suffice
>> >either, both from my assessment of the documents' deficiencies and given
>> >back-channel comments I have heard about the expectation of the work to
>> >be done after these specifications are published.
>>
>> We do expect basic SIP literacy, and a willingness to follow references
>> and read external specifications and sections that are cited. Readers that
>> are unwilling to do this will probably find a lot of things confusing in
>> there.
>>
> [MB]  I think the challenge is that 'basic SIP literacy' isn't such a
> basic thing anymore and it does require *a lot* of background to parse this
> document, but I don't know a way around that. [/MB]
>
>>
>> >Overall, the writing impedes comprehension and the document needs a very
>> >diligent pass by a technical editor.  I suspect this will uncover quite
>> >a number of semantic deficiencies in the text.
>>
>> You did catch some good typos, and I caught a few more following your
>> notes through the text. I'm not sure that yielded the semantic
>> difficulties you speculate about here though.
>>
>> >There is a possible tendency to support more alternative behavior than
>> >appropriate. Successful interoperability usually benefits from fewer
>> >choices, not more.  Common, mandatory canonicalization is an example.
>>
>> Common, mandatory canonicalization of telephone numbers is unfortunately
>> only slightly more reliable than common, mandatory normalization of
>> internationalized domain names. At least it's just numbers. The algorithm
>> we have is good enough to cover the common operational case, and where it
>> fails, hopefully "canon" will help to close the gap.
>>
>> >Credentials: the specification neither defines nor references a standard
>> >for the specification of credentials, here.  That means that the
>> >technical details -- as distinct from the operational policies -- of
>> >credentials are out of scope, although they are fundamental to proper
>> >operation of this serve.  This is a showstopper, in terms of
>> >specification completeness for the service.
>>
>> Well, it does reference a standard for the specification of credentials:
>> stir-certs. I agree it would be a showstopper if we didn't have the
>> stir-certs work.
>>
>> >How is the recipient to know what credential 'standard' is used?  How
>> >does this ensure interoperability between two participants who have not
>> >interacted before?
>>
>> There is in practice only one at the moment. I'm content to worry about
>> interop problems when we have another one.
>>
>> >At base, these specifications appear intended to roughly chart out a
>> >system structure, leaving most of the difficult work for later and
>> >elsewhere.  By way of example, there are few if any cross-organization
>> >key management services on the Internet that demonstrate the utility
>> >needed here.  I am pretty sure that Web certs don't qualify.  We know
>> >that DKIM's operation does, of course.  However DKIM strictly uses
>> >domain names as identifiers and they conveniently align with their
>> >administrative authorities, whereas telephone numbers do not...
>>
>> I'd say that, by design, rfc4474bis is pretty tightly confined to
>> specifying the SIP over-the-wire protocol behavior. It takes a lot of spec
>> just to do that.
>>
>> And your praise of DKIM as a model is once again noted. I would respond
>> again that we are unlikely to abandon our years of work on this mechanism
>> and switch to DKIM at this point, no matter how many comments you place in
>> our path.
>>
>> >      [[[ The mailing list just had an extensive regurgitation of
>> >critical commentary about ENUM.  What appears to be getting missed is
>> >that whatever mechanism is going to be used for finding and validating
>> >keys is going to have no operational history of reliability, safety or
>> >efficacy. ]]]
>>
>> HTTP has none of those qualities, apparently.
>>
>> >There is remarkably little of the original RFC 4474 substance still in
>> >this document.  Calling it a bis is a bit like tearing all of a building
>> >except its fireplace or its front door and calling that a remodeling.
>> >The previous document does not have an installed base, so I strongly
>> >suggest removing all references to it.  It will allow some of the text
>> >to be notably simpler and clearer.
>>
>> I think enough of the concepts and protocol mechanisms of the original are
>> retained to warrant keeping this as a bis.
>>
>
> [MB] I'm not sure on this one, in particular given that it deprecates the
> header fields defined in RFC 4474 (per section 8).  And, unlike other -bis
> specs there is no summary section in this document of the differences
> between the two.  Also, currently this draft doesn't indicate what impact
> it has on 4474 in the header page. There is the sentence at the end of
> section 1 stating that this document "revises RFC 4474" but that's not
> particularly meaningful. Given that when we produced RFC 7044, we obsoleted
> RFC 4244 despite RFC 7044 being backwards compatible with RFC 4244, I
> really think that this draft should be documented as obsoleting RFC 4474.
> [/MB]
>
>>
>> >The document is heavy with forward references.  These force the reader
>> >to stop what they are in the middle of, try to hold that place, and look
>> >forward to understand what they've just been interrupted from reading.
>> >As a literary style, forward references create useful tension.  In
>> >specifications they just interrupt the flow.  The document should be
>> >reorganization so that integrative text comes /after/ the text
>> >describing the pieces being integrated.  And opening overview, design
>> >summary, or the like can give a non-normative description of the
>> >architecture and the service, so the reader has a basic sense of the big
>> >picture, before diving into the detail of those to-be-integrated pieces.
>>
>>
>> Dave does make a number of organizational suggestions about the spec. The
>> spec has an overview, a design summary, before it gets down to specifying
>> things. The virtue of the "integrative" approach he describes is however
>> unclear to me. I think whether you define the auth service behavior first
>> or define the header syntax first, one of those sections is going to end
>> up pointing to the other. There wasn't much in his reorg suggestions that
>> seemed to me like a substantial improvement.
>>
> [MB] As another RFC 4244 example, we did find that moving the syntax early
> in the document in RFC 7044 made it more readable.  From a developer's
> perspective, I think it's helpful to have the syntax in mind as one reads
> all the details of the processing.[/MB]
>
>>
>> Overall, there are a handful of changes (beyond the typos, which again are
>> appreciated) I'd make based on the substance of Dave's review. Some of the
>> suggestions to rename sections seem harmless to me. Like some other people
>> who come to mind, he would like to see some more precise specification and
>> examples of how you break off the signature from JWT. He pointed out that
>> we really don't have any motivation for including multiple Identity
>> headers in there, and we probably do need an indication of what future
>> work might use that feature.
>>
> [MB] I would 3rd the need for examples.  That has been a usual practice
> for other RFCs defining new SIP header fields (and header field
> parameters). [/MB]
>
>>
>> In terms of topics for discussion that might warrant the attention of the
>> working group, he did suggest we need to be sure we think the scope of the
>> signature is correct, and that we have enough confidence that
>> intermediaries won't break it, and that when it is broken, the verifier
>> behavior makes sense. I think we've focused a lot of attention on those
>> questions, but I'm happy to talk more about that if people think there's
>> room for improvement.
>>
>> Also, he suggests that we might need a better pointer than RFC3986 Section
>> 6.2.2 for URI normalization procedures. If anyone (including Dave!) knows
>> of one, I'd be happy to cite it instead.
>>
>> Otherwise, I think we've got this covered. Anyone who's interested in
>> further details can see the attached.
>>
>> Jon Peterson
>> Neustar, Inc.
>>
>>
>> _______________________________________________
>> stir mailing list
>> stir@ietf.org
>> https://www.ietf.org/mailman/listinfo/stir
>>
>>
>
> _______________________________________________
> stir mailing list
> stir@ietf.org
> https://www.ietf.org/mailman/listinfo/stir
>
>