Re: [Perc] AD Evaluation of draft-ietf-perc-private-media-framework-07

"Paul E. Jones" <paulej@packetizer.com> Mon, 14 January 2019 23:17 UTC

Return-Path: <paulej@packetizer.com>
X-Original-To: perc@ietfa.amsl.com
Delivered-To: perc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7025F131017; Mon, 14 Jan 2019 15:17:13 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.898
X-Spam-Level:
X-Spam-Status: No, score=-0.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_ADSP_ALL=0.8, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, HTML_MESSAGE=0.001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=fail (1024-bit key) reason="fail (message has been altered)" header.d=packetizer.com
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 7tC4uvgzieGf; Mon, 14 Jan 2019 15:17:09 -0800 (PST)
Received: from dublin.packetizer.com (dublin.packetizer.com [IPv6:2600:1f18:24d6:2e01:e842:9b2b:72a2:d2c6]) (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 11253130FF2; Mon, 14 Jan 2019 15:17:08 -0800 (PST)
Received: from authuser (localhost [127.0.0.1])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=packetizer.com; s=dublin; t=1547507826; bh=MXH6q5kf+mK41CcLOEdx6p/6xqXrYiz6QYTdOfn9QAM=; h=Date:In-Reply-To:References:Subject:To:CC:From; b=JeFDxBO9H5PoatZGImbAaB9UtHiCY4/Ab2NUBG1XbSHz6e9inD3jkx24Hakt6bjnt ukaxSDObiKlo1dS3ikPABKGBJnlM4u4Ieqb/9h6NMtABca0U3T0PjCqFeTtFzcpk91 +yd5/o0+AFa2JNGIBqTFvxB8qJaHB4ajQJlXBGvQ=
Date: Mon, 14 Jan 2019 18:17:04 -0500
User-Agent: K-9 Mail for Android
In-Reply-To: <A750517B-DA97-4E20-A909-9EBEA08AA042@nostrum.com>
References: <8F9C11FD-9CCD-48DD-96E8-286CA2569626@nostrum.com> <A750517B-DA97-4E20-A909-9EBEA08AA042@nostrum.com>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----FGUCTI7AXA3190JERE8G8DNSJVT841"
Content-Transfer-Encoding: 7bit
Autocrypt: addr=paulej@packetizer.com; keydata= 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
To: Ben Campbell <ben@nostrum.com>, draft-ietf-perc-private-media-framework.all@ietf.org
CC: perc@ietf.org
From: "Paul E. Jones" <paulej@packetizer.com>
Message-ID: <B62BB317-F298-46F6-A078-223318F448A6@packetizer.com>
Archived-At: <https://mailarchive.ietf.org/arch/msg/perc/WTU6OPwRINxG_01zjX8KVSzrIZE>
Subject: Re: [Perc] AD Evaluation of draft-ietf-perc-private-media-framework-07
X-BeenThere: perc@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Privacy Enhanced RTP Conferencing <perc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/perc>, <mailto:perc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/perc/>
List-Post: <mailto:perc@ietf.org>
List-Help: <mailto:perc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/perc>, <mailto:perc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 14 Jan 2019 23:17:13 -0000

Ben,

I was chasing people down for comment. I got that end of last week, so I hope to get a new draft put later this week or the weekend.

Paul


-------- Original Message --------
From: Ben Campbell <ben@nostrum.com>
Sent: January 14, 2019 6:11:32 PM EST
To: draft-ietf-perc-private-media-framework.all@ietf.org
Cc: perc@ietf.org
Subject: Re: AD Evaluation of draft-ietf-perc-private-media-framework-07

Hi,

What’s the status of getting an update? It would be nice to get this through IETF LC and the IESG evaluation before Prague.

Thanks!

Ben.

> On Oct 22, 2018, at 2:47 PM, Ben Campbell <ben@nostrum.com> wrote:
> 
> Hi,
> 
> This is my AD Evaluation of draft-ietf-perc-private-media-framework-07.
> 
> I appreciate all the work that has gone into this, but I think this draft still needs some work before the IETF last call. I have some substantive and significant editorial comments that I would like to resolve prior to the LC.
> 
> Thanks!
> 
> Ben.
> 
> -------------------------
> 
> Substantive Comments:
> 
> §1, 2nd paragraph: This paragraph needs to tie the ideas together better. It says the ability to deploy in virtual environments is an advantage, but the rest of the paragraph seems to argue why doing so is insecure. I _think_ the idea is to say that this draft helps improve that security, thus helping remove a barrier to taking advantage of virtual/cloud environments? If so, please say so.
> 
> §2: Please use the new boilerplate from RFC 8174. There are multiple uses of lower-case “must” and “should” in the document that don’t appear to be intended as normative.
> 
> §2, definition of MD: It seems like this definition is a little too focused on the PERC trust model, and leaves out the definition of it as a middlebox that forwards the active stream without modification. (I guess that’s caught in the reference to 7667, but it would be better to include the core of the definition here, rather than imply it by reference.
> 
> §3.1.1: "The actual
> media content MUST NOT not be decryptable by a Media Distributor, so
> it is untrusted to have access to the E2E media encryption keys.”
> 
> I’m not sure that MUST NOT should be stated normatively, as it’s really a statement of fact, or at least a foundational assumption.
> 
> §3.1.1, paragraph 3: "A Media Distributor MUST perform its role in properly forwarding
> media packets while taking measures to mitigate the adverse effects
> of denial of service attacks (refer to Section 6), etc, to a level
> equal to or better than traditional conferencing (i.e. non-PERC)
> deployments.”
> 
> That requirement is too vague for a normative MUST. Consider leaving the normative language to section 6.
> 
> §3.1.2, last paragraph: "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.”
> 
> Please describe why that is important in a PERC environment.
> 
> §4.2, first paragraph: "participants in the conference
> MUST keep track of the E2E keys”
> 
> This seems redundant to similar requirement in 4.3. The requirements in 4.3 are more precise, so I suggest stating this one descriptively.
> 
> §4.3: "prior E2E keys SHOULD be retained”
> 
> I think there’s some disagreement internal to this document, and between this and EKT (and maybe double?). Please see related comment 0n section 4.5.2:
> 
> §4.4: First paragraph: "this framework requires that every packet be authenticated”: Is that a statement of fact that this framework states a normative requirement elsewhere, or is it this intended to be a normative requirement in itself?
> 
> §4.4, 2nd paragraph: "Using hop-by-hop authentication gives the Media Distributor the
> ability to change certain RTP header values.”
> That’s not really a true statement. It’s the lack of E2E authentication that enables that. It seems like the real point is that, since we can’t use E2E authentication, HBH authentication is better than nothing.
> 
> §4.4, 3rd paragraph: "If there is a need to encrypt one or more RTP header extensions hopby-
> hop, ...” : Is that optional?
> 
> §4.4, last paragraph: "Note that when RTP header extensions are encrypted,
> all hops - in the untrusted domain at least - will need to decrypt
> and re-encrypt these encrypted header extensions.”
> 
> I’m confused by this; the document requires distinct keys for each hop. is there an exception for trusted MDs?
> 
> §4.5.1,
> - 2nd to  last paragraph: "Endpoints MAY use the DTLSSRTP
> generated E2E key for transmission or MAY generate a fresh E2E
> key.”: They have to do one or the other, right? That wording allows then to do neither.
> 
> - Last paragraph:  It would be helpful to describe the security associations involved. Do I understand correctly that an endpoint has an SA with the KD, but not the MD?  But peer MDs do have SAs with each other?
> 
> §4.5.2, 3rd paragraph:
> 
> I think there’s some disagreement on the normative keywords for delaying the switch to new keys. I discussed this offline with Richard, and he replied with the following:
> 
>> There's sort of a conflict here.  The crux is here:
>> 
>> """
>>   Since it may take some time for all of the
>>   endpoints in conference to finish re-keying, senders MUST delay a
>>   short period of time before sending media encrypted with the new
>>   master key, but it MUST be prepared to make use of the information
>>   from a new inbound EKT Key immediately.
>> """
>> 
>> The first part talks about media keys, which conflicts with EKT; it should probably be deleted.  The second part is about processing EKT tags, and should be kept.  So we probably end up with something like the following:
>> 
>> """
>>   In order to allow time for all endpoints in the conference to receive the new keys,
>>   the sender should follow the recommendations in Section XXX of [I-D.ietf-perc-srtp-ekt-diet].
>>   On receiving a new EKT Key, endpoints MUST be prepared to decrypt EKT tags using the
>>   new key.  The EKT SPI field can be used to differentiate between tags encrypted with
>>   the old and new keys.
>> """
> 
> §5.2, 2nd paragraph: If the fingerprint is signed, does the entire signaling network still need to be trusted? Also, should the reference to 4474 be 8224?
> 
> §6:  This is written in forward-looking language about how the framework needs to be designed. That design is complete now, what are the considerations for it’s use as designed?
> 
> Also, there are considerations for attacks other than DOS attacks, right?
> 
> §6.2.1: This section seems odd to me.  I understand not trusting the MD to keep communication confidential or to not tamper with it, etc. But if the MD wants to deny service, it can find much easier ways. For example, simply not forwarding packets.
> 
> §A.1: "Assuming the use of Double...”
> Is that optional?
> 
> - "The media distributor doesn’t perform DTLS-SRTP,...”
> 
> The document describes one case where it does (connections between peer MDs)
> 
> §A.3: "To reduce complexity, PERC
> *RECOMMENDS* that endpoints create random SRTP master keys locally to
> be used for E2E encryption.”
> 
> Is RECOMMENDS intended as normative? If not, where is the actual recommendation?
> 
> Editorial Comments:
> 
> - General: I found the draft to have some issues with flow and fragmentation. I expected this draft give a big-picture overview tying together the moving parts of PERC in a way that tells me how they work together.  I was surprised to find that the text that does that was relegated to the appendices, which I usually see reserved for more optional reading. I recommend promoting the appendix text into a non-normative introduction. (If you follow this recommendation, please edit that text for tone; it veers a bit too far on the casual side in places for a standards track RFC.)
> 
> - General: Please be consistent between using “E2E" or "end-to-end” when referring to keys. (Same with HBH and "hop-by-hop")
> 
> - General: Please be consistent in using present vs future tense when describing procedures. Present tense is usually more readable for that sort of thing.
> 
> §1, first paragraph:
> - "Instead, media flows transmitted by
> conference participants are simply forwarded by the Media Distributor
> to each of the other participants, often forwarding only a subset of
> flows based on voice activity detection or other criteria.”
> 
> The sentence seems to switch subjects half way through. Suggest breaking into two sentences, with the second starting with “Media Distributors often forward only a subset..”
> 
> §1, 2nd paragraph: This paragraph needs to tie the ideas together better. It says the ability to deploy in virtual environments is an advantage, but the rest of the paragraph seems to argue why doing so is insecure. I _think_ the idea is to say that this draft helps improve that security, thus helping remove a barrier to taking advantage of virtual/cloud environments? If so, please say so.
> 
> §3.1.1, 2nd paragraph: "An endpoint’s ability to join a conference hosted by a Media
> Distributor MUST NOT alone be interpreted as being 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.”
> 
> MUST NOT be interpreted by what? (consider active voice). Also, I’m not sure what it means for "the ability to join a conference" to be authorized. Consider something to the effect of “... to imply that the endpoint is authorized...”
> 
> §4.1, first paragraph: "access of the end-to-
> end key information”
> s/of/to
> 
> §4.2, first paragraph: Please expand “SSRC" on first mention.
> 
> §4.3:
> - 2nd paragraph:"Receiving
> endpoints MUST discard old E2E keys no later than when it leaves the
> conference.”: singular/plural disagreement.
> 
> -3rd paragraph:"an encryption key is derived”: Derived by what? (consider active voice).
> 
> §4.4, section title: should “Hop Operations” be “Per-hop Operations”?
> 
> §4.4, last paragraph: "an encryption key is derived”: derived by what? (consider active voice.)
> 
> §4.5.2, last paragraph: "Endpoints are at liberty to change the E2E encryption key used at any
> time. Endpoints MUST generate a new E2E encryption key whenever it
> receives a new EKT Key.”
> 
> To be consistent with the “MUST" in the 2nd sentence, it seems like “are at liberty to” should be “MAY”.
> 
> §5: “The key requirements is...” : plural disagreement.
> 
> §6.1, 2nd paragraph: "If not
> making use of HBH authentication on the Media Distributor, such an
> attack could only be detected in the receiving endpoints where the
> forged packets would finally be dropped.”
> 
> The sentence suggests that an attack might make use of HBH authentication. I don’t think that’s the intent.
> 
> §6.2.2: Missing article before “Replay”
> 
> Appendix A:
> 
> -- "The time required to retain old keys (either EKT Keys or SRTP master
> keys) is not specified, but they should be retained at least for the
> period of time required to re-key the conference or handle latearriving
> or out-of-order packets. A period of 60s should be
> considered a generous retention period, but endpoints may keep old
> keys on hand until the end of the conference.”
> 
> That should be stated in the main body.
> 
> -- "Or more detailed explanation of each of the keys follows.”
> 
> Sentence fragment.
> 
> Appendix B:
> 
> It really seems like the packet format should go in the main body (if it’s needed in this document at all.)
> 
> Also, is there really anything called a PERC packet? That would be" SRTP with double", or something like that, right?
> 
> 
> 
> 
> 
> 
>