1 TLS Working Group P. Eronen, Ed.
3 Expires: May 17, 2005 H. Tschofenig, Ed.
9 Pre-Shared Key Ciphersuites for Transport Layer Security (TLS)
10 draft-ietf-tls-psk-03.txt
16 This document is an Internet-Draft and is subject to all provisions
17 of section 3 of RFC 3667. By submitting this Internet-Draft, each
18 author represents that any applicable patent or other IPR claims of
19 which he or she is aware have been or will be disclosed, and any of
20 which he or she become aware will be disclosed, in accordance with
24 Internet-Drafts are working documents of the Internet Engineering
25 Task Force (IETF), its areas, and its working groups. Note that
26 other groups may also distribute working documents as
30 Internet-Drafts are draft documents valid for a maximum of six months
31 and may be updated, replaced, or obsoleted by other documents at any
32 time. It is inappropriate to use Internet-Drafts as reference
33 material or to cite them other than as "work in progress."
36 The list of current Internet-Drafts can be accessed at
37 http://www.ietf.org/ietf/1id-abstracts.txt.
40 The list of Internet-Draft Shadow Directories can be accessed at
41 http://www.ietf.org/shadow.html.
44 This Internet-Draft will expire on May 17, 2005.
50 Copyright (C) The Internet Society (2004).
56 This document specifies three sets of new ciphersuites for the
57 Transport Layer Security (TLS) protocol to support authentication
58 based on pre-shared keys. These pre-shared keys are symmetric keys,
59 shared in advance among the communicating parties. The first set of
60 ciphersuites uses only symmetric key operations for authentication.
61 The second set uses a Diffie-Hellman exchange authenticated with a
62 pre-shared key; and the third set combines public key authentication
63 of the server with pre-shared key authentication of the client.
69 Eronen & Tschofenig Expires May 17, 2005 [Page 1]
70 Internet-Draft PSK Ciphersuites for TLS November 16, 2004
77 Usually TLS uses public key certificates [3] or Kerberos [12] for
78 authentication. This document describes how to use symmetric keys
79 (later called pre-shared keys or PSKs), shared in advance among the
80 communicating parties, to establish a TLS connection.
83 There are basically two reasons why one might want to do this:
86 o First, TLS may be used in performance-constrained environments
87 where the CPU power needed for public key operations is not
91 o Second, pre-shared keys may be more convenient from a key
92 management point of view. For instance, in closed environments
93 where the connections are mostly configured manually in advance,
94 it may be easier to configure a PSK than to use certificates.
95 Another case is when the parties already have a mechanism for
96 setting up a shared secret key, and that mechanism could be used
97 to "bootstrap" a key for authenticating a TLS connection.
100 This document specifies three sets of new ciphersuites for TLS.
101 These ciphersuites use new key exchange algorithms, and re-use
102 existing cipher and MAC algorithms from [3] and [2]. A summary of
103 these ciphersuites is shown below.
106 CipherSuite Key Exchange Cipher Hash
109 TLS_PSK_WITH_RC4_128_SHA PSK RC4_128 SHA
110 TLS_PSK_WITH_3DES_EDE_CBC_SHA PSK 3DES_EDE_CBC SHA
111 TLS_PSK_WITH_AES_128_CBC_SHA PSK AES_128_CBC SHA
112 TLS_PSK_WITH_AES_256_CBC_SHA PSK AES_256_CBC SHA
113 TLS_DHE_PSK_WITH_RC4_128_SHA DHE_PSK RC4_128 SHA
114 TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA DHE_PSK 3DES_EDE_CBC SHA
115 TLS_DHE_PSK_WITH_AES_128_CBC_SHA DHE_PSK AES_128_CBC SHA
116 TLS_DHE_PSK_WITH_AES_256_CBC_SHA DHE_PSK AES_256_CBC SHA
117 TLS_RSA_PSK_WITH_RC4_128_SHA RSA_PSK RC4_128 SHA
118 TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA RSA_PSK 3DES_EDE_CBC SHA
119 TLS_RSA_PSK_WITH_AES_128_CBC_SHA RSA_PSK AES_128_CBC SHA
120 TLS_RSA_PSK_WITH_AES_256_CBC_SHA RSA_PSK AES_256_CBC SHA
123 The first set of ciphersuites (with PSK key exchange algorithm),
124 defined in Section 2 use only symmetric key algorithms, and are thus
125 especially suitable for performance-constrained environments.
128 The ciphersuites in Section 3 (with DHE_PSK key exchange algorithm)
129 use a PSK to authenticate a Diffie-Hellman exchange. These
130 ciphersuites protect against dictionary attacks by passive
135 Eronen & Tschofenig Expires May 17, 2005 [Page 2]
136 Internet-Draft PSK Ciphersuites for TLS November 16, 2004
140 eavesdroppers (but not active attackers), and also provide Perfect
141 Forward Secrecy (PFS).
144 The third set of ciphersuites (with RSA_PSK key exchange algorithm),
145 defined in Section 4, combine public key based authentication of the
146 server (using RSA and certificates) with mutual authentication using
150 1.1 Applicability statement
153 The ciphersuites defined in this document are intended for a rather
154 limited set of applications, usually involving only a very small
155 number of clients and servers. Even in such environments, other
156 alternatives may be more appropriate.
159 If the main goal is to avoid PKIs, another possibility worth
160 considering is to use self-signed certificates with public key
161 fingerprints. Instead of manually configuring a shared secret in,
162 for instance, some configuration file, a fingerprint (hash) of the
163 other party's public key (or certificate) could be placed there
167 It is also possible to use the SRP (Secure Remote Password)
168 ciphersuites for shared secret authentication [14]. SRP was designed
169 to be used with passwords, and incorporates protection against
170 dictionary attacks. However, it is computationally more expensive
171 than the PSK ciphersuites in Section 2.
174 1.2 Conventions used in this document
177 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
178 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
179 document are to be interpreted as described in [1].
199 Eronen & Tschofenig Expires May 17, 2005 [Page 3]
200 Internet-Draft PSK Ciphersuites for TLS November 16, 2004
204 2. PSK key exchange algorithm
207 This section defines the PSK key exchange algorithm and associated
208 ciphersuites. These ciphersuites use only symmetric key algorithms.
211 It is assumed that the reader is familiar with ordinary TLS
212 handshake, shown below. The elements in parenthesis are not included
213 when PSK key exchange algorithm is used.
220 ClientHello -------->
225 <-------- ServerHelloDone
233 Application Data <-------> Application Data
237 The client indicates its willingness to use pre-shared key
238 authentication by including one or more PSK ciphersuites in the
239 ClientHello message. If the TLS server also wants to use pre-shared
240 keys, it selects one of the PSK ciphersuites, places the selected
241 ciphersuite in the ServerHello message, and includes an appropriate
242 ServerKeyExchange message (see below). The Certificate and
243 CertificateRequest payloads are omitted from the response.
246 Both clients and servers may have pre-shared keys with several
247 different parties. The client indicates which key to use by
248 including a "PSK identity" in the ClientKeyExchange message (note
249 that unlike in [7], the session_id field in ClientHello message keeps
250 its usual meaning). To help the client in selecting which identity
251 to use, the server can provide a "PSK identity hint" in the
252 ServerKeyExchange message (note that if no hint is provided, a
253 ServerKeyExchange message is still sent).
256 It is expected that different types of identities are useful for
257 different applications running over TLS. This document does not
258 therefore mandate the use of any particular type of identity (such as
263 Eronen & Tschofenig Expires May 17, 2005 [Page 4]
264 Internet-Draft PSK Ciphersuites for TLS November 16, 2004
268 IPv4 address or FQDN) or identity hint; neither is specified how
269 exactly the client uses the hint (if it uses it at all).
272 To increase the chances for successful interoperation between
273 applications that do agree on what type of identity is used, the
274 identity MUST be first converted to a character string, and then
275 encoded to octets using UTF-8 [5]. For instance,
278 o IPv4 addresses are sent as dotted-decimal strings (e.g.,
279 "192.0.1.2"), not as 32-bit integers in network byte order.
282 o Domain names are sent in their usual text form (e.g.,
283 "www.example.com" or "embedded\.dot.example.net"), not in DNS
284 protocol wire format.
287 o X.500 Distinguished Names are sent in their string representation
288 [9], not as BER-encoded ASN.1.
291 In situations where the identity is entered by a person, processing
292 the character string with an appropriate stringprep [10] profile is
296 The format of the ServerKeyExchange and ClientKeyExchange messages is
301 select (KeyExchangeAlgorithm) {
302 /* other cases for rsa, diffie_hellman, etc. */
304 opaque psk_identity_hint<0..2^16-1>;
310 select (KeyExchangeAlgorithm) {
311 /* other cases for rsa, diffie_hellman, etc. */
313 opaque psk_identity<0..2^16-1>;
328 Eronen & Tschofenig Expires May 17, 2005 [Page 5]
329 Internet-Draft PSK Ciphersuites for TLS November 16, 2004
333 The premaster secret is formed as follows: if the PSK is N octets
334 long, concatenate an uint16 with the value N, N zero octets, a second
335 uint16 with the value N, and the PSK itself.
338 Note 1: All the ciphersuites in this document share the same
339 general structure for the premaster secret, namely
343 opaque other_secret<0..2^16-1>;
344 opaque psk<0..2^16-1>;
348 Here "other_secret" is either zeroes (plain PSK case), or comes
349 from the Diffie-Hellman or RSA exchange (DHE_PSK and RSA_PSK,
350 respectively). See Sections 3 and 4 for a more detailed
354 Note 2: Using zeroes for "other_secret" effectively means that
355 only the HMAC-SHA1 part (but not the HMAC-MD5 part) of the TLS PRF
356 is used when constructing the master secret. See [8] for a more
360 The TLS handshake is authenticated using the Finished messages as
364 If the server does not recognize the PSK identity, it MAY respond
365 with an "unknown_psk_identity" alert message. Alternatively, if the
366 server wishes to hide the fact that the PSK identity was not known,
367 it MAY continue the protocol as if the PSK identity existed but the
368 key was incorrect: that is, respond with a "decrypt_error" alert.
391 Eronen & Tschofenig Expires May 17, 2005 [Page 6]
392 Internet-Draft PSK Ciphersuites for TLS November 16, 2004
396 3. DHE_PSK key exchange algorithm
399 This section defines additional ciphersuites that use a PSK to
400 authenticate a Diffie-Hellman exchange. These ciphersuites give some
401 additional protection against dictionary attacks, and also provide
402 Perfect Forward Secrecy (PFS). See Section 6 for discussion of
403 related security considerations.
406 When these ciphersuites are used, the ServerKeyExchange and
407 ClientKeyExchange also include the Diffie-Hellman parameters. The
408 PSK identity and identity hint fields have the same meaning as in the
412 The format of the ServerKeyExchange and ClientKeyExchange messages is
417 select (KeyExchangeAlgorithm) {
418 /* other cases for rsa, diffie_hellman, etc. */
419 case diffie_hellman_psk: /* NEW */
420 opaque psk_identity_hint<0..2^16-1>;
421 ServerDHParams params;
427 select (KeyExchangeAlgorithm) {
428 /* other cases for rsa, diffie_hellman, etc. */
429 case diffie_hellman_psk: /* NEW */
430 opaque psk_identity<0..2^16-1>;
431 ClientDiffieHellmanPublic public;
436 The premaster secret is formed as follows. Let Z be the value
437 produced by the Diffie-Hellman exchange (with leading zero bytes
438 stripped as in other Diffie-Hellman based ciphersuites). Concatenate
439 an uint16 containing the length of Z (in octets), Z itself, an uint16
440 containing the length of the PSK (in octets), and the PSK itself.
454 Eronen & Tschofenig Expires May 17, 2005 [Page 7]
455 Internet-Draft PSK Ciphersuites for TLS November 16, 2004
459 4. RSA_PSK key exchange algorithm
462 The ciphersuites in this section use RSA and certificates to
463 authenticate the server, in addition to using a PSK.
466 As in normal RSA ciphersuites, the server must send a Certificate
467 message. The format of the ServerKeyExchange and ClientKeyExchange
468 messages is shown below.
472 select (KeyExchangeAlgorithm) {
473 /* other cases for rsa, diffie_hellman, etc. */
474 case rsa_psk: /* NEW */
475 opaque psk_identity_hint<0..2^16-1>;
481 select (KeyExchangeAlgorithm) {
482 /* other cases for rsa, diffie_hellman, etc. */
483 case rsa_psk: /* NEW */
484 opaque psk_identity<0..2^16-1>;
485 EncryptedPreMasterSecret;
490 The EncryptedPreMasterSecret field sent from the client to the server
491 contains a 2-byte version number and a 46-byte random value,
492 encrypted using the server's RSA public key as described in Section
493 7.4.7.1 of [3]. The actual premaster secret is formed by both
494 parties as follows: concatenate an uint16 with the value 48, the
495 2-byte version number and the 46-byte random value, an uint16
496 containing the length of the PSK (in octets), and the PSK itself.
499 Neither the normal RSA ciphersuites nor these RSA_PSK ciphersuites
500 themselves specify what the certificates contain (in addition to the
501 RSA public key), or how the certificates are to be validated. In
502 particular, it is possible to use the RSA_PSK ciphersuites with
503 unvalidated self-signed certificates to provide somewhat similar
504 protection against dictionary attacks as the DHE_PSK ciphersuites
505 defined in Section 3.
517 Eronen & Tschofenig Expires May 17, 2005 [Page 8]
518 Internet-Draft PSK Ciphersuites for TLS November 16, 2004
522 5. IANA considerations
525 IANA does not currently have a registry for TLS-related numbers, so
526 there are no IANA actions associated with this document.
529 For easier reference in the future, the ciphersuite numbers defined
530 in this document are summarized below.
533 CipherSuite TLS_PSK_WITH_RC4_128_SHA = { 0x00, 0x8A };
534 CipherSuite TLS_PSK_WITH_3DES_EDE_CBC_SHA = { 0x00, 0x8B };
535 CipherSuite TLS_PSK_WITH_AES_128_CBC_SHA = { 0x00, 0x8C };
536 CipherSuite TLS_PSK_WITH_AES_256_CBC_SHA = { 0x00, 0x8D };
537 CipherSuite TLS_DHE_PSK_WITH_RC4_128_SHA = { 0x00, 0x8E };
538 CipherSuite TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA = { 0x00, 0x8F };
539 CipherSuite TLS_DHE_PSK_WITH_AES_128_CBC_SHA = { 0x00, 0x90 };
540 CipherSuite TLS_DHE_PSK_WITH_AES_256_CBC_SHA = { 0x00, 0x91 };
541 CipherSuite TLS_RSA_PSK_WITH_RC4_128_SHA = { 0x00, 0x92 };
542 CipherSuite TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA = { 0x00, 0x93 };
543 CipherSuite TLS_RSA_PSK_WITH_AES_128_CBC_SHA = { 0x00, 0x94 };
544 CipherSuite TLS_RSA_PSK_WITH_AES_256_CBC_SHA = { 0x00, 0x95 };
547 This document also defines a new TLS alert message,
548 unknown_psk_identity(115).
551 6. Security Considerations
554 As with all schemes involving shared keys, special care should be
555 taken to protect the shared values and to limit their exposure over
559 6.1 Perfect forward secrecy (PFS)
562 The PSK and RSA_PSK ciphersuites defined in this document do not
563 provide Perfect Forward Secrecy (PFS). That is, if the shared secret
564 key (in PSK ciphersuites), or both the shared secret key and the RSA
565 private key (in RSA_PSK ciphersuites), is somehow compromised, an
566 attacker can decrypt old conversations.
569 The DHE_PSK ciphersuites provide Perfect Forward Secrecy if a fresh
570 DH private key is generated for each handshake.
573 6.2 Brute-force and dictionary attacks
576 Use of a fixed shared secret of limited entropy (for example, a PSK
577 that is relatively short, or was chosen by a human and thus may
578 contain less entropy than its length would imply) may allow an
579 attacker to perform a brute-force or dictionary attack to recover the
580 secret. This may be either an off-line attack (against a captured
585 Eronen & Tschofenig Expires May 17, 2005 [Page 9]
586 Internet-Draft PSK Ciphersuites for TLS November 16, 2004
590 TLS handshake messages), or an on-line attack where the attacker
591 attempts to connect to the server and tries different keys.
594 For the PSK ciphersuites, an attacker can get the information
595 required for an off-line attack by eavesdropping a TLS handshake, or
596 by getting a valid client to attempt connection with the attacker (by
597 tricking the client to connect to wrong address, or intercepting a
598 connection attempt to the correct address, for instance).
601 For the DHE_PSK ciphersuites, an attacker can obtain the information
602 by getting a valid client to attempt connection with the attacker.
603 Passive eavesdropping alone is not sufficient.
606 For the RSA_PSK ciphersuites, only the server (authenticated using
607 RSA and certificates) can obtain sufficient information for an
611 It is RECOMMENDED that implementations that allow the administrator
612 to manually configure the PSK also provide a functionality for
613 generating a new random PSK, taking [4] into account.
619 The PSK identity is sent in cleartext. While using a user name or
620 other similar string as the PSK identity is the most straightforward
621 option, it may lead to problems in some environments since an
622 eavesdropper is able to identify the communicating parties. Even
623 when the identity does not reveal any information itself, reusing the
624 same identity over time may eventually allow an attacker to perform
625 traffic analysis to identify the parties. It should be noted that
626 this is no worse than client certificates, since they are also sent
630 6.4 Implementation notes
633 The implementation notes in [11] about correct implementation and use
634 of RSA (including Section 7.4.7.1) and Diffie-Hellman (including
635 Appendix F.1.1.3) apply to the DHE_PSK and RSA_PSK ciphersuites as
642 The protocol defined in this document is heavily based on work by Tim
643 Dierks and Peter Gutmann, and borrows some text from [7] and [2].
644 The DHE_PSK and RSA_PSK ciphersuites are based on earlier work in
648 Valuable feedback was also provided by Philip Ginzboorg, Peter
653 Eronen & Tschofenig Expires May 17, 2005 [Page 10]
654 Internet-Draft PSK Ciphersuites for TLS November 16, 2004
658 Gutmann, David Jablon, Nikos Mavroyanopoulos, Bodo Moeller, Eric
659 Rescorla, and Mika Tervonen.
662 When the first version of this draft was almost ready, the authors
663 learned that something similar had been proposed already in 1996
664 [13]. However, this draft is not intended for web password
665 authentication, but rather for other uses of TLS.
671 8.1 Normative References
674 [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
675 Levels", RFC 2119, March 1997.
678 [2] Chown, P., "Advanced Encryption Standard (AES) Ciphersuites
679 for Transport Layer Security (TLS)", RFC 3268, June 2002.
682 [3] Dierks, T. and C. Allen, "The TLS Protocol Version 1.0", RFC
686 [4] Eastlake, D., Crocker, S. and J. Schiller, "Randomness
687 Recommendations for Security", RFC 1750, December 1994.
690 [5] Yergeau, F., "UTF-8, a transformation format of ISO 10646", RFC
694 8.2 Informative References
697 [6] Badra, M., Cherkaoui, O., Hajjeh, I. and A. Serhrouchni,
698 "Pre-Shared-Key key Exchange methods for TLS",
699 draft-badra-tls-key-exchange-00 (work in progress), August
703 [7] Gutmann, P., "Use of Shared Keys in the TLS Protocol",
704 draft-ietf-tls-sharedkeys-02 (expired), October 2003.
707 [8] Krawczyk, H., "Re: TLS shared keys PRF", message on
708 ietf-tls@lists.certicom.com mailing list 2004-01-13,
709 http://www.imc.org/ietf-tls/mail-archive/msg04098.html.
712 [9] Zeilenga, K., "LDAP: String Representation of Distinguished
713 Names", draft-ietf-ldapbis-dn-15 (work in progress), October
717 [10] Hoffman, P. and M. Blanchet, "Preparation of Internationalized
718 Strings ("stringprep")", RFC 3454, December 2002.
724 Eronen & Tschofenig Expires May 17, 2005 [Page 11]
725 Internet-Draft PSK Ciphersuites for TLS November 16, 2004
729 [11] Dierks, T. and E. Rescorla, "The TLS Protocol Version 1.1",
730 draft-ietf-tls-rfc2246-bis-08 (work in progress), August 2004.
733 [12] Medvinsky, A. and M. Hur, "Addition of Kerberos Cipher Suites
734 to Transport Layer Security (TLS)", RFC 2712, October 1999.
737 [13] Simon, D., "Addition of Shared Key Authentication to Transport
738 Layer Security (TLS)", draft-ietf-tls-passauth-00 (expired),
742 [14] Taylor, D., Wu, T., Mavroyanopoulos, N. and T. Perrin, "Using
743 SRP for TLS Authentication", draft-ietf-tls-srp-08 (work in
744 progress), August 2004.
784 Eronen & Tschofenig Expires May 17, 2005 [Page 12]
785 Internet-Draft PSK Ciphersuites for TLS November 16, 2004
789 Authors' and Contributors' Addresses
793 Nokia Research Center
795 FIN-00045 Nokia Group
797 Email: pasi.eronen@nokia.com
806 Email: Hannes.Tschofenig@siemens.com
815 Email: Mohamad.Badra@enst.fr
823 Email: cherkaoui.omar@uqam.ca
832 Email: Ibrahim.Hajjeh@enst.fr
841 Email: Ahmed.Serhrouchni@enst.fr
847 Eronen & Tschofenig Expires May 17, 2005 [Page 13]
848 Internet-Draft PSK Ciphersuites for TLS November 16, 2004
852 Appendix A. Changelog
855 (This section should be removed by the RFC Editor before
859 Changes from -02 to -03:
862 o Aligned the way the premaster secret is derived.
865 o Specified that identities must be sent as human-readable UTF-8
866 strings, not in binary formats. Changed reference to RFC 3629
867 from informative to normative.
870 o Selected ciphersuite and alert numbers, and updated IANA
871 considerations section to match this.
874 o Reworded some text about dictionary attacks in Section 6.2.
877 Changes from -01 to -02:
880 o Clarified text about DHE_PSK ciphersuites in Section 1.
883 o Clarified explanation of HMAC-SHA1/MD5 use of PRF in Section 2.
886 o Added note about certificate validation and self-signed
887 certificates in Section 4.
890 o Added Mohamad Badra et al. as contributors.
893 Changes from draft-ietf-tls-psk-00 to -01:
896 o Added DHE_PSK and RSA_PSK key exchange algorithms, and updated
897 other text accordingly
900 o Removed SHA-1 hash from PSK key exchange premaster secret
901 construction (since premaster secret doesn't need to be 48 bytes).
904 o Added unknown_psk_identity alert message.
907 o Updated IANA considerations section.
910 Changes from draft-eronen-tls-psk-00 to draft-ietf-tls-psk-00:
913 o Updated dictionary attack considerations based on comments from
917 o Added a recommendation about using UTF-8 in the identity field.
923 Eronen & Tschofenig Expires May 17, 2005 [Page 14]
924 Internet-Draft PSK Ciphersuites for TLS November 16, 2004
928 o Removed Appendix A comparing this document with
929 draft-ietf-tls-sharedkeys-02.
932 o Removed IPR comment about SPR.
935 o Minor editorial changes.
982 Eronen & Tschofenig Expires May 17, 2005 [Page 15]
983 Internet-Draft PSK Ciphersuites for TLS November 16, 2004
987 Intellectual Property Statement
990 The IETF takes no position regarding the validity or scope of any
991 Intellectual Property Rights or other rights that might be claimed to
992 pertain to the implementation or use of the technology described in
993 this document or the extent to which any license under such rights
994 might or might not be available; nor does it represent that it has
995 made any independent effort to identify any such rights. Information
996 on the procedures with respect to rights in RFC documents can be
997 found in BCP 78 and BCP 79.
1000 Copies of IPR disclosures made to the IETF Secretariat and any
1001 assurances of licenses to be made available, or the result of an
1002 attempt made to obtain a general license or permission for the use of
1003 such proprietary rights by implementers or users of this
1004 specification can be obtained from the IETF on-line IPR repository at
1005 http://www.ietf.org/ipr.
1008 The IETF invites any interested party to bring to its attention any
1009 copyrights, patents or patent applications, or other proprietary
1010 rights that may cover technology that may be required to implement
1011 this standard. Please address the information to the IETF at
1016 Disclaimer of Validity
1019 This document and the information contained herein are provided on an
1020 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
1021 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
1022 ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
1023 INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
1024 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
1025 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
1032 Copyright (C) The Internet Society (2004). This document is subject
1033 to the rights, licenses and restrictions contained in BCP 78, and
1034 except as set forth therein, the authors retain all their rights.
1041 Funding for the RFC Editor function is currently provided by the
1047 Eronen & Tschofenig Expires May 17, 2005 [Page 16]