444
DNS Security Russell Sutherland ~ I+TS ~ University of Toronto [email protected]

DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server Function of the DNS

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNS Security

Russell Sutherland ~ I+TS ~ University of [email protected]

Page 2: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

<0>

Page 3: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Caveat Emptor

Page 4: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Computer security usually means...

Page 5: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Communication between two parties

Page 6: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

But it’s complicated

Page 7: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS
Page 8: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Eve is the Wo(Man) in the Middle

Page 9: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

3 goals of good computer security

Page 10: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Confidentiality...

Page 11: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

despite espionage...

Page 12: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

e.g. Eve wants to steal data

Page 13: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

But to Eve it’s all gibberish )@*#)@*#)*$@)

Page 14: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Integrity...

Page 15: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

despite corruption...

Page 16: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

e.g. Eve wants to change data

Page 17: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Alice and Bob are NOT getting the wrong data

Page 18: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Forged data is detected

Page 19: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

e.g. Not knowing that data has been corrupted is a violation of integrity

Page 20: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Availability...

Page 21: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

despite sabotage...

Page 22: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

e.g. Eve wants to destroy data

Page 23: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Bob and Alice are getting the right data

Page 24: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

e.g. DoS attack is a violation of availability

Page 25: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

e.g. Blocking data is a violation of availability

Page 26: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Computer security usually means...

Page 27: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Cryptography

Page 28: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Cryptography usually means...

Page 29: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Mathematics

Page 30: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Mathematics usually means...

Page 31: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Rigorous proofs

Page 32: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Rigorous proof means ...

Page 33: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

The masses* trust the few elite who “know”

* the intelligent, educated ones are included here

Page 34: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

e.g.

Page 35: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Andrew Wiles

1994/95

1637

Pierre de Fermat

Famous “Last” Theorem

an + bn �= cn

{n ≥ 3, a, b, c > 0 } a, b, c, n ∈ Z

Page 36: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

It takes a very great deal of mathematical knowledge to understand Wile’s proof; the original paper is hundreds of pages and when I tried to read it I couldn't get past page one; this highlights the fact that proof really has to do with authority and trust, not whether a computer can verify the mathematician's steps

Allan Reeve Wilks Ph.D., Statistician, AT&T Bell [email protected]

Page 37: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Therefore ...

Page 38: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

it’s good to remember

Page 39: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

when it comes to security and cryptography in particular ...

Page 40: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

There are professionals*, stuffed shirts, plumbers and actors

Page 41: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

* Even the professionals do not always agree.

Page 42: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

* This is certainly the case in DNS security.

Page 43: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

<1>

Page 44: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Nomenclature

Page 45: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNS == Domain Name System

Page 46: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Stub Resolver

Page 47: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Caching Name Server

Page 48: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Authoritative Name Server

Page 49: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

<2>

Page 50: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Function of the DNS

f(x) =�

a2 − 4ab + b2

Page 51: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Name/Number Lookup Service

Page 52: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Map/TranslateNames to Addresses*

* there are other important data /resource records

Page 53: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

E.g.

Page 54: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

www.mcgill.ca

Page 55: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

www.mcgill.ca 132.216.177.140

A record

Page 56: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

worldbank.int

Page 57: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

worldbank.intdns1.worldbank.orgdns2.worldbank.orgdns3.worldbank.orgdns4.worldbank.org

NS record

Page 59: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

president@whitehouse.govmail1.eop.gov.mail2.eop.gov.mail3.eop.gov.mail4.eop.gov.

MX record

Page 60: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

<3>

Page 61: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNS Implementation

Page 62: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Hierarchical

Page 63: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Globally Distributed

Page 64: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Scalable

Page 65: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Standard IP Protocol

Page 66: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Database

Query

Response

Page 67: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

<4>

Page 68: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNS Centrality & Criticality

Page 69: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNS is a central anchor point of trust for the entire Internet's infrastructure

Page 70: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNS is a central anchor point of trust for the entire Internet's infrastructure

Page 71: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Almost every user interaction deals with names.

Page 72: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Almost every user interaction deals with names.

Page 74: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

https://www.royalbank.com/

Page 75: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Almost every Internet protocol interaction deals with numbers and addresses.

Page 76: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

128.100.103.10

Page 77: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

2001:beef:0666::2

Page 78: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

2007: 24 Billion DNS Queries A Day

Page 79: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

2008: 48 Billion DNS Queries A Day

Page 80: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Q: How secure is the Internet?

Page 81: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Q: Can Internet Mail be stolen?

Page 82: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

A: Yes. And it’s not too hard.

Page 83: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Mail client uses DNS, gets the wrong address for the remote mail server

Page 84: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Mail client uses DNS, attackers see and change the packets en-route

Page 85: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Q: Can Web Pages be Forged?

Page 86: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

A: Yes. And it’s not too hard.

Page 87: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Browser sends DNS request, gets the wrong address and makes a HTTP connection to the bad guys server

Page 88: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Browser sends DNS request, makes a HTTP connection, attackers see and change the packets.

Page 89: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS
Page 90: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Q: How do we protect the DNS?

Page 91: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Q: Does cryptography solve the problem?

Page 92: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

A: In theory... Yes!

Page 93: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

A: In practice... ???

Page 94: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Q: Am I using cryptography?

Page 95: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Q: Are you using cryptography?

Page 96: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

A: Sometimes yes; Normally no.

Page 97: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Q: Why is this so?

Page 98: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

A: Most Internet Protocols do not support cryptography

Page 99: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Q: Why is this so?

Page 100: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

A: Integration of cryptography is hard for protocol designers.

Page 101: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

N.B. Some popular IP protocols do have cryptographic options!

Page 102: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

e.g. HTTPS (RFC 2818)

Page 103: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Q: Why do some implementations of these protocols do not support cryptography?

Page 104: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

A: It’s hard for software authors to implement the cryptography. Non cryptographic options are much easier.

Page 105: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

N.B.

Some popular implementations do support cryptography!

Page 106: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

