SSO實現技術
實現SSO的技術主要有:
(1)基于cookies實現,需要注意如下幾點:如果是基于兩個域名之間傳遞sessionid的方法可能在windows中成立,在unix&linux中可能會出現問題;可以基于數據庫實現;在安全性方面可能會作更多的考慮。另外,關于跨域問題,雖然cookies本身不跨域,但可以利用它實現跨域的SSO。
(2)Broker-based(基于經紀人),例如Kerberos等;
這種技術的特點就是,有一個集中的認證和用戶帳號管理的服務器。經紀人給被用于進一步請求的電子的身份存取。中央數據庫的使用減少了管理的代價,并為認證提供一個公共和獨立的"第三方"。例如Kerberos、Sesame、IBM KryptoKnight(憑證庫思想)等。
(3)Agent-based(基于代理人)
在這種解決方案中,有一個自動地為不同的應用程序認證用戶身份的代理程序。這個代理程序需要設計有不同的功能。比如, 它可以使用口令表或加密密鑰來自動地將認證的負擔從用戶移開。代理人被放在服務器上面,在服務器的認證系統和客戶端認證方法之間充當一個"翻譯"。例如SSH等。
(4)Token-based,例如SecurID、WebID、
現在被廣泛使用的口令認證,比如FTP,郵件服務器的登錄認證,這是一種簡單易用的方式,實現一個口令在多種應用當中使用。
(5)基于網關
Agent and Broker-based,這里不作介紹。
(6)基于安全斷言標記語言(SAML)實現,SAML(Security Assertion Markup Language,安全斷言標記語言)的出現大大簡化了SSO,并被OASIS批準為SSO的執行標準。開源組織OpenSAML 實現了 SAML 規范,可參考http://www.opensaml.org。
posted on 2005-12-29 18:51
Swift 閱讀(1617)
評論(2) 編輯 收藏 所屬分類:
Java安全