Internet DRAFT - draft-nguyen-authentic-arp

draft-nguyen-authentic-arp







Network Working Group                                          N. Nguyen
Internet-Draft                                              Routeskeeper
Expires: July 2, 2006                                          T. Nguyen
                                            College of Technology, Hanoi
                                                       December 29, 2005


                 Authentic Address Resolution Protocol
                   draft-nguyen-authentic-arp-00.txt

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on July 2, 2006.

Copyright Notice

   Copyright (C) The Internet Society (2005).

Abstract

   This document describes additions to Address Resolution Protocol that
   will allow a host to authentically resolve the hardware address from
   the protocol address of given host.  Using authentication data based
   on X.509 digital signatures to evaluate the authenticity of ARP
   packets, hosts can prevent ARP spoofing efficiently.





Nguyen & Nguyen           Expires July 2, 2006                  [Page 1]

Internet-Draft    Authentic Address Resolution Protocol    December 2005


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Packet format  . . . . . . . . . . . . . . . . . . . . . . . .  3
     2.1.  Opcode . . . . . . . . . . . . . . . . . . . . . . . . . .  4
     2.2.  Authentication data  . . . . . . . . . . . . . . . . . . .  4
       2.2.1.  validityNotBefore and validityNotAfter . . . . . . . .  4
       2.2.2.  authorityKeyIdentifier . . . . . . . . . . . . . . . .  4
       2.2.3.  signatureAlgorithm . . . . . . . . . . . . . . . . . .  4
       2.2.4.  signatureValue . . . . . . . . . . . . . . . . . . . .  5
   3.  The operation of AARP in strict mode . . . . . . . . . . . . .  5
   4.  The operation of AARP in compatible mode . . . . . . . . . . .  5
     4.1.  Packet handling  . . . . . . . . . . . . . . . . . . . . .  6
       4.1.1.  ARP request (opcode 1) . . . . . . . . . . . . . . . .  6
       4.1.2.  ARP reply (opcode 2) . . . . . . . . . . . . . . . . .  6
       4.1.3.  AARP request (opcode 24) . . . . . . . . . . . . . . .  6
       4.1.4.  AARP reply (opcode 25) . . . . . . . . . . . . . . . .  6
     4.2.  Benefit  . . . . . . . . . . . . . . . . . . . . . . . . .  6
     4.3.  Security risk  . . . . . . . . . . . . . . . . . . . . . .  6
   5.  Out of band delivering . . . . . . . . . . . . . . . . . . . .  7
   6.  Host mobility  . . . . . . . . . . . . . . . . . . . . . . . .  7
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . .  7
   8.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . .  7
   9.  References . . . . . . . . . . . . . . . . . . . . . . . . . .  7
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . .  9
   Intellectual Property and Copyright Statements . . . . . . . . . . 10

























Nguyen & Nguyen           Expires July 2, 2006                  [Page 2]

Internet-Draft    Authentic Address Resolution Protocol    December 2005


1.  Introduction

   Address Resolution Protocol (ARP) [RFC0826] is vulnerable to spoofing
   attack, it opens the networks for highly dangerous Man In The Middle
   attack [RFC3552].  This document describes a protocol called
   Authentic Address Resolution Protocol (AARP), AARP provides the same
   features as ARP, beside, it can prevent spoofing attacks effectively.
   AARP has two different operating modes:

   1.  Strict mode: Allows AARP hosts to communicate with AARP hosts
       only

   2.  Compatible mode: Allows hosts to use both ARP and AARP at the
       same time

   In AARP scheme, hosts on the network are not to choose whatever
   protocol addresses they want, instead, a network authority assigns
   protocol addresses for them and uses its private key to create
   digital signature based authentication data on the mapping of
   protocol address to hardware address.  The network authority delivers
   the authentication data to the hosts using different method than ARP,
   this process is discussed in the Out of band delivering section.
   After the delivering, hosts on the network can use the authentication
   data for AARP, other hosts use the network authority's public
   certificate to verify the authentication data to prevent ARP
   spoofing.


2.  Packet format

   The AARP packet format is like in [RFC0826] plus authentication data:

   16.bit: (ar$hrd) Hardware address space
   16.bit: (ar$pro) Protocol address space
   08.bit: (ar$hln) byte length of each hardware address
   08.bit: (ar$pln) byte length of each protocol address
   16.bit: (ar$op)  opcode
   nbytes: (ar$sha) Hardware address of sender
   mbytes: (ar$spa) Protocol address of sender
   nbytes: (ar$tha) Hardware address of target
   mbytes: (ar$tpa) Protocol address of target
   xbytes: (ar$ad)  Authentication data (x is variant)

   From now on, we call ARP packet format without authentication data,
   defined in [RFC0826] as Traditional ARP (TARP) packet, to separate it
   from AARP packet.





