Search
Lori MacVittie - Two Different Socks
You are here: DevCentral > Weblogs

posted on Wednesday, November 18, 2009 3:44 AM

Whenever keys, certificates, and PKI enter into a security solution’s architecture the solution almost always becomes overly complex. DNSSEC is no exception, but it doesn’t have to be.

DNS plays a role in every application on the Internet. It is the 411 of the Internet, essentially, without which the millions of users that don’t memorize the IP addresses associated with domain names would be utterly lost. But DNS is vulnerable to exploitation and has, in fact, been exploited in the past. Like any core infrastructure upon which we depend to conduct business, communicate, and generally entertain ourselves, it needs to be protected. DNSSEC (DNS Security Extensions) is a protocol and management extension to DNS designed to guarantee the authenticity of responses. Its basic theory is sound, but putting into practice can quickly turn DNSSEC into DNSSUX, at least for DNS administrators.

It should be no surprise, then, that the difficulties inherent in such an effort are causing delays in implementation. VeriSign, for example, mentions the “size” of the zone as a reason the top level domains (TLD) are taking so long to adopt DNSSEC:

blockquote "VeriSign is moving forward with the implementation of DNSSEC across all of the Top Level Domains that we operate," VeriSign said in a statement to Network World. ".com will most likely be the last TLD to adopt DNSSEC due to the size of the zone. We anticipate full implementation of DNSSEC to be complete across all TLDs in approximately 24 months."

Given the complexity and requirements involved in a DNSSEC deployment, that’s actually no surprise.


WHAT’S SO DIFFICULT ABOUT DNSSEC?

The premise behind DNSSEC is that responses to DNS queries need to be trustable. Following the example of web-based applications, DNSSEC applies the principle of signatures via public/private key encryption as a means to achieve that trust. Essentially DNSSEC is the wrapping of the DNS infrastructure within a trusted, PKI-based superstructure that validates through certificates managed records (zones).

Deploying DNSSEC involves signing zones with public/private key encryption and returning DNS dnscachepoisonresponses with signatures (new RRSIG resource record). A client's trust of those signatures is based on a chain of trust established across administrative boundaries, from parent to child zone, using new DNSKEY and DS resource records. DNSSEC also calls for "authenticated denial of existence" via NSEC (and/or NSEC3) records. And complicating the deployment is the requirement that any DNSSEC deployment must manage cryptographic keys: multiple key generation, zone signing, key swapping, key rollover and timing, and recovering from compromised keys.

Currently BIND, the most common implementation of DNS, supports DNSSEC. There are solutions that combine BIND clones with DNSSEC signing devices that sit beside the DNS infrastructure. So far there doesn't seem to be an implementation that simultaneously achieves ease of deployment, scalability, and high performance.

What’s needed is a way to reduce the complexity and the costs associated with layering this PKI infrastructure atop - or alongside - the existing DNS infrastructure while ensuring that DNSSEC is properly implemented and supported.


WE BORROWED FROM WEB APPLICATIONS FOR THE FIRST SOLUTION, WHY NOT THE SECOND?

These very same problems have been, and continue to be, felt by administrators of web applications that need to implement secure communications via HTTPS. The best answer to managing SSL implementations is to centralize them; essentially implementing a proxy-based approach to securing all web applications simultaneously using a common SSL implementation. Load balancers and later application delivery controllers have been providing this capability for years and it is practically commoditized at this point. We call it “table stakes” in product management because it’s one of the features you must support in application delivery to even get a seat at a potential customer’s table.

So why aren’t we applying that same logic to the problem of deploying and managing DNS, especially large scale DNS implementations?

Turns out that we are. But I’m guessing you knew that was coming, didn’t you?

A DNSSEC-enabled global server load balancer (GSLB) can support both a centralized, proxy-style DNSSEC implementation or it can be deployed as a stand-alone, DNSSEC-enabled DNS server a la BIND. The difference between a stand-alone deployment of a DNSSEC-enabled GSLB and a BIND + DNSSEC signing solution deployment is that the former integrates DNS and DNSSEC capabilities and does not require separate solutions to provide a workable solution. Even if you aren’t using GSLB to provide load balancing across multiple datacenters or cloud computing environments (a la cloud balancing), you can still take advantage of a DNSSEC-enabled GSLB to basically “proxy” DNS queries and centralize signing of responses through a single, centralized solution.

