0

I have an active directory on cloud. In our web app we are using LDAP. Now we are in discussion to build a mobile application for our enterprise. I searched for the LDAP client SDK and I got UnboundId ldap sdk for java. I saw some examples but I could not figure out how secure it is to use this sdk. What all authentication measure does it provide? What encryption techniques can be used with it? Is there any other API or sdk that I can use which is more secure and reliable?

Please help. Thanks in advance.

Akshay Sethi
  • 803
  • 3
  • 13
  • 22

1 Answers1

0

The UnboundID LDAP SDK for Java supports LDAP simple authentication, as well as a number of SASL mechanisms, including ANONYMOUS, CRAM-MD5, DIGEST-MD5, EXTERNAL, GSSAPI, and PLAIN. Basically, look at subclasses of com.unboundid.ldap.sdk.BindRequest, and many of them have examples that demonstrate their use.

But since you mentioned that you're building a mobile application, it's important to note that CRAM-MD5, DIGEST-MD5, and GSSAPI are not supported on Android because they depend on a Java SE feature that isn't available in Android's Java implementation.

As far as encryption methods that are supported, the LDAP SDK supports encrypting all communication with SSL/TLS, as well as securing an existing unencrypted connection via the StartTLS extended operation. If you're using DIGEST-MD5 or GSSAPI authentication and the server supports it, then you may also be able to use the SASL integrity or confidentiality QoP mechanisms.

Also, CRAM-MD5, DIGEST-MD5, and GSSAPI allow you to authenticate over an insecure connection without divulging the credentials because they provide their own mechanism for protecting the credentials in flight. However, I would probably recommend using a mechanism that protects all communication since bind credentials probably aren't the only kinds of sensitive information that might be sent over LDAP, and those mechanisms also don't support protecting credentials when used outside of a bind (e.g., when changing a password or retrieving them in a search result entry).

Neil Wilson
  • 1,706
  • 8
  • 4
  • So while using unboundId sdk, how can i revoke or limit a user's access if he has left the organization or transferred to some other department? – Akshay Sethi Jun 28 '14 at 00:04
  • @AkshaySethi If he's only changed departments you would normally only change his roles. If he's left you would lock the account. – user207421 Jun 28 '14 at 00:42