News for hackers. Stuff that matters.
Re:DNSSEC surpasses 50% of root domains by zdw on Friday January 24, 2014 @09:22AM (#7114939)
DNSSEC basically has all the problems of SSL registrars with almost no user-facing of the benefits - it's still a centralized system that could be overridden by a registrar hack or state level strong-arming, and very few end user systems support actually doing anything when DNSSEC signed records don't verify.

If you think users are confused by SSL warnings now, how the heck would they understand similar errors at the DNS resolver level?

Also, there's no-in flight encryption, so it offers no privacy benefit. It also aggravates DNS amplification attacks.

The better technology to look into if you're concerned about individual user rights and privacy is DNSCurve: http://dnscurve.org

It's not comparable to DNSSEC other than "It uses crypto with DNS" - they have entirely different goals, but the goals it solves are much more relevant to end users (privacy, forgery, etc.).

Personally, I'd recommend people run both techs, as there's no technical reason that makes them incompatible.

I have no idea how to solve the UI problems. We've had 15+ years of SSL and there's been almost no progress on that.

Re:DNSSEC surpasses 50% of root domains by tbrownaw on Friday January 24, 2014 @11:08AM (#7115560)
DNSSEC basically has all the problems of SSL registrars with almost no user-facing of the benefits - it's still a centralized system that could be overridden by a registrar hack or state level strong-arming

I thought the problem with CAs was that any compromised CA breaks security on all sites? Whereas with DNS there's one registrar that handles your domain (well, plus the tld admin, but that's still only 2 instead of lots), which is chosen by you rather than any attacker?

The better technology to look into if you're concerned about individual user rights and privacy is DNSCurve: http://dnscurve.org

After re-reading that, I still don't see how it authenticates the DNS server (and if it does, I imagine it could only do so by relying on information from the parent zone). So I'll assume that it's no more resistant to "registrar hack[s] or state level strong-arming" than anything else.

Re:DNSSEC surpasses 50% of root domains by tptacek on Friday January 24, 2014 @12:06PM (#7115959)
That one registrar is chartered and controlled by a government; for much of the Internet, that government is the United States, which already has a system in place for seizing control of domain names. I'm baffled that people could be sanguine about also giving them control of encryption certificates.

DNSCurve doesn't authenticate DNS data. It authenticates the connection between the client and the server. It does that because authenticating the data requires boiling the ocean by getting a huge portion of the Internet to agree on and implement a scheme to authenticate data, and authenticating individual connections works even if you and your server are the only people who agree to do it. DNSCurve solves a less ambitious problem than DNSSEC does, but that problem is (a) the most important problem in DNS security and (b) actually solvable, unlike the DNSSEC problem.

Re:DNSSEC surpasses 50% of root domains by zurn on Friday January 24, 2014 @11:48AM (#7115836)
Plus, your DNS provider doesn't have a business incentive to prevent you from bootstrapping other systems off DNS. So it happily could put eg per host IPSEC keys, or SSH host keys in strongly authenticated DNS records.
Re:DNSSEC surpasses 50% of root domains by aroman on Friday January 24, 2014 @09:34AM (#7115008)
This is a really important point and isn't stated enough. People think of DNSSEC as some panacea that "fixes" DNS, but it really does nothing of the sort.

Moxie gave an absolutely fantastic talk at Blackhat a few years ago in which he explained problem as it relates to SSL and a proposed solution: http://www.youtube.com/watch?v=Z7Wl2FW2TcA

Re:DNSSEC surpasses 50% of root domains by kingzero on Friday January 24, 2014 @09:32AM (#7114999)
More on this topic can be found in this talk by djb.

https://www.youtube.com/watch?v=K8EGA834Nok

Re:DNSSEC surpasses 50% of root domains by nly on Friday January 24, 2014 @09:34AM (#7115010)
Original video, complete with download links:

http://media.ccc.de/browse/congress/2010/27c3-4295-en-high_s...

This was djbs introduction to CurveCP, a project to replace TCP with an encrypted, authenticated, end-to-end solution that always gives you PFS. Unfortunately the Nacl code base (containing the CurveCP reference implementation) hasn't seen any community love that I know of, so the project seems to be kind of stillborn... although ZeroMQ recycled some of the ideas and cryptography in CurveZMQ

Re:DNSSEC surpasses 50% of root domains by tptacek on Friday January 24, 2014 @11:00AM (#7115505)
Nacl is the most widely used and supported high-level crypto library in the world. "Stillborn"? Nonsense.
Re:DNSSEC surpasses 50% of root domains by nly on Friday January 24, 2014 @01:59PM (#7116703)
Wouldn't that be OpenSSL? I can't find a single package in the Debian repos that depends on nacl. Do you have any examples?

I'm not bashing nacl, I've just not heard of anyone using it over GnuTLS, OpenSSL, CryptoPP or others.

Edit: libsodium apparently. Awesome.

Re:DNSSEC surpasses 50% of root domains by tptacek on Friday January 24, 2014 @02:07PM (#7116804)
GnuTLS, OpenSSL, and CryptoPP are low-level libraries that for the most part provide only primitives and protocol compatibility. Keyczar, Nacl, and cryptlib are high-level libraries that provide secure constructions designed to be "developer-proof". The vast majority of people who try to build new cryptosystems using OpenSSL fail, because combining low-level crypto primitives to try to build a cryptosystem is very difficult and requires domain knowledge that people don't realize they lack.
Re:DNSSEC surpasses 50% of root domains by nly on Friday January 24, 2014 @03:04PM (#7117565)
The CurveCP implementation in libchloride doesn't claim to be embeddable, and I wouldn't personally use libcurvecpr where it mattered because it's yet well eye-balled. The author, Noah Fontes, with utmost kudos and respect to him, seems to be working on it alone and admits that he lacks that domain knowledge ("I don't claim to be a security or cryptography expert in any senses of the terms").

I think it's fair to say that CurveCP isn't production ready despite being "developer proof" since 2011.

What I mean to say about the project being "stillborn" is that it hasn't progressed to something like an IETF RFC or gained any real traction as an alternative to TLS. It's a real shame because a cryptographically secure session layer and long-overdue rework of TCP are things we really need. Projects like Mosh (SSH alternative) have already demonstrated how mobility can be improved with good crypto at the session layer, rather than above it.

Going back to ZeroMQ... it's one of the most "developer proof" libraries out there for messaging, yet they decided to implement the half they felt they could get away with. They could have opted for a "curvecp://<key>" URI scheme for bind() and connect(), defaulted to UDP under the hood, and perhaps gained endpoint mobility, but it didn't happen. Pragmatic perhaps, but if there was anyone who could have pushed CurveCP further it would have been those guys.

I don't see the complexity and mess of TLS going away anytime soon... and I expect most people implementing TLS in C or C++ to be using GnuTLS, OpenSSL or perhaps Mozilla NSS for the foreseeable future.

Re:DNSSEC surpasses 50% of root domains by tptacek on Friday January 24, 2014 @03:15PM (#7117650)
If you are talking about CurveCP, I don't have strong opinions. In fact, there are issues with CurveCP; CodesInChaos posted a critique of the CurveCP key exchange awhile back. Trevor Perrin pointed out at Baysec a few months back that key exchanges are particularly hard to get right, using CurveCP as an example. CurveCP may very well be DOA. I don't know.

If you're talking about Nacl, though, from everything I can tell Nacl is very successful and seems to have a pretty bright future. Certainly, I'd recommend Nacl over any other crypto library you might use to build a new system with.

Re:DNSSEC surpasses 50% of root domains by nly on Friday January 24, 2014 @04:10PM (#7118051)
Yeah, here's a couple of good twitter threads that sum up some of the issues with CurveCP (and perhaps ZeroMQ)

https://twitter.com/bascule/status/383364389576773632

https://twitter.com/jedisct1/status/381136544515375104

Lord knows if anyone is actually working on a protocol that fixes the issues mentioned.

Re:DNSSEC surpasses 50% of root domains by zdw on Friday January 24, 2014 @09:55AM (#7115109)
Most 3rd parties are building on libsodium, not the Nacl code:

https://github.com/jedisct1/libsodium

Re:DNSSEC surpasses 50% of root domains by tptacek on Friday January 24, 2014 @11:00AM (#7115507)
libsodium is the nacl code; it's just been forked to make it easier to compile on different platforms.
Re:DNSSEC surpasses 50% of root domains by atmosx on Friday January 24, 2014 @09:49AM (#7115083)
Good comment, I use them both with OpenNIC DNS servers which accept both DNSSEC and DNScrypt (based on DNSCurve) encryption.

That said, I understand how the network works up my DNS server. I don't know what happens after that so I can't really argue on how to build a better system but namecoin[1] seems the obvious solution.

[1] https://www.namecoin.org/

Re:DNSSEC surpasses 50% of root domains by borando on Friday January 24, 2014 @01:29PM (#7116486)
DNS servers which accept both DNSSEC and DNScrypt (based on DNSCurve) encryption.

DNSSEC doesn't do encryption. This is why DNSSEC isn't censorship-resistant.

If you want encrypted DNS, that's what DNSCurve does.

Re:DNSSEC surpasses 50% of root domains by nly on Friday January 24, 2014 @09:51AM (#7115090)
DNSCurve hasn't seen any implementation love. Seems to be a dormant project since ~2011.
Re:DNSSEC surpasses 50% of root domains by tptacek on Friday January 24, 2014 @10:58AM (#7115494)
For the last 15 years people have said that about everything Daniel Bernstein wrote. Meanwhile, people deploy the stuff, use it, don't have security holes, get better performance, and generally don't have to think about it every week... see if you can say that about BIND.
Re:DNSSEC surpasses 50% of root domains by wglb on Friday January 24, 2014 @11:17AM (#7115618)
Occasionally, mostly DJB, programmers write code and it is DONE. This is such an astonishing accomplishment that when it happens, it is mistakenly branded for not being "active".
Re:DNSSEC surpasses 50% of root domains by zdw on Friday January 24, 2014 @09:54AM (#7115105)
I've been running CurveDNS (http://curvedns.on2it.net) for the last few years for a few externally facing sites.

I get about 1-2% of my requests via DNSCurve, almost entirely from OpenDNS, which started supporting it years ago: http://blog.opendns.com/2010/02/23/opendns-dnscurve/

The problem is mainly in the tooling - there aren't good query and diagnostic tools out there for DNSCurve, beyond fairly complicated CLI incantations.

Re:DNSSEC surpasses 50% of root domains by nly on Friday January 24, 2014 @11:03AM (#7115533)
It'd be pretty nice if the last blog post was more recent than 3 years. It's also really nice to know that curvedns-0.87 has been downloaded 1050 times... but i have no idea when it was actually released. No sign of a changelog... No public repository? No mailing list?

All of these crypto projects (Nacl, CurveDNS) would benefit from moving to Github. Nobody's going to use a seemingly stagnant project. That's ultimately the problem with most of djbs best work, and a lot of other good work, I think. He does world class research and reference implementation, but it doesn't feel like there's an open source community rallying around it.

We need more Linus' in the crypto world.