Re: [Pce] Alexey Melnikov's Discuss on draft-ietf-pce-pceps-15: (with DISCUSS and COMMENT)

Eric Rescorla <ekr@rtfm.com> Sat, 05 August 2017 17:28 UTC

Return-Path: <ekr@rtfm.com>
X-Original-To: pce@ietfa.amsl.com
Delivered-To: pce@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B37E2131D9F for <pce@ietfa.amsl.com>; Sat, 5 Aug 2017 10:28:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.61
X-Spam-Level:
X-Spam-Status: No, score=-0.61 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=1.989, RCVD_IN_DNSWL_LOW=-0.7] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=rtfm-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 vvAe5vkMaGYy for <pce@ietfa.amsl.com>; Sat, 5 Aug 2017 10:28:55 -0700 (PDT)
Received: from mail-yw0-x22c.google.com (mail-yw0-x22c.google.com [IPv6:2607:f8b0:4002:c05::22c]) (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 4D586129B2A for <pce@ietf.org>; Sat, 5 Aug 2017 10:28:52 -0700 (PDT)
Received: by mail-yw0-x22c.google.com with SMTP id p68so25023500ywg.0 for <pce@ietf.org>; Sat, 05 Aug 2017 10:28:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rtfm-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=EhMHaWePm4izLL1uELrfAFGxleuGHfppf6hNKkU/xpo=; b=BADdMWgzkzwJKlst+7wRezAF4u4WD6PPCMn6LIYRKMWvNsCK6sXfF4m6DIrKs4rlQw WO1Yi3zT8CarvxRFDtZvq0utuJXf8oItk0R4LVhvK8MhLMBIZ0U8Sr87aQTvsDEi4W8+ m4ESgWUpLUDE8kHPQ+d0XZhBc+S6uA6UC7Ocgga6fuvL7ReSZY4pII2OrLqk7Nu+YEfN HCGYxS5c73/xe0iA7O7GMdCIu0CHcps+OfmKcI4NbNbzZx9uVtEADDRM2dsy7pAUHXU8 6QVw9v/CX0bKz/8HdTbi9HokNWh6yfU7ZQ5RcZhO3nC2ia4R0coPwAKTUA/yhjH3g94a /fUQ==
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=EhMHaWePm4izLL1uELrfAFGxleuGHfppf6hNKkU/xpo=; b=PsI1FE6G+SFtc5JkzxlhAxq/1nzlB/5Mo9NzKYSrytWAj0RtAb+n6z1UkIxLbHuYiB FQQTGPfIf8IZnZ4g0QxIOcXvSrcJwZjA42+G2s0pBlcLl17UdVeUvxwivuXQjUDvonID omIaQePFGqDT5YtrIXCQwbkUZw6XV9HLKwkYsxgUmTS2h4n4u34kTRxhNZSdk2u5Uxf/ g6B2+4uCwQZpxJ2DFrzug7Kz7c0mPrsZ4b974JuneTiLtXfiuk+N/E9DlsJy4YXTFGXn zTF+IA9IxsJxWe5E5D55eeFagv3C/Hr2R+5WXOSQ4tP47QOkJmTr2JFSC4yELWUe9XML nF3Q==
X-Gm-Message-State: AHYfb5h/eli3CsdDOeeSnD8N95+yJ21yLHpD4gbNrv6A4I05SBQEO2ms qFUk+Qw1hd86BenjwU/3P+aDw967yXa5
X-Received: by 10.37.56.12 with SMTP id f12mr5021269yba.289.1501954131492; Sat, 05 Aug 2017 10:28:51 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.129.36.12 with HTTP; Sat, 5 Aug 2017 10:28:10 -0700 (PDT)
In-Reply-To: <23CE718903A838468A8B325B80962F9B8CB98DC9@blreml501-mbb>
References: <150175472723.9824.8664411936101979517.idtracker@ietfa.amsl.com> <23CE718903A838468A8B325B80962F9B8CB9867E@blreml501-mbb> <1501768430.1127539.1062021760.5848DD02@webmail.messagingengine.com> <23CE718903A838468A8B325B80962F9B8CB98DC9@blreml501-mbb>
From: Eric Rescorla <ekr@rtfm.com>
Date: Sat, 05 Aug 2017 10:28:10 -0700
Message-ID: <CABcZeBOE_3QggT0PiojJOCR=mYnPN1_B=1efBLvMuU5ukG9wDg@mail.gmail.com>
To: Dhruv Dhody <dhruv.dhody@huawei.com>
Cc: Alexey Melnikov <aamelnikov@fastmail.fm>, The IESG <iesg@ietf.org>, "cmargaria@juniper.net" <cmargaria@juniper.net>, "draft-ietf-pce-pceps@ietf.org" <draft-ietf-pce-pceps@ietf.org>, "pce@ietf.org" <pce@ietf.org>, "pce-chairs@ietf.org" <pce-chairs@ietf.org>
Content-Type: multipart/alternative; boundary="94eb2c03e4c27a26d6055604f287"
Archived-At: <https://mailarchive.ietf.org/arch/msg/pce/hdqne4JXDWGrYYwAGY45UcK0Mcg>
Subject: Re: [Pce] Alexey Melnikov's Discuss on draft-ietf-pce-pceps-15: (with DISCUSS and COMMENT)
X-BeenThere: pce@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Path Computation Element <pce.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/pce>, <mailto:pce-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/pce/>
List-Post: <mailto:pce@ietf.org>
List-Help: <mailto:pce-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/pce>, <mailto:pce-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 05 Aug 2017 17:28:58 -0000

On Fri, Aug 4, 2017 at 11:41 AM, Dhruv Dhody <dhruv.dhody@huawei.com> wrote:

> Hi Alexey,
>
> > -----Original Message-----
> > From: Alexey Melnikov [mailto:aamelnikov@fastmail.fm]
> > Sent: 03 August 2017 19:24
> > To: Dhruv Dhody <dhruv.dhody@huawei.com>; The IESG <iesg@ietf.org>
> > Cc: cmargaria@juniper.net; draft-ietf-pce-pceps@ietf.org; pce@ietf.org;
> > pce-chairs@ietf.org
> > Subject: Re: [Pce] Alexey Melnikov's Discuss on draft-ietf-pce-pceps-15:
> > (with DISCUSS and COMMENT)
> >
> > Hi,
> >
> > On Thu, Aug 3, 2017, at 02:36 PM, Dhruv Dhody wrote:
> > > Hi Alexey,
> > >
> > > Thanks for your comments, see inline...
> > >
> > > > -----Original Message-----
> > > > From: Pce [mailto:pce-bounces@ietf.org] On Behalf Of Alexey Melnikov
> > > > Sent: 03 August 2017 15:35
> > > > To: The IESG <iesg@ietf.org>
> > > > Cc: cmargaria@juniper.net; draft-ietf-pce-pceps@ietf.org;
> > > > pce@ietf.org; pce-chairs@ietf.org
> > > > Subject: [Pce] Alexey Melnikov's Discuss on draft-ietf-pce-pceps-15:
> > > > (with DISCUSS and COMMENT)
> > > >
> > > > Alexey Melnikov has entered the following ballot position for
> > > > draft-ietf-pce-pceps-15: Discuss
> > > > --------------------------------------------------------------------
> > > > --
> > > > DISCUSS:
> > > > --------------------------------------------------------------------
> > > > --
> > > >
> > > > I am very glad to see this document and I will be switching to "Yes"
> > > > once we discuss the following issues:
> > > >
> > > > 1)
> > > >                   +-+-+                 +-+-+
> > > >                   |PCC|                 |PCE|
> > > >                   +-+-+                 +-+-+
> > > >                     |                     |
> > > >                     | StartTLS            |
> > > >                     | msg                 |
> > > >                     |-------              |
> > > >                     |       \   StartTLS  |
> > > >                     |        \  msg       |
> > > >                     |         \  ---------|
> > > >                     |          \/         |
> > > >                     |          /\         |
> > > >                     |         /  -------->|
> > > >                     |        /            |
> > > >                     |<------              |
> > > >                     |:::::::::TLS:::::::::| TLS Establishment
> > > >                     |:::::Establishment:::| Failure
> > > >                     |                     |
> > > >                     |<--------------------| Send Error-Type TBA2
> > > >                     |      PCErr          | Error-Value 3/4
> > > >                     |                     |
> > > >
> > > >       Figure 2: Both PCEP Speaker supports PCEPS (strict), but cannot
> > > >                                establish TLS
> > > >
> > > > Firstly, I think you also need to demonstrate a case when the server
> > > > end of TLS is refusing to startTLS before trying TLS negotiation
> > > > (e.g. if it doesn't have certificate configured). In this case you
> > > > need to send PCErr in the clear. I think earlier text suggest that
> > this case is possible.
> > > >
> > > [[Dhruv Dhody]] No, the only error to StartTLS is by an implementation
> > > that does not understand the message.
> > > In case certificate is not configured we would start TLS negotiation,
> > > which would fail.
> >
> > I think you should clarify this.
> >
> > I have implemented StartTLS in both IMAP and LDAP and this is not
> > necessarily how it works there: before TLS negotiation starts it is
> > possible for the server end to reject negotiation in cleartext.
> >
> [[Dhruv Dhody]] Error can be added here, More on this, see reply below.
>
> > > > Secondly, does the case depicted on this picture mean that TLS was
> > > > negotiated successfully, but TLS identities were not successfully
> > verified?
> > > > (I.e. the PCErr is sent over the TLS layer). If TLS failed to
> > > > negotiate, you don't have a channel to send data on, as the other
> > > > end will get confused. I think you just have to close connection in
> > such case.
> > > >
> > > [[Dhruv Dhody]] No, the PCErr is sent in clear over the TCP connection
> > > (underlying transport).
> > > EKR also made a similar point. I updated the text to include this -
> > >
> > >    Note that, the PCEP implementation MUST send the PCErr message once
> > >    the TLS connection has been closed i.e. the TLS close_notify
> > >    [RFC5246] has been received from the peer.  As per [RFC5246], if the
> > >    data may be carried over the underlying transport after the TLS
> > >    connection is closed, the TLS implementation must receive the
> > >    responding close_notify alert before indicating to the application
> > >    layer that the TLS connection has ended.
> >
> > Hmm, I am not sure this will ever work. I know that implementations of
> TLS
> > in other protocols I worked on can't read any cleartext TCP data after
> TLS
> > has failed.
> >
> [[Dhruv Dhody]] One way to resolve this issue would be we move these
> errors from after TLS negotiation to before it, so that they become the
> response to StartTLS as suggested by your previous comment.
> We would not be sending error in clear text in case of TLS negotiation
> failure.
>
> So basically the change would look something like -
>
> OLD:
>    After the exchange of StartTLS messages, if a PCEP speaker cannot
>    establish a TLS connection for some reason (e.g. the required
>    mechanisms for certificate revocation checking are not available), it
>    MUST return a PCErr message (in clear) with Error-Type set to [TBA2
>    by IANA] (PCEP StartTLS failure) and Error-value set to:
>
>    o  3 (not without TLS) if it is not willing to exchange PCEP messages
>       without the solicited TLS connection, and it MUST close the TCP
>       session.
>
>    o  4 (ok without TLS) if it is willing to exchange PCEP messages
>       without the solicited TLS connection, and it MUST close the TCP
>       session.  The receiver MAY choose to attempt to re-establish the
>       PCEP session without TLS next.  The attempt to re-establish the
>       PCEP session without TLS SHOULD be limited to only once.
>
> NEW:
>    If a PCEP speaker that is unwilling or unable to negotiate TLS
>    receives a StartTLS messages, it MUST return a PCErr message (in
>    clear) with Error-Type set to [TBA2 by IANA] (PCEP StartTLS failure)
>    and Error-value set to:
>
>    o  3 (not without TLS) if it is not willing to exchange PCEP messages
>       without the solicited TLS connection, and it MUST close the TCP
>       session.
>
>    o  4 (ok without TLS) if it is willing to exchange PCEP messages
>       without the solicited TLS connection, and it MUST close the TCP
>       session.  The receiver MAY choose to attempt to re-establish the
>       PCEP session without TLS next.  The attempt to re-establish the
>       PCEP session without TLS SHOULD be limited to only once.
>
>    After the exchange of StartTLS messages, if the TLS negotiation fails
>    for some reason (e.g. the required mechanisms for certificate
>    revocation checking are not available), both peers SHOULD immediately
>    close the connection.  Since the initiator has no way to know if the
>    peer is willing to accept PCEP connection without TLS, based on the
>    local policy, it MAY attempt to re-establish the PCEP session without
>    TLS.  The attempt to re-establish the PCEP session without TLS SHOULD
>    be limited to only once.


This will technically work, but is there a reason you don't specify a
parameter to
STARTTLS which expresses your policy?

-Ekr


>


> Working version: https://github.com/dhruvdhody-
> huawei/ietf/blob/master/draft-ietf-pce-pceps-16.txt
> Diff: https://tools.ietf.org/rfcdiff?url1=draft-ietf-pce-pceps-15&
> url2=https://raw.githubusercontent.com/dhruvdhody-huawei/
> ietf/master/draft-ietf-pce-pceps-16.txt
>
> Regards,
> Dhruv
>
> > > > So maybe you need 3 figures describing the above 3 cases.
>