I was able to come up with steps to verify the build result as delivered by the 
package as well as adding a simple test with named to ensure it is not breaking 
by e.g. the key being in the future.
Thereby the associated MRs that are up for review now before upload into the 
Ubuntu SRU queue.

** Description changed:

  [ Impact ]
  
   * ICANN has generated the next DNSSEC root trust anchor, KSK-2024.
  
   * ICANN's current plan is that it will be required around 2026-10-11
     to 2027-01-11, but the sooner it's updated, the more unmaintained
     installations will have it when the time comes.
   * 
https://lists.dns-oarc.net/pipermail/dns-operations/2024-November/022711.html
  
   * On one hand it is "only" annoyance as e.g. named uses them as
     hints and will on start check those hints and spam you
     warnings to the logs.
  
   * On the other hand this will break. Mid term the old addresses
     will stop to work (by 2026/2027) that is the strong
     deadline until this should be updated everywhere.
+    Read more about the general key rollover policy at
+    https://www.iana.org/dnssec/files
+    In regard to that Ubuntu falls into this category:
+ 
+ "Validators should keep this data up-to-date. Consider the following:
+  ...
+ Software vendors often package and distribute up-to-date trust anchors 
through their regular software update mechanisms."
+ 
  
  [ Test Plan ]
  
   * In the past on updates the self check on hints of named
     were quite useful here when it was updating to the new
     keys (see bug 2045297). But this time we are not so very
     late (which is good) and thereby that simple test does not
     work yet (not so good).
  
