home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_i / draft-ietf-ipngwg-router-renum-00.txt < prev    next >
Text File  |  1997-03-27  |  30KB  |  730 lines

  1.  
  2. IPng Working Group                                         Matt Crawford
  3. Internet Draft                                                  Fermilab
  4.                                                               Bob Hinden
  5.                                                         Ipsilon Networks
  6.                                                           March 26, 1997
  7.  
  8.                         Router Renumbering for IPv6
  9.                   <draft-ietf-ipngwg-router-renum-00.txt>
  10.  
  11.  
  12. Status of this Memo
  13.  
  14.     This document is an Internet Draft.  Internet Drafts are working
  15.     documents of the Internet Engineering Task Force (IETF), its Areas,
  16.     and its Working Groups.  Note that other groups may also distribute
  17.     working documents as Internet Drafts.
  18.  
  19.     Internet Drafts are draft documents valid for a maximum of six
  20.     months.  Internet Drafts may be updated, replaced, or obsoleted by
  21.     other documents at any time.  It is not appropriate to use Internet
  22.     Drafts as reference material or to cite them other than as a
  23.     "working draft" or "work in progress."
  24.  
  25.     To learn the current status of any Internet-Draft, please check the
  26.     "1id-abstracts.txt" listing contained in the Internet Drafts Shadow
  27.     Directories on ds.internic.net (US East Coast), nic.nordu.net
  28.     (Europe), ftp.isi.edu (US  West  Coast), or munnari.oz.au (Pacific
  29.     Rim).
  30.  
  31.     Distribution of this memo is unlimited.
  32.  
  33.  
  34.  
  35. 1.  Abstract
  36.  
  37.     IPv6 Neighbor Discovery [ND] and Address Autoconfiguration [AA]
  38.     conveniently make initial assignments of address prefixes to hosts.
  39.     Aside from the problem of connection survival across a renumbering
  40.     event, these two mechanisms also simplify the reconfiguration of
  41.     hosts when the set of valid prefixes changes.
  42.  
  43.     This document defines a mechanism called Router Renumbering ("RR")
  44.     which allows address prefixes on routers to be configured and
  45.     reconfigured almost as easily as the combination of Neighbor
  46.     Discovery and Address Autoconfiguration works for hosts.  It
  47.     provides a means for a network manager to make updates to the
  48.     prefixes used by and advertised by IPv6 routers throughout a site.
  49.  
  50.  
  51.  
  52.  
  53. Expires September 26, 1997      Crawford                        [Page 1]
  54.  
  55. Internet Draft             Router Renumbering             March 26, 1997
  56.  
  57.  
  58. 2.  Functional Overview
  59.  
  60.     Router Renumbering packets contain a sequence of Prefix Control
  61.     Operations (PCOs).  Each PCO specifies an operation, a Match-Prefix,
  62.     and zero or more Use-Prefixes.  A router processes each PCO in
  63.     sequence, checking each of its interfaces for an address or prefix
  64.     which matches the match-prefix.  For every interface on which a
  65.     match is found, the operation is applied.  The operation is one of
  66.     ADD, CHANGE, or SET-GLOBAL to instruct the router to respectively
  67.     add the Use-Prefixes to the set of configured prefixes, remove the
  68.     prefix which matched the Match-Prefix and replace it with the Use-
  69.     Prefixes, or replace all global-scope prefixes with the Use-
  70.     Prefixes.  If the set of Use-Prefixes in the PCO is empty, the ADD
  71.     operation does nothing and the other two reduce to deletions.
  72.  
  73.     Additional information for each use-prefix is included in the Prefix
  74.     Control Operation: the valid and preferred lifetimes to be included
  75.     in Router Advertisement Prefix Information Options [ND], and either
  76.     the L and A flags for the same option, or an indication that they
  77.     are to be copied from the prefix that matched the match-prefix.
  78.  
  79.     It is possible to instruct routers to create new prefixes by
  80.     combining the use-prefixes in a PCO with some portion of the
  81.     existing prefix which matched the match-prefix.  This simplifies
  82.     certain operations which are expected to be among the most common.
  83.     For every use-prefix, the PCO specifies a number of bits which
  84.     should be copied from the address or prefix which matched the
  85.     match-prefix and appended to the use-prefix prior to configuring the
  86.     new prefix on the interface.  The copied bits are zero or more bits
  87.     from the positions immediately beyond the length of the use-prefix.
  88.     If subnetting information is in the same portion of of the old and
  89.     new prefixes, this synthesis allows a single Prefix Control
  90.     Operation to define a new global prefix on every router on a site,
  91.     while preserving the subnetting structure.
  92.  
  93.     Because of the power of the Router Renumbering mechanism, each RR
  94.     includes a sequence number and an authenticator to guard against
  95.     replays.  Each RR operation is idempotent and so a given message may
  96.     be retransmitted for improved reliability, as long as its sequence
  97.     number is current, without concern that it may be processed multiple
  98.     times.
  99.  
  100.     Possibly a site's network manager will want to perform more
  101.     renumbering, or exercise more detailed control, than can be
  102.     expressed in a single Router Renumbering packet on the available
  103.     media.  The RR mechanism is most powerful when RR packets are
  104.     multicast, so IP fragmentation is undesirable.  For these reasons,
  105.     each RR packet contains a "segment number".  All RR packets which
  106.  
  107.  
  108.  
  109. Expires September 26, 1997      Crawford                        [Page 2]
  110.  
  111. Internet Draft             Router Renumbering             March 26, 1997
  112.  
  113.  
  114.     have a sequence number equal to the highest value seen, and which
  115.     pass the authentication check, are equally valid and must be
  116.     processed.  However, a router may keep track of the segment numbers
  117.     of RR messages already processed and avoid reprocessing a message
  118.     whose sequence number and segment number match a previously
  119.     processed message.
  120.  
  121.     There is also a "Dry Run" indicator which indicates that all routers
  122.     should process the RR message, but not perform any reconfiguration.
  123.     It is expected that the effect of an RR message, or the simulated
  124.     effect of a Dry Run RR message, will be reported to network
  125.     management by means outside the scope of this document.
  126.  
  127.  
  128. 3.  Definitions
  129.  
  130.  
  131. 3.1.  Requirements
  132.  
  133.     Throughout this document, the words that are used to define the
  134.     significance of the particular requirements are capitalized.  These
  135.     words are:
  136.  
  137.     MUST
  138.        This word or the adjective "REQUIRED" means that the item is an
  139.        absolute requirement of this specification.
  140.  
  141.     MUST NOT
  142.        This phrase means the item is an absolute prohibition of this
  143.        specification.
  144.  
  145.     SHOULD
  146.        This word or the adjective "RECOMMENDED" means that there may
  147.        exist valid reasons in particular circumstances to ignore this
  148.        item, but the full implications should be understood and the case
  149.        carefully weighed before choosing a different course.
  150.  
  151.     SHOULD NOT
  152.        This phrase means that there may exist valid reasons in
  153.        particular circumstances when the listed behavior is acceptable
  154.        or even useful, but the full implications should be understood
  155.        and the case carefully weighed before implementing any behavior
  156.        described with this label.
  157.  
  158.     MAY
  159.        This word or the adjective "OPTIONAL" means that this item is
  160.        truly optional.  One vendor may choose to include the item
  161.        because a particular marketplace requires it or because it
  162.  
  163.  
  164.  
  165. Expires September 26, 1997      Crawford                        [Page 3]
  166.  
  167. Internet Draft             Router Renumbering             March 26, 1997
  168.  
  169.  
  170.        enhances the product, for example, another vendor may omit the
  171.        same item.
  172.  
  173.  
  174. 3.2.  Terminology
  175.  
  176.     Address
  177.        This term always refers to a 128-bit IPv6 address [AARCH].  When
  178.        referring to bits within an address, they are numbered from 0 to
  179.        127, with bit 0 being the first bit of the Format Prefix.
  180.  
  181.     Prefix
  182.        A prefix can be understood as an address plus a length, the
  183.        latter being an integer in the range 0 to 128 indicating how many
  184.        leading bits are significant.  When referring to bits within a
  185.        prefix, they are numbered in the same way as the bits of an
  186.        address.  For example, the significant bits of a prefix whose
  187.        length is L are the bits numbered 0 through L-1, inclusive.
  188.  
  189.     Match
  190.        An address A "matches" a prefix P whose length is L, if the first
  191.        L bits of A are identical with the first L bits of P.  (Every
  192.        address matches a prefix of length 0.)  A prefix P1 with length
  193.        L1 matches a prefix P2 of length L2 if L1 >=3D L2 and the first L2=
  194.  
  195.        bits of P1 and P2 are identical.
  196.  
  197.     Prefix Control Operation, Match-Prefix, Use-Prefix
  198.        These are defined section 2.
  199.  
  200.     Matched Prefix
  201.        The existing prefix or address which matched a Match-Prefix.
  202.  
  203.     New Prefix
  204.        A prefix constructed from a Use-Prefix, possibly including some
  205.        of the Matched-Prefix.
  206.  
  207.     Recorded Sequence Number
  208.        The highest sequence number found in a valid, authenticated
  209.        message with a given key MUST be recorded in non-volatile storage
  210.        along with that key.
  211.  
  212.  
  213. 3.3.  Authentication Algorithms
  214.  
  215.     All implementations MUST support Keyed MD5 [MD5] for authentication.
  216.     Additional algorithms MAY be supported.
  217.  
  218.  
  219.  
  220.  
  221.  
  222. Expires September 26, 1997      Crawford                        [Page 4]
  223.  
  224. Internet Draft             Router Renumbering             March 26, 1997
  225.  
  226.  
  227. 4.  Message Format
  228.  
  229.      /                                                               /
  230.      |                IPv6 header, extension headers                 |
  231.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  232.      /                                                               /
  233.      |                 ICMPv6 RR Header (16 octets)                  |
  234.      /                                                               /
  235.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  236.      /                                                               /
  237.      |             Zero or more PCOs (variable length)               |
  238.      /                                                               /
  239.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  240.      /                                                               /
  241.      |           Authentication Data (16 octets for MD5)             |
  242.      /                                                               /
  243.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  244.  
  245.  
  246.     Router Renumbering messages are carried in ICMP packets with Type =3D=
  247.  
  248.     TBA.  The RR message consists of
  249.  
  250.         An RR header, containing the sequence and segment numbers and
  251.         information about the authentication key and the location and
  252.         length of the authentication data within the packet;
  253.  
  254.         A sequence of Prefix Control Operations, each of variable
  255.         length;
  256.  
  257.         The authentication data, with length dependent on the
  258.         authentication type.  For Keyed MD-5, 16 octets.
  259.  
  260.     All fields marked "unused" MUST be set to zero on generation of an
  261.     RR message.  During processing of the message they MUST be included
  262.     in the authentication check, but otherwise ignored.
  263.  
  264.     All implementations which generate Router Renumbering messages MUST
  265.     support sending them to the All Routers multicast address with Link
  266.     Local and Site Local scopes, and to unicast addresses of site local
  267.     and link local formats.  All routers MUST be capable of receiving RR
  268.     messages sent to those multicast addresses and to any of their link
  269.     local and site local unicast addresses.  Implementations MAY support
  270.     sending and receiving RR messages addressed to other unicast
  271.     addresses.
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279. Expires September 26, 1997      Crawford                        [Page 5]
  280.  
  281. Internet Draft             Router Renumbering             March 26, 1997
  282.  
  283.  
  284. 4.1.  Router Renumbering Header
  285.  
  286.       0                   1                   2                   3
  287.       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
  288.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  289.      |     Type      |     Code      |          Checksum             |
  290.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  291.      |         SegmentNumber         |             KeyID             |
  292.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  293.      |           AuthLen             |          AuthOffset           |
  294.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  295.      |                        SequenceNumber                         |
  296.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  297.  
  298.  
  299.     Fields:
  300.  
  301.     Type        TBA, the ICMP type code assigned to Router Renumbering
  302.  
  303.     Code        0 for a normal RR message
  304.                 1 to indicate a "Dry Run" message.  If set to 1, the
  305.                 operations specified in this message SHOULD be
  306.                 simulated, but MUST NOT be not carried out.
  307.  
  308.     SegmentNumber
  309.                 An unsigned 15-bit field which enumerates different
  310.                 valid RR messages having the same SequenceNumber and
  311.                 KeyID.
  312.  
  313.     KeyID       An unsigned 16-bit field that identifies the key used to
  314.                 create and verify the Authentication Data for this RR
  315.                 message.  If multiple authentication algorithms are
  316.                 supported by the implementation, the choice of algorithm
  317.                 is implicit in the KeyID.
  318.  
  319.     AuthLen     An unsigned 16-bit field giving the length in octets of
  320.                 the Authentication Data.
  321.  
  322.     AuthOffset  An unsigned 16-bit offset, measured in octets, from the
  323.                 beginning of the RR message to the beginning of the
  324.                 Authentication Data.
  325.  
  326.     SequenceNumber
  327.                 An unsigned 32-bit sequence number.  The sequence number
  328.                 MUST be non-decreasing for all messages sent with the
  329.                 same KeyID.
  330.  
  331.  
  332.  
  333.  
  334.  
  335. Expires September 26, 1997      Crawford                        [Page 6]
  336.  
  337. Internet Draft             Router Renumbering             March 26, 1997
  338.  
  339.  
  340. 4.2.  Prefix Control Operation
  341.  
  342.     A Prefix Control Operation has one Match-Prefix Part of 24 octets,
  343.     followed by zero or more Use-Prefix Parts of 32 octets each.
  344.  
  345.  
  346. 4.2.1.  Match-Prefix Part
  347.  
  348.       0                   1                   2                   3
  349.       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
  350.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  351.      |    OpCode     |   OpLength    |     unused    |   MatchLen    |
  352.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  353.      |                            unused                             |
  354.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  355.      |                                                               |
  356.      +-                                                             -+
  357.      |                                                               |
  358.      +-                         MatchPrefix                         -+
  359.      |                                                               |
  360.      +-                                                             -+
  361.      |                                                               |
  362.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  363.  
  364.  
  365.     Fields:
  366.  
  367.     OpCode      An unsigned 8-bit field specifying the operation to be
  368.                 performed when the associated MatchPrefix matches an
  369.                 interface's prefix or address.  Values are:
  370.  
  371.                 1    the ADD operation
  372.  
  373.                 2    the CHANGE operation
  374.  
  375.                 3    the SET-GLOBAL operation
  376.  
  377.     OpLength    The total length of this Prefix Control Operation, in
  378.                 units of 8 octets.  A valid OpLength will always be of
  379.                 the form 4N+3, with N equal to the number of UsePrefix
  380.                 parts (possibly zero).
  381.  
  382.     MatchLen    An 8-bit unsigned integer between 0 and 128 inclusive
  383.                 specifying the number of initial bits of MatchPrefix
  384.                 which are significant in matching.
  385.  
  386.     MatchPrefix The 128-bit prefix to be compared with each interface's
  387.                 prefix or address.
  388.  
  389.  
  390.  
  391. Expires September 26, 1997      Crawford                        [Page 7]
  392.  
  393. Internet Draft             Router Renumbering             March 26, 1997
  394.  
  395.  
  396. 4.2.2.  Use-Prefix Part
  397.  
  398.       0                   1                   2                   3
  399.       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
  400.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  401.      |    UseLen     |    KeepLen    |     Mask      |     Flags     |
  402.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  403.      |                        Valid Lifetime                         |
  404.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  405.      |                      Preferred Lifetime                       |
  406.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  407.      |V|P|                          unused                           |
  408.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  409.      |                                                               |
  410.      +-                                                             -+
  411.      |                                                               |
  412.      +-                          UsePrefix                          -+
  413.      |                                                               |
  414.      +-                                                             -+
  415.      |                                                               |
  416.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  417.  
  418.     Fields:
  419.  
  420.     UseLen      An 8-bit unsigned integer less than or equal to 128
  421.                 specifying the number of initial bits of UsePrefix to
  422.                 use in creating a new prefix for an interface.
  423.  
  424.     KeepLen     An 8-bit unsigned integer less than or equal to (128-
  425.                 UseLen) specifying the number of bits of the prefix or
  426.                 address which matched the associated Match-Prefix which
  427.                 should be retained in the new prefix.  The retained bits
  428.                 are those at positions UseLen through (UseLen+KeepLen-1)
  429.                 in the matched address or prefix, and they are copied to
  430.                 the same positions in the New Prefix.
  431.  
  432.     Mask        An 8-bit mask.  A 1 bit in any position means that the
  433.                 corresponding flag bit in a Router Advertisement (RA)
  434.                 Prefix Information Option should be set from the Flags
  435.                 field in this Use-Prefix Part.  A 0 bit in the Mask
  436.                 means that the RA flag bit should be unchanged by this
  437.                 operation.
  438.  
  439.     Flags       An 8 bit field which, under control of the Mask field,
  440.                 may be used to initialize the flags in Router
  441.                 Advertisement Prefix Information Options which advertise
  442.                 the New Prefix.  Note that only two flags as defined
  443.                 meanings to date: the L (on-link) and A (autonomous
  444.  
  445.  
  446.  
  447. Expires September 26, 1997      Crawford                        [Page 8]
  448.  
  449. Internet Draft             Router Renumbering             March 26, 1997
  450.  
  451.  
  452.                 configuration) flags.
  453.  
  454.     Valid Lifetime
  455.                 A 32-bit unsigned integer which is the number of seconds
  456.                 for which the New Prefix will be valid [ND, SAA].
  457.  
  458.     Preferred Lifetime
  459.                 A 32-bit unsigned integer which is the number of seconds
  460.                 for which the New Prefix will be preferred [ND, SAA].
  461.  
  462.     V           A 1-bit flag indicating that the valid lifetime of the
  463.                 New Prefix MUST be effectively decremented in real time.
  464.  
  465.     P           A 1-bit flag indicating that the preferred lifetime of
  466.                 the New Prefix MUST be effectively decremented in real
  467.                 time.
  468.  
  469.     UsePrefix   The 128-bit Use-prefix which either becomes or is used
  470.                 in forming (if KeepLen is nonzero) the New Prefix.  It
  471.                 MUST NOT have the form of a multicast or link-local
  472.                 address [AARCH].
  473.  
  474.  
  475. 4.3.  Authentication -- Keyed MD5
  476.  
  477.     When the key and algorithm associated with the KeyID indicate that
  478.     Keyed MD5 authentication is to be used, the authentication data is
  479.     generated in accordance with RFC 1321 [MD5]:
  480.  
  481.     All fields of the RR header and all the PCOs are filled in.  AuthLen
  482.     will be 16 and AuthOffset will be equal to the length in octets of
  483.     the RR packet, not including any IPv6 headers.  Let RRLength denote
  484.     that length, which will always be a multiple of 8.
  485.  
  486.     The 16 octets of MD5 secret are appended to the RR message, followed
  487.     by 8 to 64 octets of padding, enough to make the sum of the number
  488.     of octets in the message, the secret and the padding equal to 56,
  489.     modulo 64.  (The number of octets of padding will be 8 + ((48-
  490.     RRLength) modulo 64).)  The value of the padding will be a single
  491.     octet with value 80 hexadecimal followed by octets of zeros.
  492.  
  493.     Next, the MD5 length is appended, as a 64-bit value, with the most
  494.     significant 32-bit word first.  This length is counted in bits and
  495.     includes the secret, but not not the padding.  This it will be equal
  496.     to 8*RRLength+128.
  497.  
  498.     Finally, the MD5 digest is computed and the result replaces the
  499.     secret in its position immediately afer the last PCO.  The padding
  500.  
  501.  
  502.  
  503. Expires September 26, 1997      Crawford                        [Page 9]
  504.  
  505. Internet Draft             Router Renumbering             March 26, 1997
  506.  
  507.  
  508.     and the MD5 length are discarded, as they can be reconstructed by
  509.     the receiver.  The transmitted message includes everything through
  510.     the MD5 digest only.
  511.  
  512.  
  513. 5.  Message Processing
  514.  
  515.     Processing of received Router Renumbering messages consists of three
  516.     parts: header check, authentication check, and execution.
  517.  
  518.  
  519. 5.1.  Header Check
  520.  
  521.     First, the existence and validity of the key indicated by the KeyID
  522.     are checked.  If there is no such valid key, or if the value of
  523.     AuthLen is not correct for that key, the message MUST be discarded,
  524.     and SHOULD be logged to network management.
  525.  
  526.     Next, the SequenceNumber is compared to the Recorded Sequence Number
  527.     for the specified key.  (If no messages have been received using
  528.     this key, the recorded number is zero.)  This comparison is done
  529.     with the two numbers considered as simple non-negative integers, not
  530.     as DNS-style serial numbers.  If the SequenceNumber is less than the
  531.     Recorded Sequence Number for the key, the message MUST be discarded
  532.     and SHOULD be logged to network management.
  533.  
  534.     Finally, if the SequenceNumber in the message is equal to the
  535.     Recorded Sequence Number, the SegmentNumber MAY be checked.  If a
  536.     correctly authenticated message with the same KeyID, SequenceNumber
  537.     and SegmentNumber has already been processed, the current message
  538.     MAY be discarded.  If it is discarded, it SHOULD NOT be logged to
  539.     network management.
  540.  
  541.  
  542. 5.2.  Authentication Check
  543.  
  544.     The authentication check is performed over the RR message, without
  545.     any IPv6 or extension headers.  In the case of Keyed MD5 it proceeds
  546.     as follows.  First, the authentication data octets are saved, then
  547.     that portion of the packet is replaced with the MD5 secret.  The
  548.     padding and length fields are appended just as during message
  549.     generation, and the MD5 digest is computed and compared to the saved
  550.     value.  If the computed digest is not equal to the saved
  551.     authentication data, the authentication check fails.
  552.  
  553.     If the authentication check fails, the message MUST be discarded and
  554.     SHOULD be logged to network management.
  555.  
  556.  
  557.  
  558.  
  559. Expires September 26, 1997      Crawford                       [Page 10]
  560.  
  561. Internet Draft             Router Renumbering             March 26, 1997
  562.  
  563.  
  564.     If the authentication check passes, and the SequenceNumber is
  565.     greater than the Recorded Sequence Number for the key, then the list
  566.     of processed SegmentNumbers, if any, MUST be cleared and the
  567.     Recorded Sequence Number MUST be updated to the value used in the
  568.     current message, regardless of subsequent processing errors.
  569.  
  570.  
  571. 5.3.  Execution
  572.  
  573.     THIS SECTION IS NOT YET COMPLETED.
  574.  
  575.     After succesful processing of all the Prefix Control Operations, an
  576.     implementation MAY record the SegmentNumber of the packet in a list
  577.     associated with the KeyID and SequenceNumber.
  578.  
  579.  
  580. 6.  Key Management
  581.  
  582.     As with all security methods using keys, it is necessary to change
  583.     the RR Authentication Key on a regular basis.  To provide RR
  584.     functionality during key changes, implementations MUST be able to
  585.     store and use more than one Authentication Key at the same time.
  586.  
  587.     The Authentication Keys SHOULD NOT be stored or transmitted using
  588.     algorithms or protocols that have known flaws.  Implementations MUST
  589.     support the storage of more than one key at the same time, MUST
  590.     associate a specific lifetime (start and end times) and a key
  591.     identifier with each key, and MUST support manual key distribution
  592.     (e.g., manual entry of the key, key lifetime, and key identifier on
  593.     the router console).
  594.  
  595.     An infinite key lifetime SHOULD NOT be allowed.  If infinite
  596.     lifetimes are allowed, manual deletion of valid keys MUST be
  597.     supported; otherwise manual deletion SHOULD be supported.  The
  598.     implementation MAY automatically delete expired keys.
  599.  
  600.  
  601. 7.  Usage Guidelines
  602.  
  603.     Using a new authentication key while a previously used key is still
  604.     valid can open the possibility of a replay attack.  The processing
  605.     rules as given in section 5. specify that routers keep track of the
  606.     highest sequence number seen for each key, and that messages with
  607.     that key and seuence number remain valid until either a higher
  608.     sequence number is seen or the key expires.  The difficulty arises
  609.     when a new key is used to send a message which supersedes the last
  610.     message sent with another still-valid key.  That older message can
  611.     still be replayed.
  612.  
  613.  
  614.  
  615. Expires September 26, 1997      Crawford                       [Page 11]
  616.  
  617. Internet Draft             Router Renumbering             March 26, 1997
  618.  
  619.  
  620.     This vulnerability can be avoided in practice by sending a "NO-OP"
  621.     message with the old key and a valid new sequence number before
  622.     using a newer key.  This mesage will then become the only one which
  623.     can be replayed with the old key.  An example of a NO-OP message
  624.     would be one which contains no Prefix Control Operations.
  625.  
  626.     Cearly a management station must keep track of the highest sequence
  627.     number it has used for any authentication key, at least to the
  628.     extent of being able to generate a larger value when needed.  A
  629.     timestamp may make a good sequence number.
  630.  
  631.  
  632. 8.  Points for Discussion
  633.  
  634.  
  635.          Does the site-local all-routers multicast address exist?
  636.          RFC1884 sort of glosses over that.  If it doesn't, we need
  637.          a new multicast address to be assigned.
  638.  
  639.          The "unusued" fields of the MatchPart could be used to
  640.          specify another condition in addition to matching a
  641.          prefix.  For example, one of the prefix lifetime timers
  642.          could be tested against a value.
  643.  
  644.          If the messages of several different protocols use the
  645.          same authentication mechanism, as this draft tries to
  646.          emulate the Keyed-MD5 authentication proposed for RIPv2,
  647.          then it's possible for one authenticated message body to
  648.          be grafted onto a different set of headers and cause at
  649.          least some confusion, and possibly worse.  This can be
  650.          prevented by placing magic numbers or other fixed data in
  651.          the packets so that a packet for one protocol is never
  652.          valid for another.
  653.  
  654.          Since RR messages will presumably be generated only by a
  655.          set network management stations which is disjoint from the
  656.          set of routers to which they are directed, an asymmetric
  657.          authentication scheme would be desirable.
  658.  
  659.  
  660. 9.  Security Considerations
  661.  
  662.     The Router Renumbering mechanism proposed here is very powerful and
  663.     prevention of spoofing it is important.  Replay of old messages must
  664.     be prevented, except in the narrow case of idempotent messages which
  665.     are still valid at the time of replay.  We believe the
  666.     authentication mechanisms included in this specification achieve the
  667.     necessary protections, so long as authentication keys are not
  668.  
  669.  
  670.  
  671. Expires September 26, 1997      Crawford                       [Page 12]
  672.  
  673. Internet Draft             Router Renumbering             March 26, 1997
  674.  
  675.  
  676.     compromised.
  677.  
  678.     Authentication keys must be as well protected as is any other access
  679.     method that allows reconfiguration of a site's routers.
  680.     Distribution of keys must not expose them or permit alteration, and
  681.     key lifetimes must be limited.
  682.  
  683.  
  684. 10.  Acknowledgments
  685.  
  686.     Some of the key management text was borrowed from "RIP-II MD5
  687.     Authentication."  (And the loan was repaid in kind.)
  688.  
  689.  
  690. 11.  References
  691.  
  692.  
  693.     [AARCH] R. Hinden, S. Deering, "IP Version 6 Addressing
  694.             Architecture", RFC 1884.
  695.  
  696.  
  697.     [MD5]   R. Rivest, "The MD5 Message-Digest Algorithm", RFC 1321.
  698.  
  699.  
  700.     [ND]    T. Narten, E. Nordmark, W. Simpson, "Neighbor Discovery for
  701.             IP Version 6 (IPv6)", RFC 1970.
  702.  
  703.  
  704.     [SAA]   S. Thomson, T. Narten, "IPv6 Stateless Address
  705.             Autoconfiguration", RFC 1971.
  706.  
  707.  
  708. 12.  Authors' Addresses
  709.  
  710.     Matt Crawford                         Robert M. Hinden
  711.     Fermilab MS 368                       Ipsilon Networks, Inc.
  712.     PO Box 500                            232 Java Drive
  713.     Batavia, IL 60510                     Sunnyvale, CA 94089
  714.     USA                                   USA
  715.  
  716.     Phone: +1 630 840 3461                Phone: +1 408 990 2004
  717.  
  718.     Email: crawdad@fnal.gov               Email: hinden@ipsilon.com
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727. Expires September 26, 1997      Crawford                       [Page 13]
  728.  
  729.  
  730.