Fedora 21 To Have DNSSEC Validation Enabled By Default
internetsociety.org
internetsociety.org
Thanks, Fedora.
My take is that RH is more afraid from patent trolling than some kind of shady government deal.
(edit: expanding why it's more against patent trolling: see their "Open Source Assurance" program: http://www.redhat.com/rhel/details/assurance/ , they provide indemnification, thus their legal department seems to be more on the cautious side)
Sure, the root and major TLDs are anycasted across the globe, but the "wide range" of organizations are just mirroring content that is in one way or another controlled by world governments, and given (for example) ICE domain seizures, it would be prudent not to over-rely on DNS. Personally I support DNSCurve as a means to secure DNS, not to replace security we already have elsewhere.
Separately, DNScurve is interesting, but really solves a different problem than DNSSEC. I find this a useful comparison: http://security.stackexchange.com/questions/45770/if-dnssec-...
The private key of the DNS root was split in seven parts held by seven people [1]. It is stored in two HSMs, one on the east coast of the United States, one on the west coast. Could the NSA or some other agency have gotten hold of the private key? Probably. But spinning that as "the DNSSEC root is controlled by the governments" is FUD.
[1] http://venturebeat.com/2010/07/28/seven-security-experts-get...
root@fw:~# unbound-host -t A -v bit.ly
bit.ly has address 69.58.188.39 (insecure)
bit.ly has address 69.58.188.40 (insecure)
More: http://dnssec-debugger.verisignlabs.com/bit.ly and http://dnsviz.net/d/bit.ly/dnssec/Because I'm trying to illustrate how much additional security you might or might not get if you added DNSSEC, especially with regards to government entities.
In order for this to be a useful exercise you should structure the question in such a way that there is as much potential for government interference as possible. (Unless you are looking for a specific answer and you are trying to lead the respondent.) Government interference with DNSSEC is not limited to the `.` zone. Or put another way, DNSSEC's attack surface area is not limited to the sacred KSK.
Here: .
Here: .ly.
Here: .bit.ly.
The attack surface of freebsd.org is similiar except there is a different set of actors that can exert legal influence over .org. Here: . # G/K/D same as bit.ly
Here: .org. # K/D same as bit.ly
Here: .freebsd.org. # K/D same as bit.lyIf those in charge of ly decided to implement dnssec, then who is in charge with respect to GP.
If you do not trust the Lybian TLD, configure a negative trust anchor for that TLD in your resolver.
Alternatively, if you want to pin that TLD to a particular KSK, configure that KSK as a (positive) trust anchor in your resolver.
If you do not trust the IANA at all, disable the IANA root in your resolver and add trust anchors for the domains you trust. Use lookaside validation if you find that too cumbersome and want to let others do that work for you.
Every time someone tells me that DNSSEC tampering would be "detectible", it always seems premised on the idea that everyone sees the same data. Of course, attackers will isolate their targets and attack them surgically.
What's worse, none of what you're talking about is cryptographic. This is protection by dint of being lucky enough to be on the right part of the network to be hard to attack. No sound cryptosystem works like that.
I think that reducing the amount of organizations controlling your particular branch of DNS is good. You may trust the US CA issue cert for US sites, those are more or less under their control anyway, but you probably don't want to trust them for .eu sites. Or why should I trust the Chinese CA for anything but chinese sites?
And more to the point: why should a CA be allowed to issue a cert for a site that already has a cert issues by another CA.
DNSSEC is hierarchic, there is one key for example.com. in the parent zone com., if someone else wants to put a key for example.com. into com. they'll have to replace it. Presumable the owner of example.com. would monitor its own record in com. and notice tampering. You can't easily have random CA issuing certs for your sites without being detected.
Of course having only a single entity is not good again, because then you introduce a single point of failure.
[*] well of course at the X509 level you have subordinate CAs, and a hierarchy, but it is in no way tied to DNS.
The root zsk is split over a group (Shamir share) held by mostly non-US key holders. (One from the US is Dan Kaminsky, whose work and my user name has special relevancy for you. You'd agree he's not part of the US government.)
I believe all the key holders are trustworthy, and if any were not, you'd need a majority (5 of the 7) to subvert the zsk. So an xkcd-wrench-style attack on the key by governments would require implausible circumstances.
The key ceremony is video taped and can be watched:
https://www.youtube.com/watch?v=b9j-sfP9GUU
Other TLDs (some being countries) also hold key signing
ceremonies and video tape them. You can watch other
countries perform key signing as well. But these sovereign zsks are
subordinate to the ICANN community held keys.
I.e., it's more accurate (than your statement) to say that
there are seven people walking the earth who have
parent keys over actual country soveriegn zones. And while you
might not know all these people yourself, they're from the DNS
operator and hacker community. If anything, you're 180 degrees
wrong in your statement that governments run DNSSEC.You can read more about the DNSSEC root zone key management process and people (non-governmental) online. Here are informal press stories with the usual set of mistakes and minor errors:
http://www.theguardian.com/technology/2014/feb/28/seven-people-keys-worldwide-internet-security-web
https://www.schneier.com/blog/archives/2010/07/dnssec_root_key.html
And the root DNSSEC operation in general: http://www.root-dnssec.org/
I don't see the government in DNSSEC. Not even ICANN
can alter the root zsk (but they are of course instrumental
in any key roll over, since they manage the physical facilities
where the "DNSSEC Seven" must be iris scanned, etc., to sign
any proposed new root key). > Sign it over to the government
This is already something I do not like about the CA system. I do not understand why people talk about DNSSEC as if it is more of a land grab by government than the currently deployed CA trust model. The last time[^1] this came up it seemed like we agreed that the CA infrastructure and DNSSEC are essentially the same when it comes to nation-state involvement/interference/infestation. Is the "sign it over to the government" bit merely a rhetorical device employed to drive the point home or has something changed?Another difference between CA and DNSSEC government dependence is that DNSSEC is, as I said, baked into the core of the Internet; it sets policy for name resolution. It's difficult to override decisions made by DNS/DNSSEC. The same isn't true of the CA system; for instance, everyone using Chrome and Firefox is routinely overriding the CA system when they use Google Mail.
No, it's not simply a rhetorical device.
Cert Pinning: "Screw the CA cabal, I'm going to build my own PKI, with blackjack and hookers."
Certificate pinning only works when I interact with gmail via FF/Chromium on port 443. When postfix connects to gmail over 25/465/587 we fall back to the CA-cabal if (a big if) postfix is configured to verify certificates.
We can take the madness full circle:
DLV+DANE: "Screw pinning certs in the browser, I'm going to pin all the things, with blackjack and hookers."
I don't want to drag this on any longer than needed.[^1] I hope that the dental recuperation is uneventful. If it is any consolation I got a chuckle imagining C.J. Craig from the West Wing reading your messages right after her "woot can-owl surge-ah-wee."
[^1]: The next time DNSSEC comes up (and it will) I would like to get your take on how you think the problems with names/certificates compare to those described in "Reflections on Trusting Trust." It seems like trusting everything down to the bare metal is only a tad more Sisyphean.
https://news.ycombinator.com/item?id=2939002 http://tawqer.com/comment/12538720#.U2Ql4IL7HIE https://news.ycombinator.com/item?id=1234721
Djb on dnscurve, a better way: http://marc.info/?l=djbdns&m=129434351607605&w=2 https://news.ycombinator.com/item?id=2078475
and others.
> Libya(!) controls .ly. If DANE had been successful a few years
> ago, Ghaddafi's government would have controlled bit.ly's certs.
Yes this is a problem for DNSSEC but it is also a problem for DNSCurve. Let's refer to one of djb's slides[^2] and substitute bit.ly for ubuntu.com: > How does DNSCurve client retrieve server’s public key?
> DNS architecture: DNS client learns IP address of .bit.ly DNS
> server from .ly DNS server.
> The .ly server says: “The bit.ly DNS server is named petard and
> has IP address 666.1.0.3.”
> The name petard was selected by the bit.ly admin and given to .ly.
> To announce his DNSCurve server’s public key, the bit.ly admin
> changes the name petard to an encoding of the public key.
> The DNSCurve client sees the public key, begins cryptographically
> protecting communication with that server.
It seems that the Gaddafi problem is bad for DNSSEC and DNSCurve. The zone pinning via DLV in dfc's fuster clucked DNS (dfcDNS) neutralizes the Gaddafi problem at the cost of an absolute ops nightmare. It is worth noting that dfcDNS would pick a better name for the nightmare distribution service than itar.iana.org. Why someone thought it was a good idea to remind people of the cryptowars is beyond me. Maybe ITAR was a bad joke by someone at IANA?[^1]: I recognize the author, but that is irrelevant. In fact I am not sure that the author would want to bring up this problem in the context of this discussion.
[^2]: High-speed cryptography and DNSCurve, pg 26-27. http://cr.yp.to/talks/2009.06.27/slides.pdf
Where Fedora does have blame is the extensive weasel language they use to pretend DNSSEC is the only solution for providing "trust". DNSCurve doesn't exist according to Fedora.
# sysrc local_unbound_enable=YES # service local_unbound start