e.g. Apache (http://www.apache.org)

Page 107: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Q: Why do 99% of Apache installations do NOT enable SSL

Page 108: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

A: It’s harder and more costly for site administrators to turn it on and to keep it on.

Page 109: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Q: How secure are SSL certificates?

Page 110: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

A: You tell me ...

Page 111: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Q: How many certificate authorities does your browser trust?

Page 112: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

A: ~ 1400 if your browser is Firefox or IE

Page 113: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

N.B. Some important installations do support cryptography!

Page 114: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

e.g. SourceForge has an SSL certificate and has set up SSL servers:https://sourceforge.net/account/

Page 115: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

N.B. Cryptography is not enabled everywhere on the site!

Page 116: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

e.g.https://sourceforge.net/community gets redirected tohttp://sourceforge.net/community

Page 117: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Q: Why does SourceForge turn off SSL/cryptographic protection?

Page 118: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

A: Enabling SSL for all transactions is costly in terms of CPU cycles/load.

Page 119: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

A: SSL-acceleration is available but again costly ($$$).

Page 120: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS
Page 121: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Q: Why are cryptographic operations so expensive?

Page 122: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Q: Can cryptographic operations be made faster and still be correct?

Page 123: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Q: Can cryptographic operations be made fast enough to handle all of a www site’s operation?

Page 124: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Q: Can cryptographic operations be made fast enough to handle all Internet transactions?

Page 125: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Q: Can Internet cryptography be easy to implement and manage?

Page 126: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Q: Can Internet cryptography be done in software?

Page 127: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Q: Can Internet cryptography be easy to add to Internet protocols?

Page 128: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Q: Will governments be afraid of universal Internet cryptography ?

Page 129: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Q: Given gangsters and bad guys get to use cryptography can the average user have access to the same stuff?

Page 130: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

<5>

Page 131: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

A normal DNS transaction

Page 132: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Time to check mybank balance!!

Page 134: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

www.cibc.ca ?

Page 135: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

I am going to assumeFoxy meant:

www.cibc.ca.

Page 136: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

I am going to assumeFoxy meant:

www.cibc.ca.

Page 137: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

That last dot is actually significant.

I am going to assumeFoxy meant:

www.cibc.ca.

Page 138: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

www.cibc.ca. ?

Page 139: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

www.cibc.ca.?

Hmmm. Have I notseen that name before?

Page 140: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

www.cibc.ca. ? Yes!

Here it is in my stash:

159.231.80.200

Page 141: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

www.cibc.ca. ?

159.231.80.200

Page 142: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

www.cibc.ca ?

159.231.80.200

Page 143: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS
Page 144: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Security Audit time ...

Page 145: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS
Page 146: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Confidentiality ?

Integrity ?

Availability ?

Page 147: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Confidentiality ?

Integrity ?

Availability ?

Page 148: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS
Page 149: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Time to check mycredit card balance!!

Page 150: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

www.americanexpress.com

Page 151: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

www.americanexpress.com

Page 152: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

People always forgetthat final dot. Sigh ...

www.americanexpress.com.

Page 153: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

www.americanexpress.com. ?

Page 154: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

www.americanexpress.com.

Hmmm. That looks like a new one. Let’s check.

Page 155: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

www.americanexpress.com.

Rats! I do not have thatone stored. Time to go fish!

Page 156: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS
Page 157: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

$ dig -t ns .

; <<>> DiG 9.7.0-P1 <<>> -t ns .;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47571;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:;. IN NS

;; ANSWER SECTION:. 518375 IN NS g.root-servers.net.. 518375 IN NS a.root-servers.net.. 518375 IN NS e.root-servers.net.. 518375 IN NS b.root-servers.net.. 518375 IN NS k.root-servers.net.. 518375 IN NS l.root-servers.net.. 518375 IN NS c.root-servers.net.. 518375 IN NS i.root-servers.net.. 518375 IN NS d.root-servers.net.. 518375 IN NS j.root-servers.net.. 518375 IN NS f.root-servers.net.. 518375 IN NS m.root-servers.net.. 518375 IN NS h.root-servers.net.

Page 158: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

$ dig +short -t ns .g.root-servers.net.a.root-servers.net.e.root-servers.net.b.root-servers.net.k.root-servers.net.l.root-servers.net.c.root-servers.net.i.root-servers.net.d.root-servers.net.j.root-servers.net.f.root-servers.net.m.root-servers.net.h.root-servers.net.

$ dig +short -t a g.root-servers.net.192.112.36.4

Page 159: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

$ cat @198.41.0.4128.9.0.107192.33.4.12128.8.10.90192.203.230.10192.5.5.241192.112.36.4128.63.2.53192.36.148.17192.58.128.30193.0.14.129198.32.64.12202.12.27.33

Page 160: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS
Page 161: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Root

g.root-servers.net.192.112.36.4

Query: A record for www.americanexpress.com.

www.americanexpress.com.

Page 162: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Root

g.root-servers.net.192.112.36.4

www.americanexpress.com.

d.gtld-servers.net.a.gtld-servers.net.k.gtld-servers.net.c.gtld-servers.net.m.gtld-servers.net.i.gtld-servers.net.l.gtld-servers.net.f.gtld-servers.net.e.gtld-servers.net.h.gtld-servers.net.g.gtld-servers.net.b.gtld-servers.net.j.gtld-servers.net.

Query: A record for www.americanexpress.com.

Response: NS records for com.

Page 163: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Root

g.root-servers.net.192.112.36.4

www.americanexpress.com.

f.gtld-servers.net.192.35.51.30

.com

Query: A record for www.americanexpress.com.

Page 164: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Root

g.root-servers.net.192.112.36.4

www.americanexpress.com.

f.gtld-servers.net.192.35.51.30

.com

gw4.aexp.com.gw5.aexp.com.gw.aexp.com.gw2.aexp.com.gw3.aexp.com.

Query: A record for www.americanexpress.com.

Response: NS records for americanexpress.com.

Page 165: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Root

g.root-servers.net.192.112.36.4

www.americanexpress.com.

f.gtld-servers.net.192.35.51.30

.com

americanexpress.com

gw5.aexp.com.192.102.253.16

Query: A record for www.americanexpress.com.

Page 166: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Root

g.root-servers.net.192.112.36.4

www.americanexpress.com.

f.gtld-servers.net.192.35.51.30

.com

americanexpress.com

gw5.aexp.com.192.102.253.16

12.29.100.148

Query: A record for www.americanexpress.com.

Response: A record for www.americanexpress.com.

12.29.100.148

Page 167: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

www.americanexpress.com.12.29.100.148

That took a bit of work. Let’sstore it in our local stash.

Page 168: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

www.americanexpress.com. ?

12.29.100.148

Page 169: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

www.americanexpress.com

12.29.100.148

Page 170: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS
Page 171: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Security Audit time ...

Page 172: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

RootCase I: Eve (remote)

TLD

NameConfidentiality?Integrity?Availability ?

Page 173: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

RootCase II: Eve (local)

TLD

NameConfidentiality?Integrity?Availability ?

Dan Kaminsky 2008-07-21

Cache Poisoning Attack

Page 174: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Cache Poisoning Attack

Normal Case: Alice - Bob

Page 175: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Cache Poisoning Attack

Imposter Case: Eve - Bob

Page 176: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Houston, we really do have a problem!

Page 177: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

There be many DNS dragons...

Page 178: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Passive Attacks

Man in Middle collects data regarding users queries

Page 179: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Active Attacks

Man in Middle changes data

Page 180: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Active Attacks

Man in Middle changes data

Wrong answer to a valid queryNo answer to a valid queryBlock query and responseFlip Bits to Mess up DNS Servers

Page 181: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Passive Attacks

Devious users can poison Caching Name servers

Page 182: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Solutions

Page 183: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

For passive cache poisoning attacks

Page 184: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Random Query IDs makes guessing difficult

216 = 65536

Page 185: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Random QIDS & SRC ports minimizes risk

216 ∗ 211 = 227 = 134217728

Page 186: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Modify DNS to use Cryptographic Tools

Page 187: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Confidentiality...

Page 188: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Would thwart passive man in the middle attacks

Page 189: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Integrity...

Page 190: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Would thwart all of the spoofing attacks

Page 191: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

<6>

Page 192: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNS Security Extensions

Page 193: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

aka DNSSEC

Page 194: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

What is it?

Page 195: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

“The DNS Security extensions provide originauthentication and integrity protection for DNS data,as well as a means of public key distribution. These extensions do not provide confidentiality.”

Page 196: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

“ It is a set of extensions to DNS, which provide: a. origin authentication of DNS data b. data integrity c. authenticated denial of existence ”

Page 197: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

History

Page 198: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

1987: Regular DNS standardized [RFC 1034,1035]

Page 199: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

1987: Regular DNS standardized [RFC 1034,1035]

1990: DNS vulnerabilities come to light[ Steve Bellovin, Bell Laboratories ]

Page 200: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

1987: Regular DNS standardized [RFC 1034,1035]

1990: DNS vulnerabilities come to light

1995: Steve Bellovin makes public the vulnerabilities

Page 201: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

1987: Regular DNS standardized [RFC 1034,1035]

1990: DNS vulnerabilities come to light

1995: IETF strikes a DNSEXT working group

1995: Steve Bellovin makes public the vulnerabilities

Page 202: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

1987: Regular DNS standardized [RFC 1034,1035]

1990: DNS vulnerabilities come to light

1997: IETF Domain Name Security Extensions [RFC 2065]

1995: Steve Bellovin makes public the vulnerabilities

1995: IETF strikes a DNSEXT working group

Page 203: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

1987: Regular DNS standardized [RFC 1034,1035]

1990: DNS vulnerabilities come to light

1999: RFC 2535 supercedes RFC 2065 implementation problems

1995: Steve Bellovin makes public the vulnerabilities

1995: IETF strikes a DNSEXT working group

1997: IETF Domain Name Security Extensions [RFC 2065]

Page 204: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

1987: Regular DNS standardized [RFC 1034,1035]

1990: DNS vulnerabilities come to light

1999: end of year, ISC ships bind with RFC2535 exts.

1995: Steve Bellovin makes public the vulnerabilities

1995: IETF strikes a DNSEXT working group

1997: IETF Domain Name Security Extensions [RFC 2065]

1999: RFC 2535 supercedes RFC 2065

Page 205: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

1987: Regular DNS standardized [RFC 1034,1035]

1990: DNS vulnerabilities come to light

1999: end of year, ISC ships bind with RFC2535 exts.

1995: Steve Bellovin makes public the vulnerabilities

1995: IETF strikes a DNSEXT working group

1997: IETF Domain Name Security Extensions [RFC 2065]

1999: RFC 2535 supercedes RFC 2065

2001: RFC2535 key handling operational problems. Restart! Writing, Drafting, Publishing

Page 206: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

1987: Regular DNS standardized [RFC 1034,1035]

1990: DNS vulnerabilities come to light

1999: end of year, ISC ships bind with RFC2535 exts.

1995: Steve Bellovin makes public the vulnerabilities

1995: IETF strikes a DNSEXT working group

1997: IETF Domain Name Security Extensions [RFC 2065]

1999: RFC 2535 supercedes RFC 2065

2001: RFC2535 key handling operational problems.

2005: 3 new RFCs: 4033,4034, 4035: DNSSEC-bis

Page 207: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

1987: Regular DNS standardized [RFC 1034,1035]

1990: DNS vulnerabilities come to light

1999: end of year, ISC ships bind with RFC2535 exts.

1995: Steve Bellovin makes public the vulnerabilities

1995: IETF strikes a DNSEXT working group

1997: IETF Domain Name Security Extensions [RFC 2065]

1999: RFC 2535 supercedes RFC 2065

2001: RFC2535 key handling operational problems.2005: 3 new RFCs: 4033,4034, 4035: DNSSEC-bis

2005: First ccTLD implements DNSSEC: .se

Page 208: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

1987: Regular DNS standardized [RFC 1034,1035]

1990: DNS vulnerabilities come to light

1999: end of year, ISC ships bind with RFC2535 exts.

1995: Steve Bellovin makes public the vulnerabilities

1995: IETF strikes a DNSEXT working group

1997: IETF Domain Name Security Extensions [RFC 2065]

1999: RFC 2535 supercedes RFC 2065

2001: RFC2535 key handling operational problems.2005: 3 new RFCs: 4033,4034, 4035: DNSSEC-bis

2010: All root name servers are DNSSEC ready

2005: First ccTLD implements DNSSEC: .se

Page 209: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

1987: Regular DNS standardized [RFC 1034,1035]

1990: DNS vulnerabilities come to light

1999: end of year, ISC ships bind with RFC2535 exts.

1995: Steve Bellovin makes public the vulnerabilities

1995: IETF strikes a DNSEXT working group

1997: IETF Domain Name Security Extensions [RFC 2065]

1999: RFC 2535 supercedes RFC 2065

2001: RFC2535 key handling operational problems.2005: 3 new RFCs: 4033,4034, 4035: DNSSEC-bis

2010: All root name servers are DNSSEC ready2005: First ccTLD implements DNSSEC: .se

2012: .ca name servers are DNSSEC ready

Page 210: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Recent Uptake

Page 211: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

End of 2009: ~1000

Page 212: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

End of 2010: ~2500

Page 213: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Number of registered domains: ~200,000,000

Page 214: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSSEC: Objectives

Page 215: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

<0>

Page 216: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

N.B:

DNSSEC is designed to detect attacks and not necessarily to prevent them.

Page 217: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

<1>

Page 218: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Origin Authentication of DNS Data

Client can trust that the authoritative name server really is the authority for a certain zone.

Page 219: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Origin Authentication of DNS Data

Client can trust that the authoritative name server really is the authority for a certain zone.

Authenticity is a case of Integrity

Page 220: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

<2>

Page 221: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Data Integrity

Either end can detect if query or response has been modified by an unauthorized third party

Page 222: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Data Integrity

Either end can detect if query or response has been modified by an unauthorized third party

Page 223: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

<3>

Page 224: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Authenticated Denial of Existence

The client can be sure not only of the response from data which exists but also that certain data does NOT exist.

Page 225: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Authenticated Denial of Existence

The client can be sure not only of the response from data which exists but also that certain data does NOT exist.

This is necessary to prevent certain forms of attacks

Page 226: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

<4>

Page 227: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Backward Compatibility with Regular DNS

DNSSEC and non DNSSEC environments both need to interoperate.

Page 228: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSSEC: Non Objectives

Page 229: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

<1>

Page 230: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Confidentiality

Page 231: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

All DNSSEC traffic is plaintext

Page 232: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

... that all data in the DNS is thus visible.Accordingly, DNSSEC is not designed to provide confidentiality, access control lists, or other means of differentiating between inquirers.

RFC 4033

Page 233: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

... that all data in the DNS is thus visible.Accordingly, DNSSEC is not designed to provide confidentiality, access control lists, or other means of differentiating between inquirers.

RFC 4033

Page 234: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

This design decision has security implications

Page 235: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Availability

Page 236: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSSEC provides no protection against denial of service attacks. Security-aware resolvers and security-aware name servers are vulnerable to an additional class of denial of service attacks based on cryptographic operations.

RFC 4033

Page 237: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSSEC provides no protection against denial of service attacks. Security-aware resolvers and security-aware name servers are vulnerable to an additional class of denial of service attacks based on cryptographic operations.

RFC 4033

Page 238: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

There are no extra features, over and above regular DNS, to prevent DoS or buffer overflow attacks

Page 239: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSSEC Specifications

Page 240: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

New Resource Records

Page 241: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Regular Resource Records

Page 242: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

NS - name server delegation

Page 243: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

A - IP address

Page 244: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

MX - mail server name & priority

Page 245: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

CNAME - name alias

Page 246: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

TXT - text description

Page 247: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

SOA - start of authority

Page 248: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

New Resource Records

Page 249: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSSEC uses public key cryptography to sign and authenticate DNS resource record sets (RRsets).

RFC 4034

Page 250: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSSEC uses public key cryptography to sign and authenticate DNS resource record sets (RRsets).

RFC 4034

Page 251: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSKEY - for storing public keys

Page 252: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

A zone signs its authoritative RRsets by using a private key and stores the corresponding public key in a DNSKEY RR.

RFC 4034

Page 253: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

A zone signs its authoritative RRsets by using a private key and stores the corresponding public key in a DNSKEY RR.

RFC 4034

Page 254: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Note:

The DNSKEY RR is only intended to store DNS related public keys. It MUST NOT be used to store generic public keys and certificates

RFC 4034

Page 255: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSKEY - algorithms are also stored

Page 256: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

# dig +multiline vix.com DNSKEY

;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11667;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:;vix.com. IN DNSKEY

;; ANSWER SECTION:vix.com. 2894 IN DNSKEY 257 3 5 ( AwEAAbKW5zsYMBUX4MS0yq3MNm4312c7WEF1Af2Iy2O/ A+U+h7F3EtblBDJVs/LgtdjsE3JHak51iRaELLOoEvVe RIIa1UjNvXIeia+QV1nlSas8LcXya0XOYA2Jfxez0pEW ArN1QLhkgVDPAsEwKLzYfVjW78CFlOZnYxbBWXwKgb4z ) ; key id = 26437vix.com. 2894 IN DNSKEY 256 3 5 ( BEAAAAO6wBt1U39U8meHca3JBCWixBi8BvZLMJZp51/5 vViM2+fh93XF1SqJaAaqgX6PszTPUlElvuTV2xTV4uQj UTaFv8qDnsjbfXVusE1v+OaQpSVuP8GjI28cGi9PgAOc z2ACdiD2XVbYKUDTJb+pqoE/o3Z6FjKf6ByTkJUI5x9D lw== ) ; key id = 63066

Page 257: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

# dig +multiline vix.com DNSKEY

;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11667;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:;vix.com. IN DNSKEY

;; ANSWER SECTION:vix.com. 2894 IN DNSKEY 257 3 5 ( AwEAAbKW5zsYMBUX4MS0yq3MNm4312c7WEF1Af2Iy2O/ A+U+h7F3EtblBDJVs/LgtdjsE3JHak51iRaELLOoEvVe RIIa1UjNvXIeia+QV1nlSas8LcXya0XOYA2Jfxez0pEW ArN1QLhkgVDPAsEwKLzYfVjW78CFlOZnYxbBWXwKgb4z ) ; key id = 26437vix.com. 2894 IN DNSKEY 256 3 5 ( BEAAAAO6wBt1U39U8meHca3JBCWixBi8BvZLMJZp51/5 vViM2+fh93XF1SqJaAaqgX6PszTPUlElvuTV2xTV4uQj UTaFv8qDnsjbfXVusE1v+OaQpSVuP8GjI28cGi9PgAOc z2ACdiD2XVbYKUDTJb+pqoE/o3Z6FjKf6ByTkJUI5x9D lw== ) ; key id = 63066

Page 258: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

# dig +multiline vix.com DNSKEY

;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11667;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:;vix.com. IN DNSKEY

;; ANSWER SECTION:vix.com. 2894 IN DNSKEY 257 3 5 ( AwEAAbKW5zsYMBUX4MS0yq3MNm4312c7WEF1Af2Iy2O/ A+U+h7F3EtblBDJVs/LgtdjsE3JHak51iRaELLOoEvVe RIIa1UjNvXIeia+QV1nlSas8LcXya0XOYA2Jfxez0pEW ArN1QLhkgVDPAsEwKLzYfVjW78CFlOZnYxbBWXwKgb4z ) ; key id = 26437vix.com. 2894 IN DNSKEY 256 3 5 ( BEAAAAO6wBt1U39U8meHca3JBCWixBi8BvZLMJZp51/5 vViM2+fh93XF1SqJaAaqgX6PszTPUlElvuTV2xTV4uQj UTaFv8qDnsjbfXVusE1v+OaQpSVuP8GjI28cGi9PgAOc z2ACdiD2XVbYKUDTJb+pqoE/o3Z6FjKf6ByTkJUI5x9D lw== ) ; key id = 63066

Page 259: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

# dig +multiline vix.com DNSKEY

;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11667;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:;vix.com. IN DNSKEY

;; ANSWER SECTION:vix.com. 2894 IN DNSKEY 257 3 5 ( AwEAAbKW5zsYMBUX4MS0yq3MNm4312c7WEF1Af2Iy2O/ A+U+h7F3EtblBDJVs/LgtdjsE3JHak51iRaELLOoEvVe RIIa1UjNvXIeia+QV1nlSas8LcXya0XOYA2Jfxez0pEW ArN1QLhkgVDPAsEwKLzYfVjW78CFlOZnYxbBWXwKgb4z ) ; key id = 26437vix.com. 2894 IN DNSKEY 256 3 5 ( BEAAAAO6wBt1U39U8meHca3JBCWixBi8BvZLMJZp51/5 vViM2+fh93XF1SqJaAaqgX6PszTPUlElvuTV2xTV4uQj UTaFv8qDnsjbfXVusE1v+OaQpSVuP8GjI28cGi9PgAOc z2ACdiD2XVbYKUDTJb+pqoE/o3Z6FjKf6ByTkJUI5x9D lw== ) ; key id = 63066

Page 260: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

RRSIG - signatures are stored here

Page 261: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Signature: DNS data + owners private key

Page 262: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

RRSIG - other fields as well

Page 263: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

RRSIG - sig. inception time

Page 264: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

RRSIG - sig. expiration time

Page 265: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

RRSIG - type covered

Page 266: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

RRSIG - algorithm

Page 267: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

RRSIG - key tag

Page 268: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

RRSIG - signers name

Page 269: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

RRSIG - Data signature

Page 270: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

# drill -D vix.com @ns.sql1.vix.com. rrsig;; QUESTION SECTION:;; vix.com. IN RRSIG

;; ANSWER SECTION:vix.com. 3600 IN RRSIG A 5 2 3600 20110629030401 20110331030401 63066 vix.com. CsxzLHeqDLi2XXKqGALXYn4lbmZrqkDzCYegv6EiZQFpPHG8oVdxvqJDCczpVHF3mykB05uHntpyoOS4om34l8fkIuVKViE6c/3b+j3jiJIfXbFYPqM501NChRf/SwkBqsmKRj4jbTp3jCicUG6M3lyNWe5B2CjVd9hEUmzrbjY= ;{id = 63066}

vix.com. 3600 IN RRSIG MX 5 2 3600 20110629030401 20110331030401 63066 vix.com. urjAd1NVJKNfUOI/l0aJRNEQJJfexjnwRTcyzcZmVvxnV5FlqlT9O4aIzcKMPnM2L3FWpf+F0Tzfjr9Cb46pUHrj9LApaKxAH7RTOGKz7t2kVd8bD62LbhkFiVVlvqVTBBIhHinzAx8wPSCaU2saAt4fYc+0w86it8IKBuwZyjE= ;{id = 63066}

vix.com. 3600 IN RRSIG DNSKEY 5 2 3600 20110629030401 20110331030401 26437 vix.com. QvyoIbB1fTtge9aBTj88oBBFUnfLdGxGoyABG3bkPDAiDB5TUgJa68UDcF5k9c5fQEHZA6rd52QRxkPKyOhb5Reh64cZMjzMBZxZaivxX+W+hmkEk9ztSgWaotNBw2RHechItBI4/IPZWRXGNPr1IIduI8KC+dm96tf404BraAU= ;{id = 26437}

Page 271: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

# drill -D vix.com @ns.sql1.vix.com. rrsig;; QUESTION SECTION:;; vix.com. IN RRSIG

;; ANSWER SECTION:vix.com. 3600 IN RRSIG A 5 2 3600 20110629030401 20110331030401 63066 vix.com. CsxzLHeqDLi2XXKqGALXYn4lbmZrqkDzCYegv6EiZQFpPHG8oVdxvqJDCczpVHF3mykB05uHntpyoOS4om34l8fkIuVKViE6c/3b+j3jiJIfXbFYPqM501NChRf/SwkBqsmKRj4jbTp3jCicUG6M3lyNWe5B2CjVd9hEUmzrbjY= ;{id = 63066}

vix.com. 3600 IN RRSIG MX 5 2 3600 20110629030401 20110331030401 63066 vix.com. urjAd1NVJKNfUOI/l0aJRNEQJJfexjnwRTcyzcZmVvxnV5FlqlT9O4aIzcKMPnM2L3FWpf+F0Tzfjr9Cb46pUHrj9LApaKxAH7RTOGKz7t2kVd8bD62LbhkFiVVlvqVTBBIhHinzAx8wPSCaU2saAt4fYc+0w86it8IKBuwZyjE= ;{id = 63066}

vix.com. 3600 IN RRSIG DNSKEY 5 2 3600 20110629030401 20110331030401 26437 vix.com. QvyoIbB1fTtge9aBTj88oBBFUnfLdGxGoyABG3bkPDAiDB5TUgJa68UDcF5k9c5fQEHZA6rd52QRxkPKyOhb5Reh64cZMjzMBZxZaivxX+W+hmkEk9ztSgWaotNBw2RHechItBI4/IPZWRXGNPr1IIduI8KC+dm96tf404BraAU= ;{id = 26437}

Page 272: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

# drill -D vix.com @ns.sql1.vix.com. rrsig;; QUESTION SECTION:;; vix.com. IN RRSIG

;; ANSWER SECTION:vix.com. 3600 IN RRSIG A 5 2 3600 20110629030401 20110331030401 63066 vix.com. CsxzLHeqDLi2XXKqGALXYn4lbmZrqkDzCYegv6EiZQFpPHG8oVdxvqJDCczpVHF3mykB05uHntpyoOS4om34l8fkIuVKViE6c/3b+j3jiJIfXbFYPqM501NChRf/SwkBqsmKRj4jbTp3jCicUG6M3lyNWe5B2CjVd9hEUmzrbjY= ;{id = 63066}

vix.com. 3600 IN RRSIG MX 5 2 3600 20110629030401 20110331030401 63066 vix.com. urjAd1NVJKNfUOI/l0aJRNEQJJfexjnwRTcyzcZmVvxnV5FlqlT9O4aIzcKMPnM2L3FWpf+F0Tzfjr9Cb46pUHrj9LApaKxAH7RTOGKz7t2kVd8bD62LbhkFiVVlvqVTBBIhHinzAx8wPSCaU2saAt4fYc+0w86it8IKBuwZyjE= ;{id = 63066}

vix.com. 3600 IN RRSIG DNSKEY 5 2 3600 20110629030401 20110331030401 26437 vix.com. QvyoIbB1fTtge9aBTj88oBBFUnfLdGxGoyABG3bkPDAiDB5TUgJa68UDcF5k9c5fQEHZA6rd52QRxkPKyOhb5Reh64cZMjzMBZxZaivxX+W+hmkEk9ztSgWaotNBw2RHechItBI4/IPZWRXGNPr1IIduI8KC+dm96tf404BraAU= ;{id = 26437}

Page 273: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

# drill -D vix.com @ns.sql1.vix.com. rrsig;; QUESTION SECTION:;; vix.com. IN RRSIG

;; ANSWER SECTION:vix.com. 3600 IN RRSIG A 5 2 3600 20110629030401 20110331030401 63066 vix.com. CsxzLHeqDLi2XXKqGALXYn4lbmZrqkDzCYegv6EiZQFpPHG8oVdxvqJDCczpVHF3mykB05uHntpyoOS4om34l8fkIuVKViE6c/3b+j3jiJIfXbFYPqM501NChRf/SwkBqsmKRj4jbTp3jCicUG6M3lyNWe5B2CjVd9hEUmzrbjY= ;{id = 63066}

vix.com. 3600 IN RRSIG MX 5 2 3600 20110629030401 20110331030401 63066 vix.com. urjAd1NVJKNfUOI/l0aJRNEQJJfexjnwRTcyzcZmVvxnV5FlqlT9O4aIzcKMPnM2L3FWpf+F0Tzfjr9Cb46pUHrj9LApaKxAH7RTOGKz7t2kVd8bD62LbhkFiVVlvqVTBBIhHinzAx8wPSCaU2saAt4fYc+0w86it8IKBuwZyjE= ;{id = 63066}

vix.com. 3600 IN RRSIG DNSKEY 5 2 3600 20110629030401 20110331030401 26437 vix.com. QvyoIbB1fTtge9aBTj88oBBFUnfLdGxGoyABG3bkPDAiDB5TUgJa68UDcF5k9c5fQEHZA6rd52QRxkPKyOhb5Reh64cZMjzMBZxZaivxX+W+hmkEk9ztSgWaotNBw2RHechItBI4/IPZWRXGNPr1IIduI8KC+dm96tf404BraAU= ;{id = 26437}

Page 274: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

# drill -D vix.com @ns.sql1.vix.com. rrsig;; QUESTION SECTION:;; vix.com. IN RRSIG

;; ANSWER SECTION:vix.com. 3600 IN RRSIG A 5 2 3600 20110629030401 20110331030401 63066 vix.com. CsxzLHeqDLi2XXKqGALXYn4lbmZrqkDzCYegv6EiZQFpPHG8oVdxvqJDCczpVHF3mykB05uHntpyoOS4om34l8fkIuVKViE6c/3b+j3jiJIfXbFYPqM501NChRf/SwkBqsmKRj4jbTp3jCicUG6M3lyNWe5B2CjVd9hEUmzrbjY= ;{id = 63066}

vix.com. 3600 IN RRSIG MX 5 2 3600 20110629030401 20110331030401 63066 vix.com. urjAd1NVJKNfUOI/l0aJRNEQJJfexjnwRTcyzcZmVvxnV5FlqlT9O4aIzcKMPnM2L3FWpf+F0Tzfjr9Cb46pUHrj9LApaKxAH7RTOGKz7t2kVd8bD62LbhkFiVVlvqVTBBIhHinzAx8wPSCaU2saAt4fYc+0w86it8IKBuwZyjE= ;{id = 63066}

vix.com. 3600 IN RRSIG DNSKEY 5 2 3600 20110629030401 20110331030401 26437 vix.com. QvyoIbB1fTtge9aBTj88oBBFUnfLdGxGoyABG3bkPDAiDB5TUgJa68UDcF5k9c5fQEHZA6rd52QRxkPKyOhb5Reh64cZMjzMBZxZaivxX+W+hmkEk9ztSgWaotNBw2RHechItBI4/IPZWRXGNPr1IIduI8KC+dm96tf404BraAU= ;{id = 26437}

Page 275: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

# drill -D vix.com @ns.sql1.vix.com. rrsig;; QUESTION SECTION:;; vix.com. IN RRSIG

;; ANSWER SECTION:vix.com. 3600 IN RRSIG A 5 2 3600 20110629030401 20110331030401 63066 vix.com. CsxzLHeqDLi2XXKqGALXYn4lbmZrqkDzCYegv6EiZQFpPHG8oVdxvqJDCczpVHF3mykB05uHntpyoOS4om34l8fkIuVKViE6c/3b+j3jiJIfXbFYPqM501NChRf/SwkBqsmKRj4jbTp3jCicUG6M3lyNWe5B2CjVd9hEUmzrbjY= ;{id = 63066}

vix.com. 3600 IN RRSIG MX 5 2 3600 20110629030401 20110331030401 63066 vix.com. urjAd1NVJKNfUOI/l0aJRNEQJJfexjnwRTcyzcZmVvxnV5FlqlT9O4aIzcKMPnM2L3FWpf+F0Tzfjr9Cb46pUHrj9LApaKxAH7RTOGKz7t2kVd8bD62LbhkFiVVlvqVTBBIhHinzAx8wPSCaU2saAt4fYc+0w86it8IKBuwZyjE= ;{id = 63066}

vix.com. 3600 IN RRSIG DNSKEY 5 2 3600 20110629030401 20110331030401 26437 vix.com. QvyoIbB1fTtge9aBTj88oBBFUnfLdGxGoyABG3bkPDAiDB5TUgJa68UDcF5k9c5fQEHZA6rd52QRxkPKyOhb5Reh64cZMjzMBZxZaivxX+W+hmkEk9ztSgWaotNBw2RHechItBI4/IPZWRXGNPr1IIduI8KC+dm96tf404BraAU= ;{id = 26437}

Page 276: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

# drill -D vix.com @ns.sql1.vix.com. rrsig;; QUESTION SECTION:;; vix.com. IN RRSIG

;; ANSWER SECTION:vix.com. 3600 IN RRSIG A 5 2 3600 20110629030401 20110331030401 63066 vix.com. CsxzLHeqDLi2XXKqGALXYn4lbmZrqkDzCYegv6EiZQFpPHG8oVdxvqJDCczpVHF3mykB05uHntpyoOS4om34l8fkIuVKViE6c/3b+j3jiJIfXbFYPqM501NChRf/SwkBqsmKRj4jbTp3jCicUG6M3lyNWe5B2CjVd9hEUmzrbjY= ;{id = 63066}

vix.com. 3600 IN RRSIG MX 5 2 3600 20110629030401 20110331030401 63066 vix.com. urjAd1NVJKNfUOI/l0aJRNEQJJfexjnwRTcyzcZmVvxnV5FlqlT9O4aIzcKMPnM2L3FWpf+F0Tzfjr9Cb46pUHrj9LApaKxAH7RTOGKz7t2kVd8bD62LbhkFiVVlvqVTBBIhHinzAx8wPSCaU2saAt4fYc+0w86it8IKBuwZyjE= ;{id = 63066}

vix.com. 3600 IN RRSIG DNSKEY 5 2 3600 20110629030401 20110331030401 26437 vix.com. QvyoIbB1fTtge9aBTj88oBBFUnfLdGxGoyABG3bkPDAiDB5TUgJa68UDcF5k9c5fQEHZA6rd52QRxkPKyOhb5Reh64cZMjzMBZxZaivxX+W+hmkEk9ztSgWaotNBw2RHechItBI4/IPZWRXGNPr1IIduI8KC+dm96tf404BraAU= ;{id = 26437}

Page 277: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

# drill -D vix.com @ns.sql1.vix.com. rrsig;; QUESTION SECTION:;; vix.com. IN RRSIG

;; ANSWER SECTION:vix.com. 3600 IN RRSIG A 5 2 3600 20110629030401 20110331030401 63066 vix.com. CsxzLHeqDLi2XXKqGALXYn4lbmZrqkDzCYegv6EiZQFpPHG8oVdxvqJDCczpVHF3mykB05uHntpyoOS4om34l8fkIuVKViE6c/3b+j3jiJIfXbFYPqM501NChRf/SwkBqsmKRj4jbTp3jCicUG6M3lyNWe5B2CjVd9hEUmzrbjY= ;{id = 63066}

vix.com. 3600 IN RRSIG MX 5 2 3600 20110629030401 20110331030401 63066 vix.com. urjAd1NVJKNfUOI/l0aJRNEQJJfexjnwRTcyzcZmVvxnV5FlqlT9O4aIzcKMPnM2L3FWpf+F0Tzfjr9Cb46pUHrj9LApaKxAH7RTOGKz7t2kVd8bD62LbhkFiVVlvqVTBBIhHinzAx8wPSCaU2saAt4fYc+0w86it8IKBuwZyjE= ;{id = 63066}

vix.com. 3600 IN RRSIG DNSKEY 5 2 3600 20110629030401 20110331030401 26437 vix.com. QvyoIbB1fTtge9aBTj88oBBFUnfLdGxGoyABG3bkPDAiDB5TUgJa68UDcF5k9c5fQEHZA6rd52QRxkPKyOhb5Reh64cZMjzMBZxZaivxX+W+hmkEk9ztSgWaotNBw2RHechItBI4/IPZWRXGNPr1IIduI8KC+dm96tf404BraAU= ;{id = 26437}

Page 278: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

# drill -D vix.com @ns.sql1.vix.com. rrsig;; QUESTION SECTION:;; vix.com. IN RRSIG

;; ANSWER SECTION:vix.com. 3600 IN RRSIG A 5 2 3600 20110629030401 20110331030401 63066 vix.com. CsxzLHeqDLi2XXKqGALXYn4lbmZrqkDzCYegv6EiZQFpPHG8oVdxvqJDCczpVHF3mykB05uHntpyoOS4om34l8fkIuVKViE6c/3b+j3jiJIfXbFYPqM501NChRf/SwkBqsmKRj4jbTp3jCicUG6M3lyNWe5B2CjVd9hEUmzrbjY=;{id = 63066}

vix.com. 3600 IN RRSIG MX 5 2 3600 20110629030401 20110331030401 63066 vix.com. urjAd1NVJKNfUOI/l0aJRNEQJJfexjnwRTcyzcZmVvxnV5FlqlT9O4aIzcKMPnM2L3FWpf+F0Tzfjr9Cb46pUHrj9LApaKxAH7RTOGKz7t2kVd8bD62LbhkFiVVlvqVTBBIhHinzAx8wPSCaU2saAt4fYc+0w86it8IKBuwZyjE= ;{id = 63066}

vix.com. 3600 IN RRSIG DNSKEY 5 2 3600 20110629030401 20110331030401 26437 vix.com. QvyoIbB1fTtge9aBTj88oBBFUnfLdGxGoyABG3bkPDAiDB5TUgJa68UDcF5k9c5fQEHZA6rd52QRxkPKyOhb5Reh64cZMjzMBZxZaivxX+W+hmkEk9ztSgWaotNBw2RHechItBI4/IPZWRXGNPr1IIduI8KC+dm96tf404BraAU= ;{id = 26437}

Page 279: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

NSEC - Next SECure Record

Page 280: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

NSEC - to accommodate negative authentication requests

Page 281: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

NSEC - indicates all zones for which the name server is authoritative

Page 282: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

NSEC - assume the following zones:

alpha.orgcharlie.orgdelta.org

Page 283: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

NSEC - A query for beta.org will yield:

alpha.org NSEC charlie.org

Page 284: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

NSEC3 : RFC5155 : 2008-02

Page 285: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

NSEC3 - like NSEC but to prevent tree walking

Page 286: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

NSEC3 - instead of actual names, the hash of the name is given

Page 287: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

# drill -D rps.vix.com @ns.sql1.vix.com A ;; QUESTION SECTION:;; rps.vix.com. IN A

;; ANSWER SECTION:

;; AUTHORITY SECTION:vix.com. 3600 IN SOA ns.lah1.vix.com. hostmaster.vix.com. 2011033116 3600 1800 604800 3600vix.com. 3600 IN RRSIG SOA 5 2 3600 20110629030401 20110331030401 63066 vix.com. fPpFeE/Y/1HfFtKTAjfWlBQafC2i4qf5gYewmr0fQHzH7xIYmvx+rpenaKfr4By2R01Dh5q6kKgB3DR7G9swmAXcAVB5TzvQ6UcmjXcGGZPw+HUwUSIAt6q559YMKxSN6DTeh7/kNlLPtoPZqSmz7rxIr0USe2VwAYDznGtlzdQ= ;{id = 63066}vix.com. 3600 IN NSEC ns-lah1._meta.vix.com. A NS SOA MX TXT AAAA RRSIG NSEC DNSKEY vix.com. 3600 IN RRSIG NSEC 5 2 3600 20110629030401 20110331030401 63066 vix.com. Hm3dfubDRTtF8BrztQ3X2tCc5IJ7+JO3cB8F5rQhDAyzBz7XcOESJrwyUCk8YL/w3i360fUuhN3MahOdTzrzoAMxWp90yM5MRbRSzUQwQ+73cRbq2C2YEfsYPatPiL9vHnc5Wvo9xtrFEjiWK7qcHgBwO3SrXPsUYzn8seB8DtA= ;{id = 63066}relay.vix.com. 3600 IN NSEC server99.vix.com. CNAME RRSIG NSEC relay.vix.com. 3600 IN RRSIG NSEC 5 3 3600 20110629030401 20110331030401 63066 vix.com. SrJ3NLPntXcN+SpT9igyoEyQYznsomsbAxqfXutF5o0VDfaeHZvB2LZC7+HjCAwwH6F7YWItdRVFt4PVQ6/ouZ2K7r2RLoaMyaaHAJzhq4EN503AoFD7ONcMyVV4BIzI6vsquORSPW8H03ym/OkZOaQG0Bw2UFW/Q6Pwx4xVbKA= ;{id = 63066}

Page 288: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

# drill -D rps.vix.com @ns.sql1.vix.com ;; QUESTION SECTION:;; rps.vix.com. IN A

;; ANSWER SECTION:

;; AUTHORITY SECTION:vix.com. 3600 IN SOA ns.lah1.vix.com. hostmaster.vix.com. 2011033116 3600 1800 604800 3600vix.com. 3600 IN RRSIG SOA 5 2 3600 20110629030401 20110331030401 63066 vix.com. fPpFeE/Y/1HfFtKTAjfWlBQafC2i4qf5gYewmr0fQHzH7xIYmvx+rpenaKfr4By2R01Dh5q6kKgB3DR7G9swmAXcAVB5TzvQ6UcmjXcGGZPw+HUwUSIAt6q559YMKxSN6DTeh7/kNlLPtoPZqSmz7rxIr0USe2VwAYDznGtlzdQ= ;{id = 63066}vix.com. 3600 IN NSEC ns-lah1._meta.vix.com. A NS SOA MX TXT AAAA RRSIG NSEC DNSKEY vix.com. 3600 IN RRSIG NSEC 5 2 3600 20110629030401 20110331030401 63066 vix.com. Hm3dfubDRTtF8BrztQ3X2tCc5IJ7+JO3cB8F5rQhDAyzBz7XcOESJrwyUCk8YL/w3i360fUuhN3MahOdTzrzoAMxWp90yM5MRbRSzUQwQ+73cRbq2C2YEfsYPatPiL9vHnc5Wvo9xtrFEjiWK7qcHgBwO3SrXPsUYzn8seB8DtA= ;{id = 63066}relay.vix.com. 3600 IN NSEC server99.vix.com. CNAME RRSIG NSEC relay.vix.com. 3600 IN RRSIG NSEC 5 3 3600 20110629030401 20110331030401 63066 vix.com. SrJ3NLPntXcN+SpT9igyoEyQYznsomsbAxqfXutF5o0VDfaeHZvB2LZC7+HjCAwwH6F7YWItdRVFt4PVQ6/ouZ2K7r2RLoaMyaaHAJzhq4EN503AoFD7ONcMyVV4BIzI6vsquORSPW8H03ym/OkZOaQG0Bw2UFW/Q6Pwx4xVbKA= ;{id = 63066}

Page 289: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

# drill -D rps.vix.com @ns.sql1.vix.com ;; QUESTION SECTION:;; rps.vix.com. IN A

;; ANSWER SECTION:

;; AUTHORITY SECTION:vix.com. 3600 IN SOA ns.lah1.vix.com. hostmaster.vix.com. 2011033116 3600 1800 604800 3600vix.com. 3600 IN RRSIG SOA 5 2 3600 20110629030401 20110331030401 63066 vix.com. fPpFeE/Y/1HfFtKTAjfWlBQafC2i4qf5gYewmr0fQHzH7xIYmvx+rpenaKfr4By2R01Dh5q6kKgB3DR7G9swmAXcAVB5TzvQ6UcmjXcGGZPw+HUwUSIAt6q559YMKxSN6DTeh7/kNlLPtoPZqSmz7rxIr0USe2VwAYDznGtlzdQ= ;{id = 63066}vix.com. 3600 IN NSEC ns-lah1._meta.vix.com. A NS SOA MX TXT AAAA RRSIG NSEC DNSKEY vix.com. 3600 IN RRSIG NSEC 5 2 3600 20110629030401 20110331030401 63066 vix.com. Hm3dfubDRTtF8BrztQ3X2tCc5IJ7+JO3cB8F5rQhDAyzBz7XcOESJrwyUCk8YL/w3i360fUuhN3MahOdTzrzoAMxWp90yM5MRbRSzUQwQ+73cRbq2C2YEfsYPatPiL9vHnc5Wvo9xtrFEjiWK7qcHgBwO3SrXPsUYzn8seB8DtA= ;{id = 63066}relay.vix.com. 3600 IN NSEC server99.vix.com. CNAME RRSIG NSEC relay.vix.com. 3600 IN RRSIG NSEC 5 3 3600 20110629030401 20110331030401 63066 vix.com. SrJ3NLPntXcN+SpT9igyoEyQYznsomsbAxqfXutF5o0VDfaeHZvB2LZC7+HjCAwwH6F7YWItdRVFt4PVQ6/ouZ2K7r2RLoaMyaaHAJzhq4EN503AoFD7ONcMyVV4BIzI6vsquORSPW8H03ym/OkZOaQG0Bw2UFW/Q6Pwx4xVbKA=;{id = 63066}

Page 290: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

# drill -D rps.vix.com @ns.sql1.vix.com ;; QUESTION SECTION:;; rps.vix.com. IN A

;; ANSWER SECTION:

;; AUTHORITY SECTION:vix.com. 3600 IN SOA ns.lah1.vix.com. hostmaster.vix.com. 2011033116 3600 1800 604800 3600vix.com. 3600 IN RRSIG SOA 5 2 3600 20110629030401 20110331030401 63066 vix.com. fPpFeE/Y/1HfFtKTAjfWlBQafC2i4qf5gYewmr0fQHzH7xIYmvx+rpenaKfr4By2R01Dh5q6kKgB3DR7G9swmAXcAVB5TzvQ6UcmjXcGGZPw+HUwUSIAt6q559YMKxSN6DTeh7/kNlLPtoPZqSmz7rxIr0USe2VwAYDznGtlzdQ= ;{id = 63066}vix.com. 3600 IN NSEC ns-lah1._meta.vix.com. A NS SOA MX TXT AAAA RRSIG NSEC DNSKEY vix.com. 3600 IN RRSIG NSEC 5 2 3600 20110629030401 20110331030401 63066 vix.com. Hm3dfubDRTtF8BrztQ3X2tCc5IJ7+JO3cB8F5rQhDAyzBz7XcOESJrwyUCk8YL/w3i360fUuhN3MahOdTzrzoAMxWp90yM5MRbRSzUQwQ+73cRbq2C2YEfsYPatPiL9vHnc5Wvo9xtrFEjiWK7qcHgBwO3SrXPsUYzn8seB8DtA= ;{id = 63066}relay.vix.com. 3600 IN NSEC server99.vix.com. CNAME RRSIG NSEC relay.vix.com. 3600 IN RRSIG NSEC 5 3 3600 20110629030401 20110331030401 63066 vix.com. SrJ3NLPntXcN+SpT9igyoEyQYznsomsbAxqfXutF5o0VDfaeHZvB2LZC7+HjCAwwH6F7YWItdRVFt4PVQ6/ouZ2K7r2RLoaMyaaHAJzhq4EN503AoFD7ONcMyVV4BIzI6vsquORSPW8H03ym/OkZOaQG0Bw2UFW/Q6Pwx4xVbKA= ;{id = 63066}

Page 291: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DS - Delegation Signer

Page 292: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DS:

A key signed by the parent zone to indicate stuff down in the hierarchy can be trusted

Page 293: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DS:

The parent zone stores the key tag, algorithm and a digest/hash of the DNSKEY in the child zone.

Page 294: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DS:

The parent zone then signs the DS record and creates a corresponding RRSIG record

Page 295: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

# drill -s -D vix.com DNSKEY;; ANSWER SECTION:

vix.com. 3600 IN DNSKEY 257 3 5 AwEAAbKW5zsYMBUX4MS0yq3MNm4312c7WEF1Af2Iy2O/A+U+h7F3EtblBDJVs/LgtdjsE3JHak51iRaELLOoEvVeRIIa1UjNvXIei+QV1nlSas8LcXya0XOYA2Jfxez0pEWArN1QLhkgVDPAsEwKLzYfVjW78CFlOZnYxbBWXwKgb4z;{id = 26437 (ksk), size = 1024b}

vix.com. 3600 IN DNSKEY 256 3 5 BEAAAAO6wBt1U39U8meHca3JBCWixBi8BvZLMJZp51/5vViM2+fh93XF1SqJaAaqgX6PszTPUlElvuTV2xTV4uQjUTaFv8qDnsjbfXVusE1v+OaQpSVuP8GjI28cGi9PgAOcz2ACdiD2XVbYKUDTJb+pqoE/o3Z6FjKf6ByTkJUI5x9Dlw==;{id = 63066 (zsk), size = 1024b}

; vix.com. 3600 IN DS 26437 5 1 483cca94fd7e2aa30f4fca34ccf0db4ddc601388; xidaf-sidan-gazol-vupap-fofag-zudif-gufyz-bikag-talyk-begom-muxox

; vix.com. 3600 IN DS 63066 5 1 8229b0484396f12015de1cb7e3267ed1f109060a; xobid-nusog-mebon-kusid-bihyt-velyr-lomid-kizut-ceseb-nacab-puxux

}vix.com.

}com.