- TODO - we can likely only compare against the upstream checksums this time 
then?
- TODO - maybe use the readout tool against the content from upstream and 
verify it's content matches
- TODO - while the named check and fetch will not serve as a verification, it 
still is something we want to ensure is still working after the update
+  * Still as a regression test against those keys being installed
+    a valid check is to install bind9 and check named's status with
+    the new vs the old keys.
+ 
+    $ apt install bind9;
+    $ systemctl restart named;
+    # takes a while to fully start
+    $ sleep 20s;
+    $ systemctl status named --lines 80 --no-pager
+ 
+   Run the above as-is and then again with the updated dns-root-data
+ package.
+ 
+ Important should be:
+ 1. no weird behavior with the updated keys, compare to the old
+ 2. Named is happy, check for those two
+   status
+     Active: active (running)
+   log
+     Nov 25 09:06:54 f named[13139]: all zones loaded
+     Nov 25 09:06:54 f named[13139]: running
+ 
+ 
+  * This is adding the new KSK-2024 key, not removing the old. So one more
+    thing that is worth to check is that the key and delegation signer
+    contained in
+      $ cat /usr/share/dns/root.key
+      $ cat /usr/share/dns/root.ds
+    are still present after the upgrade. There should be a new second key
+    now. Please mind that the new tooling does generate .ds better and
+    might switch characters to upper-case as usual in key display.
+ 
+ 
+  * Since the keys are not yet fully active, it won't do an auto-refresh
+    using them that we can check for. Instead we need to compare what
+    the update delivered against what IANA publishes. To do that you'd
+    compare that added second key. It was already generated the official
+    way at build time, so not doing the very same again. Instead let us
+    doing that in a few ways for extra confidence.
+ 
+    First:
+     Compare that second key with the post on [1]. Other than some
+     spacing due to the way displayed it should match that.
+ 
+    Second:
+     Compare he pkg content to the published data by IANA (see 
+     https://www.iana.org/dnssec/files fo rmore).
+      # fetch published keys and signature
+      $ wget https://data.iana.org/root-anchors/root-anchors.xml \
+           https://data.iana.org/root-anchors/root-anchors.p7s \
+           https://data.iana.org/root-anchors/icannbundle.pem
+      # verify against the signature
+      $ openssl smime -verify -CAfile icannbundle.pem -inform der -in 
root-anchors.p7s -content root-anchors.xml
+ <?xml version="1.0" encoding="UTF-8"?>
+ <TrustAnchor id="0C05FDD6-422C-4910-8ED6-430ED15E11C2" 
source="http://data.iana.org/root-anchors/root-anchors.xml";>
+     <Zone>.</Zone>
+     <KeyDigest id="Kjqmt7v" validFrom="2010-07-15T00:00:00+00:00" 
validUntil="2019-01-11T00:00:00+00:00">
+         <KeyTag>19036</KeyTag>
+         <Algorithm>8</Algorithm>
+         <DigestType>2</DigestType>
+         
<Digest>49AAC11D7B6F6446702E54A1607371607A1A41855200FD2CE1CDDE32F24E8FB5</Digest>
+     </KeyDigest>
+     <KeyDigest id="Klajeyz" validFrom="2017-02-02T00:00:00+00:00">
+         <KeyTag>20326</KeyTag>
+         <Algorithm>8</Algorithm>
+         <DigestType>2</DigestType>
+         
<Digest>E06D44B80B8F1D39A95C0B0D7C65D08458E880409BBC683457104237C7F8EC8D</Digest>
+         
<PublicKey>AwEAAaz/tAm8yTn4Mfeh5eyI96WSVexTBAvkMgJzkKTOiW1vkIbzxeF3+/4RgWOq7HrxRixHlFlExOLAJr5emLvN7SWXgnLh4+B5xQlNVz8Og8kvArMtNROxVQuCaSnIDdD5LKyWbRd2n9WGe2R8PzgCmr3EgVLrjyBxWezF0jLHwVN8efS3rCj/EWgvIWgb9tarpVUDK/b58Da+sqqls3eNbuv7pr+eoZG+SrDK6nWeL3c6H5Apxz7LjVc1uTIdsIXxuOLYA4/ilBmSVIzuDWfdRUfhHdY6+cn8HFRm+2hM8AnXGXws9555KrUB5qihylGa8subX2Nn6UwNR1AkUTV74bU=</PublicKey>
+         <Flags>257</Flags>
+     </KeyDigest>
+     <KeyDigest id="Kmyv6jo" validFrom="2024-07-18T00:00:00+00:00">
+         <KeyTag>38696</KeyTag>
+         <Algorithm>8</Algorithm>
+         <DigestType>2</DigestType>
+         
<Digest>683D2D0ACB8C9B712A1948B27F741219298D0A450D612C483AF444A4C0FB2B16</Digest>
+         
<PublicKey>AwEAAa96jeuknZlaeSrvyAJj6ZHv28hhOKkx3rLGXVaC6rXTsDc449/cidltpkyGwCJNnOAlFNKF2jBosZBU5eeHspaQWOmOElZsjICMQMC3aeHbGiShvZsx4wMYSjH8e7Vrhbu6irwCzVBApESjbUdpWWmEnhathWu1jo+siFUiRAAxm9qyJNg/wOZqqzL/dL/q8PkcRU5oUKEpUge71M3ej2/7CPqpdVwuMoTvoB+ZOT4YeGyxMvHmbrxlFzGOHOijtzN+u1TQNatX2XBuzZNQ1K+s2CXkPIZo7s6JgZyvaBevYtxPvYLw4z9mR7K2vaF18UYH9Z9GNUUeayffKC73PYc=</PublicKey>
+         <Flags>257</Flags>
+     </KeyDigest>
+ </TrustAnchor>
+ Verification successful
+      # Once trusted, check that the key, ds and tag matches what
+      # the new version of dns-root-data installed
+      $ apt install xmlstarlet
+      # ensure the new KSK-2024 key is in there
+      $ grep $(xmlstarlet sel -t -v "//KeyDigest[@id='Kmyv6jo']/PublicKey" 
root-anchors.xml) /usr/share/dns/root.key
+      $ grep $(xmlstarlet sel -t -v "//KeyDigest[@id='Kmyv6jo']/Digest" 
root-anchors.xml) /usr/share/dns/root.ds
+      # ensure we haven't lost the still active key
+      $ grep $(xmlstarlet sel -t -v "//KeyDigest[@id='Klajeyz']/PublicKey" 
root-anchors.xml) /usr/share/dns/root.key
+      $ grep $(xmlstarlet sel -t -v "//KeyDigest[@id='Klajeyz']/Digest" 
root-anchors.xml) /usr/share/dns/root.ds
+ 
+ Sorry for this a bit odd approach, but just re-doing what was already
+ done at build seemed not to provide a cross-check of any meaningful way.
+ 
+ 
+ [1]: 
https://lists.dns-oarc.net/pipermail/dns-operations/2024-November/022711.html
+ 
  
  [ Where problems could occur ]
  
   * This isn't code, purely a data file for services that need to know
     about dns root servers. Thereby there is no code in the package itself
     that would fail, but potential regressions would be in the dependencies.
     Those are (and we can more consciously look out for those):
  
  Reverse-Recommends
  ==================
  * dnsmasq-base [amd64 arm64 armhf ppc64el s390x]
  * dnsmasq-base-lua [amd64 arm64 armhf ppc64el s390x]
  * ldnsutils [amd64 arm64 armhf ppc64el s390x]
  * libbellesip2 [amd64 arm64 armhf ppc64el s390x]
  * unbound
  * unbound-host
  
  Reverse-Depends
  ===============
  * bind9
  * dnsviz
  * hash-slinger [amd64 arm64 armhf ppc64el s390x]
  * knot-resolver [amd64 arm64 armhf]
  * libgetdns10 [amd64 arm64 armhf ppc64el s390x]
  * libreswan [amd64 arm64 armhf ppc64el s390x]
  * opendkim [amd64 arm64 armhf ppc64el s390x]
  * pdns-recursor [amd64 arm64 ppc64el s390x]
  
   * At the same time I think we'd not need to do super advanced tests with
     custom setups of each of them. Those that are reverse dependencies and
     have tests (bind9, libreswan) will be ran by autopkgtest and given the
     change, that should IMHO be sufficient.
  
  [ Other Info ]
  
   * This is a native package and we are not doing anything special
     The same landed in Debian
     => https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1076995
  
-  * This is structurally a similar update to the past bug 2045297
+  * This is structurally a similar update to the past bug 2045297
  
   * Given that this is changing only data and that we likely need
     to expect updating this more or less regularly I appreciate to
-    get all the packaging improvements Debian made like improving
-    readme and updating the generation of the key from the verified
-    XML at build time to the new rfc.
-    Hence I'd (just like Debian did) go for a backport of the most
-    recent version, over just picking the key content.
+    get all the packaging improvements Debian made like improving
+    readme and updating the generation of the key from the verified
+    XML at build time to the new rfc.
+    Hence I'd (just like Debian did) go for a backport of the most
+    recent version, over just picking the key content.
     That is easier to review, easier to maintain, and as long
     as there are no build issues better to ensure all active
     releases are on the same state.
  
  --- original report ---
  
  ICANN has generated the next DNSSEC root trust anchor, KSK-2024.
  
  ICANN's current plan is that it will be required around 2026-10-11 -
  2027-01-11, but the sooner it's updated, the more unmaintained
  installations will have it when the time comes.
  
  <https://www.iana.org/dnssec/files>
  
  <https://lists.dns-oarc.net/pipermail/dns-
  operations/2024-November/022711.html>
  
  The corresponding Debian bug is <https://bugs.debian.org/cgi-
  bin/bugreport.cgi?bug=1076995>.
  
  (Some software can automatically update the trust anchor, as long as
  it's running and connected to the Internet often enough; some cannot.)

** Description changed:

  [ Impact ]
  
   * ICANN has generated the next DNSSEC root trust anchor, KSK-2024.
  
   * ICANN's current plan is that it will be required around 2026-10-11
     to 2027-01-11, but the sooner it's updated, the more unmaintained
     installations will have it when the time comes.
   * 
https://lists.dns-oarc.net/pipermail/dns-operations/2024-November/022711.html
  
   * On one hand it is "only" annoyance as e.g. named uses them as
     hints and will on start check those hints and spam you
     warnings to the logs.
  
   * On the other hand this will break. Mid term the old addresses
     will stop to work (by 2026/2027) that is the strong
     deadline until this should be updated everywhere.
-    Read more about the general key rollover policy at
-    https://www.iana.org/dnssec/files
-    In regard to that Ubuntu falls into this category:
+    Read more about the general key rollover policy at
+    https://www.iana.org/dnssec/files
+    In regard to that Ubuntu falls into this category:
  
  "Validators should keep this data up-to-date. Consider the following:
-  ...
+  ...
  Software vendors often package and distribute up-to-date trust anchors 
through their regular software update mechanisms."
- 
  
  [ Test Plan ]
  
   * In the past on updates the self check on hints of named
     were quite useful here when it was updating to the new
     keys (see bug 2045297). But this time we are not so very
     late (which is good) and thereby that simple test does not
     work yet (not so good).
  
-  * Still as a regression test against those keys being installed
-    a valid check is to install bind9 and check named's status with
-    the new vs the old keys.
+  * Still as a regression test against those keys being installed
+    a valid check is to install bind9 and check named's status with
+    the new vs the old keys.
  
-    $ apt install bind9;
-    $ systemctl restart named;
-    # takes a while to fully start
-    $ sleep 20s;
-    $ systemctl status named --lines 80 --no-pager
+    $ apt install bind9;
+    $ systemctl restart named;
+    # takes a while to fully start
+    $ sleep 20s;
+    $ systemctl status named --lines 80 --no-pager
  
-   Run the above as-is and then again with the updated dns-root-data
+   Run the above as-is and then again with the updated dns-root-data
  package.
  
  Important should be:
  1. no weird behavior with the updated keys, compare to the old
  2. Named is happy, check for those two
-   status
-     Active: active (running)
-   log
-     Nov 25 09:06:54 f named[13139]: all zones loaded
-     Nov 25 09:06:54 f named[13139]: running
+   status
+     Active: active (running)
+   log
+     Nov 25 09:06:54 f named[13139]: all zones loaded
+     Nov 25 09:06:54 f named[13139]: running
+ 
+  * This is adding the new KSK-2024 key, not removing the old. So one more
+    thing that is worth to check is that the key and delegation signer
+    contained in
+      $ cat /usr/share/dns/root.key
+      $ cat /usr/share/dns/root.ds
+    are still present after the upgrade. There should be a new second key
+    now. Please mind that the new tooling does generate .ds better and
+    might switch characters to upper-case as usual in key display.
+ 
+  * Since the keys are not yet fully active, it won't do an auto-refresh
+    using them that we can check for. Instead we need to compare what
+    the update delivered against what IANA publishes. To do that you'd
+    compare that added second key. It was already generated the official
+    way at build time, so not doing the very same again. Instead let us
+    doing that in a few ways for extra confidence.
+ 
+    First:
+     Compare that second key with the post on [1]. Other than some
+     spacing due to the way displayed it should match that.
+ 
+    Second:
+     Compare he pkg content to the published data by IANA (see
+     https://www.iana.org/dnssec/files fo rmore).
+      # fetch published keys and signature
+      $ wget https://data.iana.org/root-anchors/root-anchors.xml \
+           https://data.iana.org/root-anchors/root-anchors.p7s \
+           https://data.iana.org/root-anchors/icannbundle.pem
+      # verify against the signature
+      $ openssl smime -verify -CAfile icannbundle.pem -inform der -in 
root-anchors.p7s -content root-anchors.xml
+ <?xml version="1.0" encoding="UTF-8"?>
+ <TrustAnchor id="0C05FDD6-422C-4910-8ED6-430ED15E11C2" 
source="http://data.iana.org/root-anchors/root-anchors.xml";>
+     <Zone>.</Zone>
+     <KeyDigest id="Kjqmt7v" validFrom="2010-07-15T00:00:00+00:00" 
validUntil="2019-01-11T00:00:00+00:00">
+         <KeyTag>19036</KeyTag>
+         <Algorithm>8</Algorithm>
+         <DigestType>2</DigestType>
+         
<Digest>49AAC11D7B6F6446702E54A1607371607A1A41855200FD2CE1CDDE32F24E8FB5</Digest>
+     </KeyDigest>
+     <KeyDigest id="Klajeyz" validFrom="2017-02-02T00:00:00+00:00">
+         <KeyTag>20326</KeyTag>
+         <Algorithm>8</Algorithm>
+         <DigestType>2</DigestType>
+         
<Digest>E06D44B80B8F1D39A95C0B0D7C65D08458E880409BBC683457104237C7F8EC8D</Digest>
+         
<PublicKey>AwEAAaz/tAm8yTn4Mfeh5eyI96WSVexTBAvkMgJzkKTOiW1vkIbzxeF3+/4RgWOq7HrxRixHlFlExOLAJr5emLvN7SWXgnLh4+B5xQlNVz8Og8kvArMtNROxVQuCaSnIDdD5LKyWbRd2n9WGe2R8PzgCmr3EgVLrjyBxWezF0jLHwVN8efS3rCj/EWgvIWgb9tarpVUDK/b58Da+sqqls3eNbuv7pr+eoZG+SrDK6nWeL3c6H5Apxz7LjVc1uTIdsIXxuOLYA4/ilBmSVIzuDWfdRUfhHdY6+cn8HFRm+2hM8AnXGXws9555KrUB5qihylGa8subX2Nn6UwNR1AkUTV74bU=</PublicKey>
+         <Flags>257</Flags>
+     </KeyDigest>
+     <KeyDigest id="Kmyv6jo" validFrom="2024-07-18T00:00:00+00:00">
+         <KeyTag>38696</KeyTag>
+         <Algorithm>8</Algorithm>
+         <DigestType>2</DigestType>
+         
<Digest>683D2D0ACB8C9B712A1948B27F741219298D0A450D612C483AF444A4C0FB2B16</Digest>
+         
<PublicKey>AwEAAa96jeuknZlaeSrvyAJj6ZHv28hhOKkx3rLGXVaC6rXTsDc449/cidltpkyGwCJNnOAlFNKF2jBosZBU5eeHspaQWOmOElZsjICMQMC3aeHbGiShvZsx4wMYSjH8e7Vrhbu6irwCzVBApESjbUdpWWmEnhathWu1jo+siFUiRAAxm9qyJNg/wOZqqzL/dL/q8PkcRU5oUKEpUge71M3ej2/7CPqpdVwuMoTvoB+ZOT4YeGyxMvHmbrxlFzGOHOijtzN+u1TQNatX2XBuzZNQ1K+s2CXkPIZo7s6JgZyvaBevYtxPvYLw4z9mR7K2vaF18UYH9Z9GNUUeayffKC73PYc=</PublicKey>
+         <Flags>257</Flags>
+     </KeyDigest>
+ </TrustAnchor>
+ Verification successful
+      # Once trusted, check that the key, ds and tag matches what
+      # the new version of dns-root-data installed
+      $ apt install xmlstarlet
+      # ensure the new KSK-2024 key is in there
+      $ grep $(xmlstarlet sel -t -v "//KeyDigest[@id='Kmyv6jo']/PublicKey" 
root-anchors.xml) /usr/share/dns/root.key
+ . IN DNSKEY 257 3 8 
AwEAAa96jeuknZlaeSrvyAJj6ZHv28hhOKkx3rLGXVaC6rXTsDc449/cidltpkyGwCJNnOAlFNKF2jBosZBU5eeHspaQWOmOElZsjICMQMC3aeHbGiShvZsx4wMYSjH8e7Vrhbu6irwCzVBApESjbUdpWWmEnhathWu1jo+siFUiRAAxm9qyJNg/wOZqqzL/dL/q8PkcRU5oUKEpUge71M3ej2/7CPqpdVwuMoTvoB+ZOT4YeGyxMvHmbrxlFzGOHOijtzN+u1TQNatX2XBuzZNQ1K+s2CXkPIZo7s6JgZyvaBevYtxPvYLw4z9mR7K2vaF18UYH9Z9GNUUeayffKC73PYc=
 ; keytag 38696
+      $ grep $(xmlstarlet sel -t -v "//KeyDigest[@id='Kmyv6jo']/Digest" 
root-anchors.xml) /usr/share/dns/root.ds
+ . IN DS 38696 8 2 
683D2D0ACB8C9B712A1948B27F741219298D0A450D612C483AF444A4C0FB2B16
+      # ensure we haven't lost the still active key
+      $ grep $(xmlstarlet sel -t -v "//KeyDigest[@id='Klajeyz']/PublicKey" 
root-anchors.xml) /usr/share/dns/root.key
+ . IN DNSKEY 257 3 8 
AwEAAaz/tAm8yTn4Mfeh5eyI96WSVexTBAvkMgJzkKTOiW1vkIbzxeF3+/4RgWOq7HrxRixHlFlExOLAJr5emLvN7SWXgnLh4+B5xQlNVz8Og8kvArMtNROxVQuCaSnIDdD5LKyWbRd2n9WGe2R8PzgCmr3EgVLrjyBxWezF0jLHwVN8efS3rCj/EWgvIWgb9tarpVUDK/b58Da+sqqls3eNbuv7pr+eoZG+SrDK6nWeL3c6H5Apxz7LjVc1uTIdsIXxuOLYA4/ilBmSVIzuDWfdRUfhHdY6+cn8HFRm+2hM8AnXGXws9555KrUB5qihylGa8subX2Nn6UwNR1AkUTV74bU=
 ; keytag 20326
+      $ grep $(xmlstarlet sel -t -v "//KeyDigest[@id='Klajeyz']/Digest" 
root-anchors.xml) /usr/share/dns/root.ds
+ . IN DS 20326 8 2 
E06D44B80B8F1D39A95C0B0D7C65D08458E880409BBC683457104237C7F8EC8D
  
  
-  * This is adding the new KSK-2024 key, not removing the old. So one more
-    thing that is worth to check is that the key and delegation signer
-    contained in
-      $ cat /usr/share/dns/root.key
-      $ cat /usr/share/dns/root.ds
-    are still present after the upgrade. There should be a new second key
-    now. Please mind that the new tooling does generate .ds better and
-    might switch characters to upper-case as usual in key display.
+ Sorry for this a bit odd approach, but just re-doing what was already done at 
build seemed not to provide a cross-check of any meaningful way.
  
- 
-  * Since the keys are not yet fully active, it won't do an auto-refresh
-    using them that we can check for. Instead we need to compare what
-    the update delivered against what IANA publishes. To do that you'd
-    compare that added second key. It was already generated the official
-    way at build time, so not doing the very same again. Instead let us
-    doing that in a few ways for extra confidence.
- 
-    First:
-     Compare that second key with the post on [1]. Other than some
-     spacing due to the way displayed it should match that.
- 
-    Second:
-     Compare he pkg content to the published data by IANA (see 
-     https://www.iana.org/dnssec/files fo rmore).
-      # fetch published keys and signature
-      $ wget https://data.iana.org/root-anchors/root-anchors.xml \
-           https://data.iana.org/root-anchors/root-anchors.p7s \
-           https://data.iana.org/root-anchors/icannbundle.pem
-      # verify against the signature
-      $ openssl smime -verify -CAfile icannbundle.pem -inform der -in 
root-anchors.p7s -content root-anchors.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <TrustAnchor id="0C05FDD6-422C-4910-8ED6-430ED15E11C2" 
source="http://data.iana.org/root-anchors/root-anchors.xml";>
-     <Zone>.</Zone>
-     <KeyDigest id="Kjqmt7v" validFrom="2010-07-15T00:00:00+00:00" 
validUntil="2019-01-11T00:00:00+00:00">
-         <KeyTag>19036</KeyTag>
-         <Algorithm>8</Algorithm>
-         <DigestType>2</DigestType>
-         
<Digest>49AAC11D7B6F6446702E54A1607371607A1A41855200FD2CE1CDDE32F24E8FB5</Digest>
-     </KeyDigest>
-     <KeyDigest id="Klajeyz" validFrom="2017-02-02T00:00:00+00:00">
-         <KeyTag>20326</KeyTag>
-         <Algorithm>8</Algorithm>
-         <DigestType>2</DigestType>
-         
<Digest>E06D44B80B8F1D39A95C0B0D7C65D08458E880409BBC683457104237C7F8EC8D</Digest>
-         
<PublicKey>AwEAAaz/tAm8yTn4Mfeh5eyI96WSVexTBAvkMgJzkKTOiW1vkIbzxeF3+/4RgWOq7HrxRixHlFlExOLAJr5emLvN7SWXgnLh4+B5xQlNVz8Og8kvArMtNROxVQuCaSnIDdD5LKyWbRd2n9WGe2R8PzgCmr3EgVLrjyBxWezF0jLHwVN8efS3rCj/EWgvIWgb9tarpVUDK/b58Da+sqqls3eNbuv7pr+eoZG+SrDK6nWeL3c6H5Apxz7LjVc1uTIdsIXxuOLYA4/ilBmSVIzuDWfdRUfhHdY6+cn8HFRm+2hM8AnXGXws9555KrUB5qihylGa8subX2Nn6UwNR1AkUTV74bU=</PublicKey>
-         <Flags>257</Flags>
-     </KeyDigest>
-     <KeyDigest id="Kmyv6jo" validFrom="2024-07-18T00:00:00+00:00">
-         <KeyTag>38696</KeyTag>
-         <Algorithm>8</Algorithm>
-         <DigestType>2</DigestType>
-         
<Digest>683D2D0ACB8C9B712A1948B27F741219298D0A450D612C483AF444A4C0FB2B16</Digest>
-         
<PublicKey>AwEAAa96jeuknZlaeSrvyAJj6ZHv28hhOKkx3rLGXVaC6rXTsDc449/cidltpkyGwCJNnOAlFNKF2jBosZBU5eeHspaQWOmOElZsjICMQMC3aeHbGiShvZsx4wMYSjH8e7Vrhbu6irwCzVBApESjbUdpWWmEnhathWu1jo+siFUiRAAxm9qyJNg/wOZqqzL/dL/q8PkcRU5oUKEpUge71M3ej2/7CPqpdVwuMoTvoB+ZOT4YeGyxMvHmbrxlFzGOHOijtzN+u1TQNatX2XBuzZNQ1K+s2CXkPIZo7s6JgZyvaBevYtxPvYLw4z9mR7K2vaF18UYH9Z9GNUUeayffKC73PYc=</PublicKey>
-         <Flags>257</Flags>
-     </KeyDigest>
- </TrustAnchor>
- Verification successful
-      # Once trusted, check that the key, ds and tag matches what
-      # the new version of dns-root-data installed
-      $ apt install xmlstarlet
-      # ensure the new KSK-2024 key is in there
-      $ grep $(xmlstarlet sel -t -v "//KeyDigest[@id='Kmyv6jo']/PublicKey" 
root-anchors.xml) /usr/share/dns/root.key
-      $ grep $(xmlstarlet sel -t -v "//KeyDigest[@id='Kmyv6jo']/Digest" 
root-anchors.xml) /usr/share/dns/root.ds
-      # ensure we haven't lost the still active key
-      $ grep $(xmlstarlet sel -t -v "//KeyDigest[@id='Klajeyz']/PublicKey" 
root-anchors.xml) /usr/share/dns/root.key
-      $ grep $(xmlstarlet sel -t -v "//KeyDigest[@id='Klajeyz']/Digest" 
root-anchors.xml) /usr/share/dns/root.ds
- 
- Sorry for this a bit odd approach, but just re-doing what was already
- done at build seemed not to provide a cross-check of any meaningful way.
- 
- 
- [1]: 
https://lists.dns-oarc.net/pipermail/dns-operations/2024-November/022711.html
- 
+ [1]: https://lists.dns-oarc.net/pipermail/dns-
+ operations/2024-November/022711.html
  
  [ Where problems could occur ]
  
   * This isn't code, purely a data file for services that need to know
     about dns root servers. Thereby there is no code in the package itself
     that would fail, but potential regressions would be in the dependencies.
     Those are (and we can more consciously look out for those):
  
  Reverse-Recommends
  ==================
  * dnsmasq-base [amd64 arm64 armhf ppc64el s390x]
  * dnsmasq-base-lua [amd64 arm64 armhf ppc64el s390x]
  * ldnsutils [amd64 arm64 armhf ppc64el s390x]
  * libbellesip2 [amd64 arm64 armhf ppc64el s390x]
  * unbound
  * unbound-host
  
  Reverse-Depends
  ===============
  * bind9
  * dnsviz
  * hash-slinger [amd64 arm64 armhf ppc64el s390x]
  * knot-resolver [amd64 arm64 armhf]
  * libgetdns10 [amd64 arm64 armhf ppc64el s390x]
  * libreswan [amd64 arm64 armhf ppc64el s390x]
  * opendkim [amd64 arm64 armhf ppc64el s390x]
  * pdns-recursor [amd64 arm64 ppc64el s390x]
  
   * At the same time I think we'd not need to do super advanced tests with
     custom setups of each of them. Those that are reverse dependencies and
     have tests (bind9, libreswan) will be ran by autopkgtest and given the
     change, that should IMHO be sufficient.
  
  [ Other Info ]
  
   * This is a native package and we are not doing anything special
     The same landed in Debian
     => https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1076995
  
   * This is structurally a similar update to the past bug 2045297
  
   * Given that this is changing only data and that we likely need
     to expect updating this more or less regularly I appreciate to
     get all the packaging improvements Debian made like improving
     readme and updating the generation of the key from the verified
     XML at build time to the new rfc.
     Hence I'd (just like Debian did) go for a backport of the most
     recent version, over just picking the key content.
     That is easier to review, easier to maintain, and as long
     as there are no build issues better to ensure all active
     releases are on the same state.
  
  --- original report ---
  
  ICANN has generated the next DNSSEC root trust anchor, KSK-2024.
  
  ICANN's current plan is that it will be required around 2026-10-11 -
  2027-01-11, but the sooner it's updated, the more unmaintained
  installations will have it when the time comes.
  
  <https://www.iana.org/dnssec/files>
  
  <https://lists.dns-oarc.net/pipermail/dns-
  operations/2024-November/022711.html>
  
  The corresponding Debian bug is <https://bugs.debian.org/cgi-
  bin/bugreport.cgi?bug=1076995>.
  
  (Some software can automatically update the trust anchor, as long as
  it's running and connected to the Internet often enough; some cannot.)

** Description changed:

  [ Impact ]
  
   * ICANN has generated the next DNSSEC root trust anchor, KSK-2024.
  
   * ICANN's current plan is that it will be required around 2026-10-11
     to 2027-01-11, but the sooner it's updated, the more unmaintained
     installations will have it when the time comes.
   * 
https://lists.dns-oarc.net/pipermail/dns-operations/2024-November/022711.html
  
   * On one hand it is "only" annoyance as e.g. named uses them as
     hints and will on start check those hints and spam you
     warnings to the logs.
  
   * On the other hand this will break. Mid term the old addresses
     will stop to work (by 2026/2027) that is the strong
     deadline until this should be updated everywhere.
     Read more about the general key rollover policy at
     https://www.iana.org/dnssec/files
     In regard to that Ubuntu falls into this category:
  
  "Validators should keep this data up-to-date. Consider the following:
   ...
  Software vendors often package and distribute up-to-date trust anchors 
through their regular software update mechanisms."
  
  [ Test Plan ]
  
   * In the past on updates the self check on hints of named
     were quite useful here when it was updating to the new
     keys (see bug 2045297). But this time we are not so very
     late (which is good) and thereby that simple test does not
     work yet (not so good).
  
   * Still as a regression test against those keys being installed
     a valid check is to install bind9 and check named's status with
     the new vs the old keys.
  
     $ apt install bind9;
     $ systemctl restart named;
     # takes a while to fully start
     $ sleep 20s;
     $ systemctl status named --lines 80 --no-pager
  
    Run the above as-is and then again with the updated dns-root-data
  package.
  
  Important should be:
  1. no weird behavior with the updated keys, compare to the old
  2. Named is happy, check for those two
    status
      Active: active (running)
    log
      Nov 25 09:06:54 f named[13139]: all zones loaded
      Nov 25 09:06:54 f named[13139]: running
  
   * This is adding the new KSK-2024 key, not removing the old. So one more
     thing that is worth to check is that the key and delegation signer
     contained in
       $ cat /usr/share/dns/root.key
       $ cat /usr/share/dns/root.ds
     are still present after the upgrade. There should be a new second key
     now. Please mind that the new tooling does generate .ds better and
     might switch characters to upper-case as usual in key display.
  
   * Since the keys are not yet fully active, it won't do an auto-refresh
     using them that we can check for. Instead we need to compare what
     the update delivered against what IANA publishes. To do that you'd
     compare that added second key. It was already generated the official
     way at build time, so not doing the very same again. Instead let us
     doing that in a few ways for extra confidence.
  
     First:
      Compare that second key with the post on [1]. Other than some
      spacing due to the way displayed it should match that.
  
     Second:
      Compare he pkg content to the published data by IANA (see
      https://www.iana.org/dnssec/files fo rmore).
       # fetch published keys and signature
       $ wget https://data.iana.org/root-anchors/root-anchors.xml \
            https://data.iana.org/root-anchors/root-anchors.p7s \
            https://data.iana.org/root-anchors/icannbundle.pem
       # verify against the signature
       $ openssl smime -verify -CAfile icannbundle.pem -inform der -in 
root-anchors.p7s -content root-anchors.xml
  <?xml version="1.0" encoding="UTF-8"?>
  <TrustAnchor id="0C05FDD6-422C-4910-8ED6-430ED15E11C2" 
source="http://data.iana.org/root-anchors/root-anchors.xml";>
      <Zone>.</Zone>
      <KeyDigest id="Kjqmt7v" validFrom="2010-07-15T00:00:00+00:00" 
validUntil="2019-01-11T00:00:00+00:00">
          <KeyTag>19036</KeyTag>
          <Algorithm>8</Algorithm>
          <DigestType>2</DigestType>
          
<Digest>49AAC11D7B6F6446702E54A1607371607A1A41855200FD2CE1CDDE32F24E8FB5</Digest>
      </KeyDigest>
      <KeyDigest id="Klajeyz" validFrom="2017-02-02T00:00:00+00:00">
          <KeyTag>20326</KeyTag>
          <Algorithm>8</Algorithm>
          <DigestType>2</DigestType>
          
<Digest>E06D44B80B8F1D39A95C0B0D7C65D08458E880409BBC683457104237C7F8EC8D</Digest>
          
<PublicKey>AwEAAaz/tAm8yTn4Mfeh5eyI96WSVexTBAvkMgJzkKTOiW1vkIbzxeF3+/4RgWOq7HrxRixHlFlExOLAJr5emLvN7SWXgnLh4+B5xQlNVz8Og8kvArMtNROxVQuCaSnIDdD5LKyWbRd2n9WGe2R8PzgCmr3EgVLrjyBxWezF0jLHwVN8efS3rCj/EWgvIWgb9tarpVUDK/b58Da+sqqls3eNbuv7pr+eoZG+SrDK6nWeL3c6H5Apxz7LjVc1uTIdsIXxuOLYA4/ilBmSVIzuDWfdRUfhHdY6+cn8HFRm+2hM8AnXGXws9555KrUB5qihylGa8subX2Nn6UwNR1AkUTV74bU=</PublicKey>
          <Flags>257</Flags>
      </KeyDigest>
      <KeyDigest id="Kmyv6jo" validFrom="2024-07-18T00:00:00+00:00">
          <KeyTag>38696</KeyTag>
          <Algorithm>8</Algorithm>
          <DigestType>2</DigestType>
          
<Digest>683D2D0ACB8C9B712A1948B27F741219298D0A450D612C483AF444A4C0FB2B16</Digest>
          
<PublicKey>AwEAAa96jeuknZlaeSrvyAJj6ZHv28hhOKkx3rLGXVaC6rXTsDc449/cidltpkyGwCJNnOAlFNKF2jBosZBU5eeHspaQWOmOElZsjICMQMC3aeHbGiShvZsx4wMYSjH8e7Vrhbu6irwCzVBApESjbUdpWWmEnhathWu1jo+siFUiRAAxm9qyJNg/wOZqqzL/dL/q8PkcRU5oUKEpUge71M3ej2/7CPqpdVwuMoTvoB+ZOT4YeGyxMvHmbrxlFzGOHOijtzN+u1TQNatX2XBuzZNQ1K+s2CXkPIZo7s6JgZyvaBevYtxPvYLw4z9mR7K2vaF18UYH9Z9GNUUeayffKC73PYc=</PublicKey>
          <Flags>257</Flags>
      </KeyDigest>
  </TrustAnchor>
  Verification successful
       # Once trusted, check that the key, ds and tag matches what
       # the new version of dns-root-data installed
       $ apt install xmlstarlet
       # ensure the new KSK-2024 key is in there
       $ grep $(xmlstarlet sel -t -v "//KeyDigest[@id='Kmyv6jo']/PublicKey" 
root-anchors.xml) /usr/share/dns/root.key
  . IN DNSKEY 257 3 8 
AwEAAa96jeuknZlaeSrvyAJj6ZHv28hhOKkx3rLGXVaC6rXTsDc449/cidltpkyGwCJNnOAlFNKF2jBosZBU5eeHspaQWOmOElZsjICMQMC3aeHbGiShvZsx4wMYSjH8e7Vrhbu6irwCzVBApESjbUdpWWmEnhathWu1jo+siFUiRAAxm9qyJNg/wOZqqzL/dL/q8PkcRU5oUKEpUge71M3ej2/7CPqpdVwuMoTvoB+ZOT4YeGyxMvHmbrxlFzGOHOijtzN+u1TQNatX2XBuzZNQ1K+s2CXkPIZo7s6JgZyvaBevYtxPvYLw4z9mR7K2vaF18UYH9Z9GNUUeayffKC73PYc=
 ; keytag 38696
       $ grep $(xmlstarlet sel -t -v "//KeyDigest[@id='Kmyv6jo']/Digest" 
root-anchors.xml) /usr/share/dns/root.ds
  . IN DS 38696 8 2 
683D2D0ACB8C9B712A1948B27F741219298D0A450D612C483AF444A4C0FB2B16
       # ensure we haven't lost the still active key
       $ grep $(xmlstarlet sel -t -v "//KeyDigest[@id='Klajeyz']/PublicKey" 
root-anchors.xml) /usr/share/dns/root.key
  . IN DNSKEY 257 3 8 
AwEAAaz/tAm8yTn4Mfeh5eyI96WSVexTBAvkMgJzkKTOiW1vkIbzxeF3+/4RgWOq7HrxRixHlFlExOLAJr5emLvN7SWXgnLh4+B5xQlNVz8Og8kvArMtNROxVQuCaSnIDdD5LKyWbRd2n9WGe2R8PzgCmr3EgVLrjyBxWezF0jLHwVN8efS3rCj/EWgvIWgb9tarpVUDK/b58Da+sqqls3eNbuv7pr+eoZG+SrDK6nWeL3c6H5Apxz7LjVc1uTIdsIXxuOLYA4/ilBmSVIzuDWfdRUfhHdY6+cn8HFRm+2hM8AnXGXws9555KrUB5qihylGa8subX2Nn6UwNR1AkUTV74bU=
 ; keytag 20326
       $ grep $(xmlstarlet sel -t -v "//KeyDigest[@id='Klajeyz']/Digest" 
root-anchors.xml) /usr/share/dns/root.ds
  . IN DS 20326 8 2 
E06D44B80B8F1D39A95C0B0D7C65D08458E880409BBC683457104237C7F8EC8D
  
- 
- Sorry for this a bit odd approach, but just re-doing what was already done at 
build seemed not to provide a cross-check of any meaningful way.
+ Sorry for this a bit odd approach, but just re-doing what was already
+ done at build seemed not to provide a cross-check of any meaningful way.
  
  [1]: https://lists.dns-oarc.net/pipermail/dns-
  operations/2024-November/022711.html
  
  [ Where problems could occur ]
  
   * This isn't code, purely a data file for services that need to know
     about dns root servers. Thereby there is no code in the package itself
     that would fail, but potential regressions would be in the dependencies.
     Those are (and we can more consciously look out for those):
  
  Reverse-Recommends
  ==================
  * dnsmasq-base [amd64 arm64 armhf ppc64el s390x]
  * dnsmasq-base-lua [amd64 arm64 armhf ppc64el s390x]
  * ldnsutils [amd64 arm64 armhf ppc64el s390x]
  * libbellesip2 [amd64 arm64 armhf ppc64el s390x]
  * unbound
  * unbound-host
  
  Reverse-Depends
  ===============
  * bind9
  * dnsviz
  * hash-slinger [amd64 arm64 armhf ppc64el s390x]
  * knot-resolver [amd64 arm64 armhf]
  * libgetdns10 [amd64 arm64 armhf ppc64el s390x]
  * libreswan [amd64 arm64 armhf ppc64el s390x]
  * opendkim [amd64 arm64 armhf ppc64el s390x]
  * pdns-recursor [amd64 arm64 ppc64el s390x]
  
   * At the same time I think we'd not need to do super advanced tests with
     custom setups of each of them. Those that are reverse dependencies and
     have tests (bind9, libreswan) will be ran by autopkgtest and given the
     change, that should IMHO be sufficient.
  
+  * This is following one change in Debian which SRU thoughts might decide
+    otherwise about. root.hints.sig is no more shipped since 2024041802.
+    For noble/jammy/focal that means the file is no more around after the
+    update. I think this is fine as its use-case really is negelgible,
+    and having them consistent across releases has benefits for admins
+    and further maintenance. Yet If you disagree let me know and I can
+    see if we can re-generate that from the upstream content as well.
+ 
+ 
  [ Other Info ]
  
   * This is a native package and we are not doing anything special
     The same landed in Debian
     => https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1076995
  
   * This is structurally a similar update to the past bug 2045297
  
   * Given that this is changing only data and that we likely need
     to expect updating this more or less regularly I appreciate to
     get all the packaging improvements Debian made like improving
     readme and updating the generation of the key from the verified
     XML at build time to the new rfc.
     Hence I'd (just like Debian did) go for a backport of the most
     recent version, over just picking the key content.
     That is easier to review, easier to maintain, and as long
     as there are no build issues better to ensure all active
     releases are on the same state.
  
  --- original report ---
  
  ICANN has generated the next DNSSEC root trust anchor, KSK-2024.
  
  ICANN's current plan is that it will be required around 2026-10-11 -
  2027-01-11, but the sooner it's updated, the more unmaintained
  installations will have it when the time comes.
  
  <https://www.iana.org/dnssec/files>
  
  <https://lists.dns-oarc.net/pipermail/dns-
  operations/2024-November/022711.html>
  
  The corresponding Debian bug is <https://bugs.debian.org/cgi-
  bin/bugreport.cgi?bug=1076995>.
  
  (Some software can automatically update the trust anchor, as long as
  it's running and connected to the Internet often enough; some cannot.)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2086795

Title:
  New DNSSEC root trust anchor

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/dns-root-data/+bug/2086795/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to