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

"Makaraju, Maridi Raju (Raju)" <Raju.Makaraju@alcatel-lucent.com> Sun, 30 November 2014 15:06 UTC

Return-Path: <Raju.Makaraju@alcatel-lucent.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 4D6BA1A0368 for <rtcweb@ietfa.amsl.com>; Sun, 30 Nov 2014 07:06:27 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.61
X-Spam-Level:
X-Spam-Status: No, score=-6.61 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_HI=-5, 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 HTti7vXMwdbe for <rtcweb@ietfa.amsl.com>; Sun, 30 Nov 2014 07:06:25 -0800 (PST)
Received: from smtp-fr.alcatel-lucent.com (fr-hpida-esg-01.alcatel-lucent.com [135.245.210.20]) (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 3F6881A0362 for <rtcweb@ietf.org>; Sun, 30 Nov 2014 07:06:24 -0800 (PST)
Received: from us70tusmtp2.zam.alcatel-lucent.com (unknown [135.5.2.64]) by Websense Email Security Gateway with ESMTPS id E998E3C5FA49B; Sun, 30 Nov 2014 15:06:20 +0000 (GMT)
Received: from US70UWXCHHUB01.zam.alcatel-lucent.com (us70uwxchhub01.zam.alcatel-lucent.com [135.5.2.48]) by us70tusmtp2.zam.alcatel-lucent.com (GMO) with ESMTP id sAUF6KNH030818 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Sun, 30 Nov 2014 10:06:20 -0500
Received: from US70UWXCHMBA02.zam.alcatel-lucent.com ([169.254.8.56]) by US70UWXCHHUB01.zam.alcatel-lucent.com ([135.5.2.48]) with mapi id 14.03.0195.001; Sun, 30 Nov 2014 10:06:20 -0500
From: "Makaraju, Maridi Raju (Raju)" <Raju.Makaraju@alcatel-lucent.com>
To: Stefan Håkansson LK <stefan.lk.hakansson@ericsson.com>, Christer Holmberg <christer.holmberg@ericsson.com>, Roman Shpount <roman@telurix.com>
Thread-Topic: [rtcweb] JSEP: Why always offer actpass?
Thread-Index: AdAH/G6saC/Ce4vxTgqv23nLTon8JAEro8vQ
Date: Sun, 30 Nov 2014 15:06:20 +0000
Message-ID: <E1FE4C082A89A246A11D7F32A95A17828E6423CC@US70UWXCHMBA02.zam.alcatel-lucent.com>
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>
In-Reply-To: <1447FA0C20ED5147A1AA0EF02890A64B1D0E3909@ESESSMB209.ericsson.se>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [135.5.27.16]
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: http://mailarchive.ietf.org/arch/msg/rtcweb/vA7F_LVlBiDXxlaXgUo4oNjxKwg
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: Sun, 30 Nov 2014 15:06:28 -0000

> 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. My conclusion is to include
actpass, but not the previously negotiated role, in all subsequent offers, 
not just during ICE-restarts.
This is to handle the scenario of answerer changing fingerprint, which
is allowed (i.e. not explicitly disallowed), in a more
natural way by renegotiating the roles. Entity which wants to change fingerprint
may also want to renegotiate the role even when transport parameters are not changed.

Also, when ICE is not used answerer can change transport parameters which needs 
renegotiation of roles.

So, to have uniform rules for ICE (restart or not) and no ICE it is better to
send the role in subsequent offer as if it is an initial offer (i.e. actpass).
</Raju>

BR
Raju