home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / rfc / rfc2154 < prev    next >
Text File  |  1997-06-16  |  73KB  |  1,628 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                          S. Murphy
  8. Request for Comments: 2154                                     M. Badger
  9. Category: Experimental                                     B. Wellington
  10.                                              Trusted Information Systems
  11.                                                                June 1997
  12.  
  13.                       OSPF with Digital Signatures
  14.  
  15. Status of this Memo
  16.  
  17.    This memo defines an Experimental Protocol for the Internet
  18.    community.  This memo does not specify an Internet standard of any
  19.    kind.  Discussion and suggestions for improvement are requested.
  20.    Distribution of this memo is unlimited.
  21.  
  22. Abstract
  23.  
  24.    This memo describes the extensions to OSPF required to add digital
  25.    signature authentication to Link State data, and to provide a
  26.    certification mechanism for router data.  Added LSA processing and
  27.    key management is detailed.  A method for migration from, or co-
  28.    existence with, standard OSPF V2 is described.
  29.  
  30. Table of Contents
  31.  
  32.    1 Acknowledgements .............................................   2
  33.    2 Introduction .................................................   2
  34.    3 LSA Processing ...............................................   4
  35.    3.1 Signed LSA .................................................   4
  36.    3.2 Router Public Key LSA (PKLSA) ..............................   5
  37.    3.3 MaxAge Processing ..........................................   7
  38.    4 Key Management ...............................................   8
  39.    4.1 Identifying Keys ...........................................   8
  40.    4.1.1 Identifying Router Keys and PKLSAs .......................   8
  41.    4.1.2 Identifying TE Public Keys ...............................   8
  42.    4.1.3 Key to use for Signing ...................................   9
  43.    4.1.4 Key to use for Verification ..............................   9
  44.    4.2 Trusted Entity (TE) Requirements ...........................  10
  45.    4.3 Scope for Keys and Signature Algorithms.....................  10
  46.    4.4 Router Key Replacement .....................................  11
  47.    4.5 Trusted Entity Key Replacement .............................  12
  48.    4.6 Flexible Cryptographic Environments ........................  14
  49.    4.6.1 Multiple Signature Algorithms ............................  14
  50.    4.6.2 Multiple Trusted Entities ................................  15
  51.    4.6.3 Multiple Keys for One Router .............................  16
  52.    5 Compatibility with Standard OSPF V2 ..........................  16
  53.    6 Special Considerations/Restrictions for the ABR-ASBR .........  17
  54.    7 LSA formats ..................................................  18
  55.  
  56.  
  57.  
  58. Murphy, et. al.               Experimental                      [Page 1]
  59.  
  60. RFC 2154              OSPF with Digital Signatures             June 1997
  61.  
  62.  
  63.    7.1 Router Public Key LSA (PKLSA) ..............................  18
  64.    7.2 Router Public Key Certificate ..............................  20
  65.    7.3 Signed LSA .................................................  23
  66.    8 Configuration Information ....................................  26
  67.    9 Remaining Vulnerabilities ....................................  26
  68.    9.1 Area Border Routers ........................................  27
  69.    9.2 Internal Routers ...........................................  27
  70.    9.3 Autonomous System Border Routers ...........................  28
  71.    10 Security Considerations .....................................  28
  72.    11 References ..................................................  29
  73.    12 Authors' Addresses ..........................................  29
  74.  
  75. 1.  Acknowledgements
  76.  
  77.    The idea of signing routing information is not new.  Foremost, of
  78.    course, there is the design that Radia Perlman reported in her thesis
  79.    [4] and in her book [5] for signing link state information and for
  80.    distribution of the public keys used in the signing.  IDPR [7] also
  81.    recommends the use of public key based signatures of link state
  82.    information.  Kumar and Crowcroft [2] discuss the use of secret and
  83.    public key authentication of inter-domain routing protocols.  Finn [1]
  84.    discusses the use of secret and public key authentication of several
  85.    different routing protocols.  The design reported here is closest to
  86.    that reported in [4] and [7].  It should be noted that [4] also
  87.    presents techniques for protecting the forwarding of data packets, a
  88.    topic that is not considered here, as we consider it not within the
  89.    scope of the OSPF working group.
  90.  
  91.    The authors would also like to acknowledge many fruitful discussions
  92.    with many members of the OSPF working group, particularly Fred Baker
  93.    of Cisco Systems, Dennis Ferguson of MCI Telecommunications Corp.,
  94.    John Moy of Cascade Communications Corp., Curtis Villamizar of ANS,
  95.    Inc., and Rob Coltun of FORE Systems.
  96.  
  97. 2.  Introduction
  98.  
  99.    It is well recognized that there is a need for greater security in
  100.    routing protocols. OSPF currently provides "simple password"
  101.    authentication where the password travels "in the clear", and there
  102.    is work in progress[11] to provide keyed MD5 authentication for OSPF
  103.    protocol packets between neighbors.  The simple password
  104.    authentication is vulnerable because any listener can discover and
  105.    use the password.  Keyed MD5 authentication is very useful for
  106.    protection of protocol packets passed between neighbors, but does not
  107.    address authentication of routing data that is flooded from source to
  108.    eventual destination, through routers which may themselves be faulty
  109.    or subverted.
  110.  
  111.  
  112.  
  113.  
  114. Murphy, et. al.               Experimental                      [Page 2]
  115.  
  116. RFC 2154              OSPF with Digital Signatures             June 1997
  117.  
  118.  
  119.    The basic idea of this proposal is to add digital signatures to OSPF
  120.    LSA data, distribute certified router information and keys, and use a
  121.    neighbor-to-neighbor authentication algorithm (like keyed MD5) to
  122.    protect local protocol exchanges.  The content of a Hello packet,
  123.    Link State Request, Link State Update, or Database Description will
  124.    be protected by the neighbor-to-neighbor algorithm.  The LSAs that
  125.    are being flooded inside the Link State Update packets are
  126.    individually protected by a digital signature.  Each LSA will be
  127.    signed by the originator of that information and the signature will
  128.    stay with the data in its travels via OSPF flooding.  This will
  129.    provide end-to-end integrity and authentication for LSA data. The
  130.    digital signature attached to an LSA by the source router provides
  131.    assurance that the data comes from the advertising router.  It will
  132.    also ensure that the data has not been modified by some other router
  133.    in the course of flooding.  In the case where incorrect routing data
  134.    is originated by a faulty router, the signature will identify the
  135.    source of the problem.
  136.  
  137.    Digital signatures are implemented using public key cryptography.
  138.    There are some good books on the subject of cryptography [6], but the
  139.    high level view of how this design uses public key cryptography is as
  140.    follows: Each router has a pair of keys, a public key and a private
  141.    key.  The private key is used to generate a unique signature of a
  142.    block of data (in this case, the LSA). Each router signs its LSAs by
  143.    first running a one-way hash algorithm (like MD5 or SHA) on the data,
  144.    and then using its private key to sign the digest.  The signature of
  145.    an LSA is appended to the LSA. The public key can be used by any
  146.    other router to verify the signature.  The private key must be kept
  147.    secret by one router and the public key must be distributed to all
  148.    the routers that will receive link state information from the signer.
  149.    The distribution is accomplished by creating a new LSA, the Public
  150.    Key LSA (PKLSA), and distributing it via the standard OSPF flooding
  151.    procedure.  Flooding will ensure that a router public key is sent
  152.    everywhere that the router's signed LSAs are sent.
  153.  
  154.    Any router can send out a public key and claim to be a given router,
  155.    so the public key itself provides no assurance of the actual identity
  156.    of the sender. This assurance must be provided by a Trusted Entity.
  157.    The Trusted Entity (TE) is a system that generates certificates for
  158.    routers.  A certificate is a packet of information about a router
  159.    that identifies the router and supplies a public key. Certified
  160.    router information will include the router id, its role, the address
  161.    ranges that the router may advertise, a timestamp and the router's
  162.    public key. The certificate is signed by the TE.  Each router must be
  163.    configured with a certificate and a TE public key to use in verifying
  164.    other routers' certificates.  A router PKLSA contains the certificate
  165.    for that router.  A router receiving a PKLSA verifies the certificate
  166.    using the TE public key, and then verifies the whole LSA using the
  167.  
  168.  
  169.  
  170. Murphy, et. al.               Experimental                      [Page 3]
  171.  
  172. RFC 2154              OSPF with Digital Signatures             June 1997
  173.  
  174.  
  175.    router public key contained in the certificate. Successful
  176.    verification provides assurance that the PKLSA is from the correct
  177.    router, and that it has not been altered by any other router in the
  178.    flood path.
  179.  
  180.    OSPF with Digital Signatures is backward compatible with standard
  181.    OSPF V2 in a limited way.  Within an AS there may be "signed" areas
  182.    and "unsigned" areas.  The behavior of a mixed AS is discussed in
  183.    section 5.
  184.  
  185.    Digital signatures for OSPF LSAs can be implemented with the
  186.    following major functions:
  187.  
  188.    (1) Support for a digital signature algorithm
  189.  
  190.    (2) Support for a signed version of all routing information LSAs
  191.  
  192.    (3) Support for a new LSA: Router Public Key LSA (PKLSA)
  193.  
  194.    (4) A mechanism for key certification and certificate distribution
  195.  
  196.    (5) Extra configuration data (detail in section 7):
  197.  
  198.          Trusted Entity (TE) information and key(s)
  199.          Router certification data and key
  200.          Area environment flag (signed/unsigned)
  201.          Timing intervals
  202.  
  203.    An implementation of this design exists, based on the OSPF in Gated
  204.    version 3.5Beta3.  This implementation is available for
  205.    use/experimentation.  Please contact the authors for information.
  206.  
  207. 3.  LSA Processing
  208.  
  209. 3.1.  Signed LSA
  210.  
  211.    A signed LSA contains the standard OSPF V2 header and data plus key
  212.    identification information, a signature length and a signature.  The
  213.    top bit of the LS type field is set to indicate the presence of a
  214.    signature.  The signature covers the LSA header (starting with the
  215.    options field), the LSA data, and the key identification information
  216.    and the signature length that must be appended to the LSA data.
  217.    There are two exceptions to this coverage: first, an LSA created with
  218.    age=MaxAge has a signature that begins with the age field (see
  219.    section on maxage); second, the LSA header checksum is set to zero
  220.    for the generation of the signature.  To assist in parsing the
  221.    message, the key id information and the signature length fields are
  222.    placed at the end of the LSA, following the signature.  However, the
  223.  
  224.  
  225.  
  226. Murphy, et. al.               Experimental                      [Page 4]
  227.  
  228. RFC 2154              OSPF with Digital Signatures             June 1997
  229.  
  230.  
  231.    message must be signed and verified with these fields immediately
  232.    appended to the LSA data.  This can be accomplished either by doing
  233.    the sign and verify "in parts" (allowed by RSAREF), or by storing the
  234.    LSA data with appended fields and the LSA signature separately in the
  235.    link state database (LSDB).
  236.  
  237.    When a signed LSA is received, the signature can be verified using
  238.    the public key of the advertising router contained in the advertising
  239.    router's PKLSA.  If the signature verifies, then the signed LSA is
  240.    stored for use in routing calculations. If the signature verification
  241.    fails, the LSA must be discarded. If the identified key is not
  242.    available (in a PKLSA from the advertising router), then the signed
  243.    LSA must be stored for a period of time defined by the configurable
  244.    MAX_TRANSIT_DELAY interval.  If the key arrives within this interval,
  245.    the LSA will be processed then.  If the key does not arrive within
  246.    this interval, the LSA will be discarded.  This delay period prevents
  247.    loss of routing information due to LSAs arriving prior to their
  248.    associated PKLSAs (which should not normally be the case, but could
  249.    happen).
  250.  
  251.    If the LSA is a Router Links LSA, the router's advertised links must
  252.    be checked against the allowed address ranges stored in the PKLSA for
  253.    the advertising router.  All network links (link types 2 and 3) must
  254.    have an IP address that fits in one of the ranges defined by the list
  255.    of address ranges in the PKLSA (format 7.2).  If there is a link that
  256.    does not fit into one of these ranges, then an error must be logged
  257.    and the LSA must be discarded.  Careful subnetting and corresponding
  258.    ranges can provide very tight control on what is advertised.  A much
  259.    less restrictive, but still useful, level of control can be obtained
  260.    by defining allowed address ranges for an area, so that all routers
  261.    in an area could be configured with the same set.  To trivially
  262.    satisfy this checking, one range with a zero address and mask can be
  263.    defined that contains all IP addresses.
  264.  
  265.    Link State Acknowledgements must be sent for all LSAs that are
  266.    discarded due to verification failures, that are stored waiting for
  267.    keys, and that are discarded because they are advertising a link that
  268.    they are not allowed to advertise.
  269.  
  270. 3.2.  Router Public Key LSA (PKLSA)
  271.  
  272.    A Router Public Key LSA (PKLSA) is sent in the same manner as all
  273.    other LSAs.  This LSA contains the router's public key and
  274.    identifying information that has been certified by a Trusted Entity.
  275.    The router public key is used to verify signatures produced by this
  276.    router.  There is only one PKLSA stored per router in the LSDB for an
  277.    area, so the Router Id and LS type can be used to retrieve a given
  278.    PKLSA.  The Router Id is stored in the PKLSA Link State Id field to
  279.  
  280.  
  281.  
  282. Murphy, et. al.               Experimental                      [Page 5]
  283.  
  284. RFC 2154              OSPF with Digital Signatures             June 1997
  285.  
  286.  
  287.    use in retrieving the PKLSA. Identification information in the
  288.    certified data (TE Id, Rtr Key Id) can be used to uniquely identify
  289.    the current router key (section 7.2).
  290.  
  291.    To assist in parsing the message, the router signature length and the
  292.    certification length fields are at the end of the LSA, following the
  293.    signature.  The message must be signed and verified with these fields
  294.    immediately appended to the LSA data.  The router signature of the
  295.    PKLSA is verified in the same manner as other signed LSAs.  In
  296.    addition, the certification must be verified using the referenced TE
  297.    public key.  If either verification fails, for any reason, the PKLSA
  298.    is discarded.
  299.  
  300.    A successfully verified PKLSA is stored for use in verifying signed
  301.    LSAs from the advertising router. For every router that this router
  302.    is in contact with, there may be one PKLSA stored at any given time.
  303.    Each PKLSA is uniquely identified by the values (TE Id, Rtr Key Id)
  304.    in the certified data (format in 7.2).  When a PKLSA arrives for a
  305.    given router, and there is already a PKLSA stored for that router,
  306.    the PKLSA with the most recent "Create Time" is the one kept.
  307.  
  308.    Whenever groups of LSAs are sent by a router (as when synchronizing
  309.    databases or sending updates), the PKLSAs must be sent/requested
  310.    before other LSAs to minimize the time spent processing LSAs that
  311.    arrive prior to their associated keys.  The PKLSA is sent at
  312.    intervals like all other LSAs, and it is sent immediately if a router
  313.    obtains a new key to distribute. A PKLSA is sent via OSPF flooding
  314.    within an OSPF area.  PKLSAs are not flooded outside an area with the
  315.    exception of an Autonomous System Border Router's PKLSAs which must
  316.    be flooded wherever AS external LSAs are flooded.  The decision to
  317.    flood or not flood can be implemented by checking the router role
  318.    (Rtr, ABR, ASBR, ABR-ASBR) stored in the certified part of the PKLSA.
  319.  
  320.    A router may flush its keys from routing tables by flooding a PKLSA
  321.    for that key with age=MaxAge.  This is called premature aging of the
  322.    PKLSA.  A key can also be removed from routing tables (superseded) by
  323.    a PKLSA from the same router, containing a valid certificate for a
  324.    new key with a more recent Create Time.  If a key is superseded by a
  325.    more recent key it is not necessary to flush the old key with a
  326.    "MaxAge" PKLSA.
  327.  
  328.    When a new key is received, the LSAs stored in the LSDB that are
  329.    signed with the old key must be replaced within MAX_TRANSIT_DELAY.
  330.    if the sending router is working properly.  This is because a router
  331.    distributing a new key sends all of its self-originated LSAs signed
  332.    with the new key immediately after sending the new PKLSA.  (See
  333.    section 4.4 on Router Key Replacement).  To ensure that data signed
  334.    with an old (possibly subverted) key does not persist in the LSDB in
  335.  
  336.  
  337.  
  338. Murphy, et. al.               Experimental                      [Page 6]
  339.  
  340. RFC 2154              OSPF with Digital Signatures             June 1997
  341.  
  342.  
  343.    error, all LSAs signed with a flushed or superseded key are aged to
  344.    within MAX_TRANSIT_DELAY of MaxAge.  This should allow time for the
  345.    new LSAs signed with the new key to arrive.  If new LSAs do not
  346.    arrive, or if the key has been flushed and not replaced, then the old
  347.    LSA data will disappear from the LSDB in a timely fashion.
  348.  
  349.    Link State Acknowledgements must be sent for PKLSAs that are
  350.    discarded due to verification failures or because the PKLSA was less
  351.    recent than the one already stored.
  352.  
  353. 3.3.  MaxAge Processing
  354.  
  355.    The age field in the OSPF LSA header is used to keep track of how
  356.    long a given LSA has been in the system.  When the age field reaches
  357.    MaxAge, a router stops using the LSA for routing, and it floods the
  358.    MaxAge LSA to make sure that all routers stop using this LSA.  In the
  359.    normal course of the OSPF protocol, an LSA is always replaced by an
  360.    updated version before the age reaches MaxAge, unless the advertising
  361.    router fails, or changes in the AS have made the routing information
  362.    in the LSA inaccurate.  An LSA with age=MaxAge is either:
  363.  
  364.  
  365.    (1) being intentionally flushed from the AS by the advertising router
  366.        because the information in it is no longer accurate, or
  367.  
  368.    (2) an orphan LSA that has aged to MaxAge because its originating
  369.        router has not refreshed it at the normal refresh intervals.
  370.  
  371.    The age field cannot generally be included in the signature, because
  372.    it must be updated by routers other than the originating router.  For
  373.    the same reason, the age field is not included in the checksum
  374.    computation.  The age field must be protected, because if a faulty
  375.    router started to age out other router's LSAs, it would effectively
  376.    deny service to those other routers.
  377.  
  378.    To protect the age field, the signature must include the age field if
  379.    and only if the originating router creates an LSA with age=MaxAge.
  380.    Verification of the signature on a signed LSA must include the age
  381.    field if and only if the age field value is MaxAge.  In this manner,
  382.    the originating router can flush an LSA, but other routers cannot.
  383.    An LSA that ages to MaxAge in the LSDB of any router is still
  384.    discarded by that router, but it is not synchronously flushed from
  385.    the AS.
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394. Murphy, et. al.               Experimental                      [Page 7]
  395.  
  396. RFC 2154              OSPF with Digital Signatures             June 1997
  397.  
  398.  
  399.    An LSA will be removed from a router's Link State Database in one of
  400.    two ways: 1) the router receives a version of the LSA with the age
  401.    field set to MaxAge and a valid signature that covers the age field,
  402.    or 2) the LSA incrementally reaches MaxAge while it is stored by the
  403.    router.
  404.  
  405.    If a standard OSPF V2 router goes down, an LSA from that router will
  406.    age in the LSDBs of each remaining router until it reaches MaxAge
  407.    somewhere.  As soon as it reaches MaxAge in some router's LSDB it is
  408.    flooded, and this causes it to be flushed from the AS in a
  409.    synchronized fashion.  If router running OSPF with digital signatures
  410.    goes down, its signed LSAs will be aged out by each remaining router
  411.    individually.  This will slow database convergence but the databases
  412.    will still converge, and a fairly obvious security hole will be
  413.    closed.
  414.  
  415. 4.  Key Management
  416.  
  417. 4.1.  Identifying Keys
  418.  
  419. 4.1.1.  Identifying Router Keys and PKLSAs
  420.  
  421.    A router key is identified by the Router Id, and the identifiers
  422.    associated with the particular key in its certificate: TE Id and
  423.    Router Key Id.  All three of these values are stored in a PKLSA
  424.    (format in 7.1).  The Router Id is the standard LSA header
  425.    Advertising Router.  The (TE Id, Rtr Key Id) are stored in the PKLSA
  426.    certified data.  The TE Id is a number assigned to a Trusted Entity
  427.    that must uniquely identify one TE in the AS.  The TE Id in a
  428.    certificate identifies the TE that produced the certificate.  The Rtr
  429.    Key Id is associated with a key by the Trusted Entity that produced
  430.    the certificate.  The Trusted Entity must produce a stream of Rtr Key
  431.    Ids for one router such that the router will not re-use a key id
  432.    until all references to the last key having that id are gone from the
  433.    AS.  If a key is re-played, or re-used too soon, the Create Time in
  434.    the key certification will determine which key is current.  Rtr Key
  435.    Ids do not have to be sequential.
  436.  
  437. 4.1.2.  Identifying TE Public Keys
  438.  
  439.    Each TE public key has an associated TE Id, TE Key Id.  The
  440.    combination of (TE Id, TE Key Id) uniquely identifies one TE public
  441.    key in the AS.  The TE Id is a number assigned to a Trusted Entity
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450. Murphy, et. al.               Experimental                      [Page 8]
  451.  
  452. RFC 2154              OSPF with Digital Signatures             June 1997
  453.  
  454.  
  455.    that uniquely identifies one TE in the AS.  The TE Key Id must
  456.    identify one particular key for a TE at any given time.  The TE Key
  457.    Id distinguishes between a new key and an old key for the same TE.
  458.    The TE Key Id also differentiates between keys for different
  459.    signature algorithms if one TE serves multiple algorithms.  Each TE
  460.    can have at most one current key per signature algorithm.
  461.  
  462.    There can be multiple TE keys stored on each router.  A TE public key
  463.    is used to verify the certificates issued by other routers, and in an
  464.    AS with several TEs, any given router may need several TE public
  465.    keys.  TE Key Ids do not have to be used sequentially, and they can
  466.    be re-used.  There is no timestamp for TE keys because these are not
  467.    certified.
  468.  
  469.    It is the responsibility of Configuration Management to ensure that
  470.    TE Key Ids are not re-used before all references to a previously used
  471.    key with the same (TE Id, TE Key Id) are gone from the AS, that a
  472.    given (TE Id, TE Key Id) on one router identifies the same key as it
  473.    does on any other router, and that the rules for TE Key Replacement
  474.    (section 4.5) are followed.
  475.  
  476. 4.1.3.  Key to use for Signing
  477.  
  478.    A router is configured with a pair of keys.  The private key is
  479.    protected from disclosure and is used for signing.  The public key is
  480.    flooded in a PKLSA and is used for verifying signatures.  A router
  481.    may have one key per area to use for signing at any given time.  A
  482.    router may use the same key for several or all areas.
  483.  
  484. 4.1.4.  Key to use for Verification
  485.  
  486.    There are three uses of signature verification in this design:
  487.  
  488.    (1) The signature in a signed LSA (format in 7.3) can be verified
  489.        with the public key distributed by the advertising router in a
  490.        Public Key LSA.  A signed LSA contains the (TE Id, Rtr Key Id) of
  491.        the key used to sign it.  The signed LSA's Advertising Router Id
  492.        is used to retrieve the router's PKLSA , and the (TE Id, Rtr Key
  493.        Id) indicates if the router key in the PKLSA is the same as the
  494.        one used to generate the signature.
  495.  
  496.    (2) The router's signature in a PKLSA (format in 7.1) is verified
  497.        with the public key contained in that PKLSA.
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506. Murphy, et. al.               Experimental                      [Page 9]
  507.  
  508. RFC 2154              OSPF with Digital Signatures             June 1997
  509.  
  510.  
  511.    (3) The PKLSA contains data certified with a signature generated
  512.        by a TE.  The PKLSA certified data contains the (TE Id, TE Key
  513.        Id) for the TE key that can be used to verify the certificate
  514.        (format in 7.2).  TE public keys must be configured on each
  515.        router.
  516.  
  517. 4.2.  Trusted Entity (TE) Requirements
  518.  
  519.    This design does not specify how the Trusted Entity (TE) must be
  520.    implemented, where it must reside, or how it must communicate with
  521.    routers.  There are several very different possible approaches to the
  522.    implementation of a Trusted Entity (e.g., an offline system with
  523.    distribution of keys by floppy or secure e-mail, an online automated
  524.    key distribution center, etc.) This design does mandate certain
  525.    requirements for what a Trusted Entity must do.  A Trusted Entity
  526.    must generate a certificate for each signing router that contains
  527.    individualized information about that router (format in 7.2) and is
  528.    signed with the Trusted Entity private key.  The Trusted Entity must
  529.    have a unique TE Id for itself, it must create a Rtr Key Id for each
  530.    router key that is unique for the given Router for this TE at this
  531.    time, and it must timestamp certificates with a Create Time that is
  532.    consistent for itself and for any other Trusted Entities operating in
  533.    the AS.  Note: routers do not have to be time-synched, but TEs do.
  534.    Create Time is used by routers as a relative measure to determine
  535.    which key is more recent.
  536.  
  537.    The TE Public key, TE Id, TE Key Id and Signature Algorithm must be
  538.    made available to each router processing certificates from this TE.
  539.  
  540.    A TE can theoretically create certificates for more than one
  541.    signature algorithm.  The TE key and the router public key certified
  542.    do not have to be of the same signature algorithm.
  543.  
  544.    There can be more than one TE in an AS but the TE Id must identify a
  545.    unique TE.
  546.  
  547. 4.3.  Scope for Keys and Signature Algorithms
  548.  
  549.    The concept of "scope" relates to Router Keys, TE Keys, and Signature
  550.    Algorithms.
  551.  
  552.    (1) The scope of a PKLSA and therefore a router key, is defined to
  553.        be the set of routers that will receive and store that PKLSA in
  554.        the course of OSPF flooding.  A router produces a PKLSA for each
  555.        attached area.  In a router with more than one area, the PKLSAs
  556.        for each area may match, or each may contain a different key.
  557.        The scope of PKLSA for an internal router is all the routers in
  558.        that area.  An ABR has multiple PKLSAs, each having a scope of
  559.  
  560.  
  561.  
  562. Murphy, et. al.               Experimental                     [Page 10]
  563.  
  564. RFC 2154              OSPF with Digital Signatures             June 1997
  565.  
  566.  
  567.        one attached area.  The scope of an ASBR's PKLSA is the same as
  568.        the scope of the ASBRs ASEs - all the routers in all the non-stub
  569.        areas in the AS.  An ASBR that is an ABR produces multiple PKLSAs
  570.        that each have a scope of all the routers in all the non-stub
  571.        areas in the AS.  (This last case results in some situations that
  572.        require special management - section 6)
  573.  
  574.    (2) The scope of a TE key is defined to be the set of routers that are
  575.        configured with this key.  If a system is configured properly,
  576.        then a TE public key will be configured on all the routers that
  577.        will receive PKLSAs certified by that TE key.  The minimum scope
  578.        for a TE key is an area.  If one router distributes a key
  579.        certified with a given TE key, then all the routers in the area
  580.        must be able toverify the certificate.  A TE Key certifying an
  581.        ASBRs key must have a scope of all non-stub areas in the AS.  If
  582.        the TE key is not on some router that receives PKLSAs certified by
  583.        that TE key, then those PKLSAs and all the LSAs that require them
  584.        will be discarded. A TE key gets to all the routers in its scope
  585.        via out-of-band configuration.
  586.  
  587.    (3) The scope of a signature algorithm is defined to be the set of
  588.        routers that are capable of verifying the given algorithm's
  589.        signatures.  The minimum scope for a signature algorithm is an
  590.        area.  All routers in an area must be able to verify any signature
  591.        algorithm used for signing by any router in the area.  The
  592.        algorithm used to certify an ASBRs key must have a scope of all
  593.        non-stub areas in the AS if the ASEs are to be accessible
  594.        everywhere (see section 6).  If a signature algorithm is not
  595.        available to verify an LSA, then the LSA must be discarded.  If a
  596.        signature algorithm is not available to verify the certification
  597.        in a PKLSA, then the PKLSA must be discarded.
  598.  
  599. 4.4.  Router Key Replacement
  600.  
  601.    Router keys should be changed periodically, and immediately if a key
  602.    is found to be compromised.  The regular period for changing a key is
  603.    some locally determined function of the size of the key and the level
  604.    of security needed.
  605.  
  606.    Each router can have ONE valid key per area at any given time.
  607.    Restricting the number of keys at a given time to one key per router
  608.    per area allows key replacement to also serve the purpose of key
  609.    revocation, without having a revocation list and without routers
  610.    having synchronized time.  Each key for the router/area revokes the
  611.    last key, provided the "new" key has a more recent Create Time than
  612.    the last key.  The Create Time in each certificate is used to prevent
  613.    an old key from being reused, but this Create Time is used only for
  614.    comparing the relative ages of certificates, and does not require the
  615.  
  616.  
  617.  
  618. Murphy, et. al.               Experimental                     [Page 11]
  619.  
  620. RFC 2154              OSPF with Digital Signatures             June 1997
  621.  
  622.  
  623.    router to run a time synchronization protocol itself.  An ABR can use
  624.    the same key for all it's attached areas, or it can have a unique key
  625.    for each area.  This allows an AS to be managed by area with each
  626.    area potentially having a different TE, signature algorithm, key
  627.    size, and/or key.
  628.  
  629.    When a new key replaces an old key, the router must quickly replace
  630.    LSAs signed with the old key with LSAs signed with the new key. To
  631.    change a router key the following steps must be followed:
  632.  
  633.    (1) A valid certificate for the new key must be obtained for the
  634.        router.
  635.  
  636.    (2) The router builds and sends a new PKLSA with the new certificate.
  637.  
  638.    (3) The router signs each self-originated LSA with the new key and
  639.        sends them.
  640.  
  641.    When a PKLSA is received:
  642.  
  643.    (1) If the PKLSA's age = MaxAge, remove the PKLSA from the LSDB and
  644.        age LSAs signed with this key to be MaxAge - MAX_TRANSIT_DELAY,
  645.        if they were not already older than this.  This is a way to get
  646.        rid of a key that should no longer be used.
  647.  
  648.    (2) If the PKLSA is a refresh LSA for an existing key, update the
  649.        LSDB.
  650.  
  651.    (3) If the PKLSA contains a different key than the one currently
  652.        stored for this router, compare the certificate Create Time.  If
  653.        the PKLSA key is less recent, discard it.  If the PKLSA key is
  654.        more recent, install it in the LSDB and remove the old key from
  655.        the LSDB.  If an old key was deleted from the LSDB, age LSAs
  656.        signed with this key to be MaxAge - MAX_TRANSIT_DELAY, if they
  657.        were not already older than this.
  658.  
  659. 4.5.  Trusted Entity Key Replacement
  660.  
  661.    It is necessary to change a TE public key periodically.  It is
  662.    recommended that the TE public key be relatively large, so that it
  663.    does not frequently require replacement.  A router may store multiple
  664.    TE public keys.  Each key is uniquely identified by TE Id and TE Key
  665.    Id.  TE keys are used to verify certificates received from other
  666.    routers in their PKLSAs.  When a router sends a new certificate
  667.    signed with a new TE Key, all the routers that receive the PKLSA
  668.    containing the certificate must have that new TE Key in order to
  669.    verify, store, and use that PKLSA.  Management of TE public keys is
  670.    done outside the OSPF protocol, and a method is suggested, but not
  671.  
  672.  
  673.  
  674. Murphy, et. al.               Experimental                     [Page 12]
  675.  
  676. RFC 2154              OSPF with Digital Signatures             June 1997
  677.  
  678.  
  679.    mandated by this design.  Initially all routers must be configured
  680.    with the TE Keys they will need to verify the certificates they will
  681.    receive.  To prevent use of a (possibly compromised) TE Key, that key
  682.    must be replaced by a new (possibly null) TE Key having the same TE
  683.    Id and signature algorithm.  A compromised or faulty router can
  684.    continue using certificates signed with the old TE key, but none of
  685.    the properly configured routers will be able to verify them.
  686.  
  687.    Changing a TE public key presents a design challenge.  When a TE
  688.    Public Key is changed, all the certificates depending on that key
  689.    must also change.  The router keys in the certificates may or may not
  690.    be changed at the same time.  When the TE key and certificates
  691.    change, all PKLSAs depending on these must be reissued. In order to
  692.    verify these new certificates, all routers receiving the new PKLSAs
  693.    must have the new TE Public Key.  So, the TE key replacement must be
  694.    a synchronized event.  Routers are not required to have synchronized
  695.    clocks.  The TE public key may well be distributed to the routers via
  696.    an out-of-band mechanism (like a smart-card reader or other sneaker-
  697.    net method).  It is not reasonable to require that all the routers
  698.    obtain the TE public key at the same time.  There are probably
  699.    several methods for meeting these requirements.  The method tested in
  700.    our implementation is as follows:
  701.  
  702.    (1) Define a period of time needed to get the new TE key on all
  703.        routers.  This could be minutes, hours, even days depending on
  704.        how the distribution is accomplished.  This time period is a
  705.        configuration value for each router (TE_KEY_DIST_INT) and must be
  706.        the same for all routers sharing a TE.
  707.  
  708.    (2) Install a new TE key and associated certificates (if there are
  709.        any) on each router.  Signal the router code when the new TE key
  710.        is available to be accessed.
  711.  
  712.    (3) The router sets a timer for the TE_KEY_DIST_INT.  The router
  713.        sets a flag indicating the presence of a new TE key.
  714.  
  715.    (4) For each router, if the timer goes off:
  716.  
  717.          Access the new TE key.
  718.          If there are new certificates, build and send a new PKLSA.
  719.          Age all PKLSAs in the LSDB certified by the old TE Key
  720.                  to MaxAge - MAX_TRANSIT_DELAY.
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730. Murphy, et. al.               Experimental                     [Page 13]
  731.  
  732. RFC 2154              OSPF with Digital Signatures             June 1997
  733.  
  734.  
  735.    (5) For each router, if a PKLSA certified by a new TE key comes in
  736.        before the timer goes off:
  737.  
  738.          If the new TE key cannot be accessed, discard the PKLSA and
  739.                  log an ERROR.
  740.          Access the new TE key.
  741.          Process the received PKLSA.
  742.          If there are new certificates, build and send a new PKLSA.
  743.          Age all PKLSAs in the LSDB certified by the old TE key
  744.                  to MaxAge - MAX_TRANSIT_DELAY.
  745.  
  746.    The effect of this method is that it takes a predetermined interval
  747.    of time to change the TE public key.  That interval is the amount of
  748.    time from the installation of the new TE key on the FIRST router
  749.    installed, until the time that router reads the key in.  By the time
  750.    the first router reads the key in, all other routers should have the
  751.    new key.  If some router does not get the new TE key in time, it will
  752.    be unable to verify all the new PKLSAs that are received.  It will
  753.    log error messages and route data based on it's old database until
  754.    those LSAs time out.  The simple way to fix a router in this error
  755.    condition is to load the new TE key and restart the router.  If this
  756.    error is expected to occur, and restarting the router is not
  757.    acceptable, then some special purpose code will be needed to read in
  758.    the TE key after it has been otherwise distributed, and do database
  759.    synchronization to catch up with the other routers.
  760.  
  761.    The group of routers that need the new TE key are all the routers in
  762.    the scope of that Trusted Entity.
  763.  
  764. 4.6.  Flexible Cryptographic Environments
  765.  
  766.    It is likely that an AS will have one cryptographic environment in
  767.    use throughout the AS, with one trusted entity, one signature
  768.    algorithm in use, and one key in use per router.  To allow those
  769.    cases where this is not true, multiple signature algorithms, multiple
  770.    trusted entities, and multiple keys per router are allowed.
  771.  
  772. 4.6.1.  Multiple Signature Algorithms
  773.  
  774.    It is possible to support multiple signature algorithms.  Each router
  775.    and TE key has a signature algorithm associated with it.  All routers
  776.    sending a key with a given algorithm must be capable of generating
  777.    signatures of that kind, and all routers receiving keys with a given
  778.    algorithm must be able to verify the signatures.  If a router
  779.    receives an LSA signed with a signature algorithm that it does not
  780.    support, the LSA must be discarded.  LSAs that cannot be verified by
  781.    a router are not flooded by that router.  When using multiple
  782.    signature algorithms, the scope of each algorithm must be determined
  783.  
  784.  
  785.  
  786. Murphy, et. al.               Experimental                     [Page 14]
  787.  
  788. RFC 2154              OSPF with Digital Signatures             June 1997
  789.  
  790.  
  791.    (see section 4.3), and routers must be configured with support for
  792.    these algorithms accordingly.
  793.  
  794.    If an Area supports two signature algorithms and is to have full
  795.    connectivity, some routers may sign with algorithm A and others with
  796.    algorithm B, but all routers in the area must be able to verify
  797.    signatures for A and B.  In an AS that is divided into areas, it is
  798.    possible for each area to have a different signature algorithm.  The
  799.    ABR connecting two areas would have to support both algorithms, but
  800.    the internal routers in a given area would only have to know one
  801.    algorithm.
  802.  
  803.    ASBRs present a problem for this sort of division.  ASEs flood
  804.    throughout the non-stub areas of an AS.  Any router that cannot
  805.    verify an ASE will discard it without flooding.  So, to have access
  806.    to an ASE, a router, and all the routers in the flooding path, must
  807.    support the algorithm used by the ASBR.  One way around these
  808.    difficulties is to have a lowest-common-denominator algorithm that is
  809.    used for signing by all ASBRs and is supported for verification
  810.    throughout the AS in addition to other algorithms used.  Another
  811.    approach is to place ASBRs on the backbone, and configure all areas
  812.    using a signature algorithm different from the ASBR to have a default
  813.    route to the backbone.  A combined approach will allow an ASBR to be
  814.    in a non-backbone area if it uses a signature algorithm supported on
  815.    the backbone, and the areas using different signature algorithms are
  816.    configured with a default to the backbone.  There are special
  817.    limitations in the case of a router that is an ABR and also an ASBR:
  818.    see section 6.
  819.  
  820.    There is currently only one signature algorithm (RSA_MD5) defined for
  821.    use by this design.  The RSA algorithm is defined in PKCS #1 [9] and
  822.    the signature and key formats used by this design are defined in
  823.    RFC2065 [10].
  824.  
  825. 4.6.2.  Multiple Trusted Entities
  826.  
  827.    It is possible to have multiple Trusted Entities in an AS.  Each TE
  828.    has a unique TE identifier.  Every router receiving PKLSAs certified
  829.    by a given TE must have that TE's public key.  If a router receives a
  830.    PKLSA certified by a TE for which it does not have a public key, the
  831.    PKLSA must be discarded.  When using multiple TEs, the scope of each
  832.    TE must be determined (see section 4.3), and routers in this scope
  833.    must be configured with the TE key.
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842. Murphy, et. al.               Experimental                     [Page 15]
  843.  
  844. RFC 2154              OSPF with Digital Signatures             June 1997
  845.  
  846.  
  847. 4.6.3.  Multiple Keys for One Router
  848.  
  849.    An ABR may have one key for each attached area.  These keys may
  850.    differ in size, algorithm and/or certifying TE.  Generally, each key
  851.    will have a "scope" of the attached area, and there will be no
  852.    conflict between keys.
  853.  
  854.    There are special limitations in the case of a router that is an ABR
  855.    and also an ASBR: see section 6.
  856.  
  857. 5.  Compatibility with Standard OSPF V2
  858.  
  859.    OSPF with Digital Signatures is compatible with standard OSPF V2 in
  860.    an autonomous system.  Within an AS, there may be "signed" areas and
  861.    "unsigned" areas.  There will never be both signed and unsigned LSAs
  862.    used in any one area.  Each area will have an environment flag
  863.    indicating whether it is "signed" or "unsigned".  The environment
  864.    flag is a per area configuration value for the router.  The signed
  865.    areas must contain all routers running OSPF with Digital Signatures,
  866.    and the unsigned areas contain routers running standard OSPF V2 code
  867.    (or OSPF with Digital Signatures with all areas set to be unsigned).
  868.    An area border router connecting a signed to an unsigned area must be
  869.    running OSPF with Digital Signatures with one area set to be
  870.    unsigned.
  871.  
  872.    In order to arrange this limited compatibility, a router running OSPF
  873.    with Digital Signatures must be able to process both signed and
  874.    unsigned LSAs.  The only router that will actually be processing both
  875.    kinds of LSAs is an Area Border Router connecting a signed area to an
  876.    unsigned area.  An ABR connecting a signed to an unsigned area will
  877.    generate signed summaries for one area and unsigned summaries for the
  878.    other.  An ABR must not flood signed LSAs into unsigned areas.  An
  879.    ABR must not flood unsigned LSAs into signed areas.  This will result
  880.    in AS External LSAs being dropped if they reach an area that has a
  881.    different environment from the one in which they were created.  There
  882.    are special limitations in the case of a router that is an ABR and
  883.    also an ASBR: see section 6.
  884.  
  885.    Complete connectivity is provided within the AS, because of the
  886.    summarization provided by ABRs connecting signed and unsigned areas.
  887.    There are limitations on connectivity to AS external routes in an AS
  888.    with a mixture of signed and unsigned areas, depending on the
  889.    location of AS border routers.  An ASBR in a signed area will
  890.    generate signed ASE LSAs.  These LSAs will be flooded to every
  891.    contiguously connected signed area.  The connected signed areas are
  892.    the "scope" of these ASEs.  A host located in an area that is not in
  893.    this scope, will not have connectivity to these external routes.  An
  894.    ASBR in an unsigned area will generate unsigned ASE LSAs.  These LSAs
  895.  
  896.  
  897.  
  898. Murphy, et. al.               Experimental                     [Page 16]
  899.  
  900. RFC 2154              OSPF with Digital Signatures             June 1997
  901.  
  902.  
  903.    will have a scope of all the contiguously connected unsigned areas,
  904.    and will be available to hosts in this scope.  To arrange complete
  905.    connectivity to an ASE route in an AS with signed and unsigned areas:
  906.  
  907.    (1) Place the ASBR on the backbone.
  908.  
  909.    (2) Signed Backbone: have some ABR in each unsigned area advertise a
  910.        default route to the backbone.
  911.  
  912.    (3) Unsigned Backbone: have some ABR in each signed area advertise a
  913.        default route to the backbone.
  914.  
  915.    Given this design for a mixed AS, routing is available throughout the
  916.    AS, but the authentication and integrity provided by this design will
  917.    be effective only for routes that are inside a signed area, or
  918.    traverse only signed areas.  There is no mechanism for a data packet
  919.    to state a preference for signed routes.  The basic rules of the OSPF
  920.    protocol ensure that intra-area routes are preferred to inter-area
  921.    routes, that routes within the AS are preferred to AS external
  922.    routes, and that inter-area routes go from area1->backbone->area2.
  923.    OSPF does not allow looping, or routes of the form area1->area2-
  924.    >area3.  Because of these properties of OSFP routing, an AS can
  925.    contain signed and unsigned areas, and achieve a predictable level of
  926.    authentication.
  927.  
  928. 6.  Special Considerations/Restrictions for the ABR-ASBR
  929.  
  930.    There are special restrictions and configuration considerations for a
  931.    router running OSPF with Digital Signatures that is both an Area
  932.    Border Router and an Autonomous System Border Router.  An ASBR
  933.    produces AS external LSAs that are flooded throughout the non-stub
  934.    areas of the AS.  An ABR that is generating digital signatures may be
  935.    using a different key, certifying Trusted Entity, or signature
  936.    algorithm for each of its attached areas, or it might be signing in
  937.    some areas and not in others.
  938.  
  939.    An ABR/ASBR with no restrictions on its configuration could produce
  940.    multiple versions of an ASE that would all be flooded throughout the
  941.    non-stub areas of the AS.  The results of this production of multiple
  942.    versions of LSAs would be detrimental to performance, and could
  943.    produce unpredictable routing behavior.
  944.  
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954. Murphy, et. al.               Experimental                     [Page 17]
  955.  
  956. RFC 2154              OSPF with Digital Signatures             June 1997
  957.  
  958.  
  959.    The PKLSA of an ASBR is also flooded throughout the non-stub areas of
  960.    the AS, and in the case of an ABR/ASBR there could be multiple,
  961.    distinct PKLSAs for a given router, one per attached area, all being
  962.    flooded throughout the AS.  If two distinct PKLSAs from one ABR/ASBR
  963.    router were present in one area, the key with the most recent create
  964.    time would be stored, and all LSAs signed with a less recent key
  965.    would be unverifiable.
  966.  
  967.    The simplest way to deal with this problem, and the method
  968.    recommended by this document, is the following:
  969.  
  970.    If an ASBR must also be an ABR, then the security configuration (key,
  971.    signature algorithm, certifying Trusted Entity, environment =
  972.    signed/unsigned) for all attached areas must be the same.  This way
  973.    the PKLSA and the ASEs produced for each area match, and there is no
  974.    proliferation of versions of LSAs.
  975.  
  976. 7.  LSA formats
  977.  
  978. 7.1.  Router Public Key LSA (PKLSA)
  979.  
  980.    This LSA is the vehicle for distribution of a router public key.  The
  981.    PKLSA is sent by one router, and stored by all the other routers in
  982.    the flooding scope.  The PKLSA contains the public key that other
  983.    routers will use to verify the signatures created by this router.  A
  984.    Router PKLSA will be communicated in the usual database exchange and
  985.    via flooding mechanisms. The regular period for sending this LSA is
  986.    LSRefreshTime.  The Router PKLSA will also be sent when there is a
  987.    new key, or a key to be flushed from the system.
  988.  
  989.    The flooding scope of a PKLSA is the area, except in the case of
  990.    ASBRs.  The flooding scope of an ASBR's PKLSA is the same as that of
  991.    the ASEs.  The "role" of the router (RTR, ABR, ASBR, ABR-ASBR) is
  992.    stored in the PKLSA inside the certificate, and can be checked during
  993.    flooding.
  994.  
  995.  
  996.  
  997.  
  998.  
  999.  
  1000.  
  1001.  
  1002.  
  1003.  
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010. Murphy, et. al.               Experimental                     [Page 18]
  1011.  
  1012. RFC 2154              OSPF with Digital Signatures             June 1997
  1013.  
  1014.  
  1015.    ROUTER PUBLIC KEY LSA
  1016.  
  1017.                            1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
  1018.        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
  1019.       +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+
  1020.       |            LS Age             |   Options     |    LS Type    |
  1021.       +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+
  1022.       |                        Link State ID                          |
  1023.       +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+
  1024.       |                     Advertising Router                        |
  1025.       +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+
  1026.       |                     LS Sequence Number                        |
  1027.       +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+
  1028.       |         LS Checksum           |            Length             |
  1029.       +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+
  1030.       |                  Certificate (format in 7.2)                  /
  1031.       +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+
  1032.       |                           Signature                           /
  1033.       +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+
  1034.       |         Cert Length           |         Sign Length           |
  1035.       +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+
  1036.  
  1037.    LS AGE          Defined in OSPF RFC [3].
  1038.  
  1039.    OPTIONS         Defined in OSPF RFC [3].
  1040.  
  1041.    LS TYPE         16 for Router Public Key LSA.
  1042.                    First bit set to indicate a signed LSA.
  1043.  
  1044.    LINK STATE ID   Contains the Advertising Router Id (see next field).
  1045.  
  1046.    ADVERTISING ROUTER  Defined in OSPF RFC [3].
  1047.  
  1048.    LS SEQUENCE NUMBER  Defined in OSPF RFC [3].
  1049.  
  1050.    LS CHECKSUM     Defined in OSPF RFC [3].
  1051.                    Checksum does not cover the signature.
  1052.  
  1053.    LENGTH          Defined in OSPF RFC [3].  Length does include the
  1054.                    Signature field, Cert Length and Sign Length.
  1055.  
  1056.    CERTIFICATE     Format in section 7.2.
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066. Murphy, et. al.               Experimental                     [Page 19]
  1067.  
  1068. RFC 2154              OSPF with Digital Signatures             June 1997
  1069.  
  1070.  
  1071.    SIGNATURE       The advertising router's signature of this LSA.  This
  1072.                    can be verified using the enclosed Router Public Key.
  1073.                    The signature covers the LSA header and message
  1074.                    starting with the LSA header options field and ending
  1075.                    with the Trusted Entity certification field.  For
  1076.                    sign and verify, the last two fields (Cert Length and
  1077.                    Sign Length) are appended immediately after the
  1078.                    Certificate.  When complete, the signature is
  1079.                    inserted between the Certification and the Cert
  1080.                    Length.  There are two exceptions to this coverage:
  1081.  
  1082.                    1) If the LSA was generated with an age=MaxAge, then
  1083.                    the signature begins with the age field (see section
  1084.                    3.3).
  1085.  
  1086.                    2) The checksum in the LSA Header is set to zero for
  1087.                    the computation of the signature.
  1088.  
  1089.                    A pad is added to the end of the signature field to
  1090.                    allow the next field to begin on a (4 byte) word
  1091.                    boundary.
  1092.  
  1093.                    The format used for an RSA-MD5 signature is defined
  1094.                    in section 4.1.2 of RFC2065 [10].
  1095.  
  1096.    CERT LENGTH     The length in bytes of the Certification inside the
  1097.                    Certificate.
  1098.                    Does not include pad that may follow Certification.
  1099.  
  1100.    SIGN LENGTH     The length in bytes of the Signature.
  1101.                    Does not include pad that may follow Signature.
  1102.  
  1103. 7.2.  Router Public Key Certificate
  1104.  
  1105.    A router public key certificate is a package of data signed by a
  1106.    Trusted Entity.  This certificate is included in the router PKLSA and
  1107.    in the router configuration information.  To change any of the values
  1108.    in the certificate, a new certificate must be obtained from a TE.
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122. Murphy, et. al.               Experimental                     [Page 20]
  1123.  
  1124. RFC 2154              OSPF with Digital Signatures             June 1997
  1125.  
  1126.  
  1127.                            1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
  1128.        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
  1129.       +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+
  1130.       |                          Router Id                            |
  1131.       +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+
  1132.       |     TE Id     |   TE Key Id   |   Rtr Key Id  |    Sig Alg    |
  1133.       +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+
  1134.       |                          Create Time                          |
  1135.       +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+
  1136.       |        Key Field Length       |  Router Role  |  #Net Ranges  |
  1137.       +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+
  1138.       |                          IP Address                           |
  1139.       +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+
  1140.       |                         Address Mask                          |
  1141.       +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+
  1142.       |           IP Address/Address Mask for each Net Range ...      /
  1143.       | ...                                                           /
  1144.       +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+
  1145.       |                       Router Public Key                       |
  1146.       +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+
  1147.       |                         Certification                         /
  1148.       +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+
  1149.  
  1150.    ROUTER ID       Advertising Router.
  1151.  
  1152.    TE ID           TE Id must uniquely identify one TE in the AS.
  1153.                    A number between 1-250.  0 reserved for null.
  1154.                    251-255 reserved for future needs.
  1155.  
  1156.    TE KEY ID       Must uniquely identify a particular key for a given
  1157.                    TE at any given time.  A TE Key Id may be re-used
  1158.                    after all references to it are gone from the AS.  A
  1159.                    number between 1-250.  0 reserved for null.  251-255
  1160.                    reserved for future needs.
  1161.  
  1162.    RTR KEY ID      Must be unique for the TE and Router at any given
  1163.                    time. The combination of (TE Id, Rtr Id, Rtr Key Id)
  1164.                    uniquely identifies a particular router key at a
  1165.                    given time.  A Rtr Key Id may be re-used after all
  1166.                    references to it are gone from the AS.  Create Time
  1167.                    resolves any conflict that could be caused by
  1168.                    replaying old keys.  A number between 1-250.  0
  1169.                    reserved for null.  251-255 reserved for future
  1170.                    needs.
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178. Murphy, et. al.               Experimental                     [Page 21]
  1179.  
  1180. RFC 2154              OSPF with Digital Signatures             June 1997
  1181.  
  1182.  
  1183.    SIG ALG         The signature algorithm for the Router Public Key.
  1184.                    The signature algorithm encompasses the hash
  1185.                    algorithm used as well.  Currently defined value =
  1186.                    RSA-MD5(1).  Values 2-252 are available for future
  1187.                    definition.  Values 0 and 253-255 are reserved.  The
  1188.                    Sig Alg value is registered with IANA.  Future
  1189.                    signature algorithms will have to be defined or
  1190.                    referenced in this document, and registered with
  1191.                    IANA.
  1192.  
  1193.    CREATE TIME     Timestamp set by the TE.  An unsigned number of
  1194.                    seconds since the start of January 1, 1970, GMT,
  1195.                    ignoring leap seconds.  Used to compare two
  1196.                    certificates and determine which is more recent.
  1197.                    Requires that time synchronization for TEs, but not
  1198.                    for routers.
  1199.  
  1200.    KEY FIELD LENGTH    The length in bytes of the Router Public Key.
  1201.                    Does not include pad that may follow Router Public
  1202.                    Key field.
  1203.  
  1204.    ROUTER ROLE     Router (R=1), Area Border Router (ABR=2), Autonomous
  1205.                    System Border Router (ASBR=4), ABR and ASBR (ABR-
  1206.                    ASBR=6).
  1207.  
  1208.    #NET RANGES     The number of network ranges that follow.  A network
  1209.                    range is defined to be an IP Address and an Address
  1210.                    Mask.  This list of ranges defines the addresses that
  1211.                    the Router is permitted to advertise in its Router
  1212.                    Links LSA.  Valid values are 0-255. If there are 0
  1213.                    ranges the router cannot advertise anything.  This is
  1214.                    not generally useful.  One range with address=0 and
  1215.                    mask=0 will allow a router to advertise any address.
  1216.  
  1217.    IP ADDRESS & ADDRESS MASK
  1218.                    Define a range of addresses that this router may
  1219.                    advertise.  Each is a 32 bit value.  One range with
  1220.                    address=0 and mask=0 will allow a router to advertise
  1221.                    any address.
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234. Murphy, et. al.               Experimental                     [Page 22]
  1235.  
  1236. RFC 2154              OSPF with Digital Signatures             June 1997
  1237.  
  1238.  
  1239.    ROUTER PUBLIC KEY    A key that can be used to verify the signatures
  1240.                    produced by this router.  The internal format for the
  1241.                    Router Public Key is signature algorithm dependent.
  1242.  
  1243.                    A pad is added to the end of the Router Public Key
  1244.                    field to allow the next field to begin on a (4 byte)
  1245.                    word boundary.
  1246.  
  1247.                    The format used for an RSA-MD5 public key is defined
  1248.                    in section 3.5 of RFC2065 [10].
  1249.  
  1250.    CERTIFICATION   The Trusted Entity's signature of the certified data.
  1251.                    This signature can be verified with the TE public key
  1252.                    identified by TE Id and TE Key Id given in this
  1253.                    packet.  The length of the certification depends on
  1254.                    the key size, and is stored in the PKLSA Cert Length
  1255.                    field.  A pad is added to the end of the
  1256.                    Certification to allow the next field to begin on a
  1257.                    (4 byte) word boundary.
  1258.  
  1259.                    The format used for an RSA-MD5 signature is defined
  1260.                    in section 4.1.2 of RFC2065 [10].
  1261.  
  1262. 7.3  Signed LSA
  1263.  
  1264.    A signed LSA is an OSPF LSA with signature data and a digital
  1265.    signature attached.  The first bit of the LSA Type field is set to
  1266.    indicate the presence of a signature.  The signature follows the LSA
  1267.    Data.  Signature length and id fields are positioned at the end of
  1268.    the signed LSA.
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274.  
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290. Murphy, et. al.               Experimental                     [Page 23]
  1291.  
  1292. RFC 2154              OSPF with Digital Signatures             June 1997
  1293.  
  1294.  
  1295.    ANY SIGNED LSA
  1296.                            1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
  1297.        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
  1298.       +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+
  1299.       |            LS Age             |   Options     |    LS Type    |
  1300.       +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+
  1301.       |                        Link State ID                          |
  1302.       +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+
  1303.       |                     Advertising Router                        |
  1304.       +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+
  1305.       |                     LS Sequence Number                        |
  1306.       +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+
  1307.       |         LS Checksum           |            Length             |
  1308.       +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+
  1309.       |                            LSA Data                           /
  1310.       / ...                                                           /
  1311.       +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+
  1312.       |                            Signature                          /
  1313.       +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+
  1314.       |  Rtr Key Id   |     TE Id     |         Sign Length           |
  1315.       +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+
  1316.  
  1317.    LS AGE          Defined in OSPF RFC [3].
  1318.  
  1319.    OPTIONS         Defined in OSPF RFC [3].
  1320.  
  1321.    LS TYPE         Standard LSA Type with the first bit set to indicate
  1322.                    the presence of security data and a signature. This
  1323.                    creates a new signed LSA type for each existing type.
  1324.  
  1325.    LINK STATE ID   Defined in OSPF RFC [3].
  1326.  
  1327.    ADVERTISING ROUTER  Defined in OSPF RFC [3].
  1328.  
  1329.    LS SEQUENCE NUMBER  Defined in OSPF RFC [3].
  1330.  
  1331.    LS CHECKSUM     Defined in OSPF RFC [3].
  1332.                    Checksum does not cover the signature.
  1333.  
  1334.    LENGTH          Defined in OSPF RFC [3].
  1335.                    Length does include the Signature and security
  1336.                    related fields at the end of the LSA.
  1337.  
  1338.  
  1339.  
  1340.  
  1341.  
  1342.  
  1343.  
  1344.  
  1345.  
  1346. Murphy, et. al.               Experimental                     [Page 24]
  1347.  
  1348. RFC 2154              OSPF with Digital Signatures             June 1997
  1349.  
  1350.  
  1351.    SIGNATURE       The advertising router's signature of this LSA.  The
  1352.                    signature covers the LSA header and data starting
  1353.                    with the LSA header options field and ending with the
  1354.                    Trusted Entity certification field.  For sign and
  1355.                    verify, the last three fields (Rtr Key Id, TE Id,
  1356.                    Sign Length) are appended to the Certificate.  When
  1357.                    complete, the signature is inserted between the
  1358.                    Certification and the Rtr Key Id.  There are two
  1359.                    exceptions to this coverage:
  1360.  
  1361.                    1) If the LSA was generated with an age=MaxAge, then
  1362.                    the signature begins with the age field (see section
  1363.                    3.3).
  1364.  
  1365.                    2) The checksum in the LSA Header is set to zero for
  1366.                    the computation  & verification of the signature.
  1367.  
  1368.                    A pad is added to the end of the signature to allow
  1369.                    the next field to begin on a (4 byte) word boundary.
  1370.  
  1371.                    The format used for an RSA-MD5 signature is defined
  1372.                    in section 4.1.2 of RFC2065 [10].
  1373.  
  1374.    RTR KEY ID      Used to identify the router key used to sign this
  1375.                    LSA. The combination of (TE Id, Rtr Id, Rtr Key Id)
  1376.                    uniquely identifies a particular router key at a
  1377.                    given time, and can be used to look up the PKLSA for
  1378.                    the router key needed to verify this Signed LSA.  A
  1379.                    number between 1-250.  0 reserved for null.  251-255
  1380.                    reserved for future needs.
  1381.  
  1382.    TE ID           The id of the Trusted Entity that produced the
  1383.                    certificate.  TE Id must uniquely identify one TE in
  1384.                    the AS.  A number between 1-250.  0 reserved for
  1385.                    null. 251-255 reserved for future needs.
  1386.  
  1387.    SIGN LENGTH     The length in bytes of the Signature.
  1388.                    Does not include pad that may follow Signature.
  1389.  
  1390.  
  1391.  
  1392.  
  1393.  
  1394.  
  1395.  
  1396.  
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402. Murphy, et. al.               Experimental                     [Page 25]
  1403.  
  1404. RFC 2154              OSPF with Digital Signatures             June 1997
  1405.  
  1406.  
  1407. 8.  Configuration Information
  1408.  
  1409.    Trusted Entity Information Set: (one per Trusted Entity used by this
  1410.    router)
  1411.  
  1412.       Trusted Entity ID - TE Id
  1413.            Identifies the Trusted Entity within the AS (defined in 7.2).
  1414.       Trusted Entity Key Id - TE Key Id
  1415.            Identifies the particular key for this Trusted Entity
  1416.            (defined in 7.2).
  1417.       Trusted Entity Public Key
  1418.            A public key for this Trusted Entity.
  1419.            The format used for an RSA-MD5 public key is defined in
  1420.            section 3.5 of RFC2065 [10].
  1421.       Signature Algorithm < and optional parameters >
  1422.            The signature algorithm for the public key (defined in 7.2).
  1423.  
  1424.    Router Information Set: (at least one for the router)
  1425.  
  1426.       Router Private Key
  1427.            The router's private key that goes with the public key in the
  1428.            certificate following. The format used for the private key
  1429.            depends on the crypto package used by your implementation.
  1430.            This key is not transmitted as part of this design.  Our
  1431.            implementation uses the private key format compatible with
  1432.            RSAREF [9].
  1433.       Router Certificate (format in 7.2).
  1434.  
  1435.    Timing Intervals:
  1436.  
  1437.       Trusted Entity Key Distribution Interval (TE_KEY_DIST_INT)
  1438.            The period of time, in seconds, needed to get a TE public key
  1439.            installed on all the routers in the TE's scope.
  1440.       Maximum Transit Delay (MAX_TRANSIT_DELAY)
  1441.            The maximum period of time, in seconds, that it should take
  1442.            for an LSA to reach all the routers in the AS.
  1443.  
  1444.    Router Information per attached Area:
  1445.  
  1446.       Environment flag
  1447.            Signed=1, Unsigned=0
  1448.  
  1449.    9.  Remaining Vulnerabilities
  1450.  
  1451.    Note that with this mechanism, one router can still distribute
  1452.    incorrect data in the information for which it itself is responsible.
  1453.    Consequently, an autonomous system employing digital signatures with
  1454.    this mechanism will not be completely invulnerable to routing
  1455.  
  1456.  
  1457.  
  1458. Murphy, et. al.               Experimental                     [Page 26]
  1459.  
  1460. RFC 2154              OSPF with Digital Signatures             June 1997
  1461.  
  1462.  
  1463.    disruptions from a single router.  For example, the area border
  1464.    routers and autonomous system border routers will still be able to
  1465.    inject incorrect routing information.  Also, any single internal
  1466.    router can be incorrect in the routing information it originates
  1467.    about its own links.
  1468.  
  1469. 9.1.  Area Border Routers
  1470.  
  1471.    Even with the design proposed here, the area border routers can
  1472.    inject incorrect routing information into their attached areas about
  1473.    the backbone and the other areas in Summary LSA's.  They can also
  1474.    inject incorrect routing information into the backbone about their
  1475.    attached area.
  1476.  
  1477.    Because all the area border routers in one area work from the same
  1478.    database of LSA's received in their common area, it would be possible
  1479.    for the area border routers to corroborate each other.  Any area
  1480.    border router for an area could double check the Summary LSA's
  1481.    received over the backbone from other ABR's from the area, and could
  1482.    double check the Summary LSA's flooded through the area from the
  1483.    other area border routers.  The other routers in the area or backbone
  1484.    should be warned of a failure of this check.  The warning could be a
  1485.    signed message from the area border router detecting the failure,
  1486.    flooded in the usual mechanism.
  1487.  
  1488.    Another possibility would be that the area border routers in an area
  1489.    could originate multiple sets of Summary LSA's -- one for itself
  1490.    containing its own information and one for each of the area border
  1491.    routers in the area containing the information each of them should
  1492.    originate.  Each router in the area or backbone could then determine
  1493.    for itself whether the area border routers agreed.  This distribution
  1494.    of information but coordination of processing is in keeping with the
  1495.    paradigm of link state protocols, where information and processing is
  1496.    duplicated in each router.
  1497.  
  1498.    Both alternatives mean much additional processing and additional
  1499.    message transmission, over and above the additional processing
  1500.    required for signature generation and verification.  Because the
  1501.    vulnerability is isolated to a few points in each area, because the
  1502.    source of incorrect information is detectable (in those situations
  1503.    where the incorrect information is spotted) and because the
  1504.    protection is costly, we have not added this protection to this
  1505.    design.
  1506.  
  1507. 9.2.  Internal Routers
  1508.  
  1509.    The internal routers can be incorrect about information they
  1510.    themselves originate.
  1511.  
  1512.  
  1513.  
  1514. Murphy, et. al.               Experimental                     [Page 27]
  1515.  
  1516. RFC 2154              OSPF with Digital Signatures             June 1997
  1517.  
  1518.  
  1519.    A router could announce an incorrect metric for a valid link.  There
  1520.    is no way to guard against this, but the damage would be small and
  1521.    localized even if the router is announcing that the link is up when
  1522.    it is down or vice versa.
  1523.  
  1524.    A router could announce a connection that does not in fact exist.  If
  1525.    a router announces a non-existent connection to a transit network,
  1526.    the OSPF Dijkstra computation will not consider the connection
  1527.    without a similar announcement from another router at the other
  1528.    "end".  Therefore, no damage would result (above network impact to
  1529.    transmit and store the incorrect information) without the cooperation
  1530.    of another router.  A router could also announce a connection to a
  1531.    stub network or a host route that does not exist.  The Dijkstra
  1532.    computation can not perform the same check for a similar announcement
  1533.    from the other "end", because no other end exists.  This is a
  1534.    vulnerability.
  1535.  
  1536.    A faulty router announcing a nonexistent connection to a stub network
  1537.    or host could result in the faulty router receiving IP packets bound
  1538.    for that network or host.  Unless the faulty router then forwarded
  1539.    the packets to the correct destination by source routing, the failure
  1540.    of packet delivery could expose the incorrect routing.  To exploit
  1541.    the vulnerability deliberately, the faulty router would have to be
  1542.    able to handle and pass on the received traffic for the incorrectly
  1543.    announced destination.  Furthermore, if the incorrect routing were
  1544.    discovered, the signatures on the routing information would identify
  1545.    the faulty router as the source of the incorrect information.
  1546.    Finally, this design checks router advertisements against allowed
  1547.    address ranges certified by a trusted entity.  A faulty router could
  1548.    announce nonexistent host or stub network routes, but only to
  1549.    addresses within its allowed ranges.
  1550.  
  1551. 9.3.  Autonomous System Border Routers
  1552.  
  1553.    The autonomous system boundary routers can produce incorrect routing
  1554.    information in the external routes information they originate.  There
  1555.    is no way to double check or corroborate this information, as there
  1556.    is with area border routers.  No authority within an autonomous
  1557.    system exists to authorize the networks an autonomous system boundary
  1558.    router could announce, as is the case for the internal networks an
  1559.    internal router could announce.  Consequently, the autonomous system
  1560.    boundary routers remain a unprotected vulnerability.  With this in
  1561.    mind, special care should be taken to protect the autonomous system
  1562.    boundary routers with other means.
  1563.  
  1564. 10.  Security Considerations
  1565.  
  1566.    This entire memo is about security considerations.
  1567.  
  1568.  
  1569.  
  1570. Murphy, et. al.               Experimental                     [Page 28]
  1571.  
  1572. RFC 2154              OSPF with Digital Signatures             June 1997
  1573.  
  1574.  
  1575. 11.  References
  1576.  
  1577.    [1] Finn, Gregory G., "Reducing the Vulnerability of Dynamic Computer
  1578.        Networks," ISI Research Report ISI/RR-88-201, University of
  1579.        Southern California Information Sciences Institute,
  1580.        Marina del Rey, California, June 1988.
  1581.  
  1582.    [2] Kumar,B and Crowcroft,J., "Integrating Security in Inter-Domain
  1583.        Routing Protocols", Computer Communications Review, Vol 23,
  1584.        No. 5, October 1993.
  1585.  
  1586.    [3] Moy, J., "OSPF Version 2," RFC 1583, Proteon, Inc., March 1994.
  1587.  
  1588.    [4] Perlman, R., "Network Layer Protocols with Byzantine Robustness",
  1589.        Ph.D. Thesis, Department of Electrical Engineering and Computer
  1590.        Science, MIT, August 1988.
  1591.  
  1592.    [5] Perlman, R., "Interconnections: Bridges and Routers",
  1593.        Addison-Wesley, Reading, Mass., 1992.
  1594.  
  1595.    [6] Schneier, B., "Applied Cryptography: Protocols, Algorithms, and
  1596.        Source Code in C," John Wiley & Sons, Inc., New York, 1994.
  1597.  
  1598.    [7] Steenstrup, M., "Inter-Domain Policy Routing Protocol
  1599.        Specification: Version 1", RFC 1479, BBN Systems and
  1600.        Technologies, July 1993.
  1601.  
  1602.    [9] PKCS #1: RSA Encryption Standard, RSA Data Security, Inc., June
  1603.        1991, Version 1.4.
  1604.  
  1605.    [10] Eastlake D. & Kaufman C., "Domain Name System Security
  1606.         Extensions", RFC2065, January 1997.
  1607.  
  1608.    [11] Moy J., "OSPF Version 2", Cascade Communications Corp,
  1609.         Work In Progress.
  1610.  
  1611. 12.  Authors' Addresses
  1612.  
  1613.    Sandra Murphy  murphy@tis.com
  1614.    Madelyn Badger  mrb@tis.com
  1615.    Brian Wellington  bwelling@tis.com
  1616.  
  1617.    Trusted Information Systems
  1618.    3060 Washington Road
  1619.    Glenwood, MD  21738
  1620.  
  1621.  
  1622.  
  1623.  
  1624.  
  1625.  
  1626. Murphy, et. al.               Experimental                     [Page 29]
  1627.  
  1628.