3 INTERNET-DRAFT Clifford Neuman
4 <draft-ietf-cat-kerberos-passwords-04.txt> ISI
5 Updates: RFC 1510 Glen Zorn
6 November 18, 1998 Microsoft Corporation
14 Integrating Single-use Authentication Mechanisms with Kerberos
17 0. Status Of this Memo
18 This document is an Internet-Draft. Internet-Drafts are working
19 documents of the Internet Engineering Task Force (IETF), its areas,
20 and its working groups. Note that other groups may also distribute
21 working documents as Internet-Drafts.
23 Internet-Drafts are draft documents valid for a maximum of six
24 months and may be updated, replaced, or obsoleted by other docu-
25 ments at any time. It is inappropriate to use Internet-Drafts as
26 reference material or to cite them other than as ``work in pro-
29 To learn the current status of any Internet-Draft, please check the
30 ``1id-abstracts.txt'' listing contained in the Internet-Drafts Sha-
31 dow Directories on ds.internic.net (US East Coast), nic.nordu.net
32 (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific
35 The distribution of this memo is unlimited. It is filed as
36 <draft-ietf-cat-kerberos-passwords-04.txt>, and expires May 11,
37 1999. Please send comments to the authors.
41 This document defines extensions to the Kerberos protocol specifi-
42 cation [RFC1510] which provide a method by which a variety of
43 single-use authentication mechanisms may be supported within the
44 protocol. The method defined specifies a standard fashion in which
45 the preauthentication data and error data fields in Kerberos mes-
46 sages may be used to support single-use authentication mechanisms.
50 To simplify the following discussion, we will define those terms
51 which may be unfamiliar to the audience or specific to the discus-
54 Single-use Preauthentication Data (SPD): Data sent in the padata-
55 value field of a Kerberos V5 message proving that knowledge of cer-
56 tain unique information is held by a principal. This information
60 Neuman, Zorn, Hornstein [Page 1]
66 INTERNET-DRAFT November 18, 1998
69 may or may not be identical to the single-use authentication data
70 input to the client. For example, in the case of S/Key, the prin-
71 cipal might input a one-time password (in any of several forms);
72 the knowledge of this one-time password is taken to indicate
73 knowledge of the principal's secret passphrase. Similarly, the SPD
74 may or may not contain the provided single-use authentication data.
75 For instance, if a given single-use authentication mechanism
76 includes a token which generates an encryption key for a supported
77 cryptosystem, that key could be used to encrypt portions of the SPD
78 before transmission. As long as the verification process of the
79 mechanism was capable of independently generating the same key, the
80 successful decryption of the SPD would provide assurance that the
81 originator of the message was in possession of the token, as well
82 as whatever information the token required to generate the encryp-
85 Single-use Authentication Mechanism (SAM): A system for generating
86 and verifying authentication data which is usable only once.
88 Single-use Authentication Data (SAD): SAM-specific data provided
89 by a principal as input to client software to be used in the crea-
93 3. Motivation and Scope
94 Several single-use authentication mechanisms are currently in
95 widespread use, including hardware-based schemes from vendors such
96 as Enigma Logic, Digital Pathways and Security Dynamics and
97 software-based methods like S/Key [RFC1760]. The hardware-based
98 schemes typically require that the authenticating user carry a
99 small, credit-card-sized electronic device (called a token) which
100 is used to generate unique authentication data. Some tokens
101 require the user to enter data into the device. This input may
102 take the form of a Personal Identification Number (PIN), a server-
103 generated challenge string or both. Other tokens do not use a
104 challenge-response technique, instead spontaneously generating new
105 and unique authentication data every few seconds. These tokens are
106 usually time-synchronized with a server. The use of one-time pass-
107 words and token cards as an authentication mechanism has steadily
108 increased over the past few years; in addition, the Internet Archi-
109 tecture Board has encouraged the use of SAMs to improve Internet
112 The widespread acceptance of Kerberos within the Internet community
113 has produced considerable demand for the integration of SAM tech-
114 nology with the authentication protocol. Several currently avail-
115 able implementations of Kerberos include support for some types of
116 token cards, but the implementations are either not interoperable,
117 or would require the release of source code (not always an option)
118 to make them interoperate. This memo attempts to remedy that prob-
119 lem by specifying a method in which SAM data may be securely tran-
120 sported in Kerberos V5 messages in a standard, extensible fashion.
121 This document does not, however, attempt to precisely specify
122 either the generation or verification of SAM data, since this is
126 Neuman, Zorn, Hornstein [Page 2]
132 INTERNET-DRAFT November 18, 1998
135 likely to be SAM-specific; nor does it dictate the conditions under
136 which SAM data must be included in Kerberos messages, since we con-
137 sider this to be a matter of local policy.
140 4. Generic Approach - Two Models
141 As outlined above, there are essentially two types of single-use
142 authentication mechanisms: challenge/response and time-based. In
143 order to support challenge/response mechanisms, the Kerberos Key
144 Distribution Center (KDC) must communicate the appropriate chal-
145 lenge string to the user, via the client software. Furthermore,
146 some challenge/response mechanisms require tight synchronization
147 between all instances of the KDC and the client. One example is
148 S/Key and its variants. If the KDC and client do not perform the
149 same number of message digest iterations, the protocol will fail;
150 worse, it might be possible for an eavesdopping attacker to capture
151 a valid S/Key passcode and replay it to a KDC replica which had an
152 outdated iteration number. In the time-based case, no challenge is
153 required. This naturally gives rise to two modes of client
154 behavior, described below.
157 4.1 Challenge/Response Model
158 The client begins with an initial KRB_AS_REQ message to the KDC,
159 possibly using existing preauthentication methods (PA-ENC-TIMESTAMP
160 (encrypted timestamp), PA-OSF-DCE (DCE), etc.). Depending on
161 whether preauthentication is used, the user may or may not be
162 prompted at this time for a Kerberos password. If (for example)
163 encrypted timestamp preauthentication is used, then the user will
164 be prompted; on the other hand, if no preauthentication is in use
165 the prompt for the password may be deferred (possibly forever).
166 Note that the use of preauthentication here may allow an offline
167 guessing attack against the Kerberos password separate from the
168 SPD. However, if the use of a SAM is required, then the password
169 by itself is not sufficient for authentication. (Specify character
172 The KDC will determine in an implementation- and policy-dependent
173 fashion if the client is required to utilize a single-use authenti-
174 cation mechanism. For example, the implementation may use IP
175 address screening to require principals authenticating from outside
176 a firewall to use a SAM, while principals on the inside need not.
177 If SAM usage is required, then the KDC will respond with a
178 KRB_ERROR message, with the error-code field set to
179 KDC_ERR_PREAUTH_REQUIRED and the e-data field containing the ASN.1
180 structure that is a sequence of PA-DATA fields.
182 If the type of one of the PA-DATA fields is PA-SAM-REDIRECT, the
183 client should re-execute the authentication protocol from the
184 beginning, directing messages to another of the KDCs for the realm.
185 This is done to allow some methods to require that a single KDC be
186 used for SAM authentication when tight synchronization is needed
187 between all replicas and the KDC database propagation code does not
188 provide such synchronization. The corresponding padata-value will
192 Neuman, Zorn, Hornstein [Page 3]
198 INTERNET-DRAFT November 18, 1998
201 contain an encoded sequence of host addresses [RFC1510], from which
202 the client must choose the KDC to be contacted next.
204 Otherwise, if one of the PA-DATA fields has the type PA-SAM-
205 CHALLENGE, the exchange will continue as described in section 5,
210 For mechanisms where no challenge is required, the user (or the
211 client software being utilized) may or may not know a priori
212 whether SAM usage is required. If it does not know, then the ini-
213 tial exchange may proceed as above. If it is known that a use of a
214 single-use authentication mechanism is required then the first
215 exchange can be skipped and the authentication will continue as
219 5. Authentication Using Passcodes
220 Prior to performing preauthentication using a single-use authenti-
221 cation mechanism, the client must know whether a challenge is
222 required (if the client doesn't have this information prior to its
223 sending the first KRB_AS_REQ message, it will be informed of the
224 requirement by the KDC, as described in section 4.1). The client
225 does NOT need to know the specific type of SAM in use. If a chal-
226 lenge is required the client will be sent the challenge by the KDC.
227 This means that a client supporting SAMs will be able to work with
228 new methods without modification. The challenge, as well as all
229 other prompts mentioned herein, can be internationalized by the KDC
230 on a per-principal basis.
232 If a KRB_ERROR message is received from the KDC indicating that SAM
233 usage is required, that message will include in its e-data field a
234 PA-DATA structure that encodes information about the SAM to be
235 used. This includes whether a challenge is required, and if so,
236 the challenge itself; and informational data about the type of SAM
237 that is in use, and how to prompt for the SAD. The SAM type is
238 informational only and does not affect the behavior of the client.
239 The prompt is also informational and may be presented to the user
240 by the client, or it may be safely ignored.
258 Neuman, Zorn, Hornstein [Page 4]
264 INTERNET-DRAFT November 18, 1998
267 The ASN.1 definition for the SAM challenge is:
269 PA-SAM-CHALLENGE ::= SEQUENCE {
271 sam-flags[1] SAMFlags,
272 sam-type-name[2] GeneralString OPTIONAL,
273 sam-track-id[3] GeneralString OPTIONAL,
274 sam-challenge-label[4] GeneralString OPTIONAL,
275 sam-challenge[5] GeneralString OPTIONAL,
276 sam-response-prompt[6] GeneralString OPTIONAL,
277 sam-pk-for-sad[7] EncryptionKey OPTIONAL,
278 sam-nonce[8] INTEGER OPTIONAL,
279 sam-cksum[9] Checksum OPTIONAL
282 SAMFlags ::= BIT STRING {
284 send-encrypted-sad[1],
285 must-pk-encrypt-sad[2]
288 The sam-type field is informational only, but it must be specified
289 and sam-type values must be registered with the IANA.
291 Initially defined values of the sam-type codes are:
293 PA_SAM_TYPE_ENIGMA 1 -- Enigma Logic
294 PA_SAM_TYPE_DIGI_PATH 2 -- Digital Pathways
295 PA_SAM_TYPE_SKEY_K0 3 -- S/key where KDC has key 0
296 PA_SAM_TYPE_SKEY 4 -- Traditional S/Key
297 PA_SAM_TYPE_SECURID 5 -- Security Dynamics
298 PA_SAM_TYPE_CRYPTOCARD 6 -- CRYPTOCard
300 PA_SAM_TYPE_SECURID, PA_SAM_TYPE_DIGI_PATH, PA_SAM_TYPE_ENIGMA, and
301 PA_SAM_TYPE_CRYPTOCARD represent popular token cards.
302 PA_SAM_TYPE_SKEY is the traditional S/Key protocol, in which the
303 SAD verifier does not have knowledge of the principal's S/Key
304 secret. PA_SAM_TYPE_SKEY_K0 is a variant of S/Key that uses the
305 same SAD and PC software or hardware device, but where the zeroth
306 key (the S/Key secret) is actually stored on, and can be used by,
307 the SAD verifier to independently generate the correct authentica-
310 Note that using PA_SAM_TYPE_SKEY_K0 gives up one advantage of
311 S/Key, viz., that the information required to generate the SAD need
312 not be stored on the host; but since the SAD verifier (which may be
313 the KDC) is assumed to be more secure than other hosts on the net-
314 work, it may be acceptable to give up this advantage in some situa-
315 tions. The advantage of using this S/Key variant is that the secu-
316 rity of the network protocol is strengthened since the SAD need not
317 be sent from the client to the KDC. Thus, the SAD can be used as
318 part of the key used to encrypt the encrypted parts of both the SPD
319 and the KRB_AS_REP message, rather than being sent protected by the
320 principal's Kerberos secret key which may have been previously
324 Neuman, Zorn, Hornstein [Page 5]
330 INTERNET-DRAFT November 18, 1998
333 exposed to an attacker (see section 6, below). In any case, there
334 is a definite advantage to being interoperable with the S/Key algo-
337 Due to the volatility of, and rapid developments in, the area of
338 single-use authentication mechanisms (both software-only and
339 hardware supported), any subsequently defined sam-type codes will
340 be maintained by the IANA.
342 The sam-flags field indicates whether the SAD is known by the KDC
343 (in which case it can be used as part of the encryption key for the
344 ensuing KRB_AS_REP message), or if it must be provided to the KDC
345 in a recoverable manner. If it is known to the KDC, use-sad-as-key
346 indicates that the SAD alone will be used to generate the encryp-
347 tion key for the forthcoming KRB_AS_REQ and KRB_AS_REP messages,
348 and that the user will not need to also enter a password. We
349 recommend that this option not be used, and that the principal also
350 enter the Kerberos password, but for some situations, presentation
351 of the SAD alone may be acceptable. If the single-use authentica-
352 tion data is not known (and cannot be generated or discovered) by
353 the KDC, then send-encrypted-sad flag will be set, indicating that
354 the SAD must be sent to the KDC encrypted under the principal's
355 secret key. If neither use-sad-as-key nor send-encrypted-sad are
356 set, the client may assume that the KDC knows the SAD, but the Ker-
357 beros password should be used along with the passcode in the
358 derivation of the encryption key (see below). The must-pk-
359 encrypt-sad flag is reserved for future use. If this flag is set
360 and a client does not support the must-pk-encrypt-sad option (to be
361 defined in a separate document), the client will not be able to
362 complete the authentication and must notify the user.
364 Note that there are specific constraints on the integrity of the
365 PA-SAM-CHALLENGE when some of these options are specified. In par-
366 ticular, if any of these flags are set, a cryptographic checksum
367 must be present and verified. If absent, or the checksum does not
368 match the request, the challenge must be considered invalid and the
371 The optional sam-type-name field is a UTF-8 character string for
372 informational use only. It may be used by the client to display a
373 short description of the type of single-use authentication mechan-
376 The optional sam-track-id field may be returned by the KDC in the
377 KRB_ERROR message. If present, the client should copy this field
378 into the corresponding field of the SAM response sent in the subse-
379 quent KRB_AS_REQ message. This field may be used by the KDC to
380 match challenges and responses. It might be a suitably encoded
381 integer, or even be encrypted data with the KDC state encoded so
382 that the KDC doesn't have to maintain the state internally.
384 The sam-challenge-label field is informational and optional. If it
385 is included, is will be an UTF-8 encoded character. If present, a
386 client may choose to precede the presentation of the challenge with
390 Neuman, Zorn, Hornstein [Page 6]
396 INTERNET-DRAFT November 18, 1998
399 this string. For example, if the challenge is 135773 and the
400 string in the sam-challenge-label field is "Enter the following
401 number on your card", the client may choose to display to the user:
403 Enter the following number on your card: 135773
405 If no challenge label was presented, or if the client chooses to
406 ignore it, the client might display instead:
408 Challenge from authentication server: 135773
410 If the sam-checksum field is empty the sam-challenge-label should
411 be ignored, since in that case it may have been modified by an
412 adversary. Internationalization is supported by allowing customi-
413 zation of the challenge label and other strings on a per-principal
414 basis. Note that this character string should be encoded using
417 The optional sam-challenge field contains a string that will be
418 needed by the user to generate a suitable response. If the sam-
419 challenge field is left out, it indicates that the SAM in use does
420 not require a challenge, and that the authorized user should be
421 able to produce the correct SAD without one. If the sam-challenge
422 field is present, it is the data that is used by the SAD generator
423 to create the SAD to be used in the production of the SPD to be
424 included in the response.
426 The sam-response-prompt field is informational and optional. If
427 present, a client may choose to precede the prompt for the response
428 with the specified string; however, it should not be used if the
429 sam-checksum field is empty, since in that case the prompt may have
430 been modified by an adversary. If this field is empty the prompt
431 displayed will be hardcoded into the application, such as
435 sam-pk-for-sad is an optional field. It is included in the
436 interest of future extensability of the protocol to the use of
437 public-key cryptography.
439 The sam-nonce field is optional. If present, it should conform to
440 the specification of the nonce field in a KRB_KDC_REQ message
443 The optional sam-cksum field contains a cryptographic checksum of
444 the preceding fields, protected using the same key as that used for
445 preauthentication in the initial KRB_AS_REQ message. While any
446 secure checksum method may be used, the RSA-MD5-DES type is recom-
447 mended and must be supported by the client. This field should
448 always be present if the initial KRB_AS_REQ message included a form
449 of cryptographic preauthentication (such as PA_ENC_TIMESTAMP). If
450 the initial message included preauthentication, but this field is
451 missing in the response, the client should reject the response. If
452 this field is present, the client should verify its correctness:
456 Neuman, Zorn, Hornstein [Page 7]
462 INTERNET-DRAFT November 18, 1998
465 if the sam-cksum field is present in the KRB_ERROR message, but not
466 verified by the client, then an attacker can change the message
467 contents at will. Such a change could cause unexpected instruc-
468 tions to be displayed to the user in the prompt string, or allow
469 the denial of service through the presentation of an invalid chal-
470 lenge. Another effect of a change might be to effect a limited
471 chosen plaintext attack on the Kerberos password where the attacker
472 picks the nonce, and the challenge.
474 Note that it is possible for the KDC to generate a cryptographic
475 checksum for this message using the users' secret key even though
476 no cryptographic preauthentication was present in the initial
477 AS_REQ message. Doing so, however, makes material available which
478 enables an offline guessing attack against that key.
480 If the client is performing SAM preauthentication in the initial
481 message, without receipt of a PA-SAM-CHALLENGE (i.e. without wait-
482 ing for the KRB_ERROR message), and the SAM in use does not require
483 a challenge, the client will prompt for the SAD in an application-
486 Once the user has been prompted for and entered the SAD (and possi-
487 bly the Kerberos password), the client will derive a key to be used
488 to encrypt the preauthentication data for a KRB_AS_REQ message.
489 This key will be determined as follows:
491 By default, the key is derived from the password and the SAD
492 by running each through the string_to_key function [RFC1510]
493 separately; i.e., K1 = string_to_key(password) and K2 =
494 string_to_key(SAD). The K1 and K2 are then combined to form
495 a single key K in a manner specific to the type of key being
496 generated. For DES keys, K will be formed by XORing K1 and
497 K2, then correcting the parity of K. If the result matches
498 a "weak" or "semiweak" key as described in the DES specifi-
499 cation, it is XORed with the hexadecimal constant
502 If the send-encrypted-sad flag is set, the key will be
503 derived by running the Kerberos password though the
504 string_to_key function in the normal fashion.
506 If the use-sad-as-key flag is set and the integrity of the
507 PA-SAM-CHALLENGE PADATA field can be verified using the
508 sam-cksum field, then the SAD is run through the
509 string_to_key function and the result is used as the encryp-
510 tion key for the request. WARNING: the use of single-use
511 authentication data in this manner is NOT recommended unless
512 the range of the SAD is large enough to make an exhaustive
513 off-line search impractical and the risks involved in the
514 use of SAD alone are fully considered. Also, note that
515 without the availability to the KDC of a relatively static,
516 unique secret key shared with the user, the only mechanisms
517 that can be used to protect the integrity of the PA-SAM-
518 CHALLENGE PADATA field are based on either public key
522 Neuman, Zorn, Hornstein [Page 8]
528 INTERNET-DRAFT November 18, 1998
531 cryptography or the KDC's a priori knowledge of the SAD
532 itself. In the latter case, the client must obtain the SAD
533 from the user and use it to verify the integrity of the
534 challenge before the new KRB_AS_REQ message is sent.
536 The sam-pk-for-sad field is reserved for future use. If
537 this field is not empty and the client does not support the
538 use of public-key encryption for SAD (to be defined in a
539 separate document), the client will not be able to complete
540 the authentication and must notify the user.
542 The client will then send another KRB_AS_REQ message to the KDC,
543 but with a padata field with padata-type equal to PA-SAM-RESPONSE
544 and padata-value defined as follows:
546 PA-SAM-RESPONSE ::= SEQUENCE {
548 sam-flags[1] SAMFlags,
549 sam-track-id[2] GeneralString OPTIONAL,
550 sam-enc-key[3] EncryptedData
552 sam-enc-nonce-or-ts[4] EncryptedData
553 -- PA-ENC-SAM-RESPONSE-ENC,
554 sam-nonce[5] INTEGER OPTIONAL,
555 sam-patimestamp[6] KerberosTime OPTIONAL
558 PA-ENC-SAM-KEY ::= SEQUENCE {
559 sam-key[0] EncryptionKey
562 PA-ENC-SAM-RESPONSE-ENC ::= SEQUENCE {
563 sam-nonce[0] INTEGER OPTIONAL,
564 sam-timestamp[1] KerberosTime OPTIONAL,
565 sam-usec[2] INTEGER OPTIONAL,
566 sam-sad[3] GeneralString OPTIONAL
569 The source of the data included in the PA-SAM-RESPONSE structure
570 depends upon whether or not a KRB_ERROR message was received by the
573 If an error reply was received, the sam-type and sam-flags fields
574 will contain copies of the same fields from the error message. If
575 the sam-nonce field was present in the KRB_ERROR message, then the
576 PA-ENC-SAM-RESPONSE-ENC structure returned to the KDC will include
577 that value, encrypted as described above, the nonce field in the
578 KRB_AS_REQ message will contain a plaintext copy of the same value
579 and the sam-timestamp field in the PA-ENC-SAM-RESPONSE-ENC struc-
580 ture will be empty. If a sam-timestamp is present in the PA-ENC-
581 SAM-RESPONSE, the sam-patimestamp field must be supplied in the
582 PA-SAM-RESPONSE. If a KRB_ERROR message was received but the sam-
583 nonce field was omitted from it, the encrypted data will contain a
584 timestamp encrypted in the same manner, the sam-patimestamp field
588 Neuman, Zorn, Hornstein [Page 9]
594 INTERNET-DRAFT November 18, 1998
597 will contain an unencrypted copy of the same value, and the sam-
598 nonce field will be empty. In either case, if the send-encrypted-
599 sad flag is set in the sam-flags field of the error message, the
600 sam-sad field must contain the entered single-use authentication
603 If no error reply was received (i.e., the client knows that a
604 single-use authentication mechanism is to be used), the sam-type
605 field must be set to a value chosen from the list of registered
608 The value of the sam-flags field may vary depending upon the type
609 of SAM in use, but in all cases the must-pk-encrypt-sad flag must
610 be zero. If the send-encrypted-sad flag is set, the sam-sad field
611 must contain the entered single-use authentication data.
613 Note that is there is no sam-track-id in the request, it should be
614 omitted in the response.
616 The sam-enc-key field is reserved for future use.
618 Upon receipt the KDC validates this PADATA in much the same way
619 that it validates the PA-ENC-TS preauthentication method except
620 that it uses the SAD (if available, and possibly in conjunction
621 with saved state information or portions of the preauthentication
622 data) to determine the correct key(s) required to verify the
623 encrypted data. Note that if the KDC uses the sam-track-id field
624 to encode its state, the KDC is responsible for including informa-
625 tion in that field to detect modification or replay by an attacker.
627 The rest of the processing of the request proceeds normally, except
628 that instead of being encrypted in the user's secret key, the
629 KRB_AS_REP message is encrypted in the key obtained above. Note,
630 however, that some single-use authentication mechanisms may require
631 further KRB_AS_REQ/KRB_ERROR exchanges to complete authentication;
632 for example, in order to allow the server to resynchronize with the
633 drifting clock on a time-based token card. In these cases the KDC
634 may respond with another KRB_ERROR message containing a different
635 sam-type value, along with appropriate prompts and/or challenges.
636 This sequence of exchanges will continue until authentication
637 either succeeds or fails.
640 6. Security considerations
641 Single-use authentication mechanisms requiring the use of the
642 send-encrypted-sad option are discouraged as their use on the net-
643 work is less secure than the case where a combination of the users
644 password and SAD is used as the encryption key. In particular,
645 when the send-encrypted-sad option is used, an attacker who
646 observes the response and is in possession of the users' secret key
647 (which doesn't change from login to login) can use the key to
648 decrypt the response and obtain the single-use authentication data.
649 This is dependent on the SAM technology used.
654 Neuman, Zorn, Hornstein [Page 10]
660 INTERNET-DRAFT November 18, 1998
663 If the KDC sets the must-pk-encrypt-sad flag of the sam-flags field
664 but the client software being used does not support public-key
665 cryptography, it is possible that legitimate users may be denied
668 An attacker in possession of the users encryption key (again, which
669 doesn't change from login to login) might be able to
670 generate/modify a SAM challenge and attach the appropriate check-
671 sum. This affects the security of both the send-encrypted-sad
672 option and the must-pk-encrypt-sad option.
676 This Internet-Draft expires on Feburary 11, 1999.
682 The Kerberos Network Authentication System; Kohl and Neuman;
686 The S/Key One-Time Password System; Haller; February 1995
689 Report of IAB Workshop on Security in the Internet Architec-
690 ture; Braden, Clark, Crocker and Huitema; June 1994
720 Neuman, Zorn, Hornstein [Page 11]
726 INTERNET-DRAFT November 18, 1998
729 9. Authors' Addresses
731 USC/Information Sciences Institute
732 4676 Admiralty Way #1001
733 Marina del Rey, CA 90292-6695
740 Microsoft Corporation
745 EMail: glennz@microsoft.com
749 ITT/US Naval Research Lab
754 EMail: kenh@cmf.nrl.navy.mil
786 Neuman, Zorn, Hornstein [Page 12]