2009-06-25 11 views
2

Je souhaite stocker les réponses aux questions de réinitialisation de mot de passe dans LDAP. Je sais que les réponses devraient être hachées avec un sel. Je voudrais un aperçu de ce qui suit:Enregistrement des questions de réinitialisation de mot de passe dans LDAP

  • Quelle attribut class devrait-on utiliser?
  • Est-il possible d'obtenir le serveur LDAP pour effectuer les opérations de hachage?
  • Existe-t-il un moyen d'utiliser l'opération de comparaison LDAP si le conteneur n'expose pas la façon dont il exécute le hachage?
  • La réponse varie-t-elle selon le fournisseur de service d'annuaire avec lequel vous allez?
  • Est-il possible d'étendre le mot de passe attributeClass à cette fin?

Répondre

0

Juste une idée qui pourrait être totalement désactivée, pourquoi ne pas avoir un compte en double de chaque utilisateur où le mot de passe est la réponse à la question secrète?
De cette façon, vous n'aurez plus à vous soucier du hachage/salt/encryption et pour valider la réponse, vous appellerez l'API utilisateur d'ouverture de session.
Ces utilisateurs dupliqués appartiennent bien sûr à un groupe de sécurité très limité.

1

J'ai recherché une telle fonctionnalité dans Sun Directory Server mais je n'ai pas pu la trouver. J'ai fini par l'implémenter dans mon code client (en utilisant java.security.MessageDigest si je me souviens bien). Ce n'était pas beaucoup de travail, mais j'aurais préféré qu'il soit géré par le serveur.

MISE À JOUR

Oracle Internet Directory 11g supporte les attributs de hachage: http://download.oracle.com/docs/cd/E17904_01/oid.1111/e10029/data_privacy.htm#BABFFHIH

0

Il pourrait être possible de définir un attribut pour la question de la sécurité/réponse en utilisant la syntaxe d'un attribut qui est soumis à hachage/chiffrement , tel que userPassword. Cela dépend du produit du serveur d'annuaire que vous utilisez.

0

N'importe quel type d'attribut de chaîne de répertoire (http://tools.ietf.org/html/rfc4517#page-8) peut être utilisé si vous souhaitez stocker la valeur hachée/cryptée sous forme de chaîne lisible, par exemple codée en Base64. Vous pouvez également stocker tout type d'attribut de chaîne d'octets (http://tools.ietf.org/html/rfc4517#page-19).

Si les réponses aux questions de sécurité doivent être récupérées ou une certaine clémence lors de la vérification (par exemple, indifférence mixte/inférieure/majuscule) est nécessaire, le cryptage peut être une meilleure option. Il serait préférable d'avoir le middleware pour le faire aussi. Comme l'a dit Terry Gardner, cela dépend du logiciel de serveur d'annuaire que vous utilisez. Par exemple, IBM Tivoli Directory Server peut être configuré pour chiffrer les valeurs des attributs. Le cryptage est effectué en utilisant les éléments de sécurité spécifiés lors de l'installation du logiciel. L'application n'a rien à faire de spécial. Les logiciels Novell, Red Hat et Oracle/Sun Directory Server prennent également en charge les attributs cryptés. Je ne suis pas un expert en AD, mais je pense qu'il ne supporte pas les attributs cryptés. Je pense que c'est la même chose pour OpenLDAP.