Re: [MMUSIC] 1-week WGLC on recent changes in draft-ietf-mmusic-dtls-sdp

Roman Shpount <roman@telurix.com> Thu, 27 April 2017 19:56 UTC

Return-Path: <roman@telurix.com>
X-Original-To: mmusic@ietfa.amsl.com
Delivered-To: mmusic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B047D129C07 for <mmusic@ietfa.amsl.com>; Thu, 27 Apr 2017 12:56:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.888
X-Spam-Level:
X-Spam-Status: No, score=-1.888 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=telurix-com.20150623.gappssmtp.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 eiJIFaP1QLev for <mmusic@ietfa.amsl.com>; Thu, 27 Apr 2017 12:56:14 -0700 (PDT)
Received: from mail-pf0-x236.google.com (mail-pf0-x236.google.com [IPv6:2607:f8b0:400e:c00::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0CE42129C06 for <mmusic@ietf.org>; Thu, 27 Apr 2017 12:53:02 -0700 (PDT)
Received: by mail-pf0-x236.google.com with SMTP id c198so36392738pfc.1 for <mmusic@ietf.org>; Thu, 27 Apr 2017 12:53:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telurix-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=5pFm9U9TcQsY5toT2fkJrnjrppDzC1jcgNdiBcBf0o4=; b=KPBMk+0gOyivOx3OGdNOVKj8917O9mPG8w9mxwN9raAQHpJAXSkns8YzgNJl9pwl8d XNI7rJWDhJhkcV9K2f7b6Fr0pGVwev75nmpqw9S6l3CnPWn7fdfMIPeV946mnMdJEFcy eqj2kapv3CUZTFKQipTlrnWC7wDKtvJ4pH3QsaIjxDipUkPbTFa0/H87Q++AeON7qGAR O945q5QHNErFXlv7camvGlRX/IqeHUqHExxti798Mpinrm7eFGczm/Abm9JnIwOmPoJS /uBMYXRbryzey+RcsXmQGr7uhQ5gnbf52E8bAo0KxwnaMut5koQ7aSVfkDYKa9iJ6N1C otPA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=5pFm9U9TcQsY5toT2fkJrnjrppDzC1jcgNdiBcBf0o4=; b=p/nXgQiLD7vYhwos0tmEK+OYqv4PhOHbDpjCtjmPBOeVfkZpx22B/Fb8CsQsXhIOHE wIZtybqKKYDhloqiv6uMI98otGaG1A1DmzIVkeRGclM2cdTgbMh7ZFQ+rzoYuI7UXTd7 z0jHocdcJeeiHQGxOLKiKXyc0mopwQHS4ai3l6xS2Ffr9tQAmNMUGxpUOL946GNYU8Ax YO47E/9VySZ1wtU8YbzBVdZa1SxttDDAwMS0PjaQvzkC2o5rhRCs41SQ1GjZd2Dwc5eX ZJxEG2cy28B4hNJzQ7UvmDY4A94M3ykyCBTrAEMC/cdTOOJrnYrusC3Ofqdt2aXDbSOD GX2w==
X-Gm-Message-State: AN3rC/59I7zI4DrK2KXuf4NeEXz6HQbFU5RCDIbLEOnUfRoigcm/3Mvc eiGSxyat8wrW/g==
X-Received: by 10.99.167.71 with SMTP id w7mr7999374pgo.138.1493322781451; Thu, 27 Apr 2017 12:53:01 -0700 (PDT)
Received: from mail-pf0-f176.google.com (mail-pf0-f176.google.com. [209.85.192.176]) by smtp.gmail.com with ESMTPSA id f6sm6357920pfe.57.2017.04.27.12.53.00 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 27 Apr 2017 12:53:00 -0700 (PDT)
Received: by mail-pf0-f176.google.com with SMTP id a188so36389110pfa.0; Thu, 27 Apr 2017 12:53:00 -0700 (PDT)
X-Received: by 10.99.97.209 with SMTP id v200mr7749912pgb.52.1493322780449; Thu, 27 Apr 2017 12:53:00 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.100.130.150 with HTTP; Thu, 27 Apr 2017 12:52:59 -0700 (PDT)
In-Reply-To: <7594FB04B1934943A5C02806D1A2204B4CB893FA@ESESSMB109.ericsson.se>
References: <580940e1-4248-2903-b6e0-9ea440d83867@cisco.com> <CAD5OKxs-w1bz-9jBX9sdh+OA8vfo8DM90ZbzHyDgU-7XF-4pUA@mail.gmail.com> <D5275E07.1BC2F%christer.holmberg@ericsson.com> <CAD5OKxvoa0GZwNsA7XBn79jBdfozfGEvMrmTmi5DRVJOom-3mg@mail.gmail.com> <7594FB04B1934943A5C02806D1A2204B4CB893FA@ESESSMB109.ericsson.se>
From: Roman Shpount <roman@telurix.com>
Date: Thu, 27 Apr 2017 15:52:59 -0400
X-Gmail-Original-Message-ID: <CAD5OKxs-7M5UvC8CBQNWUSzpZ8Y8mDobwDAMoUyQH1Mu48C3Ww@mail.gmail.com>
Message-ID: <CAD5OKxs-7M5UvC8CBQNWUSzpZ8Y8mDobwDAMoUyQH1Mu48C3Ww@mail.gmail.com>
To: Christer Holmberg <christer.holmberg@ericsson.com>
Cc: Flemming Andreasen <fandreas@cisco.com>, mmusic <mmusic@ietf.org>, "draft-ietf-mmusic-dtls-sdp@ietf.org" <draft-ietf-mmusic-dtls-sdp@ietf.org>
Content-Type: multipart/alternative; boundary="94eb2c0cae32dd26d9054e2b4db6"
Archived-At: <https://mailarchive.ietf.org/arch/msg/mmusic/bM3coA1RJR-h4Vw3SbqDJ1_kxfg>
Subject: Re: [MMUSIC] 1-week WGLC on recent changes in draft-ietf-mmusic-dtls-sdp
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <mmusic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mmusic>, <mailto:mmusic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mmusic/>
List-Post: <mailto:mmusic@ietf.org>
List-Help: <mailto:mmusic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mmusic>, <mailto:mmusic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 27 Apr 2017 19:56:20 -0000

On Thu, Apr 27, 2017 at 3:19 PM, Christer Holmberg <
christer.holmberg@ericsson.com> wrote:

> >b) For this particular update simply put "The content of RFC 7345 Section
> 4 SDP Offerer/Answerer Procedures is replaced in its entirety with the
> following text:" and then >put the new text without the heading.
> >
> >In the NEW TEXT I would put current text without "4. SDP Offerer/Answerer
> Procedures".
>
> I'd prefer something like that: simply add text saying that sub-sections
> 4.1 - 4.5 are removed, without actually including the old text itself.
>

I do prefer this option since excessive quoting of now irrelevant text
makes the document harder to read.


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

> >>Let me rephrase this as a more generic question. Section 5.2 currently
> says:
> >>If the offerer inserts the SDP 'setup' attribute with an 'actpass' or
> 'passive' attribute value, the
> >>offerer MUST be prepared to receive a DTLS ClientHello message (if a new
> DTLS association is
> >>established by the answerer) from the answerer before the offerer
> receives the SDP answer.
> >>
> >>What does offerer supposed to do with the ClientHello which is received
> before the answer?
> >>Does it suppose to proceed with the handshake or cache it? Or do we
> prefer not to specify?
>
> We can point out that it can happen, but I don't think we should specify
> procedures how to handle it.
>

The text in section 5.2 already says that client MUST be prepared to
receive DTLS ClientHello, so it is should be obvious that this can happen.
What the text does not do is say what should be done with this ClientHello.
I guess you are suggesting this can be left unspecified.


> >This is not a theoretical problem, since client will get DTLS ClientHello
> before the answer on a large portion
> >of the calls, since DTLS ClientHello is sent at the same time as an
> answer. Answer typically needs to got to
> >signaling server and then back to offerer. ClientHello is sent directly
> from answerer to offerer, so it has one
> >less hop to travel. This is a race condition and ClientHello has a
> shorter path to travel, especially when two
> >end points are located on the same local network, but the signaling
> server is remote.
> >
> >The problem with immediately proceeding with DTLS handshake is that in
> case of full ICE or "pure" UDP,
> >offerer does not know where to send ServerHello. In case of full ICE,
> remote password is not known so
> >consent to send cannot be obtained. In case of of "pure" UDP, remote
> address is not known, since end
> >points do not have to use the same IP:port to send and receive data.
> >
> >On the other hand, in case of ICE Lite, ICE TCP passive, and SCTP,
> offerer can send ServerHello. We can
> >either allow offerer to proceed with DTLS Handshake in these cases or
> specify that CleintHello should
> >be cached anyway and handshake should not be initiated until the answer
> is received.
>
> With ICE, don't you have to do at least one successful connectivity check
> before you can send anything?
>

With ICE lite end point can send data as soon as it received a connectivity
check, so it is definitely possible to establish a DTLS association before
the answer to an offer from ICE lite end point is received. This is a
security and implementation issue, so it would be nice to specify what
should be done here.


> >Finally, there is the issue on what should be done if multiple
> ClientHello messages are received due to either
> >forking (sequential or parallel) or due to a denial of service attack (if
> attacker knows that ClientHello can force
> >end point to initiate connection which will prevent legitimate connection
> from running, it can spray the server
> >with fake ClientHello messages). If ClientHello is cached, then in
> combination with SDP UKS, cached ClientHello
> >messages can be correlated with answer SDP and fake ClientHello messages
> discarded. Caching ClientHello can
> >also cleanly resolve on what should happen when answer with setup:passive
> is received after ClientHello (which
> >could be due to attack or forking).
>
> I think Martin's draft could say that SDP UKS can be used to detect fake
> ClientHello messages.
>

I agree, we can leave the multiple ClientHello handling for martin's draft.


> >I understand this issue should have been brought up earlier, but I have
> not thought about it until Bernard
> >brought up the issue of unverified media. Which brings the question,
> should this draft propose the solution
> >for the unverified media issue and can this solution be just caching
> ClientHello until answer is received?
>
> As Martin said, the ClientHello will be re-transmitted, so I don't think
> we should mandate caching. As I said above, we can point out that it can
> occur, and it will then be an implementation issue how to handle it.


If ClientHello is not cached, connection setup will be delayed by 5 sec
(DTLS re-transmit timer). This is quite noticeable and produces negative
client experience. So, caching or immediate handling is desired. If
ClientHello is cached, this will work with full ICE and will prevent
unverified media.

Regards,
______________
Roman Shpount