Re: [rtcweb] A compromise for SDES

Cullen Jennings <fluffy@iii.ca> Sat, 27 July 2013 14:00 UTC

Return-Path: <fluffy@iii.ca>
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 8404E21F8C3E for <rtcweb@ietfa.amsl.com>; Sat, 27 Jul 2013 07:00:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id totu9ElHJOhL for <rtcweb@ietfa.amsl.com>; Sat, 27 Jul 2013 07:00:00 -0700 (PDT)
Received: from mxout-08.mxes.net (mxout-08.mxes.net [216.86.168.183]) by ietfa.amsl.com (Postfix) with ESMTP id BEE7521F8CDD for <rtcweb@ietf.org>; Sat, 27 Jul 2013 06:59:52 -0700 (PDT)
Received: from dhcp-10-61-111-139.cisco.com (unknown [64.103.25.233]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by smtp.mxes.net (Postfix) with ESMTPSA id 7D7C050A84; Sat, 27 Jul 2013 09:59:49 -0400 (EDT)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 6.5 \(1508\))
From: Cullen Jennings <fluffy@iii.ca>
In-Reply-To: <B2DF729D-B313-4D3E-9C06-DA00AF7A14FF@oracle.com>
Date: Sat, 27 Jul 2013 15:59:47 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <2BC3A8BA-C550-4889-A8B5-28D937A8EB42@iii.ca>
References: <CA+9kkMBuCTdFsUMtmuBz6BnrSJMpHywEZU+x+m8ARnGprvzDzA@mail.gmail.com> <CABkgnnXOa44ZkZj-g6r7Qdk8dwm6m81yT4U=Q23-hE1Q7Hn22w@mail.gmail.com> <F9556428-B6B8-407D-9D62-9A1CC04D4253@oracle.com> <B2DF729D-B313-4D3E-9C06-DA00AF7A14FF@oracle.com>
To: Hadriel Kaplan <hadriel.kaplan@oracle.com>
X-Mailer: Apple Mail (2.1508)
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] A compromise for SDES
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.12
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: <http://www.ietf.org/mail-archive/web/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: Sat, 27 Jul 2013 14:00:05 -0000

I'm a bit confused about your proposal. 

From a RTCWeb WG point of view, it seems that the key question is what are we suggesting that things that implement WebRTC (including browsers) do? Are you proposing that SDES in browsers be optional, mandatory, or not allowed?


On Jul 13, 2013, at 11:07 AM, Hadriel Kaplan <hadriel.kaplan@oracle.com> wrote:

> Howdy,
> Someone's asked me to explain the compromise I plan on presenting in Berlin now, so we have more time to argue over it or chew on it.  The reason I was going to wait is because I wanted to explain how I got to the point of thinking such a compromise would make sense.  So I'll try to do that in this email, which will make this email long.  Nothin' much I can do about that.
> 
> Obviously this is all my personal opinion, not that of my employer, and not a statement claiming to be objective fact, etc.
> 
> Background:
> I think many people would agree that SDES has some benefits compared to DTLS for those of us wishing to interface to the SIP world.  Some of those benefits are commercial/cost factors, some are more tangible like reducing early media clipping.  Whether you agree with such benefits or not, so long as WebRTC could support SDES in a sufficiently-secure manner, there'd be less concern over having it.  Most of the arguments against SDES have been directed at whether it could in fact be "sufficiently secure".  Personally I find most of the arguments against it being secure enough to be essentially FUD, and/or also apply to DTLS-SRTP.
> 
> On the flip-side, I think the commercial/cost factor for SDES is not a strong cause, because I believe the market will bear whatever the extra cost may be. (I wasn't sure of this 2 years ago when this all started, but I'm fairly confident of it now)  And I think having only DTLS-SRTP as MTI would have a marketing benefit for WebRTC as a technology, which I value highly.
> 
> Given those personal feelings, I didn't much care either way, so long as a decision was made - although I still preferred having SDES to avoid the early media clipping problem.  So when I was going to present on this topic back in the Vancouver meeting, my last slide basically said: "If we support SDES and it turns out later we were wrong, we can always rescind it".  This was based on the notion that browsers get updated all the time, especially for security issues.
> 
> But later it occurred to me that's actually the Achilles' heel of supporting SDES in WebRTC, for those of us wanting to gateway this stuff to SIP.  Imagine if it turns out we were wrong, and some expected-or-unexpected vulnerability is exploited against some large WebRTC service provider, and makes the news/slashdot.  Browser vendors would instantly have new code removing SDES support, and browsers in devices would be updated virtually overnight - some users may take a long time to upgrade their specific browsers on their specific devices - but many of them would do so within days.  That would be untenable for a WebRTC service provider.  Even the smaller Enterprises take a long time to upgrade code on their servers, so even for them changing their gateways to suddenly support DTLS-SRTP would be unrealistic.  Imagine what it would be for larger providers, who might even have to deploy more servers to handle the sudden additional overhead of DTLS-SRTP.  Meanwhile a growing perc
> entage of their users can no longer use the service.  That's bad mojo.
> 
> The things that a WebRTC-to-SIP service provider can control, and arguably the much larger use-case for this stuff to begin with, are not really true "browsers" anyway - they're web-based-framework device Apps, provided by the service provider to begin with.  I.e., the apps they build using web application framework things like PhoneGap/Cordova, Appcelerator Titanium, etc.  I mean using a real Browser is nice for ad-hoc stuff, like being able to click on a "talk to a rep" button on a website, or a webex/meetecho type thing; but for real communication "service", whether it be as a subscriber of a traditional carrier, or Skype, or an employee of an Enterprise, or a call-center attendant, or whatever - for those most people would never want to have to open a browser just to receive/make calls.  They'd give you an app to use instead.
> 
> So it's the app use-case that would benefit the most from SDES, especially for issues like media clipping.  And the app use-case doesn't have the security concerns nor concerns for unforeseen overnight updates.
> 
> The Compromise:
> So given that background, I was planning to propose that the security doc keep DTLS-SRTP as the only MTI mechanism for browsers, BUT to add a statement that web-based application frameworks SHOULD also support SDES. (with text about why and how, etc.)
> 
> I don't think this is too controversial, because web-based frameworks are never beholden to following browser behavior anyway - they're used to build a native application, and native applications have a very different security/threat model in practice.  They're written for a specific purpose, and installed by users from known sources for that known purpose.  Technically, afaik, nothing we do in RTCWEB WG or W3C's WEBRTC group have any requirements/mandates for native applications anyway - an app maker would just ignore something they don't think applies to them - but I think web-based frameworks do generally try to follow W3C models for Javascript APIs, and will likely read the IETF RFCs for the media-layer stuff too.  So I think having this SHOULD statement would be beneficial.
> 
> Or if the WG prefers, we could even write a separate doc on what a web-based framework maker should consider supporting/not-supporting. (I can imagine a few other things they might want to offer that a browser can't)
> 
> -hadriel
> 
> _______________________________________________
> rtcweb mailing list
> rtcweb@ietf.org
> https://www.ietf.org/mailman/listinfo/rtcweb