2009-06-25 54 views
2

我想在LDAP中存儲密碼重置問題的答案。我知道答案應該用鹽來散列。我想深入瞭解以下內容:在LDAP中存儲密碼重置問題

  • 我們應該使用哪個attributeClass?
  • 是否有可能讓LDAP服務器執行散列操作?
  • 如果容器沒有公開哈希如何執行,有沒有辦法使用LDAP比較操作?
  • 答案根據您使用的目錄服務供應商的不同而不同?
  • 是否可以爲此目的擴展密碼attributeClass?

回答

0

只是一個可能完全關閉的想法,爲什麼不重複每個用戶的帳戶密碼是祕密問題的答案?
通過這種方式,您不必考慮哈希/ salt /加密,並驗證您將調用登錄用戶API的答案。
那些重複的用戶當然會屬於一個非常有限的安全組。

0

可能可以定義使用屬性的語法,是受散列安全問題/答案的屬性/加密如userPassword。這取決於您正在使用的目錄服務器產品。

0

如果要將散列/加密值存儲爲可讀字符串(如Base64編碼),則可以使用任何目錄字符串屬性類型(http://tools.ietf.org/html/rfc4517#page-8)。您也可以將其存儲爲任何字節字符串屬性類型(http://tools.ietf.org/html/rfc4517#page-19)。

如果需要恢復安全問題的答案或在驗證期間需要某些寬鬆(例如,混合/低/大寫無差異),則加密可能是更好的選擇。最好讓中間件也這樣做。就像Terry Gardner所說的那樣,它取決於你使用的目錄服務器軟件。例如,可以將IBM Tivoli Directory Server配置爲加密屬性的值。使用在安裝軟件期間指定的安全元素完成加密。應用程序不必做任何特殊的事情。 Novell,Red Hat和Oracle/Sun Directory Server軟件也支持加密屬性。我不是AD專家,但我認爲它不支持加密屬性。我認爲OpenLDAP也是一樣。