diff --git a/doc/standardisation/draft-ietf-krb-wg-pkinit-alg-agility-00.txt b/doc/standardisation/draft-ietf-krb-wg-pkinit-alg-agility-00.txt
new file mode 100644
index 000000000..bf2dd5f2d
--- /dev/null
+++ b/doc/standardisation/draft-ietf-krb-wg-pkinit-alg-agility-00.txt
@@ -0,0 +1,672 @@
+
+
+
+Network Working Group L. Hornquist Astrand
+Internet-Draft Stockholm University
+Expires: September 2, 2006 L. Zhu
+ Microsoft Corporation
+ March 2006
+
+
+ PK-INIT algorithm agility
+ draft-ietf-krb-wg-pkinit-alg-agility-00
+
+Status of this Memo
+
+ By submitting this Internet-Draft, each author represents that any
+ applicable patent or other IPR claims of which he or she is aware
+ have been or will be disclosed, and any of which he or she becomes
+ aware will be disclosed, in accordance with Section 6 of BCP 79.
+
+ Internet-Drafts are working documents of the Internet Engineering
+ Task Force (IETF), its areas, and its working groups. Note that
+ other groups may also distribute working documents as Internet-
+ Drafts.
+
+ Internet-Drafts are draft documents valid for a maximum of six months
+ and may be updated, replaced, or obsoleted by other documents at any
+ time. It is inappropriate to use Internet-Drafts as reference
+ material or to cite them other than as "work in progress."
+
+ The list of current Internet-Drafts can be accessed at
+ http://www.ietf.org/ietf/1id-abstracts.txt.
+
+ The list of Internet-Draft Shadow Directories can be accessed at
+ http://www.ietf.org/shadow.html.
+
+ This Internet-Draft will expire on September 2, 2006.
+
+Copyright Notice
+
+ Copyright (C) The Internet Society (2006).
+
+Abstract
+
+ The PK-INIT protocol have in several places hard coded crypto
+ algorithms. The protocol specification needs to be updated so it can
+ support negotiation to upgrading to newer versions of crypto
+ algorithms. This document addresses this issue.
+
+
+
+
+
+
+Hornquist Astrand & Zhu Expires September 2, 2006 [Page 1]
+
+Internet-Draft PK-INIT algorithm agility March 2006
+
+
+Table of Contents
+
+ 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
+ 2. Requirements notation . . . . . . . . . . . . . . . . . . . . 4
+ 3. paChecksum agility . . . . . . . . . . . . . . . . . . . . . . 5
+ 4. CMS Digest Algorithm agility . . . . . . . . . . . . . . . . . 6
+ 5. Certificate Signer Algorithm Identifier agility . . . . . . . 7
+ 6. octetstring2key function agility . . . . . . . . . . . . . . . 8
+ 7. Security Considerations . . . . . . . . . . . . . . . . . . . 9
+ 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10
+ 9. Normative References . . . . . . . . . . . . . . . . . . . . . 10
+ Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11
+ Intellectual Property and Copyright Statements . . . . . . . . . . 12
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hornquist Astrand & Zhu Expires September 2, 2006 [Page 2]
+
+Internet-Draft PK-INIT algorithm agility March 2006
+
+
+1. Introduction
+
+ The Kerberos PK-INIT document contains several hardcoded algorithms
+ that was know designed at design time that they had to be replaced by
+ something else at a later time, this document described how to use
+ other algorithms other then those that are hard-coded.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hornquist Astrand & Zhu Expires September 2, 2006 [Page 3]
+
+Internet-Draft PK-INIT algorithm agility March 2006
+
+
+2. Requirements notation
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
+ document are to be interpreted as described in [RFC2119].
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hornquist Astrand & Zhu Expires September 2, 2006 [Page 4]
+
+Internet-Draft PK-INIT algorithm agility March 2006
+
+
+3. paChecksum agility
+
+ The paChecksum binds the PK-INIT part of the request to main body of
+ the Kerberos request (KDC-REQ-BODY). This is to makes sure an
+ attacker can not change the request from the client to the server.
+ The problem is that paChecksum is hardcoded to use SHA1-1, however,
+ there is a mechaism to provide algorithm agility for the paChecksum
+ within the PK-INIT prototcol. Newer clients can choose not send the
+ paChecksum field, but rather add some new fields after the existing
+ fields, older KDC will send back know failure-code so that newer
+ clients can fall back to the old protocol if local policy allows
+ that.
+
+ If the attacker can preserve the checksum in paChecksum, an attacker
+ can, for example, change the KDC-REQ-BODY is to downgrade the
+ encryption types used, expend the expiration time, etc, and then try
+ to brute-force the request.
+
+ In the Public Key Encryption case of PK-INIT the reply contains a
+ checksum over the whole request in the asChecksum field, in this case
+ the client will detect any modifications to the request. Since the
+ asChecksum is using the associated checksum of the session key
+ encryption type, asChecksum field is algorithm agile.
+
+ One way to solve this problem is to add the asChecksum to the Diffie-
+ Hellman case reply too, and just ignore the paCheckSum field. The
+ KDC should still not issue tickets that are too weak, since that
+ exposes the problem. This is regardless of the using PK-INIT or not.
+
+ Questions for wg: Wait for Kerberos Extensions that will solve this
+ problem (ignore the problem for how), or use add asChecksum to DH
+ case.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hornquist Astrand & Zhu Expires September 2, 2006 [Page 5]
+
+Internet-Draft PK-INIT algorithm agility March 2006
+
+
+4. CMS Digest Algorithm agility
+
+ The client can tell KDC what the supported CMS types are in the
+ requset packet, but there are no equivalent for KDC to the the client
+ what the digest algorithm are support in an reply.
+
+ Have KDC send the CMS list of supported encryption types in the
+ e-data field of KRB-ERROR when returning the
+ KDC_ERR_DIGEST_IN_SIGNED_DATA_NOT_ACCEPTED error.
+
+ DER encoded TS-SD-PARAMETERS specifies supported digest algorithms.
+ The list is in decreasing preference order.
+
+
+
+ TD-SD-PARAMETERS ::= SEQUENCE OF AlgorithmIdentifier
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hornquist Astrand & Zhu Expires September 2, 2006 [Page 6]
+
+Internet-Draft PK-INIT algorithm agility March 2006
+
+
+5. Certificate Signer Algorithm Identifier agility
+
+ The KDC can reject a certificate based on the signers hash algorithm
+ with the error KDC_ERR_DIGEST_IN_CERT_NOT_ACCEPTED, but doesn't tell
+ the client what algorithm are supported.
+
+ DER encoded TS-DC-PARAMETERS specifies supported certificate digest
+ algorithms. The AllowedAlgorithms is in decreasing preference order.
+ RejectedAlgorithm may be include my the KDC to tell what algorithm
+ was rejected in case the rejected certificate was part of a computed
+ chain.
+
+
+
+ TD-DC-PARAMETERS ::= SEQUENCE {
+ AllowedAlgorithms [0] SEQUENCE OF AlgorithmIdentifier,
+ RejectedAlgorithm [1] AlgorithmIdentifier OPTIONAL
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hornquist Astrand & Zhu Expires September 2, 2006 [Page 7]
+
+Internet-Draft PK-INIT algorithm agility March 2006
+
+
+6. octetstring2key function agility
+
+ The PK-INIT standard uses a home-grown string 2 key function in the
+ DH case. The function uses SHA-1 to mix and stretch the DH shared
+ key.
+
+ Describe how the client announces that is supports the new String to
+ key function. Probably by stuffing it into the supportCMSTypes field
+ in the request.
+
+ Use NIST SP 800 56B when its published.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hornquist Astrand & Zhu Expires September 2, 2006 [Page 8]
+
+Internet-Draft PK-INIT algorithm agility March 2006
+
+
+7. Security Considerations
+
+ This document describes negotiation of checksum types and other
+ cryptographic functions. Most of this negotiation is done
+ unauthenticated with no way to very
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hornquist Astrand & Zhu Expires September 2, 2006 [Page 9]
+
+Internet-Draft PK-INIT algorithm agility March 2006
+
+
+8. IANA Considerations
+
+ No IANA considerations.
+
+9. Normative References
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119, March 1997.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hornquist Astrand & Zhu Expires September 2, 2006 [Page 10]
+
+Internet-Draft PK-INIT algorithm agility March 2006
+
+
+Authors' Addresses
+
+ Love Hornquist Astrand
+ Stockholm University
+ SE-106 91 STOCKHOLM
+ SWEDEN
+
+ Email: lha@it.su.se
+
+
+ Larry Zhu
+ Microsoft Corporation
+ One Microsoft Way
+ Redmond, WA 98052
+ US
+
+ Email: lzhu@microsoft.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Hornquist Astrand & Zhu Expires September 2, 2006 [Page 11]
+
+Internet-Draft PK-INIT algorithm agility March 2006
+
+
+Intellectual Property Statement
+
+ The IETF takes no position regarding the validity or scope of any
+ Intellectual Property Rights or other rights that might be claimed to
+ pertain to the implementation or use of the technology described in
+ this document or the extent to which any license under such rights
+ might or might not be available; nor does it represent that it has
+ made any independent effort to identify any such rights. Information
+ on the procedures with respect to rights in RFC documents can be
+ found in BCP 78 and BCP 79.
+
+ Copies of IPR disclosures made to the IETF Secretariat and any
+ assurances of licenses to be made available, or the result of an
+ attempt made to obtain a general license or permission for the use of
+ such proprietary rights by implementers or users of this
+ specification can be obtained from the IETF on-line IPR repository at
+ http://www.ietf.org/ipr.
+
+ The IETF invites any interested party to bring to its attention any
+ copyrights, patents or patent applications, or other proprietary
+ rights that may cover technology that may be required to implement
+ this standard. Please address the information to the IETF at
+ ietf-ipr@ietf.org.
+
+
+Disclaimer of Validity
+
+ This document and the information contained herein are provided on an
+ "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
+ OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
+ ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
+ INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
+ INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
+ WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+
+Copyright Statement
+
+ Copyright (C) The Internet Society (2006). This document is subject
+ to the rights, licenses and restrictions contained in BCP 78, and
+ except as set forth therein, the authors retain all their rights.
+
+
+Acknowledgment
+
+ Funding for the RFC Editor function is currently provided by the
+ Internet Society.
+
+
+
+
+Hornquist Astrand & Zhu Expires September 2, 2006 [Page 12]
+
diff --git a/doc/standardisation/draft-ietf-krb-wg-tcp-expansion-00.txt b/doc/standardisation/draft-ietf-krb-wg-tcp-expansion-00.txt
new file mode 100644
index 000000000..abb6787b2
--- /dev/null
+++ b/doc/standardisation/draft-ietf-krb-wg-tcp-expansion-00.txt
@@ -0,0 +1,392 @@
+
+
+
+Network Working Group S. Josefsson
+Internet-Draft SJD
+Updates: 4120 (if approved) May 10, 2006
+Expires: November 11, 2006
+
+
+Extended Kerberos Version 5 Key Distribution Center (KDC) Exchanges Over
+ TCP
+ draft-ietf-krb-wg-tcp-expansion-00
+
+Status of this Memo
+
+ By submitting this Internet-Draft, each author represents that any
+ applicable patent or other IPR claims of which he or she is aware
+ have been or will be disclosed, and any of which he or she becomes
+ aware will be disclosed, in accordance with Section 6 of BCP 79.
+
+ Internet-Drafts are working documents of the Internet Engineering
+ Task Force (IETF), its areas, and its working groups. Note that
+ other groups may also distribute working documents as Internet-
+ Drafts.
+
+ Internet-Drafts are draft documents valid for a maximum of six months
+ and may be updated, replaced, or obsoleted by other documents at any
+ time. It is inappropriate to use Internet-Drafts as reference
+ material or to cite them other than as "work in progress."
+
+ The list of current Internet-Drafts can be accessed at
+ http://www.ietf.org/ietf/1id-abstracts.txt.
+
+ The list of Internet-Draft Shadow Directories can be accessed at
+ http://www.ietf.org/shadow.html.
+
+ This Internet-Draft will expire on November 11, 2006.
+
+Copyright Notice
+
+ Copyright (C) The Internet Society (2006).
+
+Abstract
+
+ This document describes an extensibility mechanism for the Kerberos
+ v5 protocol when used over TCP transports.
+
+
+
+
+
+
+
+
+Josefsson Expires November 11, 2006 [Page 1]
+
+Internet-Draft Kerberos V5 TCP extension May 2006
+
+
+Table of Contents
+
+ 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
+ 2. Conventions used in this document . . . . . . . . . . . . . . . 3
+ 3. Extension Mechanism for TCP transport . . . . . . . . . . . . . 3
+ 4. Interoperability Consideration . . . . . . . . . . . . . . . . 4
+ 5. Security Considerations . . . . . . . . . . . . . . . . . . . . 4
+ 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 4
+ 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 5
+ 8. Normative References . . . . . . . . . . . . . . . . . . . . . 5
+ Appendix A. Copying conditions . . . . . . . . . . . . . . . . . . 5
+ Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 6
+ Intellectual Property and Copyright Statements . . . . . . . . . . 7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Josefsson Expires November 11, 2006 [Page 2]
+
+Internet-Draft Kerberos V5 TCP extension May 2006
+
+
+1. Introduction
+
+ The Kerberos 5 [3] specification, in section 7.2.2, reserve the high
+ order bit in the initial length field for TCP transport for future
+ expansion. This document update [3] to describe the behaviour when
+ that bit is set. This mechanism is intended for extensions that are
+ specific for the TCP transport.
+
+
+2. Conventions used in this document
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
+ document are to be interpreted as described in RFC 2119 [1].
+
+
+3. Extension Mechanism for TCP transport
+
+ The reserved high bit of the request length field is used to signal
+ the use of this extension mechanism. When the reserved high bit is
+ set, the remaining 31 bits of the initial 4 octets are interpreted as
+ a bitmap. Each bit in the bitmask can be used to request a
+ particular extension. The 31 bits form the "extension bitmask". It
+ is expected that other documents will describe the details associated
+ with particular bits.
+
+ A 4-octet value with only the high bit set, and thus the extension
+ bitmask all zeros, is called a PROBE. A client may send a probe to
+ find out which extensions a KDC support. A client may also set
+ particular bits in the extension bitmask directly, if it does not
+ need to query the KDC for available extensions before deciding which
+ extension to request.
+
+ If a KDC receive a PROBE, or if a KDC does not support all extensions
+ corresponding to set bits in the extension bitmask, the KDC MUST
+ return 4 octets with the high bit set, and with the remaining bitmask
+ indicate which extensions it supports. The KDC SHOULD NOT close the
+ connection, and SHOULD wait for the client to then send a second
+ 4-octet value, with the high bit set and the remaining bits as the
+ bitmask, to request a particular extension. If the second 4-octet
+ value is a PROBE or an unsupported extension, the KDC MUST close the
+ connection. This is used by the client to shutdown a session when
+ the KDC did not support a, by the client, required extension.
+
+ Resource avaibility considerations may influence whether, and for how
+ long, the KDC will wait for the client to send requests.
+
+ The behaviour when more than one non-high bit is set depends on the
+
+
+
+Josefsson Expires November 11, 2006 [Page 3]
+
+Internet-Draft Kerberos V5 TCP extension May 2006
+
+
+ particular extension mechanisms. If a requested extension (bit X)
+ does not specify how it interact with another requested extensions
+ (bit Y), the KDC MUST treat the request as a PROBE or unsupported
+ extension, and proceed as above.
+
+ Each extension MUST describe the structure of protocol data beyond
+ the length field, and the behaviour of the client and KDC. If an
+ extension mechanism reserve multiple bits, it MUST describe how they
+ interact.
+
+
+4. Interoperability Consideration
+
+ Implementations with support for TCP that do not claim to conform to
+ RFC 4120 may not handle the high bit correctly. Behaviour may
+ include closing the TCP connection without any response, and logging
+ an error message in the KDC log. When this was written, this problem
+ existed in modern versions of popular implementations.
+ Implementations experiencing trouble getting the expected responses
+ from a server SHOULD assume that it does not support this extension
+ mechanism. Clients MAY remember this semi-permanently, to avoid
+ excessive logging in the server. Care should be taken to avoid
+ unexpected behaviour for the user when the KDC is eventually
+ upgraded. Implementations MAY also provide a way to enable and
+ disable this extension on a per-realm basis. How to handle these
+ backwards compatibility quirks are in general left unspecified.
+
+
+5. Security Considerations
+
+ Because the initial length field is not protected, it is possible for
+ an active attacker (i.e., one that is able to modify traffic between
+ the client and the KDC) to make it appear to the client that the
+ server does not support this extension mechanism. Client and KDC
+ policies can be used to reject connections that does not use any
+ expansion.
+
+
+6. IANA Considerations
+
+ IANA needs to create a new registry for "Kerberos 5 TCP Extensions".
+ The initial contents of this registry should be:
+
+ [[RFC Editor: Replace xxxx below with the number of this RFC.]]
+
+ Bit # Meaning Reference
+ ----- ------- ---------
+ 0..29 AVAILABLE for registration.
+
+
+
+Josefsson Expires November 11, 2006 [Page 4]
+
+Internet-Draft Kerberos V5 TCP extension May 2006
+
+
+ 30 RESERVED. RFC XXXX
+
+ IANA will register values 0 to 29 after IESG Approval, as defined in
+ BCP 64 [2]. Assigning value 30 requires a Standards Action that
+ update or obsolete this document.
+
+
+7. Acknowledgements
+
+ Thanks to Andrew Bartlett who pointed out that some implementations
+ (MIT Kerberos and Heimdal) did not follow RFC 4120 properly with
+ regards to the high bit, which resulted in an Interoperability
+ Consideration.
+
+ Nicolas Williams and Jeffrey Hutzelman provided comments that
+ improved the document.
+
+8. Normative References
+
+ [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
+ Levels", BCP 14, RFC 2119, March 1997.
+
+ [2] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA
+ Considerations Section in RFCs", BCP 26, RFC 2434, October 1998.
+
+ [3] Neuman, C., Yu, T., Hartman, S., and K. Raeburn, "The Kerberos
+ Network Authentication Service (V5)", RFC 4120, July 2005.
+
+
+Appendix A. Copying conditions
+
+ Copyright (C) 2005, 2006 Simon Josefsson
+
+ Regarding this entire document or any portion of it, the author makes
+ no guarantees and is not responsible for any damage resulting from
+ its use. The author grants irrevocable permission to anyone to use,
+ modify, and distribute it in any way that does not diminish the
+ rights of anyone else to use, modify, and distribute it, provided
+ that redistributed derivative works do not contain misleading author
+ or version information. Derivative works need not be licensed under
+ similar terms.
+
+
+
+
+
+
+
+
+
+
+Josefsson Expires November 11, 2006 [Page 5]
+
+Internet-Draft Kerberos V5 TCP extension May 2006
+
+
+Author's Address
+
+ Simon Josefsson
+ SJD
+
+ Email: simon@josefsson.org
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Josefsson Expires November 11, 2006 [Page 6]
+
+Internet-Draft Kerberos V5 TCP extension May 2006
+
+
+Intellectual Property Statement
+
+ The IETF takes no position regarding the validity or scope of any
+ Intellectual Property Rights or other rights that might be claimed to
+ pertain to the implementation or use of the technology described in
+ this document or the extent to which any license under such rights
+ might or might not be available; nor does it represent that it has
+ made any independent effort to identify any such rights. Information
+ on the procedures with respect to rights in RFC documents can be
+ found in BCP 78 and BCP 79.
+
+ Copies of IPR disclosures made to the IETF Secretariat and any
+ assurances of licenses to be made available, or the result of an
+ attempt made to obtain a general license or permission for the use of
+ such proprietary rights by implementers or users of this
+ specification can be obtained from the IETF on-line IPR repository at
+ http://www.ietf.org/ipr.
+
+ The IETF invites any interested party to bring to its attention any
+ copyrights, patents or patent applications, or other proprietary
+ rights that may cover technology that may be required to implement
+ this standard. Please address the information to the IETF at
+ ietf-ipr@ietf.org.
+
+
+Disclaimer of Validity
+
+ This document and the information contained herein are provided on an
+ "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
+ OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
+ ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
+ INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
+ INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
+ WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+
+Copyright Statement
+
+ Copyright (C) The Internet Society (2006). This document is subject
+ to the rights, licenses and restrictions contained in BCP 78, and
+ except as set forth therein, the authors retain all their rights.
+
+
+Acknowledgment
+
+ Funding for the RFC Editor function is currently provided by the
+ Internet Society.
+
+
+
+
+Josefsson Expires November 11, 2006 [Page 7]
+
diff --git a/doc/standardisation/draft-zhu-pkinit-ecc-00.txt b/doc/standardisation/draft-zhu-pkinit-ecc-00.txt
new file mode 100644
index 000000000..94be6e2a6
--- /dev/null
+++ b/doc/standardisation/draft-zhu-pkinit-ecc-00.txt
@@ -0,0 +1,610 @@
+
+
+
+NETWORK WORKING GROUP L. Zhu
+Internet-Draft K. Jaganathan
+Expires: March 17, 2006 K. Lauter
+ Microsoft Corporation
+ September 13, 2005
+
+
+ ECC Support for PKINIT
+ draft-zhu-pkinit-ecc-00
+
+Status of this Memo
+
+ By submitting this Internet-Draft, each author represents that any
+ applicable patent or other IPR claims of which he or she is aware
+ have been or will be disclosed, and any of which he or she becomes
+ aware will be disclosed, in accordance with Section 6 of BCP 79.
+
+ Internet-Drafts are working documents of the Internet Engineering
+ Task Force (IETF), its areas, and its working groups. Note that
+ other groups may also distribute working documents as Internet-
+ Drafts.
+
+ Internet-Drafts are draft documents valid for a maximum of six months
+ and may be updated, replaced, or obsoleted by other documents at any
+ time. It is inappropriate to use Internet-Drafts as reference
+ material or to cite them other than as "work in progress."
+
+ The list of current Internet-Drafts can be accessed at
+ http://www.ietf.org/ietf/1id-abstracts.txt.
+
+ The list of Internet-Draft Shadow Directories can be accessed at
+ http://www.ietf.org/shadow.html.
+
+ This Internet-Draft will expire on March 17, 2006.
+
+Copyright Notice
+
+ Copyright (C) The Internet Society (2005).
+
+Abstract
+
+ This document describes the use of Elliptic Curve certificates,
+ Elliptic Curve signature schemes and Elliptic Curve Diffie-Hellman
+ (ECDH) key agreement within the framework of PKINIT - the Kerberos
+ Version 5 extension that provides for the use of public key
+ cryptography.
+
+
+
+
+
+Zhu, et al. Expires March 17, 2006 [Page 1]
+
+Internet-Draft ECC Support for PKINIT September 2005
+
+
+Table of Contents
+
+ 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
+ 2. Conventions Used in This Document . . . . . . . . . . . . . . 3
+ 3. Using Elliptic Curve Certificates and Elliptic Curve
+ Signature Schemes . . . . . . . . . . . . . . . . . . . . . . 3
+ 4. Using ECDH Key Exchange . . . . . . . . . . . . . . . . . . . 4
+ 5. Choosing the Domain Parameters and the Key Size . . . . . . . 6
+ 6. Security Considerations . . . . . . . . . . . . . . . . . . . 7
+ 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8
+ 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 8
+ 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8
+ 9.1. Normative References . . . . . . . . . . . . . . . . . . . 8
+ 9.2. Informative References . . . . . . . . . . . . . . . . . . 9
+ Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 10
+ Intellectual Property and Copyright Statements . . . . . . . . . . 11
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Zhu, et al. Expires March 17, 2006 [Page 2]
+
+Internet-Draft ECC Support for PKINIT September 2005
+
+
+1. Introduction
+
+ Elliptic Curve Cryptography (ECC) is emerging as an attractive
+ public-key cryptosystem that provides security equivalent to
+ currently popular public-key mechanisms such as RSA and DSA with
+ smaller key sizes [LENSTRA] [NISTSP80057].
+
+ Currently [PKINIT] permits the use of ECC algorithms but it does not
+ specify how ECC parameters are chosen and how to derive the shared
+ key for key delivery using Elliptic Curve Diffie-Hellman (ECDH)
+ [IEEE1363].
+
+ This document describes how to use Elliptic Curve certificates,
+ Elliptic Curve signature schemes, and ECDH with [PKINIT]. However,
+ it should be noted that there is no syntactic or semantic change to
+ the existing [PKINIT] messages. Both the client and the KDC
+ contribute one ECDH key pair using the key agrement protocol
+ described in this document.
+
+
+2. Conventions Used in This Document
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
+ document are to be interpreted as described in [RFC2119].
+
+
+3. Using Elliptic Curve Certificates and Elliptic Curve Signature
+ Schemes
+
+ ECC certificates and signature schemes can be used in the
+ Cryptographic Message Syntax (CMS) [RFC3369] content type
+ 'SignedData'.
+
+ X.509 certificates [RFC3280] containing ECC public keys or signed
+ using ECC signature schemes MUST comply with [RFC3279].
+
+ The elliptic curve domain parameters recommended in [X9.62],
+ [FIPS186-2], and [SECG] SHOULD be used.
+
+ The signatureAlgorithm field of the CMS data type SignerInfo can
+ contain one of the following ECC signature algorithm identifiers:
+
+ ecdsa-with-Sha1 [ECCPKALGS]
+ ecdsa-with-Sha256 [ECCPKALGS]
+ ecdsa-with-Sha384 [ECCPKALGS]
+ ecdsa-with-Sha512 [ECCPKALGS]
+
+
+
+
+Zhu, et al. Expires March 17, 2006 [Page 3]
+
+Internet-Draft ECC Support for PKINIT September 2005
+
+
+ The corresponding digestAlgorithm field contains one of the following
+ hash algorithm identifiers respectively:
+
+ id-sha1 [RFC3279]
+ id-sha256 [ECCPKALGS]
+ id-sha384 [ECCPKALGS]
+ id-sha512 [ECCPKALGS]
+
+ Namely id-sha1 MUST be used in conjunction with ecdsa-with-Sha1, id-
+ sha256 MUST be used in conjunction with ecdsa-with-Sha256, id-sha384
+ MUST be used in conjunction with ecdsa-with-Sha384, and id-sha512
+ MUST be used in conjunction with ecdsa-with-Sha512.
+
+ Implementations of this specfication MUST support ecdsa-with-Sha256
+ and SHOULD support ecdsa-with-Sha1.
+
+
+4. Using ECDH Key Exchange
+
+ This section describes how ECDH can be used as the AS reply key
+ delivery method [PKINIT]. Note that the protocol description is
+ similar to that of Modular Exponential Diffie-Hellman (MODP DH), as
+ described in [PKINIT].
+
+ If the client wishes to use ECDH key agreement method, it encodes its
+ ECDH public key value and the domain parameters [IEEE1363] for its
+ ECDH public key in clientPublicValue of the PA-PK-AS-REQ message
+ [PKINIT].
+
+ As described in [PKINIT], the ECDH domain parameters for the client's
+ public key are specified in the algorithm field of the type
+ SubjectPublicKeyInfo [RFC3279] and the client's ECDH public key value
+ is mapped to a subjectPublicKey (a BIT STRING) according to
+ [RFC3279].
+
+ The following algorithm identifier is used to identify the client's
+ choice of the ECDH key agreement method for key delivery.
+
+ id-ecPublicKey (Elliptic Curve Diffie-Hellman [IEEE1363])
+
+ If the domain parameters are not accepted by the KDC, the KDC sends
+ back an error message [RFC4120] with the code
+ KDC_ERR_DH_KEY_PARAMETERS_NOT_ACCEPTED [PKINIT]. This error message
+ contains the list of domain parameters acceptable to the KDC. This
+ list is encoded as TD-DH-PARAMETERS [PKINIT], and it is in the KDC's
+ decreasing preference order. The client can then pick a set of
+ domain parameters from the list and retry the authentication.
+
+
+
+
+Zhu, et al. Expires March 17, 2006 [Page 4]
+
+Internet-Draft ECC Support for PKINIT September 2005
+
+
+ Both the client and the KDC MUST have local policy that specifies
+ which set of domain parameters are acceptable if they do not have a
+ priori knowledge of the chosen domain parameters. The need for such
+ local policy is explained in Section 6.
+
+ If the ECDH domain parameters are accepted by the KDC, the KDC sends
+ back its ECDH public key value in the subjectPublicKey field of the
+ PA-PK-AS-REP message [PKINIT].
+
+ As described in [PKINIT], the KDC's ECDH public key value is encoded
+ as a BIT STRING according to [RFC3279].
+
+ Note that in the steps above, the client can indicate to the KDC that
+ it wishes to reuse ECDH keys or to allow the KDC to do so, by
+ including the clientDHNonce field in the request [PKINIT], and the
+ KDC can then reuse the ECDH keys and include serverDHNonce field in
+ the reply [PKINIT]. This logic is the same as that of the Modular
+ Exponential Diffie-Hellman key agreement method [PKINIT].
+
+ If ECDH is negotiated as the key delivery method, both the KDC and
+ the client calculate the shared secret value and derive the reply key
+ as follows:
+
+ 1) Let DHSharedSecret be the x-coordinate of the shared secret value
+ (an elliptic curve point). DHSharedSecret is the output of
+ operation ECSVDP-DH as described in Section 7.2.1 of [IEEE1363].
+
+ 2) DHSharedSecret is first padded with leading zeros such that the
+ size of DHSharedSecret in octets is the same as that of the
+ modulus, then represented as a string of octets in big-endian
+ order.
+
+ 3) The DHSharedSecret value derived above is used as input to the
+ octetstring2key() function to derive the AS reply key k, as
+ described in Section 3.2.3.1 of [PKINIT].
+
+ Both the client and KDC then proceed as described in [PKINIT] and
+ [RFC4120].
+
+ Lastly it should be noted that ECDH can be used with any certificates
+ and signature schemes. However, a significant advantage of using
+ ECDH together with ECC certificates and signature schemes is that the
+ ECC domain parameters in the client or KDC certificates can be used.
+ This obviates the need of locally preconfigured domain parameters as
+ described in Section 6.
+
+
+
+
+
+
+Zhu, et al. Expires March 17, 2006 [Page 5]
+
+Internet-Draft ECC Support for PKINIT September 2005
+
+
+5. Choosing the Domain Parameters and the Key Size
+
+ The domain parameters and the key size should be chosen so as to
+ provide sufficient cryptographic security [RFC3766]. The following
+ table, based on table 2 on page 63 of NIST SP800-57 part 1
+ [NISTSP80057], gives approximate comparable key sizes for symmetric-
+ and asymmetric-key cryptosystems based on the best-known algorithms
+ for attacking them.
+
+
+ Symmetric | ECC | RSA
+ -------------+----------- +------------
+ 80 | 160 - 223 | 1024
+ 112 | 224 - 255 | 2048
+ 128 | 256 - 383 | 3072
+ 192 | 384 - 511 | 7680
+ 256 | 512+ | 15360
+
+ Table 1: Comparable key sizes (in bits)
+
+ Thus, for example, when securing a 128-bit symmetric key, it is
+ prudent to use 256-bit Elliptic Curve Cryptography (ECC), e.g. group
+ P-256 (secp256r1) as described below.
+
+ A set of ECDH domain parameters is also known as a curve. A curve is
+ a named curve if the domain paratmeters are well known and can be
+ identified by an Object Identifier, otherwise it is called a custom
+ curve. [PKINIT] supports both named curves and custom curves, see
+ Section 6 on the tradeoff of choosing between named curves and custom
+ curves.
+
+ The named curves recommended in this document are also recommended by
+ NIST [FIPS186-2]. These fifteen ECC curves are given in the
+ following table [FIPS186-2] [SECG].
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Zhu, et al. Expires March 17, 2006 [Page 6]
+
+Internet-Draft ECC Support for PKINIT September 2005
+
+
+ Description SEC 2 OID
+ ----------------- ---------
+
+ ECPRGF192Random group P-192 secp192r1
+ EC2NGF163Random group B-163 sect163r2
+ EC2NGF163Koblitz group K-163 sect163k1
+
+ ECPRGF224Random group P-224 secp224r1
+ EC2NGF233Random group B-233 sect233r1
+ EC2NGF233Koblitz group K-233 sect233k1
+
+ ECPRGF256Random group P-256 secp256r1
+ EC2NGF283Random group B-283 sect283r1
+ EC2NGF283Koblitz group K-283 sect283k1
+
+ ECPRGF384Random group P-384 secp384r1
+ EC2NGF409Random group B-409 sect409r1
+ EC2NGF409Koblitz group K-409 sect409k1
+
+ ECPRGF521Random group P-521 secp521r1
+ EC2NGF571Random group B-571 sect571r1
+ EC2NGF571Koblitz group K-571 sect571k1
+
+
+6. Security Considerations
+
+ Kerberos error messages are not integrity protected, as a result, the
+ domain parameters sent by the KDC as TD-DH-PARAMETERS can be tampered
+ with by an attacker so that the set of domain parameters selected
+ could be either weaker or not mutually preferred. Local policy can
+ configure sets of domain parameters acceptable locally, or disallow
+ the negotiation of ECDH domain parameters.
+
+ Beyond elliptic curve size, the main issue is elliptic curve
+ structure. As a general principle, it is more conservative to use
+ elliptic curves with as little algebraic structure as possible - thus
+ random curves are more conservative than special curves such as
+ Koblitz curves, and curves over F_p with p random are more
+ conservative than curves over F_p with p of a special form (and
+ curves over F_p with p random might be considered more conservative
+ than curves over F_2^m as there is no choice between multiple fields
+ of similar size for characteristic 2). Note, however, that algebraic
+ structure can also lead to implementation efficiencies and
+ implementors and users may, therefore, need to balance conservatism
+ against a need for efficiency. Concrete attacks are known against
+ only very few special classes of curves, such as supersingular
+ curves, and these classes are excluded from the ECC standards such as
+ [IEEE1363] and [X9.62].
+
+
+
+Zhu, et al. Expires March 17, 2006 [Page 7]
+
+Internet-Draft ECC Support for PKINIT September 2005
+
+
+ Another issue is the potential for catastrophic failures when a
+ single elliptic curve is widely used. In this case, an attack on the
+ elliptic curve might result in the compromise of a large number of
+ keys. Again, this concern may need to be balanced against efficiency
+ and interoperability improvements associated with widely-used curves.
+ Substantial additional information on elliptic curve choice can be
+ found in [IEEE1363], [X9.62] and [FIPS186-2].
+
+
+7. IANA Considerations
+
+ No IANA actions are required for this document.
+
+
+8. Acknowledgements
+
+ The following people have made significant contributions to this
+ draft: Paul Leach, Dan Simon, Kelvin Yiu, David Cross and Sam
+ Hartman.
+
+
+9. References
+
+9.1. Normative References
+
+ [ECCPKALGS]
+ RFC-Editor: To be replaced by RFC number for draft-ietf-
+ pkix-ecc-pkalgs. Work in Progress.
+
+ [FIPS186-2]
+ NIST, "Digital Signature Standard", FIPS 186-2, 2000.
+
+ [IEEE1363]
+ IEEE, "Standard Specifications for Public Key Cryptography",
+ IEEE 1363, 2000.
+
+ [NISTSP80057]
+ NIST, "Recommendation on Key Management",
+ http://csrc.nist.gov/publications/nistpubs/, SP 800-57,
+ August 2005.
+
+ [PKINIT] RFC-Editor: To be replaced by RFC number for draft-ietf-
+ cat-kerberos-pk-init. Work in Progress.
+
+
+Zhu, et al. Expires March 17, 2006 [Page 8]
+
+Internet-Draft ECC Support for PKINIT September 2005
+
+
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119, March 1997.
+
+ [RFC3279] Bassham, L., Polk, W., and R. Housley, "Algorithms and
+ Identifiers for the Internet X.509 Public Key
+ Infrastructure Certificate and Certificate Revocation List
+ (CRL) Profile", RFC 3279, April 2002.
+
+ [RFC3280] Housley, R., Polk, W., Ford, W., and D. Solo, "Internet
+ X.509 Public Key Infrastructure Certificate and
+ Certificate Revocation List (CRL) Profile", RFC 3280,
+ April 2002.
+
+ [RFC3369] Housley, R., "Cryptographic Message Syntax (CMS)",
+ RFC 3369, August 2002.
+
+ [RFC3766] Orman, H. and P. Hoffman, "Determining Strengths For
+ Public Keys Used For Exchanging Symmetric Keys", BCP 86,
+ RFC 3766, April 2004.
+
+ [RFC4120] Neuman, C., Yu, T., Hartman, S., and K. Raeburn, "The
+ Kerberos Network Authentication Service (V5)", RFC 4120,
+ July 2005.
+
+ [X9.62] ANSI, "Public Key Cryptography For The Financial Services
+ Industry: The Elliptic Curve Digital Signature Algorithm
+ (ECDSA)", ANSI X9.62, 1998.
+
+9.2. Informative References
+
+ [LENSTRA] Lenstra, A. and E. Verheul, "Selecting Cryptographic Key
+ Sizes", Journal of Cryptology 14 (2001) 255-293.
+
+ [SECG] SECG, "Elliptic Curve Cryptography", SEC 1, 2000,
+ .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Zhu, et al. Expires March 17, 2006 [Page 9]
+
+Internet-Draft ECC Support for PKINIT September 2005
+
+
+Authors' Addresses
+
+ Larry Zhu
+ Microsoft Corporation
+ One Microsoft Way
+ Redmond, WA 98052
+ US
+
+ Email: lzhu@microsoft.com
+
+
+ Karthik Jaganathan
+ Microsoft Corporation
+ One Microsoft Way
+ Redmond, WA 98052
+ US
+
+ Email: karthikj@microsoft.com
+
+
+ Kristin Lauter
+ Microsoft Corporation
+ One Microsoft Way
+ Redmond, WA 98052
+ US
+
+ Email: klauter@microsoft.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Zhu, et al. Expires March 17, 2006 [Page 10]
+
+Internet-Draft ECC Support for PKINIT September 2005
+
+
+Intellectual Property Statement
+
+ The IETF takes no position regarding the validity or scope of any
+ Intellectual Property Rights or other rights that might be claimed to
+ pertain to the implementation or use of the technology described in
+ this document or the extent to which any license under such rights
+ might or might not be available; nor does it represent that it has
+ made any independent effort to identify any such rights. Information
+ on the procedures with respect to rights in RFC documents can be
+ found in BCP 78 and BCP 79.
+
+ Copies of IPR disclosures made to the IETF Secretariat and any
+ assurances of licenses to be made available, or the result of an
+ attempt made to obtain a general license or permission for the use of
+ such proprietary rights by implementers or users of this
+ specification can be obtained from the IETF on-line IPR repository at
+ http://www.ietf.org/ipr.
+
+ The IETF invites any interested party to bring to its attention any
+ copyrights, patents or patent applications, or other proprietary
+ rights that may cover technology that may be required to implement
+ this standard. Please address the information to the IETF at
+ ietf-ipr@ietf.org.
+
+
+Disclaimer of Validity
+
+ This document and the information contained herein are provided on an
+ "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
+ OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
+ ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
+ INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
+ INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
+ WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+
+Copyright Statement
+
+ Copyright (C) The Internet Society (2005). This document is subject
+ to the rights, licenses and restrictions contained in BCP 78, and
+ except as set forth therein, the authors retain all their rights.
+
+
+Acknowledgment
+
+ Funding for the RFC Editor function is currently provided by the
+ Internet Society.
+
+
+
+
+Zhu, et al. Expires March 17, 2006 [Page 11]
+
+
diff --git a/doc/standardisation/draft-zhu-pkinit-ecc-01.txt b/doc/standardisation/draft-zhu-pkinit-ecc-01.txt
new file mode 100644
index 000000000..37863bbd2
--- /dev/null
+++ b/doc/standardisation/draft-zhu-pkinit-ecc-01.txt
@@ -0,0 +1,611 @@
+
+
+
+NETWORK WORKING GROUP L. Zhu
+Internet-Draft K. Jaganathan
+Expires: September 3, 2006 K. Lauter
+ Microsoft Corporation
+ March 2, 2006
+
+
+ ECC Support for PKINIT
+ draft-zhu-pkinit-ecc-01
+
+Status of this Memo
+
+ By submitting this Internet-Draft, each author represents that any
+ applicable patent or other IPR claims of which he or she is aware
+ have been or will be disclosed, and any of which he or she becomes
+ aware will be disclosed, in accordance with Section 6 of BCP 79.
+
+ Internet-Drafts are working documents of the Internet Engineering
+ Task Force (IETF), its areas, and its working groups. Note that
+ other groups may also distribute working documents as Internet-
+ Drafts.
+
+ Internet-Drafts are draft documents valid for a maximum of six months
+ and may be updated, replaced, or obsoleted by other documents at any
+ time. It is inappropriate to use Internet-Drafts as reference
+ material or to cite them other than as "work in progress."
+
+ The list of current Internet-Drafts can be accessed at
+ http://www.ietf.org/ietf/1id-abstracts.txt.
+
+ The list of Internet-Draft Shadow Directories can be accessed at
+ http://www.ietf.org/shadow.html.
+
+ This Internet-Draft will expire on September 3, 2006.
+
+Copyright Notice
+
+ Copyright (C) The Internet Society (2006).
+
+Abstract
+
+ This document describes the use of Elliptic Curve certificates,
+ Elliptic Curve signature schemes and Elliptic Curve Diffie-Hellman
+ (ECDH) key agreement within the framework of PKINIT - the Kerberos
+ Version 5 extension that provides for the use of public key
+ cryptography.
+
+
+
+
+
+Zhu, et al. Expires September 3, 2006 [Page 1]
+
+Internet-Draft ECC Support for PKINIT March 2006
+
+
+Table of Contents
+
+ 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
+ 2. Conventions Used in This Document . . . . . . . . . . . . . . 3
+ 3. Using Elliptic Curve Certificates and Elliptic Curve
+ Signature Schemes . . . . . . . . . . . . . . . . . . . . . . 3
+ 4. Using ECDH Key Exchange . . . . . . . . . . . . . . . . . . . 4
+ 5. Choosing the Domain Parameters and the Key Size . . . . . . . 5
+ 6. Interoperability Requirements . . . . . . . . . . . . . . . . 7
+ 7. Security Considerations . . . . . . . . . . . . . . . . . . . 7
+ 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
+ 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 7
+ 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8
+ 10.1. Normative References . . . . . . . . . . . . . . . . . . 8
+ 10.2. Informative References . . . . . . . . . . . . . . . . . 9
+ Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 10
+ Intellectual Property and Copyright Statements . . . . . . . . . . 11
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Zhu, et al. Expires September 3, 2006 [Page 2]
+
+Internet-Draft ECC Support for PKINIT March 2006
+
+
+1. Introduction
+
+ Elliptic Curve Cryptography (ECC) is emerging as an attractive
+ public-key cryptosystem that provides security equivalent to
+ currently popular public-key mechanisms such as RSA and DSA with
+ smaller key sizes [LENSTRA] [NISTSP80057].
+
+ Currently [PKINIT] permits the use of ECC algorithms but it does not
+ specify how ECC parameters are chosen and how to derive the shared
+ key for key delivery using Elliptic Curve Diffie-Hellman (ECDH)
+ [IEEE1363] [X9.63].
+
+ This document describes how to use Elliptic Curve certificates,
+ Elliptic Curve signature schemes, and ECDH with [PKINIT]. However,
+ it should be noted that there is no syntactic or semantic change to
+ the existing [PKINIT] messages. Both the client and the KDC
+ contribute one ECDH key pair using the key agrement protocol
+ described in this document.
+
+
+2. Conventions Used in This Document
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
+ document are to be interpreted as described in [RFC2119].
+
+
+3. Using Elliptic Curve Certificates and Elliptic Curve Signature
+ Schemes
+
+ ECC certificates and signature schemes can be used in the
+ Cryptographic Message Syntax (CMS) [RFC3369] content type
+ 'SignedData'.
+
+ X.509 certificates [RFC3280] containing ECC public keys or signed
+ using ECC signature schemes MUST comply with [RFC3279].
+
+ The elliptic curve domain parameters recommended in [X9.62],
+ [FIPS186-2], and [SECG] SHOULD be used.
+
+ The signatureAlgorithm field of the CMS data type SignerInfo can
+ contain one of the following ECC signature algorithm identifiers:
+
+ ecdsa-with-Sha1 [ECCPKALGS]
+ ecdsa-with-Sha256 [ECCPKALGS]
+ ecdsa-with-Sha384 [ECCPKALGS]
+ ecdsa-with-Sha512 [ECCPKALGS]
+
+
+
+
+Zhu, et al. Expires September 3, 2006 [Page 3]
+
+Internet-Draft ECC Support for PKINIT March 2006
+
+
+ The corresponding digestAlgorithm field contains one of the following
+ hash algorithm identifiers respectively:
+
+ id-sha1 [RFC3279]
+ id-sha256 [ECCPKALGS]
+ id-sha384 [ECCPKALGS]
+ id-sha512 [ECCPKALGS]
+
+ Namely id-sha1 MUST be used in conjunction with ecdsa-with-Sha1, id-
+ sha256 MUST be used in conjunction with ecdsa-with-Sha256, id-sha384
+ MUST be used in conjunction with ecdsa-with-Sha384, and id-sha512
+ MUST be used in conjunction with ecdsa-with-Sha512.
+
+ Implementations of this specfication MUST support ecdsa-with-Sha256
+ and SHOULD support ecdsa-with-Sha1.
+
+
+4. Using ECDH Key Exchange
+
+ This section describes how ECDH can be used as the AS reply key
+ delivery method [PKINIT]. Note that the protocol description here is
+ similar to that of Modular Exponential Diffie-Hellman (MODP DH), as
+ described in [PKINIT].
+
+ If the client wishes to use ECDH key agreement method, it encodes its
+ ECDH public key value and the domain parameters [IEEE1363] [X9.63]
+ for its ECDH public key in clientPublicValue of the PA-PK-AS-REQ
+ message [PKINIT].
+
+ As described in [PKINIT], the ECDH domain parameters for the client's
+ public key are specified in the algorithm field of the type
+ SubjectPublicKeyInfo [RFC3279] and the client's ECDH public key value
+ is mapped to a subjectPublicKey (a BIT STRING) according to
+ [RFC3279].
+
+ The following algorithm identifier is used to identify the client's
+ choice of the ECDH key agreement method for key delivery.
+
+ id-ecPublicKey (Elliptic Curve Diffie-Hellman [ECCPKALGS])
+
+ If the domain parameters are not accepted by the KDC, the KDC sends
+ back an error message [RFC4120] with the code
+ KDC_ERR_DH_KEY_PARAMETERS_NOT_ACCEPTED [PKINIT]. This error message
+ contains the list of domain parameters acceptable to the KDC. This
+ list is encoded as TD-DH-PARAMETERS [PKINIT], and it is in the KDC's
+ decreasing preference order. The client can then pick a set of
+ domain parameters from the list and retry the authentication.
+
+
+
+
+Zhu, et al. Expires September 3, 2006 [Page 4]
+
+Internet-Draft ECC Support for PKINIT March 2006
+
+
+ Both the client and the KDC MUST have local policy that specifies
+ which set of domain parameters are acceptable if they do not have a
+ priori knowledge of the chosen domain parameters. The need for such
+ local policy is explained in Section 7.
+
+ If the ECDH domain parameters are accepted by the KDC, the KDC sends
+ back its ECDH public key value in the subjectPublicKey field of the
+ PA-PK-AS-REP message [PKINIT].
+
+ As described in [PKINIT], the KDC's ECDH public key value is encoded
+ as a BIT STRING according to [RFC3279].
+
+ Note that in the steps above, the client can indicate to the KDC that
+ it wishes to reuse ECDH keys or to allow the KDC to do so, by
+ including the clientDHNonce field in the request [PKINIT], and the
+ KDC can then reuse the ECDH keys and include serverDHNonce field in
+ the reply [PKINIT]. This logic is the same as that of the Modular
+ Exponential Diffie-Hellman key agreement method [PKINIT].
+
+ If ECDH is negotiated as the key delivery method, then the PA-PK-AS-
+ REP and AS reply key are generated as in Section 3.2.3.1 of [PKINIT]
+ with the following difference: The DHSharedSecret is the x-coordinate
+ of the shared secret value (an elliptic curve point); DHSharedSecret
+ is the output of operation ECSVDP-DH as described in Section 7.2.1 of
+ [IEEE1363].
+
+ Both the client and KDC then proceed as described in [PKINIT] and
+ [RFC4120].
+
+ Lastly it should be noted that ECDH can be used with any certificates
+ and signature schemes. However, a significant advantage of using
+ ECDH together with ECC certificates and signature schemes is that the
+ ECC domain parameters in the client or KDC certificates can be used.
+ This obviates the need of locally preconfigured domain parameters as
+ described in Section 7.
+
+
+5. Choosing the Domain Parameters and the Key Size
+
+ The domain parameters and the key size should be chosen so as to
+ provide sufficient cryptographic security [RFC3766]. The following
+ table, based on table 2 on page 63 of NIST SP800-57 part 1
+ [NISTSP80057], gives approximate comparable key sizes for symmetric-
+ and asymmetric-key cryptosystems based on the best-known algorithms
+ for attacking them.
+
+
+
+
+
+
+Zhu, et al. Expires September 3, 2006 [Page 5]
+
+Internet-Draft ECC Support for PKINIT March 2006
+
+
+ Symmetric | ECC | RSA
+ -------------+----------- +------------
+ 80 | 160 - 223 | 1024
+ 112 | 224 - 255 | 2048
+ 128 | 256 - 383 | 3072
+ 192 | 384 - 511 | 7680
+ 256 | 512+ | 15360
+
+ Table 1: Comparable key sizes (in bits)
+
+ Thus, for example, when securing a 128-bit symmetric key, it is
+ prudent to use 256-bit Elliptic Curve Cryptography (ECC), e.g. group
+ P-256 (secp256r1) as described below.
+
+ A set of ECDH domain parameters is also known as a curve. A curve is
+ a named curve if the domain paratmeters are well known and can be
+ identified by an Object Identifier, otherwise it is called a custom
+ curve. [PKINIT] supports both named curves and custom curves, see
+ Section 7 on the tradeoff of choosing between named curves and custom
+ curves.
+
+ The named curves recommended in this document are also recommended by
+ NIST [FIPS186-2]. These fifteen ECC curves are given in the
+ following table [FIPS186-2] [SECG].
+
+ Description SEC 2 OID
+ ----------------- ---------
+
+ ECPRGF192Random group P-192 secp192r1
+ EC2NGF163Random group B-163 sect163r2
+ EC2NGF163Koblitz group K-163 sect163k1
+
+ ECPRGF224Random group P-224 secp224r1
+ EC2NGF233Random group B-233 sect233r1
+ EC2NGF233Koblitz group K-233 sect233k1
+
+ ECPRGF256Random group P-256 secp256r1
+ EC2NGF283Random group B-283 sect283r1
+ EC2NGF283Koblitz group K-283 sect283k1
+
+ ECPRGF384Random group P-384 secp384r1
+ EC2NGF409Random group B-409 sect409r1
+ EC2NGF409Koblitz group K-409 sect409k1
+
+ ECPRGF521Random group P-521 secp521r1
+ EC2NGF571Random group B-571 sect571r1
+ EC2NGF571Koblitz group K-571 sect571k1
+
+
+
+
+Zhu, et al. Expires September 3, 2006 [Page 6]
+
+Internet-Draft ECC Support for PKINIT March 2006
+
+
+6. Interoperability Requirements
+
+ Implementations conforming to this specification MUST support curve
+ P-256 and P-384.
+
+
+7. Security Considerations
+
+ Kerberos error messages are not integrity protected, as a result, the
+ domain parameters sent by the KDC as TD-DH-PARAMETERS can be tampered
+ with by an attacker so that the set of domain parameters selected
+ could be either weaker or not mutually preferred. Local policy can
+ configure sets of domain parameters acceptable locally, or disallow
+ the negotiation of ECDH domain parameters.
+
+ Beyond elliptic curve size, the main issue is elliptic curve
+ structure. As a general principle, it is more conservative to use
+ elliptic curves with as little algebraic structure as possible - thus
+ random curves are more conservative than special curves such as
+ Koblitz curves, and curves over F_p with p random are more
+ conservative than curves over F_p with p of a special form (and
+ curves over F_p with p random might be considered more conservative
+ than curves over F_2^m as there is no choice between multiple fields
+ of similar size for characteristic 2). Note, however, that algebraic
+ structure can also lead to implementation efficiencies and
+ implementors and users may, therefore, need to balance conservatism
+ against a need for efficiency. Concrete attacks are known against
+ only very few special classes of curves, such as supersingular
+ curves, and these classes are excluded from the ECC standards such as
+ [IEEE1363] and [X9.62].
+
+ Another issue is the potential for catastrophic failures when a
+ single elliptic curve is widely used. In this case, an attack on the
+ elliptic curve might result in the compromise of a large number of
+ keys. Again, this concern may need to be balanced against efficiency
+ and interoperability improvements associated with widely-used curves.
+ Substantial additional information on elliptic curve choice can be
+ found in [IEEE1363], [X9.62] and [FIPS186-2].
+
+
+8. IANA Considerations
+
+ No IANA actions are required for this document.
+
+
+9. Acknowledgements
+
+ The following people have made significant contributions to this
+
+
+
+Zhu, et al. Expires September 3, 2006 [Page 7]
+
+Internet-Draft ECC Support for PKINIT March 2006
+
+
+ draft: Paul Leach, Dan Simon, Kelvin Yiu, David Cross, Sam Hartman,
+ Tolga Acar, and Stefan Santesson.
+
+
+10. References
+
+10.1. Normative References
+
+ [ECCPKALGS]
+ RFC-Editor: To be replaced by RFC number for draft-ietf-
+ pkix-ecc-pkalgs. Work in Progress.
+
+ [FIPS186-2]
+ NIST, "Digital Signature Standard", FIPS 186-2, 2000.
+
+ [IEEE1363]
+ IEEE, "Standard Specifications for Public Key Cryptography",
+ IEEE 1363, 2000.
+
+ [NISTSP80057]
+ NIST, "Recommendation on Key Management",
+ http://csrc.nist.gov/publications/nistpubs/, SP 800-57,
+ August 2005.
+
+
+
+Zhu, et al. Expires September 3, 2006 [Page 8]
+
+Internet-Draft ECC Support for PKINIT March 2006
+
+
+
+ [PKINIT] RFC-Editor: To be replaced by RFC number for draft-ietf-
+ cat-kerberos-pk-init. Work in Progress.
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119, March 1997.
+
+ [RFC3279] Bassham, L., Polk, W., and R. Housley, "Algorithms and
+ Identifiers for the Internet X.509 Public Key
+ Infrastructure Certificate and Certificate Revocation List
+ (CRL) Profile", RFC 3279, April 2002.
+
+ [RFC3280] Housley, R., Polk, W., Ford, W., and D. Solo, "Internet
+ X.509 Public Key Infrastructure Certificate and
+ Certificate Revocation List (CRL) Profile", RFC 3280,
+ April 2002.
+
+ [RFC3369] Housley, R., "Cryptographic Message Syntax (CMS)",
+ RFC 3369, August 2002.
+
+ [RFC3766] Orman, H. and P. Hoffman, "Determining Strengths For
+ Public Keys Used For Exchanging Symmetric Keys", BCP 86,
+ RFC 3766, April 2004.
+
+ [RFC4120] Neuman, C., Yu, T., Hartman, S., and K. Raeburn, "The
+ Kerberos Network Authentication Service (V5)", RFC 4120,
+ July 2005.
+
+ [X9.62] ANSI, "Public Key Cryptography For The Financial Services
+ Industry: The Elliptic Curve Digital Signature Algorithm
+ (ECDSA)", ANSI X9.62, 1998.
+
+ [X9.63] ANSI, "Public Key Cryptography for the Financial Services
+ Industry: Key Agreement and Key Transport using Elliptic
+ Curve Cryptography", ANSI X9.63, 2001.
+
+
+9.2. Informative References
+
+ [LENSTRA] Lenstra, A. and E. Verheul, "Selecting Cryptographic Key
+ Sizes", Journal of Cryptology 14 (2001) 255-293.
+
+ [SECG] SECG, "Elliptic Curve Cryptography", SEC 1, 2000,
+ .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Zhu, et al. Expires September 3, 2006 [Page 9]
+
+Internet-Draft ECC Support for PKINIT March 2006
+
+
+Authors' Addresses
+
+ Larry Zhu
+ Microsoft Corporation
+ One Microsoft Way
+ Redmond, WA 98052
+ US
+
+ Email: lzhu@microsoft.com
+
+
+ Karthik Jaganathan
+ Microsoft Corporation
+ One Microsoft Way
+ Redmond, WA 98052
+ US
+
+ Email: karthikj@microsoft.com
+
+
+ Kristin Lauter
+ Microsoft Corporation
+ One Microsoft Way
+ Redmond, WA 98052
+ US
+
+ Email: klauter@microsoft.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Zhu, et al. Expires September 3, 2006 [Page 10]
+
+Internet-Draft ECC Support for PKINIT March 2006
+
+
+Intellectual Property Statement
+
+ The IETF takes no position regarding the validity or scope of any
+ Intellectual Property Rights or other rights that might be claimed to
+ pertain to the implementation or use of the technology described in
+ this document or the extent to which any license under such rights
+ might or might not be available; nor does it represent that it has
+ made any independent effort to identify any such rights. Information
+ on the procedures with respect to rights in RFC documents can be
+ found in BCP 78 and BCP 79.
+
+ Copies of IPR disclosures made to the IETF Secretariat and any
+ assurances of licenses to be made available, or the result of an
+ attempt made to obtain a general license or permission for the use of
+ such proprietary rights by implementers or users of this
+ specification can be obtained from the IETF on-line IPR repository at
+ http://www.ietf.org/ipr.
+
+ The IETF invites any interested party to bring to its attention any
+ copyrights, patents or patent applications, or other proprietary
+ rights that may cover technology that may be required to implement
+ this standard. Please address the information to the IETF at
+ ietf-ipr@ietf.org.
+
+
+Disclaimer of Validity
+
+ This document and the information contained herein are provided on an
+ "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
+ OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
+ ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
+ INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
+ INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
+ WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+
+Copyright Statement
+
+ Copyright (C) The Internet Society (2006). This document is subject
+ to the rights, licenses and restrictions contained in BCP 78, and
+ except as set forth therein, the authors retain all their rights.
+
+
+Acknowledgment
+
+ Funding for the RFC Editor function is currently provided by the
+ Internet Society.
+
+
+
+
+Zhu, et al. Expires September 3, 2006 [Page 11]
+
+