Roman, Bernard,
right, RFC 5764 is too vague on that aspect. Thanks for confirming the number 
of DTLS sessions, which is inline with our understanding.
Would appreciate if this could be somewhere fixed in an rtcweb draft due to 
significant side effects.
This topic is also an ongoing FAQ.

The most simple case is given by a scenario with usage of bundling plus usage 
of RTP/RTCP transport multiplexing, leading to a single DTLS session/DTLS 
connection, which could be then also shared for WebRTC data.

Both capabilities are mandated in the rtp usage draft:
https://tools.ietf.org/html/draft-ietf-rtcweb-rtp-usage-25#section-4.4
=> bundling
https://tools.ietf.org/html/draft-ietf-rtcweb-rtp-usage-25#section-4.5
=> RTP/RTCP transport multiplexing

Now, IF bundling is not used OR RTP/RTCP transport multiplexing is not used 
THEN there will be more than one DTLS session/DTLS connection (either 2 or 4 in 
case of audio & video).
Raising the question which DTLS connection is used for additional WebRTC data 
traffic? - Because
https://tools.ietf.org/html/draft-ietf-rtcweb-transports-09#section-3.5
indicates the sharing option.
Would then be a 3rd (or 5th) self-contained DTLS session/DTLS connection for 
WebRTC data traffic?

Proposal:
Add explicit text to clause 
https://tools.ietf.org/html/draft-ietf-rtcweb-transports-09#section-3.5
about (in red), something like:

   WebRTC implementations MUST support multiplexing of DTLS and RTP over
   the same port pair, as described in the DTLS-SRTP specification
   [RFC5764], section 5.1.2<https://tools.ietf.org/html/rfc5764#section-5.1.2>. 
 All application layer protocol payloads
   over this DTLS connection are SCTP packets.



   Note 1: There will be two DTLS sessions/DTLS connections when RTP/RTCP 
transport multiplexing is not applied. WebRTC data traffic could still share 
one of these DTLS connections … (“which one?”) … or There should be then a 
separate, self-contained DTLS session/DTLS connection established exclusively 
for WebRTC data.



   Note 2: There are similar considerations in case of bundling.

   Protocol identification MUST be supplied as part of the DTLS
   handshake, as specified in 
[I-D.ietf-rtcweb-alpn<https://tools.ietf.org/html/draft-ietf-rtcweb-transports-09#ref-I-D.ietf-rtcweb-alpn>].

Comments?
Regards,
Albrecht

PS
Using (D)TLS terminology according to 
http://tools.ietf.org/id/draft-guballa-tls-terminology-01.txt


From: Bernard Aboba [mailto:bernard.ab...@gmail.com]
Sent: Mittwoch, 5. August 2015 04:04
To: Roman Shpount
Cc: Asveren, Tolga; Christer Holmberg; Eric Rescorla; Schwarz, Albrecht 
(Albrecht); Rauschenbach, Uwe (Nokia - DE/Munich); <rtc...@ietf.org>
Subject: Re: [rtcweb] What the gateway draft should say about mux/non-mux

On Aug 4, 2015, at 16:33, Roman Shpount 
<ro...@telurix.com<mailto:ro...@telurix.com>> wrote:

Most of the people implement this wrong, since you need to create two DTLS 
sessions: one for RTP and another for RTCP. And then use different keys or 
possibly even encryption profiles for RTP and RTCP. I commonly see one session 
for RTP and keys negotiated there used for both RTP and RTCP, which is wrong.

[BA] Yes, that is only one of several common mistakes.  Unfortunately, RFC 5764 
does not rule out all of these and the security documents are not crystal clear 
on how things must be done. It is much harder to mess up RTP/RTCP mux.  Given 
what I've seen so far, non-mux could become a support nightmare.
_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls

Reply via email to