Page 296: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

# drill -s -D vix.com DNSKEY;; ANSWER SECTION:

vix.com. 3600 IN DNSKEY 257 3 5 AwEAAbKW5zsYMBUX4MS0yq3MNm4312c7WEF1Af2Iy2O/A+U+h7F3EtblBDJVs/LgtdjsE3JHak51iRaELLOoEvVeRIIa1UjNvXIei+QV1nlSas8LcXya0XOYA2Jfxez0pEWArN1QLhkgVDPAsEwKLzYfVjW78CFlOZnYxbBWXwKgb4z;{id = 26437 (ksk), size = 1024b}

vix.com. 3600 IN DNSKEY 256 3 5 BEAAAAO6wBt1U39U8meHca3JBCWixBi8BvZLMJZp51/5vViM2+fh93XF1SqJaAaqgX6PszTPUlElvuTV2xTV4uQjUTaFv8qDnsjbfXVusE1v+OaQpSVuP8GjI28cGi9PgAOcz2ACdiD2XVbYKUDTJb+pqoE/o3Z6FjKf6ByTkJUI5x9Dlw==;{id = 63066 (zsk), size = 1024b}

; vix.com. 3600 IN DS 26437 5 1 483cca94fd7e2aa30f4fca34ccf0db4ddc601388; xidaf-sidan-gazol-vupap-fofag-zudif-gufyz-bikag-talyk-begom-muxox

