Re: [ietf-dkim] [dmarc-ietf] a slightly less kludge alternative to draft-kucherawy-dmarc-rcpts

"Murray S. Kucherawy" <superuser@gmail.com> Thu, 17 November 2016 13:54 UTC

Return-Path: <ietf-dkim-bounces@mipassoc.org>
X-Original-To: ietfarch-ietf-dkim-archive@ietfa.amsl.com
Delivered-To: ietfarch-ietf-dkim-archive@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5BA9B129957 for <ietfarch-ietf-dkim-archive@ietfa.amsl.com>; Thu, 17 Nov 2016 05:54:48 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.589
X-Spam-Level:
X-Spam-Status: No, score=-1.589 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_ADSP_CUSTOM_MED=0.001, DKIM_SIGNED=0.1, FREEMAIL_FORGED_FROMDOMAIN=0.199, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_DKIM_INVALID=0.01] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=fail (2048-bit key) reason="fail (message has been altered)" header.d=gmail.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 UqSIJpqkQutS for <ietfarch-ietf-dkim-archive@ietfa.amsl.com>; Thu, 17 Nov 2016 05:54:47 -0800 (PST)
Received: from simon.songbird.com (simon.songbird.com [72.52.113.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2FD791295B6 for <ietf-dkim-archive@ietf.org>; Thu, 17 Nov 2016 05:54:47 -0800 (PST)
Received: from simon.songbird.com (simon.songbird.com [127.0.0.1]) by simon.songbird.com (8.14.4/8.14.4/Debian-4.1ubuntu1) with ESMTP id uAHDsofD019289; Thu, 17 Nov 2016 05:54:51 -0800
Authentication-Results: simon.songbird.com; dkim=fail reason="verification failed; unprotected key" header.d=gmail.com header.i=@gmail.com header.b=Hw2Q6AD0; dkim-adsp=none (unprotected policy); dkim-atps=neutral
Received: from mail-yb0-f172.google.com (mail-yb0-f172.google.com [209.85.213.172]) by simon.songbird.com (8.14.4/8.14.4/Debian-4.1ubuntu1) with ESMTP id uAHDsk6n019284 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NOT) for <ietf-dkim@mipassoc.org>; Thu, 17 Nov 2016 05:54:47 -0800
Received: by mail-yb0-f172.google.com with SMTP id d59so55485617ybi.1 for <ietf-dkim@mipassoc.org>; Thu, 17 Nov 2016 05:53:51 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=sWKXeWOlULmv9a5eYh+z4xTzE9OKvZu4YWy93e5K/Qc=; b=Hw2Q6AD0jewobCAq7zlLUxiYBB/FaQdBWlEXHHAR8it8diqW8Fc4acDuvvifYslYKu UKmABDioH9tFTZJ0X2WtyClIucjbzBVifwgrpiHFGnGF0+L5lSgIzDh4ZrsNIH+jCH/h yRzEl3GQHnnOyeHTsD10AgBvvewH5C64nrQDurWSs/HbBCRF/6wLUYZ8oaoob18xYonT TRsCES++yPTYr3zX3T+BEKjM3WkLtE/F8leLeDAZm7cqBpgXFWo9tliYZ5mSBHaE1GS2 FQvmaffQvuXf98QV5QHCoKA/IYffLLIJhP/H6pSqwXNlDEXDkHjLOYcnPvGYsZxBtJ+0 r45A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=sWKXeWOlULmv9a5eYh+z4xTzE9OKvZu4YWy93e5K/Qc=; b=W6XT1TY+v7KpzQCcFkuXILCeRggM98AY+W4nzRy1suFjV/nGQiD4jFMEhFaYe68gPp Fa2IH7JPSwMTjVCX8K+KTenGMWhozIu3ZkxhhgAI8HtH03N1qmryPJsl8M1b4wj2x/36 HOhQODZhIc9mH1KqkPulV0uVvMwuU7RU1q1kj2Gk6NWbSkeyUHe69sO2HyIvSs7sEREC RehLQnqUQwcRM5cBVp3UVU7hDzP3v6GQkBpQGQ7PFjUslj1IUWmCqsH6A5u6FfB4ZGb+ usMLRGs4t2620Rkv9vHjA7r7RZSOn1chxK30wtsEd9CGPvTnU0oaPrXQ9WYQGmRfQ2Of Ip2w==
X-Gm-Message-State: ABUngvcbOkOoitCdzaOQUVJUq7Qm/tNkmCkXCOVQQ8P3iHmhaGORAZHmFinZVcaQmZUb4gdURK+ZCJFsrhajLw==
X-Received: by 10.129.77.68 with SMTP id a65mr3615065ywb.287.1479390824636; Thu, 17 Nov 2016 05:53:44 -0800 (PST)
MIME-Version: 1.0
Received: by 10.37.111.130 with HTTP; Thu, 17 Nov 2016 05:53:43 -0800 (PST)
In-Reply-To: <90bef39d-4882-4018-7815-5ef2af70f9ea@tana.it>
References: <alpine.OSX.2.11.1611142158000.21738@ary.local> <01Q7ASDZFS6C011WUX@mauve.mrochek.com> <CAL0qLwazAg2UJvGAr+nx8R_xEbc4xV0ttPEWFKUD69u6xXaMhA@mail.gmail.com> <CAL0qLwaMzy=qeW5XYZ_txPaiYE27Oof+C5V1uRANvv-_cayOcQ@mail.gmail.com> <CY1PR00MB0107389F8FE73F140849A19996BE0@CY1PR00MB0107.namprd00.prod.outlook.com> <2736ea21-69e6-83b1-3b59-377c032290b5@dcrocker.net> <CY1PR00MB01072F4EB32969888104C45196BE0@CY1PR00MB0107.namprd00.prod.outlook.com> <CAL0qLwbdNVwT-xiCmxyhSqKcp4-hCA1COHKh0wdYrYEekzZ=XA@mail.gmail.com> <a149d183-fe6f-b89d-c8ac-6686460b8603@tana.it> <CAL0qLwY_wZPS4pJSNv3bqxedmvsqFd3bTcT=Mo6NAvt8r-_e2A@mail.gmail.com> <0ac51f28-4f55-fbfe-5db6-b7e04c4f5d54@tana.it> <CAL0qLwb+KKRowmncEx=0ZKgJ10PfFGLwX2r7vY7RtvVf9fL6-A@mail.gmail.com> <90bef39d-4882-4018-7815-5ef2af70f9ea@tana.it>
From: "Murray S. Kucherawy" <superuser@gmail.com>
Date: Thu, 17 Nov 2016 22:53:43 +0900
Message-ID: <CAL0qLwaA_fz83vOTSj6-1n_w1Xp_mTHVmmi2VYmM6wFst6gSUA@mail.gmail.com>
To: Alessandro Vesely <vesely@tana.it>
Cc: "ietf-dkim@mipassoc.org" <ietf-dkim@mipassoc.org>, Terry Zink <tzink@exchange.microsoft.com>
Subject: Re: [ietf-dkim] [dmarc-ietf] a slightly less kludge alternative to draft-kucherawy-dmarc-rcpts
X-BeenThere: ietf-dkim@mipassoc.org
X-Mailman-Version: 2.1.16
Precedence: list
List-Id: IETF DKIM Discussion List <ietf-dkim.mipassoc.org>
List-Unsubscribe: <http://mipassoc.org/mailman/options/ietf-dkim>, <mailto:ietf-dkim-request@mipassoc.org?subject=unsubscribe>
List-Archive: <http://mipassoc.org/pipermail/ietf-dkim/>
List-Post: <mailto:ietf-dkim@mipassoc.org>
List-Help: <mailto:ietf-dkim-request@mipassoc.org?subject=help>
List-Subscribe: <http://mipassoc.org/mailman/listinfo/ietf-dkim>, <mailto:ietf-dkim-request@mipassoc.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============9112296237999261200=="
Errors-To: ietf-dkim-bounces@mipassoc.org
Sender: ietf-dkim <ietf-dkim-bounces@mipassoc.org>

On Thu, Nov 17, 2016 at 7:28 PM, Alessandro Vesely <vesely@tana.it> wrote:

>
> Yes.
>>
>
> Well, if its title were *Incompatibility with Current Infrastructure*, I
> would agree there is a statement on the risk of disrupting how DKIM works.
>

That section talks about some things that are compatible (ignored tags are
harmless, for example) and some that are not.


>
>
>> I wouldn't say a salted hash qualifies as "racking my brains".  The idea
>> is
>> to make it difficult to see who the envelope recipient is simply by
>> looking.  A one-way transformation forces an interloper to make guesses
>> and
>> try to confirm, and the salt guarantees that your email address does not
>> always hash to the same thing.  It's not perfect security by any means,
>> but
>> it's a cheap way to limit what gets leaked.  This too is spelled out in
>> Section 7.
>>
>
> "To make guesses" is not the specified implementation.  Section 4.2 says
> envelop recipient must match exactly.
>

I'm completely confused about the flow of the conversation here.  The
guessing has to be done by an attacker, not by the true verifier.  See
below.


> This requirement not only forces single-recipient mode, but also rules out
> verifiers which run after acceptance or after alias expansion.  An
> incredibly narrow scope, overall.
>

Correct.  The -00 version of the document had better text about it that got
lost somehow.  I'll put it or something equivalent back in a future version.


> If instead you really allow some guessing, as mentioned in Section 7, you
> may rehabilitate a range of verifiers, but undoubtedly do so at the cost of
> full scale brains racking.


A verifier doesn't have to guess.  It has a recipient in hand that either
passes the test or does not.

To illustrate: The value of "rh" is base64(rs + rcpt) and the proposal
asserts that both the signer and the verifier have to arrive at the same
value.  The actual signer and verifier have "rs" and "rcpt", the two
inputs, so they get the same result for "rh"; there is no guessing.  An
attacker, however, has an "rh" and "rs" value, but no "rcpt".  It has to
guess.  The weakness is that the mechanism allows for such guesses to be
confirmed when they're right, and it's often the case that there's
information available to narrow the scope of such guessing.  But I think
the document already discusses that.


>
> If you hand me a printed copy of a message without the envelope, and the
>> Received didn't use the (non-standard) "for" clause, I cannot be certain
>> it
>> was delivered to whatever the To and Cc say, if they're even present.
>>
>
> I don't think I'm with you.  You seem to mean you don't know if, say,
> Terry actually received a copy of this.


Correct, I don't.  In fact, given a printed copy of this message, I don't
know who actually received it, as I no longer have the envelope.  The To
and Cc don't have to have any relationship with the delivery envelope at
all.


> For example, one might arrange social engineering by adding CC:'s to your
> boss, the press, the police, et cetera, none of which corresponds to the
> envelope.  Is that concern part of the problem at hand?
>

I wouldn't call it a concern, but yes, it explains this aspect of the
proposal.


>
> It may have gone only to an envelope recipient that isn't visible.  That
>> is, if there was a Bcc, it's not revealed to me.  If you insist on using
>> "for" or "Disclosed-Bcc", that information is guaranteed to be exposed,
>> and
>> I can see who that secret recipient was.
>>
>
> Invisible recipients may come from BCCs or other sources.  When you get
> the message, you may want to know why it was delivered to you, and, yes,
> "for" or "Disclosed-Bcc" let you know that.  Why should that info be kept
> secret?
>

Exactly for the reason I gave: If you force a Bcc to be visible by sticking
it in a header field, and then print it, the "B" in "Bcc" is gone; the
secret recipient is fully revealed.  I don't know why that would be
desirable.


>
> By contrast, including these tags at most reveals to me that there was a
>> Bcc, but I have to do some complex (though these days, cheap) math to
>> guess
>> whether a specific address was in there.  If I never make the correct
>> guess, the secret is never revealed.
>>
>
> I fail to see why that would be an advantage:
>
> The address is likely shorter than its hash.
>

Your logic is puzzling here.  I don't know about you, but I'm willing to
trade a few bytes to retain privacy.


> In general, it would be nice to have a standard means to tell recipients
> on what grounds a message was delivered to their mailboxes.  For example,
> was it a role address or a personal one?  If the message body is ambiguous
> (e.g. short messages) knowing the original recipient address may help.
>

That seems to be a goal wholly outside of the scope of this proposal.


> In the scenario you are proposing, only mailbox providers know the
> envelope, and can verify if that was what the sending domain signed.


Yes.


> Final recipients --the actual subjects-- cannot access that info.  That
> picture looks unfair. Indeed, in some countries providers may seem to be
> legally bound to reveal the envelope address upon subject request (IANAL).
>

Sic semper erat.

There is no standard that says the envelope must or even should be copied
into the header on delivery, nor is there a standard way to do so.  Why is
that suddenly something that needs fixing, either in general or in
particular with this proposal?

-MSK
_______________________________________________
NOTE WELL: This list operates according to
http://mipassoc.org/dkim/ietf-list-rules.html