Re: [Uta] Review of draft-ietf-uta-email-deep-08

Keith Moore <moore@network-heretics.com> Tue, 25 July 2017 04:18 UTC

Return-Path: <moore@network-heretics.com>
X-Original-To: uta@ietfa.amsl.com
Delivered-To: uta@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AFDBD126BFD for <uta@ietfa.amsl.com>; Mon, 24 Jul 2017 21:18:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.619
X-Spam-Level:
X-Spam-Status: No, score=-2.619 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_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=messagingengine.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 oTX0xHVLMt-X for <uta@ietfa.amsl.com>; Mon, 24 Jul 2017 21:18:21 -0700 (PDT)
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BC7B61200F3 for <uta@ietf.org>; Mon, 24 Jul 2017 21:18:21 -0700 (PDT)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 2F0CE2086F; Tue, 25 Jul 2017 00:18:21 -0400 (EDT)
Received: from frontend1 ([10.202.2.160]) by compute6.internal (MEProxy); Tue, 25 Jul 2017 00:18:21 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc:x-sasl-enc; s=fm1; bh=yMGfRnPKhwI/ako2Fm WC68m6oHcyctVEyW87pUTS1ok=; b=KXrSLkUQtQJZ8L+6D+Ozgq+9YNM6rKT5uJ 5So4RmeOpx6ZBXLw8Yyk0AIT24i3NG76RfTXty7pohQsBHXjvMq5j0Ew7pRxw8EX S9riF2bcdyPQC1q9mPd4IxQKrsDzen8yswxgn1MNKz2CkilreSFTvlCZUnaj40ii 25I0QxXq66DyYB+YEHPrpgZrI/Q7I5Ph8dKjuRYVyr0giC5gQPJxL18daJnqTkxx MziQ7M1YJvsJI71glB2i8gqYWcCokY6XLGQHtrjWj74nmqBRw5YGOe95v5XiI6K7 XMUZ3p8DO+oMgmRSErGzmaQckOYssRN1/g3pambr3CUOgO584i9w==
X-ME-Sender: <xms:jcZ2WaXpRp3fkQK2mbHz8aqU8WIwt7z4cBeumwEtYb_relI3S5Epyw>
X-Sasl-enc: xeyHuHrYbn70H0YKH2+fnWQbU5Yw1NYex8iZU1pwaxdO 1500956300
Received: from [192.168.1.66] (108-221-180-15.lightspeed.knvltn.sbcglobal.net [108.221.180.15]) by mail.messagingengine.com (Postfix) with ESMTPA id B982A7E16E; Tue, 25 Jul 2017 00:18:20 -0400 (EDT)
To: uta@ietf.org
References: <c0868a3a-be39-a971-02cc-18c550138a9f@isode.com>
From: Keith Moore <moore@network-heretics.com>
Message-ID: <ef041be4-8c98-5339-68d2-6d6b26233459@network-heretics.com>
Date: Tue, 25 Jul 2017 00:18:20 -0400
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1
MIME-Version: 1.0
In-Reply-To: <c0868a3a-be39-a971-02cc-18c550138a9f@isode.com>
Content-Type: multipart/alternative; boundary="------------14CB9051195B4CA9A14CE11A"
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/uta/52N9ssqbGS6iimbs7FLHJimrHTg>
Subject: Re: [Uta] Review of draft-ietf-uta-email-deep-08
X-BeenThere: uta@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: UTA working group mailing list <uta.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/uta>, <mailto:uta-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/uta/>
List-Post: <mailto:uta@ietf.org>
List-Help: <mailto:uta-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/uta>, <mailto:uta-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 25 Jul 2017 04:18:24 -0000

Hi Alexey,

Thanks for the review!  Some responses:


On 07/24/2017 12:04 PM, Alexey Melnikov wrote:
> I am generally very pleased with -07 and -08.
>
> A few minor comments:
>
> 1.  Introduction
>
>    This memo does not address use of TLS with SMTP for message relay
>    (where Message Submission [RFC6409] does not apply).  Improved use of
>    TLS with SMTP for message relay requires a different approach. One
>    approach to address that topic is described in [RFC7672].
>
> I think you should also reference MTA STS draft informatively here.

I'm personally okay with doing that.
>
> 4.1.  Deprecation of Services Using Cleartext and TLS Versions < 1.1
>
>    The specific means employed for deprecation of cleartext Mail Access
>    Services and Mail Submission Services this MAY vary from one MSP to
>
> Extraneous "this" above.
>
>    the next in light of their user communities' needs and constraints.
>
>
> Later in the same section:
>
>    Also, users authenticating with passwords SHOULD be required to
>    change those passwords when migrating from cleartext to TLS, since
>    the old passwords were likely to have been compromised.
>
> Not necessarily true with something like SCRAM or GSSAPI (if PLAIN is 
> also disabled), but I don't know how to word this better. I.e. 
> authentication might still not expose the password without TLS.