; vix.com. 3600 IN DS 63066 5 1 8229b0484396f12015de1cb7e3267ed1f109060a; xobid-nusog-mebon-kusid-bihyt-velyr-lomid-kizut-ceseb-nacab-puxux

Page 297: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

# drill -s -D vix.com DNSKEY;; ANSWER SECTION:

vix.com. 3600 IN DNSKEY 257 3 5 AwEAAbKW5zsYMBUX4MS0yq3MNm4312c7WEF1Af2Iy2O/A+U+h7F3EtblBDJVs/LgtdjsE3JHak51iRaELLOoEvVeRIIa1UjNvXIei+QV1nlSas8LcXya0XOYA2Jfxez0pEWArN1QLhkgVDPAsEwKLzYfVjW78CFlOZnYxbBWXwKgb4z;{id = 26437 (ksk), size = 1024b}

vix.com. 3600 IN DNSKEY 256 3 5 BEAAAAO6wBt1U39U8meHca3JBCWixBi8BvZLMJZp51/5vViM2+fh93XF1SqJaAaqgX6PszTPUlElvuTV2xTV4uQjUTaFv8qDnsjbfXVusE1v+OaQpSVuP8GjI28cGi9PgAOcz2ACdiD2XVbYKUDTJb+pqoE/o3Z6FjKf6ByTkJUI5x9Dlw==;{id = 63066 (zsk), size = 1024b}

