- From: Justin Uberti <juberti@google.com>
- Date: Fri, 2 Sep 2011 23:46:40 -0400
- To: Bernard Aboba <bernard_aboba@hotmail.com>
- Cc: randell-ietf@jesup.org, public-webrtc@w3.org, rtcweb@ietf.org
- Message-ID: <CAOJ7v-2QyB+jd7UoDKy+-oGwG926KNdgbwoJZcm6twUcKrGZjg@mail.gmail.com>
On Fri, Sep 2, 2011 at 8:13 PM, Bernard Aboba <bernard_aboba@hotmail.com>wrote: > > >> Section 5 in the WEBRTC spec > > >> (http://dev.w3.org/2011/webrtc/editor/webrtc.html) discusses at > > >> length a mechanism for transmitting and securing datagrams over the > > >> PeerConnection transport. > > [BA] The objective here appears to be "masking" (e.g. to prevent sending of > arbitrary datagrams) rather than providing a full set of security services. > The current spec provides an encryption and authentication mechanism, in addition to the masking. From the spec: "The data is made to appear pseudo-random, so that it cannot be used in a cross-protocol attack, even if somehow the stream were to be directed at an unsuspecting remote host. The data is hashed in such a way that it cannot be modified in transit. That data is encrypted so that it cannot be read in transit." > > > > > At both an API and a wire level, this > > >> mechanism is quite different from the existing mechanisms that are > > >> used for transmission of audio and video data: > > >> - The availability of the data stream is not easily known, whereas > > >> audio/video can be negotiated and stream existence learned from the > > >> *Stream methods/callbacks. > > [BA] It looked to me that the data channel was negotiated in SDP, no? > Yes. But the API doesn't expose whether the data channel was successfully negotiated. > > > >> - It defines its own encryption mechanism, whereas audio/video will > > >> use SDES-SRTP, or DTLS-SRTP > > [BA] I don't believe that the objective here is to duplicate the security > services in SRTP, DTLS, TLS, IPsec or any other comprehensive security > framework. > It's closer to the "masking" supported by WebSockets. > That's not my understanding of the spec, as evidenced above. > > > > >> - This stream will show up in SDP > > [BA] I believe that's what the current spec already says. > > > > Disagree. RTP semantics are inappropriate for sending data. The data > > > should be sent using one of the two methods for muxing data that were > > > proposed (one by me, one by cbran). > > [BA] Agree that RTP semantics aren't necessarily appropriate for non > media-stream data. > Yeah, I admit my original opinion on this was that RTP was crazy. But looking at it more, we're going to end up duplicating much of what RTP provides - Matthew's proposal adds a 4 byte header to distinguish it from STUN, and we probably also need a stream id and a sequence number (for TFRC). At that point we're only a timestamp away from a full RTP header. I think this is an interesting discussion, so I'll send a new email to the list to discuss the wire format of this protocol, which I think can be considered separately from the DataStream proposal I'm putting forth here. > > > >> - For encryption, it simply uses the underlying encryption of the > > >> session, i.e. none, SDES-SRTP, or DTLS-SRTP, as appropriate. > > [BA] If the underlying semantics of RTP aren't a good fit, why would that > make sense? > True. However, if we use DTLS, we can apply DTLS without the need for RTP semantics. Or as Matthew says, we could also make SRTP-style encryption work with whatever datagram protocol we come up with. > > > > Absolutely correct. Possibly needs masking for the "none" case > > > however... need to discuss. > > [BA] Right. That's why it's there, not to provide a generic security > framework. > See above. > > > > > Hmmm.... This (blah-SRTP for encrypting the data streams means full > > un-encrypted RTP headers at a minimum, plus a bunch of those "RTP > > semantics" you disagreed with above. Unless I mis-understand how this > > would work. > > [BA] Right. That's what trying to force RTP security on non-media data > isn't appropriate. > See above. > > > > _______________________________________________ > rtcweb mailing list > rtcweb@ietf.org > https://www.ietf.org/mailman/listinfo/rtcweb > >
Received on Saturday, 3 September 2011 03:47:26 UTC