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]

 



> == Summary ==
> OpenSSL will no longer trust cryptographic signatures using SHA-1 by
> default, starting from Fedora 41.

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

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

Here's a crappy program that can show some statistics but won't let me
link directly to the relevant table:

https://stats.dnssec-tools.org/

It shows about 140000 SHA-1-signed domains. That's only 6‰ of the signed
domains, but still a rather large absolute number.

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.

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.

Will DNSsec validation be skipped whenever an algorithm number for SHA-1
is encountered? That will make the resolver vulnerable to downgrade
attacks. An attacker can then disable DNSsec by sending manipulated
responses indicating for example RSA/SHA-1 for records that are actually
signed with RSA/SHA-256.

If that were implemented relatively well, it might only introduce a
vulnerability when a domain is signed both with SHA-1 and a stronger
algorithm. If implemented badly, it could allow DNS cache poisoning to
succeed even for domains signed only with strong algorithms. Here's a
paper that discusses such vulnerabilities found in popular resolvers:

https://arxiv.org/pdf/2205.10608v1.pdf

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.

Björn Persson

Attachment: pgpxcFgQj2aer.pgp
Description: OpenPGP digital signatur

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