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

Dhruv Dhody <dhruv.dhody@huawei.com> Thu, 03 August 2017 13:36 UTC

Return-Path: <dhruv.dhody@huawei.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 D5D83132021; Thu, 3 Aug 2017 06:36:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.222
X-Spam-Level:
X-Spam-Status: No, score=-4.222 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 53TRx206S3OQ; Thu, 3 Aug 2017 06:36:41 -0700 (PDT)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6125D132029; Thu, 3 Aug 2017 06:36:32 -0700 (PDT)
Received: from 172.18.7.190 (EHLO lhreml704-cah.china.huawei.com) ([172.18.7.190]) by lhrrg02-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id DLW52979; Thu, 03 Aug 2017 13:36:30 +0000 (GMT)
Received: from BLREML407-HUB.china.huawei.com (10.20.4.45) by lhreml704-cah.china.huawei.com (10.201.108.45) with Microsoft SMTP Server (TLS) id 14.3.301.0; Thu, 3 Aug 2017 14:36:29 +0100
Received: from BLREML501-MBB.china.huawei.com ([10.20.5.200]) by BLREML407-HUB.china.huawei.com ([10.20.4.45]) with mapi id 14.03.0301.000; Thu, 3 Aug 2017 19:06:19 +0530
From: Dhruv Dhody <dhruv.dhody@huawei.com>
To: 'Alexey Melnikov' <aamelnikov@fastmail.fm>, The IESG <iesg@ietf.org>
CC: "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>
Thread-Topic: [Pce] Alexey Melnikov's Discuss on draft-ietf-pce-pceps-15: (with DISCUSS and COMMENT)
Thread-Index: AQHTDEAWa0wCnLOXH0eQPSyn6ZYwFaJyejWw
Date: Thu, 03 Aug 2017 13:36:19 +0000
Message-ID: <23CE718903A838468A8B325B80962F9B8CB9867E@blreml501-mbb>
References: <150175472723.9824.8664411936101979517.idtracker@ietfa.amsl.com>
In-Reply-To: <150175472723.9824.8664411936101979517.idtracker@ietfa.amsl.com>
Accept-Language: en-GB, zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.18.79.10]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-CFilter-Loop: Reflected
X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020203.598326DF.003B, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0, ip=0.0.0.0, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32
X-Mirapoint-Loop-Id: 2584350350601a73558ae0ccd163daa1
Archived-At: <https://mailarchive.ietf.org/arch/msg/pce/YS5Gs2MS-jfp7GA1AEOu5IIbzQ0>
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: Thu, 03 Aug 2017 13:36:53 -0000

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
> 
> 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-pce-pceps/
> 
> 
> 
> ----------------------------------------------------------------------
> 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.  

> 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.

> So maybe you need 3 figures describing the above 3 cases.
> 
> 2) In Section 3.4:
> 
>         +  Implementations MAY allow the configuration of a set of
>              additional properties of the certificate to check for a
>              peer's authorization to communicate (e.g., a set of allowed
>              values in subjectAltName:URI or a set of allowed X509v3
>              Certificate Policies)
> 
> Can you give an example of what you expect to see in the
> subjectAltName:URI?
> Your current text doesn't seem sufficient for interoperability.
> 
[[Dhruv Dhody]] The reference for the text was from RFC6614, with the aim to keep the door open to define application service type portion to be checked as part of URI. I have added text that the definition of these properties is out of scope of this document. 
 
> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
> 
> I am agreeing with Ekr's DISCUSS points. Some of mine might be just a
> different phrasing of his.
> 
> In Section 3.4.  TLS Connection Establishment
> 
>        *  PCEPS implementations MUST, at a minimum, support negotiation
>           of the TLS_RSA_WITH_AES_128_GCM_SHA256, and SHOULD support
>           TLS_RSA_WITH_AES_256_GCM_SHA384 as well [RFC5288].  In
>           addition, PCEPS implementations MUST support negotiation of
>           the mandatory-to-implement ciphersuites required by the
>           versions of TLS that they support.
> 
> Should the last sentence apply starting from TLS 1.3 forward?
> 
[[Dhruv Dhody]] Ack. Updated. 

> In Section 3.5:
> 
>    [I-D.ietf-pce-stateful-sync-optimizations] specify a Speaker Entity
>    Identifier TLV (SPEAKER-ENTITY-ID), as an optional TLV that MAY be
>    included in the OPEN Object.  It contains a unique identifier for the
>    node that does not change during the lifetime of the PCEP speaker.
>    An implementation would thus expose the speaker entity identifier as
>    part of the X509v3 certificate, so that an implementation could use
> 
> Can you be a bit more specific, as this looks underspecified. Are you
> thinking about using subject name or subject alt name for this (or either)?
> 

[[Dhruv Dhody]]This has been updated to use subjectAltName:otherName.

>    this identifier for the peer identification trust model.
> 
> In the Security Considerations sections:
> 
> I think you should also talk about downgrade attacks here, e.g.
> man-in-the-middle injecting error response in response to StartTLS command
> or man-in-the-middle stripping StartTLS command.
> 
> 

[[Dhruv Dhody]] Updated to include - 

   PCEPS implementations that continue to accept connections without TLS
   are susceptible to downgrade attacks as described in [RFC7457].  An
   attacker could attempt to remove the use of StartTLS message that
   request the use of TLS as it pass on the wire in clear, and further
   inject a PCErr message that suggest to attempt PCEP connection
   without TLS.

Regards,
Dhruv

> _______________________________________________
> Pce mailing list
> Pce@ietf.org
> https://www.ietf.org/mailman/listinfo/pce