Sunteți pe pagina 1din 5

JOURNAL OF COMPUTING, VOLUME 3, ISSUE 4, APRIL 2011, ISSN 2151-9617

HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/
WWW.JOURNALOFCOMPUTING.ORG 120

Securing DNS Using Elliptical Curve


Cryptography: An Overview
M. Junaid Arshad and M. Abrar

Abstract— Vital importance of domain name server demands it to be more robust against attacks. Due to the absence of any
good security model for DNS data, Domain Name Space has always been a good target for attacker. So there was a real need
of some security protocol that could provide utmost security to DNS. This work is a step to achieve this goal. Elliptical Curve
Cryptography is one of the most proficient methods of encryption. This model uses elliptic curve cryptography to provide
confidentiality, integrity and availability of DNS data and DNS resources. DNS queries and responses will be encrypted to make
it secure against DNS cache poisoning, DNS data spoofing, DoS and some other attacks.

Index Terms— Domain Name Server (DNS), Elliptical Curve Cryptography (ECC), IP, DNSKEY and Encruption

——————————  ——————————

1. INTRODUCTION AND PROBLEM STATEMENT

D OMAIN Name System [1] plays a very vital and


unnoticed role in the life of Internet. Its job starts
before any protocol starts working. When a client
not by any man in the middle. But in spite of all this,
DNSSEC does not provide protection against many types
of attacks. For example it does not provide the confiden-
enters the address of a website into address bar of Inter- tiality of DNS data and also it has no protection against
net explorer and presses enter key, its job starts. Human DoS attacks.
can remember easily readable names of websites whereas Due to the absence of any good security model for DNS
computers can only read and store binary data. So for data [8], Domain Name Space has always been a good
computers, it is not possible to store alphabetical charac- target for attacker. So there was a real need of some secu-
ters. To solve this problem, websites are assigned IP ad- rity protocol that could provide utmost security to DNS.
dresses [10] which are 4-byte number and for the ease of This work is a step to achieve this goal. In this work a
human, these IP addresses are converted into their cor- security model for DNS protection has been analyzed.
responding alphabetical names or vice versa by the Do- This model uses elliptic curve cryptography (ECC) to
main Name System. provide availability, integrity and confidentiality of DNS
With continuous progress in Information Technology data and DNS resources. A brief introduction of all the
and other fields, DNS experienced many attacks. These sections is given below.
attacks include DNS Cache Poisoning [7], DNS Data Daniel J. Bernstein [2] proposed a new model of DNS
Spoofing [3], DoS attacks and many more. Also attackers security. This new model uses Elliptic Curve Cryptogra-
can read the outgoing DNS data of a client and can attack phy to encrypt all DNS Resource Records. DNSCurve
on client’s computer with a shadow server. So it shows enhances the DNS security [9] in a much better way as
that confidentiality of DNS data is equally important with compared to DNS-SEC. It provides some extra security
all other safety measures. properties than the previous proposed models notably
In 1994 a package for DNS security was proposed [4] to confidentiality and authentication of both queries and
keep it safe from the vulnerabilities and attacks. This se- responses.
curity package is known as DNSSEC. It introduced some
new Resource Records in DNS to provide authentication
of DNS data origin and integrity of DNS data. It uses 2. DNS OVERVIEW
public key cryptography to keep DNS data secure and All the addresses on the world of Internet use 4-byte
safe from attackers. It also distributes the public key of numbers. They are called IP ad-dresses. For example
DNS data sender so that the receiver could authenticate 2:1:1:2 is an IP address. Every resource either it is client,
that the DNS data has been sent by the original sender server, router or some other, they are located using their
IP address. Machines easily understand these IP address
———————————————— in binary form but for human, it is very difficult to re-
 M. Junaid Arshad is with the Department of Computer Science & member them. Man can easily remember the names com-
Engineeirng, Unversity of Engineering and Technology, Lahore-Pakistan.
 M. Abrar is with the Department of Computer Science & Engineeirng,
posed of their language alphabets. Now the problem
Unversity of Engineering and Technology, Lahore-Pakistan. comes here is that how to relate an IP address to some-
thing human can remember and understand?

© 2011 Journal of Computing


