Network Working Group P. Jones Internet-Draft Cisco Intended status: Standards Track D. Benham Expires:March 8,July 27, 2019 C. Groves IndependentSeptember 4, 2018January 23, 2019 A Solution Framework for Private Media in Privacy Enhanced RTP Conferencingdraft-ietf-perc-private-media-framework-07draft-ietf-perc-private-media-framework-08 Abstract This document describes a solution framework for ensuring that media confidentiality and integrity are maintained end-to-end within the context of a switched conferencing environment where media distributors are not trusted with the end-to-end media encryption keys. The solution aims to build upon existing security mechanisms defined for the real-time transport protocol (RTP). Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire onMarch 8,July 27, 2019. Copyright Notice Copyright (c)20182019 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Conventions Used in This Document . . . . . . . . . . . . . .43 3. PERC Entities and Trust Model . . . . . . . . . . . . . . . .54 3.1. Untrusted Entities . . . . . . . . . . . . . . . . . . . 5 3.1.1. Media Distributor . . . . . . . . . . . . . . . . . .65 3.1.2. Call Processing . . . . . . . . . . . . . . . . . . . 6 3.2. Trusted Entities . . . . . . . . . . . . . . . . . . . .76 3.2.1. Endpoint . . . . . . . . . . . . . . . . . . . . . . 7 3.2.2. Key Distributor . . . . . . . . . . . . . . . . . . . 7 4. Framework for PERC . . . . . . . . . . . . . . . . . . . . . 7 4.1. End-to-End and Hop-by-Hop Authenticated Encryption . . .87 4.2. E2E Key Confidentiality . . . . . . . . . . . . . . . . . 9 4.3. E2E Keys and Endpoint Operations . . . . . . . . . . . . 9 4.4. HBH Keys andHopPer-hop Operations . . . . . . . . . . . . .. . 109 4.5. Key Exchange . . . . . . . . . . . . . . . . . . . . . . 10 4.5.1. Initial Key Exchange and Key Distributor . . . . . .1110 4.5.2. Key Exchange during a Conference . . . . . . . . . . 12 5. Authentication . . . . . . . . . . . . . . . . . . . . . . . 13 5.1. Identity Assertions . . . . . . . . . . . . . . . . . . . 13 5.2. Certificate Fingerprints in Session Signaling . . . . . . 13 5.3. Conferences Identification . . . . . . . . . . . . . . . 14 6.Security ConsiderationsPERC Keys . . . . . . . . . . . . . . . . . . .14 6.1. Third Party Attacks. . . . . . . 14 6.1. Key Inventory and Management Considerations . . . . . . . 14 6.2. DTLS-SRTP Exchange Yields HBH Keys . . . . . .14 6.2. Media Distributor Attacks. . . . . 15 6.3. The Key Distributor Transmits the KEK (EKT Key) . . . . . 16 6.4. Endpoints fabricate an SRTP Master Key . . . . . .15 6.2.1. Denial of service. . . 17 6.5. Summary of Key Types and Entity Possession . . . . . . . 17 7. Encrypted Media Packet Format . . . . . . . .15 6.2.2. Replay Attack. . . . . . . . 18 8. Security Considerations . . . . . . . . . . . .16 6.2.3. Delayed Playout Attack. . . . . . . 19 8.1. Third Party Attacks . . . . . . . .16 6.2.4. Splicing Attack. . . . . . . . . . . 19 8.2. Media Distributor Attacks . . . . . . . .16 7. IANA Considerations. . . . . . . . 20 8.2.1. Denial of service . . . . . . . . . . . . .16 8. Acknowledgments. . . . . 20 8.2.2. Replay Attack . . . . . . . . . . . . . . . . . .17 9. References. . 20 8.2.3. Delayed Playout Attack . . . . . . . . . . . . . . . 21 8.2.4. Splicing Attack . . . . . . . .17 9.1. Normative References. . . . . . . . . . . 21 9. IANA Considerations . . . . . . .17 9.2. Informative References. . . . . . . . . . . . . . 21 10. Acknowledgments . . .17 Appendix A. PERC Key Inventory. . . . . . . . . . . . . . . . .19 A.1. DTLS-SRTP Exchange Yields HBH Keys. . . 21 11. References . . . . . . . .20 A.2. The Key Distributor Transmits the KEK (EKT Key). . . . .20 A.3. Endpoints fabricate an SRTP Master Key. . . . . . . . .21 A.4. Who has What Key. . . 22 11.1. Normative References . . . . . . . . . . . . . . . . .21 Appendix B. PERC Packet Format. 22 11.2. Informative References . . . . . . . . . . . . . . . . . 22 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . .2324 1. Introduction Switched conferencing is an increasingly popular model for multimedia conferences with multiple participants using a combination of audio, video, text, and other media types. With this model, real-time media flows from conference participants are not mixed, transcoded, transrated, recomposed, or otherwise manipulated by a Media Distributor, as might be the case with a traditional media server or multipoint control unit (MCU). Instead, media flows transmitted by conference participants are simply forwarded bytheMediaDistributorDistributors to each of the otherparticipants,participants. Media Distributors oftenforwardingforward only a subset of flows based on voice activity detection or other criteria. In some instances,theMedia Distributors may make limited modifications to RTP [RFC3550] headers, for example, but the actual media content (e.g., voice or video data) is unaltered. An advantage of switched conferencing is that Media Distributors can be more easily deployed on general-purpose computing hardware, including virtualized environments in private and public clouds.Deploying conference resources in aWhile virutalized public cloudenvironment might introduce a higher security risk. Whereas traditional conference resources were usually deployed in private networks that were protected, cloud-based conference resources might beenvironments have been viewed as less secure sincetheyresources are not always physically controlled by those who usethem. Additionally,them and since there are usually several ports open to thepublic in cloud deployments, such as for remote administration, andpublic, this draft aims to improve security soon.as to lower the barrier to taking advantage of those environments. This document defines a solution framework wherein media privacy is ensured by making it impossible for a media distributor to gain access to keys needed to decrypt or authenticate the actual media content sent between conference participants. At the same time, the framework allows for the Media Distributors to modify certain RTP headers; add, remove, encrypt, or decrypt RTP header extensions; and encrypt and decrypt RTCP packets. The framework also prevents replay attacks by authenticating each packet transmitted between a given participant and the media distributor using a unique key per endpoint that is independent from the key for media encryption and authentication. A goal of this document is to define a framework for enhanced privacy in RTP-based conferencing environments while utilizing existing security procedures defined for RTP with minimal enhancements. 2. Conventions Used in This Document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119]when[RFC8174] when, and only when, they appear inALL CAPS. These words may also appear in this document in lower case as plain English words, absent their normative meanings. Additionally,all capitals, as shown here. Additionally, this solution framework uses the following terms and acronyms: End-to-End (E2E): Communications from one endpoint through one or more Media Distributors to the endpoint at the other end. Hop-by-Hop (HBH): Communications between an endpoint and a Media Distributor or between Media Distributors. Trusted Endpoint: An RTP flow terminating entity that has possession of E2E media encryption keys and terminates E2E encryption. This may include embedded user conferencing equipment or browsers on computers, media gateways, MCUs, media recording device and more that are in the trusted domain for a given deployment. Media Distributor (MD): An RTP middlebox that forwards endpoint media content (e.g., voice or video data) unaltered, either a subset or all of the flows at any given time, and isnotnever allowedto tohave access to E2E encryption keys. It operates according to the Selective Forwarding Middlebox RTP topologies [RFC7667] per the constraints defined by the PERC system, which includes, but not limited to, having no access to RTP media unencrypted and having limits on what RTP header field it can alter. Key Distributor: An entity that is a logical function which distributes keying material and related information to trusted endpoints and Media Distributor(s), only that which is appropriate for each. The Key Distributor might be co-resident with another entity trusted with E2E keying material. Conference: Two or more participants communicating via trusted endpoints to exchange RTP flows through one or more Media Distributor. Call Processing: All trusted endpoints in the conference connect to it by a call processing dialog, such as with the Focus defined in the Framework for Conferencing with SIP [RFC4353]. Third Party: Any entity that is not an Endpoint, Media Distributor, Key Distributor or Call Processing entity as described in this document. 3. PERC Entities and Trust Model The following figure depicts the trust relationships, direct or indirect, between entities described in the subsequent sub-sections. Note that these entities may be co-located or further divided into multiple, separate physical devices. Please note that some entities classified as untrusted in the simple, general deployment scenario used most commonly in this document might be considered trusted in other deployments. This document does not preclude such scenarios, butwill keepkeeps the definitions and examples focused by only using the the simple, most general deployment scenario. | +----------+ | +-----------------+ | Endpoint | | | Call Processing | +----------+ | +-----------------+ | | +----------------+ | +--------------------+ | Key Distributor| | | Media Distributor | +----------------+ | +--------------------+ | Trusted | Untrusted Entities | Entities | Figure 1: Trusted and Untrusted Entities in PERC 3.1. Untrusted Entities The architecture described in this framework document enables conferencing infrastructure to be hosted in domains, such as in a cloud conferencing provider's facilities, where the trustworthiness is below the level needed to assume the privacy of participant's mediawillis notbecompromised. The conferencing infrastructure in such a domain is still trusted with reliably connecting the participants together in a conference, but not trusted with keying material needed to decrypt any of the participant's media. Entities in such lower trustworthiness domainswill simply beare referred to as untrusted entities from this point forward. It is important to understand that untrusted in this document does not mean an entity is not expected to function properly. Rather, it means only that the entity does not have access to the E2E media encryption keys. 3.1.1. Media Distributor A Media Distributor forwards RTP flows between endpoints in the conference while performing per-hop authentication of each RTP packet. The Media Distributor may need access to one or more RTP headers or header extensions, potentially adding or modifying a certain subset. The Media Distributorwillalsorelayrelays secured messaging between the endpoints and the Key Distributor andwill acquireacquires per-hop key information from the Key Distributor. The actual media contentMUST NOTmust not be decryptable by a Media Distributor,soas it is untrusted to have access to the E2E media encryption keys. The key exchange mechanisms specified in this frameworkwill preventprevents the Media Distributor from gaining access to the E2E media encryption keys. An endpoint's ability tojoinconnect to a conferencehostedserviced by a Media DistributorMUST NOT alone be interpreted as beingdoes imply that the endpoint is authorized to have access to the E2E media encryption keys, as the Media Distributor does not have the ability to determine whether an endpoint is authorized. Instead, the Key Distributor is responsible for authenticatingendpointsthe endpoint (e.g., using WebRTC Identity [I-D.ietf-rtcweb-security-arch]) and determiningtheirits authorization to receive E2E and HBH media encryption keys. A Media DistributorMUSTmust perform its role in properly forwarding media packets while taking measures to mitigate the adverse effects of denial of service attacks (refer to Section6), etc,8) to a level equal to or better than traditional conferencing (i.e. non-PERC) deployments. A Media Distributor or associated conferencing infrastructure may also initiate or terminate various conference control related messaging, which is outside the scope of this framework document. 3.1.2. Call Processing The call processing function is untrusted in the simple, general deployment scenario. When a physical subset of the call processing function resides in facilities outside the trusted domain, it should not be trusted to have access to E2E key information. The call processing function may include the processing of call signaling messages, as well as the signing of those messages. It may also authenticate the endpoints for the purpose of call signaling and subsequently joining of a conference hosted through one or more Media Distributors. Call processing may optionally ensure the privacy of call signaling messages between itself, the endpoint, and other entities.In any deployment scenario where the call processing function is considered trusted, the call processing function MUST ensure the integrity of received messages before forwarding to other entities.3.2. Trusted Entities From the PERC model system perspective, entities considered trusted (refer to Figure 1) can be in possession of the E2E media encryption keys for one or more conferences. 3.2.1. Endpoint An endpoint is considered trusted andwill havehas access to E2E key information. While it is possible for an endpoint to be compromised, subsequently performing in undesired ways, defining endpoint resistance to compromise is outside the scope of this document. Endpointswilltake measures to mitigate the adverse effects of denial of service attacks (refer to Section6)8) from other entities, including from other endpoints, to a level equal to or better than traditional conference (i.e., non-PERC) deployments. 3.2.2. Key Distributor The Key Distributor, which may be colocated with an endpoint or exist standalone, is responsible for providing key information to endpoints for both end-to-end (E2E) and hop-by-hop (HBH) security and for providing key information to Media Distributors for the hop-by-hop security. Interaction between the Key Distributor and the call processing function is necessary to for proper conference-to-endpoint mappings. This is described in Section 5.3. The Key Distributor needs to be secured and managed in a way to prevent exploitation by an adversary, as any kind of compromise of the Key Distributor puts the security of the conference at risk. 4. Framework for PERC The purpose for this framework is to define a means through which media privacycan beis ensured when communicating within a conferencing environment consisting of one or more Media Distributors that only switch, hence not terminate, media. It does not otherwise attempt to hide the fact that a conference between endpoints is taking place. This framework reuses several specified RTP security technologies, including SRTP [RFC3711],PERCEKT [I-D.ietf-perc-srtp-ekt-diet], and DTLS-SRTP [RFC5764]. 4.1. End-to-End and Hop-by-Hop Authenticated Encryption This solution framework focuses on the end-to-end privacy and integrity of the participant's media by limiting accessof the end- to-end key informationto only trustedentities.entities to the E2E key used for authenticated end-to-end encryption. However, this framework does give a Media Distributor access to RTP headers and all or most header extensions, as well as the ability to modify a certain subset of those headers and to add header extensions. Packets received by a Media Distributor or an endpoint are authenticated hop-by-hop. To enable all of the above, this framework defines the use of two security contexts and two associated encryption keys: an "inner" key (an E2E key distinct for each transmitted media flow) for authenticated encryption of RTP media between endpoints and an "outer" key (HBH key) known only tomedia distributorMedia Distributor and the adjacent endpoint) for the hop between an endpoint and a Media Distributor or between Media Distributor. +-------------+ +-------------+ | |################################| | | Media |------------------------ *----->| Media | | Distributor |<----------------------*-|------| Distributor | | X |#####################*#|#|######| Y | | | | | | | | +-------------+ | | | +-------------+ # ^ | # HBH Key (XY) -+ | | # ^ | # # | | # E2E Key (B) ---+ | # | | # # | | # E2E Key (A) -----+ # | | # # | | # # | | # # | | # # | | # # | | *---- HBH Key (AX) HBH Key (YB) ----* | | # # | | # # | | # # *--------- E2E Key (A) E2E Key (A) ---------* # # | *------- E2E Key (B) E2E Key (B) -------* | # # | | # # | | # # | v # # | v # +-------------+ +-------------+ | Endpoint A | | Endpoint B | +-------------+ +-------------+ Figure 2: E2E and HBH Keys Used for Authenticated Encryption of SRTP Packets ThePERCDouble transform [I-D.ietf-perc-double] enables endpoints to perform encryption using both theE2Eend-to-end andHBHhop-by-hop contexts while still preserving the same overall interface as other SRTP transforms. The Media Distributor simply uses the corresponding normal (single)AES- GCMAES-GCM transform, keyed with the appropriate HBH keys. SeeAppendix ASection 6.1 for a description of the keys used in PERC andAppendix BSection 7 foran overviewdiagram of howthe packet appearsencrypted RTP packets appear on the wire. RTCPcanis onlybeencrypted hop-by-hop, not end-to-end. This framework introduces no additional step for RTCP authenticated encryption, so the procedures needed are specified in [RFC3711] and use the same outer, hop-by-hop cryptographic context chosen in the Double operation described above. 4.2. E2E Key Confidentiality To ensure the confidentiality of E2E keys shared between endpoints, endpointswill makeuseofa common Key Encryption Key (KEK) that is known only by the trusted entities in a conference. That KEK, defined in thePERCEKT [I-D.ietf-perc-srtp-ekt-diet] specification as the EKT Key,will beis used to subsequently encrypt the SRTP master key used for E2E authenticated encryption of media sent by a given endpoint. Each endpoint in the conferencewill create a randomcreates an SRTP master key for E2E authenticatedencryption, thus participants in the conference MUSTencryption and keep track of the E2E keys received via the Full EKTFieldTag for each distinctSSRCsynchronization source (SSRC) in the conference so that it can properly decrypt received media.Note, too, that anAn endpoint may change its E2E key at any time and advertise that new key to the conference as specified in [I-D.ietf-perc-srtp-ekt-diet]. 4.3. E2E Keys and Endpoint Operations Any given RTP media flowcan beis identified by its SSRC, andendpointsan endpoint might send more than one at a time and change the mix of media flows transmitted during the life of a conference. Thus,endpointsan endpoint MUST maintain a list of SSRCs from received RTP flows and each SSRC's associated E2E key information.Following a change in an E2E key, prior E2E keys SHOULD be retained by receivers for a period long enough to ensure that late-arriving or out-of-order packets from theAn endpointcan be successfully decrypted. Receiving endpointsMUST discard old E2E keys no later than when it leaves theconference.conference (see Section 4.5.2). If there is a need to encrypt one or more RTP header extensions end- to-end, the endpoint derives an encryption keyis derivedfrom theend-to-endE2E SRTP master key to encrypt header extensions as per [RFC6904]. The Media Distributorwill not be ableis unable use the information contained in those header extensions encrypted with an E2E key. 4.4. HBH Keys andHopPer-hop Operations To ensure the integrity of transmitted media packets,this framework requiresit is REQUIRED that every packet be authenticated hop-by-hop(HBH)between an endpoint and a Media Distributor, as well between Media Distributors. The authentication key used for hop-by-hop authentication is derived from an SRTP master key shared only on the respective hop. Each HBH key is distinct per hop and no two hops ever use the same SRTP master key.Using hop-by-hop authentication gives the Media DistributorWhile endpoints also perform HBH authentication, the abilitytoof the endpoints to reconstruct the original RTP header also enables the endpoints to authenticate RTP packets E2E. This design yields flexibility to the Media Distributor to change certain RTP headervalues.values as packets are forwarded. Which values the Media Distributor can change in the RTP header are defined in [I-D.ietf-perc-double]. RTCP can only be encryptedHBH,hop-by-hop, giving the Media Distributor the flexibility to forward RTCP content unchanged, transmit compound RTCP packets or to initiate RTCP packets for reporting statistics or conveying other information. Performinghop- by-hophop-by-hop authentication for all RTP and RTCP packets also helps provide replay protection (see Section6).8). If there is a need to encrypt one or more RTP header extensions hop- by-hop, the endpoint derives an encryption keyis derivedfrom thehop-by-hopHBH SRTP master key to encrypt header extensions as per [RFC6904]. Thiswillstillgivegives the Media Distributor visibility into header extensions, such as the one used to determine audio level [RFC6464] of conference participants. Note that when RTP header extensions are encrypted, all hops- in the untrusted domain at least - willneed to decrypt and re-encrypt these encrypted header extensions. 4.5. Key Exchange In brief, the keys used by any given endpoints are determined in the following way: o The HBH keys that the endpoint uses to send and receive SRTP media are derived from a DTLS handshake that the endpoint performs with the Key Distributor (following normal DTLS-SRTP procedures). o The E2E key that an endpoint uses to send SRTP media can either be set from DTLS or chosen by the endpoint. It is then distributed to other endpoints in a Full EKTField,Tag, encrypted under anEKTKeyEKT Key provided to the client by the Key Distributor within the DTLS channel they negotiated. o Each E2E key that an endpoint uses to receive SRTP media is set by receiving a Full EKTFieldTag from another endpoint. 4.5.1. Initial Key Exchange and Key Distributor The Media Distributor maintains a tunnel with the KeyDistrubutorDistributor (e.g., using [I-D.ietf-perc-dtls-tunnel]), making it possible for the Media Distributor to facilitate the establishment of a secure DTLS association between each endpoint and the Key Distributor as shown the following figure. The DTLS association between endpoints and the Key Distributorwill enableenables each endpoint to generate E2E and HBH keys and receive the Key Encryption Key (KEK) (i.e., EKT Key). At the same time, the Key Distributorcansecurelyprovideprovides the HBH key information to the Media Distributor. The key information summarized here may include the SRTP master key, SRTP master salt, and the negotiated cryptographic transform. +-----------+ KEK info | Key | HBH Key info to to Endpoints |Distributor| Endpoints & Media Distributor +-----------+ # ^ ^ # # | | #--- Tunnel # | | # +-----------+ +-----------+ +-----------+ | Endpoint | DTLS | Media | DTLS | Endpoint | | KEK |<------------|Distributor|------------>| KEK | | HBH Key | to Key Dist | HBH Keys | to Key Dist | HBH Key | +-----------+ +-----------+ +-----------+ Figure 3: Exchanging Key Information Between Entities In addition to the secure tunnel between the Media Distributor and the Key Distributor, there are two additional types of security associations utilized as a part of the key exchange as discussed in the following paragraphs. One is a DTLS-SRTP association between an endpoint and the Key Distributor (with packets passing through the Media Distributor) and the other is a DTLS-SRTP association between peer Media Distributors. Endpointswillestablish a DTLS-SRTP [RFC5764] association over the RTP session's media ports for the purposes of key information exchange with the Key Distributor. The Media Distributorwilldoes not terminate the DTLS signaling, butwillinsteadforwardforwards DTLS packets received from an endpoint on to the Key Distributor (and vice versa) via a tunnel established between Media Distributor and the Key Distributor.This tunnel is used to encapsulate the DTLS-SRTP signaling between the Key Distributor and endpoints will also be used to convey HBH key information from the Key Distributor to the Media Distributor, so no additional protocol or interface is required.In establishing the DTLS association between endpoints and the Key Distributor, the endpoint MUST act as the DTLS client and the Key Distributor MUST act as the DTLS server. The Key Encryption Key (KEK) (i.e., EKT Key) is conveyed by the Key Distributor over the DTLS association to endpoints via procedures defined inPERCEKT [I-D.ietf-perc-srtp-ekt-diet] via the EKTKey message. The Key Distributor MUST NOT establish DTLS-SRTP associations with endpoints without first authenticating the Media Distributor tunneling the DTLS-SRTP packets from the endpoint. Note that following DTLS-SRTP procedures for the [I-D.ietf-perc-double] cipher, the endpointwill generategenerates both E2E and HBH encryption keys and salt values. EndpointsMAYMUST either use theDTLS- SRTPDTLS-SRTP generated E2E key for transmission orMAYgenerate a fresh E2E key. In either case, the generated SRTP master salt for E2E encryption MUST be replaced with the salt value provided by the Key Distributor via the EKTKey message. That is because every endpoint in the conference uses the same SRTP master salt. The endpoint only transmits the SRTP master key (not the salt) used for E2E encryption to other endpoints in RTP/RTCP packets per [I-D.ietf-perc-srtp-ekt-diet]. Media Distributors use DTLS-SRTP [RFC5764] directly with a peer Media Distributor to establish the HBH key for transmitting RTP and RTCP packets to that peer Media Distributor. The Key Distributor does not facilitate establishing a HBH key for use between Media Distributors. 4.5.2. Key Exchange during a Conference Following the initial key information exchange with the Key Distributor, an endpointwill beis able to encrypt media end-to-end with an E2E key, sending that E2E key to other endpoints encrypted with the KEK, andwill beis able to encrypt and authenticate RTP packets using a HBH key. The procedures defined do not allow the Media Distributor to gain access to the KEK information, preventing it from gaining access to any endpoint's E2E key and subsequently decrypting media. The KEK (i.e., EKT Key) may need to change from time-to-time during the life of a conference, such as when a new participant joins or leaves a conference. Dictating if, when or how often a conference is to be re-keyed is outside the scope of this document, but this framework does accommodate re-keying during the life of a conference. When a Key Distributor decides to re-key a conference, it transmits aspecificnew EKTKey messagedefined in PERC EKT[I-D.ietf-perc-srtp-ekt-diet] to each of the conferenceparticipants. Theparticipants containing the new EKT Key. Upon receipt of the new EKT Key, the endpoint MUST create a new SRTP master key and prepare to send that key inside a Full EKT Field using the newEKTKey. Since it may take someEKT Key as per Section 4.5 of [I-D.ietf-perc-srtp-ekt-diet]. In order to allow time for allof theendpoints in the conference tofinish re-keying, senders MUST delay a short period of time before sending media encrypted withreceive the newmaster key, but it MUST bekeys, the sender should follow the recommendations in Section 4.7 of [I-D.ietf-perc-srtp-ekt-diet]. On receiving a new EKT Key, endpoints MUST be prepared tomake use ofdecrypt EKT tags using theinformation from anewinboundkey. The EKT SPI field is used to differentiate between tags encrypted with the old and new keys. After re-keying, an endpoint SHOULD retain prior SRTP master keys and EKT Keyimmediately. See Section 2.2.2for a period of[I-D.ietf-perc-srtp-ekt-diet].time sufficient for the purpose of ensuring it can decrypt late-arriving or out-of-order packets or packets sent by other endpoints that used the prior keys for a period of time after re-keying began. An endpoint MAY retain old keys until the end of the conference. Endpoints MAY follow the procedures in section 5.2 of [RFC5764] tore-negotiaterenegotiate HBH keys as desired. If new HBH keys are generated, the new keys are also delivered to the Media Distributor following the procedures defined in[I-D.ietf-perc-dtls-tunnel].[I-D.ietf-perc-dtls-tunnel] as one possible method. Endpointsare at liberty toMAY change the E2E encryption key used at any time. Endpoints MUST generate a new E2E encryption key whenever it receives a new EKT Key. After switching to a new key, the new keywill beis conveyed to other endpoints in the conference in RTP/RTCP packets per [I-D.ietf-perc-srtp-ekt-diet]. 5. Authentication It is important to this solution framework that the entities can validate the authenticity of other entities, especially the Key Distributor and endpoints. The details of this are outside the scope of specification but a few possibilities are discussed in the following sections. The key requirementsisare thatendpointsan endpoint can verifythey areit is connected to the correct Key Distributor for the conference and the Key Distributor can verify theendpoints areendpoint is the correctendpointsendpoint for the conference. Two possible approaches to solve this are Identity Assertions and Certificate Fingerprints. 5.1. Identity Assertions WebRTC Identity assertion [I-D.ietf-rtcweb-security-arch]can beis used to bind the identity of the user of the endpoint to the fingerprint of the DTLS-SRTP certificate used for the call. This certificate is unique for a given call and a conference. This allows the Key Distributor to ensure that only authorized users participate in the conference. Similarly the Key Distributor can create a WebRTC Identity assertion to bind the fingerprint of the unique certificate used by the Key Distributor for this conference so that the endpoint can validate it is talking to the correct Key Distributor. Such a setup requires an Identity Provider (Idp) trusted by the endpoints and the Key Distributor. 5.2. Certificate Fingerprints in Session Signaling Entities managing session signaling are generally assumed to be untrusted in the PERC framework. However, there are some deployment scenarios where parts of the session signaling may be assumed trustworthy for the purposes of exchanging, in a manner that can be authenticated, the fingerprint of an entity's certificate. As a concrete example, SIP [RFC3261] and SDP [RFC4566] can be used to convey the fingerprint information per [RFC5763]. An endpoint's SIP User Agent would send an INVITE message containing SDP for the media session along with the endpoint's certificate fingerprint, which can be signed using the procedures described in[RFC4474][RFC8224] for the benefit of forwarding the message to other entities by the Focus [RFC4353]. Other entities cannowverify the fingerprints match the certificates found in the DTLS-SRTP connections to find the identity of the far end of the DTLS-SRTP connection andcheckverify that is the authorized entity. Ultimately, if using session signaling, an endpoint's certificate fingerprint would need to be securely mapped to a user and conveyed to the Key Distributor so that it can check that that user is authorized. Similarly, the Key Distributor's certificate fingerprint can be conveyed to endpoint in a manner that can be authenticated as being an authorized Key Distributor for this conference. 5.3. Conferences Identification The Key Distributor needs to know what endpoints are being added to a given conference. Thus, the Key Distributor and the Media Distributorwillneed to know endpoint-to-conference mappings, which is enabled by exchanging a conference-specific unique identifierasdefined in [I-D.ietf-perc-dtls-tunnel]. How this unique identifier is assigned is outside the scope of this document. 6.Security ConsiderationsPERC Keys Thisframework, and the individual protocols defined to support it, must take care to not increasesection describes theexposure to Denial of Service (DoS) attacksvarious keys employed byuntrusted or third-party entitiesPERC, how they are derived, conveyed, andshould take measures to mitigate, where possible, more serious DoS attacks from on-pathso forth. 6.1. Key Inventory andoff-path attackers. The followingManagement Considerations This sectionenumeratessummarizes thekind of attacks that will be consideredseveral different keys used in thedevelopment of this framework's solution. 6.1. Third Party Attacks On-path attacksPERC framework, how they aremitigated by HBH integrity protectiongenerated, andencryption.what purpose they serve. Theintegrity protection mitigates packet modification and encryption makes selective blocking of packets harder, but not impossible. Off-path attackers may try connecting to different PERC entities and send specifically crafted packets. A successful attacker might be able to getkeys are described in theMedia Distributor to forward such packets. If not making use of HBH authentication on the Media Distributor, such an attack could only be detectedorder inthe receiving endpoints where the forged packetswhich they wouldfinallytypically bedropped. Another potential attack is a third party claimingacquired. The various keys used in PERC are shown in Figure 4 below. +-----------+----------------------------------------------------+ | Key | Description | +-----------+----------------------------------------------------+ | KEK | Key shared by all endpoints and used tobe a Media Distributor, foolingencrypt | | (EKT Key) | each endpoint's SRTP master key so receiving | | | endpointsincan decrypt media. | +-----------+----------------------------------------------------+ | HBH Key | Key used tosending packetsencrypt media hop-by-hop. | +-----------+----------------------------------------------------+ | E2E Key | Key used to encrypt media end-to-end. | +-----------+----------------------------------------------------+ Figure 4: Key Inventory While thefalse Media Distributor instead of the correct one. The deceived sending endpoints could incorrectly assuming their packets have been delivered to endpoints when they in fact have not. Further,number key types is very small, it should be understood that thefalse Media Distributor may cascade to another legitimate Media Distributor creating a false versionactual number ofthe real conference. This attackdistinct keys can bemitigated by the false Media Distributor not being authenticated by the Key Distributor during PERC Tunnel establishment. Withoutlarge as thetunnelconference grows inplace, endpoints will not establish secure associationssize. As an example, withthe Key Distributor and receive the KEK, causing the conference to not proceed. 6.2. Media Distributor Attacks The Media Distributor can attack the session1,000 participants in anumberconference, there would be at least 1,000 distinct SRTP master keys, all ofpossible ways. 6.2.1. Denial of service Any modificationwhich share the same master salt. Each of those keys are passed through theend-to-end authenticated data will resultKDF defined in [RFC3711] to produce thereceiving endpoint getting an integrity failure when performingactual encryption and authenticationonkeys. Complicating key management is thereceived packet. The Media Distributorfact that the KEK canalso attempt to perform resource consumption attacks onchange and, when it does, thereceiving endpoint. One such attack would be to insert random SSRC/CSRC values in any RTP packetendpoints generate new SRTP master keys that are associated withan inband key-distribution message attached (i.e., Full EKT Field). Since suchamessage would trigger the receivernew EKT SPI. Endpoints have toformretain old keys for anew cryptographic context, the Media Distributor can attemptperiod of time toconsume the receiving endpoints resources. Another denialensure they can properly decrypt late-arriving or out-of-order packets. A more detailed explanation of each ofservice attack is where the Media Distributor rewritesthePT field to indicate a different codec.keys follows. 6.2. DTLS-SRTP Exchange Yields HBH Keys Theeffectfirst set ofthis attack is that any payload packetizedkeys acquired are for hop-by-hop encryption andencoded according to one RTP payload format is then processed using another payload formatdecryption. Per the Double [I-D.ietf-perc-double] procedures, the endpoint performs DTLS-SRTP exchange with the key distributor andcodec. Assumingreceives a key thatthe implementation is robust to random input, it is unlikely to cause crashesis, in fact, "double" thereceiving software/ hardware. However, it is not unlikelysize thatsuch rewriting will cause severe media degradation. For audio formats, this attackislikely to cause highly disturbing audio and/or can be damaging to hearing and playout equipment. 6.2.2. Replay Attack Replay attackneeded. The end-to-end part iswhen an already received packets from a previous point intheRTP stream is replayed as new packet. This could, for example, allow a Media Distributor to transmit a sequence of packets identified as a user saying "yes", insteadfirst half of the"no"key, so theuser actually said.endpoint discards that information when generating its own key. Themitigation for a replay attack is to prevent old packets beyond a small-to-modest jitter and network re-ordering sized window to be rejected. End-to-end replay protection MUST be provided for the whole durationsecond half of theconference. 6.2.3. Delayed Playout Attack The delayed playout attackkey material isa variantfor hop-by-hop operations, so that half of thereplay attack. This attack is possible even if E2E replay protection is in place. However, duekey (corresponding tofact thatthe least significant bits) is assigned internally as the HBH key. The Key Distributor informs the Media Distributoris allowed to select a sub-setofstreams and not forwardtherestHBH key. Specifically, the Key Distributor sends the least significant bits corresponding toa receiver, such as in forwarding onlythemost active speakers,half of thereceiver haskeying material determined through DTLS-SRTP with the endpoint toaccept gaps intheE2E packet sequence. The issueMedia Distributor. A salt value is generated along withthisthe HBH key. The salt isthat a Media Distributor can select to not deliver a particular streamalso longer than needed fora while. Within the window from last packet forwarded tohop-by-hop operations, thus only thereceiver andleast significant bits of thelatest received byrequired length (i.e., half of theMedia Distributor,generated salt material) are sent to the MediaDistributor can select an arbitrary starting point when resuming forwarding packets. Thus whatDistributor. One way to transmit this key and salt information is via themedia source said can be substantially delayed attunnel protocol defined in [I-D.ietf-perc-dtls-tunnel]. No two endpoints have thereceiver withsame HBH key, thus thereceiver believing that it is what was said just now,Media Distributor MUST keep track each distinct HBH key (and the corresponding salt) and use it onlydelayed due to transport delay. 6.2.4. Splicing Attackfor the specified hop. Thesplicing attackHBH key isan attack where a Mediaalso used for hop-by-hop encryption of RTCP. RTCP is not end-to-end encrypted in PERC. 6.3. The Key Distributorreceiving multiple media sources splices one media stream intoTransmits theother. IfKEK (EKT Key) Via theMediaaforementioned DTLS-SRTP association, the Key Distributor sends the endpoint the KEK (i.e., EKT Key per [I-D.ietf-perc-srtp-ekt-diet]). This key isableknown only tochangetheSSRC withoutKey Distributor and endpoints. This key is thereceivermost important to protect since havingany method for verifying the original source ID, thenknowledge of this key (and theMedia Distributor could first deliver stream A and then later forward stream B underSRTP master salt transmitted as a part of the sameSSRC as stream A was previously using. Not allowingmessage) allows an entity to decrypt any media packet in theMediaconference. Note that the Key Distributor can send any number of EKT Keys tochange the SSRC mitigates this attack. 7. IANA Considerations There are no IANA considerations for this document. 8. Acknowledgments The authors would likeendpoints. This is used tothank Mo Zanaty and Christian Oien for invaluable input on this document. Also, we would likere-key the entire conference. Each key is identified by a "Security Parameter Index" (SPI) value. Endpoints MUST expect that a conference might be re-keyed when a new participant joins a conference or when a participant leaves a conference in order toacknowledge Nermeen Ismail for serving onprotect theinitial versionsconfidentiality ofthis document as a co-author. 9. References 9.1. Normative References [I-D.ietf-perc-double] Jennings, C., Jones, P., Barnes, R.,the conversation before andA. Roach, "SRTP Double Encryption Procedures", draft-ietf-perc-double-09 (workafter such events. The SRTP master salt to be used by the endpoint is transmitted along with the EKT Key. All endpoints inprogress), May 2018. [I-D.ietf-perc-dtls-tunnel] Jones, P., Ellenbogen, P., and N. Ohlmeier, "DTLS Tunnel betweenthe conference utilize the same SRTP master salt that corresponds with aMedia Distributor andgiven EKT Key. The Full EKT Tag in media packets is encrypted using a cipher specified via the EKTKey message (e.g., AES KeyDistributorWrap with a 128-bit key). This cipher is different than the cipher used toFacilitate Key Exchange", draft-ietf-perc-dtls-tunnel-03 (work in progress), April 2018. [I-D.ietf-perc-srtp-ekt-diet] Jennings, C., Mattsson, J., McGrew, D., Wing, D.,protect media andF. Andreasen, "Encryptedis only used to encrypt the endpoint's SRTP master key (and other EKT Tag data as per [I-D.ietf-perc-srtp-ekt-diet]). The media distributor is not given the KEK (i.e., EKT Key). 6.4. Endpoints fabricate an SRTP Master KeyTransport for DTLS and Secure RTP", draft-ietf-perc-srtp-ekt-diet-08 (work in progress), July 2018. [RFC2119] Bradner, S., "Key words for useAs stated earlier, the E2E key determined via DTLS-SRTP MAY be discarded inRFCsfavor of a locally-generated SRTP master key. While the DTLS-SRTP-derived SRTP master key can be used initially, the endpoint might choose toIndicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <https://www.rfc-editor.org/info/rfc2119>. [RFC3550] Schulzrinne, H., Casner, S., Frederick, R.,change the SRTP master key periodically andV. Jacobson, "RTP: A Transport Protocol for Real-Time Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550, July 2003, <https://www.rfc-editor.org/info/rfc3550>. [RFC6904] Lennox, J., "EncryptionMUST change the SRTP master key as a result ofHeader Extensions intheSecure Real-time Transport Protocol (SRTP)", RFC 6904, DOI 10.17487/RFC6904, April 2013, <https://www.rfc-editor.org/info/rfc6904>. 9.2. Informative References [I-D.ietf-rtcweb-security-arch] Rescorla, E., "WebRTC Security Architecture", draft-ietf- rtcweb-security-arch-15 (work in progress), July 2018. [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP: Session Initiation Protocol", RFC 3261, DOI 10.17487/RFC3261, June 2002, <https://www.rfc-editor.org/info/rfc3261>. [RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K. Norrman, "The Secure Real-time Transport Protocol (SRTP)", RFC 3711, DOI 10.17487/RFC3711, March 2004, <https://www.rfc-editor.org/info/rfc3711>. [RFC4353] Rosenberg, J., "A Framework for ConferencingEKT key changing. A locally-generated SRTP master key is used along with theSession Initiation Protocol (SIP)", RFC 4353, DOI 10.17487/RFC4353, February 2006, <https://www.rfc-editor.org/info/rfc4353>. [RFC4474] Peterson, J. and C. Jennings, "Enhancements for Authenticated Identity Managementmaster salt transmitted to the endpoint from the key distributor via the EKTKey message to encrypt media end-to-end. Since the media distributor is not involved in E2E functions, it does not create this key nor have access to any endpoint's E2E key. Note, too, that even theSession Initiation Protocol (SIP)", RFC 4474, DOI 10.17487/RFC4474, August 2006, <https://www.rfc-editor.org/info/rfc4474>. [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session Description Protocol", RFC 4566, DOI 10.17487/RFC4566, July 2006, <https://www.rfc-editor.org/info/rfc4566>. [RFC5763] Fischl, J., Tschofenig, H., and E. Rescorla, "Framework for Establishing a Secure Real-time Transport Protocol (SRTP) Security Context Using Datagram Transport Layer Security (DTLS)", RFC 5763, DOI 10.17487/RFC5763, May 2010, <https://www.rfc-editor.org/info/rfc5763>. [RFC5764] McGrew, D. and E. Rescorla, "Datagram Transport Layer Security (DTLS) Extension to Establish Keys for the Secure Real-time Transport Protocol (SRTP)", RFC 5764, DOI 10.17487/RFC5764, May 2010, <https://www.rfc-editor.org/info/rfc5764>. [RFC6464] Lennox, J., Ed., Ivov, E., and E. Marocco, "A Real-time Transport Protocol (RTP) Header Extension for Client-to- Mixer Audio Level Indication", RFC 6464, DOI 10.17487/RFC6464, December 2011, <https://www.rfc-editor.org/info/rfc6464>. [RFC7667] Westerlund, M. and S. Wenger, "RTP Topologies", RFC 7667, DOI 10.17487/RFC7667, November 2015, <https://www.rfc-editor.org/info/rfc7667>. Appendix A. PERC Key Inventory PERC specifies the use of a numberkey distributor is unaware ofdifferent keys and, understandably, it looks complicated or confusing on the surface. This section summarizesthevariouslocally- generated E2E keys usedin the system, how they are generated, and what purpose they serve.by each endpoint. Thekeys are describedendpoint transmits its E2E key to other endpoints in theorderconference by periodically including it inwhich they would typically be acquired. The various keys usedSRTP packets inPERC are showna Full EKT Tag. When placed inFigure 4 below. +-----------+----------------------------------------------------+ | Key | Description | +-----------+----------------------------------------------------+ | KEK |the Full EKT Tag, it is encrypted using the EKT Keysharedprovided by the key distributor. The master salt is not transmitted, though, since all endpointsand used to encrypt | | (EKT Key) | each endpoint's SRTPreceive the same masterkey so receiving | | | endpoints can decrypt media. | +-----------+----------------------------------------------------+ | HBH Key | Key used to encrypt media hop-by-hop. | +-----------+----------------------------------------------------+ | E2E Key | Key used to encrypt media end-to-end. | +-----------+----------------------------------------------------+ Figure 4: Key Inventory As you can see,salt via thenumberEKTKey message from the Key Distributor. The recommended frequency with which an endpoint transmits its SRTP master keytypes is very small. However, what can be challengingiskeeping trackspecified in [I-D.ietf-perc-srtp-ekt-diet]. 6.5. Summary ofallKey Types and Entity Possession All endpoints have knowledge of the KEK. Every HBH key is distinctE2E keys as the conference grows in size. With 1,000 participants infor aconference, there will be 1,000 distinct SRTP master keys, allgiven endpoint, thus Endpoint A and Endpoint B do not have knowledge ofwhich sharethesame master salt.other's HBH key. Eachof those keys are passed through the KDF defined in [RFC3711] to produce the actual encryption and authentication keys. Complicatingendpoint generates its own E2E Key (SRTP master key), thus distinct per endpoint. This keymanagementis transmitted (encrypted) via thefact that the KEK can change and, when it does, the endpoints generate new SRTP master keys. And, of course, there is a new SRTP master saltFull EKT Tag togo with those keys.other endpoints. Endpointshave to retain old keys forthat receive media from aperiodgiven transmitting endpoint gains knowledge oftime to ensure they can properly decrypt late-arriving or out-of- order packets. The time required to retain old keys (eitherthe transmitter's E2E key via the Full EKTKeys or SRTP master keys) is not specified, but they should be retained at least forTag. To summarize theperiodvarious keys and which entity is in possession oftime required to re-key the conference or handle late- arriving or out-of-order packets. A period of 60s should be consideredagenerous retention period, but endpoints may keep old keys on hand until the end of the conference. Or more detailed explanation of each of the keys follows. A.1. DTLS-SRTP Exchange Yieldsgiven key, refer to Figure 5. +----------------------+------------+-------+-------+------------+ | Key / Entity | Endpoint A | MD X | MD Y | Endpoint B | +----------------------+------------+-------+-------+------------+ | KEK | Yes | No | No | Yes | +----------------------+------------+-------+-------+------------+ | E2E Key (A and B) | Yes | No | No | Yes | +----------------------+------------+-------+-------+------------+ | HBH Key (A<=>MD X) | Yes | Yes | No | No | +----------------------+------------+-------+-------+------------+ | HBH Key (B<=>MD Y) | No | No | Yes | Yes | +----------------------+------------+---------------+------------+ | HBH Key (MD X<=>MD Y)| No | Yes | Yes | No | +----------------------+------------+---------------+------------+ Figure 5: KeysThe first set of keys acquired are for hop-by-hop encryption and decryption. Assuming the use of Double [I-D.ietf-perc-double], the endpoint would perform DTLS-SRTP exchange with the key distributorTypes andreceiveEntity Possession 7. Encrypted Media Packet Format Figure 6 presents akey that is, in fact, "double" the size that is needed. Per the Double specification, the E2E part is the first halfcomplete picture of what an encrypted media packet per this framework looks like when transmitted over thekey, so the endpoint will just discard that information in PERC. It is not used.wire. Thesecond half of the key materialpacket format shown isfor HBH operations, so that half ofencrypted using thekey (correspondingDouble cryptographic transform with an EKT Tag appended to theleast significant bits) is assigned internally as theend. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<++ |V=2|P|X| CC |M| PT | sequence number | IO +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ IO | timestamp | IO +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ IO | synchronization source (SSRC) identifier | IO +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ IO | contributing source (CSRC) identifiers | IO | .... | IO +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<+O | RTP extension (OPTIONAL) ... | |O +>+>+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<+O O I | payload ... | IO O I | +-------------------------------+ IO O I | | RTP padding | RTP pad count | IO O +>+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+<+O O | | E2E authentication tag | |O O | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |O O | | OHB ... | |O +>| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |+ | | | HBHkey. The media distributor doesn't perform DTLS-SRTP, but itauthentication tag | || | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ || | | | EKT Tag ... | R || | | +-+-+-+-+-+-+-+-+-+ | || | | +- Neither encrypted nor authenticated; || | | appended after Double isat this point that the key distributor will inform the media distributor of theperformed || | | || | | || | +- E2E Encrypted Portion E2E Authenticated Portion ---+| | | +--- HBHkey value via the tunnel protocol ([I-D.ietf-perc-dtls-tunnel]).Encrypted Portion HBH Authenticated Portion ----+ Figure 6: Encrypted Media Packet Format 8. Security Considerations 8.1. Third Party Attacks On-path attacks are mitigated by hop-by-hop integrity protection and encryption. Thekey distributor willintegrity protection mitigates packet modification and encryption makes selective blocking of packets harder, but not impossible. Off-path attackers may try connecting to different PERC entities and sendthe least significant bits correspondingspecifically crafted packets. A successful attacker might be able to get thehalf of the keying material determined through DTLS-SRTP with the endpointMedia Distributor tothe media distributor via the tunnel protocol. There is a salt generated along with the HBH key.forward such packets. Thesalt is also longer than needed for HBH operations, thus only the least significant bits ofMedia Distributor mitigates such an attack by performing hop-by-hop authentication and discarding packets that fail authentication. Another potential attack is a third party claiming to be a Media Distributor, fooling endpoints in to sending packets to therequired length (i.e., halffalse Media Distributor instead of thegenerated salt material) are sentcorrect one. The deceived sending endpoints could incorrectly assuming their packets have been delivered tothe media distributor via the tunnel protocol. No twoendpointswillwhen they in fact have not. Further, thesame HBH key, thus the media distributor must keep track each distinct HBH key (and the corresponding salt) and use it only forfalse Media Distributor may cascade to another legitimate Media Distributor creating a false version of thespecified hop.real conference. Thiskey is also used for HBH encryption of RTCP. RTCPattack is be mitigated by the false Media Distributor notend- to-end encrypted in PERC. A.2. Thebeing authenticated by the Key Distributor. They Key DistributorTransmits the KEK (EKT Key) Via the aforementioned DTLS-SRTP association, the key distributorwillsend the endpoint the KEK (i.e., EKT Key per [I-D.ietf-perc-srtp-ekt-diet]). This key is known onlyfail to establish thekey distributor and endpoints. This key issecure association with themost important to protect since having knowledge of this key (andendpoint if theSRTP master salt transmitted as a part ofMedia Distributor cannot be authenticated. 8.2. Media Distributor Attacks The Media Distributor can attack thesame message) will allow an entity to decrypt any media packetsession inthe conference. Note that the key distributor can send anya number ofEKT Keys to endpoints. This can be used to re-key the entire conference. Each keypossible ways. 8.2.1. Denial of service A simple form of attack isidentified by a "Security Parameter Index" (SPI) value. Endpoints should expectdiscarding received packets thata conference mightshould bere-keyed when a new participant joins a conference or when a participant leaves a conference in orderforwarded. This solution framework does not introduce any mitigation for Media Distributors that fail toprotect the confidentialityforward media packets. Another form ofthe conversation before and after such events. The SRTP master salt to be used by the endpointattack istransmitted along withmodifying received packets before forwarding. With this solution framework, any modification of theEKT Key. All endpointsend-to-end authenticated data results in theconference utilizereceiving endpoint getting an integrity failure when performing authentication on thesame SRTP master salt that corresponds with a given EKT Key.received packet. TheEKT FieldMedia Distributor can also attempt to perform resource consumption attacks on the receiving endpoint. One such attack would be to insert random SSRC/CSRC values inmedia packets is encrypted usingany RTP packet with an inband key-distribution message attached (i.e., Full EKT Tag). Since such acipher specified via the EKTKeymessage(e.g., AES Key Wrap withwould trigger the receiver to form a128-bit key). This cipher is different thannew cryptographic context, thecipher usedMedia Distributor can attempt toprotect mediaconsume the receiving endpoints resources. While E2E authentication would fail andis only used to encrypttheendpoint's SRTP master key (and other EKT Field data as per [I-D.ietf-perc-srtp-ekt-diet]). The media distributor is not givencryptographic context would be destroyed, theKEK (i.e., EKT Key). A.3. Endpoints fabricate an SRTP Master Key As stated earlier, the E2E key determined via DTLS-SRTP MAY be discarded in favor of a locally-generated SRTP master key. While the DTLS-SRTP-derivedkeycould be used, the fact thatderivation operation would nonetheless consume some computational resources. 8.2.2. Replay Attack A replay attack is when anendpoint might need to changealready received packets from a previous point in theSRTP master key periodically orRTP stream isforcedreplayed as new packet. This could, for example, allow a Media Distributor tochange the SRTP master keytransmit a sequence of packets identified as aresultuser saying "yes", instead of theEKT key changing means using it has only limited utility. To reduce complexity, PERC *RECOMMENDS* that endpoints create random SRTP master keys locally to be used"no" the user actually said. The mitigation forE2E encryption. This locally-generated SRTP master keya replay attack isused along with the master salt transmittedto prevent old packets beyond a small-to-modest jitter and network re-ordering sized window to be rejected. End-to-end replay protection MUST be provided for theendpoint from the key distributor viawhole duration of theEKTKey message to encrypt media end-to-end. Sinceconference. 8.2.3. Delayed Playout Attack The delayed playout attack is a variant of themedia distributorreplay attack. This attack isnot involved inpossible even if E2Efunctions, it will not create this key nor have accessreplay protection is in place. However, due toany endpoint's E2E key. Note, too,fact thateventhekey distributorMedia Distributor isunawareallowed to select a sub-set of streams and not forward thelocally- generated E2E keys used by each endpoint. The endpoint will transmit its E2E keyrest toother endpoints in the conference by periodically including it in SRTP packets inaFull EKT Field. When placedreceiver, such as in forwarding only theFull EKT Field, it is encrypted usingmost active speakers, theEKT Key provided byreceiver has to accept gaps in thekey distributor.E2E packet sequence. Themaster saltissue with this is that a Media Distributor can select to nottransmitted, though, since all endpoints will havedeliver a particular stream for a while. Within the window from last packet forwarded to the receiver and the latest received by thesame master salt viaMedia Distributor, theEKTKey message. The recommended frequency with whichMedia Distributor can select anendpoint transmits its SRTP master keyarbitrary starting point when resuming forwarding packets. Thus what the media source said can be substantially delayed at the receiver with the receiver believing that it isspecified in [I-D.ietf-perc-srtp-ekt-diet]. A.4. Who has What Key All endpoints have knowledge ofwhat was said just now, and only delayed due to transport delay. 8.2.4. Splicing Attack The splicing attack is an attack where a Media Distributor receiving multiple media sources splices one media stream into theKEK. Every HBH keyother. If the Media Distributor isdistinctable to change the SSRC without the receiver having any method fora given endpoint, thus Endpointverifying the original source ID, then the Media Distributor could first deliver stream A andendpointthen later forward stream Bdounder the same SSRC as stream A was previously using. By nothave knowledge ofallowing theother's HBH key. Each endpoint generates its own E2E Key (SRTP master key), thusMedia Distributor to change thekey distinct per endpoint. This key is transmitted (encrypted) via the EKT FieldSSRC, PERC mitigates this attack. 9. IANA Considerations There are no IANA considerations for this document. 10. Acknowledgments The authors would like toother endpoints. Endpoints that receive media from a given transmitting endpoint will therefore have knowledge of the transmitter's E2E key. To summarize the various keysthank Mo Zanaty andwhich entity is in possessionChristian Oien for invaluable input on this document. Also, we would like to acknowledge Nermeen Ismail for serving on the initial versions of this document as agiven key, refer to Figure 5. +----------------------+------------+-------+-------+------------+ |co-author. 11. References 11.1. Normative References [I-D.ietf-perc-double] Jennings, C., Jones, P., Barnes, R., and A. Roach, "SRTP Double Encryption Procedures", draft-ietf-perc-double-10 (work in progress), October 2018. [I-D.ietf-perc-srtp-ekt-diet] Jennings, C., Mattsson, J., McGrew, D., Wing, D., and F. Andreasen, "Encrypted Key/ Entity | EndpointTransport for DTLS and Secure RTP", draft-ietf-perc-srtp-ekt-diet-09 (work in progress), October 2018. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <https://www.rfc-editor.org/info/rfc2119>. [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson, "RTP: A| MD X | MD Y | Endpoint B | +----------------------+------------+-------+-------+------------+ | KEK | Yes | No | No | Yes | +----------------------+------------+-------+-------+------------+ | E2ETransport Protocol for Real-Time Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550, July 2003, <https://www.rfc-editor.org/info/rfc3550>. [RFC6904] Lennox, J., "Encryption of Header Extensions in the Secure Real-time Transport Protocol (SRTP)", RFC 6904, DOI 10.17487/RFC6904, April 2013, <https://www.rfc-editor.org/info/rfc6904>. [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key(AWords", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, <https://www.rfc-editor.org/info/rfc8174>. 11.2. Informative References [I-D.ietf-perc-dtls-tunnel] Jones, P., Ellenbogen, P., and N. Ohlmeier, "DTLS Tunnel between a Media Distributor andB) | Yes | No | No | Yes | +----------------------+------------+-------+-------+------------+ | HBH Key (A<=>MD X) | Yes | Yes | No | No | +----------------------+------------+-------+-------+------------+ | HBHKey(B<=>MD Y) | No | No | Yes | Yes | +----------------------+------------+---------------+------------+ | HBHDistributor to Facilitate Key(MD X<=>MD Y)| No | Yes | Yes | No | +----------------------+------------+---------------+------------+ Figure 5: Keys per Entity Appendix B. PERC Packet Format Figure 6 presents a complete picture of what a PERC packet looks like when transmitted overExchange", draft-ietf-perc-dtls-tunnel-04 (work in progress), October 2018. [I-D.ietf-rtcweb-security-arch] Rescorla, E., "WebRTC Security Architecture", draft-ietf- rtcweb-security-arch-17 (work in progress), November 2018. [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP: Session Initiation Protocol", RFC 3261, DOI 10.17487/RFC3261, June 2002, <https://www.rfc-editor.org/info/rfc3261>. [RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K. Norrman, "The Secure Real-time Transport Protocol (SRTP)", RFC 3711, DOI 10.17487/RFC3711, March 2004, <https://www.rfc-editor.org/info/rfc3711>. [RFC4353] Rosenberg, J., "A Framework for Conferencing with thewire. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ A |V=2|P|X| CC |M| PT | sequence number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ A | timestamp | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ A | synchronization source (SSRC) identifier | +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ A | contributing source (CSRC) identifiers | A | .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ A | RTP extension (OPTIONAL) | A | (includingSession Initiation Protocol (SIP)", RFC 4353, DOI 10.17487/RFC4353, February 2006, <https://www.rfc-editor.org/info/rfc4353>. [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session Description Protocol", RFC 4566, DOI 10.17487/RFC4566, July 2006, <https://www.rfc-editor.org/info/rfc4566>. [RFC5763] Fischl, J., Tschofenig, H., and E. Rescorla, "Framework for Establishing a Secure Real-time Transport Protocol (SRTP) Security Context Using Datagram Transport Layer Security (DTLS)", RFC 5763, DOI 10.17487/RFC5763, May 2010, <https://www.rfc-editor.org/info/rfc5763>. [RFC5764] McGrew, D. and E. Rescorla, "Datagram Transport Layer Security (DTLS) Extension to Establish Keys for theOHB) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ C : : C : Ciphertext Payload : C : : +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ R : : R : EKT Field : R : : +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ C = Ciphertext (encryptedSecure Real-time Transport Protocol (SRTP)", RFC 5764, DOI 10.17487/RFC5764, May 2010, <https://www.rfc-editor.org/info/rfc5764>. [RFC6464] Lennox, J., Ed., Ivov, E., andauthenticated) A = Associated Data (authenticated only) R = neither encrypted nor authenticated, added after Authenticated Encryption completed Figure 6: PERC Packet FormatE. Marocco, "A Real-time Transport Protocol (RTP) Header Extension for Client-to- Mixer Audio Level Indication", RFC 6464, DOI 10.17487/RFC6464, December 2011, <https://www.rfc-editor.org/info/rfc6464>. [RFC7667] Westerlund, M. and S. Wenger, "RTP Topologies", RFC 7667, DOI 10.17487/RFC7667, November 2015, <https://www.rfc-editor.org/info/rfc7667>. [RFC8224] Peterson, J., Jennings, C., Rescorla, E., and C. Wendt, "Authenticated Identity Management in the Session Initiation Protocol (SIP)", RFC 8224, DOI 10.17487/RFC8224, February 2018, <https://www.rfc-editor.org/info/rfc8224>. Authors' Addresses Paul E. Jones Cisco 7025 Kit Creek Rd. Research Triangle Park, North Carolina 27709 USA Phone: +1 919 476 2048 Email: paulej@packetizer.com David Benham Independent Email: dabenham@gmail.com Christian Groves Independent Melbourne Australia Email:Christian.Groves@nteczone.comcngroves.std@gmail.com