Re: [rtcweb] LAST CALL: Systematically de-anonymize dissidents with WebRTC (HOWTO)

Adam Roach <adam@nostrum.com> Tue, 11 August 2015 21:59 UTC

Return-Path: <adam@nostrum.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 60FC71B2AFD for <rtcweb@ietfa.amsl.com>; Tue, 11 Aug 2015 14:59:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level:
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] 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 RTEsN1DiwvpL for <rtcweb@ietfa.amsl.com>; Tue, 11 Aug 2015 14:59:46 -0700 (PDT)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (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 C57691A895C for <rtcweb@ietf.org>; Tue, 11 Aug 2015 14:59:46 -0700 (PDT)
Received: from Orochi.local (99-152-145-110.lightspeed.dllstx.sbcglobal.net [99.152.145.110]) (authenticated bits=0) by nostrum.com (8.15.2/8.14.9) with ESMTPSA id t7BLxgo9015758 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Tue, 11 Aug 2015 16:59:42 -0500 (CDT) (envelope-from adam@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host 99-152-145-110.lightspeed.dllstx.sbcglobal.net [99.152.145.110] claimed to be Orochi.local
Message-ID: <55CA704D.7030902@nostrum.com>
Date: Tue, 11 Aug 2015 16:59:41 -0500
From: Adam Roach <adam@nostrum.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:31.0) Gecko/20100101 Thunderbird/31.7.0
MIME-Version: 1.0
To: carlo von lynX <lynX@i.know.you.are.psyced.org>, rtcweb@ietf.org
References: <20150805161344.GA19492@lo.psyced.org> <CAHbrMsDpyZp8OAGNTa5=geciVCM=_0TEBU3s_kYeh9uQ7LHm9A@mail.gmail.com> <20150805164256.GB19492@lo.psyced.org> <55C250CE.3040309@nostrum.com> <CA+65Osq3MtxAHXWasiDUk1hTvjzD=9bjmf47zmChK2vOmqy3xQ@mail.gmail.com> <55C2AE77.6010603@matthew.at> <20150807205458.GB2091@lo.psyced.org> <55C53328.6050308@matthew.at> <20150808084638.GA12082@lo.psyced.org> <55C800F4.5080706@cs.tcd.ie> <20150811203704.GA18822@lo.psyced.org>
In-Reply-To: <20150811203704.GA18822@lo.psyced.org>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtcweb/V8zZLq4d793aYtGPug7tI9VHEZY>
Subject: Re: [rtcweb] LAST CALL: Systematically de-anonymize dissidents with WebRTC (HOWTO)
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rtcweb/>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 11 Aug 2015 21:59:48 -0000

On 8/11/15 15:37, carlo von lynX wrote:
> Then I need to know if there actually is a consensus on
> the practical recommendation of
>      - disabling the network interface API when proxy is configured

I'm not sure this has been discussed in earnest here or elsewhere. 
There's been some discussion of maybe pushing all RTP traffic through am 
HTTP proxy when one is configured [3], but this has been highly 
controversial.

The problem is that, while HTTP proxies were designed with a number of 
purposes in mind -- see page 10 of [1], and section 2 of [2] -- none of 
them were "making it appear that a user is in a different part of the 
network than he really is." They can be *used* to do that (with a lot of 
caveats [3]), but their primary purposes lie elsewhere.

What you're advocating only makes sense in the context of appearing to 
come from a part of the network that you're not in. It's kind of a 
tail-wagging-the-dog approach: if you're using proxies for their 
designed purpose, then this disabling is not what you want to happen. In 
the intended use cases, what you want is the ability to discover some 
kind of local TURN server that does for RTP what HTTP proxies are 
designed to do for HTTP (again, see section 2 of [2]).

However, that raises a potentially interesting approach. One of the 
things we're working on in the TRAM working group is exactly this kind 
of TURN server discovery. If we had some means of learning this from a 
configured HTTP proxy (and a means of this field saying "and only use 
relayed candidates"), then the web browser might be able to use it as an 
alternate discovery mechanism. If we add this kind of discovery, then 
proxies that are deployed for the purposes you care about -- appearing 
to come from a different part of the network than the one you're in -- 
can point your browser to a TURN server that is colocated with the HTTP 
proxy. That way, WebRTC traffic will originate from the same point in 
the network as HTTP traffic. It also seems possible that we could 
include some way for this field to basically say "don't use WebRTC if 
you're using this proxy."

>      - otherwise asking user for permission to access such API

Based on discussions that I've seen so far, I believe that more people 
oppose such a proposal than support it -- but it's not clear to me that 
there's consensus in either direction. It's easier to call for consensus 
around text in an internet-draft, though, than suggestions in an email. 
At the very least, it would be the first step in determining what kind 
of compromise might be reached.

/a
____
[0] 
https://tools.ietf.org/html/draft-hutton-rtcweb-nat-firewall-considerations-03
[1] https://tools.ietf.org/html/rfc7230
[2] https://tools.ietf.org/html/draft-nottingham-http-proxy-problem-01
[3] For example, what would you make of a connection that originates 
from an IP address in Ireland, but has a date that appears to be in 
UTC+3:30, and a language setting of "fa-IR"?