SASL Working Group A. Melnikov
Internet-Draft Isode Limited
Intended status: Standards Track October 26, 2008
Expires: April 29, 2009
LDAP schema for storing SCRAM secrets
draft-melnikov-sasl-scram-ldap-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 April 29, 2009.
Abstract
This memo describes LDAP schema for storing secrets used by Salted
Challenge Response (SCRAM) Simple Authentication and Security Layer
(SASL) Mechanism.
Note
A revised version of this draft document will be submitted to the RFC
editor as a Proposed Standard for the Internet Community. Discussion
and suggestions for improvement are requested, and should be sent to
ietf-sasl@imc.org.
Melnikov Expires April 29, 2009 [Page 1]
Internet-Draft LDAP schema for storing SCRAM secrets October 2008
Table of Contents
1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Security Considerations . . . . . . . . . . . . . . . . . . . 3
3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4
4. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 4
5. References . . . . . . . . . . . . . . . . . . . . . . . . . 4
5.1. Normative References . . . . . . . . . . . . . . . . . . . . 4
5.2. Informative References . . . . . . . . . . . . . . . . . . . 4
Author's Address . . . . . . . . . . . . . . . . . . . . . . 4
Intellectual Property and Copyright Statements . . . . . . . 6
Melnikov Expires April 29, 2009 [Page 2]
Internet-Draft LDAP schema for storing SCRAM secrets October 2008
1. Overview
( [[OID TBD by IANA]]
NAME 'saslSecretScram'
DESC 'SCRAM mechanism secret'
EQUALITY octetStringMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )
The saslSecretScram attribute is a dollar ("$") separated octet
string that contains information relevant for SCRAM [SCRAM]
authentication. The syntax of the string is as follows:
Hashing mechanism name, currently always "hmac-sha1". [[anchor2:
Add a reference to the IANA registry.]]
Iteration count.
base-64 [[anchor3: Add reference]] encoded salt.
base-64 [[anchor4: Add reference]] encoded StoredKey [SCRAM].
base-64 [[anchor5: Add reference]] encoded ServerKey [SCRAM].
Syntax of the attribute can be expressed using ABNF [RFC5234]:
scram-secret = hash-mech "$" iter-count "$" salt "$"
stored-key "$" server-key
hash-mech = "hmac-sha1"
iter-count = %x30-39 *DIGIT
; a positive number without leading zeros
salt = <<base-64 encoded value>>
stored-key = <<base-64 encoded value>>
server-key = <<base-64 encoded value>>
[[anchor6: Add an example.]]
This attribute is multivalued. For example, it may contain multiple
SCRAM hashes for different hashing algorithms.
2. Security Considerations
Servers MUST validate format of the saslSecretScram attribute before
Melnikov Expires April 29, 2009 [Page 3]
Internet-Draft LDAP schema for storing SCRAM secrets October 2008
using it for performing a SCRAM authentication exchange. It is
possible that an attacker compromised the LDAP server or got access
to the entry containing the attribute in order to exploit a
vulnerability in the subsystem performing SCRAM authentication
exchange. Big iteration counts and invalid base-64 encoding are two
possible (but not the only) exploits in the format specified in the
document.
[[anchor7: TBD.]]
3. IANA Considerations
[[anchor8: TBD - assign OID for the new LDAP attribute.]]
4. Acknowledgements
The author gratefully acknowledges the feedback provided by
[[anchor10: XXX]].
5. References
5.1. Normative References
[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", STD 68, RFC 5234, January 2008.
[SCRAM] Menon-Sen, A. and C. Newman, "Salted Challenge Response
(SCRAM) SASL Mechanism", draft-newman-auth-scram-07.txt
(work in progress), July 2008.
5.2. Informative References
[RFC4422] Melnikov, A. and K. Zeilenga, "Simple Authentication and
Security Layer (SASL)", RFC 4422, June 2006.
Melnikov Expires April 29, 2009 [Page 4]
Internet-Draft LDAP schema for storing SCRAM secrets October 2008
Author's Address
Alexey Melnikov
Isode Limited
5 Castle Business Village
36 Station Road
Hampton, Middlesex TW12 2BX
UK
Email: am.gate.i@googlemail.com
URI: http://www.melnikov.ca/
Melnikov Expires April 29, 2009 [Page 5]
Internet-Draft LDAP schema for storing SCRAM secrets October 2008
Full Copyright Statement
Copyright (C) The IETF Trust (2008).
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.
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, THE IETF TRUST 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.
Intellectual Property
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.
Melnikov Expires April 29, 2009 [Page 6]