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

Magnus Westerlund <magnus.westerlund@ericsson.com> Fri, 10 March 2017 09:51 UTC

Return-Path: <magnus.westerlund@ericsson.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B114C129869; Fri, 10 Mar 2017 01:51:16 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.221
X-Spam-Level:
X-Spam-Status: No, score=-4.221 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2T3a208ELTbF; Fri, 10 Mar 2017 01:51:14 -0800 (PST)
Received: from sesbmg23.ericsson.net (sesbmg23.ericsson.net [193.180.251.37]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3059A129759; Fri, 10 Mar 2017 01:51:13 -0800 (PST)
X-AuditID: c1b4fb25-a57ff70000004cad-5d-58c2770f1587
Received: from ESESSHC005.ericsson.se (Unknown_Domain [153.88.183.33]) by (Symantec Mail Security) with SMTP id F7.A2.19629.F0772C85; Fri, 10 Mar 2017 10:51:12 +0100 (CET)
Received: from [127.0.0.1] (153.88.183.153) by smtp.internal.ericsson.com (153.88.183.35) with Microsoft SMTP Server id 14.3.319.2; Fri, 10 Mar 2017 10:51:10 +0100
To: Eric Rescorla <ekr@rtfm.com>
References: <8b2b8754-b10c-6f8e-6262-95cd25374a18@ericsson.com> <CABcZeBMTW48fj=1EMJ3uJCdVqEiYuPk+rDy6h_7W=jh0fu7tNQ@mail.gmail.com> <0827af95-b755-9730-6605-5146967760e7@ericsson.com> <CABcZeBPcqz+NzKp=c5zZd_aDqYHjC6AhOyBMjsOdpKEjGF08qw@mail.gmail.com> <a7070e7a-81dc-ab68-c59b-d4df367029c2@ericsson.com> <CABcZeBM6LMJB2f10+F1jQNinKe4nkNGCRpT6VN1tZPXCLskxHQ@mail.gmail.com> <f390877e-d6be-11cd-8a35-f68546ae4115@ericsson.com> <CABcZeBNAU0eo+nP02LRjP3Cybtrm487wQMtq34zhmeaB+=uHiQ@mail.gmail.com>
From: Magnus Westerlund <magnus.westerlund@ericsson.com>
Message-ID: <29d1f31b-402c-5f31-8eee-f1f066ddce29@ericsson.com>
Date: Fri, 10 Mar 2017 10:51:09 +0100
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <CABcZeBNAU0eo+nP02LRjP3Cybtrm487wQMtq34zhmeaB+=uHiQ@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrJLMWRmVeSWpSXmKPExsUyM2K7oq5A+aEIg+ObZCxWvD7HbjF1+WMW i7X/2tkdmD2WLPnJ5DH5cRtzAFMUl01Kak5mWWqRvl0CV0bT/YWMBduTK/5NO8DawLjOu4uR g0NCwERiw8SCLkYuDiGBdYwSHRuPskE4yxklpj7pBXI4OYQFvCTatk1kBrFFBBQkfv05wQJR 9JdZYtfu02wgk5gFfCQWPksEqWETsJC4+aMRrJdXwF6i/dxpJhCbRUBV4vGZa2C2qECMRMuS D4wQNYISJ2c+YQGxOQUCJbZ93AZWwww0Z+b884wQtrxE89bZYDcICWhLNDR1sE5gFJiFpH0W kpZZSFoWMDKvYhQtTi1Oyk03MtZLLcpMLi7Oz9PLSy3ZxAgM0INbfqvuYLz8xvEQowAHoxIP 74fcgxFCrIllxZW5hxglOJiVRHhlSw9FCPGmJFZWpRblxxeV5qQWH2KU5mBREuc1W3k/XEgg PbEkNTs1tSC1CCbLxMEp1cCYGbE95L1FR6XLXelbdTIRB1Sdy9Q07p+4dHmivf/WreYqKabT Guw4C7M19laLXkp/8Oyq16u++UFRqs+XHJT/cPrn8qWvXDavuH7N947LGmHT/e1Hk948fX8+ cEVPm16Txu6PD6sq50zKP3rrlvH/l/MSPx462mZ9fcfxRc0FPK/1Cxk0mBccVGIpzkg01GIu Kk4EAPv3nVxMAgAA
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtcweb/g2EYHGgwsySSosAXNLi-Kva2jn8>
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>, "mmusic (E-mail)" <mmusic@ietf.org>
Subject: Re: [rtcweb] BUNDLE: Attempting to resolve security consideration
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rtcweb/>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 10 Mar 2017 09:51:17 -0000

Hi,

EKR, I think I understood your issue with the SDP MID usage. I 
restructured the section to move the issues with moving the MID into RTP 
layer as the second paragraph and made it clear that this is a new 
security consideration compared to before in the introduction.

Regarding the integrity and authenticity I have made some small changes. 
I don't see how removing the requirements help, even if they are 
normally resolved when using an existing mechanism. I guess this is is a 
matter of view. I am not comfortable with simple assuming that people 
will use a security mechanism and therefore this is not an issue. And it 
makes future work to analyses potential mechanism a bit harder as one 
have to redo more analysis, such as in PERC.

Anyway here is an updated text. I have sent the XML of this one to 
Christer and he has told me he will update the PR he already have.


16.  Security Considerations

    The security considerations defined in [RFC3264] and [RFC5888] apply
    to the BUNDLE extension.  Bundle does not change which information,
    e.g.  RTP streams, that flows over the network, with the exception of
    the usage of the MID SDES item as discussed below.  Primarily it
    changes which addresses and ports, and thus in which (RTP) sessions
    that the information is flowing in.  This affects the security
    contexts being used and can cause previously separated information
    flows to share security context.  This has very little impact on the
    performance of the security mechanism of the RTP sessions.  In cases
    where one would have applied different security policies on the
    different RTP streams being bundled, or where the parties having
    access to the security contexts would have differed between the RTP
    stream additional analysis of the implications are needed before
    selecting to apply BUNDLE.

    The identification-tag, independent of transport, RTCP SDES packet or
    RTP header extension, can expose the value to parties beyond the
    signaling chain.  Therefore, the identification-tag values MUST be
    generated in a fashion that does not leak user information, e.g.,
    randomly or using a per-bundle group counter, and SHOULD be 3 bytes
    or less, to allow them to efficiently fit into the MID RTP header
    extension.  Note that if implementations use different methods for
    generating identification-tags this could enable fingerprinting of
    the implementation making it vulnerable to targeted attacks.  The
    identification-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 deduce 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.  Existing SRTP
    configurations and other security mechanisms protecting the whole
    RTP/RTCP packets will provide the necessary protection.

    When the BUNDLE extension is used, a single set of security
    credentials over the bundled media descriptions will need to be used,
    at least per direction or endpoint.  When using SRTP this will be the
    case, at least for the IETF defined key-management solutions due to
    their SDP attributes (a=crypto, a=fingerprint, a=mikey) and their
    classification in [I-D.ietf-mmusic-sdp-mux-attributes].

    "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.


Den 2017-03-07 kl. 18:47, skrev Eric Rescorla:
>
>
> On Tue, Mar 7, 2017 at 1:45 AM, Magnus Westerlund
> <magnus.westerlund@ericsson.com <mailto:magnus.westerlund@ericsson.com>>
> wrote:
>
>     Hi,
>
>     Please see inline.
>
>     Den 2017-03-06 kl. 14:36, skrev Eric Rescorla:
>
>
>             I think you are correct assuming that one is using SRTP. All the
>             IETF key-management scheme follows this, although a=mikey is
>             IDENTICAL. If one uses other security mechanisms, then this
>         is still
>             relevant to capture.
>
>
>         Which security mechanisms are you thinking of here?
>
>
>     I didn't have any specific security mechanism in mind. I simply want
>     to make clear the requirements that arises due to the new mechanisms
>     that BUNDLE creates. As you commented I can only think of mechanism
>     that protects the whole packet.
>
>
> Yeah, this seems more confusing than illuminating. There are lots of
> theoretical
> risks that might happen if we had some new security mechanism with unknown
> properties.
>
>
>
>         Is this precisely true? Do you ever use the MID extension w/o
>         BUNDLE?
>         It certainly changes which ICE checks you do.
>
>
>     So lets start with the question of MID without using BUNDLE. As MID
>     is used in grouping of media lines use cases, i.e. RFC 5888 there
>     are certainly uses. However, there exist no need to signal MIDs on
>     RTP session level in those cases as there already exist a one to one
>     mapping between the MID and the transport addresses used for that
>     RTP session. Only with BUNDLE do the RTP streams from the different
>     m= lines start sharing transport context.
>
>
> That's what I meant by "MID extension". Sorry for the confusion.
>
>
>
>     So strictly the above is incorrect. What was multiple security
>     context due to different RTP sessions, or other sessions are now
>     moved into a single context. I think we could reformulate this to say:
>
>        The security considerations defined in [RFC3264] and [RFC5888] apply
>        to the BUNDLE extension.  Bundle does not change which information,
>        e.g.  RTP streams, that flows over the network.  Primarily it changes
>        which addresses and ports, and thus in which (RTP) sessions that the
>        information is flowing in.  This affects the security contexts being
>        used and can cause previously separated information flows to share
>        security context.  This has very little impact on the performance of
>        the security mechanism of the RTP sessions, however which actors that
>        are present in a particular security context may require additional
>        thoughts when applying Bundle.
>
>     Is this better?
>
>
> But it still seems to be false because of the MID signaling in SDP.
>
> I also don't understand the last line.
>
> -Ekr
>
>
>               The identication-tag is
>
>
>         Still misspelled.
>
>
>     Yes, there was actually two misspelled instances left, and I had
>     corrected one.
>
>     Full section text after corrections:
>
>     16.  Security Considerations
>
>        The security considerations defined in [RFC3264] and [RFC5888] apply
>        to the BUNDLE extension.  Bundle does not change which information,
>        e.g.  RTP streams, that flows over the network.  Primarily it changes
>        which addresses and ports, and thus in which (RTP) sessions that the
>        information is flowing in.  This affects the security contexts being
>        used and can cause previously separated information flows to share
>        security context.  This has very little impact on the performance of
>        the security mechanism of the RTP sessions, however which actors that
>        are present in a particular security context may require additional
>        thoughts when applying Bundle.
>
>        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 using SRTP this is further required at least for the
>        IETF defined key-management solutions due to their SDP attributes
>        (a=crypto, a=fingerprint, a=mikey) classification in
>        [I-D.ietf-mmusic-sdp-mux-attributes].  But for other security
>        solutions, this may require further consideration.
>
>        The identification-tag, independent of transport, RTCP SDES packet or
>        RTP header extension, can expose the value to parties beyond the
>        signaling chain.  Therefore, the identification-tag values MUST be
>        generated in a fashion that does not leak user information, e.g.,
>        randomly or using a per-bundle group counter, and SHOULD be 3 bytes
>        or less, to allow them to efficiently fit into the MID RTP header
>        extension.  Note that if implementations use different methods for
>        generating identification-tags this could enable fingerprinting of
>        the implementation making it vulnerable to targeted attacks.  The
>        identification-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 deduce 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.  Existing SRTP
>        configurations requires integrity protection of both RTCP and RTP
>        header extensions.
>
>        "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
>     <tel:%2B46%2010%207148287>
>     Färögatan 6                 | Mobile +46 73 0949079
>     <tel:%2B46%2073%200949079>
>     SE-164 80 Stockholm, Sweden | mailto: magnus.westerlund@ericsson.com
>     <mailto:magnus.westerlund@ericsson.com>
>     ----------------------------------------------------------------------
>
>


-- 

Magnus Westerlund

----------------------------------------------------------------------
Media Technologies, Ericsson Research
----------------------------------------------------------------------
Ericsson AB                 | Phone  +46 10 7148287
Färögatan 6                 | Mobile +46 73 0949079
SE-164 80 Stockholm, Sweden | mailto: magnus.westerlund@ericsson.com
----------------------------------------------------------------------