; vix.com. 3600 IN DS 26437 5 1 483cca94fd7e2aa30f4fca34ccf0db4ddc601388; xidaf-sidan-gazol-vupap-fofag-zudif-gufyz-bikag-talyk-begom-muxox

; vix.com. 3600 IN DS 63066 5 1 8229b0484396f12015de1cb7e3267ed1f109060a; xobid-nusog-mebon-kusid-bihyt-velyr-lomid-kizut-ceseb-nacab-puxux

Page 298: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

# drill -s -D vix.com DNSKEY;; ANSWER SECTION:

vix.com. 3600 IN DNSKEY 257 3 5 AwEAAbKW5zsYMBUX4MS0yq3MNm4312c7WEF1Af2Iy2O/A+U+h7F3EtblBDJVs/LgtdjsE3JHak51iRaELLOoEvVeRIIa1UjNvXIei+QV1nlSas8LcXya0XOYA2Jfxez0pEWArN1QLhkgVDPAsEwKLzYfVjW78CFlOZnYxbBWXwKgb4z;{id = 26437 (ksk), size = 1024b}

vix.com. 3600 IN DNSKEY 256 3 5 BEAAAAO6wBt1U39U8meHca3JBCWixBi8BvZLMJZp51/5vViM2+fh93XF1SqJaAaqgX6PszTPUlElvuTV2xTV4uQjUTaFv8qDnsjbfXVusE1v+OaQpSVuP8GjI28cGi9PgAOcz2ACdiD2XVbYKUDTJb+pqoE/o3Z6FjKf6ByTkJUI5x9Dlw==;{id = 63066 (zsk), size = 1024b}

; vix.com. 3600 IN DS 26437 5 1 483cca94fd7e2aa30f4fca34ccf0db4ddc601388; xidaf-sidan-gazol-vupap-fofag-zudif-gufyz-bikag-talyk-begom-muxox

; vix.com. 3600 IN DS 63066 5 1 8229b0484396f12015de1cb7e3267ed1f109060a; xobid-nusog-mebon-kusid-bihyt-velyr-lomid-kizut-ceseb-nacab-puxux

Page 299: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Parameter Value

Key Signing Key (KSK) 2048 RSA

KSK Rollover Schedule once per year

KSK Algorithm RSA/SHA/256

Zone Signing Key (ZSK) 1024-bit RSA

ZSK Rollover Schedule once per month

ZSK Signature Algorithm RSA/SHA/256

Authenticated Proof of Non Existence

NSEC3 with opt-out

.CA Recommended DNSSEC Key Parameters

Page 300: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSSEC - Traversal

Page 301: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Caching Name Server

DNSSEC aware

Page 302: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

caching

recursivenameserver

resolver

client (aka)stub resolver

authority

RFC 4035

Page 303: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSSEC - Bootstrapping

Page 304: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Assumption - Root Zone has been signed

Page 305: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Assumption - Public Keys are available

Page 306: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

FACT - Root keys available since: 2010-07-15

Page 307: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSSEC - Fetch and Validate Root Keys

Page 308: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

This is a manual process.

Page 309: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

PGP signature: https://data.iana.org/root-anchors/root-anchors.asc

Guide: http://data.iana.org/root-anchors/draft-icann-dnssec-trust-anchor.txt

Complete trust anchor: https://data.iana.org/root-anchors/root-anchors.xml

Page 310: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSSEC - Traversal

Page 311: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

0

Page 312: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

1

Query

Page 313: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

2

Response

Page 314: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

2

Response

Page 315: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

2

Response

Page 316: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

3

Verification

Page 317: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

4

Query

Page 318: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

5

Response

Page 319: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

6a

Verification

Page 320: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

7

Query

Page 321: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

7

Response

Page 322: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

8

Page 323: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

9a

Page 324: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSSEC - Management

Page 325: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

<1>

Page 326: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Generate a Key Signing Pair*

* KSK: Larger is better as the life time may be long

Page 327: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

<2>

Page 328: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Create a MD of the KSK for the Boss*

* Whoever administers the zone above in the hierarchy

Page 329: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

<3>

Page 330: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Generate a Zone Signing Pair*

* ZSK is authenticated by signing with the KSK.

Page 331: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

<4>

Page 332: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Create the NSEC/NSEC3 RRs

Page 333: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

<5>

Page 334: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Create RRSIGs for all RRs using the ZSK

Page 335: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

<6>

Page 336: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Recreate RRSIGs when editing RRs or upon expiry *

* NTP is important for proper DNSSEC

Page 337: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

<7>

Page 338: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Recreate ZSK/KSK from time to time and resign

Page 339: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

<8>

Page 340: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

time, disk, bandwidth,memory requirements

Page 341: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

time, disk, bandwidth,memory requirements

hours, 4-12x, 90% -> 400%,10-200%

Page 342: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSSEC - Security

Page 343: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

3 goals of good computer security

Page 344: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Confidentiality

Page 345: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Integrity

Page 346: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Availability

Page 347: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Confidentiality?

Page 348: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS
Page 349: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Integrity?

Page 350: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Mostly

Page 351: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSSEC - Prevents Active MiM attacks *

* given all links in the DNS query-response are DNSSEC aware

Page 352: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSSEC - Allows for replay attacks.

Page 353: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSSEC - Crypto brute force attacks

Page 354: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSSEC - How safe is RSA/SHA-1?

Page 355: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Availability

Page 356: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Potential and Risk of

Page 357: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSSEC - Creates other types of attacks

Page 358: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSSEC - Enhances DoS/Availability attacks

Page 359: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSSEC - Amplification Attack

Page 360: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

# drill -D se. @a.ns.se. DNSKEY ;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 37009;; flags: qr aa rd ; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION:;; se. IN DNSKEY

