Re: [rtcweb] Stephen Farrell's Discuss on draft-ietf-rtcweb-stun-consent-freshness-15: (with DISCUSS and COMMENT)

Stephen Farrell <stephen.farrell@cs.tcd.ie> Thu, 13 August 2015 13:00 UTC

Return-Path: <stephen.farrell@cs.tcd.ie>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9558D1A1BAE; Thu, 13 Aug 2015 06:00:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.501
X-Spam-Level:
X-Spam-Status: No, score=-3.501 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, J_CHICKENPOX_27=0.6, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_DKIM_INVALID=0.01, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 v_ZFk2UOMXJM; Thu, 13 Aug 2015 06:00:55 -0700 (PDT)
Received: from mercury.scss.tcd.ie (mercury.scss.tcd.ie [134.226.56.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 90F7E1A1BAF; Thu, 13 Aug 2015 06:00:54 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by mercury.scss.tcd.ie (Postfix) with ESMTP id 57780BEC6; Thu, 13 Aug 2015 14:00:53 +0100 (IST)
X-Virus-Scanned: Debian amavisd-new at scss.tcd.ie
Received: from mercury.scss.tcd.ie ([127.0.0.1]) by localhost (mercury.scss.tcd.ie [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4rdNBjNHBZfJ; Thu, 13 Aug 2015 14:00:50 +0100 (IST)
Received: from [10.87.48.73] (unknown [86.46.29.218]) by mercury.scss.tcd.ie (Postfix) with ESMTPSA id 8430DBEA0; Thu, 13 Aug 2015 14:00:50 +0100 (IST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cs.tcd.ie; s=mail; t=1439470850; bh=L4FJ3HHwZJtDTH2c6MKIaocclpSMdISDD7Ua7iM7VHg=; h=Date:From:To:CC:Subject:References:In-Reply-To:From; b=p3mp1WWD8rLMwMZZdNrZ8jQUeYh4E1vxsmi2UbDgbpiRPJFmOkahNF6USVoTv0SON ILdn7tmA5O+TIUmt3kbIajRnbTCV5RN8Mz/7lqOy6uX9fhzU7zXFlY3xCH1vkg6s45 WawiYBHAIoHz/C+INZiPHUuT76V8DFAgNrzJ7xuY=
Message-ID: <55CC9502.4080909@cs.tcd.ie>
Date: Thu, 13 Aug 2015 14:00:50 +0100
From: Stephen Farrell <stephen.farrell@cs.tcd.ie>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0
MIME-Version: 1.0
To: "Ram Mohan R (rmohanr)" <rmohanr@cisco.com>, Muthu Arul Mozhi Perumal <muthu.arul@gmail.com>, Martin Thomson <martin.thomson@gmail.com>
References: <20150805223837.26225.49192.idtracker@ietfa.amsl.com> <CAKz0y8w7hQWD=dPOwa79CprkbvL5SV7p64xpjLo4zTvaYXAw6Q@mail.gmail.com> <913383AAA69FF945B8F946018B75898A478BCD7E@xmb-rcd-x10.cisco.com> <CABkgnnUrivK=X6FQ2usrZ7531CrCENo4bdDKk9WfNc7PzKg0sw@mail.gmail.com> <CAKz0y8z=KanseGOFG=i5Ysc8SGcuFcwnEHyAXtHEpuhioqS8yA@mail.gmail.com> <D1F0B7F8.3C254%rmohanr@cisco.com>
In-Reply-To: <D1F0B7F8.3C254%rmohanr@cisco.com>
OpenPGP: id=D66EA7906F0B897FB2E97D582F3C8736805F8DA2; url=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtcweb/jC2O46Y-LAT_v2OD2RKITBju6Vo>
X-Mailman-Approved-At: Thu, 13 Aug 2015 10:08:10 -0700
Cc: "draft-ietf-rtcweb-stun-consent-freshness@ietf.org" <draft-ietf-rtcweb-stun-consent-freshness@ietf.org>, "rtcweb-chairs@ietf.org" <rtcweb-chairs@ietf.org>, "draft-ietf-rtcweb-stun-consent-freshness.shepherd@ietf.org" <draft-ietf-rtcweb-stun-consent-freshness.shepherd@ietf.org>, "rtcweb@ietf.org" <rtcweb@ietf.org>, The IESG <iesg@ietf.org>, "draft-ietf-rtcweb-stun-consent-freshness.ad@ietf.org" <draft-ietf-rtcweb-stun-consent-freshness.ad@ietf.org>
Subject: Re: [rtcweb] Stephen Farrell's Discuss on draft-ietf-rtcweb-stun-consent-freshness-15: (with DISCUSS and COMMENT)
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.15
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: Thu, 13 Aug 2015 13:00:58 -0000

Hi Folks,

Sorry for being slow, but I've now had another read of the draft
and if you submit those changes I'll be fine to clear.

Thanks,
S.


On 12/08/15 04:21, Ram Mohan R (rmohanr) wrote:
> Ok.removed that para. Here is the updated diff.
> 
> https://github.com/Draft-Mafia/Consentfreshness/compare/master...rmohanr-StephenConsentFreshness
> 
> Thanks,
> Ram
> 
> From: Muthu Arul Mozhi Perumal <muthu.arul@gmail.com<mailto:muthu.arul@gmail.com>>
> Date: Wednesday, 12 August 2015 8:35 am
> To: Martin Thomson <martin.thomson@gmail.com<mailto:martin.thomson@gmail.com>>
> Cc: "Tirumaleswar Reddy (tireddy)" <tireddy@cisco.com<mailto:tireddy@cisco.com>>, Stephen Farrell <stephen.farrell@cs.tcd.ie<mailto:stephen.farrell@cs.tcd.ie>>, The IESG <iesg@ietf.org<mailto:iesg@ietf.org>>, "draft-ietf-rtcweb-stun-consent-freshness@ietf.org<mailto:draft-ietf-rtcweb-stun-consent-freshness@ietf.org>" <draft-ietf-rtcweb-stun-consent-freshness@ietf.org<mailto:draft-ietf-rtcweb-stun-consent-freshness@ietf.org>>, "rtcweb-chairs@ietf.org<mailto:rtcweb-chairs@ietf.org>" <rtcweb-chairs@ietf.org<mailto:rtcweb-chairs@ietf.org>>, "draft-ietf-rtcweb-stun-consent-freshness.shepherd@ietf.org<mailto:draft-ietf-rtcweb-stun-consent-freshness.shepherd@ietf.org>" <draft-ietf-rtcweb-stun-consent-freshness.shepherd@ietf.org<mailto:draft-ietf-rtcweb-stun-consent-freshness.shepherd@ietf.org>>, "draft-ietf-rtcweb-stun-consent-freshness.ad@ietf.org<mailto:draft-ietf-rtcweb-stun-consent-freshness.ad@ietf.org>" <draft-ietf-rtcweb-stun-consent-freshness.ad@ietf.org<mailto:draft-ietf-rtcweb-s
 t
un-consent-freshness.ad@ietf.org>>, "rtcweb@ietf.org<mailto:rtcweb@ietf.org>" <rtcweb@ietf.org<mailto:rtcweb@ietf.org>>
> Subject: Re: Stephen Farrell's Discuss on draft-ietf-rtcweb-stun-consent-freshness-15: (with DISCUSS and COMMENT)
> 
> +1
> 
> Rest of the changes look good to me..
> 
> thanks,
> Muthu
> 
> On Tue, Aug 11, 2015 at 10:35 PM, Martin Thomson <martin.thomson@gmail.com<mailto:martin.thomson@gmail.com>> wrote:
> You can strike all of this:
> 
> "The only human level "consent" here is that the application +
> developer (e.g. WebRTC browser implementer) has programmed their +
> application to adhere to this specification. The actual end users +
> who are involved in the call have not consented to anything just +
> because their browser uses this protocol."
> 
> 
> 
> On 11 August 2015 at 07:31, Tirumaleswar Reddy (tireddy)
> <tireddy@cisco.com<mailto:tireddy@cisco.com>> wrote:
>> Hi Stephen,
>>
>>
>>
>> Updated draft to address your comments
>> https://github.com/Draft-Mafia/Consentfreshness/compare/master...rmohanr-StephenConsentFreshness,
>> Please have a look.
>>
>> Also see inline [TR]
>>
>>
>>
>> From: Muthu Arul Mozhi Perumal [mailto:muthu.arul@gmail.com<mailto:muthu.arul@gmail.com>]
>> Sent: Thursday, August 06, 2015 10:27 AM
>> To: Stephen Farrell
>> Cc: The IESG; draft-ietf-rtcweb-stun-consent-freshness@ietf.org<mailto:draft-ietf-rtcweb-stun-consent-freshness@ietf.org>;
>> rtcweb-chairs@ietf.org<mailto:rtcweb-chairs@ietf.org>;
>> draft-ietf-rtcweb-stun-consent-freshness.shepherd@ietf.org<mailto:draft-ietf-rtcweb-stun-consent-freshness.shepherd@ietf.org>;
>> draft-ietf-rtcweb-stun-consent-freshness.ad@ietf.org<mailto:draft-ietf-rtcweb-stun-consent-freshness.ad@ietf.org>; rtcweb@ietf.org<mailto:rtcweb@ietf.org>
>> Subject: Re: Stephen Farrell's Discuss on
>> draft-ietf-rtcweb-stun-consent-freshness-15: (with DISCUSS and COMMENT)
>>
>>
>>
>> Hi Stephen,
>>
>>
>>
>> On Thu, Aug 6, 2015 at 4:08 AM, Stephen Farrell <stephen.farrell@cs.tcd.ie<mailto:stephen.farrell@cs.tcd.ie>>
>> wrote:
>>
>> Stephen Farrell has entered the following ballot position for
>> draft-ietf-rtcweb-stun-consent-freshness-15: Discuss
>>
>> When responding, please keep the subject line intact and reply to all
>> email addresses included in the To and CC lines. (Feel free to cut this
>> introductory paragraph, however.)
>>
>>
>> Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
>> for more information about IESG DISCUSS and COMMENT positions.
>>
>>
>> The document, along with other ballot positions, can be found here:
>> https://datatracker.ietf.org/doc/draft-ietf-rtcweb-stun-consent-freshness/
>>
>>
>>
>> ----------------------------------------------------------------------
>> DISCUSS:
>> ----------------------------------------------------------------------
>>
>>
>>
>> Apologies that these discuss points are maybe asking
>> fairly fundamental questions.  That could be that this
>> is really the first of the new security things required
>> by rtcweb to get to the IESG.  Or maybe I'm misreading
>> stuff here, if so, sorry;-)
>>
>> (1) Why call this "consent?" That term is (ab)used in
>> many ways on the web, and adding another variation
>> without a definition that distinguishes this from "click
>> ok to my 200 page anti-privacy policy" or "remember that
>> example.com<http://example.com> is allowed use my camera/mic" seems like a
>> terrible idea. I also don't see how this can ever be
>> something to which a normal person can "consent" (i.e.
>> consciously agree while fully understanding) so the term
>> is IMO very misleading, and will I fear be used to
>> mislead further.  (See also some of the comments below -
>> I do not think we ought be as fast and loose with this
>> aleady terribly badly used term.) To summarise: I'd love
>> if you did s/consent/anything-else/g but if not, please
>> define consent here in a way that clearly and
>> unambiguously distinguishes this usage from other abuses
>> of the term.
>>
>>
>>
>>
>>
>> [TR] Updated Consent definition.
>>
>>
>>
>> The document already has a clear and unambiguous definition of the term,
>> IMHO:
>>
>>
>>
>>   Consent:  The mechanism of obtaining permission from the remote
>>
>>       endpoint to send non-ICE traffic to a remote transport address.
>>
>>       Consent is obtained using ICE.
>>
>>
>>
>> Is that definition lacking something? I think finding an alter term would be
>> as hard as finding an alternate term for 'attack' as used in several RFCs
>> [attack being (ab)used in many contexts, including in heart attack ;)]
>>
>>
>>
>>
>> (2) WebRTC does not require STUN or TURN servers for
>> some calls, even if it does for many. Why is it ok to
>> require such a server be present in all calls (which I
>> think this means) espcially when that means exposing
>> additional meta-data (calling parties in a case where
>> the servers weren't needed and call duration in all
>> cases) to those servers when that is not always
>> necessary?
>>
>>
>>
>> That looks a misunderstanding. Consent freshness doesn't require such
>> server's to be present. Please point out to the text leading to the
>> misunderstanding.
>>
>>
>>
>>
>> (3) (end of p5) You have a MUST NOT here that is
>> depenedent on current browser implementations. Why is
>> that an IETF thing and not a W3C thing? But more
>> interestingly, can one securely use this protocol
>> without the kind of JS vs. browser sandboxing etc that's
>> needed in the web?
>>
>>
>>
>> Yes, the mechanism has the same security properties within and outside the
>> WebRTC sandboxing.
>>
>>
>>
>> If the answer is "no" then don't you
>> need to say that this protocol can only safely be used
>> for such implementations? (In section 2, which almost
>> but not quite says that.)
>>
>>
>>
>> Section 2 doesn't say that. It only says WebRTC is the primary use case for
>> the mechanism at the moment and future use cases based on similar sandboxing
>> models can make use of it.
>>
>>
>>
>>
>> (4) Cleared.
>>
>> (5) Cleared.
>>
>>
>> ----------------------------------------------------------------------
>> COMMENT:
>> ----------------------------------------------------------------------
>>
>>
>> (Was discuss point#4)
>> "Section 8: Where are these 96 bits defined? I think
>> this "requires..." statement needs a precise reference
>> to the place in some ICE/TURN/STUN RFC where it's
>> defined. (And I forget where that is, sorry:-) This
>> should be an easy fix."
>> Alissa gave me the reference [1] sothat's grand. It
>> might be an idea to make that clearer if it wasn't
>> just me missing it as I read, which is very possible;-)
>>
>> [1] https://tools.ietf.org/html/rfc5389#section-6
>>
>> - abstract: why is only sending "media" mentioned here?
>> What about data channels?  And the body of the document
>> in fact says this all applies to any non-ICE data and
>> not only media.
>>
>>
>>
>> Agree, that should be "traffic".
>>
>>
>>
>>
>> - intro: "initial consent to send by performing STUN" I
>> do not find the word consent in either rfc5245 or 3489,
>> but perhaps it is used somewhere else. Where?  And with
>> what meaning?
>>
>>
>>
>> Consent is a new usage of STUN and is described in
>> draft-ietf-rtcweb-security-arch, draft-ietf-rtcweb-security and in this
>> document.
>>
>>
>>
>>
>> - section 4, 2nd last para - I think the conclusion is
>> bogus.  An implementation knows when the keying it's
>> using can not involve >1 (nominally operating) party.
>>
>>
>>
>> That paragraph is here:
>>
>>
>>
>>   When Secure Real-time Transport Protocol (SRTP) is used, the
>>
>>    following considerations are applicable.  SRTP is encrypted and
>>
>>    authenticated with symmetric keys; that is, both sender and receiver
>>
>>    know the keys.  With two party sessions, receipt of an authenticated
>>
>>    packet from the single remote party is a strong assurance the packet
>>
>>    came from that party.  However, when a session involves more than two
>>
>>    parties, all of whom know each other's keys, any of those parties
>>
>>    could have sent (or spoofed) the packet.  Such shared key
>>
>>    distributions are possible with some MIKEY [RFC3830] modes, Security
>>
>>    Descriptions [RFC4568], and EKT [I-D.ietf-avtcore-srtp-ekt].  Thus,
>>
>>    in such shared keying distributions, receipt of an authenticated SRTP
>>
>>    packet is not sufficient to verify consent.
>>
>>
>>
>> I'll defer it to someone who has more knowledge that me on shared key
>> distribution..
>>
>>
>>
>> [TR] The idea behind the above paragraph is to use STUN consent checks in
>> both two party and multi-party sessions. Consent checks uses
>>
>> point-to-point keys so the endpoint knows if each remote peer in the call is
>> willing to receive traffic or not.
>>
>>
>>
>> -Tiru
>>
>>
>>
>>
>> - 5.1, 3rd para: "Explicit consent to send is
>> obtained..." is misleading. That is not a concept that
>> an implementation of STUN will embody.
>>
>>
>>
>> As said earlier, consent is a new STUN usage. How would the following?
>>
>>
>>
>>     An endpoint that implements this specification obtains and maintains
>>
>>     consent to send by sending STUN binding request...
>>
>>
>>
>>
>> - 5.1, What is the "Note" about TCP for? Why is this
>> needed?
>>
>>
>>
>> It is needed because WebRTC data traffic sent over TCP could get converted
>> to UDP by TURN servers. It is somewhat similar to why we need application
>> layer security when traffic is sent over IPSec. The later may not be
>> end-to-end.
>>
>>
>>
>> Muthu
> 
>