Re: [rtcweb] JSEP: Why always offer actpass?

Stefan Håkansson LK <stefan.lk.hakansson@ericsson.com> Wed, 03 December 2014 15:48 UTC

Return-Path: <stefan.lk.hakansson@ericsson.com>
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 517871A1B38 for <rtcweb@ietfa.amsl.com>; Wed, 3 Dec 2014 07:48:59 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.901
X-Spam-Level:
X-Spam-Status: No, score=-3.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] 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 fPye9cfo053t for <rtcweb@ietfa.amsl.com>; Wed, 3 Dec 2014 07:48:53 -0800 (PST)
Received: from sessmg23.ericsson.net (sessmg23.ericsson.net [193.180.251.45]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DA20D1A1B9B for <rtcweb@ietf.org>; Wed, 3 Dec 2014 07:48:47 -0800 (PST)
X-AuditID: c1b4fb2d-f79fc6d000001087-41-547f30dd9f34
Received: from ESESSHC015.ericsson.se (Unknown_Domain [153.88.253.124]) by sessmg23.ericsson.net (Symantec Mail Security) with SMTP id CC.B0.04231.DD03F745; Wed, 3 Dec 2014 16:48:45 +0100 (CET)
Received: from ESESSMB209.ericsson.se ([169.254.9.189]) by ESESSHC015.ericsson.se ([153.88.183.63]) with mapi id 14.03.0195.001; Wed, 3 Dec 2014 16:48:45 +0100
From: Stefan Håkansson LK <stefan.lk.hakansson@ericsson.com>
To: Justin Uberti <juberti@google.com>
Thread-Topic: [rtcweb] JSEP: Why always offer actpass?
Thread-Index: AdAH/G6saC/Ce4vxTgqv23nLTon8JA==
Date: Wed, 03 Dec 2014 15:48:45 +0000
Message-ID: <1447FA0C20ED5147A1AA0EF02890A64B1D0EE2BC@ESESSMB209.ericsson.se>
References: <1447FA0C20ED5147A1AA0EF02890A64B1D0D579E@ESESSMB209.ericsson.se> <CAOJ7v-1ztXies0-W3B2=zWaydeLTuR8tU7v15nqyTw+MwGE+rw@mail.gmail.com> <1447FA0C20ED5147A1AA0EF02890A64B1D0D5A4B@ESESSMB209.ericsson.se> <E1FE4C082A89A246A11D7F32A95A17828E63C45B@US70UWXCHMBA02.zam.alcatel-lucent.com> <1447FA0C20ED5147A1AA0EF02890A64B1D0D5FB6@ESESSMB209.ericsson.se> <E1FE4C082A89A246A11D7F32A95A17828E63C90D@US70UWXCHMBA02.zam.alcatel-lucent.com> <1447FA0C20ED5147A1AA0EF02890A64B1D0D86B9@ESESSMB209.ericsson.se> <CAD5OKxskhmnHO6rLB4t7vM6Y=fVf0PwYPXsfONJjM=wzx8vHoA@mail.gmail.com> <7594FB04B1934943A5C02806D1A2204B1D53F719@ESESSMB209.ericsson.se> <CAD5OKxt+3Tn1SiHu7u_t7AixBVS1ev0Z=vdZg0mMwmm-Tg74yA@mail.gmail.com> <7594FB04B1934943A5C02806D1A2204B1D54BB03@ESESSMB209.ericsson.se> <E1FE4C082A89A246A11D7F32A95A17828E64233E@US70UWXCHMBA02.zam.alcatel-lucent.com> <1447FA0C20ED5147A1AA0EF02890A64B1D0E3909@ESESSMB209.ericsson.se> <E1FE4C082A89A246A11D7F32A95A17828E6423CC@US70UWXCHMBA02.zam.alcatel-lucent.com> <1447FA0C20ED5147A1AA0EF02890A64B1D0E39A9@ESESSMB209.ericsson.se> <CAOJ7v-191C=Jsf0vuBomgKXMYGRakatP9QS+mMYG1Try59yYrg@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [153.88.183.17]
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrCLMWRmVeSWpSXmKPExsUyM+Jvje5dg/oQg40PrSy2ThWyaNh4hdVi xoWpzBZr/7WzO7B4tD7by+qxYFOpx5IlP5k8bk0pCGCJ4rJJSc3JLEst0rdL4Mp4seYBe8Ey w4rtHx4xNTCuVeli5OSQEDCRuPSonxHCFpO4cG89WxcjF4eQwBFGiQ/z/rFCOIsZJb6d+8wO UsUmECixdd8CNhBbREBN4uGsXWBFzAJHGSXOL94AViQsYCox6eIyJogiM4mFJycwQth6Eje/ XGABsVkEVCRmdi4Fi/MK+Eo8OPEYavVETok1u26CNTMC3fT91Bowm1lAXOLWk/lMELcKSCzZ c54ZwhaVePkY5FQOIFtRYnm/HES5nsSNqVPYIGxtiWULXzND7BKUODnzCcsERtFZSKbOQtIy C0nLLCQtCxhZVjGKFqcWF+emGxnrpRZlJhcX5+fp5aWWbGIERtPBLb91dzCufu14iFGAg1GJ h3dDTV2IEGtiWXFl7iFGaQ4WJXHeRefmBQsJpCeWpGanphakFsUXleakFh9iZOLglGpgnLbu vKDkHJuQJWaycqsVCk223lQ2fHQqbn2WvuoLsxVP1adbJLnnFgiIP81YuPHhiaa4Q+nHPuQI h1/ki9vNU7+DQ2NlCf+UkBgOg0Un3gZOvCht+mNyQYiRi7eQXt288qLauMeCuzU9/bOko9ca GZR+n7Rrb6vs/K6pn2pqq1O9vFiN2GYrsRRnJBpqMRcVJwIAX1FESIcCAAA=
Archived-At: http://mailarchive.ietf.org/arch/msg/rtcweb/nCnFWWCptJwS3VgiLeWHRZ8Cixc
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] JSEP: Why always offer actpass?
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: <http://www.ietf.org/mail-archive/web/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: Wed, 03 Dec 2014 15:48:59 -0000