http://sites.google.com/site/journalofcomputing/
JOURNAL OF COMPUTING, VOLUME 3, ISSUE 4, APRIL 2011, ISSN 2151-9617
HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/
WWW.JOURNALOFCOMPUTING.ORG 121
At beginning, the solution used for this problem was to 2.2 DNS Cache
use a “hosts.txt” file. This file contained all the hostnames Every time a client wants to browse a webpage, it con-
and their corresponding addresses in use. All the names tacts a Name Server first to get the IP address of that
in the file had to be unique and with the growing number webpage to know where it locates on the globe. This
of Internet hosts, the size of this file increased. This in- communication between client and server takes only a
creasing size became a problem. There are other threats few hundred milliseconds and it seems to be very small
too faced by this file which include hijacking by some amount of time. But when the client needs to contact
cracker or may be customized to readdress traffic from an Name Server again and again, this time adds up to make
intentional target to sites hosting content that may be un- a bigger amount. Hence in a big picture, there will be a
pleasant or intrusive to the user or user’s computer sys- massive load on the network. On the other hand, if the
tem. client tries to contact some Name Server later and Name
Until the middle 1980’s, all the computers connected to Server is down for some reason then the responses to the
Internet used “hosts.txt” to find addresses of other hosts queries may be very slow and it will be difficult to browse
when another system was proposed, much secure and the Internet.
much reliable. This system is known as DNS, the Domain Figure 2 shows a general functioning of DNS cache.
Name System. DNS is globally distributed and removes
the single system dependability bottleneck. DNS is very
Cache Entries after before query
simple and has, so far, succeeded very well in being al-
IP (www,myweb2.com)=2.3.4.6
most invisible. Most Internet users will never know that
DNS is working under the hood. It’s because the user has IP (www,myweb.com) = ? 

to do nothing of DNS and all work is done for him by the Other Name Server
IP (www,myweb.com) = 2.3.4.5 
applications he uses e.g. a web browser [6]. Cache Entries after new query
IP (www,myweb.com) = 2.3.4.5

2.1 DNS Network Structure IP (www,myweb3.com)=2.3.4.6

Domain Name System is structured in a tree like for-  


DNS Cache Server
mation and this tree is generally called Domain Name
Space. A general hierarchy of Domain Name Space is IP (www,myweb.com)=? 
shown in Figure 1. Every node in this tree has a label
called Domain Name. The information on DNS is orga- IP (www,myweb.com)=2.3.4.5
nized and indexed according to these domain names.
Each sibling of each node should be unique to avoid colli-
sion. DNS can also be viewed in another perspective. In
this perspective Name Servers are viewed according to Client Local Cache
their function that they perform in resolving the queries.
In the following, a brief introduction of them is given in
sections 2.2 and 2.3.

Fig. 2: Structure of DNS Cache

2.3 DNS Forwarder


The DNS Server that frontwards DNS queries to other
Name Server is called Forwarder. It sends the DNS que-
ries that it cannot resolve to other Name Servers. When a
DNS server is designated as a forwarder, it is responsible
to handle external traffic. In this way network load can be
reduced. A forwarder can be coupled with a cache to
store the external DNS information so that next time if it
has to resolve a query that it has done already, it will use
this cache to resolve that DNS queries. In this way, the
forwarder will resolve a good segment of external DNS
queries in less time and thus will reduce the response
time for clients and traffic on the network. Figure 3 shows
where a forwarder exists in Domain Name Space.

Fig. 1: DNS Hierarchy


JOURNAL OF COMPUTING, VOLUME 3, ISSUE 4, APRIL 2011, ISSN 2151-9617
HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/
WWW.JOURNALOFCOMPUTING.ORG 122
does not have any entry to fulfill the request of attacker so
Header the only option is to contact the attacker’s own Authorita-
tive Name Server to acquire the IP address of the re-
Question quested page.

Answer 2.5.3 The Birthday Attack