DNSSEC doesn’t have to be DNSSUX.

Follow me on Twitter    View Lori's profile on SlideShare  friendfeed icon_facebook

AddThis Feed Button Bookmark and Share

Related blogs & articles:

 



Feedback

11/23/2009 4:15 PM
Gravatar Why should I care about Big-IP 10.1?
Scott Koon
12/8/2009 9:23 AM
Gravatar DNS Security for web-based applications
F5 News
3/3/2010 4:18 AM
Gravatar DNSSEC Just Got Easier
F5 News
6/8/2010 5:05 PM
Gravatar DNSSEC needs no accellerator boxes!

Unlike Web site https, DNSSEC servers don't do cryptography on the fly. DNSSEC has a much simpler performance solution built in: On the server all the the cryptography is done when someone *changes* the site/domain content, and then the digital signature is published as just another piece of static data.

In fact it is strongly recommended that the cryptography is done on an offline PC (or at least one behind a firewall) and then just uploaded along with your DNS changes.

The only case where a DNSSEC server would need to do cryptography online is if it allows dynamic changes to dns entries on the fly (for instance Verisign's .com zone file accepts new and changed domains 24/7, so the server handling new registrations will need to sign the zone changes as they happen.

It is also important to note that the signing process is incremental, needing only a few crypto calculations for each changed database entry and none for the unchanged entries. So even with millions of .com domains in the database, adding yetanothercompany.com can be done faster than serving up the "enter your name, address and billing details" form to request payment for yetanothercompany.com registration.

So selling "DNSSEC" accellerator boxes is just silly.

But there is another more lucrative market which isn't bogus: Selling tamper-proof armored boxes that can keep your secret signing keys safe from hackers, embezzling ex-CEOs etc. ICANN and Verisign is using two of those boxes (1000 miles apart for safety) to sign the top level root of the entire Internet this summer, and any big company or Internet site would want to do the same. These boxes are expensive, rare and have a high reseller markup.

They are technically similar to SSL-accelleration boxes, but they run very different software and are sold on security, not speed. Just a small example to show how unimportant speed is for DNSSEC hardware: The signing of the root zone file (just a few hundred entries) is a grand ceremony which will take all day on June 15, 2010. An iPhone should be fast enough (but not secure enough) for the job.
After the signing, the signed file will be handed out to a planet-wide cluster of DNS servers.

For higher volume sales, smart card solutions are the way to go. Most DNSSEC signing suites allow the secret signing keys to be kept on a high end smartcard or USB token (NOT an USB stick!) which can be kept in a safe or bank vault between uses. A turnkey solution with this would involve a point and click GUI plus the hardware. And again, this is not a server, it is a security station where trusted people walk up to it and solemnly certify a DNS change for their company.
Jakob Bohm
1/24/2011 5:46 AM
Gravatar DNS is Like Your Mom
Lori MacVittie

Let Me Know What You Think


Please use the form below if you have any comments, questions, or suggestions.

Title:
 
Name:
 
Email: (so we can show your gravatar)
Website:
Comment: Allowed tags: blockquote, a, strong, em, p, u, strike, super, sub, code
 
Please add 3 and 3 and type the answer here:

Blog Stats

Posts:975
Comments:1681
Stories:0
Trackbacks:582
  

Image Galleries

  

Application Delivery

  

Cloud Computing

  

Random

  

Security

  

Chat Catcher

82,243 Members in 102 Countries and Growing!

Join DevCentral Today!

About DevCentral

DevCentral has been a successful, thriving community for many years. We have always strived to bring you the best technical documentation, discussion forums, blogs, media and much more that we can.

So dive in, get familiar with DevCentral. We hope you like it, we hope it makes your job easier, and lets you get that much more power out of the community. To learn more, make sure to check out the Getting Started section. And if you have any problems, or think something could be easier to use, drop us a line to let us know.

Got It !

We've received your comment and transmitted it directly to DevCentral HQ.

Thanks for taking time to let us know what's on your mind. At DevCentral | Community Matters!

Get In Touch With Us

Have questions, suggestions or just want to get something off your chest?

Use our handy form below to Direct Connect with DevCentral Mission Control.

Send Us Feedback       or