Movatterモバイル変換


[0]ホーム

URL:


[RFC Home] [TEXT|PDF|HTML] [Tracker] [IPR] [Info page]

INFORMATIONAL
Internet Engineering Task Force (IETF)                       A. MelnikovRequest for Comments: 6331                                 Isode LimitedObsoletes:2831                                                July 2011Category: InformationalISSN: 2070-1721Moving DIGEST-MD5 to HistoricAbstract   This memo describes problems with the DIGEST-MD5 Simple   Authentication and Security Layer (SASL) mechanism as specified inRFC 2831.  It marks DIGEST-MD5 as OBSOLETE in the IANA Registry of   SASL mechanisms and movesRFC 2831 to Historic status.Status of This Memo   This document is not an Internet Standards Track specification; it is   published for informational purposes.   This document is a product of the Internet Engineering Task Force   (IETF).  It represents the consensus of the IETF community.  It has   received public review and has been approved for publication by the   Internet Engineering Steering Group (IESG).  Not all documents   approved by the IESG are a candidate for any level of Internet   Standard; seeSection 2 of RFC 5741.   Information about the current status of this document, any errata,   and how to provide feedback on it may be obtained athttp://www.rfc-editor.org/info/rfc6331.Copyright Notice   Copyright (c) 2011 IETF Trust and the persons identified as the   document authors.  All rights reserved.   This document is subject toBCP 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   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.Melnikov                      Informational                     [Page 1]

RFC 6331              Moving DIGEST-MD5 to Historic            July 2011   This document may contain material from IETF Documents or IETF   Contributions published or made publicly available before November   10, 2008.  The person(s) controlling the copyright in some of this   material may not have granted the IETF Trust the right to allow   modifications of such material outside the IETF Standards Process.   Without obtaining an adequate license from the person(s) controlling   the copyright in such materials, this document may not be modified   outside the IETF Standards Process, and derivative works of it may   not be created outside the IETF Standards Process, except to format   it for publication as an RFC or to translate it into languages other   than English.Table of Contents1.    Introduction and Overview . . . . . . . . . . . . . . . . . .22.    Security Considerations . . . . . . . . . . . . . . . . . . .53.    IANA Considerations . . . . . . . . . . . . . . . . . . . . .54.    Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .55.    References  . . . . . . . . . . . . . . . . . . . . . . . . .55.1.  Normative References  . . . . . . . . . . . . . . . . . . . .55.2.  Informative References  . . . . . . . . . . . . . . . . . . .51.  Introduction and Overview   [RFC2831] defines how HTTP Digest Authentication [RFC2617] can be   used as a Simple Authentication and Security Layer (SASL) [RFC4422]   mechanism for any protocol that has a SASL profile.  It was intended   both as an improvement over CRAM-MD5 [RFC2195] and as a convenient   way to support a single authentication mechanism for web, email, the   Lightweight Directory Access Protocol (LDAP), and other protocols.   While it can be argued that it is an improvement over CRAM-MD5, many   implementors commented that the additional complexity of DIGEST-MD5   makes it difficult to implement fully and securely.   Below is an incomplete list of problems with the DIGEST-MD5 mechanism   as specified in [RFC2831]:   1.  The mechanism has too many options and modes.  Some of them are       not well described and are not widely implemented.  For example,       DIGEST-MD5 allows the "qop" directive to contain multiple values,       but it also allows for multiple qop directives to be specified.       The handling of multiple options is not specified, which results       in minor interoperability problems.  Some implementations       amalgamate multiple qop values into one, while others treat       multiple qops as an error.  Another example is the use of an       empty authorization identity.  In SASL, an empty authorization       identity means that the client is willing to authorize as the       authentication identity.  The document is not clear on whetherMelnikov                      Informational                     [Page 2]