It is based on a mathematical phenomenon called
Birthday Paradox which is stated as: If there are 23 per-
Authority
sons in a room then the probability that two of them were
born on the same day is greater than 50%; with 30 persons
Additional the probability is greater than 70%. This attack type is
closely related to the DNS Cache Poisoning problem and
exploits a weakness discovered in BIND (Berkeley Inter-
Fig. 3: DNS Packet Structure net Domain Name). In its older versions, BIND used to
send multiple recursive DNS queries to the same IP ad-
2.4 DSN Query Structure
dress. Keeping this behavior in mind, “Birthday Paradox”
Information sent on Internet travels in form of packets. can be used to ehance the chance of successful attack on a
These packets have different structure for every different Name Server by reducing the number of spoofed guesses
protocol. Here we will talk only about DNS message for- of the DNS query.
mat. DNS message format contains 5 sections, some of
which contain necessary information and others are op- 2.5.4 Denial of Service
tional. These packets contain query made by client, re- A Denial of Service attack is used to destroy, shutdown
sponse sent by server, header of the packet which is most or exhaust the network resources of victim. In this attack
important and contains all the necessary information type, a huge amount of DNS requests is directed towards
about the packet and many other information. Figure 2.4 victim Name Server. The packets sent to the Name Server
shows a general look of DNS message format. A brief might look real but in actual they are not. A popular kind
explanation of all these message sections is given [6]. of DoS attacks is Distributed Denial of Service (DDoS)
attack. In DDos attack, the victim is targeted with tens of
thousands of DNS requests by many senders at the same
time and its effect on the target is more severe than the
DoS attack.

2.5.5 Shadow Server


The shadow server has to be fast enough that it sends a
response to the victim’s computer before the answer from
the legitimate DNS server arrive because if the victim’s
computer gets an answer from the legitimate DNS server
then it stops listening and ignores the forged packets.
Fig. 4: DNS Packet Headre Structure
2.6 DSN SEC (Security)
2.5 DSN Attack Types Domain Name System lies in the bottom of Internet
Some of the attacks that can be made on DNS are given and holds a very important role. The original implemen-
below [1]. tations did not consist of the security of information that
it holds e.g. IP addresses and host names. With a gradual
2.5.1 DNS Spoofing
increase in IP based applications, the need of making
Every Name Server tries to keep the response of every
DNS secure increased. Another factor pertaining to the
query in its cache for the duration of TTL (Time to Live).
DNS vulner-abilities is that it was presented to be a public
DNS can be spoofed by inserting the wrong information
database where the acceptance or restricting the access to
in the cache with a long TTL so that the host is redirected
the information in the databases is not component of the
to this fake site instead of original one.
protocol. So some efforts were made for the security of
2.5.2 DNS Cache Poisoning Domain Name System one of which is the Domain Name
DNS Spoofing can be obtained by another way called System Security Extensions.
DNS Cache Poisoning [7]. The victim Name Server is 2.6.1 DNS-SEC Scope
urged to make a query on attacker’s Name Server. In re-
The scope of DNSSEC can be summarized into three
sponse to the query, many other responses are also sent to
services, key distribution, and data origin authentication
the victim Name Server to corrupt its cache. We can see
and authenticating of Names and Types that do not exist
the working of this attack in Figure 2.9. Attacker makes a
[1].
request to DNS Cache Server that can be served only by
Name Server owned by attacker. The DNS Cache Server  Data Origin Authentication
JOURNAL OF COMPUTING, VOLUME 3, ISSUE 4, APRIL 2011, ISSN 2151-9617
HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/
WWW.JOURNALOFCOMPUTING.ORG 123
 Key Distribution ty that functions can only be computed in only one way
and not the other is used to compute key-pairs in all
 Authenticating Name and Type Non-Existence
asymmetric cryptographic systems including Elliptic
2.6.2 DNS-SEC Resource Records Curve Cryptography. There are three different problems
Security is DNS-SEC is based on the structure of Re- when keeping in mind the security of data.
source Records (RR) and a new set of RRs was defined to  Cryptography includes encryption and its inverse
hold the security information. A brief description of these operation i.e. decryption
new RRs is given below [1].  The difficulty of an operation and its inverse opera-
 RRSIG - Resource Record SIGnature tion increases with the increase in key length
 NSEC - Next SECure  The processing power of computers increases every
 DS - Delegation Signer one and half year according to Moore’s Law

 DNSKEY - DNS public KEY


