Re: [Uta] back to smtp-sts-04

Viktor Dukhovni <ietf-dane@dukhovni.org> Sun, 23 April 2017 02:50 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 4C214126DD9 for <uta@ietfa.amsl.com>; Sat, 22 Apr 2017 19:50:06 -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] 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 4Z7NGAAd40bO for <uta@ietfa.amsl.com>; Sat, 22 Apr 2017 19:50:04 -0700 (PDT)
Received: from mournblade.imrryr.org (mournblade.imrryr.org [108.5.242.66]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B2946126B6D for <uta@ietf.org>; Sat, 22 Apr 2017 19:50:04 -0700 (PDT)
Received: from [192.168.0.2] (cpe-67-241-70-168.twcny.res.rr.com [67.241.70.168]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mournblade.imrryr.org (Postfix) with ESMTPSA id 16D097A32F1 for <uta@ietf.org>; Sun, 23 Apr 2017 02:50:02 +0000 (UTC) (envelope-from ietf-dane@dukhovni.org)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\))
From: Viktor Dukhovni <ietf-dane@dukhovni.org>
In-Reply-To: <CANtKdUevHbQaUga2=X0tFy4K=po=DL=pKUn-2KZQgRUPTtYAig@mail.gmail.com>
Date: Sat, 22 Apr 2017 22:50:01 -0400
Content-Transfer-Encoding: quoted-printable
Reply-To: uta@ietf.org
Message-Id: <B8600601-9344-427A-B159-B57E982F3BAF@dukhovni.org>
References: <52dde16a-a3bb-5844-7daa-a349def85049@wizmail.org> <80676A32-78CB-4FFA-AEE4-94DA95102B98@dukhovni.org> <a2a6e5f5-ff3b-272b-abda-b49fe23a485d@wizmail.org> <605FE793-3D82-4C4F-9F93-D50DF4320DF5@dukhovni.org> <9402ac0a4990432f994656ddaf94b9e2@COPDCEX19.cable.comcast.com> <CE55E42E-9845-46A6-B0AA-F56CE56F2936@dukhovni.org> <CANtKdUevHbQaUga2=X0tFy4K=po=DL=pKUn-2KZQgRUPTtYAig@mail.gmail.com>
To: uta@ietf.org
X-Mailer: Apple Mail (2.3273)
Archived-At: <https://mailarchive.ietf.org/arch/msg/uta/MJ7C0KNPdscnD7y6mfpeal4T-qg>
Subject: Re: [Uta] back to smtp-sts-04
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: Sun, 23 Apr 2017 02:50:06 -0000

> On Apr 22, 2017, at 1:35 PM, Daniel Margolis <dmargolis@google.com> wrote:
> 
>> Speaking of the policy, what should be done if the HTTPS policy
>> contains multiple JSON objects, no JSON objects, or broken JSON?
> 
>    "If a valid TXT record is found but no policy can be fetched via
>    HTTPS, and there is no valid (non-expired) previously-cached policy,
>    senders MUST treat the recipient domain as one that has not
>    implemented MTA-STS."
> 
> If you can't parse it, it's not a valid policy, so you fall back to cached-non-expired or none.
> Same as if there's an HTTP timeout, an HTTPS cert validation error, etc. 

Getting an authenticated invalid policy seems rather different from failure
to retrieve the policy.  The latter is obviously a temporary condition and
one can stick with what's cached.  On the other hand when an authentic policy
fails to parse, it seems clear whatever we had in the cache is no longer the
current policy.  So what is the right course of action is not so clear.
 
>> How does a domain get rid of its STS policy?  I thought we had discussed
>> using "max_age = 0" for this, which after being in place long enough to
>> assure that all previously cached policies have expired can be removed.
>> Or might just "404" suffice
> 
> Yes, I remember discussing this. But I am not sure such a mechanism is needed.

I rather think it is needed.  When a domain changes hands, or no longer wishes
to deal with the hassles of certificate expiration, it must be possible to
revoke the policy.

> 1. Domains can publish a "report" policy (with or without a TLSRPT record!)
> with a low expiration

What happens when that expires?  It is again found and refreshed unless there's
a way to ultimate say "no policy".

> 2. They have to keep this policy published until "last time the old policy was
> published" + "old policy's max_age"

Yes, but that's not actually policy removal.  Clients will likely still end up
collecting stats for reports, even if they later prove undeliverable or there's
no address to send them to.

> Let's consider in comparison an implementation with a special "opt out" mechanism
> (however it works). Would it avoid the above two knock-on effects, or be easier
> to publish?

It seems to me that "age=0" is simpler and more clear than "report".  Combined with
ultimate removal of the DNS TXT record the policy is eventually flushed from caches.

> I think for publishing (i.e. the duration required in #2 above) the answer is "no"; obviously the "opt out" must be published in the same way (i.e. for the same duration) as any new policy. Similarly, because it must be published as (effectively) a new policy, senders must still cache it (or else hit the endpoint every time), so we're still talking about knock-on effect (a).* 
> 
> So I think the only argument for adding an explicit opt-out--which I think is otherwise extra complexity to be avoided--is to avoid (b), i.e., to avoid any cost of a "report-only" policy which has no reporting endpoint defined. And I suspect that cost is low, and does not justify even the minimal additional complexity of an "opt out". 

How does the "report" policy ultimately go away?  When can clients stop doing
policy lookups and the HTTPS service be decommissioned?

> But I may be missing something here, as usual. ;) 

Yes, how does the refresh cycle stop...

-- 
	Viktor.