Re: Last Call: <draft-nandakumar-rtcweb-stun-uri-05.txt> (URI Scheme for Session Traversal Utilities for NAT (STUN) Protocol) to Proposed Standard

Hadriel Kaplan <hadriel.kaplan@oracle.com> Thu, 15 August 2013 14:01 UTC

Return-Path: <hadriel.kaplan@oracle.com>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E572421E8143 for <ietf@ietfa.amsl.com>; Thu, 15 Aug 2013 07:01:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.326
X-Spam-Level:
X-Spam-Status: No, score=-6.326 tagged_above=-999 required=5 tests=[AWL=0.273, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GyNNp3KS1bs8 for <ietf@ietfa.amsl.com>; Thu, 15 Aug 2013 07:01:21 -0700 (PDT)
Received: from userp1040.oracle.com (userp1040.oracle.com [156.151.31.81]) by ietfa.amsl.com (Postfix) with ESMTP id 0DC4C21F99A8 for <ietf@ietf.org>; Thu, 15 Aug 2013 07:01:19 -0700 (PDT)
Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94]) by userp1040.oracle.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.1) with ESMTP id r7FE1FqQ032168 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 15 Aug 2013 14:01:15 GMT
Received: from aserz7022.oracle.com (aserz7022.oracle.com [141.146.126.231]) by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id r7FE1D6V019766 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 15 Aug 2013 14:01:14 GMT
Received: from abhmt117.oracle.com (abhmt117.oracle.com [141.146.116.69]) by aserz7022.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id r7FE1DvW007653; Thu, 15 Aug 2013 14:01:13 GMT
Received: from [10.1.21.34] (/10.5.21.34) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Thu, 15 Aug 2013 07:01:13 -0700
Content-Type: text/plain; charset="iso-8859-1"
Mime-Version: 1.0 (Mac OS X Mail 6.5 \(1508\))
Subject: Re: Last Call: <draft-nandakumar-rtcweb-stun-uri-05.txt> (URI Scheme for Session Traversal Utilities for NAT (STUN) Protocol) to Proposed Standard
From: Hadriel Kaplan <hadriel.kaplan@oracle.com>
In-Reply-To: <52095E5D.5070802@ninebynine.org>
Date: Thu, 15 Aug 2013 10:01:11 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <BAF41B4A-D434-4974-AEB6-538288A957C1@oracle.com>
References: <52095E5D.5070802@ninebynine.org>
To: draft-nandakumar-rtcweb-stun-uri@tools.ietf.org, draft-petithuguenin-behave-turn-uris@tools.ietf.org
X-Mailer: Apple Mail (2.1508)
X-Source-IP: ucsinet22.oracle.com [156.151.31.94]
Cc: Graham Klyne <GK@ninebynine.org>, "ietf@ietf.org Discussion" <ietf@ietf.org>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ietf>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Aug 2013 14:01:33 -0000

Some comments on this STUN draft and the TURN one:

1) The ABNF in these drafts leaves no room for future extension such as adding parameters.  Was that intentional?

2) Why do both of these docs repeat a lot of ABNF from RFC 3986, instead of just referencing it?  It says in the appendix some ABNF was repeated because RFC 3986 "are for hierarchical URIs".  I'm not exactly sure what that means other than you don't have a path component, but as far as I can tell the copied ABNF components in these STUN/TRUN drafts are verbatim copies of RFC 3986, all the way down to their final expansion.  

For example, 'IP-literal' and all of its sub-defined parts ('IPv6address', 'IPvFuture', 'h16', 'ls32') appear identical to those in RFC 3986.  In fact, so is 'stun-host' and 'turn-host' - it's just RFC 3986 'host' by another name.  Am I missing something?

Why not just have this:
   stunURI       = scheme ":" stun-host [ ":" stun-port ]
   scheme        = "stun" / "stuns"
   stun-host     = host      ;see section 3.2.2 of [RFC3986]
   stun-port     = port      ;see section 3.2.3 of [RFC3986]

Not a big deal, but it just seems simpler and cleaner to me to not repeat ABNF from other RFCs, especially when the RFC in question is the one for general URI syntax and you're defining a specific URI syntax based on it.

