NETWORK WORKING GROUP                                           S. Emery
Internet-Draft                                              Oracle, Inc.
Updates: 4121 (if approved)                                 May 13, 2011
Intended status: Standards Track
Expires: November 14, 2011


        Kerberos Version 5 GSS-API Channel Binding Hash Agility
              draft-ietf-krb-wg-gss-cb-hash-agility-07.txt

Abstract

   Currently, channel bindings are implemented using a MD5 hash in the
   Kerberos Version 5 Generic Security Services Application Programming
   Interface (GSS-API) mechanism [RFC4121].  This document updates
   RFC4121 to allow channel bindings using algorithms negotiated based
   on Kerberos crypto framework as defined in RFC3961.  In addition,
   because this update makes use of the last extensible field in the
   Kerberos client-server exchange message, extensions are defined to
   allow future protocol extensions.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   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."

   This Internet-Draft will expire on November 14, 2011.

Copyright Notice

   Copyright (c) 2011 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect



Emery                   Expires November 14, 2011               [Page 1]


Internet-Draft        Channel Binding Hash Agility              May 2011


   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Conventions Used in This Document  . . . . . . . . . . . . . .  4
   3.  Channel binding hash agility . . . . . . . . . . . . . . . . .  5
   4.  Security considerations  . . . . . . . . . . . . . . . . . . .  7
   5.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . .  8
   6.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . .  9
   7.  Normative References . . . . . . . . . . . . . . . . . . . . . 10
   Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 11



































Emery                   Expires November 14, 2011               [Page 2]


Internet-Draft        Channel Binding Hash Agility              May 2011


1.  Introduction

   With the recently discovered weaknesses in the MD5 hash algorithm
   there is a need to use stronger hash algorithms.  Kerberos Version 5
   Generic Security Services Application Programming Interface (GSS-API)
   mechanism [RFC4121] uses MD5 to calculate channel binding verifiers.
   This document specifies an update to the mechanism that allows it to
   create channel binding information based on negotiated algorithms.
   This will allow deploying new algorithms incrementally without
   breaking interoperability with older implementations, when new
   attacks arise in the future.








































Emery                   Expires November 14, 2011               [Page 3]


Internet-Draft        Channel Binding Hash Agility              May 2011


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].

   The term "little endian order" is used for brevity to refer to the
   least-significant-octet-first encoding, while the term "big endian
   order" is for the most-significant-octet-first encoding.










































Emery                   Expires November 14, 2011               [Page 4]


Internet-Draft        Channel Binding Hash Agility              May 2011


3.  Channel binding hash agility

   When generating a channel binding verifier, Bnd, a hash is computed
   from the channel binding fields.  Initiators MUST populate the Bnd
   field in order to maintain interoperability with existing acceptors.
   In addition, initiators MUST populate the extension field, Exts.  All
   fields before "Exts" do not change from what is described in
   [RFC4121], they are listed for convenience.  The 0x8003 GSS checksum
   MUST have the following structure:

      Octet     Name       Description
      -----------------------------------------------------------------
      0..3      Lgth       Number of octets in Bnd field;  Represented
                            in little-endian order;  Currently contains
                            hex value 10 00 00 00 (16).
      4..19     Bnd        Channel binding information, as described in
                            section 4.1.1.2 [RFC4121].
      20..23    Flags      Four-octet context-establishment flags in
                            little-endian order as described in section
                            4.1.1.1 [RFC4121].
      24..25    DlgOpt     The delegation option identifier (=1) in
                            little-endian order [optional].  This field
                            and the next two fields are present if and
                            only if GSS_C_DELEG_FLAG is set as described
                            in section 4.1.1.1 [RFC4121].
      26..27    Dlgth      The length of the Deleg field in
                            little-endian order [optional].
      28..(n-1) Deleg      KRB_CRED message (n = Dlgth + 28) [optional].
      n..last   Exts       Extensions

      where Exts is the concatenation of zero, one or more individual
      extensions, each of which consists of, in order:

        type -- big endian order unsigned integer, 32-bits, which
                contains the type of extension
        length -- big endian order unsigned integer, 32-bits, which
                contains the length, in octets, of the extension data
                encoded as an array of octets immediately following this
                field
        data -- octet string of extension information

      If multiple extensions are present then there MUST be at most one
      instance of a given extension type.

   When channel binding is used the Exts MUST include the following
   extension:





Emery                   Expires November 14, 2011               [Page 5]


Internet-Draft        Channel Binding Hash Agility              May 2011


      data-type 0x00000000

      data-value

         The output obtained by applying the Kerberos V get_mic
         operation [RFC3961] with key usage number 43, to the channel
         binding data as described in [RFC4121], section 4.1.1.2 (using
         get_mic instead of MD5).  The key used is the sub-session key
         from the authenticator, if it is present, otherwise the key
         used is the session key from the ticket.  The get_mic algorithm
         is chosen as the "required checksum mechanism" for the
         ecryption type of the key used.

   Initiators that are unwilling to use a MD5 hash of the channel
   bindings MUST set the Bnd field to sixteen octets of hex value FF.




































Emery                   Expires November 14, 2011               [Page 6]


Internet-Draft        Channel Binding Hash Agility              May 2011


4.  Security considerations

   Initiators do not know if the acceptor had ignored channel bindings
   or whether it validated the MD5 hash of the channel bindings
   [RFC4121].

   Ultimately, it is up to the application whether to use channel
   binding or not.  This is dependent upon the security policy of these
   applications.










































Emery                   Expires November 14, 2011               [Page 7]


Internet-Draft        Channel Binding Hash Agility              May 2011


5.  IANA Considerations

   The IANA is hereby requested to create a new registry of "Kerberos V
   GSS-API mechanism extension types" with four-field entries (type
   number, type name, description, and normative reference) and,
   initially, a single registration: 0x00000000, "Channel Binding MIC,"
   "Extension for the verifier of the channel bindings," <this RFC>.

   Using the guidelines for allocation as described in [RFC5226], type
   number assignments are as follows:

      0x00000000 - 0x000003FF IETF Consensus

      0x00000400 - 0xFFFFF3FF Specification Required

      0xFFFFF400 - 0xFFFFFFFF Private Use



































Emery                   Expires November 14, 2011               [Page 8]


Internet-Draft        Channel Binding Hash Agility              May 2011


6.  Acknowledgements

   The author would like to thank Larry Zhu, Nicolas Williams, Sam
   Hartman, Jeffrey Hutzelman, and Simon Josefsson for their help in
   reviewing and providing valuable feed-back of the draft.














































Emery                   Expires November 14, 2011               [Page 9]


Internet-Draft        Channel Binding Hash Agility              May 2011


7.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC3961]  Raeburn, K., "Encryption and Checksum Specifications for
              Kerberos 5", RFC 3961, February 2005.

   [RFC4121]  Zhu, L., Jaganathan, K., and S. Hartman, "The Kerberos
              Version 5 Generic Security Service Application Program
              Interface (GSS-API) Mechanism: Version 2", RFC 4121,
              July 2005.

   [RFC5226]  Narten, T. and H. Alvestrand, "Guidelines for Writing an
              IANA Considerations Section in RFCs", BCP 26, RFC 5226,
              May 2008.



































Emery                   Expires November 14, 2011              [Page 10]


Internet-Draft        Channel Binding Hash Agility              May 2011


Author's Address

   Shawn Emery
   Oracle, Inc.
   500 Eldorado Blvd
   Building 1
   Broomfield, CO  80021
   US

   Email: shawn.emery@oracle.com









































Emery                   Expires November 14, 2011              [Page 11]