4. DSNCURVE
2.6.3 Service not offered by DNS-SEC Daniel J. Bernstein proposed a new model of DNS se-
DNS-SEC design viewpoint calls for every DNS data to curity. This new model uses Elliptic Curve Cryptography
be public & uniformly replies to all queries. Accordingly, to encrypt all DNS Resource Records. DNSCurve en-
neither confidentiality for inquiries/answers in not of- hances the DNS security [9] in a much better way as com-
fered, nor any type of access controlling list or other pared to DNS-SEC [5]. It provides some extra security
means to distinguish inquiries. DNSSEC does not provide properties than the previous proposed models notably
any protection against Denial of Service (DoS) attacks. confidentiality and authentication of both queries and
Furthermore DNS-SEC [5] provides security only be- responses [3].
tween the name servers. It does not provide any kind of
protection for the DNS traffic between client and name 4.1 Characteristics of DNSCurve
server. So clients don’t have any services provided by DNSCurve provides many security features for DNS. It
DNS-SEC for the security of their DNS queries. provides three main security features known as CIA
which stands for Confidentiality, Integrity and Availabili-
ty.
3. ELLIPTIC CURE CRYPTOGRAPHY (ECC)
OVERVIEW 4.2 DNSCurve for Clients
Question is why the use of elliptic curve cryptography The DNS queries that a client sends to the name servers
[12] is becoming a de-facto standard in the security cipher and DNS responses that he will receive from name serv-
system. In RSA (Rivest Shamir Adleman) Integer Factori- ers, will all be encrypted using high speed, high security
zation (IF) can be resolved sub-exponentially and in ECC elliptic curve cryptography. This cryptographically re-
the ECDLP-Elliptic Curve Discrete Logarithms Problem trieval of DNS resource records has several advantages
can be resolved exponentially. ECC is nowadays consi- like:
dered more interesting than RSA [11] because there are Since the packets that computer sends or receives are
not sub-exponential algorithms able to resolve the ECDLP encrypted using elliptic curve cryptography, so if an at-
problem. As a consequence the key size of the ECC sys- tacker manages to sniff network traffic, even then he will
tems is less than RSA systems for the same level of securi- not be able to understand the contents of packets. So DNS
ty. This is a very important benets because we can use queries and responses will remain confidential.
elliptic curves to guarantee a high level of security in If an attacker succeeds in forging incoming DNS res-
many embedded systems like mobile phones, smart cards ponses, even then he will not be able to fool computer.
and PDA (Personal Digital Assistant) where we have to Because as soon as DNSCurve enabled cache sees a pack-
pay attention about power consumption and performance et that is forged, it immediately drops the packet and
[4]. waits for the original packet. In this way client is made
Elliptic Curve Cryptography is believed to be perfect secure against spoofing attacks.
for resources-constrained system since it offers additional Every client that wants to use Internet has to interact
“security per bit” than other sorts of asymmetric crypto- with DNS first of all. Whenever he wants to browse In-
graphy. It has smaller key size compared to RSA algo- ternet, the first thing that he has to deal with is to get the
rithm and it is also high speed as key sizes are short. IP address of webpage. Once he gets the IP address then
he can easily connect to webpage with the help of other
3.1 Advantages of ECC protocols.
As an asymmetric cryptographic key pair is used for
encryption and decryption, so these keys have some ma- 4.3 DNSCurve Cache
thematical relationship. This mathematical function might DNSCurve cache is very easy to use. User simply has to
be comparatively simple to compute in one direction, but upgrade his existing dnscache or PowerDNS Recursor or
its inverse should be impossible to calculate. This proper- MaraDNS or Nominum CNS or Unbound or BIND to the
JOURNAL OF COMPUTING, VOLUME 3, ISSUE 4, APRIL 2011, ISSN 2151-9617
HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/
WWW.JOURNALOFCOMPUTING.ORG 124
cache that supports DNSCurve. He does not need any string uz5 in server names distinguishes DNSCurve
extra configuration for this because when DNSCurve is names not only from existing server names as discussed
installed, dnscache will configure itself automatically. For above, but also from other DNS extension mechanisms
firewalls, DNSCurve queries and responses are like nor- that may be added in future. For example, uz7 could be a
mal DNS packets so if a firewall is used to secure cache cryptographic system other than uz5.
from intruders, firewall will let these packets pass just
like normal DNS packets and no extra configuration is
5. CONCLUSIONS
required.
In this work we presented the structure of DNS and
4.4 DNSCurve for DNS Data Administrtors how it works to provide its services to end users, either
It is the responsibility of an authoritative name server they are clients or servers, the possible and known securi-
to provide a legitimate, authentic and original response to ty threats and the solutions that have been proposed for
a query for the zones for which it is authoritative. But it them until now. DNS is like a backbone in the Internet
might happen that a client receives forged DNS responses structure but unfortunately there has not been any good
and is directed to some other website instead of that the security model that could be used for securing DNS pack-
client was intended to connect. As already discussed, to et from all known attacks.
avoid this problem DNS clients are expected to migrate to From the work presented and all the material analyzed,
DNS caches that use DNSCurve for the security of out- we can conclude that DNSCurve is the best solution at the
going DNS traffic. So if name servers manage to send and present time for most of the security features. It provides
receive DNS packets with DNSCurve in some way then Confidentiality and Integrity of DNS data and also it pro-
they will easily communicate with DNSCurve enabled tects clients and servers from particular DoS attacks by
clients and will ensure authentic and valid responses to recognizing and droping forged DNS packets.
clients.