-hadriel



On Aug 12, 2013, at 6:14 PM, Graham Klyne <GK@ninebynine.org> wrote:

>> From: The IESG <iesg-secretary@ietf.org>
>> To: IETF-Announce <ietf-announce@ietf.org>
>> Reply-To: ietf@ietf.org
>> Sender: <iesg-secretary@ietf.org>
>> Subject: Last Call: <draft-nandakumar-rtcweb-stun-uri-05.txt> (URI Scheme for Session Traversal Utilities for NAT (STUN) Protocol) to Proposed Standard
>> 
>> 
>> The IESG has received a request from an individual submitter to consider
>> the following document:
>> - 'URI Scheme for Session Traversal Utilities for NAT (STUN) Protocol'
>>  <draft-nandakumar-rtcweb-stun-uri-05.txt> as Proposed Standard
>> 
>> The IESG plans to make a decision in the next few weeks, and solicits
>> final comments on this action. Please send substantive comments to the
>> ietf@ietf.org mailing lists by 2013-08-16. Exceptionally, comments may be
>> sent to iesg@ietf.org instead. In either case, please retain the
>> beginning of the Subject line to allow automated sorting.
>> 
>> Abstract
>> 
>> 
>>  This document is the specification of the syntax and semantics of the
>>  Uniform Resource Identifier (URI) scheme for the Session Traversal
>>  Utilities for NAT (STUN) protocol.
>> 
>> 
>> 
>> 
>> The file can be obtained via
>> http://datatracker.ietf.org/doc/draft-nandakumar-rtcweb-stun-uri/
>> 
>> IESG discussion can be tracked via
>> http://datatracker.ietf.org/doc/draft-nandakumar-rtcweb-stun-uri/ballot/
>> 
>> 
>> No IPR declarations have been submitted directly on this I-D.
> 
> As IANA designated expert for reviewing URI scheme registrations, I've been asked to approve this scheme for registration.  If there is IETF consensus to publish this document, it is clear to me that the scheme should be registered.
> 
> But, in a personal capacity, not as designated reviewer, I have to ask *why* this needs to be a URI.  As far as I can tell, it is intended for use only in very constrained environments, where there seems to be little value in having an identifier that can appear in all the contexts where a URI may be recognized.
> 
> The criteria for new URI schemes in http://tools.ietf.org/html/rfc4395 include:
> 
> "New URI schemes SHOULD have clear utility to the broad Internet community, beyond that available with already registered URI schemes."
> -- http://tools.ietf.org/html/rfc4395#section-2.1
> 
> This "utility to the broader community" is not clear to me, but I don't fully understand the intended scope of this protocol, so I could be missing something.  So, in declaring consensus for this specification, I would request that this aspect at least be considered.
> 
> ...
> 
> Further, according to http://tools.ietf.org/html/rfc5389 it appears that there are security considerations with regard to the STUN protocol that it should not be used in isolation:
> [[
>   Classic STUN also had a security vulnerability -- attackers could
>   provide the client with incorrect mapped addresses under certain
>   topologies and constraints, and this was fundamentally not solvable
>   through any cryptographic means.  Though this problem remains with
>   this specification, those attacks are now mitigated through the use
>   of more complete solutions that make use of STUN.
> 
>   For these reasons, this specification obsoletes RFC 3489, and instead
>   describes STUN as a tool that is utilized as part of a complete NAT
>   traversal solution.
> ]]
> -- http://tools.ietf.org/html/rfc5389#section-2
> 
> It seems to me that creating a URI for STUN could encourage its use in environments outside the "more complete solutions that make use of STUN".  This seems to be further reason that STUN[S] should not be a URI scheme.
> 
> I have also suggested that, if registered, the URI scheme registration should carries a "health warning" to this effect, and that it is not suitable for general use that is not part of a "complete NAT traversal solution".  But I also recognize that I do not fully grasp the security implications, and that if those that do know better can agree that there is no potential for creating security risks here, this suggestion may be unnecessary.
> 
> #g
> --