- From: Peter Thatcher <pthatcher@google.com>
- Date: Wed, 10 Jan 2018 21:09:59 +0000
- To: T H Panton <thp@westhawk.co.uk>
- Cc: "public-webrtc@w3.org" <public-webrtc@w3.org>, Martin Thomson <martin.thomson@gmail.com>, Dominique Hazael-Massieux <dom@w3.org>, Bernard Aboba <Bernard.Aboba@microsoft.com>
- Message-ID: <CAJrXDUEeFepMsiG=9dtzf93b-9dHW8cC_VDvx5BeVQ3OkodpJg@mail.gmail.com>
On Wed, Jan 10, 2018 at 2:51 AM T H Panton <thp@westhawk.co.uk> wrote: > > On 10 Jan 2018, at 06:10, Peter Thatcher <pthatcher@google.com> wrote: > > > > On Sat, Jan 6, 2018 at 6:08 AM westhawk <thp@westhawk.co.uk> wrote: > >> >> On 6 Jan 2018, at 00:57, Peter Thatcher <pthatcher@google.com> wrote: >> >> >> >> On Tue, Jan 2, 2018 at 3:47 AM T H Panton <thp@westhawk.co.uk> wrote: >> >>> >>> >>> > On 2 Jan 2018, at 05:26, Bernard Aboba <Bernard.Aboba@microsoft.com> >>> wrote: >>> > >>> > Martin said: >>> > >>> > "What are the plans for the protocol pieces for the new items? I >>> > haven't seen any plans - or internet-drafts - for those, and the bulk >>> > of the work for some of these items is protocol work. For instance, I >>> > can understand why the group might choose not to rely on SDP for >>> > negotiating new features, which leads to some API work, but the bulk >>> > of the QUIC datachannels work is in defining protocols, not the API." >>> > >>> > [BA] The QUIC API presented at TPAC depends only on currently >>> chartered work in the IETF QUIC WG (e.g. the QUIC transport document) as >>> well as resolution of the QUIC multiplexing problem (by whatever approach >>> the IETF decides on). >>> > >>> > As the QUIC transport document evolves, the QUIC API will presumably >>> evolve as well (e.g. the proposed API currently provides a bi-directional >>> stream abstraction). >>> > >>> > As Peter noted, it should be possible to implement the RTCDataChannel >>> API on top of the proposed QUIC API once the IETF defines the protocol for >>> QUIC datachannels. >>> > >>> >>> I don't think I've seen the requirements/use-case doc for QUIC - or >>> indeed any discussion about why only QUIC will do whatever the need is. >>> If we are picking a new protocol we should be _super_ clear why. >>> The current multilayer protocol soup at least has the advantages that >>> each ingredient is reasonably well known and >>> well specified. Most of them have multiple tested public implementations. >>> >>> This is useful in 2 ways: >>> 1) it makes the spec possible to implement in a reasonable timeframe. >>> 2) it makes it relatively easy to handwave about the security properties >>> of the stack. >>> e.g: "You were going to use x over DTLS - this is just the same, but has >>> ICE support and works in a browser" >>> >>> Given that we haven't implemented 1.0 anywhere yet, I'm a bit negative >>> about 2.0 including a load of new untested stuff >>> >> >> It sounds like you're making three completely different arguments: >> >> 1. Something like "let's not do any 2.0 stuff until all the 1.0 stuff is >> implemented”. >> >> >> Not quite what I meant - more like : >> Our experience is that optionalities in webRTC 1.0 make for complexity >> and poorer interop - supporting both QUIC and SCTP/DTLS in >> 2.0 introduces a whole swathe of new failure modes. >> > > I'm having a hard time thinking of what this "whole swathe" would entail. > Could you be more specific? > > > Ok, off the top of my head: > > What's the security context of the proposed QUIC datachannel? Does it > share the same cert/fingerprint as DTLS (if you have both) active? > The JS specifies the cert. It's up to it to decide. > If it doesn't use the same cert, how does it tie back to the SDP > and via that to the CORS and from there to the originating domain? > It's up to the JS to control any tie back to SDP. > How does this work with IdP ? > It doesn't. But neither does IdP. > > How are the SRTP keys generated ? - > Do you always have to start DTLS to create them? Or does QUIC do this ? > What happens if > both protocols are available - who creates the SRTP key material? > They aren't. This is for data channels (and media over QUIC, eventually), not a replacement for DTLS-SRTP. We could come up with a replacement for DTLS-SRTP, but that's not what we're proposing right now. > > It looks like QUIC doesn't do labels on streams, what happens if an app > wants labeled streams - > That's up to the JS to decide. A few bytes at the front of a stream seems straightforward if it wants to do that. > does it have to use DTLS/SCTP? > No. > > Where will you set the SRTP crypto mode? It is currently set in a DTLS > extension. > This is not a replacement for DTLS-SRTP. That could be proposed, but that's not this proposal. > > The answers to these questions each imply a possible failure mode. > I'm not really seeing a failure mode except one that JS creates for itself. > > - Thats all before I've had coffee. > > > > >> >> >> 2. Something like "let's not do any untested things in 2.0, and QUIC is >> untested”. >> >> >> 3. Let's only do things unless we have good reasons. >> >> >> I don't agree with #1. If we wait until all the browsers are done >> implementing all of 1.0 before we standardize anything else, we'll be >> twiddling our thumbs for a long time in the WG and wasting valuable time. >> The standardization process takes a long time, so we might as well start >> now on work that will take a while rather than waiting until much later. >> We should do something with the time we have, but not sit around doing >> nothing while implementations catch up. >> >> >> I agree standards take a while, but setting QUIC itself as a goal in the >> WG charter seems like putting the cart before the horse. >> Prematurely latching onto an acronym rather than a set of desirable >> properties is how we got stuck on SDP IMHO. A charter shouldn’t specify a >> solution IMHO. >> > > If you want to say "better data channels" or something generic in the > charter and then decide on QUIC in the WG after the charter, I suppose that > makes sense. But I'm not sure how it would be anything other than QUIC. > Is there another option around I don't know about? > > > I think 'better data channels' with a list of shortcomings in the current > offer is a good way to start a 2.0 group. > What do you mean by "start a 2.0 group"? Do you mean the recharter? No one is proposing starting a different group. > I'd be very surprised if we end up with _pure_ unadulterated QUIC - WebRTC > has a habit of needing changes to existing specs for it's unique > environment. > We've been feeding back some things into the QUIC WG (such as for demux with RTP and DTLS). But I think "_pure_ unadulterated QUIC" is the optimal and that's what we're targeting. > > > > >> >> >> I don't agree with #2. While the QUIC that's coming out of the QUIC WG >> is untested (since it's not done), the pre-draft version of QUIC out in the >> while is very tested and used very widely in production. In what sense is >> QUIC untested? >> >> >> In the sense that there are a _lot_ of independent DTLS implementations >> running on a vast range of hardware - from SIM cards up to IBM big iron >> with everything in between. >> QUIC has a much narrower range of tested support and implementations. >> > > If having a lot of well-tested independent implementations were a > requirement for data channels, we wouldn't be using SCTP. It basically had > one. And in my experience the most widely deployed QUIC implementation is > much more robust and mature than the most widely deployed SCTP > implementation. And in a few years (perhaps sooner), there will be a lot > of interoperable QUIC implementations. And there will still probably be > only one SCTP implementation that anyone uses. > > > > Technically that isn't right - the maths is that every > chrome/firefox/safari instance runs that SCTP - whereas only chrome runs > QUIC, I very much doubt you have more server side > QUICs than there are firefoxes - Nit picking I know.... > Well, I said "in a few years (perhaps sooner)". And there's a lot more traffic moving over QUIC than DTLS/SCTP. > > Also, that's exactly why I wrote a fresh SCTP implementation - so make > that at least 2 ;-) > Interesting. Is it open source? Do you have a link to it? > > T. >
Received on Wednesday, 10 January 2018 21:10:36 UTC