Subject: [rtcweb] Security Architecture: IdP for RTP and RTCP
From: Bernard Aboba <[email-masked]>
To: "[email-masked]" <[email-masked]>
Date: Tue, 8 Jul 2014 10:54:41 -0700
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>

In the situation where RTP and RTCP are not multiplexed, distinct DTLS
transports and DTLS/SRTP key exchanges would occur for RTP and RTCP.

In looking for guidance within the security architecture document, some
questions came to mind:

a. Are the certificates used for RTP and RTCP DTLS Transports necessarily
the same on both the local and remote side? If they are supposed to be the
same, what happens if they aren't?

b. Can different identities be asserted for the RTP and RTCP DTLS
Transports? Does this make sense in some circumstances? If so, when?

Within a browser, it seems logical that the certificates used for RTP and
RTCP DTLS Transports and the asserted identities should be the same
(assuming that RTP and RTCP aren't multiplexed).

The WebRTC 1.0 API Section 8.3 seems to indicate that this should always be
the case:

"It is possible that different values for the "a=identity" attribute is
provided at a media level in SDP. A browser may either choose to treat this
as an error or ignore the attribute. If multiple different assertions are
validated, then they must produce identical identity values."

However, I am wondering whether there can be legitimate cases where a
browser communicating with a gateway or SFU might encounter distinct
identities or certificates for RTP and RTCP.  For example, could an SFU
potentially terminate RTCP but not RTP, in which case the certificates and
asserted identities might be different between RTP and RTCP?

The WebRTC 1.0 spec seems to indicate that this should be treated as a
fatal error, but I'm wondering whether the browser shouldn't be "strict in
what it sends but liberal in handling what it receives" by just using the
identity and certificates for RTP, and ignoring the RTCP identities.
 Trying to inform the user about different asserted identities for RTP and
RTCP seems way too complicated to even be worth considering.