How about:

Also, users previously authenticating with passwords sent as cleartext 
SHOULD be required to change those passwords when migrating to TLS, 
since the old passwords were likely to have been compromised.

>
>    Transition of users from SSL or TLS 1.0 to later versions of TLS MAY
>    be accomplished by a means similar to that described above. There
>    are multiple ways to accomplish this.  One way is for the server to
>    refuse a ClientHello message from any client sending a protocol
>    version number corresponding to any version of SSL or TLS 1.0.
>
> I don't think this is quite right: my understanding is that client can 
> send such versions (for backward compatibility), but end up 
> negotiating TLS 1.2.

The version number that the client sends in ClientHello is the /maximum/ 
version number that the client will support.   The server is free to 
offer a lower version number in its ServerHello response, which the 
client can accept (by continuing the session) or reject (by closing it).

> So the advice here should be that neither the server nor the client 
> can negotiate SSL 2.0/TLS 1.0.

Even SSL 2.0 is better than cleartext.   It just doesn't meet minimum 
confidentiality requirements.  If the MUA's configuration for that 
account doesn't impose minimum confidentiality requirements, the MUA is 
free to accept a ServerHello message offering an obsolete and insecure 
protocol version, because it would have presumably accepted cleartext 
anyway.    The MUA just shouldn't represent to the user that that 
connection is secure.

> Another way is for the server to accept ClientHello messages from
>    some client versions that it does not wish to support, but later
>    refuse to allow the user to authenticate.  The latter method may
>    provide a better indication to the user of the reason for the failure
>    but (depending on the protocol and method of authentication used) may
>    also risk exposure of the user's password over an channel which is
>    known to not provide adequate confidentiality.
>
>
> 5.2.  Minimum Confidentiality Level
>
>    MUAs SHOULD NOT allow users to "click through" to access or send mail
>
> It is not clear to me whether you are recommending better UI or a UI 
> that doesn't allow the user to bypass this?

The intent is that the MUA shouldn't offer a popup or similar dialog to 
allow a user to /easily/ bypass the account's minimum confidentiality 
requirements.   It's too easy to do this by accident, or without the 
user reading or understanding the MUA's description of the situation.  
And often, it's not just a few email messages that are compromised by 
doing so - it's the user's credentials and by extension all of the 
user's saved and future email, and potentially also any other resources 
that use that same password.   So it's a big deal.

If the user wants to reconfigure a mail account to not impose the 
minimum confidentiality requirement, that's up to the user, but "click 
through" is just a Bad Idea.

>
>    via an connection, or to authenticate to any service using a
>    password, if that account is configured to impose minimum
>    confidentiality requirements and that connection does not meet all of
>    those requirements.  Experience indicates that users presented with
>    such an option often "click through" without understanding the risks
>    that they're accepting by doing so.
>
> 5.4.  Certificate Pinning
>
>    A pinned certificate is subject to a man-in-the-middle attack at
>    account setup time, and lacks a mechanism to revoke or securely
>    refresh the certificate.
>
> Isn't this a MUA UI issue? I.e., a MUA may allow users to manage 
> pinned certificates.

Use of pinned certs isn't forbidden by the draft, but pinned certs don't 
meet minimum confidentiality requirements.

I think it might be possible to adequately address the security concerns 
associated with the usual implementation of pinned certificates, but 
working though the details seems beyond the scope of this document.

>
> 5.5.  Client Certificate Authentication
>
>    MUAs MAY implement client certificate authentication on the Implicit
>    TLS port.  An MUA MUST NOT provide a client certificate during the
>
> "MUST NOT" sounds too strong. Why?
>
>    TLS handshake unless the server requests one and the client has
>    determined the certificate can be safely used with that specific
>    server, OR the client has been explicitly configured by the user to
>    use that particular certificate with that server.  How to make this
>    determination is presently implementation specific.

I think this is Chris' text, so I'll let him answer.

I do seem to recall from long ago that TLS 1.0 at least had a flaw that 
if a client has multiple certs it could potentially use, the protocol 
gives the client no idea as to which of those certs to use - and 
presumably only one will work.   If the client presents the wrong one, 
the AUTH EXTERNAL could fail, and the client wouldn't know why.   So the 
client requires specific configuration to know which certificate to use 
with which server.

Forgive me for not knowing this off the top of my head, but was this 
flaw ever fixed?

>
> 8.  Security Considerations
>
>    It could be argued that sharing the name and version of the client
>    software with the server has privacy implications.
>
> You should probably mention IMAP ID extension (RFC 2971) here, as well 
> as other known mechanisms.

I think this text may be left over from the STS stuff, so maybe we don't 
need it anymore.

Keith