Subject: [secdir] Secdir review of draft-petithuguenin-behave-turn-uris-05

From: Tina TSOU <[email-masked]>
Date: Mon, 19 Aug 2013 17:41:11 +0000

Dear all,
I have reviewed this document as part of the security directorate's ongoing effort to review all IETF documents being processed by the IESG.
These comments were written primarily for the benefit of the security area directors.  Document editors and WG chairs should treat these comments just like any other last call comments.

Summary: This document is almost ready for publication aiming for Standards Track.

This document defines two URI schemes to provision the TURN Resolution Mechanism.

This document defines TURN Server URI syntax. It considers UDP/TCP/TLS scenarios, facilitating applications like WEBRTC to use TURN Server to accomplish NAT Traversal.

Major issues: None

Minor issues:

1. The authors define the syntax for the turn/turns URI in ad hoc fashion, copying definitions from RFC 3986 rather than using RFC 3986 directly. The justification is that there is no need for hierarchy in the turn/turns URI.

In fact, hierarchy is introduced only within the path component described by RFC 3986. The turn/turns URI as defined in this document is achieved by use of the RFC 3986 form:

scheme ":" hier-part [ "?" query ] [ "#" fragment ]

with the following specific rules:

  hier-part consists of the authority part and an empty path

  userinfo and the succeeding '@' MUST be omitted from authority

  the fragment portion is not present.

It is strongly recommended that this formulation be used, to bring the document into line with RFC 3986. Note that this implies adding double slash '//' after the scheme.

2. The Security Considerations section correctly makes reference to RFC 5928, but perhaps does not make it clear that RFC 5928 Section 5 is essential reading. Could I suggest:

"Security considerations for the resolution mechanism are discussed in Section 5 of [RFC5928]. Note that that section contains normative text defining authentication procedures to be followed by turn clients when TLS is used."

Thank you,
Tina

---

From: Marc Petit-Huguenin <[email-masked]>
Date: Mon, 19 Aug 2013 13:56:39 -0700

Hi Tina,

Thanks for the review, see my comments inline.

On 08/19/2013 10:41 AM, Tina TSOU wrote:
> Dear all,
> 
> I have reviewed this document as part of the security directorate's
> ongoing effort to review all IETF documents being processed by the IESG.
> 
> These comments were written primarily for the benefit of the security area 
> directors.  Document editors and WG chairs should treat these comments just
> like any other last call comments.
> 
> 
> 
> This document defines TURN Server URI syntax. It considers UDP/TCP/TLS 
> scenarios, facilitating applications like WEBRTC to use TURN Server to 
> accomplish NAT Traversal.
> 
> 
> 
> Major issues: None
> 
> 
> 
> Minor issues:
> 
> 
> 
> 1. The authors define the syntax for the turn/turns URI in ad hoc fashion, 
> copying definitions from RFC 3986 rather than using RFC 3986 directly. The 
> justification is that there is no need for hierarchy in the turn/turns
> URI.
> 
> 
> 
> In fact, hierarchy is introduced only within the path component described
> by RFC 3986. The turn/turns URI as defined in this document is achieved by
> use of the RFC 3986 form:
> 
> 
> 
> It is strongly recommended that this formulation be used, to bring the
> document into line with RFC 3986. Note that this implies adding double
> slash '//' after the scheme.

The // means after the scheme means that this is a hierarchical URI, which
does not make sense in this case as the concept of hierarchy is not applicable
to a TURN server.

I am in fact following the advice of RFC 4395 section 2.2:

"URI schemes that do not contain a conformant hierarchical structure
 in their <scheme-specific-part> SHOULD NOT use double slashes
 following the "<scheme>:" string."

The TURN URI is not using the userinfo part, the hier-part, the query part or
the fragment part, only the host and port parts and this is the reason why the
ABNF productions from RFC 3986 are copied and not simply referenced:  Using
references proved confusing to reviewers and implementers, as this made them
think that a TURN URI could be parsed with a hierarchical URI parser.

> 
> 
> 
> 2. The Security Considerations section correctly makes reference to RFC
> 5928, but perhaps does not make it clear that RFC 5928 Section 5 is
> essential reading. Could I suggest:
> 
> 
> 
> "Security considerations for the resolution mechanism are discussed in
> Section 5 of [RFC5928]. Note that that section contains normative text
> defining authentication procedures to be followed by turn clients when TLS
> is used."
> 

I will add this in -06.

Thanks.

- -- 
Marc Petit-Huguenin
Email: [email-masked]
Blog: http://blog.marc.petit-huguenin.org
Profile: http://www.linkedin.com/in/petithug