2015-03-02 28 views
0

背景: 我的公司是作爲我們的客戶的服務提供商,是IDP。我們使用OpenAM,但我們的客戶使用ADFS或Shibboleth。我們交換元數據文件來建立聯盟,而不是URLS。一位客戶問我們爲什麼需要一個AuthnContext類模式(特別是PasswordProtectedTransport),不僅我們不知道爲什麼,我們不知道如何改變它或者意味着什麼。SAML2 SSO:AuthnContext類模式:「PasswordProtectedTransport」與「未指定」

問題: 在SAML2斷言中爲AuthnContextClassRef使用「PasswordProtectedTransport」與「未指定」之間的功能區別是什麼?

我們目前在所有客戶中使用PasswordProtectedTransport,但我公司沒有人可以告訴我爲什麼我們需要這個。如果我們刪除它,則聯合會停止使用500 errror和SAML跟蹤中的「NoAuthnContext」。我們也不明白,正如我從saml文檔中認爲擁有模式對於身份驗證是可選的。即便如此,我也沒有看到使用「未指定」的含義會有什麼解釋。

我無法在任何地方找到有關此主題的全面解釋或討論,並希望有人能爲我詳細闡述,因爲我正在努力尋找這方面的亮點。

回答

2

RequestedAuthnContext在請求中是SP要求IDP使用特定的身份驗證機制對用戶進行身份驗證的意思。
例如,如果您在請求中指定PasswordProtectedTransport,則IDP知道它必須通過由SSL/TLS保護的登錄名/密碼對用戶進行身份驗證。
IDP在其迴應中說明了其用於通過AuthnContextClassRef對用戶進行身份驗證的機制。

RequestedAuthnContext在請求中是可選的,但在斷言中的AuthnContextClassRef是SAML模式指定的必需的(因此您遇到了500錯誤)。
基本上,unspecified URN被IDP用來說「我不想告訴你我是如何識別用戶的」。
作爲SP,如果要確保用戶通過安全機制進行身份驗證,您可以選擇接受該答案或拒絕答案。

+0

非常感謝您的澄清。所以,爲了確定我正確理解這一點,讓我重申一下我相信這意味着什麼(對於如此基本的主題感到抱歉): 我的公司確實希望確保身份受到un/pw身份驗證的保護,因此我們使用PasswordProtectedTransport作爲我們可靠的安全手段。 SAML標準並不要求我們在請求中要求這個特定的模式,但是我們的業務需要說我們通過un/pw進行身份驗證,並且SAML響應要求列出AuthnContextClassRef的一些內容。因此,我們這樣做。 – 2015-03-09 12:29:30