;; ANSWER SECTION:se. 3600 IN DNSKEY 256 3 5 AwEAAYUDNvoT6yfrNra/7d2c7ZoSBphCxjs5xrpPbAPi8F6aP/oC2W9xPaXa5BXcEhneMwiabUBErF4LWFkSher5z2mrPN/3/YH/78IGwMMWV2wxOAtzbLkhuXWTh7cjH2u5sR8xvVeAQgAV0fGCE/ykvj6bF2pvj1r/5KRY0izG7PAZ ;{id = 57240 (zsk), size = 1024b}se. 3600 IN DNSKEY 256 3 5 AwEAAdZgee2x1z9yHDWAfJ3oqAnwoU/v/awpObk6lCnxtoZ6ukq6+OxgYOdusS7qCHf+LcBRCsAehpQJAWzL7c4xRrs2PT4/z4jZMtfa1EX6hN+s0ZXjxYwR7WdqVje4/Jtn2krpUvE+jjIyegQ+DKFkbxawGJ5pG3EgU3B0MSvEonMT ;{id = 12973 (zsk), size = 1024b}se. 3600 IN DNSKEY 257 3 5 AwEAAbaxTum9L7z1DmPiXPk0QZ2/qUM3to210Caey/ycZuvQ8Mh/dgGpwBmyZB9xZSkaCLa2Mw6pmDLrjK9hWOffq5PXRVm9RrcA/eIEBEvbQzkY5sFkWAczNAs58Oscxi+/Gd5KfuVi3lJpYgJwwa2JB4doZ00IXywcCn0VTz0Hsl/lqpA2Bqj+e+ATzA5hWyiNyHPjiYvyMCkSXTiGgFVVuG8H3N6Us8uSABuO2UoFQeQi6YikIiCbf1FfCzr4vBIRXW6MaDs8kqAAadKjLk3i39dviL/YeyGUvq9Dan9PsvkwQejKN/7J0yCr2nYXfwGGCHkcBKkagv79EaRlZigUCp8= ;{id = 39547 (ksk), size = 2048b}se. 3600 IN DNSKEY 257 3 5 AwEAAb6IEZ2ETrgngbjONAC1Ob4dRs/jD0MYPcMXRzQlo/eqo5AHXvqPaav+rgA3q+I6zvWYFTMUPxNT2wdJwV4R7VbXb3pBfYPBzeacqPaWSbw4W1BFdYyOWKe0sw3gvwD62dLGbykQAqx5gUYZ8gBtFXDsJe/x+JvenC/wmz7yW6mxpn3Tzd60vE6wjXhnBs62905xckOBskVx6dI+dMLoXNG2p5tpXfT4dGrA10SFWVb2C9QTaFww9fP60QqVoYz1xU1Z5BXa5ZB1O8I4rHYGtDYU36n0UhCG4nWnTJgUbNRsN3CeeTplkZ94JS8jMsdA0x983VIn5stGU1W4juyDqF0= ;{id = 7649 (ksk), size = 2048b}se. 3600 IN RRSIG DNSKEY 5 1 3600 20110409220345 20110403210548 7649 se. U8IIYExbbCcxYeTfQQGB/jEYuKnVFlG2c8bojkvt3U7fNx7l7Z3IUdEuLxATR4+xw3aKmGdfioC6EXNt5UmcOoUNxyf6t4zhEMmV9/LDXxUlASDIBmk/e5RWTCFeiY+BU2nY2Rir8owku5C+Rk9bJDx886VhnKj4qD0MJB2Xep1WmFqnPQ8siTEb/rYJ1h/3ao4wWim8lMNttTY4SQC+A7sEAFlY7vN2D73W0lAVIEde/sh6ARQEgv+YqPTYbN2Wae7tzyI1efr0Ih8suSF8DjUoLeWnFhbSzAbAooS4CegiF/Kkc+2MwuFLtzuYeZVAZnegAZuAH81N833owMfShw== ;{id = 7649}se. 3600 IN RRSIG DNSKEY 5 1 3600 20110410160345 20110404150548 39547 se. E3uA3bUSOhBNTWoqARj6fSrFdxvaGDjSQRipT5Em+HUX4NO9TR2/02tweeA8QKII3bKBRfZ1r56blLK9nqOelv3UhPgEbwHwmdpC9fHbRi9FCX+hL5UuZWCUqcwnu3rTLRIckpAGf+LOnuXyurwHauVhb2ij1QQ9W/A1a4dddDwbiFxgg0Lo5xaTmA8ixw4Z59AvM5WudWHv5X1yG0VX3dDNoHFbD+PdOBuZ0ZZg4XnYKFAWBu6gUPsgTkhCrF+q+9k+0d9duybXXrDEJnOBu+YVEVu1ECtdekvGPV+UWOA/SOLfLWPNPPjjgu/JsMeKLIbgEvQIsu6zpaZvc1l8ng== ;{id = 39547}

Page 361: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

# drill -D se. @a.ns.se. DNSKEY ;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 37009;; flags: qr aa rd ; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION:;; se. IN DNSKEY

;; ANSWER SECTION:se. 3600 IN DNSKEY 256 3 5 AwEAAYUDNvoT6yfrNra/7d2c7ZoSBphCxjs5xrpPbAPi8F6aP/oC2W9xPaXa5BXcEhneMwiabUBErF4LWFkSher5z2mrPN/3/YH/78IGwMMWV2wxOAtzbLkhuXWTh7cjH2u5sR8xvVeAQgAV0fGCE/ykvj6bF2pvj1r/5KRY0izG7PAZ ;{id = 57240 (zsk), size = 1024b}se. 3600 IN DNSKEY 256 3 5 AwEAAdZgee2x1z9yHDWAfJ3oqAnwoU/v/awpObk6lCnxtoZ6ukq6+OxgYOdusS7qCHf+LcBRCsAehpQJAWzL7c4xRrs2PT4/z4jZMtfa1EX6hN+s0ZXjxYwR7WdqVje4/Jtn2krpUvE+jjIyegQ+DKFkbxawGJ5pG3EgU3B0MSvEonMT ;{id = 12973 (zsk), size = 1024b}se. 3600 IN DNSKEY 257 3 5 AwEAAbaxTum9L7z1DmPiXPk0QZ2/qUM3to210Caey/ycZuvQ8Mh/dgGpwBmyZB9xZSkaCLa2Mw6pmDLrjK9hWOffq5PXRVm9RrcA/eIEBEvbQzkY5sFkWAczNAs58Oscxi+/Gd5KfuVi3lJpYgJwwa2JB4doZ00IXywcCn0VTz0Hsl/lqpA2Bqj+e+ATzA5hWyiNyHPjiYvyMCkSXTiGgFVVuG8H3N6Us8uSABuO2UoFQeQi6YikIiCbf1FfCzr4vBIRXW6MaDs8kqAAadKjLk3i39dviL/YeyGUvq9Dan9PsvkwQejKN/7J0yCr2nYXfwGGCHkcBKkagv79EaRlZigUCp8= ;{id = 39547 (ksk), size = 2048b}se. 3600 IN DNSKEY 257 3 5 AwEAAb6IEZ2ETrgngbjONAC1Ob4dRs/jD0MYPcMXRzQlo/eqo5AHXvqPaav+rgA3q+I6zvWYFTMUPxNT2wdJwV4R7VbXb3pBfYPBzeacqPaWSbw4W1BFdYyOWKe0sw3gvwD62dLGbykQAqx5gUYZ8gBtFXDsJe/x+JvenC/wmz7yW6mxpn3Tzd60vE6wjXhnBs62905xckOBskVx6dI+dMLoXNG2p5tpXfT4dGrA10SFWVb2C9QTaFww9fP60QqVoYz1xU1Z5BXa5ZB1O8I4rHYGtDYU36n0UhCG4nWnTJgUbNRsN3CeeTplkZ94JS8jMsdA0x983VIn5stGU1W4juyDqF0= ;{id = 7649 (ksk), size = 2048b}se. 3600 IN RRSIG DNSKEY 5 1 3600 20110409220345 20110403210548 7649 se. U8IIYExbbCcxYeTfQQGB/jEYuKnVFlG2c8bojkvt3U7fNx7l7Z3IUdEuLxATR4+xw3aKmGdfioC6EXNt5UmcOoUNxyf6t4zhEMmV9/LDXxUlASDIBmk/e5RWTCFeiY+BU2nY2Rir8owku5C+Rk9bJDx886VhnKj4qD0MJB2Xep1WmFqnPQ8siTEb/rYJ1h/3ao4wWim8lMNttTY4SQC+A7sEAFlY7vN2D73W0lAVIEde/sh6ARQEgv+YqPTYbN2Wae7tzyI1efr0Ih8suSF8DjUoLeWnFhbSzAbAooS4CegiF/Kkc+2MwuFLtzuYeZVAZnegAZuAH81N833owMfShw== ;{id = 7649}se. 3600 IN RRSIG DNSKEY 5 1 3600 20110410160345 20110404150548 39547 se. E3uA3bUSOhBNTWoqARj6fSrFdxvaGDjSQRipT5Em+HUX4NO9TR2/02tweeA8QKII3bKBRfZ1r56blLK9nqOelv3UhPgEbwHwmdpC9fHbRi9FCX+hL5UuZWCUqcwnu3rTLRIckpAGf+LOnuXyurwHauVhb2ij1QQ9W/A1a4dddDwbiFxgg0Lo5xaTmA8ixw4Z59AvM5WudWHv5X1yG0VX3dDNoHFbD+PdOBuZ0ZZg4XnYKFAWBu6gUPsgTkhCrF+q+9k+0d9duybXXrDEJnOBu+YVEVu1ECtdekvGPV+UWOA/SOLfLWPNPPjjgu/JsMeKLIbgEvQIsu6zpaZvc1l8ng== ;{id = 39547}

Page 362: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Response:Query = 120:1

Page 363: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Average amplification factor: 30x

Page 364: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSCurve

Page 365: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSCurve: Rationale

Page 366: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSSEC: 15 years in the making

Page 367: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSSEC: does not solve all the security issues

Page 368: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSCurve: History

mathematiciancryptologistprogrammer

Page 369: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSCurve: Proposed in 2008

Page 370: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSCurve: Objectives

Page 371: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Confidentiality

Page 372: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

All DNS payload data is encrypted

Page 373: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

IP, UDP, TCP headers are plaintext

Page 374: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Encryption Methods

Page 375: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Does not use standard RSA

Page 376: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Does use ECC*

* Elliptic-Curve Cryptography

Page 377: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Specifically: Curve25519

Page 378: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Curve25519 is Open/Free

Page 379: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Curve25519 is fast enough for real time encryption

Page 380: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

RSA-1024 requires ~ 2^80 operations to break

Page 381: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

How large computationally speaking is 2^80?

Page 382: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

x 1 year == 2^69

Page 383: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

x 1 year == 2^802048

Page 384: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

2003: 1024-bit RSA deemed breakable

Page 385: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

2003: RSA Labs recommends 2048-bit RSA for the remainder of the decade

Page 386: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

2005: NSA recommends ECC for all public-key cryptography and withdrawing previous recommendations of RSA.

Page 387: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

2007: NIST recommends 2048-bit RSA

Page 388: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

2010: US gov. recommends 2048-bit RSA

Page 389: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Curve25519 == 3000 bit RSA

Page 390: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

ECC-256 requires 2^128 operations

Page 391: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

ECC-256: no attack degradation on 25 years

Page 392: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Confidentiality?

Page 393: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Integrity...

Page 394: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

All DNS Queries and Responses are authenticated, cryptographically

Page 395: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Authenticity is guaranteed as well as non-repudiation

Page 396: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Uses nonces* in all communication to prevent replay attacks

* one time use number

Page 397: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Backwards compatible with regular DNS services

Page 398: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Integrity?

Page 399: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Availability

Page 400: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Server: several authoritative servers

Page 401: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Client: Non-authenticated/Rogue DNS servers are rejected

Page 402: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Client: some amplification is produced

Page 403: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Availability

Mostly

Page 404: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Protocol Specification

Page 405: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Two data formats of are used

Page 406: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Streamlined Format

Page 407: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Custom & Efficient

Page 408: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

CHAPTER 4. DNSCURVE 4.4. SPECIFICATION

information that is needed for a DNSCurve conversation. It should how-

ever be noticed there is a difference between a streamlined query, and a

streamlined response.

Let’s first focus on a streamlined query. Figure 4.1 illustrates what a stream-

lined query looks like. Remark that the figure is 16-byte horizontally aligned,

one box in the protocol format is one byte.

1 1 1 1 1 10 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5

+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+| Q| 6| f| n| v| W| j| 8|+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+| CLIENT PUBLIC KEY || |+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+| CLIENT NONCE |+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+/ // CRYPTOGRAPHIC BOX // /+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

