Re: F41 Change Proposal: Make OpenSSL distrust SHA-1 signatures by default (system-wide)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Björn,


> On 9. Jun 2024, at 00:37, Björn Persson <Bjorn@xxxxxxxxxxxxxxxxxxxx> wrote:
> 
> Validating DNS resolvers are still required to be able to validate
> signatures made with SHA-1. RFC 8624 is still current as far as I can
> tell:
> 
> https://www.rfc-editor.org/rfc/rfc8624#section-3.1
> https://www.rfc-editor.org/rfc/rfc8624#section-3.3

That’s correct. There is some movement at the IETF, though. See [1] and thread. I’d also like to specifically point to [2], which I think sums up the discussion nicely. DNSSEC is a holdout, it feels like almost everybody else has moved by now to address the insecurity of SHA-1 in signatures. As you’ll also notice from the thread, there are a few voices that feel like we should not yet deprecate SHA-1 while it has not been completely broken.

There have been publications that say that DNSSEC is actually affected today if control over a zone is (even just partially) shared, see [3].

Personally, I don’t believe in waiting until the cat’s out of the bag if it will be in the foreseeable future. I’m quoting Leurent and Peyrin, who wrote the SHA-1 is a Shambles paper [4] in 2020: "Since our attack on SHA-1 has pratical [sic] implications, in order to make sure proper countermeasures have been pushed we will wait for some time before releasing source code that allows to generate SHA-1 chosen-prefix collisions.” [5] I believe hoping that Leurent and Peyrin will continue to sit on their code for another 5 years isn’t a good strategy (remember, the paper is from 2020(!)). I’m hoping the DNSSEC community will realize this soon.

[1]: https://mailarchive.ietf.org/arch/msg/dnsop/gp7caSkWA9ureUStNuXtCpGmGss/
[2]: https://mailarchive.ietf.org/arch/msg/dnsop/XopFnthm0nFWrJ_z1tJYUoBwxrU/
[3]: https://blog.apnic.net/2020/01/17/sha-1-chosen-prefix-collisions-and-dnssec/
[4]: https://eprint.iacr.org/2020/014.pdf
[5]: https://sha-mbles.github.io/



> There have been reports of SHA-1 disablement causing name resolution
> problems. Here's one example:
> 
> https://lists.isc.org/pipermail/bind-users/2023-December/108182.html
> 
> […]
> 
> Before voting on this proposal, Fesco should be informed of what will
> happen in Bind, Unbound and SystemD-ResolveD when users try to look up a
> domain that is signed with SHA-1.

To my knowledge, DNS resolvers in RHEL and their upstreams have been adjusted to handle this, since RHEL 9 shipped with this configuration.

Are there DNS resolvers in Fedora that aren’t in RHEL?


> Will SHA-1 signatures be treated as invalid signatures, causing the
> resolver to return SERVFAIL? That will violate RFC 8624 and make users
> scramble for quick workarounds. Many will apply far too big hammers,
> such as disabling DNSsec validation entirely or switching their whole
> system to the LEGACY policy just to be able to resolve a domain name
> signed with SHA-1. In this case it should be announced far and wide how
> users can unbreak DNS without weakening the security of the rest of
> their system. Otherwise this change could easily do more harm than good.

As far as I’m aware, the patches caused DNS resolvers to simply treat those zones as if they were unsigned.


> It seems to me that the following would be the best way to distrust
> SHA-1 in DNSsec:
> 
> 1: If a valid chain of trust can be established where strong algorithms
> are used throughout, then return the records to the client with the AD
> bit set, per the standard, indicating that the data are authentic.
> 
> 2: If there should be signatures, but no valid chain of trust can be
> established because records are missing or signatures fail to verify,
> then assume it's an attack and return SERVFAIL per the standard.
> 
> 3: If one or more valid chains of trust are found, but they all involve
> SHA-1 somewhere, then return the records to the client with the AD bit
> zeroed, indicating that no attack was detected but the data should not
> be trusted any more than an unsigned domain.
> 
> To be able to distinguish between cases 2 and 3, the resolver must
> remain able to verify SHA-1 signatures.

DNS resolvers can write code to do this. This proposal does not completely remove support for SHA-1 in signatures, it just disables it by default. Non-standard OpenSSL configurations can still verify SHA-1 signatures.


Hopefully the DNSSEC community will start discussions on what to do about post-quantum cryptographic signature algorithms soon, otherwise we’ll end up having the same discussion again in 10 years, when TLS and many other common protocols have moved.


-- 
Clemens Lang
RHEL Crypto Team
Red Hat


--
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux