Internet DRAFT - draft-harwood-krb-pkinit-dh-upsize

draft-harwood-krb-pkinit-dh-upsize







Network Working Group                                         R. Harwood
Internet-Draft                                             Red Hat, Inc.
Updates: 4556 (if approved)                                6 August 2021
Intended status: Standards Track                                        
Expires: 7 February 2022


     Deprecate Use of 1024-bit Diffie-Hellman Moduli in Public Key
          Cryptography for Initial Authentication in Kerberos
                 draft-harwood-krb-pkinit-dh-upsize-01

Abstract

   Public Key Cryptography for Initial Authentication in Kerberos
   (PKINIT) permits a client and a Kerberos Domain Controller (KDC) to
   use a Diffie-Hellman (DH) exchange to derive an encryption key.  The
   group with minimum modulus size permitted for this exchange is 1024
   bits, which recent security research has shown to provide
   insufficient protection against organizations with sufficient
   computing resources, such as state-sponsored actors.  This document
   updates RFC 4556 to increase the minimum group size to 2048 bits and
   define permitted groups of size larger than 4096-bits.

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 https://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 7 February 2022.

Copyright Notice

   Copyright (c) 2021 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 (https://trustee.ietf.org/
   license-info) in effect on the date of publication of this document.



Harwood                  Expires 7 February 2022                [Page 1]

Internet-Draft           PKINIT DH Modulus Size              August 2021


   Please review these documents carefully, as they describe your rights
   and restrictions with respect 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  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Conventions used in this document . . . . . . . . . . . . . .   2
   3.  Modulus Size Increases  . . . . . . . . . . . . . . . . . . .   2
   4.  Additional Groups . . . . . . . . . . . . . . . . . . . . . .   3
   5.  Interoperability  . . . . . . . . . . . . . . . . . . . . . .   3
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   4
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   4
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   4
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .   4
     8.2.  Informative References  . . . . . . . . . . . . . . . . .   5
   Appendix A.  Acknowledgments  . . . . . . . . . . . . . . . . . .   5
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .   5

1.  Introduction

   [RFC4556] specified three permitted groups for DH, which have modulus
   sizes 1024, 2048, and 4096 bits, respectively.  It requires
   implementation of the 1024-bit and 2048-bit groups, while the
   4096-bit group is optional albeit recommended.  This document updates
   [RFC4556] such that the 1024-bit group is no longer permitted and
   implementation of the 4096-bit group is required based on more recent
   understanding of DH group weaknesses [LOGJAM].  It also defines two
   larger groups for futureproofing.

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.  Modulus Size Increases

   In 2015, [LOGJAM] showed by example that it is very possible to break
   768-bit DH groups.  The authors extend their method to 1024-bit DH
   groups as well, and their analysis shows breaking 1024-bit DH groups
   to be within the reach of state-sponsored actors (or others with that
   level of computing resources).  Accordingly, this document prohibits
   the use of the previously permitted 1024-bit group and recommends the
   use of the 4096-bit group.




Harwood                  Expires 7 February 2022                [Page 2]

Internet-Draft           PKINIT DH Modulus Size              August 2021


   [RFC4556] specifies three groups that can be used for Diffie-Hellman
   (DH) [RFC2631] key exchange between the client and Kerberos Domain
   Controller (KDC) [RFC4120]: Oakley 1024-bit Modular Exponential
   (MODP) well-known group 2 from [RFC2412], Oakley 2048-bit MODP well-
   known group 14 from [RFC3526], and Oakley 4096-bit MODP well-known
   group 16 from [RFC3526].  Of the three, implementations were required
   to support the 1024-bit and 2048-bit groups, while the 4096-bit group
   was optional.

   Specifically, this document updates [RFC4556] Section 3.2.1, Item 8,
   Paragraph 1 as follows:

   *  implementations MUST NOT support Oakley 1024-bit MODP well-known
      group 2 [RFC2412] or any other group with modulus size strictly
      less than 2048 bits

   *  implementations MAY support Oakley 2048-bit MODP well-known group
      14 [RFC3526]

   *  implementations MUST support Oakley 4096-bit MODP well-known group
      16 [RFC3526]