Figure 4.1: DNSCurve streamlined query format

A query starts by an 8-byte fixed string (i.e. Q6fnvWj8) that will always

prefix a streamlined DNSCurve query packet. What follows is the client’s

public key, that is 32-bytes long. How and what this client public key ex-

actly is, will be discussed in the next subsection, that focuses on the used

cryptographic primitives.

Next, a 12-byte client selected nonce can be distinguished. This nonce

should be different for each and every packet. It is used to guarantee fresh-

ness and helps by preventing replay attacks. The specification [6] suggests

to use either a counter or time related data for the first 64-bits of the nonce.

The last 32-bits can be cryptographically random generated. This would

make collisions improbable.

Finally an arbitrary length cryptographic box is found. This crypto-

graphic box will contain the entire original standard DNS query packet, only

now encrypted, and authenticated. What this cryptobox exactly is, will be

discussed in a later subsection, that focuses on DNSCurve’s cryptography.

It might seem awkward there is no length field, specifying the size of the

cryptographic box. This is done on purpose, because operating systems will

deliver the entire streamlined packet together with a total number of bytes,

to a program. Making it easy to calculate the only variable length in the

packet.

Notice that all bytes discussed here, are truly bytes. In the sense that

79

Query Format

Page 409: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Response Format

4.4. SPECIFICATION CHAPTER 4. DNSCURVE

there is no restriction on (alpha-)numeric character use.

Now focus on a streamlined response. The format of a streamlined responsepacket is portrayed in Figure 4.2.

1 1 1 1 1 10 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5

+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+| R| 6| f| n| v| W| J| 8|+--+--+--+--+--+--+--+--+--+--+--+--+| CLIENT NONCE |+--+--+--+--+--+--+--+--+--+--+--+--+| SERVER NONCE |+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+/ // CRYPTOGRAPHIC BOX // /+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

Figure 4.2: DNSCurve streamlined response format

Just like the query format, this packet is prefixed with an 8-byte fixedstring (that is equal to the one from the query, only the first byte is differ-ent, indicating it is a response: R6fnvWj8). What follows is a copy of theclient’s 12-byte nonce, that was sent to the server in the query packet. Next,a server selected 12-byte nonce is included. This nonce, together with theclient’s one, will guarantee total freshness, and should be created in thesame matter as the client nonce was. Finally, the cryptographic box contain-ing the entire regular DNS response can be found. The length of the box isagain arbitrary.

It is obvious that the client’s public key is not needed anymore in a re-sponse, since this is already known by the client. It is therefore intentionallyleft out.

TXT-formatIt is clear that a firewall that actively checks any packet that is passing onUDP port 53 will notice a streamlined query is not a true DNS query. There-fore it will reject the packet from passing, making DNSCurve unavailable toclients behind this firewall. That is why the TXT-format was introduced. Asthe name suggests, DNSCurve uses the TXT-type resource records to ‘hide’its details in. Just like with the streamlined format, a differentiation hasbeen made between a query and response format.

There is not much space in a regular DNS query to hide any information in.Most firewalls allow only one query in the query section, and zero records inthe answer-, authority-, and additional section. This means that all informa-tion that a client has to send to a server, should be put inside a part that has

80

Page 410: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

TXT-Format

Deep DNS 53

Page 411: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSCurve: Key Usage

Page 412: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

No new RRs are introduced

Page 413: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSSEC: RRs provide the keys

Page 414: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSCurve: No new RRs

Page 415: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

How do we get the name server keys?

Page 416: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

“If it were not for key management, Cryptography would be easy!”

Page 417: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

“note -- i think dnssec is terribly ugly but i have come to terms with that and am pushing forward with it because i want what it can do for the world.”

Paul Vixie, BIND/DNSSEC author/architect

Page 418: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Keys are obtained from existing RRs!

Page 419: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Server pub keys are hidden in NS records

Page 420: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

E.g. example.org

Page 421: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Regular DNS: ns1.example.org

Page 422: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNScurve:uz5dkhm9g380kyx9slmktyvmb1h0ck7whwzc5uqvl8f1cwfp8zl3ub.ns1.example.org

Page 423: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSCurve: Traversal

Page 424: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

0

CHAPTER 4. DNSCURVE 4.4. SPECIFICATION

org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

. name serversQuery: foo.example.org. A

Response:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

Time

example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1

example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1

uz5b63cp···.ns1.iana.com name server

foo.example.org A 10.34.56.78foo.example.org A 10.34.56.78

uz5bm7r2···.ns2.example.org. name server

44

Trust anchors:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

Trust anchors:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

00

11

22

33

Response: R6fnvWJ8··· (DNSCurve respone packet containing: example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1 )

55

66Query: Q6fnvWj8··· (DNSCurve query packet containing: foo.example.org. A )

77

Response: R6fnvWJ8··· (DNSCurve response packet containing: foo.example.org. A 10.34.56.78 )

88

99

Query: Q6fnvWj8··· (DNSCurve query packet containing: foo.example.org. A )

Client key pair:nd871j5kdrl0pzsw···x1a3f29d0rxc7wq9···

Client key pair:nd871j5kdrl0pzsw···x1a3f29d0rxc7wq9···

Figure 4.6: Graphical representation of a DNSCurve traversal

private key. The lower base-32 encoded string is the client’s public key,

that is preceded by the magic (client public key) string: x1a.

1. Because no trusted keys are found for the root (.), a regular DNS A-

type query for foo.example.org is send to one of the randomly picked

root servers.

2. The root servers do not know anything about foo.example.org, but it

does know something about the .org zone. A regular DNS response is

received, with this information included.

Note this response can be subject to active cache poisoning attacks.

However, because a trusted key is used for the .org zone, a rogue

response will be noticed in the next step.

3. The first ‘verification’ step can now start. Since no DNSCurve response

is received, nothing has to be done with the received packet. However,

referrals have been received that refer to the same zone that is in the

trusted keys of circle 0. To initiate trust in these keys, the received

ones and the already known ones are compared. If they equalize, the

91

Page 425: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

CHAPTER 4. DNSCURVE 4.4. SPECIFICATION

org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

. name serversQuery: foo.example.org. A

Response:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

Time

example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1

example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1

uz5b63cp···.ns1.iana.com name server

foo.example.org A 10.34.56.78foo.example.org A 10.34.56.78

uz5bm7r2···.ns2.example.org. name server

44

Trust anchors:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

Trust anchors:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

00

11

22

33

Response: R6fnvWJ8··· (DNSCurve respone packet containing: example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1 )

55

66Query: Q6fnvWj8··· (DNSCurve query packet containing: foo.example.org. A )

77

Response: R6fnvWJ8··· (DNSCurve response packet containing: foo.example.org. A 10.34.56.78 )

88

99

Query: Q6fnvWj8··· (DNSCurve query packet containing: foo.example.org. A )

Client key pair:nd871j5kdrl0pzsw···x1a3f29d0rxc7wq9···

Client key pair:nd871j5kdrl0pzsw···x1a3f29d0rxc7wq9···

Figure 4.6: Graphical representation of a DNSCurve traversal

private key. The lower base-32 encoded string is the client’s public key,

that is preceded by the magic (client public key) string: x1a.

1. Because no trusted keys are found for the root (.), a regular DNS A-

type query for foo.example.org is send to one of the randomly picked

root servers.

2. The root servers do not know anything about foo.example.org, but it

does know something about the .org zone. A regular DNS response is

received, with this information included.

Note this response can be subject to active cache poisoning attacks.

However, because a trusted key is used for the .org zone, a rogue

response will be noticed in the next step.

3. The first ‘verification’ step can now start. Since no DNSCurve response

is received, nothing has to be done with the received packet. However,

referrals have been received that refer to the same zone that is in the

trusted keys of circle 0. To initiate trust in these keys, the received

ones and the already known ones are compared. If they equalize, the

91

1

Page 426: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

CHAPTER 4. DNSCURVE 4.4. SPECIFICATION

org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

. name serversQuery: foo.example.org. A

Response:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

Time

example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1

example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1

uz5b63cp···.ns1.iana.com name server

foo.example.org A 10.34.56.78foo.example.org A 10.34.56.78

uz5bm7r2···.ns2.example.org. name server

44

Trust anchors:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

Trust anchors:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

00

11

22

33

Response: R6fnvWJ8··· (DNSCurve respone packet containing: example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1 )

55

66Query: Q6fnvWj8··· (DNSCurve query packet containing: foo.example.org. A )

77

Response: R6fnvWJ8··· (DNSCurve response packet containing: foo.example.org. A 10.34.56.78 )

88

99

Query: Q6fnvWj8··· (DNSCurve query packet containing: foo.example.org. A )

Client key pair:nd871j5kdrl0pzsw···x1a3f29d0rxc7wq9···

Client key pair:nd871j5kdrl0pzsw···x1a3f29d0rxc7wq9···

Figure 4.6: Graphical representation of a DNSCurve traversal

private key. The lower base-32 encoded string is the client’s public key,

that is preceded by the magic (client public key) string: x1a.

1. Because no trusted keys are found for the root (.), a regular DNS A-

type query for foo.example.org is send to one of the randomly picked

root servers.

2. The root servers do not know anything about foo.example.org, but it

does know something about the .org zone. A regular DNS response is

received, with this information included.

Note this response can be subject to active cache poisoning attacks.

However, because a trusted key is used for the .org zone, a rogue

response will be noticed in the next step.

3. The first ‘verification’ step can now start. Since no DNSCurve response

is received, nothing has to be done with the received packet. However,

referrals have been received that refer to the same zone that is in the

trusted keys of circle 0. To initiate trust in these keys, the received

ones and the already known ones are compared. If they equalize, the

91

2

Page 427: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

CHAPTER 4. DNSCURVE 4.4. SPECIFICATION

org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

. name serversQuery: foo.example.org. A

Response:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

Time

example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1

example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1

uz5b63cp···.ns1.iana.com name server

foo.example.org A 10.34.56.78foo.example.org A 10.34.56.78

uz5bm7r2···.ns2.example.org. name server

44

Trust anchors:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

Trust anchors:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

00

11

22

33

Response: R6fnvWJ8··· (DNSCurve respone packet containing: example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1 )

55

66Query: Q6fnvWj8··· (DNSCurve query packet containing: foo.example.org. A )

77

Response: R6fnvWJ8··· (DNSCurve response packet containing: foo.example.org. A 10.34.56.78 )

88

99

Query: Q6fnvWj8··· (DNSCurve query packet containing: foo.example.org. A )

Client key pair:nd871j5kdrl0pzsw···x1a3f29d0rxc7wq9···

Client key pair:nd871j5kdrl0pzsw···x1a3f29d0rxc7wq9···

Figure 4.6: Graphical representation of a DNSCurve traversal

private key. The lower base-32 encoded string is the client’s public key,

that is preceded by the magic (client public key) string: x1a.

1. Because no trusted keys are found for the root (.), a regular DNS A-

type query for foo.example.org is send to one of the randomly picked

root servers.

2. The root servers do not know anything about foo.example.org, but it

does know something about the .org zone. A regular DNS response is

received, with this information included.

Note this response can be subject to active cache poisoning attacks.

However, because a trusted key is used for the .org zone, a rogue

response will be noticed in the next step.

3. The first ‘verification’ step can now start. Since no DNSCurve response

is received, nothing has to be done with the received packet. However,

referrals have been received that refer to the same zone that is in the

trusted keys of circle 0. To initiate trust in these keys, the received

ones and the already known ones are compared. If they equalize, the

91

3

Page 428: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

CHAPTER 4. DNSCURVE 4.4. SPECIFICATION

org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

. name serversQuery: foo.example.org. A

Response:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

Time

example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1

example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1

uz5b63cp···.ns1.iana.com name server

foo.example.org A 10.34.56.78foo.example.org A 10.34.56.78

uz5bm7r2···.ns2.example.org. name server

44

Trust anchors:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

Trust anchors:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

00

11

22

33

Response: R6fnvWJ8··· (DNSCurve respone packet containing: example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1 )

55

66Query: Q6fnvWj8··· (DNSCurve query packet containing: foo.example.org. A )

77

Response: R6fnvWJ8··· (DNSCurve response packet containing: foo.example.org. A 10.34.56.78 )

88

99

Query: Q6fnvWj8··· (DNSCurve query packet containing: foo.example.org. A )

Client key pair:nd871j5kdrl0pzsw···x1a3f29d0rxc7wq9···

Client key pair:nd871j5kdrl0pzsw···x1a3f29d0rxc7wq9···

Figure 4.6: Graphical representation of a DNSCurve traversal

private key. The lower base-32 encoded string is the client’s public key,

that is preceded by the magic (client public key) string: x1a.

1. Because no trusted keys are found for the root (.), a regular DNS A-

