Re: [tram] Path Forward for STUN ORIGIN

Justin Uberti <justin@uberti.name> Tue, 25 August 2015 20:50 UTC

Return-Path: <juberti@gmail.com>
X-Original-To: tram@ietfa.amsl.com
Delivered-To: tram@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7D4241B303A for <tram@ietfa.amsl.com>; Tue, 25 Aug 2015 13:50:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.977
X-Spam-Level:
X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham
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 CKMN8zvvwWKe for <tram@ietfa.amsl.com>; Tue, 25 Aug 2015 13:50:21 -0700 (PDT)
Received: from mail-io0-f178.google.com (mail-io0-f178.google.com [209.85.223.178]) (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 E8C841B302F for <tram@ietf.org>; Tue, 25 Aug 2015 13:50:20 -0700 (PDT)
Received: by iodt126 with SMTP id t126so202922892iod.2 for <tram@ietf.org>; Tue, 25 Aug 2015 13:50:20 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-type; bh=Ci/iqJrbxHyMZ7mpRZddEo8Ho87GLDMWcWhEgM+zhtk=; b=j9cfulaI3GYuFblrSIBaqzWB7g5hCKbxb8Tiha8M2UQETUcEfXvoCVJm6EqXJ9AbQ8 xv6IQ6xq1HU3j1xMN8ZXqf5TgVJ9Na7qcepNMWBfkm0qUKvfbTwm6TMyzlT6cI2kgvrj QZqAbSv5NrPafK2oorXJuo18uDjCx8Qy9SZyv4WiyaXfO6RTK5fTBeVCo/Ok8iTrluHQ 5DJK3+/JTtLo6DNUOH4LsaZ4DEe64fyVP5QHO5QW4OYzEct3bNpAxaITkUp9H/2ovT8N HOr85UIGa2qWSWSyL0ZCzjCjjbXJzzjNFUdnUNqpmLVG2FiTSiFFt3xZyy8cniGOTH6O okzw==
X-Received: by 10.107.15.194 with SMTP id 63mr33586752iop.44.1440535820352; Tue, 25 Aug 2015 13:50:20 -0700 (PDT)
MIME-Version: 1.0
References: <CAKhHsXGwB1vovKQYaGnoZ1MuzREbDA8cTp4sCePNc6=saKN5BA@mail.gmail.com>
In-Reply-To: <CAKhHsXGwB1vovKQYaGnoZ1MuzREbDA8cTp4sCePNc6=saKN5BA@mail.gmail.com>
From: Justin Uberti <justin@uberti.name>
Date: Tue, 25 Aug 2015 20:50:11 +0000
Message-ID: <CALe60zCuFR-refCESNBTYDSypB6QviwKC7=Swh2OnHuXRx5=TA@mail.gmail.com>
To: Alan Johnston <alan.b.johnston@gmail.com>, "tram@ietf.org" <tram@ietf.org>
Content-Type: multipart/alternative; boundary="001a113fe66cdbdbc7051e28e13e"
Archived-At: <http://mailarchive.ietf.org/arch/msg/tram/gJN3VObOPyQ0O2XCml-PkenYJfs>
X-Mailman-Approved-At: Tue, 01 Sep 2015 03:00:41 -0700
Cc: "draft-ietf-tram-stun-origin@tools.ietf.org" <draft-ietf-tram-stun-origin@tools.ietf.org>
Subject: Re: [tram] Path Forward for STUN ORIGIN
X-BeenThere: tram@ietf.org
X-Mailman-Version: 2.1.15
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, 25 Aug 2015 20:50:23 -0000

Overall, I think most/all of the goals that ORIGIN is trying to accomplish
would be better handled by STUN OAuth (
https://datatracker.ietf.org/doc/draft-ietf-tram-turn-third-party-authz/)

Generally, it's not clear that ORIGIN is a great solution for any of the
use cases listed.
1) is easily accomplished via oauth, without any of the restrictions
present here
2) can be dealt with using other means (e.g. oauth, or supplying domain
info in USERNAME)
3) is fairly weak control, and can be done better through oauth, or
domained USERNAMEs

Of course, as noted by others, use of domained USERNAMEs creates a
quasi-ORIGIN value within the USERNAME attribute, which makes OAuth more
attractive.

On Tue, Aug 25, 2015 at 12:57 PM Alan Johnston <alan.b.johnston@gmail.com>
wrote:

> All,
>
> Based on feedback during IETF-93 in Prague, the authors of
> draft-ietf-stun-origin are looking for feedback on a possible path forward
> to solve the privacy/meta data issues and clear the DISCUSSes (see
> https://datatracker.ietf.org/doc/draft-ietf-tram-stun-origin/ballot/).
> There are two areas of feedback: Use Cases and Proposed Solution.
>
> Use Cases
> ========
>
> First, we want to be sure that we are considering all the use cases for
> STUN ORIGIN.  In the draft, three are described:
>
> 1.  Logging of usage of STUN/TURN server. An operator of a STUN or TURN
> server would learn the Origin of the web, SIP, and XMPP users.
>
> 2.  REALM selection for multi-tenanted TURN server. This avoids having to
> run multiple instances on different ports or IP addresses when more than
> one REALM is in use.
>
> 3.  Service determination after authentication.  Bandwidth or QoS policy
> can be applied, after authentication, based on the Origin.
>
> Also, the following use cases have also been discussed but are not in the
> draft
>
> 4.  Authorization at border TURN server after authentication.  An
> enterprise border TURN server can apply policy and allow usage for certain
> Origins (whitelist) or block usage of others (blacklist).
>
> 5. draft-jennings-behave-rtcweb-firewall-01 discusses how a firewall with
> STUN server could use ORIGIN in authorization decisions.
>
> Are there any other use cases we should consider?
>
> Possible Solution
> =============
>
> The solution that was discussed in Prague that seems to be the best
> tradeoff between privacy and functionality is to only include ORIGIN
> information in a STUN or TURN request if the domain of the Origin matches
> the domain of the STUN or TURN server in the STUN or TURN URI.  Since web
> and STUN and TURN run on different ports, and often will resolve to
> different IP addresses, a full host comparison is not possible.  This
> proposal is not perfect: it does not provide perfect privacy for subdomains
> (e.g. sub1.example.com and sub2.example.com will match with this rule,
> even if they are separate entities.  Of course, subdomain users could
> always register a new domain and point DNS records to their sub hoster.)
>
> In comparing this solution against the use cases above:
>
> 1. Allows logging of your own users on your own TURN server (or one that
> you setup DNS SRV records to point towards).  Other users of your STUN or
> TURN server will not be identified by an Origin, but you will at least know
> if others are using your server.
>
> 2. Works for REALM selection as long as you use your own TURN server (or
> one that you setup DNS SRV records to point towards).
>
> 3. Again, works for service determination as long as you use your own TURN
> server (or one that you setup DNS SRV records to point towards).  Having
> service-specific TURN credentials is another solution that doesn't rely on
> ORIGIN.
>
> 4. & 5. Does not seem provide a good solution for these use cases.
>
> Does this analysis make sense?
>
> Feedback most welcome so we can move forward with this draft.
>
> - Alan -
>
>
>