Re: [tram] Stephen Farrell's Discuss on draft-ietf-tram-stun-origin-05: (with DISCUSS and COMMENT)

Simon Perreault <sperreault@jive.com> Wed, 13 May 2015 16:21 UTC

Return-Path: <sperreault@jive.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 DEDFC1B2FFC for <tram@ietfa.amsl.com>; Wed, 13 May 2015 09:21:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.601
X-Spam-Level:
X-Spam-Status: No, score=-2.601 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=unavailable
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 fdheeExeqJNV for <tram@ietfa.amsl.com>; Wed, 13 May 2015 09:21:10 -0700 (PDT)
Received: from mail-qg0-f52.google.com (mail-qg0-f52.google.com [209.85.192.52]) (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 193A01B2E71 for <tram@ietf.org>; Wed, 13 May 2015 09:21:09 -0700 (PDT)
Received: by qgej70 with SMTP id j70so24087466qge.2 for <tram@ietf.org>; Wed, 13 May 2015 09:21:08 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:content-type :content-transfer-encoding; bh=ISqRdghFVpZxT6qVvXkY8nkP9/vyW13Lwyx918mnFOo=; b=eMERhpWhdQC9uKrVH6BwyDI+QU7iin1uCEBSvoMg3FLEvmeUE6SpyoMDaQpUzW68dc 3FIEQUTdBro8NE+uFhpXHXa+tL3q2CZY6wVcpqYCTd3E2LPfQUElPPcUIyRAAAqKQzda EHL9UuMsbGIgdMmaFXldKTtrH8Gbwgw6V6DXRvzlFYTTsjhd5u5GnuGQlLQ9l8bnGvlf rFgWRP6tnIWVY0rJrOjQchIHK2VRKBbD3v2fxKsWJC7EKFhP7iUuK9m+hReCEIRodMcC WnxdT0mQCJjnjpingIJj3w8sYiSABsXY8vXs0kizXUuj+kj6m3caIG2FMZG9lbFRmUzW ZvvQ==
X-Gm-Message-State: ALoCoQlx4bWVMQONHGG0LNiq9xSB0E3O5gryluOP4K83n+LwRzux90yXabuLFtqEm5B3ORHn96gO
X-Received: by 10.55.20.87 with SMTP id e84mr45378663qkh.43.1431534068383; Wed, 13 May 2015 09:21:08 -0700 (PDT)
Received: from [192.168.1.131] ([24.53.47.130]) by mx.google.com with ESMTPSA id g184sm15868910qhc.6.2015.05.13.09.21.06 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 May 2015 09:21:07 -0700 (PDT)
Message-ID: <555379F1.8050704@jive.com>
Date: Wed, 13 May 2015 12:21:05 -0400
From: Simon Perreault <sperreault@jive.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.6.0
MIME-Version: 1.0
To: Stephen Farrell <stephen.farrell@cs.tcd.ie>, Alan Johnston <alan.b.johnston@gmail.com>
References: <20150421153635.27696.5302.idtracker@ietfa.amsl.com> <CAKhHsXGKhsMrjfSZCLiHF971FQeSKRopS7x4caQ6=Nwh4brB4g@mail.gmail.com> <554F461C.4040603@cs.tcd.ie> <554F9339.4090404@jive.com> <55532E5B.5050204@cs.tcd.ie>
In-Reply-To: <55532E5B.5050204@cs.tcd.ie>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/tram/PajXhip4uVIKbOJtwRtVt1y4Exo>
Cc: tram-chairs@ietf.org, "tram@ietf.org" <tram@ietf.org>, draft-ietf-tram-stun-origin.shepherd@ietf.org, draft-ietf-tram-stun-origin.ad@ietf.org, The IESG <iesg@ietf.org>, draft-ietf-tram-stun-origin@ietf.org
Subject: Re: [tram] Stephen Farrell's Discuss on draft-ietf-tram-stun-origin-05: (with DISCUSS and COMMENT)
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: <http://www.ietf.org/mail-archive/web/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: Wed, 13 May 2015 16:21:12 -0000

Le 2015-05-13 06:58, Stephen Farrell a écrit :
> On 10/05/15 18:19, Simon Perreault wrote:
>> I don't follow. If the browser lies, then authentication will fail.
>> Where's the problem?
>> 
> 
> So let's say that a TURN server works on behalf of two "tenant" 
> services, S1 and S2 (legacy-SIP or WebRTC doesn't matter for this 
> point).
> 
> S1 are mean and charge the end user per byte/second and when the
> TURN server is working on behalf of S1 then the TURN server will do
> loads of accounting that'll eventually turn into billing from S1 to
> the user at the UA.
> 
> S2 however are rich new Internet kids and offer calling for nothing
> - they just use some of their vast advertising revenue to pay the
> TURN server operator a big pile of cash and the end user never has to
> pay, because S2 make money elsewhere.
> 
> As a user, I can have accounts with both, and can authenticate to
> the TURN server as either. (I'm not saying that is good but it is
> what you've told me I think.)
> 
> I will of course always assert that the "origin" for all of my calls 
> is S2 and authenticate with those credentials, even when I'm making a
> call that is setup by S1 and that properly ought to be billed that 
> way. (And such a call can be to a destination that is simply not 
> reachable via S2's signalling of course.)
> 
> The fact that this origin is used by the TURN server to pick between 
> those and that there is no binding between that and the in-progress 
> call enables me to succeed when I try the age-old trick of getting 
> calls for nothing.

Correct.

However, imagine the same situation with current STUN authentication
(i.e., no ORIGIN, no third-party-auth). You have an account on each of
S1's and S2's servers, each of which listen on different IP addresses.
You can still use S2's server for a call signalled using S1's servers.

What makes this possible is that STUN authentication has no binding with
call signalling. ORIGIN does not attempt to change this.

> Can you tell me what in the current proposal (or the underlying 
> context, and hence perhaps properly not documented here) means that 
> the above is a non-issue? Or where else am I going wrong?

STUN/TURN is by design a stand-alone NAT traversal service. An important
design principle is that the endpoints are responsible for their own NAT
traversal. Contrast this to hosted NAT traversal [RFC7362].

That is, endpoints using a generic RFC 3261 SIP proxy as signalling
server can use ICE with STUN/TURN servers of their choosing to establish
a peer-to-peer session. The SIP proxy does not need to be aware of any
of this. By design, the STUN/TURN server has a relationship with the
endpoint, not with the signalling infrastructure.

With WebRTC, the typical deployment model has the application provider
in charge of signalling, endpoint provisioning, and STUN/TURN server
operations This particular model makes a binding between signalling and
STUN authentication a possibility.

However, in general, by design, STUN/TURN is a client-server protocol,
and has nothing to do with signalling. Therefore, when a client has an
account with a server, it can use it with whatever signalling it wants.
The server is not aware of this. By design.

Simon