go to  ForumEasy.com   
LdapPro
Home » Archive » Message


[Email To Friend][View in Live Context][prev topic « prev post | next post » next topic]
  Scenarios Where DIGEST-MD5 Works or NOT Work -- Active Directory 2000
 
Subject: Scenarios Where DIGEST-MD5 Works or NOT Work -- Active Directory 2000
Author: SteveHB
In response to: Scenarios Where DIGEST-MD5 Works or NOT Work -- SunONE:
Posted on: 06/30/2006 08:21:28 PM

Basic Settings
---------------
Server: AD 2000
Client: JNDI application
User: cn=testuser,cn=users,dc=mydomain,dc=com
Realm: MYREALM
Passwd: secret *[see note below]

The following settings works

    env.put(Context.SECURITY_AUTHENTICATION, "DIGEST-MD5");
    env.put(Context.SECURITY_PRINCIPAL, "testuser"); 


The following settings works
    env.put(Context.SECURITY_AUTHENTICATION, "DIGEST-MD5");
    env.put(Context.SECURITY_PRINCIPAL, "MYREAM\\testuser"); 


The following settings works
    env.put(Context.SECURITY_AUTHENTICATION, "DIGEST-MD5");
    env.put(Context.SECURITY_PRINCIPAL, "testuser@mydomain.com"); 


The following settings works
    env.put(Context.SECURITY_AUTHENTICATION, "DIGEST-MD5");
    env.put(Context.SECURITY_PRINCIPAL, "testuser@mydomain.com"); 
    env.put("javax.security.sasl.qop", "auth-conf");


The following settings dose NOT work
    env.put(Context.SECURITY_AUTHENTICATION, "DIGEST-MD5");
    env.put(Context.SECURITY_PRINCIPAL, 
               "cn=testuser,cn=users,dc=mydomain,dc=com"); 


The following settings dose NOT work
    env.put(Context.SECURITY_AUTHENTICATION, "DIGEST-MD5");
    env.put(Context.SECURITY_PRINCIPAL, "u:testuser"); 


The following settings dose NOT work
    env.put(Context.SECURITY_AUTHENTICATION, "DIGEST-MD5");
    env.put(Context.SECURITY_PRINCIPAL, 
               "dn:cn=testuser,cn=users,dc=mydomain,dc=com"); 


Conclusions:
  • For DIGEST-MD5 to work on AD 2000, client's password must be stored using reversible encryption so that the authentication agent (AD) can retrieve the password in clear text and then calculate the hash H(). Compared to SunOne, AD 2000 is doing much better, but still faces the important security consequence.
  • Active Directory supports message integrity and confidentiality protection, as suggested in RFC 2831.
  • Active Directory does not support distinguished name.
  • Active Directory does not support the 'u:' or 'dn:' notation, as described in Sun.



     

    > On 06/30/2006 07:51:29 PM SteveHB wrote:

    Basic Settings
    ---------------
    Server: SunONE
    Client: JNDI application
    User: cn=testuser,cn=users,dc=mydomain,dc=com
    Passwd: secret *[see note below]

    The following settings works
        env.put(Context.SECURITY_AUTHENTICATION, "DIGEST-MD5");
        env.put(Context.SECURITY_PRINCIPAL, "u:testuser"); 
    


    The following settings works
        env.put(Context.SECURITY_AUTHENTICATION, "DIGEST-MD5");
        env.put(Context.SECURITY_PRINCIPAL, 
                    "dn:cn=testuser,cn=users,dc=mydomain,dc=com"); 
    


    The following settings dose NOT work
        env.put(Context.SECURITY_AUTHENTICATION, "DIGEST-MD5");
        env.put(Context.SECURITY_PRINCIPAL, "u:testuser"); 
        env.put("javax.security.sasl.qop", "auth-int");
    


    The following settings dose NOT work
        env.put(Context.SECURITY_AUTHENTICATION, "DIGEST-MD5");
        env.put(Context.SECURITY_PRINCIPAL, "u:testuser"); 
        env.put("javax.security.sasl.qop", "auth-conf");
    


    Conclusions:
  • For SunONE to work with DIGEST-MD5, client's password must be stored in clear text. Ouch, this really sucks and I don't think any administartor want to risk that much to simply support MD5.
  • SunONE dose not support message integrity and confidentiality protection yet.

    Note: (here is what java.sun.com says for itself)
    "The SunONE Directory Server, v5 supports the Digest-MD5 authentication mechanism for users that have clear-text passwords. You must set the password encryption mode before you create the user. If you have already created the user, delete it and recreate it. To set the password encryption mode using the Administration Console, select the Configuration tab and the Data node. In the Passwords pane, select the "No encryption (CLEAR)" option for "Password encryption." The server accepts simple user names (that is, the value of the "uid" attribute for entries that have one) and the "dn:" format of user names. See the server's documentation for detailed information"






    References:

  •  


     
    Powered by ForumEasy © 2002-2022, All Rights Reserved. | Privacy Policy | Terms of Use
     
    Get your own forum today. It's easy and free.