[Date Prev][Date Next] [Chronological] [Thread] [Top]

SASL Semantics Within LDAP



Hallvard,

Shortly after sending a proposed new section 5.2.2 for authmeth-17, I rediscovered your email on the same subject from last March. I've reworked section 5.2.2, as below. I'd appreciate comments and feedback prior to my submitting authmeth-17 on Friday.

5.2.2. SASL Semantics Within LDAP

Implementers must take care to ensure that they maintain the semantics of SASL specifications when handling data that has different semantics in the LDAP protocol.

For example, the SASL DIGEST-MD5 authentication mechanism [RFC2829] utilizes an authentication identity (username) and a realm which are syntactically simple strings and semantically simple username and realm values ([DIGEST-MD5] section 2.1). These values are not LDAP DNs, and there is no requirement that they be represented or treated as such.

After preparing these values as specified in [DIGEST‑MD5], the server may choose to use LDAP semantics to locate an entry with the user's authentication information.  For example, it may expect the username to have the form of a DN and look up the named entry, or it may search for "(cn=<username>)" below "cn=<realm>,cn=auth,dc=example,dc=com".  However, when the entry is located, authentication will fail if the realm and username values do not match according to DIGEST‑MD5's semantics.

To illustrate, the two DNs <cn=Bob,dc=example,dc=com> (upper case "B") and <cn=bob,dc=example,dc=com> (lower case "b") are equivalent when being compared semantically as LDAP DNs because the cn attribute is defined to be case insensitive, however the two values are not equivalent if they represent username values in DIGEST‑MD5 because DIGEST‑MD5 matching is case‑sensitive.

Thanks,

Roger

>>> Hallvard B Furuseth <h.b.furuseth@usit.uio.no> 10/13/05 1:27 pm >>>
Roger Harrison writes:
> Based on the comments to the WG over the past several days, I believe
> that authmeth should only reference DIGEST-MD5 in historical terms.

You should probably keep much of the DIGEST-MD5 text on authmeth-15
page 16 and generalize it to talk about SASL.

> The Simple Mechanism Security Considerations currently state:
>
> The name/password authentication mechanism of the simple Bind method
> discloses the password to the server, which is an inherent security
> risk. There are other mechanisms such as DIGEST-MD5 that do not disclose
> the password to the server.
>
> I would like to replace this reference with DIGEST-MD5 with another
> mechanism (it does not need to be normative) that would not disclose
> the password to the server.  Suggestions?

CRAM-MD5 seems to be the only alternative mechanism which is widely
enough deployed to suggest now.  That mechanism apparently has its own
problems, though.  So I suggest to keep the DIGEST-MD5 reference.

--
Hallvard