RFC 6331              Moving DIGEST-MD5 to Historic            July 2011       the authzid must be omitted or if it can be specified with an       empty value to convey this.  The requirement for backward       compatibility with HTTP Digest means that the situation is even       worse.  For example, DIGEST-MD5 requires all usernames/passwords       that can be entirely represented in the ISO-8859-1 charset to be       down converted from UTF-8 [RFC3629] to ISO-8859-1 [ISO-8859-1].       Another example is the use of quoted strings.  Handling of       characters that need escaping is not properly described, and the       DIGEST-MD5 document has no examples to demonstrate correct       behavior.   2.  The DIGEST-MD5 document uses ABNF fromRFC 822 [RFC0822], which       allows an extra construct and allows for "implied folding       whitespace" to be inserted in many places.  The difference from a       more common ABNF defined in [RFC5234] is confusing for some       implementors.  As a result, many implementations do not accept       folding whitespace in many places where it is allowed.   3.  The DIGEST-MD5 document uses the concept of a "realm" to define a       collection of accounts.  A DIGEST-MD5 server can support one or       more realms.  The DIGEST-MD5 document does not provide any       guidance on how realms should be named and, more importantly, how       they can be entered in User Interfaces (UIs).  As a result, many       DIGEST-MD5 clients have confusing UIs, do not allow users to       enter a realm, and/or do not allow users to pick one of the       server-supported realms.   4.  Use of username in the inner hash is problematic.  The inner hash       of DIGEST-MD5 is an MD5 hash of colon-separated username, realm,       and password.  Implementations may choose to store inner hashes       instead of clear text passwords.  This has some useful       properties, such as protection from compromise of authentication       databases containing the same username and password on other       servers if a server with the username and password is       compromised; however, this is rarely done in practice.  First,       the inner hash is not compatible with widely deployed Unix       password databases, and second, changing the username would       invalidate the inner hash.   5.  Description of DES/3DES [DES] and RC4 security layers are       inadequate to produce independently developed interoperable       implementations.  In the DES/3DES case, this is partly a problem       with existing DES APIs.   6.  DIGEST-MD5 outer hash (the value of the "response" directive)       does not protect the whole authentication exchange, which makes       the mechanism vulnerable to "man-in-the-middle" (MITM) attacks,       such as modification of the list of supported qops or ciphers.Melnikov                      Informational                     [Page 3]

RFC 6331              Moving DIGEST-MD5 to Historic            July 2011   7.  The following features are missing from DIGEST-MD5, making it       insecure or unsuitable for use in protocols:       A.  Channel bindings [RFC5056].       B.  Hash agility (i.e., no easy way to replace the MD5 hash           function with another one).       C.  Support for SASLPrep [RFC4013] or any other type of Unicode           character normalization of usernames and passwords.  The           original DIGEST-MD5 document predates SASLPrep and does not           recommend any Unicode character normalization.   8.  The cryptographic primitives in DIGEST-MD5 are not up to today's       standards, in particular:       A.  The MD5 hash is sufficiently weak to make a brute force           attack on DIGEST-MD5 easy with common hardware [RFC6151].       B.  The RC4 algorithm is prone to attack when used as the           security layer without discarding the initial key stream           output [RFC6229].       C.  The DES cipher for the security layer is considered insecure           due to its small key space [RFC3766].   Note that most of the problems listed above are already present in   the HTTP Digest authentication mechanism.   Because DIGEST-MD5 is defined as an extensible mechanism, it is   possible to fix most of the problems listed above.  However, this   would increase implementation complexity of an already complex   mechanism even further, so the effort is not worth the cost.  In   addition, an implementation of a "fixed" DIGEST-MD5 specification   would likely either not interoperate with any existing implementation   of [RFC2831] or would be vulnerable to various downgrade attacks.   Note that despite DIGEST-MD5 seeing some deployment on the Internet,   this specification recommends obsoleting DIGEST-MD5 because DIGEST-   MD5, as implemented, is not a reasonable candidate for further   standardization and should be deprecated in favor of one or more new   password-based mechanisms currently being designed.   The Salted Challenge Response Authentication Mechanism (SCRAM) family   of SASL mechanisms [RFC5802] has been developed to provide similar   features as DIGEST-MD5 but with a better design.Melnikov                      Informational                     [Page 4]

