Subject: [DNSOP] DNSSEC validation

From: "Djibril ROBLE" <[email-masked]>
Date: Thu, 20 Sep 2018 10:34:06 +0300

Hi, 

I am an administrator of DNS resolvers to Djibouti Telecom.

I updated the root key to our DNS resolvers servers. Is there a way to tell if DNSSEC is using the last trusted anchor ( Update on the Root KSK Rollover Project) ?
 
# dig @127.0.0.1 dnssec-failed.org a +dnssec

Link:  https://www.icann.org/dns-resolvers-checking-current-trust-anchors 

Thank you for your answer. 

Coordialement 

Djibril ROBLE 

De : dns-operations [mailto:[email-masked]] De la part de Warren Kumari
Envoyé : vendredi 7 septembre 2018 21:38
À : Steve Crocker
Cc : dnsop; dns-operations
Objet : Re: [dns-operations] [DNSOP] DNSSEC threshold signatures idea

On Thu, Sep 6, 2018 at 2:15 PM Steve Crocker <[email-masked]> wrote:

I've been thinking about a version of this problem for several years.  Attached are a short paper and presentation on the topic of a tamperproof root zone update system.  The ideas are also applicable to other levels in the DNS tree.

In parallel, there is work on open source hardware crypto that can easily be extended to include this functionality.

Yup. Two of my concerns are:

