A New Approach to DNS Security (DNSSEC) Author: Giuseppe Ateniese Stefan Mangard Presenter: Liu, Xiaotao
Outline Overview of DNS Motivation PK-DNSSEC SK-DNSSEC Comparison with PK-DNSSEC Usage of DNSSEC
Outline
What is the DNS Domain Name System Distributed ‘ database ’ to resolve domain names Labels translate to Resource Records Address (A) Mail hosts (MX) Text (TXT) and much more …. Resource records stored in zones Highly scalable
domain zone A DNS tree.money.net.kids.net corp.money.net unix.os.net mac.os.net nt.os.net.os.net.net.com marnick.kids.net dop.kids.net. root top level
DNS data Labelttlclasstyperdata Example Zone file dacht.net 7200 IN SOA ns.ripe.net. olaf.ripe.net.( ; Serial ; Refresh 12 hours ; Retry 4 hours ; Expire 4 days 7200 ; Negative cache 2 hours ) dacht.net 7200 IN NS ns.ripe.net. dacht.net 7200 IN NS ns.high5.net. pinkje.dacht.net 3600 IN A host25.dacht.net 2600 IN A
Common Resource Records RECORD TYPEDESCRIPTIONUSAGE AAn address recordMaps FQDN into an IP address PTRA pointer recordMaps an IP address into FQDN NSA name server recordDenotes a name server for a zone SOAA Start of Authority recordSpecifies many attributes concerning the zone, such as the name of the domain (forward or inverse), administrative contact, the serial number of the zone, refresh interval, retry interval, etc. CNAMEA canonical name recordDefines an alias name and maps it to the absolute (canonical) name MXA Mail Exchanger recordUsed to redirect for a given domain or host to another host
DNS resolving stub resolver Question: A ? resolver. A ? ask.com server the ip address of.com server.com A ? ask cnn.com server the ip address of cnn.com server cnn.com A ? xxx.xxx.xxx.xxx add to cache lab.cs.umass.edu dns.cs.umass.edu
DNS Data flow master resolver stub resolver Zone administrator Zone file slaves Dynamic updates
Outline
Data Protection Server Protection DNS Vulnerabilities Zone file slaves master resolver stub resolver Zone administrator Dynamic updates Cache pollution by Data spoofing Unauthorized updates Corrupting data Impersonating master Cache impersonation
Why DNSSEC DNSSEC protects against data spoofing and corruption DNSSEC also provides mechanisms to authenticate servers and requests DNSSEC provides mechanisms to establish authenticity and integrity
Outline
PK-DNSSEC (Public Key) The DNS servers sign (digitally encrypt)the hash of resource record set with its private keys Resouce record set: The set of resource records of the same type. Public KEYs can be used to verify the SIGs The authenticity of public KEYs is established by a SIGnature over the keys with the parent ’ s private key In the ideal case, only one public KEY needs to be distributed off-band (the root ’ s public KEY)
DNSSEC new RRs 2 Public key related RRs SIG signature over RRset made using private key KEY public key, needed for verifying a SIG over a RRset, signed by the parent ’ s private key One RR for internal consistency (authenticated denial of data) NXT RR to indicate which RRset is the next one in the zone For non DNSSEC public keys: CERT
SIG RRs Cover each resource record set with a public-key signature which is stored as a resource record called SIG RR SIG RRs are computed for every RRset in a zone file and stored Add the corresponding pre-calculated signature for each RRset in answers to queries Must include the entire RRset in an answer, otherwise the resolver could not verify the signature
SIG(0) Use public-key signature to sign the whole message each time the server responses the queries Provide integrity protection and authentication of the whole message Can be scaled to provide authentication of query requests Not be practical to use on a large scale environment
Compare SIG RRs with SIG(0) More computation on DNS server caused by SIG(0) More network traffic caused by SIG RRs More storage need by SIG RRs
Verifying the tree stub resolver Question: A ? resolver. (root) A ? ask.com server SIG(the ip address and PK of.com server) by its private key.com A ? ask cnn.com server SIG(the ip address and PK of cnn.com server) by its private key cnn.com A ? SIG(xxx.xxx.xxx.xxx) by its private key xxx.xxx.xxx.xxx add to cache lab.cs.umass.edu dns.cs.umass.edu transaction signatures slave servers transaction signatures
Verify a SIG over data using the public KEY DNS data is signed with the private key Verify the SIG with the KEY mentioned in the SIG record The key can be found in the DNS or can be locally configured Verifying
Outline
SK-DNSSEC (Symmetric Certificates) The usage of symmetric ciphers through AES or Blowfish in CBC mode. The usage of symmetric signatures via MAC functions. Combine encryption techniques with MAC functions as E k (m, MAC l (m)). Each message contains a nonce to avoid replay attack. A nonce is pair of a random number and a timestamp.
SK-DNSSEC (cont.) Given the DNS tree of domains, each node shares a key with its parent, called master key The root domain has an asymmetric key pair(public and private key) as well as its own master key that is not shared with any others The resolvers must have an authentic copy of root ’ s public key
Notation
DNS Root Certificate
DNS Request to Root Info(P xy ) has to minimally contain the identity strings I x and I y. Inception and expiration dates, details about the encryption and authentication algorithms employed, certificate and key unique identifiers, and the identity of the creator of the certificate
DNS Request to Intermediate Server
DNS Request to Authoritative Server
For mutual authentication For any 0 i n
The problem of PK and SK DNSSEC In SK-DNSSEC, the root servers need to decrypt the message encrypted by the public key In PK-DNSSEC, the potential increase of network traffic due to larger DNS messages In PK-DNSSEC, the high cost of verifying the public-key digital signatures at the resolvers side
Hybrid Approach The root servers use PK-DNSSEC The top-level domains use SK-DNSSEC
Outline
Efficiency PK-DNSSEC with SIG RR. For each RRset in the answer, a pre-calculated SIG RR is included PK-DNSSEC with SIG(0). DNS messages do not contain SIG RRs, but are rather signed as a whole by SIG(0)-type signature. SK-DNSSEC. DNS messages are secured by symmetric signatures and encryption.
Performance (800M HZ)
Performance (cont.)
Network Traffic
Storage
Outline
Public-key Distribution System Global real time availability Easy access to DNS Scalability Hierarchical organization Globally unique names Globally unique host name Cryptographic binding of name and key KEY RR binds DNS names with keys
Q&A Thank You!