RFC 1004 (rfc1004) - Page 2 of 8


Distributed-protocol authentication scheme



Alternative Format: Original Text Document



RFC 1004                                                      April 1987


   (except for private keys) transmitted via these networks, but only to
   authenticate messages to avoid spoofing and replay attacks.

   The procedures are intended for distributed systems where each user i
   runs a common protocol automaton using private state variables for
   each of possibly several associations simultaneously, one for each
   user j. An association is initiated by interrogating the Cookie Jar
   for a one-time key K(i,j), which is used to encrypt the checksum
   which authenticates messages exchanged between the users. The
   initiator then communicates the key to its associate as part of a
   connection establishment procedure such as described in [3].

   The information being exchanged in this protocol model is largely
   intended to converge a distributed data base to specified (as far as
   practical) contents, and does not ordinarily require a reliable
   distribution of event occurances, other than to speed the convergence
   process. Thus, the model is intrinsically resistant to message loss
   or duplication. Where important, sequence numbers are used to reduce
   the impact of message reordering. The model assumes that associations
   between peers, once having been sanctioned, are maintained
   indefinitely.  The exception when an association is broken may be due
   to a crash, loss of connectivity or administrative action such as
   reconfiguration or rekeying. Finally, the rate of information
   exchange is specifically designed to be much less than the nominal
   capabilities of the network, in order to keep overheads low.


2. Procedures

   Each user i is assigned a public address A(i) and private key K(i) by
   an out-of-band procedure beyond the scope of this discussion. The
   address can take many forms: an autonomous system identifier [2], an
   Internet address [6] or simply an arbitrary name. However, no matter
   what form it takes, every message is presumed to carry both the
   sender and receiver addresses in its header. Each address and its
   access-control list is presumed available in a public directory
   accessable to all users, but the private key is known only to the
   user and Cookie Jar and is not disclosed in messages exchanged
   between users or between users and the Cookie Jar.

   An association between i and j is identified by the bitstring
   consisting of the catenation of the addresses A(i) and A(j), together
   with a one-time key K(i,j), in the form [A(i),A(j),K(i,j)]. Note that
   the reciprocal association [A(j),A(i),K(j,i)] is distinguished only
   by which associate calls the Cookie Jar first. It is the intent in
   the protocol model that all state variables and keys relevant to a
   previous association be erased when a new association is initiated
   and no caching (as suggested in [5]) is allowed.



Mills