Nguyen & Nguyen           Expires July 2, 2006                  [Page 3]

Internet-Draft    Authentic Address Resolution Protocol    December 2005


2.1.  Opcode

   AARP uses two opcodes, 24 for AARP request, which is equivalent to
   ARP request (opcode 1), and 25 for AARP reply, which is equivalent to
   ARP reply (opcode 2).

2.2.  Authentication data

   The authentication data is defined using Abstract Syntax Notation One
   [ASN.1] and encoded using Distinguished Encoding Rules [DER]:

   AuthenticationData  ::=  SEQUENCE  {
       validityNotBefore       GeneralizedTime,
       validityNotAfter        GeneralizedTime,
       authorityKeyIdentifier  OCTET STRING,
       signatureAlgorithm      AlgorithmIdentifier,
       signatureValue          BIT STRING
   }

2.2.1.  validityNotBefore and validityNotAfter

   The authentication data validity period is determined by two dates:
   the date on which the data validity period begins (validityNotBefore)
   and the date on which the data validity period ends
   (validityNotAfter).  For the purposes of this document, these two
   GeneralizedTime values MUST be expressed Greenwich Mean Time (Zulu)
   and MUST include seconds (i.e., times are YYYYMMDDHHMMSSZ), even
   where the number of seconds is zero.  GeneralizedTime values MUST NOT
   include fractional seconds.

2.2.2.  authorityKeyIdentifier

   authorityKeyIdentifier is composed of the 160-bit SHA-1 hash of the
   value of the BIT STRING subjectPublicKey (excluding the tag, length,
   and number of unused bits) of the public key can be used to verify
   the signature

2.2.3.  signatureAlgorithm

   signatureAlgorithm contains the identifier for the cryptographic
   algorithm used by the network authority to create signatureValue.
   The algorithm identifier is defined by the following ASN.1 structure

   AlgorithmIdentifier  ::=  SEQUENCE  {
       algorithm   OBJECT IDENTIFIER,
       parameters  ANY DEFINED BY algorithm OPTIONAL
   }




Nguyen & Nguyen           Expires July 2, 2006                  [Page 4]

Internet-Draft    Authentic Address Resolution Protocol    December 2005


   AARP hosts SHOULD support all signature algorithms listed in
   [PKIXALGS], other signature algorithms MAY also be supported.  The
   algorithm identifier is used to identify a cryptographic algorithm.
   The OBJECT IDENTIFIER component identifies the algorithm (such as DSA
   with SHA-1).  The contents of the optional parameters field will vary
   according to the algorithm identified.

2.2.4.  signatureValue

   The signatureValue field contains a digital signature computed upon
   the ASN.1 DER encoded authenticMapping.  The ASN.1 DER encoded
   authenticMapping is used as the input to the signature function.
   This signature value is encoded as a BIT STRING and included in the
   signature field.  The details of this process are specified for each
   of algorithms listed in [PKIXALGS].

   authenticMapping is defined by the following ASN.1 structure

   authenticMapping  ::=  SEQUENCE  {
           ProtocolAddress    BIT STRING
           HardwareAddress    BIT STRING
           validityNotBefore  GeneralizedTime,
           validityNotAfter   GeneralizedTime,
   }

   authenticMapping is not transfered on the wire as is, the host
   receives an AARP packet has to reconstruct authenticMapping with
   ar$spa as ProtocolAddress, ar$sha as HardwareAddress, and
   validityNotBefore and validityNotAfter is taken from corresponding
   fields inside ar$ad.

   After reconstructing authenticMapping, the host can verify the
   signature, if the verification fails, the host MUST ignore the
   packet.


3.  The operation of AARP in strict mode

   All address resolutions MUST be done using AARP, TARP packets MUST be
   ignored.  The host MUST handle the AARP packets equivalent to the
   handling of ARP packets defined in "Packet Reception" of [RFC0826].


4.  The operation of AARP in compatible mode

   In compatible mode, every time the host wants to request the protocol
   address of a given hardware address, the host sends both ARP request
   and AARP request for that address at the same time.



Nguyen & Nguyen           Expires July 2, 2006                  [Page 5]

Internet-Draft    Authentic Address Resolution Protocol    December 2005


4.1.  Packet handling

   The host MUST maintain a pool of protocol addresses it sent request
   to but the answer has not been received.  Whenever the host decides
   to use a packet to update the translation table, the host MUST remove
   the protocol address from the pool immediately.

   In compatible mode, there is a variant T, number of seconds to wait
   for AARP reply before use the unsecured ARP reply.  This variant will
   be configured by the administrator depended on the characteristics of
   each network, it SHOULD be something between 100 miliseconds to 2
   seconds.

