Re: [rtcweb] Security implications of host candidates

Justin Uberti <juberti@google.com> Fri, 06 July 2018 17:15 UTC

Return-Path: <juberti@google.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CCC0B130EEB for <rtcweb@ietfa.amsl.com>; Fri, 6 Jul 2018 10:15:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.509
X-Spam-Level:
X-Spam-Status: No, score=-17.509 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_DKIMWL_WL_MED=-0.01, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.com
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 xqm6QvS87Xy5 for <rtcweb@ietfa.amsl.com>; Fri, 6 Jul 2018 10:15:42 -0700 (PDT)
Received: from mail-it0-x22f.google.com (mail-it0-x22f.google.com [IPv6:2607:f8b0:4001:c0b::22f]) (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 BCFAA130EE3 for <rtcweb@ietf.org>; Fri, 6 Jul 2018 10:15:42 -0700 (PDT)
Received: by mail-it0-x22f.google.com with SMTP id u4-v6so17447214itg.0 for <rtcweb@ietf.org>; Fri, 06 Jul 2018 10:15:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=GdVmdrsIUkCT0hhSYM+WHXStCFZPyf3m6k7d/AxPIJE=; b=MDFltDZtrBspJLTwi94GSTSW2zF2Nz0zNL19YOTtx+SrPx53fa7tX/9JU2MDOq+peM 2vS+h15bHMA7QUSTctpSyEtmsyQI1ISpkvayKKUqrrfjN66E0NVI82O1VV4uJkOVj1Pt tMDs615hHXpKlL46WuxLSXCuhgu2xWjjJQCCMIUnrBYC7RM09YbZ6GRwSDjV9GWrdyWm qCZgxHUCMzR/PpZRaGpeZbxDIxkMbvKjCuCJKoVkrm1gIsmms4r1Iawo+grAc91mwoTk HLjmDZ40Su5YU3QLehIttYM29OQ5iRho92MXxbV6cZ/NhBA1e7fJog2O4Cm05DLInC2s rwQA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=GdVmdrsIUkCT0hhSYM+WHXStCFZPyf3m6k7d/AxPIJE=; b=J6SF4dvDCVceZqAqlhWCSO/wGIMsQwMup6fk+cQTReyUSlFtcbAhHmQpXiQwOxRbDp NXebWgTMO3FTNgj9r3nqUFXQggvPA11UB25WGSjEFgLf4W5TB9eHSo+tuZbk4uCPwVwX e3WwzyJpUfvI36QluDzMtrPO3Xx4kO4K1eYy5kSrR/dEyEEPk+UJ178/yT8R7k71UZeS VsTbDvS/TjvWuW1BkwzlXEqlJHCrZwbjpmTXKnf6GNUrQq+sZrNA6rVpNTy0X01Utyph 1nJdjAcxL6j8mZ+qnBYje5kz8SCFr4rKTeR7o+dfwveFJ5RTdnNfHjQ1iRlx5pkscYZp ytIQ==
X-Gm-Message-State: APt69E2+JMxUcU8uDGcntTzijp9eoa95DtyrzZvfL9Ez25Ohx5RarSAP ZsBcv4Ut0oqkEm1kOQHydC6wnsnpTgSe9STTOmWXaA==
X-Google-Smtp-Source: AAOMgpcj/NB/Ott5NkwoU34b4EII66sKDOid/UQloukals4te8KYqEBjXXEX1ufTkwPu7b9KtXeRZvoG8X9jr34K3Ow=
X-Received: by 2002:a24:19d5:: with SMTP id b204-v6mr8568869itb.25.1530897341421; Fri, 06 Jul 2018 10:15:41 -0700 (PDT)
MIME-Version: 1.0
References: <CAOJ7v-1t_BDEEHmA4eqiS9ksYOOyHUz9LFLhQxs8FhjTdswP5w@mail.gmail.com> <CANN+akZLRdZdexjU44zPCA6vdQR0hVYT17_4P8DefC0JbRL5mA@mail.gmail.com> <CAOJ7v-2JdiMJ9iWE_cL8G7xDM6iekexJL8KLEbz0jD=p7hiGZg@mail.gmail.com> <CANN+akbv2mpyhgV5vxDHKcsA8UPsSEr0bEjJK4xYxtvbkXNA7w@mail.gmail.com> <CAOJ7v-3gHMCxHU02YG3NoqvWHtXgOSWSm+y88GNDW0qc=Sqq=A@mail.gmail.com> <CAOJ7v-3moUqwgxkz1Fek4vy-XV+WpDaO-PsQZEw4ougoCHjLww@mail.gmail.com> <CANN+akZ=Ebw41mA2wEX7-4u6q5WcZbFtM=VMLX4nDK39S=QGOQ@mail.gmail.com>
In-Reply-To: <CANN+akZ=Ebw41mA2wEX7-4u6q5WcZbFtM=VMLX4nDK39S=QGOQ@mail.gmail.com>
From: Justin Uberti <juberti@google.com>
Date: Fri, 06 Jul 2018 10:15:29 -0700
Message-ID: <CAOJ7v-3X2Sj8Yid+i0=xadyH_Hmf4pMOF_iuOV+56Ty8HNnJuw@mail.gmail.com>
To: youenn fablet <youennf@gmail.com>
Cc: youenn fablet <yfablet@apple.com>, RTCWeb IETF <rtcweb@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000039b90a057057d086"
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtcweb/a4hZbQukAyRJzbqyCtED-X9CjXU>
Subject: Re: [rtcweb] Security implications of host candidates
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.26
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: Fri, 06 Jul 2018 17:15:45 -0000

Thanks for the new version. I tried a few scenarios and agree that this
technique can identify a same-host situation fairly reliably, especially in
wireless environments; I typically saw ~2 ms latency for same-host and 5-10
ms latency (with occasional spikes) for over-the-air connections.

I'm still not quite sure what we should do about it; as noted, public
IPv4 + user-agent (http://www.whatsmyua.info/) is probably unique in the
vast majority of cases, and the situation is unavoidable with IPv6.



On Wed, Jul 4, 2018 at 2:12 PM youenn fablet <youennf@gmail.com> wrote:

>
> Le mar. 3 juil. 2018 à 14:40, Justin Uberti <juberti@google.com> a écrit :
>
>> Updated fiddle (outputs to display as well as console):
>> https://jsfiddle.net/juberti/x7a8ut0q/37/
>>
>
> Right, this shows the local loopback latency.
>
>
>> On Tue, Jul 3, 2018 at 11:16 AM Justin Uberti <juberti@google.com> wrote:
>>
>>> I wasn't able to get that example to work (tried with 2 Chrome and 2
>>> Safari instances, got a setRemoteDescription error both times), but I was
>>> able to make a JSFiddle <https://jsfiddle.net/juberti/x7a8ut0q/25/>
>>> which does something similar in a single page. At present, even host-host
>>> connections were seeing a 2 ms RTT, possibly because of the clamping
>>> <https://developer.mozilla.org/en-US/docs/Web/API/Performance/now> that
>>> has been applied to performance.now() to deal with Spectre et al.
>>>
>>
> I updated
> https://evening-thicket-98446.herokuapp.com/src/content/peerconnection/datachannel-b2b/,
> it should hopefully be more intuitive to use this time:
> 1. load the page in one device
> 2. load the link provided by the page on another device
> 3. click 'call' on the first page
> 4. a latency value should appear on the page and be continuously updated
>