1: the HSM has to have a bunch more complexity / content awareness than is usual - most HSMs simply take a blob and sign it / store keys. This will require the HSM to have much more understanding of the content, and understand who the "owner" of each RR is, NSEC / NSEC3 , etc. This logic all needs to live inside the security envelope, not in the system driving it. Any "interesting" new resource record types will require updating of the secure logic. This will be largely a one-off bit of code, and will require careful code review of the initial, and any new code (and based upon the amount of review of https://github.com/iana-org/dnssec-keytools I'm not sure the community has the time / desire). Any scewup by the HSM makes 1: that TLD or 2: the entire zone unavailable. 

2: Based upon things like https://ianix.com/pub/dnssec-outages.html, it is clear that even TLD operators sometimes manage to shoot themselves in the foot. Yes, the majority of these are expirations, but it is clear that people will mess this up. The root KSK is well protected, with people being really careful, but even that has some risk - multiply that by the number of TLDs (or opted in TLDs) and the risks multiply. This means that you really really need a fast, reliable way to regain access in the event of an Oops... and now you have what looks awfully like a backdoor. 

There are some important governance and process details alluded to but not fleshed out in the paper..  Happy to discuss with anyone interested.

Thank you, happy to discuss further, but the above concerns are why I think (at least at the beginning) why something similar to Certificate Transparency but for the root zone is much safer - yes, it provides deterrence through transparency instead of inviolate crypro protection - but this same reason prevents a minor mistake turning into a major outage.

This is a summary of a document from back in ~2015 (before the PTI transition, and so the terminology / focus is historic):

------------------------

*Sunlight is the best disinfectant.*

Currently, the entity that generates the root zone has full control over the contents. While this is not a new issue or concern, it is being brought to the public eye because of the IANA transition. To ensure that that entity doesn’t abuse the power/privilege, or make incorrect or unauthorized changes, we propose the following.

Transparency and accountability are both fundamental to the safe and successful management of IANA, regardless of under whose management IANA sits. To that end, we propose a publicly verifiable, published audit trail for any and all changes to the root zone. No invisible/unaudited changes will be able to be made to the root zone by any party. The entity generating the root zone has full control over what ends up in the file; in order to ensure that there are no abuses of this power, any and all changes to the root zone would require a full audit trail.

To implement this technically, each TLD operator will cryptographically sign and publicly publish any requested updates to their entries in the root zone. No changes will be made to the root zone without accompanying signatures. The entity generating the root zone will validate all signatures before making the changes. Because all of this will be public, auditors will be able to see from whom the request originated, how it was validated, and when it was implemented. This is a general case/solution; emergency backup procedures will also be in place as needed (i.e., if a country loses its signing key).

So, if the ‘example’ TLD wanted to update its nameservers, it would generate a change request (format to be discussed later) and digitally sign the request. It would then publicly publish this change request. The IANA Functions Operator would then validate the change request for technical accuracy, and publically sign the change request to confirm that it is technically correct. The root zone maintainer will validate that the change request is correctly signed by both the requester and the IANA functions operator, and will then make that change in the root zone.

Note that this solution does not prevent malfeasance by the IANA functions operator, or the root zone maintainer; but as all changes are published with cryptographic signatures, auditors can validate this.

There will also need to be solutions in place to deal with loss of keys by the TLD operator, and the IANA. The TLD operator can roll to a new key by signing it with their old one, which invalidates the old key.

-----------------------

Somewhere I still have the full document, a proposed encoding, a modified Certificate Transparency log which will accept arbitrary text blobs (and an extension to allow templates in certificates), client software, etc.

W

 

Steve

On Thu, Sep 6, 2018 at 1:34 PM, Hugo Salgado-Hernández <[email-masked]> wrote:

Hi Mukund.
I talked about this to Davey in Montreal. There's an implementation
in github[1] and presentations in OARC[2] and ICANN[3].

I'm not sure if its being used right now in a live zone, but certainly
in labs and testing. There's been some interests with academic
institutions, but don't think they're ready yet.

We've been trying to focus this technology as a "poor-man" HSM, as
having similar security features without buying an expensive HW.
But I think the root and similar high-value zones will benefit for
having an split of the private key AND the fact of not needing a
"root key ceremony" to sign, because you can sign remotely with
each piece of the private key, and transmit the "signature pieces"
to a central place.

Hugo

[1] https://github.com/niclabs/docker/tree/master/tchsm
[2] <https://indico.dns-oarc.net/getFile.py/access?contribId=22 <https://indico.dns-oarc.net/getFile.py/access?contribId=22&sessionId=3&resId=1&materialId=slides&confId=20> &sessionId=3&resId=1&materialId=slides&confId=20>
[3] <http://buenosaires48.icann.org/en/schedule/wed-dnssec/presentation-dnssec-cryptographic-20nov13-en>

On 21:42 06/09, Mukund Sivaraman wrote:
> During a coversation about the Yeti project, Davey Song brought up an
> idea about using threshold signatures within DNSSEC. While he talked
> about it primarily for the root zone within the context of having
> multiple signers for it, I'm curious to know what operators think about
> the concept for other zones, and if there's any interest in having a
> working implementation.
> 
> DNSKEY RRs contain public keys. Corresponding secret keys are managed by
> signing entities in various ways:
> 
> * It may be for a low-risk zone and a human may leave the key on the
>   nameserver itself
> 
> * The key may be held by some number of trustworthy staff offline and
>   when signing is required, one of them signs the zone and returns the
>   signed zone
> 
> * It may be managed by an automated system under the control of one or
>   more people
> 
> * It may be held in a locked computer system which may be accessed when
>   multiple trustworthy "keepers" are present
> 
> * There may be schemes like this:
>   https://www.icann.org/news/blog/the-problem-with-the-seven-keys
> 
> In many of these cases, it may be possible for one rogue person to sign
> records against the wish of the rest of the trustworthy group appointed
> by a zone owner. Even though it's unlikely, it's possible to do so
> because the control over secret key material may be available to one
> person, even if it is wrapped in multiple layers.
> 
> The concept of threshold crypto is that there is a public DNSKEY, for
> which the secret key is not available in a single form where it can be
> reconstructed. Instead, N members of a group have some key material each
> respectively, and any M (< N) members of the group may work together to
> prepare RRSIGs by using their respective key materials individually, and
> collaborating to generate the signatures.
> 
> It may be possible for such a scheme to be compatible with existing
> DNSSEC algorithms. Is there any operator interest in this?
> 
>               Mukund
> 
> _______________________________________________
> DNSOP mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/dnsop
> 

_______________________________________________
DNSOP mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/dnsop

_______________________________________________
DNSOP mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/dnsop

-- 

I don't think the execution is relevant when it was obviously a bad idea in the first place.
This is like putting rabid weasels in your pants, and later expressing regret at having chosen those particular rabid weasels and that pair of pants.
   ---maf