On 01/12/14 18:26, Justin Uberti wrote:
>
>
> On Sun, Nov 30, 2014 at 7:26 AM, Stefan Håkansson LK
> <stefan.lk.hakansson@ericsson.com
> <mailto:stefan.lk.hakansson@ericsson.com>> wrote:
>
>     On 30/11/14 16:06, Makaraju, Maridi Raju (Raju) wrote:
>      >> On 30/11/14 14:51, Makaraju, Maridi Raju (Raju) wrote:
>      >>>> Hi,
>      >>>>
>      >>>>>> RFC 7345 (UDPTL-DTLS) says the following:
>      >>>>>>
>      >>>>>> "Once an offer/answer exchange has been completed, either
>      >>>>>> endpoint
>      >>>> MAY
>      >>>>>> send a new offer in order to modify the session.  The
>      >>>>>> endpoints
>      >>>> can
>      >>>>>> reuse the existing DTLS association if the key fingerprint
>      >>>>>> values
>      >>>> and
>      >>>>>> transport parameters indicated by each endpoint are unchanged.
>      >>>>>> Otherwise, following the rules for the initial offer/answer
>      >>>> exchange,
>      >>>>>> the endpoints can negotiate and create a new DTLS association
>      >>>>>> and, once created, delete the previous DTLS association,
>      >>>>>> following the same rules for the initial offer/answer exchange.
>      >>>>>> Each endpoint needs to be prepared to receive data on both the
>      >>>>>> new and old DTLS associations as long as both are alive."
>      >>>>>>
>      >>>>>> So, I guess that can be read in a way that the setup attribute
>      >>>>>> as such
>      >>>> does not impact previously
>      >>>>>> negotiated TLS roles - unless the key fingerprint values and/or
>      >>>>>> transport
>      >>>> parameters are modified.
>      >>>>>>
>      >>>>>> The SCTP-SDP draft currently says that a subsequent offer must
>      >>>>>> not change
>      >>>> the previously negotiated roles. But, I guess
>      >>>>>> we could say something similar as in RFC 7345.
>      >>>>>
>      >>>>> I have struggled with this language quite a bit from the
>      >>>>> implementation
>      >>>> perspective. I think we need to explicitly state
>      >>>>> that endpoints MUST reuse the existing association if the key
>      >>>>> fingerprint
>      >>>> values and transport parameters indicated
>      >>>>> by each endpoint are unchanged.
>      >>>>
>      >>>> We could take such general approach.
>      >>>>
>      >>>> However, for 'SCTP/DTLS' (DTLS over SCTP), I assume that the DTLS
>      >>>> connection will also be re-established if the underlying SCTP
>      >>>> association is re- established - even if no transport parameters
>      >>>> etc are changed.
>      >>>>
>      >>>> Also, RFC 6083 says:
>      >>>>
>      >>>> "Each DTLS connection MUST be established and terminated
>     within the
>      >>>> same SCTP association."
>      >>>>
>      >>>>
>      >>>>> The way this language reads to me is that endpoints can reuse the
>      >>>>> existing
>      >>>> association if they want to, but they can create a new one if they
>      >>>> don't. Also, when this new
>      >>>>> association is created, it is unclear if old setup roles MUST be
>      >>>>> preserved
>      >>>> or if they MUST be selected based on the current offer/answer
>      >>>> exchange. It seems the current
>      >>>>> specification language is not strong or clear enough on this
>      >>>>> topic.
>      >>>>
>      >>>> In my opinion, IF a new DTLS connection needs to be established
>      >>>> (for whatever reasons), the current roles should be used.
>      >>>
>      >>> <Raju> When ICE is NOT used, how does the offerer know that the
>      >>> answerer does not change the fingerprint and/or transport
>     parameters?
>      >>> I guess it does not know. So, offerer has to be prepared for
>     new DTLS
>      >>> association by offering actpass. When ICE is used, the answerer
>     can't
>      >>> change transport parameter unless offerer does ICE restart (which
>      >>> changes offerer transport parameters); Ref [1] is very clear on
>     this
>      >>> indicating "DTLS handshake procedure is repeated". However,
>     even when
>      >>> ICE is used, I do not find any restriction about answerer not
>      >>> changing fingerprint. So, even without ICE restart answerer can
>      >>> trigger a DTLS renegotiation by changing its fingerprint.
>      >>>
>      >>> To conclude all this, IMO whether ICE is used or not, sending
>     actpass
>      >>> for all new offers may be cover all possible scenarios.
>      >>
>      >> That is also my conclusion based on the discussion so far.
>      >>
>      >> I also think the JSEP draft as far as detailed out is correct,
>     but info
>      >> about how the implementation should behave for Subsequent answers is
>      >> missing. Text saying that the role must be maintained (unless
>     there is
>      >> an ICE restart) should be put in there.
>      >
>      > <Raju>
>      > Hi Stefan,
>      > Looks like, there is some misunderstanding here.
>
>     Probably my fault in that case :)
>
>     > My conclusion is to include
>     > actpass, but not the previously negotiated role, in all subsequent offers,
>     > not just during ICE-restarts.
>
>     I think that is what the JSEP draft says - and my conclusion is that it
>     _is_ correct.
>
>     My point was that the _answer_ should (when it is a subsequent answer)
>     should say the same role as in previous answers (unless there is an ICE
>     restart).
>
> I agree the JSEP text should indicate that roles should stay the same.
> We have had this as a TODO for a while:
> https://github.com/rtcweb-wg/jsep/issues/72

Great. I should have checked that out before.