Re: [rtcweb] DTLS, DTLS-SRTP, and 5-tuples

Christer Holmberg <christer.holmberg@ericsson.com> Fri, 13 March 2015 19:58 UTC

Return-Path: <christer.holmberg@ericsson.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 EE0CE1A1A03 for <rtcweb@ietfa.amsl.com>; Fri, 13 Mar 2015 12:58:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level:
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, 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 ukLDkNgsWsVa for <rtcweb@ietfa.amsl.com>; Fri, 13 Mar 2015 12:58:08 -0700 (PDT)
Received: from sesbmg23.ericsson.net (sesbmg23.ericsson.net [193.180.251.37]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 95C921A0019 for <rtcweb@ietf.org>; Fri, 13 Mar 2015 12:58:07 -0700 (PDT)
X-AuditID: c1b4fb25-f79126d000004b89-17-5503414d7a88
Received: from ESESSHC002.ericsson.se (Unknown_Domain [153.88.253.124]) by sesbmg23.ericsson.net (Symantec Mail Security) with SMTP id E9.DB.19337.D4143055; Fri, 13 Mar 2015 20:58:05 +0100 (CET)
Received: from ESESSMB209.ericsson.se ([169.254.9.214]) by ESESSHC002.ericsson.se ([153.88.183.24]) with mapi id 14.03.0210.002; Fri, 13 Mar 2015 20:58:04 +0100
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: Justin Uberti <juberti@google.com>, Harald Alvestrand <harald@alvestrand.no>
Thread-Topic: [rtcweb] DTLS, DTLS-SRTP, and 5-tuples
Thread-Index: AQHQVqbHfYSbCv5RRE+VguSZdJaU4Z0MmygAgAACNQCAAB9EuP//8M8AgAASNNj//+/xAIAADFaAgAAlg8SAABtygIAAeWFLgAAf7wCAAAYfgIAAVgeAgAZK9ICAAInMAIACfsqQ///+kYAAAkFGAP//9aSA///silCAABmMAIAAEUGA//63n9CAAs9YAP/+nTMwAGFnfwAAATXyAAAEVRiA///dC6A=
Date: Fri, 13 Mar 2015 19:58:04 +0000
Message-ID: <7594FB04B1934943A5C02806D1A2204B1D73A2E9@ESESSMB209.ericsson.se>
References: <54F74B02.1070902@jive.com> <CA5E97EE-99F8-44D8-B05B-C9EFDED1A9BB@vidyo.com> <2F467A7E-7A6C-4B1B-985A-0D9C089BE973@cisco.com> <CAOJ7v-1TjZOZ5G31vy_Gt73ADGLRay1RHVeMi=H6Q4=N1b6HLA@mail.gmail.com> <7594FB04B1934943A5C02806D1A2204B1D7367A0@ESESSMB209.ericsson.se> <CALiegfmyp=v6thk4eLz7nL1BHh2Qj7jmC84tdG7ufg8HPXsVKA@mail.gmail.com> <7594FB04B1934943A5C02806D1A2204B1D7369C9@ESESSMB209.ericsson.se> <CAD5OKxtCswToNzoZnnqJ5M66mjNjKJoA++WYNqN5155n+CWXsA@mail.gmail.com> <7594FB04B1934943A5C02806D1A2204B1D736AC0@ESESSMB209.ericsson.se> <CAD5OKxs1grSqAG32mf__wtsjpo68jZmKonbd+EsJmYNsDHUbFQ@mail.gmail.com> <CAOJ7v-3YypG1s9KXOCA+Fo58SuVuUk5-thcSc0k3N2j=4ZmJoA@mail.gmail.com> <7594FB04B1934943A5C02806D1A2204B1D737A76@ESESSMB209.ericsson.se> <CAD5OKxs+OEDp9pYrZHw237PfsNunao=PSC89dRhWiFcMwEQUXg@mail.gmail.com> <7594FB04B1934943A5C02806D1A2204B1D739611@ESESSMB209.ericsson.se> <CAOJ7v-3bCxVP9fNuRFp_sVBXh4msnF1=fVZrefE0jejMzY8VQQ@mail.gmail.com> <5503147C.3060506@alvestrand.no> <CAOJ7v-23_H2jjgG6GrOd1MPv9M-iDbzsdF=L9e5xJsEbH=21PA@mail.gmail.com>
In-Reply-To: <CAOJ7v-23_H2jjgG6GrOd1MPv9M-iDbzsdF=L9e5xJsEbH=21PA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [153.88.183.154]
Content-Type: multipart/alternative; boundary="_000_7594FB04B1934943A5C02806D1A2204B1D73A2E9ESESSMB209erics_"
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprAIsWRmVeSWpSXmKPExsUyM+Jvja6vI3OowemDihbH+rrYLLZOFbJY +6+d3YHZ48qEK6weCzaVeixZ8pMpgDmKyyYlNSezLLVI3y6BK+P/10uMBY96GSt+7ZnK3MD4 p5Oxi5GTQ0LARKLnXjczhC0mceHeerYuRi4OIYEjjBKTlzezQDhLGCWefGsH6uDgYBOwkOj+ pw3SICIQJPH9zy0WEJtZQF3izuJz7CC2sICxxLeZTxghakwkNj5/zgQyR0TgHaPEmo7FYA0s AqoSS3btYAWxeQV8Jab8WckEsWwPh8TGE1fZQBKcAoESC682MIHYjEDnfT+1hglim7jErSfz mSDOFpBYsuc81AuiEi8f/2OFsJUkFt3+DFWfLzFp6Sk2iGWCEidnPmGZwCg6C8moWUjKZiEp mwX0M7OApsT6XfoQJYoSU7ofskPYGhKtc+ayI4svYGRfxShanFqclJtuZKyXWpSZXFycn6eX l1qyiREYhQe3/FbdwXj5jeMhRgEORiUe3g9dTKFCrIllxZW5hxilOViUxHntjA+FCAmkJ5ak ZqemFqQWxReV5qQWH2Jk4uCUamDkaZo+edKdQgbvSsOmWVpB52IXFBgwJ/bqzmm4+Cev9Pzs /3ztSxtDOlzuTmjhCe6tOiDYK+3t/q9dxrz96fyjgmURW9cmeneyRkh6KVpcMX+xQsLD6YX9 ZccA9SnFwn1vNz594x1680bnrlt7eE7OPFTnH73yeOhuG9UpfmvZOI/83vL38SklluKMREMt 5qLiRACH4bNcowIAAA==
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtcweb/H_JqD9fW3m6OLvQ1bgYeZwhQXE4>
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] DTLS, DTLS-SRTP, and 5-tuples
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: <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: Fri, 13 Mar 2015 19:58:11 -0000