4.5 Cryptography Integration with DNS 6. REFERENCES


DNSCurve is conceptually an integration of link-level [1] R. Arends, R. Austein, M. Larson, D. Massey, and S.
cryptography into DNS. DNSCurve is being designed Rose, “Resource Records for the DNS Security Exten-
keeping in mind the requirements and limitations that sions”, RFC 4034 (Proposed Standard), March 2005.
encryption and decryption of packets can face. As fire- (Updated by RFC 4470)
walls are used on many machines to stay safe and secure [2] Daniel J. Bernstein, “Curve25519: New Diffie-Hellman
from intruders and attackers, DNSCurve will also comply Speed Records”, Public Key Cryptography, 2006, 207–
with the limitations imposed by firewalls on DNS traffic. 228.
Here is a small explanation about how DNSCurve is [3] Daniel J. Bernstein, “DNSCurve”, June 2009 (URL:
http://dnscurve.org )
made to easily settle with the current DNS system:
[4] N. Koblitz, “Elliptic curve cryptosystems”, Mathemat-
4.5.1 TXT Message Format ics of Computation 48, 1987, 203–209
DNSCurve client can send all expanded query packets [5] Hao Yang, Eric Osterweil, Dan Massey, Lixia Zhang,
“Deploying Cryptography in Internet-Scale Systems: A
in streamlined format because it knows that DNSCurve
Case Study on DNSSEC”, 2009
server will easily handle all this traffic. However some-
[6] Mockapetris, P., "Domain Names - Concepts and Facili-
times clients are behind the firewall. The firewall may not
ties", STD 13, RFC 1034, November 1987
expect any DNS packet format except than the simplest [7] US-CERT, "Vulnerability note vu#800113: Multiple dns
DNS packet format. implementations vulnerable to cache poisonings", No-
vember, 2009
4.5.2 Encoding of Public Keys
[8] Eastlake, D., "DNS Operational Security Considera-
As DNSCurve uses public key cryptography for en- tions", RFC 2541, March 1999. (URL:
cryption and decryption of DNS packets so all the nodes ftp://ftp.isi.edu/in-notes/rfc2541.txt )
using DNSCurve should have a public/private key pair. [9] R. Arends, R. Austein, M. Larson, D. Massey, and S.
Public key of every node should be distributed all over Rose, "DNS Security Introduction and Requirements",
the network. The distribution of public key can be done RFC 4033, 2005
by embedding it into a new Resource Record as is done in [10] S. Deering , R. Hinden, “Internet Protocol, Version 6
DNS-SEC by using DNSKEY. But introducing a new RR (IPv6) Specification”, December 1998
type creates interoperability problems and this would (URL: http://www.ietf.org/rfc/rfc2460.txt)
require extensive software upgrades in all the name serv- [11] Song Y. Yan. "The Road Ahead", Cryptanalytic Attacks
ers. This approach of introducing a new RR type can on RSA, 2008
create a mess. But this can be achieved by encoding pub- [12] A. Menezes, P. van Oorschot and S. Vanstone, Hand-
lic keys of DNSCurve servers into their names. book of Applied Cryptography, CRC Press, 1997

4.5.3 Migration Mechanism


DNSCurve provides a migration path to smoothly
switch cryptographic suites in case of disaster. The magic

S-ar putea să vă placă și