Salted Challenge Response Authentication Mechanism (SCRAM) SASL and GSS-API Mechanisms
RFC 5802

 
Document Type RFC - Proposed Standard (July 2010; Errata)
Last updated 2013-03-02
Replaces draft-newman-auth-scram-gs2, draft-newman-auth-scram
Stream IETF
Formats plain text pdf html
Stream WG state (None)
Consensus Unknown
Document shepherd No shepherd assigned
IESG IESG state RFC 5802 (Proposed Standard)
Telechat date
Responsible AD Pasi Eronen
Send notices to sasl-chairs@ietf.org, draft-ietf-sasl-scram@ietf.org, simon@josefsson.org
Internet Engineering Task Force (IETF)                         C. Newman
Request for Comments: 5802                                        Oracle
Category: Standards Track                                   A. Menon-Sen
ISSN: 2070-1721                                   Oryx Mail Systems GmbH
                                                             A. Melnikov
                                                             Isode, Ltd.
                                                             N. Williams
                                                                  Oracle
                                                               July 2010

       Salted Challenge Response Authentication Mechanism (SCRAM)
                      SASL and GSS-API Mechanisms

Abstract

   The secure authentication mechanism most widely deployed and used by
   Internet application protocols is the transmission of clear-text
   passwords over a channel protected by Transport Layer Security (TLS).
   There are some significant security concerns with that mechanism,
   which could be addressed by the use of a challenge response
   authentication mechanism protected by TLS.  Unfortunately, the
   challenge response mechanisms presently on the standards track all
   fail to meet requirements necessary for widespread deployment, and
   have had success only in limited use.

   This specification describes a family of Simple Authentication and
   Security Layer (SASL; RFC 4422) authentication mechanisms called the
   Salted Challenge Response Authentication Mechanism (SCRAM), which
   addresses the security concerns and meets the deployability
   requirements.  When used in combination with TLS or an equivalent
   security layer, a mechanism from this family could improve the status
   quo for application protocol authentication and provide a suitable
   choice for a mandatory-to-implement mechanism for future application
   protocol standards.

Newman, et al.               Standards Track                    [Page 1]
RFC 5802                          SCRAM                        July 2010

Status of This Memo

   This is an Internet Standards Track document.

   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).  Further information on
   Internet Standards is available in Section 2 of RFC 5741.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc5802.

Copyright Notice

   Copyright (c) 2010 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
   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.

Newman, et al.               Standards Track                    [Page 2]
RFC 5802                          SCRAM                        July 2010

Table of Contents

   1. Introduction ....................................................4
   2. Conventions Used in This Document ...............................5
      2.1. Terminology ................................................5
      2.2. Notation ...................................................6
   3. SCRAM Algorithm Overview ........................................7
   4. SCRAM Mechanism Names ...........................................8
   5. SCRAM Authentication Exchange ...................................9
      5.1. SCRAM Attributes ..........................................10
      5.2. Compliance with SASL Mechanism Requirements ...............13
   6. Channel Binding ................................................14
      6.1. Default Channel Binding ...................................15
   7. Formal Syntax ..................................................15
   8. SCRAM as a GSS-API Mechanism ...................................19
      8.1. GSS-API Principal Name Types for SCRAM ....................19
      8.2. GSS-API Per-Message Tokens for SCRAM ......................20
      8.3. GSS_Pseudo_random() for SCRAM .............................20
   9. Security Considerations ........................................20
Show full document text