Re: [dmarc-ietf] easier DKIM, DMARC2 & SPF Dependency Removal

Jan Dušátko <jan@dusatko.org> Fri, 30 June 2023 07:21 UTC

Return-Path: <jan@dusatko.org>
X-Original-To: dmarc@ietfa.amsl.com
Delivered-To: dmarc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DD97DC151074 for <dmarc@ietfa.amsl.com>; Fri, 30 Jun 2023 00:21:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.098
X-Spam-Level:
X-Spam-Status: No, score=-7.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=dusatko.org header.b="lBsxCad3"; dkim=pass (2048-bit key) header.d=dusatko.org header.b="gsWRnHOG"
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bNOKSdpD1s5D for <dmarc@ietfa.amsl.com>; Fri, 30 Jun 2023 00:21:14 -0700 (PDT)
Received: from vhost.cz (hermes.vhost.cz [82.208.29.84]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7CFA4C14CE27 for <dmarc@ietf.org>; Fri, 30 Jun 2023 00:21:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=dusatko.org; s=key2048; t=1688109665; bh=lxkARIJfwWC1DwhA1USnoRMaEJN9mXt0HoZFLwrNgX8=; h=Date:Subject:To:References:From:In-Reply-To:From; b=lBsxCad3p4BRgsEFCraHnXB0MQFiQXUja5wn8urF9VG3GiD6pioAkK3IKneqzG/28 a9/FiXS1KwRqc8wnDWK1NOVRynt9v6yAr8gg0WuHw5XKOrqXJkeML+MAcJGDzkauTd SQVBkDNzRytgd1ARH/S1utAeSlHIW/WwwEfrYhvOqIzLq5uNceg4uH0TogDE4VSF2k 6rRqVNQKZKoc32ZNtlr54RBXVHjbShTMUkZXcmqWa81apy5t89/kI9y19utby1HDlv PaJX4SNVXjgIjSL1MxM1Vd3IyKxfBQFYCIVouBDljSTBtIcmhD0RCwPSV87xH8DOBP Pf7Q8NyKiB/Uw==
Received: from localhost (localhost [127.0.0.1]) by hermes.vhost.cz (Postfix) with ESMTP id 4239080023 for <dmarc@ietf.org>; Fri, 30 Jun 2023 09:21:05 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at hermes.vhost.cz
Received: from vhost.cz ([127.0.0.1]) by localhost (hermes.vhost.cz [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cILrqLT3Fvxa for <dmarc@ietf.org>; Fri, 30 Jun 2023 09:20:59 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=dusatko.org; s=key2048; t=1688109659; bh=lxkARIJfwWC1DwhA1USnoRMaEJN9mXt0HoZFLwrNgX8=; h=Date:Subject:To:References:From:In-Reply-To:From; b=gsWRnHOGqqzuljwSk0EaVHksD2angBTKRlkp+ITW+SCPX4UmLaNVHDLf0ufl7kHXX /jNKnqzETfIkhCFyg2wOvpeiLE8St05M6YjQ6orLsFaNxSFyJYMk2ianXMrfmK1PSY i46mrAABYrnsSuEgAz1Xs0WFGhzHlBzTeIZYhedotcH0AZtv8O4lSTz151j6xryGht XRm+K0QZp7W6870iL/LjZt33ldkAntwm2Cr5A+iR0nvCQGYktNuSuCXJd0GXdFSUck ALwnivMVc09DaaD0QiqywgFpTt3RBAMKRtLfMnyW3oUoH/GKtP9ek2SYm0x6/8xuPp ESJKo/KqbZJkg==
Received: by hermes.vhost.cz (Postfix, from userid 115) id B680980025; Fri, 30 Jun 2023 09:20:59 +0200 (CEST)
X-Spam-Virus: _CLAMAVRESULT_
X-Spam-Pyzor: Reported 0 times.
X-Spam-DCC: :
Received: from [192.168.1.160] (static-84-242-66-51.bb.vodafone.cz [84.242.66.51]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (Client did not present a certificate) by hermes.vhost.cz (Postfix) with ESMTPSA id 2B64980023 for <dmarc@ietf.org>; Fri, 30 Jun 2023 09:20:57 +0200 (CEST)
Message-ID: <c3adb721-fa6c-a285-a7db-067260d83f41@dusatko.org>
Date: Fri, 30 Jun 2023 09:20:50 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0
Content-Language: en-GB
To: dmarc@ietf.org
References: <20230623021810.E5F8DF9B3B94@ary.qy> <6495D504.4090809@isdg.net> <839aa10b-f7fa-c7a2-76db-6441189afca2@dusatko.org> <CALaySJ+gcVvpzJcrpUbOkOvjUFAhzw=pZovpZC7BhW_x7VW7nA@mail.gmail.com> <CAL0qLwasxzqJt7Hr7gZd86C=ivCrDUci_i6pkJJUTnqzL1pHMA@mail.gmail.com> <CALaySJ+gjR6D-OSE_07iSH2zXa7wypUQwPN1cL-1s+NC2S4L8g@mail.gmail.com> <99e1ef2d-053b-8cfe-f369-fa8475d142ae@tana.it> <CALaySJKZoAPTT-+cZEww+y2eUsDbNXcybb=Z7RxNLyfzPMr7ng@mail.gmail.com> <d3986316-02f9-9d73-be81-37af7cfd40a7@tana.it> <CALaySJLtUtKNtP4__pOryFLaAODjiEx-nbdvF9tL6wYhcRCe_g@mail.gmail.com> <877A1137-3A55-424A-A9C5-FCCA4F2D5436@kitterman.com>
From: Jan Dušátko <jan@dusatko.org>
In-Reply-To: <877A1137-3A55-424A-A9C5-FCCA4F2D5436@kitterman.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/dmarc/VI5CEws8gqGGuM4JS2iHpsxtJzo>
Subject: Re: [dmarc-ietf] easier DKIM, DMARC2 & SPF Dependency Removal
X-BeenThere: dmarc@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "Domain-based Message Authentication, Reporting, and Compliance \(DMARC\)" <dmarc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dmarc>, <mailto:dmarc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dmarc/>
List-Post: <mailto:dmarc@ietf.org>
List-Help: <mailto:dmarc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dmarc>, <mailto:dmarc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 30 Jun 2023 07:21:20 -0000

Scott, Barry,
as far as I understand, SPF are historic technology, but still have a 
reason why to use it. In my opinion (and concerns), it is also necessary 
to be aware of the extension of the individual protection methods 
provided by senders (amount of domains). This is not a deep analysis. It 
is possible that the numbers given will not be accurate.
SPF        87%
DKIM    13%
DMARC 63%
ARC         5%
As technologies are deployed not in a technological continuity, but 
according to the needs of system owners, they are therefore set 
intersections. For this reason, relying only on the combination of 
DKIM+DMARC technology could be unfortunate.
In terms of provability, each DKIM signed email will be sent from the 
owner of the authorized servers. Ideally, therefore, it is not necessary 
to combine SPF and DKIM, only DKIM could be sufficient. However, the 
following situations are a problem. As a rule, DKIM+DMARC is not fully 
implemented, part of the domains are protected by DKIM, part by DKIM + 
SPF, part by SPF only.
- Only DKIM and DMARC are implemented, yet the SPAM distributor sends an 
email without the DKIM signature and without the key information.
- Only DKIM and DMARC are implemented, and a signed email is available. 
The SPAM distributor starts repeatedly sending the same email 
(equivalent to a DOS attack).
- Only DKIM and DMARC are implemented, and a signed email based on 
RSA+SHA1 is available. Because it is possible to find collisions for 
SHA1, and the digital signature is actually an "encrypted hash," it is 
possible to send counterfeit mail with a signature that looks genuine. 
The solution is to use explicitly h=sha2, but if not specified, it is 
also possible to "downgrade the signature" against another key on this 
domain supporting SHA1 (any SHA1-based signature will be used).

These attacks are the first that came to my mind. How we can mitigate 
that threat? According to owner authorization of IP addresses, they 
protect against a different kind of attack than the digital signature by 
using DKIM.

On the other hand, SPF can bring beside of advancing security particular 
security reduction. Simply because most of services are "shared in 
cloud" right now. Cloud service providers generally provide the extent 
to which virtual services can operate. It is not a question of who has 
or does not have the ability to use the service (in meaning that service 
are approved to send e-mails beside of domain). In this case, it is not 
a problem to create a system in the cloud technology that starts mimic 
and send junk mail instead of an authorized organization. The methods of 
correction are reactive, so it will take some time before such an attack 
is detected and mitigated. However, even a limitation of scope can be 
supported by DKIM, as it limits the space from which an attacker can 
operate.

The whole problem is a single one. What tools to provide the domain 
owner with to set up a policy to protect the reputation of its mail 
services. From this, another question arises:
- To what extent can domain service managers' knowledge be trusted?
- Is it possible to set up policy processing rules so that non-standard 
situations like missing signature can be handled, or allow the owner to 
define how signatures will be used?
- Is it possible to unambiguously describe the rules to avoid 
implementation errors?
- How will the problem of mail forwarders and mailing lists be addressed?

regards

Jan


Dne 28. 6. 2023 v 21:43 Scott Kitterman napsal(a):
> I think it's quite relevant.
>
> The assumption that this is based on is there's a need to specify because SPF data is not reliable enough for everyone.  If that premise is correct (I don't agree with it, but it's a separate issue), then I think telling people that they should use DKIM because it IS reliable, when it's got its own issues isn't a great idea.
>
> I've been mulling this whole topic over and I think I'm close to having mulled it enough to have a useful proposal.  SPF bad, DKIM good is a gross over-simplification, but so is if it passed SPF, it's authorized, so go whine at the provider.
>
> Scott K
>
> On June 28, 2023 6:32:41 PM UTC, Barry Leiba <barryleiba@computer.org> wrote:
>> I think DKIM replay is largely irrelevant to this discussion (about
>> the sender specifying which authentication to use), because if that's
>> your biggest concern with respect to DMARC, then "SPF only" is the
>> answer.  "SPF *and* DKIM" is not any better than that.
>>
>>> You seem to imply that auth=dkim+spf wouldn't be effective against DKIM reply
>> (Assuming you mean "replay".)  "SPF and DKIM" does not give any
>> benefit beyond "SPF only" in this case.
>>
>> Look, either SPF fails because the message was relayed illegitimately...
>> ...or SPF passes because the replayer used the sender's legitimate
>> infrastructure to do the replay.
>>
>> Barry
>>
>> On Wed, Jun 28, 2023 at 12:43 PM Alessandro Vesely <vesely@tana.it> wrote:
>>> Thank you for your analysis.  However, it doesn't touch on DKIM replay.
>>>
>>> I know this topic belongs to the other list.  Let me briefly recall it, if this
>>> doesn't take too many cycles from core matters:  It occurs when a signed
>>> message is replayed by unauthorized hosts to recipients which were not
>>> originally addressed.  So, it is one case of your 3rd proposition: In some
>>> scenarios, DKIM will pass when SPF fails.
>>>
>>> You say that it is technically unnecessary to test both because DKIM should
>>> always pass when SPF passes (1st proposition).
>>>
>>> You claim:
>>>> But where the harm comes is in cases of mis-configuration, because now if
>>>> *either* of them is misconfigured, the whole thing fails -- neither of them
>>>> serves as a backup for the other; instead, the misconfiguration of either
>>>> one causes deliverability problems.
>>>
>>> I agree.  But what if SPF and DKIM are both configured properly?  You seem to
>>> imply that auth=dkim+spf wouldn't be effective against DKIM reply, but your
>>> analysis doesn't cover that case explicitly.
>>>
>>> Perhaps there are better ways to counter that specific problem, and certainly
>>> it's not what this WG is tasked to do.  But, just to make the point, I think
>>> it's interesting to know.
>>>
>>>
>>> Best
>>> Ale
>>>
>>>
>>> On Tue 27/Jun/2023 16:24:21 +0200 Barry Leiba wrote:
>>>> I don't understand how most of your message fits into this discussion:
>>>> you're comparing SPF's policy points with DMARC policy.  we're talking
>>>> about SPF as an authentication mechanism together with DKIM (not
>>>> DMARC) as an authentication mechanism... and then using those
>>>> authentication results in DMARC policy evaluation.
>>>>
>>>> But here: I've said all this before in separate places, so I'll put it
>>>> in one place, here, one more time:
>>>>
>>>> Given that SPF and DKIM are both configured properly:
>>>> 1. If SPF passes, DKIM will always pass.
>>>> 2. If DKIM fails, SPF will always fail.
>>>> 3. In some scenarios, DKIM will pass when SPF fails.
>>>>
>>>> Therefore, when everything is configured properly, SPF adds no value
>>>> beyond what DKIM does, and DKIM does add value beyond what SPF does.
>>>> That's why I am (and others are) arguing that we should remove SPF
>>>> *from DMARC evaluation*.  There's no argument that for now, or some,
>>>> SPF outside of DMARC still has value.
>>>>
>>>> What others are arguing is that in the real world, things do get
>>>> mis-configured, and if DKIM is misconfigured and fails when it
>>>> shouldn't, SPF adds value by providing a working authentication.
>>>> (And, of course, similarly the other way around, plus DKIM covers some
>>>> cases when messages are relayed or forwarded.)  That speaks for "SPF
>>>> *or* DKIM".
>>>>
>>>> But "SPF *and* DKIM" -- requiring *both* to pass -- is technically
>>>> unnecessary at best, because of (1) above: DKIM should always pass
>>>> when SPF passes.  But where the harm comes is in cases of
>>>> mis-configuration, because now if *either* of them is misconfigured,
>>>> the whole thing fails -- neither of them serves as a backup for the
>>>> other; instead, the misconfiguration of either one causes
>>>> deliverability problems.  DMARC is damaged by requiring an
>>>> authentication situation that is unnecessary when things are properly
>>>> configured, and that is more fragile than what we've been using, more
>>>> susceptible to configuration errors than we've seen before.
>>>>
>>>> And I'm afraid that people will use it preferentially, *thinking* that
>>>> it provides better "security" -- surely, double authentication is
>>>> better than single, no?
>>>>
>>>> No.
>>>>
>>>> Barry
>>>>
>>>> On Tue, Jun 27, 2023 at 6:36 AM Alessandro Vesely <vesely@tana.it> wrote:
>>>>> On Mon 26/Jun/2023 20:13:53 +0200 Barry Leiba wrote:
>>>>>> I'm saying I don't want "and" to be an option, because I think it's
>>>>>> damaging to DMARC.  There is no reason anyone should ever want to say
>>>>>> that, and providing the option asks for misconfigurations because
>>>>>> people think it's somehow "more secure".  It's not more secure.  It
>>>>>> would be very bad for deliverability of legitimate mail and would
>>>>>> provide no additional security.  It would be a terrible mistake.
>>>>>
>>>>> I've been sporting spf-all for years, and seldom experienced bounces, mostly
>>>>> due to misconfigured secondary MXes.  Out of 39 domains whose posts to this
>>>>> list in the past year are still in my inbox, 14 have spf-all.  So, while I'm
>>>>> not the only one, not many published -all even though it may seem to be somehow
>>>>> more secure.
>>>>>
>>>>> I think it can be worth to compare SPF and DMARC.  Another sender policy a
>>>>> decade and an authentication method after.  What adoption, what hype.
>>>>>
>>>>> Both policies ask receivers to reject a domain identifier in some cases.  RFC
>>>>> 7208 explicitly suggests to consider whitelisting (Appendix D).  DMARC provides
>>>>> for overrides but is less clear about how to handle exceptions.  After SPF
>>>>> broke forwarding, the reaction was split between some changing identifier and
>>>>> turning to ~all; after DMARC broke mailing lists, between changing identifier
>>>>> and not altering messages.  In my limited experience, the ratio seems to be
>>>>> higher for DMARC than SPF, but I may be wrong.
>>>>>
>>>>> In theory, domains that currently have a strict DMARC policy and spf-all, 6 of
>>>>> the above, should have their messages blocked when either method fails, up to
>>>>> changing identifiers.  Why would it be so bad for deliverability to
>>>>> additionally require DMARC alignment, which is the difference between that and
>>>>> the "and"?
>>>>>
>>>>> And, it seems to me that an ESP not having a bloated SPF record could stop a
>>>>> good deal of DKIM replay by resorting to auth=dkim+spf.  Besides collateral
>>>>> deliverability problems, why wouldn't that work?
>>>>>
>>>>> Wht would "and" damage DMARC more than -all damaged SPF?
>>>>>
>>>>> I hope we can discuss detailed criticism rather than vague ostracism.
>>>>>
>>>>>
>>>>> Best
>>>>> Ale
>>>>> --
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>> _______________________________________________
>>>> dmarc mailing list
>>>> dmarc@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/dmarc
>> _______________________________________________
>> dmarc mailing list
>> dmarc@ietf.org
>> https://www.ietf.org/mailman/listinfo/dmarc