4.  Additional Groups

   For futureproofing, we define two additional DH groups with larger
   modulus size.  Implementations MAY support 6114-bit MODP group 17
   and/or 8192-bit MODP group 18, both as defined by [RFC3526].

5.  Interoperability

   [RFC4556] mandated the implementation of two groups (of modulus size
   1024-bit and 2048-bit respectively).  While this document prohibits
   use of the 1024-bit group, use of the 2048-bit group is still
   permitted.  Thus, pre-existing implementations could use either that
   2048-bit group or the optional 4096-bit group for communication with
   an implementation that conforms to this document.

   [RFC4556] permits KDC policy to reject DH groups with error code
   KDC_ERR_DH_KEY_PARAMETERS_NOT_ACCEPTED.  Conforming implementations
   are thus already prepared to handle group selection failure.  Two
   major implementations of Kerberos, MIT krb5 and Heimdal, have a
   configuration option for group selection (pkinit_dh_min_bits).  In
   particular, the default value has always been 2048 for MIT krb5,
   which added PKINIT support in 2007.







Harwood                  Expires 7 February 2022                [Page 3]

Internet-Draft           PKINIT DH Modulus Size              August 2021


6.  Security Considerations

   The security considerations of [RFC4556] continue to apply.  As that
   document states:

   |  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 DH domain parameters.

   By removing known-dangerous groups, this document attempts to
   mitigate this attack.  This document also permits implementation of
   only the 4096-bit group, which would effectively disallow parameter
   negotiation.  However, as the field remains unprotected, it is still
   subject to Denial of Service from tampering in transit.

7.  IANA Considerations

   There are no IANA actions requested by this document.

8.  References

8.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC2412]  Orman, H., "The OAKLEY Key Determination Protocol",
              RFC 2412, DOI 10.17487/RFC2412, November 1998,
              <https://www.rfc-editor.org/info/rfc2412>.

   [RFC2631]  Rescorla, E., "Diffie-Hellman Key Agreement Method",
              RFC 2631, DOI 10.17487/RFC2631, June 1999,
              <https://www.rfc-editor.org/info/rfc2631>.

   [RFC3526]  Kivinen, T. and M. Kojo, "More Modular Exponential (MODP)
              Diffie-Hellman groups for Internet Key Exchange (IKE)",
              RFC 3526, DOI 10.17487/RFC3526, May 2003,
              <https://www.rfc-editor.org/info/rfc3526>.

   [RFC4120]  Neuman, C., Yu, T., Hartman, S., and K. Raeburn, "The
              Kerberos Network Authentication Service (V5)", RFC 4120,
              DOI 10.17487/RFC4120, July 2005,
              <https://www.rfc-editor.org/info/rfc4120>.



Harwood                  Expires 7 February 2022                [Page 4]

Internet-Draft           PKINIT DH Modulus Size              August 2021


   [RFC4556]  Zhu, L. and B. Tung, "Public Key Cryptography for Initial
              Authentication in Kerberos (PKINIT)", RFC 4556,
              DOI 10.17487/RFC4556, June 2006,
              <https://www.rfc-editor.org/info/rfc4556>.

8.2.  Informative References

   [LOGJAM]   Adrian, D., Bhargavan, K., Durumeric, Z., Gaudry, P.,
              Green, M., Halderman, J., Heninger, N., Springall, D.,
              Thome, E., Valenta, L., VanderSloot, B., Wustrow, E.,
              Zanella-Beguelin, S., and P. Zimmermann, "Imperfect
              Forward Secrect: How Diffie-Hellman Fails in Practice",
              ACM Conference on Computer and Communications Security
              (CCS) 2015, DOI 10.1145/2810103.2813707, 2015,
              <https://weakdh.org/imperfect-forward-secrecy-ccs15.pdf>.

Appendix A.  Acknowledgments

   This document builds on prior work by the IETF CURves, Deprecating
   and a Little more Encryption Working Group (curdle), especially that
   of Loganaden Velvindron and Mark D. Baushke.

Author's Address

   Robbie Harwood
   Red Hat, Inc.

   Email: rharwood@redhat.com























Harwood                  Expires 7 February 2022                [Page 5]