編輯:(摘要):我正在尋找一種方法來獲得作爲ADFS登錄的一部分傳遞給我們的自定義用戶特定屬性;如果這是合理的,我會深入探討如何保護它。如果我們*需要共享密鑰進行加密,我們如何支持ADFS?
編輯:(澄清):我不想在登錄時通過AD的東西 - 如果用戶要打擊AD再次輸入密碼和然後身份驗證,他們會最終會出現令人困惑的,不匹配的密碼。相反,我想在我們登記是這樣的:
- 用戶輸入信息(電子郵件等)
- 我們生成一個長的隨機字符串,對其進行加密,然後提供作爲對客戶的一種獨特的ID的一部分AD 在每次登錄時
然後:
- 我們將用戶重定向到客戶的廣告面向auth
- 一旦用戶授權d,他們被重定向回給我們用戶&索賠信息
- 該信息包括我們生成的唯一ID--所以我們提取用戶ID並從中解密密碼。
這會比我們通常提供的安全性要低,但如果涉及廣告,這是最好的設想。這可能嗎?
長版本:客戶要求我們爲我們的Web應用程序添加對單點登錄的支持,實施Microsoft ADFS(Active Directory聯合服務)。
問題是我們依靠用戶的密碼來解密他們的記錄;他們的私鑰是用他們的密碼加密的,所以我們不能在沒有密碼的情況下訪問他們的記錄。
我一直在深入研究文檔,例如http://msdn.microsoft.com/en-us/library/bb897402.aspx - 但目前我沒有看到使用AD FS安全管理某種祕密加密密鑰的方法。
當然,它不一定是密碼本身 - 我們通過生成具有與密碼相同屬性的隨機訪問令牌(可用於解密用戶的記錄)來實現OAuth2 ......但是,傳入,驗證用戶需要與一些類型的安全,私人令牌。
任何指導非常感謝!
我發現了一個相關的問題在這裏:http://stackoverflow.com/questions/6416282/what-can-i-use-from-ad-via -dap-as-an-user-specific-encryption-key?rq = 1 - 這表明將敏感數據存儲在AD中是不明智的,因爲它的設計不是安全的。此時,我正在尋找如何在AD登錄時獲取傳遞給我們的服務器的自定義每用戶屬性,然後我會理清,即使AD沒有安全地存儲它,也可以保證安全。 –