Re: [tram] Artart telechat review of draft-ietf-tram-stunbis-16

Marc Petit-Huguenin <marc@petit-huguenin.org> Tue, 17 April 2018 10:00 UTC

Return-Path: <marc@petit-huguenin.org>
X-Original-To: tram@ietfa.amsl.com
Delivered-To: tram@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BC30112D779; Tue, 17 Apr 2018 03:00:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.107
X-Spam-Level:
X-Spam-Status: No, score=-1.107 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RDNS_NONE=0.793, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
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 2AFpUJ5Xl1HV; Tue, 17 Apr 2018 03:00:16 -0700 (PDT)
Received: from implementers.org (unknown [IPv6:2001:4b98:dc0:45:216:3eff:fe7f:7abd]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id ECD0612762F; Tue, 17 Apr 2018 03:00:15 -0700 (PDT)
Received: from [IPv6:2601:648:8301:730f:f993:3fc0:2548:9f56] (unknown [IPv6:2601:648:8301:730f:f993:3fc0:2548:9f56]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "Marc Petit-Huguenin", Issuer "implementers.org" (verified OK)) by implementers.org (Postfix) with ESMTPS id 9340CAE8D8; Tue, 17 Apr 2018 12:00:12 +0200 (CEST)
To: Peter Saint-Andre <stpeter@mozilla.com>, art@ietf.org
Cc: draft-ietf-tram-stunbis.all@ietf.org, ietf@ietf.org, tram@ietf.org
References: <152270998513.17947.16209089088681034529@ietfa.amsl.com> <ec1d7013-4886-6f96-21a2-3c758fc633cf@petit-huguenin.org> <c6df754b-8aea-637c-a8bf-7ccadc0d8704@mozilla.com>
From: Marc Petit-Huguenin <marc@petit-huguenin.org>
Message-ID: <6422219a-5c2d-4590-3088-0f1afa3feb8f@petit-huguenin.org>
Date: Tue, 17 Apr 2018 03:00:09 -0700
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0
MIME-Version: 1.0
In-Reply-To: <c6df754b-8aea-637c-a8bf-7ccadc0d8704@mozilla.com>
Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="kuGjWJaKegyCNzuRL9CzladtYkEpyPgNl"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tram/Wovjek_DTrWjDUlADEbO2SzlrIk>
Subject: Re: [tram] Artart telechat review of draft-ietf-tram-stunbis-16
X-BeenThere: tram@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "Discussing the creation of a Turn Revised And Modernized \(TRAM\) WG, which goal is to consolidate the various initiatives to update TURN and STUN." <tram.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tram>, <mailto:tram-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tram/>
List-Post: <mailto:tram@ietf.org>
List-Help: <mailto:tram-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tram>, <mailto:tram-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 17 Apr 2018 10:00:20 -0000

On 04/16/2018 05:22 PM, Peter Saint-Andre wrote:
> Hi Marc, a few further comments inline.
> 
> On 4/16/18 5:43 PM, Marc Petit-Huguenin wrote:
>> Hi Peter,
>>
>> Thanks for the review and sorry for the delay in responding, I was traveling for the last 4 weeks.
>>
>> See my responses inline.
>>
>> On 04/02/2018 03:59 PM, Peter Saint-Andre wrote:
>>> Reviewer: Peter Saint-Andre
>>> Review result: Ready with Nits
>>>
> 
> <snip/>
> 
>>> The first paragaraph of Section 6.2.3 restates recommendations from RFC
>>> 7525; why not simply reference that specification?
>>
>> The original text in RFC5389 said this:
>>
>> " When STUN is run by itself over TLS-over-TCP, the
>>   TLS_RSA_WITH_AES_128_CBC_SHA ciphersuite MUST be implemented at a
>>   minimum. [...]"
>>
>> The new text is an attempt at updating it in the same spirit of giving minimal instructions and complementing them with a reference to RFC 7525 - which was the reason for the reference to RFC 7525 there.
>>
>> So I kept the text there, followed by the following paragraph, in addition of moving the original last paragraph in the Security Consideration section:
>>
>> " These recommendations are just a part of the the recommendations in
>>   [RFC7525] that implementations and deployments of a STUN usage using
>>   TLS or DTLS SHOULD follow."
> 
> I would instead suggest that we do something like Section 2 of RFC 7590
> for XMPP:
> 
>    The best current practices documented in the "Recommendations for
>    Secure Use of TLS and DTLS" [RFC7525] are included here by reference.
>    Instead of repeating those recommendations here, this document mostly
>    provides supplementary information regarding secure implementation
>    and deployment of XMPP technologies.
> 
> Here's the rationale: RFC 7525 is likely to be updated/replaced more
> quickly than STUNbis. If STUNbis recommends a particular cipher suite
> that 7525bis stops recommending, in the absence of STUNter will STUN
> implementations keep following STUNbis or will they upgrade to whatever
> 7525bis recommends? I suggest it will be the former, which is not what
> we want.

All right, makes sense.  I'll add something like this on my next round of reviews, most likely this Friday.

> 
>>> Section 6.3.4 states:
>>>
>>>    o  If the error code is 500 through 599, the client MAY resend the
>>>       request; clients that do so MUST limit the number of times they do
>>>       this.
>>>
>>> It is reasonable to provide guidance as to the number of re-sends?
>>
>> Same issue here, that's a section that is unmodified from RFC 5389. 
> 
> I understand. Now is our chance to fix it. :-)
> 
>>  As long as the client does not enter an endless loop of retransmission, choosing different numbers of re-sends does not affect interoperability.
> 
> Choosing different numbers is OK, but choosing an infinite number is
> not. Can we provide guidance as to how many is too many? 10? 50? 100?

Well, the text already states that an infinite number of of re-sends is not compliant.  Anyway, I am not sure how to determine a reasonable number, but I'll try.

> 
>>> Section 9.1.1 and other sections invoke the OpaqueString profile of the
>>> PRECIS FreeformClass; it might be helpful to mention that the profile is
>>> used to handle Unicode characters outside the ASCII range, and that no
>>> changes result if only ASCII characters are used.
>>
>> Hmm.  But in that case the application has first to test that the string is in the ASCII range.  Isn't that better to always assume that the input string will contain Unicode, and let the implementation of OpaqueString short-circuit the processing in the case of an all-ASCII string?
> 
> Yes, I meant that as an informational note to implementers so they would
> worry less. But it's not necessary and I think you can safely ignore it.
> 
> Peter
> 


-- 
Marc Petit-Huguenin
Email: marc@petit-huguenin.org
Blog: https://marc.petit-huguenin.org
Profile: https://www.linkedin.com/in/petithug