https://newera17031.activehosted.com/index.php?action=social&chash=ba1b3eba322eab5d895aa3023fe78b9c.2767&nosocial=1
https://newera17031.activehosted.com/index.php?action=social&chash=ba1b3eba322eab5d895aa3023fe78b9c.2767&nosocial=1

觀點

通行世界之鑰

2005 / 03 / 01
Brian Cincera 翻譯 / 路克
通行世界之鑰

SAML是由OASIS組織與其他業界身份管理廠商協同合作開發,提供一個機制由可信任機構提供聯合身份識別,以及扮演可信賴的第三方機構,為成千上萬的服務提供商提供身份識別服務。理論上,這表示只需擁有一個身份證明,即可提供存取資料的通透性,可以在不同的信任領域間通行無阻。提升使用上的流暢感同時節省企業成本,是Web services的基本概念與預期效益。

SAML 1.1版與即將通過的2.0版,提供一個架構讓企業可先做宣告或身份識別聲明。可以讓企業更彈性地以XML作為交換身份證明、屬性以及身份授權資訊的基礎。SAML有效地減少網路中複雜一對一的網絡關係,可為現今大多數身份驗證所依賴的平台基礎。
SAML如何運作?
在SAML運作中主要的角色包括主體(subject),也就是用戶,以及依賴方(relying party)或服務提供方(service provider),也就是提供網路服務的廠商。主體是訂定身份識別聲明的用戶。聲明方(asserting authority)或稱為可信賴的第三者,是用戶所屬的網域或委託者,透過其發行的身份識別可以被網路上其他廠商所接受。依賴方或服務提供方則是SAML聲明的接收者與驗證者;基於可信賴的第三者所提供的身份證明文件,授與該用戶存取權與各式許可證明。

每一個SAML聲明的主體有三個部分:身份識別資料(例如:這個資料代表Bob這個人),屬性(例如:Bob是一個可信賴企業的採購人員),以及授權證明(例如:Bob可以代表他的公司採買)。

SAML 規格中定義了SAML身份識別聲明如何被請求、產生以及通過驗證。SAML1.1包含兩個規格:Browser/POST 規格是說明如何遞送經過數位簽章後的身份識別聲明給用戶,再傳送給廠商;Browser/Artifact 規格則說明如何發佈一個身份識別文件,並說明此文件是一個有時效性身份鑑別資訊(token),讓廠商可以從授權方取得有效的身份識別聲明。身份識別聲名文件是當廠商只想要從信任的第三者收到身份識別時才使用;而不是由使用者所提出。

這些規格間彼此是獨立的;它並不明文規定在身份識別聲明中所傳送的文件內容。因此SAML可針對特殊使用需求發展新的、私有的規格,讓系統開發者可無限地發揮SAML的威力。

在真實世界中,SAML將會如此運作:CarMonster批發商(依賴方)可以從Reliable Parts零售商(主體,用戶)以SAML向身份識別聲明的中介入口網站Automotive Clearinghouse(聲明機構,可信賴的第三者)填寫一份訂單。因為兩方公司都與入口網站有信任關係,他們可以藉由其有效的SAML聲明得知Reliable使用者的身份資訊,可減少在CarMonster與Reliable Parts建立關係之需求與成本。

Reliable公司的採購人員Bob,登入到Automotive ClearingHouse網站時,就使用數位簽章簽署一份SAML身份識別聲明並回傳。當Bob下訂單時,他的瀏覽器會送出一份SAML身份識別聲明給CarMonster。此聲明可能只是一份簡單的身份確認資訊,證明Bob確有其人的聲明,也可能包含其他身份授權相關資訊,例如:Bob的信用帳戶額度或郵寄地址。

相同的程序也可應用於內部應用系統與入口網站。舉例來說,一家公司透過使用SAML驗證身份的入口網站,讓員工存取他們的退休金帳戶資訊(401(k)是美國於1981年創立一種退休金帳戶,由於相關條文明訂在國稅條例第401(K) 條中,故簡稱為401(K)計畫)。除了在員工登入時會傳送身份識別資訊外,入口網站也會傳送授權屬性,例如:狀態(退休或工作中),以及退休金帳戶經理所授權之存取權限。退休金帳戶經理可以決定員工對於應用系統的存取權。

聯合身份識別之效率
各家身份識別管理系統廠商,正加速相容並採用SAML規格,從公司的目錄服務到各種應用系統。使用SAML可以幫助應用系統開發人員,設計應用系統時加強其使用上的透通性與相容性。此外,傳送身份識別給其他應用系統,也可減少角色與身份管理的複雜性,並提供各種存取控制的延伸功能。

無法自動產生的是各網域間的信任關係。不論是每一個群體對群體或是信任機構的關係,都需額外建立信任關係。「取得A公司網域的信任存取聲明」這句話非常簡單,但要先致力於建構網域間信任關係,並採用各種控制方法維持其完整性與安全性,又是另外一回事。想要加入信任關係的企業,都應先驗證其事業夥伴之安全與可靠性,確保他們不會經由聯合入口網站邀請了一位不適合的事業夥伴。

同樣地,SAML身份識別也容易像普通的身份證明文件,發生偽造與欺騙的風險。就像透過假的駕照可以很容易地製造假的信用卡;一份粗糙的身份識別產生程序也可輕易地使用SAML標準來創造一個偽造的身份識別。

然而,SAML跨平台的彈性以及在公認標準下的可靠性,可做為身份識別、授權以及安全屬性資訊之依據。SAML以XML為基礎,可以採用XML現成的數位簽章、加密演算法與架構。SAML採用SOAP(Simple Object Access Protocol)作為資料發送與接收的傳輸協定。Liberty Alliance以及Web Services-Security都在其標準中納入SAML的規格。

SAML 2.0預期將大大延伸其可用性。將具備以下功能:

●在各個網站之間將可更輕易地交換用戶的身份識別資訊。
●改善跨網域運作時,必須額外修正使用者資訊的動作。
●XML加密功能。
●在身份識別聲明中加入Kerberos 存取控制系統的tickets功能。
●透過背景資訊強化對於使用者帳戶建立與身份確認之強度。
儘管SAML 2.0作了不少修正,此標準仍是一個新興而有待加強的技術。即使還在試行階段,SAML已提供在企業信任關係下,達到跨網域間分享應用程式、資料以服務,而不需額外建構與管理其他外部使用者的身份資訊,這已經跨出了一大步。在SAML架構下,客戶可以很輕易地從一個網站到另一個網站,而不需重新作身份驗證;企業可藉此減少建置身份識別管理的成本,以及相關基礎建設支出。最重要的是可以增進使用者愉快的使用經驗。

BRIAN CINCERA是Greenwich Technology Partners安全顧問公司副總。請傳送你對此文章的意見給:iseditor@asmag.com