home *** CD-ROM | disk | FTP | other *** search
/ Internet Core Protocols / Oreilly-InternetCoreProtocols.iso / RFCs / rfc2520.txt < prev    next >
Encoding:
Text File  |  1999-10-14  |  16.8 KB  |  452 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                       J. Luciani
  8. Request for Comments: 2520                             Nortel Networks
  9. Category: Experimental                                       H. Suzuki
  10.                                                          Cisco Systems
  11.                                                           N. Doraswamy
  12.                                                        Nortel Networks
  13.                                                              D. Horton
  14.                                                           CiTR Pty Ltd
  15.                                                          February 1999
  16.  
  17.  
  18.                          NHRP with Mobile NHCs
  19.  
  20. Status of this Memo
  21.  
  22.    This memo defines an Experimental Protocol for the Internet
  23.    community.  It does not specify an Internet standard of any kind.
  24.    Discussion and suggestions for improvement are requested.
  25.    Distribution of this memo is unlimited.
  26.  
  27. Copyright Notice
  28.  
  29.    Copyright (C) The Internet Society (1999).  All Rights Reserved.
  30.  
  31. Abstract
  32.  
  33.    This document describes an extension to NHRP [1] which would allow
  34.    Mobile NHCs to perform a registration with and attach to an NHS in
  35.    their home LIS in an authenticated manner.
  36.  
  37.    As described in this document, Mobile NHCs are NHCs which are not
  38.    configured with enough information to find a specific serving NHS in
  39.    their home LIS, but which have a mechanism to find an NHS (which may
  40.    or may not be a serving NHS) to which they will attach.  As described
  41.    in [1], an NHC may attach to a 'surrogate' NHS by using a mechanism
  42.    such as an anycast address.  In this case, the NHC may use the
  43.    surrogate NHS to send a NHRP Registration Request toward the NHC's
  44.    home LIS where a serving NHS resides.  However, as defined in [1],
  45.    packet authentication is performed on a hop by hop basis.  In the
  46.    mobile NHC case, it is not practical for the mobile NHC be in a
  47.    security relationship with every surrogate NHS, thus it is presumably
  48.    desirable to have some form of end to end only authentication for the
  49.    case of a mobile NHC's registration.  This document describes an
  50.    authentication extension for NHRP which has such end to end only
  51.    semantics.
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58. Luciani, et al.               Experimental                      [Page 1]
  59.  
  60. RFC 2520                 NHRP with Mobile NHCs             February 1999
  61.  
  62.  
  63. 1. Introduction
  64.  
  65.    The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD,
  66.    SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL, when they appear in this
  67.    document, are to be interpreted as described in [4].
  68.  
  69.    This document describes an extension for Mobile NHCs to use when they
  70.    wish to register with their home LIS but initially connect to a non-
  71.    serving NHS to do so.  The reader is encouraged to read [1] for more
  72.    details on the NHRP registration process.
  73.  
  74. 2.0 Definition of the NHRP Mobile NHC Authentication Extension
  75.  
  76.     Compulsory = 1
  77.     Type = 10 (proposed)
  78.     Length = variable
  79.  
  80.    The NHRP Mobile NHC Authentication Extension is carried in NHRP
  81.    Registration packets to convey end to end authentication Information.
  82.    This extension is defined in contrast to the NHRP Authentication
  83.    Extension defined in [1] which has hop by hop semantics.
  84.  
  85.    This new extension is used when a mobile NHC initially connects to an
  86.    NHS which is not one of its serving NHSs and the mobile NHC and
  87.    nonserving NHS are not in a security relationship.  The mobile NHC
  88.    does this in order to send an NHRP Registration Request, via normal
  89.    routing and forwarding processes, to one of its serving NHSs with
  90.    which it does have a security relationship.  As defined in [1], a
  91.    serving NHS is an NHS in the NHC's home LIS with which the NHC will
  92.    register.  Upon receiving such an NHRP Registration Request, the
  93.    serving NHS will do the following: authenticate the sender NHC, set
  94.    up a VC to the NHC, and then send an NHRP Resolution Reply in
  95.    response on that new VC.
  96.  
  97.    Note that, as defined in [1], a transit NHS (such as the one to which
  98.    the mobile NHC initially connects) must ignore an extension which it
  99.    does not understand and that an NHS must not change the order of
  100.    extensions in an NHRP packet. Thus, the end to end semantics of this
  101.    extension are preserved without causing changes to existing
  102.    implementations.
  103.  
  104.    If a serving NHS receives a packet which fails the hop by hop
  105.    authentication test defined in [1] then the NHS MUST generate an
  106.    Error Indication of type 'Authentication Failure' and discard the
  107.    packet.  However in the case where the NHRP Mobile NHC Authentication
  108.    Extension is used as described above, sending an Error Indication is
  109.    not possible since no route exists back toward the mobile NHC
  110.    assuming a VC does not already exist between the mobile NHC and the
  111.  
  112.  
  113.  
  114. Luciani, et al.               Experimental                      [Page 2]
  115.  
  116. RFC 2520                 NHRP with Mobile NHCs             February 1999
  117.  
  118.  
  119.    serving NHS which received the NHRP Registration Request. In this
  120.    case, the NHRP Registration Request is merely dropped.
  121.  
  122. 2.1 Header Format
  123.  
  124.    The authentication header has the following format:
  125.  
  126.    0                   1                   2                   3
  127.    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  128.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  129.    |   Reserved                    | Security Parameter Index (SPI)|
  130.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  131.    |               Src Addr...                                     |
  132.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  133.    |                                                               |
  134.    +-+-+-+-+-+-+-+-+-+-+ Authentication Data... -+-+-+-+-+-+-+-+-+-+
  135.    |                                                               |
  136.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  137.  
  138.    Security Parameter Index (SPI) can be thought of as an index into a
  139.    table that maintains the keys and other information such as a hash
  140.    algorithm. Src and Dst communicate either offline using manual keying
  141.    or online using a key management protocol to populate this table. The
  142.    sending NHRP entity always allocates the SPI and the parameters
  143.    associated with it.
  144.  
  145.    The Src Addr field is a variable length field which contains the
  146.    address assigned to the outgoing interface. The length of the field
  147.    is obtained from the source protocol length field in the mandatory
  148.    part of the NHRP header.  The tuple <spi, src addr> uniquely
  149.    identifies the key and the other parameters that are used in
  150.    authentication.
  151.  
  152.    The length of the authentication data field is dependent on the hash
  153.    algorithm used. The Authentication Data field contains the keyed hash
  154.    calculated over the following fields: fixed part (with hop count,
  155.    packet size and checksum being treated as if set to zero), mandatory
  156.    part, and extensions up to and including the Mobile NHC
  157.    Authentication extension.
  158.  
  159.    Note that [1] defines an explicit ordering of extensions such that:
  160.  
  161.      (a) If the Responder Address extension exists then it must appear
  162.          before the Authentication Extension.
  163.  
  164.      (b) Any extensions that may be modified in transit (e.g., Forward
  165.          Transit Extension, Hop by Hop Authentication Extension) must
  166.          appear after the Mobile NHC Authentication Extension.
  167.  
  168.  
  169.  
  170. Luciani, et al.               Experimental                      [Page 3]
  171.  
  172. RFC 2520                 NHRP with Mobile NHCs             February 1999
  173.  
  174.  
  175. 2.2 SPI and Security Parameters Negotiation
  176.  
  177.    SPI's can be negotiated either manually or using an Internet Key
  178.    Management protocol. Manual keying MUST be supported. The following
  179.    parameters are associated with the tuple <SPI, src>- lifetime,
  180.    Algorithm, Key. Lifetime indicates the duration in seconds for which
  181.    the key is valid. In case of manual keying, this duration can be
  182.    infinite. Also, in order to better support manual keying, there may
  183.    be multiple tuples active at the same time (Dst being the same).
  184.  
  185.    Algorithm specifies the hash algorithm agreed upon by the two
  186.    entities. HMAC-MD5-128 [2] is the default algorithm and MUST be
  187.    implemented. Other algorithms MAY be supported by defining new
  188.    values.  IANA will assign the numbers to identify the algorithm being
  189.    used as described in [1].
  190.  
  191.    Any Internet standard key management protocol MAY so be used to
  192.    negotiate the SPI and parameters.
  193.  
  194. 2.3 Message Processing
  195.  
  196.    Unauthenticated 'Mobile' Registration Request processing proceeds as
  197.    follows [1]:
  198.  
  199.       - the NHC inserts the internetwork address of a serving NHS in the
  200.         'Destination  Protocol Address' field; If the NHS address is
  201.         unknown, then the NHC inserts its own internetwork address.  A '
  202.         responder address' extension is optionally added.
  203.       - the non-serving NHS forwards the packet along the routed path
  204.         based on the contents of the 'Destination Protocol Address'
  205.         field.
  206.       - the serving NHS which receives the NHRP Registration Request
  207.         will set up a direct VCC to NHC after authenticating the request
  208.       - the serving NHS will then send the NHRP Registration Reply back
  209.         to the NHC on that new VCC.  Note that the NHS MUST wait some
  210.         configured interval before doing this reply in order to prevent
  211.         a race condition from occurring between the VC setup and sending
  212.         the NHRP reply packet.
  213.       - the NHC will subsequently send all NHRP traffic to the serving
  214.         NHS on the direct VCC.
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226. Luciani, et al.               Experimental                      [Page 4]
  227.  
  228. RFC 2520                 NHRP with Mobile NHCs             February 1999
  229.  
  230.  
  231.    When the NHC adds the authentication extension header, it performs a
  232.    table look up in order to fetch the SPI and the security parameters
  233.    based on the outgoing interface address. If there are no entries in
  234.    the table and if there is support for key management, the NHC
  235.    initiates the key management protocol to fetch the necessary
  236.    parameters. The NHC constructs the Authentication Extension payload
  237.    and calculates the hash by zeroing out the authentication data field.
  238.    The result is placed in the authentication data field. The src
  239.    address field in the payload is the internetwork address assigned to
  240.    the outgoing interface.
  241.  
  242.    If key management is not supported and authentication is mandatory,
  243.    the packet is dropped and this information is logged.
  244.  
  245.    On the receiving end, the serving NHS fetches the parameters based on
  246.    the SPI and the internetwork address in the authentication extension
  247.    payload. The authentication data field is extracted before being
  248.    zeroed out in order to calculate the hash. It computes the hash on
  249.    the entire payload and if the hash does not match, then an "abnormal
  250.    event" has occurred.
  251.  
  252.    The keys used by the mobile NHC for communicating with the serving
  253.    NHS in NHRP Registration Requests can be used in subsequent
  254.    resolution and purge requests made directly to the serving NHS after
  255.    receiving the NHRP Registration Reply.  However, the authentication
  256.    extension defined in [1] MUST be used when these keys are applied to
  257.    resolution and purge packets.
  258.  
  259.    Hop by Hop Authentication[1] and End to End authentication MAY be
  260.    used in combination to provide protection against both spoofing and
  261.    denial of service attacks.  If only an end-to-end Mobile NHC
  262.    Authentication Extension is present, it MAY be the policy of each
  263.    transit NHS to reject the NHRP Registration Request based on the
  264.    requirement for having a Hop by Hop authentication present.  Such a
  265.    requirement is a local matter.
  266.  
  267. 2.4 Security Considerations
  268.  
  269.    It is important that the keys chosen are strong since the security of
  270.    the entire system depends on the keys being chosen properly.
  271.  
  272.    End-to-end authentication counters spoofing attacks on the home
  273.    subnet through not relying on the potentially compromised chain of
  274.    trust. The use of end-end authentication is further described in [3].
  275.  
  276.    Hop-by-hop authentication prevents denial of service attacks by
  277.    introducing access control at the first point of contact to the NHRP
  278.    infrastructure.
  279.  
  280.  
  281.  
  282. Luciani, et al.               Experimental                      [Page 5]
  283.  
  284. RFC 2520                 NHRP with Mobile NHCs             February 1999
  285.  
  286.  
  287.    The security of this extension is performed on an end to end basis.
  288.    The data received can be trusted only so much as one trusts the end
  289.    point entities in the path traversed. A chain of trust is established
  290.    amongst NHRP entities in the path of the NHRP Message. If the
  291.    security in an NHRP entity is compromised, then security in the
  292.    entire NHRP domain is compromised.
  293.  
  294.    Data integrity covers the entire NHRP payload up to and including the
  295.    Mobile NHC Authentication Extension. This guarantees that the data
  296.    and extensions covered by this authentication hash were not modified
  297.    and that the source is authenticated as well. If the authentication
  298.    extension is not used or if the security is compromised, then NHRP
  299.    entities are liable to both spoofing attacks, active attacks, and
  300.    passive attacks.
  301.  
  302.    There is no mechanism to encrypt the messages. It is assumed that a
  303.    standard layer 3 confidentiality mechanism will be used to encrypt
  304.    and decrypt messages.  It is recommended to use an Internet standard
  305.    key management protocol to negotiate the keys between the neighbors.
  306.    Transmitting the keys in clear text, if other methods of negotiation
  307.    is used, compromises the security completely.
  308.  
  309. References
  310.  
  311.    [1] Luciani, J., Katz, D., Piscitello, D., Cole, B. and N. Doraswamy,
  312.        "NBMA Next Hop Resolution Protocol (NHRP)", RFC 2332, April 1998.
  313.  
  314.    [2] Krawczyk, H., Bellare, M. and R. Canetti, "HMAC: Keyed Hashing
  315.        for Message Authentication", RFC 2104, February 1997.
  316.  
  317.    [3] Perkins, C., "IP Mobility Support", RFC 2002, October 1996.
  318.  
  319.    [4] Bradner, S., "Key words for use in RFCs to Indicate Requirement
  320.        Levels", BCP 14, RFC 2119, March 1997.
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338. Luciani, et al.               Experimental                      [Page 6]
  339.  
  340. RFC 2520                 NHRP with Mobile NHCs             February 1999
  341.  
  342.  
  343. Authors' Addresses
  344.  
  345.    James V. Luciani
  346.    Nortel Networks
  347.    3 Federal Street
  348.    Mail Stop: BL3-03
  349.    Billerica, MA 01821
  350.  
  351.    Phone:  +1 978 916 4734
  352.    EMail:  luciani@baynetworks.com
  353.  
  354.  
  355.    Hiroshi Suzuki
  356.    Cisco Systems
  357.    170 West Tasman Dr.
  358.    San Jose, CA 96134
  359.  
  360.    Phone: +1 408 525 6006
  361.    EMail: hsuzuki@cisco.com
  362.  
  363.  
  364.    Naganand Doraswamy
  365.    Nortel Networks
  366.    3 Federal Street
  367.    Mail Stop: BL3-03
  368.    Billerica, MA 01821
  369.  
  370.    Phone:  +1 978 916 4734
  371.    EMail:  naganand@baynetworks.com
  372.  
  373.  
  374.    David Horton
  375.    CiTR PTY Ltd
  376.    Level 2 North Tower
  377.    339 Coronation Drive
  378.    Milton, Australia 4064
  379.  
  380.    Phone: +61 7 32592222
  381.    EMail:  d.horton@citr.com.au
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394. Luciani, et al.               Experimental                      [Page 7]
  395.  
  396. RFC 2520                 NHRP with Mobile NHCs             February 1999
  397.  
  398.  
  399. Full Copyright Statement
  400.  
  401.    Copyright (C) The Internet Society (1999).  All Rights Reserved.
  402.  
  403.    This document and translations of it may be copied and furnished to
  404.    others, and derivative works that comment on or otherwise explain it
  405.    or assist in its implementation may be prepared, copied, published
  406.    and distributed, in whole or in part, without restriction of any
  407.    kind, provided that the above copyright notice and this paragraph are
  408.    included on all such copies and derivative works.  However, this
  409.    document itself may not be modified in any way, such as by removing
  410.    the copyright notice or references to the Internet Society or other
  411.    Internet organizations, except as needed for the purpose of
  412.    developing Internet standards in which case the procedures for
  413.    copyrights defined in the Internet Standards process must be
  414.    followed, or as required to translate it into languages other than
  415.    English.
  416.  
  417.    The limited permissions granted above are perpetual and will not be
  418.    revoked by the Internet Society or its successors or assigns.
  419.  
  420.    This document and the information contained herein is provided on an
  421.    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
  422.    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
  423.    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
  424.    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
  425.    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450. Luciani, et al.               Experimental                      [Page 8]
  451.  
  452.