4.1.1.  ARP request (opcode 1)

   Handle the ARP request exactly the same as in [RFC0826] except the
   part "updating the sender hardware address field on the entry with
   the new information in the packet and set Merge_flag to true".

4.1.2.  ARP reply (opcode 2)

   Ignores the ARP reply if ar$spa is not in the pool, otherwise, delay
   the processing of this packet for T seconds.  After T seconds, if
   ar$spa is still in the pool, add (ar$pro, ar$spa, ar$sha) to the
   translation table.

4.1.3.  AARP request (opcode 24)

   Swap hardware and protocol fields, putting the local hardware and
   protocol addresses in the sender fields.  Set the ar$op field to 25.
   Send the packet to the (new) target hardware address on the same
   hardware on which the request was received.

4.1.4.  AARP reply (opcode 25)

   Add (ar$pro, ar$spa, ar$sha) to the translation table if the
   signature is verified successfully.

4.2.  Benefit

   The compatible mode allow AARP hosts to work with TARP only hosts,
   this operation mode allows the network to operate seamlessly while
   waiting the hosts to be upgraded to support AARP.

4.3.  Security risk

   AARP in compatible mode is more secured than TARP but it is more
   vulnerable to spoofing attack than AARP in strict mode, so AARP hosts



Nguyen & Nguyen           Expires July 2, 2006                  [Page 6]

Internet-Draft    Authentic Address Resolution Protocol    December 2005


   SHOULD NOT operate in compatible mode when high security is required.


5.  Out of band delivering

   Network authority certificate is usually bigger than the maximum size
   of an ARP packet, so the certificate can only be transferred using
   another mechanism.  We propose that DHCP is a suitable protocol to
   transfer both the certificate and the authentication data to hosts on
   the network.  The DHCP server is the entity on the network which is
   responsible for assigning configuration, so network authority
   certificate and authentication data is completely fit for DHCP's
   purpose.


6.  Host mobility

   When a host moves from one network authority's domain to another's,
   the AARP software MUST provide a user interface to input the new
   network authority certificate and new authentication data to use with
   the new network.  Alternatively to the user interface, the software
   can use a network protocol to fetch this data automatically, if that
   protocol doesn't weaken the authenticity of AARP.


7.  Security Considerations

   Security issues are discussed throughout this memo.


8.  IANA Considerations

   Authentic ARP specifies two new ARP opcodes.

9.  References

   [ASN.1]    "Abstract Syntax Notation One (ASN.1): Specification of
              basic notation", ITU-T Recommendation X.680, 2002.

   [DER]      "ASN.1 encoding rules: Specification of Basic Encoding
              Rules (BER), Canonical Encoding Rules (CER) and
              Distinguished Encoding Rules (DER)", ITU-T
              Recommendation X.690, 2002.

   [PKIXALGS]
              Bassham, L., Polk, W., and R. Housley, "Algorithms and
              Identifiers for the Internet X.509 Public Key
              Infrastructure Certificate and Certificate Revocation List



Nguyen & Nguyen           Expires July 2, 2006                  [Page 7]

Internet-Draft    Authentic Address Resolution Protocol    December 2005


              (CRL) Profile", RFC 3279, April 2002.

   [RFC0826]  Plummer, D., "Ethernet Address Resolution Protocol: Or
              converting network protocol addresses to 48.bit Ethernet
              address for transmission on Ethernet hardware", STD 37,
              RFC 826, November 1982.

   [RFC3280]  Housley, R., Polk, W., Ford, W., and D. Solo, "Internet
              X.509 Public Key Infrastructure Certificate and
              Certificate Revocation List (CRL) Profile", RFC 3280,
              April 2002.

   [RFC3552]  Rescorla, E. and B. Korver, "Guidelines for Writing RFC
              Text on Security Considerations", BCP 72, RFC 3552,
              July 2003.




































Nguyen & Nguyen           Expires July 2, 2006                  [Page 8]

Internet-Draft    Authentic Address Resolution Protocol    December 2005


Authors' Addresses

   Nguyen Dinh Nam
   Routeskeeper
   4/389 Lac Long Quan
   Hanoi
   VN

   Email: nam@routeskeeper.com


   Nguyen Cam Tu
   College of Technology, Hanoi
   Hanoi
   VN

   Email: ncamtu@gmail.com


































Nguyen & Nguyen           Expires July 2, 2006                  [Page 9]

Internet-Draft    Authentic Address Resolution Protocol    December 2005


Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.


Disclaimer of Validity

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
   INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Copyright Statement

   Copyright (C) The Internet Society (2005).  This document is subject
   to the rights, licenses and restrictions contained in BCP 78, and
   except as set forth therein, the authors retain all their rights.


Acknowledgment

   Funding for the RFC Editor function is currently provided by the
   Internet Society.




Nguyen & Nguyen           Expires July 2, 2006                 [Page 10]