RFC 6331              Moving DIGEST-MD5 to Historic            July 20112.  Security Considerations   Security issues are discussed throughout this document.3.  IANA Considerations   IANA has changed the "Intended usage" of the DIGEST-MD5 mechanism   registration in the SASL mechanism registry to OBSOLETE.  The SASL   mechanism registry is specified in [RFC4422] and is currently   available at:http://www.iana.org/assignments/sasl-mechanisms4.  Acknowledgements   The author gratefully acknowledges the feedback provided by Chris   Newman, Simon Josefsson, Kurt Zeilenga, Sean Turner, and Abhijit   Menon-Sen.  Various text was copied from other RFCs, in particular,   from [RFC2831].5.  References5.1.  Normative References   [RFC2617]     Franks, J., Hallam-Baker, P., Hostetler, J., Lawrence,                 S., Leach, P., Luotonen, A., and L. Stewart, "HTTP                 Authentication: Basic and Digest Access                 Authentication",RFC 2617, June 1999.   [RFC2831]     Leach, P. and C. Newman, "Using Digest Authentication                 as a SASL Mechanism",RFC 2831, May 2000.5.2.  Informative References   [DES]         National Institute of Standards and Technology, "Data                 Encryption Standard (DES)", FIPS PUB 46-3,                 October 1999.   [ISO-8859-1]  International Organization for Standardization,                 "Information technology - 8-bit single-byte coded                 graphic character sets - Part 1: Latin alphabet No. 1",                 ISO/IEC 8859-1, 1998.   [RFC0822]     Crocker, D., "Standard for the format of ARPA Internet                 text messages", STD 11,RFC 822, August 1982.Melnikov                      Informational                     [Page 5]

RFC 6331              Moving DIGEST-MD5 to Historic            July 2011   [RFC2195]     Klensin, J., Catoe, R., and P. Krumviede, "IMAP/POP                 AUTHorize Extension for Simple Challenge/Response",RFC 2195, September 1997.   [RFC3629]     Yergeau, F., "UTF-8, a transformation format of ISO                 10646", STD 63,RFC 3629, November 2003.   [RFC3766]     Orman, H. and P. Hoffman, "Determining Strengths For                 Public Keys Used For Exchanging Symmetric Keys",BCP 86,RFC 3766, April 2004.   [RFC4013]     Zeilenga, K., "SASLprep: Stringprep Profile for User                 Names and Passwords",RFC 4013, February 2005.   [RFC4422]     Melnikov, A. and K. Zeilenga, "Simple Authentication                 and Security Layer (SASL)",RFC 4422, June 2006.   [RFC5056]     Williams, N., "On the Use of Channel Bindings to Secure                 Channels",RFC 5056, November 2007.   [RFC5234]     Crocker, D. and P. Overell, "Augmented BNF for Syntax                 Specifications: ABNF", STD 68,RFC 5234, January 2008.   [RFC5802]     Newman, C., Menon-Sen, A., Melnikov, A., and N.                 Williams, "Salted Challenge Response Authentication                 Mechanism (SCRAM) SASL and GSS-API Mechanisms",RFC 5802, July 2010.   [RFC6151]     Turner, S. and L. Chen, "Updated Security                 Considerations for the MD5 Message-Digest and the HMAC-                 MD5 Algorithms",RFC 6151, March 2011.   [RFC6229]     Strombergson, J. and S. Josefsson, "Test Vectors for                 the Stream Cipher RC4",RFC 6229, May 2011.Author's Address   Alexey Melnikov   Isode Limited   5 Castle Business Village   36 Station Road   Hampton, Middlesex  TW12 2BX   UK   EMail: Alexey.Melnikov@isode.com   URI:http://www.melnikov.ca/Melnikov                      Informational                     [Page 6]

[8]ページ先頭

©2009-2026 Movatter.jp