Sso是軟體還是技術,實現sso的技術有哪些?

出自 Wenbanzhu
前往: 導覽搜尋

待解問題.png 問題

Sso是軟體還是技術,實現sso的技術有哪些?.jpg
--Ly651686474 2010年4月22日 (四) 10:25 (CST)

問題具體描述:Sso是軟體還是技術,實現sso的技術有哪些?


最新回答.png 回答

Sso的介紹

SSO:英文全稱Single Sign On,意思是單點登錄,是一種技術。

  • SSO的一種較為通俗的定義是:SSO是指訪問同一伺服器不同應用中的受保護資源的同一用戶,只需要登錄一次,即通過一個應用中的安全驗證後,再訪問其他應用中的受保護資源時,不再需要重新登錄驗證。
  • SSO是在多個應用系統中,用戶只需要登錄一次就可以訪問所有相互信任的應用系統。它包括可以將這次主要的登錄映射到其他應用中用於同一個用戶的登錄的機制。它是目前比較流行的企業業務整合的解決方案之一。

sso技術的出現原因

  • 目前的企業應用環境中,往往有很多的應用系統,如辦公自動化(OA)系統,財務管理系統,檔案管理系統,信息查詢系統等等。這些應用系統服務於企業的信息化建設,為企業帶來了很好的效益。
  • 但是,用戶在使用這些應用系統時,並不方便。用戶每次使用系統,都必須輸入用戶名稱和用戶密碼,進行身份驗證;而且應用系統不同,用戶帳號就不同,用戶必須同時牢記多套用戶名稱和用戶密碼。
  • 特別是對於應用系統數目較多,用戶數目也很多的企業,這個問題尤為突出。問題的原因並不是系統開發出現失誤,而是缺少整體規劃,缺乏統一的用戶登錄平台,使用SSO技術可以解決以上這些問題。

sso的實現技術

單點登錄sso的技術實現機制

  • 當用戶第一次訪問應用系統1的時候,因為還沒有登錄,會被引導到認證系統中進行登錄;
  • 根據用戶提供的登錄信息,認證系統進行身份效驗,如果通過效驗,應該返回給用戶一個認證的憑據--ticket;
  • 用戶再訪問別的應用的時候,就會將這個ticket帶上,作為自己認證的憑據,應用系統接受到請求之後會把ticket送到認證系統進行效驗,檢查ticket的合法性。
  • 如果通過效驗,用戶就可以在不用再次登錄的情況下訪問應用系統2和應用系統3了。

實現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 規範。

相關視頻

XP sp3客戶端的單點登錄

參考網站

明星版主.png 版主: 本頁回答由版主「Ly651686474」負責,您可以查看Ly651686474介紹和編輯或者給Ly651686474留言


分類瀏覽.png 分類網絡|系統|技術|sso|是什麼|軟體|實現

討論.png 討論

關於「Sso是軟體還是技術,實現sso的技術有哪些?」的留言:

目前暫無留言

新增相关留言