Re: [rtcweb] BUNDLE: Attempting to resolve security consideration

Eric Rescorla <[email protected]>
Newsgroups gmane.ietf.mmusic
Message-ID <CABcZeBMTW48fj=1EMJ3uJCdVqEiYuPk+rDy6h_7W=jh0fu7tNQ@mail.gmail.com>
On Fri, Mar 3, 2017 at 8:24 AM, Magnus Westerlund <
[email protected]> wrote:

> Hi,
>
> Last IETF meeting we had discussions regarding the security considerations
> for the MID RTP header extensions regarding the need for encrypting the RTP
> header. On Christer's request I have attempted to capture what I believed
> was the outcome of this discussion into a text proposal.
>
> So the intention of the text is to capture the security considerations,
> i.e. known risks and what we believe is necessary to mitigate these risks.
> The conclusion of the discussion was that encrypting the MID in RTP header
> extensions is not necessary, and thus we have a conflict with the
> requirements in RFC 7941. I have attempted to motivate and on that basis
> wavier this requirement for this particular RTP SDES header extension. This
> is captured in last paragraph of section 16.
>
> The risk of implementation tracking lead us into a discussion around a
> algorithm for generating MID Values. I have drafted a proposal for such an
> algorithm in a new Section 14.1 inserted prior to the existing one.
>
> I note that in RTCWeb WG we did discuss that the encryption wavier would
> be done in the security architecture. However, I believe in retrospect that
> not covering this in BUNDLE in a common fashion would be confusing and
> likely cause questions in regards to the requirements of RFC 7941 when
> BUNDLE is used in other context than WebRTC.
>
> So please review and provide feedback. I know Christer wants to close this
> issue.
>
>
> 14.1.  Generating Identification-tags
>
>    The identification-tag is exposed on the network layer due to the
>    SDES item and RTP header extension defined below.  As this exposes
>    the identification-tag beyond contexts where it is normally exposed,
>    i.e.  signalling layer additional potential for implementation
>    identification exists.  To avoid such risks a RECOMMENDED to be used
>    algorithm for how the identification-tag value is generated is
>    specified below.  Using this one will ensure that one can't identify
>    which of the implementations using this algorithm it is.


If you mean which stack, I do not believe that this is actually that useful
a design
consideration. There are going to be a very large number of ways to
fingerprint
stacks. As the rest of the text seems predicated on that design objective,
I do
not think we should make this change.

-Ekr




The
>    algorithm is also designed to keep down the length of the MID SDES
>    item to preserve the MTU in RTP packets.
>
>    The value of the identification-tag for a particular media
>    description is generated by first determining the unsigned integer
>    index of the corresponding m= line in the SDP.  The first m= line in
>    the SDP gets index 0, then each subsequent m= line present in the SDP
>    gets an index value one value higher the previous line.  The index
>    value is then encoded to create the identification-tag value.  The
>    encoding is done in following the algorithm.  The integer reminder of
>    a division by 64 of the index, i.e. MOD 64, is determined.  The
>    reminder is encoded into an UTF-8 (ASCII) character by looking up the
>    character from the reminder using Table 1 in [RFC4648].  This
>    character is added to the front of the output string.  After that the
>    index is updated to the result of the index divided by 64.  If the
>    index becomes 0, then conclude the encoding.  If not, then go back
>    and the step calculating the reminder.  This algorithm is below
>    described using pseudo code.
>
>    # Initialization
>    work-index = index
>    # index is the index value to encode as unsigned integer
>    output = "" # Output string
>
>    # The below must be performed once to encode index=0
>    do {
>       reminder = work-index MOD 64
>       next-char = TableLookup(reminder)
>       output = concat(next-char,output)
>       work-index = work-index / 64
>    } while (work-index >0)
>
>    Examples of input and output:
>
>    Input     Output
>    0         A
>    1         B
>    42        q
>    56        4
>    63        /
>    64        BA
>    65        BB
>    256       EA
>    4095      //
>

This seems way over-prescriptive.



> 16.  Security Considerations
>
>    The security considerations defined in [RFC3264] and [RFC5888] apply
>    to the BUNDLE extension.  Bundle does not change which information
>    flows over the network but only changes which addresses and ports
>    that information is flowing on and thus has very little impact on the
>    security of the RTP sessions.
>
>    When the BUNDLE extension is used, a single set of security
>    credentials might be used for all media streams specified by a BUNDLE
>    group.
>
>    When the BUNDLE extension is used, the number of SSRC values within a
>    single RTP session increases, which increases the risk of SSRC
>    collision.  [RFC4568] describes how SSRC collision may weaken SRTP
>    and SRTCP encryption in certain situations.
>
>    The identfication-tag, when included in the RTP MID SDES item,
>    independent of transport, RTCP SDES packet or RTP header extension,
>    can expose the value to parties beyond the signaling chain.
>    Therefore, the identification-tag MUST NOT contain any user related
>    information.  However, the implementation's method for generating
>    identfication-tags could enable fingerprinting of the implementation
>    making it vulnerable to targeted attacks.  The identication-tag is
>    exposed on the RTP stream level when included in the RTP header
>    extensions, however what it reveals of the RTP media stream structure
>    of the endpoint and application was already possible to deduct from
>    the RTP streams without the MID SDES header extensions.  As the
>    identification-tag is also used to route the media stream to the
>    right application functionality it is also important that the value
>    received is the one intended by the sender, thus integrity and the
>    authenticity of the source are important to prevent denial of service
>    on the application.  At least to prevent third parties from modifying
>    the identification-tag value.
>
>    To avoid the security risks associated with tracking of
>    implementations, there is RECOMMENDED algorithm for generating
>    identification-tags in Section 14.1.  "RTP Header Extension for the
>    RTP Control Protocol (RTCP) Source Description Items" [RFC7941]
>    security consideration requires that when RTCP is confidentiality
>    protected that any SDES RTP header extension carrying an SDES item,
>    like the MID RTP header extension, is also protected using
>    commensurate strength algorithms.  However, assuming the above
>    requirements and recommendations are followed there are no known
>    significant security risks with leaving the MID RTP header extension
>    without confidentiality protection.  Thus, the requirements in RFC
>    7941 MAY be ignored for the MID RTP header extension.  Security
>    mechanisms for RTP/RTCP are discussed in Options for Securing RTP
>    Sessions [RFC7201], for example SRTP [RFC3711] can provide the
>    necessary security functions of ensuring the integrity and source
>    authenticity.
>
>
>
> --
>
> Magnus Westerlund
>
> ----------------------------------------------------------------------
> Services, Media and Network features, Ericsson Research EAB/TXM
> ----------------------------------------------------------------------
> Ericsson AB                 | Phone  +46 10 7148287
> Färögatan 6                 | Mobile +46 73 0949079
> SE-164 80 Stockholm, Sweden | mailto: [email protected]
> ----------------------------------------------------------------------
>
> _______________________________________________
> rtcweb mailing list
> [email protected]
> https://www.ietf.org/mailman/listinfo/rtcweb
>

_______________________________________________
mmusic mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/mmusic
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.