Hi,

The thing that brought this whole thing up was DTLS.

So, unless people see a need for something else, maybe we should limit the scope to DTLS, and describe how a DTLS connection can span multiple candidate pairs (read: multiple 5-tuples)?

Otherwise we may end up spending lots of time for something which nobody really need…

Regards,

Christer

From: rtcweb [mailto:rtcweb-bounces@ietf.org] On Behalf Of Justin Uberti
Sent: 13 March 2015 20:51
To: Harald Alvestrand
Cc: rtcweb@ietf.org
Subject: Re: [rtcweb] DTLS, DTLS-SRTP, and 5-tuples



On Fri, Mar 13, 2015 at 9:46 AM, Harald Alvestrand <harald@alvestrand.no<mailto:harald@alvestrand.no>> wrote:
On 03/13/2015 04:12 PM, Justin Uberti wrote:


On Fri, Mar 13, 2015 at 4:05 AM, Christer Holmberg <christer.holmberg@ericsson.com<mailto:christer.holmberg@ericsson.com>> wrote:
Hi,

> TLS (vs DTLS) cannot run on top of ICE since it is not a protocol which can run on top of unreliable packet based transport with no order guarantees. It would require a stream
> based transport to run below it in order to operate. If someone defines TCP over ICE, that would make a good underlying stream protocol to run below TLS. Once again, no one
> needed this so far.

Even if we had TCP over ICE, I still don't know whether we would be able to run TLS on top. Because, in addition to reliability, doesn't TLS also rely on the ordering provided by TCP? We would need to make sure the ordering is maintained if endpoints use multiple TCP 5-tuples.

A few points:
- Anything we are say "runs over ICE" is going to be tunneled over UDP or TCP, whichever ICE chooses to use as its underlying datagram transport. So the notion of running "plain TCP" over ICE is nonsensical.

- Assuming we do run TCP over ICE, we can certainly run TLS on top. Since TCP is just treating the underlying ICE transport as a datagram transport, TCP retains all of its reliability and in-order properties. So TLS just sees that it is running over TCP, and doesn't care that it is ICE at the lowest layer. Note that this stacking of TLS/TCP/ICE is different from the case of running TLS over ICE-TCP, since ICE-TCP does not guarantee reliability or ordering.

- Harald's point about the TCP checksum is true; if we were truly standardizing TCP-over-ICE, we would have to define an appropriate way to compute the TCP checksum given that said checksum makes assumptions about IP particulars. This would not be hard though.

- Lastly, this is clearly a source of massive confusion, so I agree we should discuss it in detail in Dallas. I would be happy to help prepare presentation material if needed.

Can we define an use case for which there is a compelling need for <whatever it is we're discussing> before spending too much meeting time on it?

It's clearly very simple to define a protocol that is like TCP except that the checksum doesn't include the addresses, and where the two highest bits of the first byte aren't 00. It's not interoperable with standard TCP, it can't take advantage of TCP accelerator hardware or be detected by TCP-sensitive middle boxes (unless tweaked). But it's simple to define.

It's also clearly very simple to run this protocol over ICE.

But why?

And is this scenario relevant for RTCWEB, which is trying to finish its current set of options?

To be clear, I am not advocating going off and doing work to make TCP run over ICE. My point was merely that essentially any protocol that runs over IP or some other datagram transport can be made to run over ICE with zero or minimal modifications; this is not well understood; and so this should be explicitly codified in ICE-bis.