Re: [Uta] REQUIRETLS: another SMTP TLS mechanism

Jim Fenton <fenton@bluepopcorn.net> Fri, 25 March 2016 19:35 UTC

Return-Path: <fenton@bluepopcorn.net>
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 63D2B12D135 for <uta@ietfa.amsl.com>; Fri, 25 Mar 2016 12:35:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.011
X-Spam-Level:
X-Spam-Status: No, score=-2.011 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=bluepopcorn.net
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 5N4VJyW-8-er for <uta@ietfa.amsl.com>; Fri, 25 Mar 2016 12:35:04 -0700 (PDT)
Received: from v2.bluepopcorn.net (v2.bluepopcorn.net [IPv6:2607:f2f8:a994::2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0B8DE12D0C1 for <uta@ietf.org>; Fri, 25 Mar 2016 12:35:04 -0700 (PDT)
Received: from [IPv6:2001:470:1f05:bfe::3] ([IPv6:2001:470:1f05:bfe::3]) (authenticated bits=0) by v2.bluepopcorn.net (8.14.3/8.14.3/Debian-9.4) with ESMTP id u2PJZ2rR010648 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO) for <uta@ietf.org>; Fri, 25 Mar 2016 12:35:03 -0700
To: uta@ietf.org
References: <56F49E9B.2090403@bluepopcorn.net> <20160325182425.GR6602@mournblade.imrryr.org>
From: Jim Fenton <fenton@bluepopcorn.net>
Message-ID: <56F592E6.60302@bluepopcorn.net>
Date: Fri, 25 Mar 2016 12:35:02 -0700
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0
MIME-Version: 1.0
In-Reply-To: <20160325182425.GR6602@mournblade.imrryr.org>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bluepopcorn.net; s=supersize; t=1458934503; bh=zNvL3msHur2KqZwlZlsekDX7vyWkCvRciqks0dHuBPw=; h=Subject:To:References:From:Date:In-Reply-To; b=XFxVNvJ8c273oWve8Du4pODbDwUZlpNE70Ac6J1uSm5SG1jJyUYRWcgBqG52mOAtG /8aBbyfuDgLvW/1TCvu1O7Gq+RTUigYsE2TKwkD2ad4B/Qt7D/nysTG8zPj4j0aIdc mphtA2L/eKLBWObv2jO3VcYO6jPVUGTNeVp4QRAE=
Archived-At: <http://mailarchive.ietf.org/arch/msg/uta/GfzVLJ0H6DrGuFIx9jUfSQcY1pA>
Subject: Re: [Uta] REQUIRETLS: another SMTP TLS mechanism
X-BeenThere: uta@ietf.org
X-Mailman-Version: 2.1.17
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: Fri, 25 Mar 2016 19:35:05 -0000

On 03/25/2016 11:24 AM, Viktor Dukhovni wrote:
> 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.

The primary purpose was indeed to ensure the integrity of the reference
identifier; this is discussed in the Security Considerations (section
6.2, paragraph 3). The rationale is that the address records are less of
a concern because the client will be verifying the server's certificate.
But that won't always be the case, so I'm on the fence about whether to
require address verification or not. If the MX record points to an
address in the same DNS zone, it'll be covered by DNSSEC, of course, but
MX records often point off to a service provider, and requiring DNSSEC
there might be an additional barrier to deployment.

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

I'm chuckling about calling it BOUNCEME, but it's an apt description at
present, since there is no REQUIRETLS deployment and the messages will
be bounced for that reason alone.

By not using the CHAIN and DANE options, certificate verification is not
required, so if too many messages are being bounced with those options,
they'll not see use. But without those options, we're limiting the
effectiveness of REQUIRETLS to passive attacks only; MITM attacks will
still be possible.

I have received suggestions that there also be options to require
specific TLS version, cipher suites, PFS, etc. as well, and my gut feel
is that's getting too specific.

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

I have had some discussions with the STS folks and have been thinking
about ways the two proposals might be complementary. Using REQUIRETLS to
require the use of TLS, and STS to specify the type of authentication,
is an interesting idea along those lines.
>
> 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.

Good observation; thanks.

-Jim