type query for foo.example.org is send to one of the randomly picked

root servers.

2. The root servers do not know anything about foo.example.org, but it

does know something about the .org zone. A regular DNS response is

received, with this information included.

Note this response can be subject to active cache poisoning attacks.

However, because a trusted key is used for the .org zone, a rogue

response will be noticed in the next step.

3. The first ‘verification’ step can now start. Since no DNSCurve response

is received, nothing has to be done with the received packet. However,

referrals have been received that refer to the same zone that is in the

trusted keys of circle 0. To initiate trust in these keys, the received

ones and the already known ones are compared. If they equalize, the

91

4

Page 429: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

CHAPTER 4. DNSCURVE 4.4. SPECIFICATION

org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

. name serversQuery: foo.example.org. A

Response:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

Time

example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1

example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1

uz5b63cp···.ns1.iana.com name server

foo.example.org A 10.34.56.78foo.example.org A 10.34.56.78

uz5bm7r2···.ns2.example.org. name server

44

Trust anchors:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

Trust anchors:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

00

11

22

33

Response: R6fnvWJ8··· (DNSCurve respone packet containing: example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1 )

55

66Query: Q6fnvWj8··· (DNSCurve query packet containing: foo.example.org. A )

77

Response: R6fnvWJ8··· (DNSCurve response packet containing: foo.example.org. A 10.34.56.78 )

88

99

Query: Q6fnvWj8··· (DNSCurve query packet containing: foo.example.org. A )

Client key pair:nd871j5kdrl0pzsw···x1a3f29d0rxc7wq9···

Client key pair:nd871j5kdrl0pzsw···x1a3f29d0rxc7wq9···

Figure 4.6: Graphical representation of a DNSCurve traversal

private key. The lower base-32 encoded string is the client’s public key,

that is preceded by the magic (client public key) string: x1a.

1. Because no trusted keys are found for the root (.), a regular DNS A-

type query for foo.example.org is send to one of the randomly picked

root servers.

2. The root servers do not know anything about foo.example.org, but it

does know something about the .org zone. A regular DNS response is

received, with this information included.

Note this response can be subject to active cache poisoning attacks.

However, because a trusted key is used for the .org zone, a rogue

response will be noticed in the next step.

3. The first ‘verification’ step can now start. Since no DNSCurve response

is received, nothing has to be done with the received packet. However,

referrals have been received that refer to the same zone that is in the

trusted keys of circle 0. To initiate trust in these keys, the received

ones and the already known ones are compared. If they equalize, the

91

5

Page 430: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

CHAPTER 4. DNSCURVE 4.4. SPECIFICATION

org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

. name serversQuery: foo.example.org. A

Response:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

Time

example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1

example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1

uz5b63cp···.ns1.iana.com name server

foo.example.org A 10.34.56.78foo.example.org A 10.34.56.78

uz5bm7r2···.ns2.example.org. name server

44

Trust anchors:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

Trust anchors:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

00

11

22

33

Response: R6fnvWJ8··· (DNSCurve respone packet containing: example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1 )

55

66Query: Q6fnvWj8··· (DNSCurve query packet containing: foo.example.org. A )

77

Response: R6fnvWJ8··· (DNSCurve response packet containing: foo.example.org. A 10.34.56.78 )

88

99

Query: Q6fnvWj8··· (DNSCurve query packet containing: foo.example.org. A )

Client key pair:nd871j5kdrl0pzsw···x1a3f29d0rxc7wq9···

Client key pair:nd871j5kdrl0pzsw···x1a3f29d0rxc7wq9···

Figure 4.6: Graphical representation of a DNSCurve traversal

private key. The lower base-32 encoded string is the client’s public key,

that is preceded by the magic (client public key) string: x1a.

1. Because no trusted keys are found for the root (.), a regular DNS A-

type query for foo.example.org is send to one of the randomly picked

root servers.

2. The root servers do not know anything about foo.example.org, but it

does know something about the .org zone. A regular DNS response is

received, with this information included.

Note this response can be subject to active cache poisoning attacks.

However, because a trusted key is used for the .org zone, a rogue

response will be noticed in the next step.

3. The first ‘verification’ step can now start. Since no DNSCurve response

is received, nothing has to be done with the received packet. However,

referrals have been received that refer to the same zone that is in the

trusted keys of circle 0. To initiate trust in these keys, the received

ones and the already known ones are compared. If they equalize, the

91

6

Page 431: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

CHAPTER 4. DNSCURVE 4.4. SPECIFICATION

org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

. name serversQuery: foo.example.org. A

Response:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

Time

example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1

example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1

uz5b63cp···.ns1.iana.com name server

foo.example.org A 10.34.56.78foo.example.org A 10.34.56.78

uz5bm7r2···.ns2.example.org. name server

44

Trust anchors:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

Trust anchors:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

00

11

22

33

Response: R6fnvWJ8··· (DNSCurve respone packet containing: example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1 )

55

66Query: Q6fnvWj8··· (DNSCurve query packet containing: foo.example.org. A )

77

Response: R6fnvWJ8··· (DNSCurve response packet containing: foo.example.org. A 10.34.56.78 )

88

99

Query: Q6fnvWj8··· (DNSCurve query packet containing: foo.example.org. A )

Client key pair:nd871j5kdrl0pzsw···x1a3f29d0rxc7wq9···

Client key pair:nd871j5kdrl0pzsw···x1a3f29d0rxc7wq9···

Figure 4.6: Graphical representation of a DNSCurve traversal

private key. The lower base-32 encoded string is the client’s public key,

that is preceded by the magic (client public key) string: x1a.

1. Because no trusted keys are found for the root (.), a regular DNS A-

type query for foo.example.org is send to one of the randomly picked

root servers.

2. The root servers do not know anything about foo.example.org, but it

does know something about the .org zone. A regular DNS response is

received, with this information included.

Note this response can be subject to active cache poisoning attacks.

However, because a trusted key is used for the .org zone, a rogue

response will be noticed in the next step.

3. The first ‘verification’ step can now start. Since no DNSCurve response

is received, nothing has to be done with the received packet. However,

referrals have been received that refer to the same zone that is in the

trusted keys of circle 0. To initiate trust in these keys, the received

ones and the already known ones are compared. If they equalize, the

91

7

Page 432: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

CHAPTER 4. DNSCURVE 4.4. SPECIFICATION

org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

. name serversQuery: foo.example.org. A

Response:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

Time

example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1

example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1

uz5b63cp···.ns1.iana.com name server

foo.example.org A 10.34.56.78foo.example.org A 10.34.56.78

uz5bm7r2···.ns2.example.org. name server

44

Trust anchors:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

Trust anchors:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

00

11

22

33

Response: R6fnvWJ8··· (DNSCurve respone packet containing: example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1 )

55

66Query: Q6fnvWj8··· (DNSCurve query packet containing: foo.example.org. A )

77

Response: R6fnvWJ8··· (DNSCurve response packet containing: foo.example.org. A 10.34.56.78 )

88

99

Query: Q6fnvWj8··· (DNSCurve query packet containing: foo.example.org. A )

Client key pair:nd871j5kdrl0pzsw···x1a3f29d0rxc7wq9···

Client key pair:nd871j5kdrl0pzsw···x1a3f29d0rxc7wq9···

Figure 4.6: Graphical representation of a DNSCurve traversal

private key. The lower base-32 encoded string is the client’s public key,

that is preceded by the magic (client public key) string: x1a.

1. Because no trusted keys are found for the root (.), a regular DNS A-

type query for foo.example.org is send to one of the randomly picked

root servers.

2. The root servers do not know anything about foo.example.org, but it

does know something about the .org zone. A regular DNS response is

received, with this information included.

Note this response can be subject to active cache poisoning attacks.

However, because a trusted key is used for the .org zone, a rogue

response will be noticed in the next step.

3. The first ‘verification’ step can now start. Since no DNSCurve response

is received, nothing has to be done with the received packet. However,

referrals have been received that refer to the same zone that is in the

trusted keys of circle 0. To initiate trust in these keys, the received

ones and the already known ones are compared. If they equalize, the

91

8

Page 433: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

CHAPTER 4. DNSCURVE 4.4. SPECIFICATION

org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

. name serversQuery: foo.example.org. A

Response:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

Time

example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1

example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1

uz5b63cp···.ns1.iana.com name server

foo.example.org A 10.34.56.78foo.example.org A 10.34.56.78

uz5bm7r2···.ns2.example.org. name server

44

Trust anchors:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

Trust anchors:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

00

11

22

33

Response: R6fnvWJ8··· (DNSCurve respone packet containing: example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1 )

55

66Query: Q6fnvWj8··· (DNSCurve query packet containing: foo.example.org. A )

77

Response: R6fnvWJ8··· (DNSCurve response packet containing: foo.example.org. A 10.34.56.78 )

88

99

Query: Q6fnvWj8··· (DNSCurve query packet containing: foo.example.org. A )

Client key pair:nd871j5kdrl0pzsw···x1a3f29d0rxc7wq9···

Client key pair:nd871j5kdrl0pzsw···x1a3f29d0rxc7wq9···

Figure 4.6: Graphical representation of a DNSCurve traversal

private key. The lower base-32 encoded string is the client’s public key,

that is preceded by the magic (client public key) string: x1a.

1. Because no trusted keys are found for the root (.), a regular DNS A-

type query for foo.example.org is send to one of the randomly picked

root servers.

2. The root servers do not know anything about foo.example.org, but it

does know something about the .org zone. A regular DNS response is

received, with this information included.

Note this response can be subject to active cache poisoning attacks.

However, because a trusted key is used for the .org zone, a rogue

response will be noticed in the next step.

3. The first ‘verification’ step can now start. Since no DNSCurve response

is received, nothing has to be done with the received packet. However,

referrals have been received that refer to the same zone that is in the

trusted keys of circle 0. To initiate trust in these keys, the received

ones and the already known ones are compared. If they equalize, the

91

9

Page 434: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

CHAPTER 4. DNSCURVE 4.4. SPECIFICATION

org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

. name serversQuery: foo.example.org. A

Response:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

Time

example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1

example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1

uz5b63cp···.ns1.iana.com name server

foo.example.org A 10.34.56.78foo.example.org A 10.34.56.78

uz5bm7r2···.ns2.example.org. name server

44

Trust anchors:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

Trust anchors:org. NS uz5b63cp···.ns1.iana.com.org. NS uz5yw28c···.ns2.iana.com.

00

11

22

33

Response: R6fnvWJ8··· (DNSCurve respone packet containing: example.org. NS uz5j1lcp···.ns1.example.org. example.org. NS uz5bm7r2···.ns2.example.org.uz5j1lcp···.ns1.example.org. A 127.0.0.1 uz5bm7r2···.ns2.example.org. A 192.168.0.1 )

55

66Query: Q6fnvWj8··· (DNSCurve query packet containing: foo.example.org. A )

77

Response: R6fnvWJ8··· (DNSCurve response packet containing: foo.example.org. A 10.34.56.78 )

88

99

Query: Q6fnvWj8··· (DNSCurve query packet containing: foo.example.org. A )

Client key pair:nd871j5kdrl0pzsw···x1a3f29d0rxc7wq9···

Client key pair:nd871j5kdrl0pzsw···x1a3f29d0rxc7wq9···

Figure 4.6: Graphical representation of a DNSCurve traversal

private key. The lower base-32 encoded string is the client’s public key,

that is preceded by the magic (client public key) string: x1a.

1. Because no trusted keys are found for the root (.), a regular DNS A-

type query for foo.example.org is send to one of the randomly picked

root servers.

2. The root servers do not know anything about foo.example.org, but it

does know something about the .org zone. A regular DNS response is

received, with this information included.

Note this response can be subject to active cache poisoning attacks.

However, because a trusted key is used for the .org zone, a rogue

response will be noticed in the next step.

3. The first ‘verification’ step can now start. Since no DNSCurve response

is received, nothing has to be done with the received packet. However,

referrals have been received that refer to the same zone that is in the

trusted keys of circle 0. To initiate trust in these keys, the received

ones and the already known ones are compared. If they equalize, the

91

9

Page 435: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Conclusions....

Page 436: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSSEC is big and messy

Page 437: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSSEC solves some security problems

Page 438: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

but creates some significant others

Page 439: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSSEC has problems with the last mile

Page 440: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Given HTTPS, what exactly does DNSSEC offer?

Page 441: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSCurve is less messy

Page 442: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSCurve solves more problems than DNSSEC

Page 443: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

DNSCurve is a more general solution

Page 444: DNS Security - mcmaster.ca presentations/Session 4... · DNS == Domain Name System . Stub Resolver. Caching Name Server. Authoritative Name Server  Function of the DNS

Both DNSSEC & DNSCurve need to be tested and tried locally.