Re: [Uta] REQUIRETLS: another SMTP TLS mechanism

Viktor Dukhovni <ietf-dane@dukhovni.org> Fri, 25 March 2016 18:24 UTC

Return-Path: <ietf-dane@dukhovni.org>
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 1356012D61A for <uta@ietfa.amsl.com>; Fri, 25 Mar 2016 11:24:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001] 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 vx_cJg37sKli for <uta@ietfa.amsl.com>; Fri, 25 Mar 2016 11:24:27 -0700 (PDT)
Received: from mournblade.imrryr.org (mournblade.imrryr.org [38.117.134.19]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1A7C112D5EE for <uta@ietf.org>; Fri, 25 Mar 2016 11:24:27 -0700 (PDT)
Received: by mournblade.imrryr.org (Postfix, from userid 1034) id 2B8C2284F45; Fri, 25 Mar 2016 18:24:26 +0000 (UTC)
Date: Fri, 25 Mar 2016 18:24:26 +0000
From: Viktor Dukhovni <ietf-dane@dukhovni.org>
To: uta@ietf.org
Message-ID: <20160325182425.GR6602@mournblade.imrryr.org>
References: <56F49E9B.2090403@bluepopcorn.net>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <56F49E9B.2090403@bluepopcorn.net>
User-Agent: Mutt/1.5.24 (2015-08-30)
Archived-At: <http://mailarchive.ietf.org/arch/msg/uta/c3EdsJ7Oq-KwY0L64ZBULRYZptI>
Subject: Re: [Uta] REQUIRETLS: another SMTP TLS mechanism
X-BeenThere: uta@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
Reply-To: uta@ietf.org
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: Fri, 25 Mar 2016 18:24:29 -0000

On Thu, Mar 24, 2016 at 07:12:43PM -0700, Jim Fenton wrote:

> Not to distract from the STS discussion, but I thought I'd point out
> another approach to SMTP TLS 'encouragement' that I submitted a few
> weeks ago: draft-fenton-smtp-require-tls-01. There has been some
> discussion of this draft, primarily on the ietf-smtp mailing list and a
> little on the perpass list.

Parallel discussion is not unprecedented on IETF lists...

> REQUIRETLS is an SMTP service extension that allows an SMTP client to
> specify (via a MAIL FROM option) that a given message must be sent over
> a TLS protected session with specified security characteristics. Options
> allow the specification of allowable methods of server certificate
> verification, including web-PKI and DANE. In advertising its support for
> REQUIRETLS, the SMTP server is promising to honor that requirement.

Section 2. 

    <quote>
       o  DNSSEC - The server MUST confirm that any MX record or CNAME
	  lookup used to locate the SMTP server must be DNSSEC [RFC4035]
	  signed and valid.
    </quote>

    Does requiring DNSSEC cover just the MX RRset, or also the
    address records of the individual MX hosts.  I ask because
    in Section 3 you say:

    <quote>
       o  Look up the SMTP server to which the message is to be sent.  If
	  the DNSSEC option is included in the message tag, all lookups in
	  this process MUST use DNSSEC verification and the response MUST be
	  DNSSEC-signed.
    </quote>

    If the entire goal is to ensure the integrity of the RFC 6125
    "reference identifier" used to authenticate the nexthop SMTP
    server, then it is perhaps a good idea to say so explicitly.

    <quote>
       The CHAIN and DANE parameters are additive; if both are specified,
       either method of certificate validation is acceptable.  If neither
       CHAIN nor DANE is specified, the certificate presented by the SMTP
       server is not required to be verified.
    </quote>

    This is reasonably clear, either suffices when both are specified.
    I am concerned that giving the user the choice to specify either
    alone, rather than just a single "AUTHENTICATED" (or similar)
    keyword, may be too much rope.  The "REQUIRETLS" service
    extension, just by requiring authenticated TLS on every single
    hop, is already typically equivalent to "BOUNCEME", and making
    delivery even less likely by giving the sender control over
    the authentication mechanism is I believe counterproductive.

    If STS enters the mix, would that need to be added as yet
    another keyword?  Would STS be an alternative to DNSSEC (to
    protect the reference identifiers via its MX host constraints)
    or an alternative to CHAIN/DANE?

    The reason I mention this, is to illustrate that this level of
    specificity in the client's REQUIRETLS request is IMHO unwise.

    A much more pragmatic approach (at the cost of some uncertainty
    about which mechanisms are used on any given hop) is to leave
    the authentication details unspecified.  Given how little
    experience and deployment we have for authenticated MTA-to-MTA
    SMTP, I strongly suggest a more "generic" approach to
    authentication.

Section 3.4.  Delivery of REQUIRETLS messages

    <quote>
       Messages are usually delivered to end users using protocols other
       than SMTP such as IMAP [RFC3501], POP [RFC1939], or web mail systems.
       Mail delivery agents supporting REQUIRETLS SHOULD require that
       message delivery take place over authenticated, encrypted channels.
    </quote>

    Terminology problem.  This confuses delivery protocols with
    access protocols.  IMAP and POP are not delivery protocols.
    The only IETF delivery protocol is LMTP.

-- 
	Viktor.