單點登陸SSO

1、什麼是單點登陸SSO(Single Sign-On)安全

  SSO是一種統一認證和受權機制,指訪問同一服務器不一樣應用中的受保護資源的同一用戶,只須要登陸一次,即經過一個應用中的安全驗證後,再訪問其餘應用中的受保護資源時,再也不須要從新登陸驗證。服務器

2、單點登陸解決了什麼問題框架

  解決了用戶只須要登陸一次就能夠訪問全部相互信任的應用系統,而不用重複登陸。blog

3、單點登陸的技術實現機制資源

  以下圖所示:開發

  

    當用戶第一次訪問應用系統1的時候,由於尚未登陸,會被引導到認證系統中進行登陸;根據用戶提供的登陸信息,認證系統進行身份效驗,若是經過效驗,應該返回給用戶一個認證的憑據--ticket;用戶再訪問別的應用的時候,就會將這個ticket帶上,做爲本身認證的憑據,應用系統接受到請求以後會把ticket送到認證系統進行效驗,檢查ticket的合法性(4,6)。若是經過效驗,用戶就能夠在不用再次登陸的狀況下訪問應用系統2和應用系統3了。效率

從上圖能夠看出sso的實現技術點:登錄

  1)全部應用系統共享一個身份認證系統重構

    統一的認證系統是SSO的前提之一。認證系統的主要功能是將用戶的登陸信息和用戶信息庫相比較,對用戶進行登陸認證;認證成功後,認證系統應該生成統一的認證標誌(ticket),返還給用戶。另外,認證系統還應該對ticket進行效驗,判斷其有效性。sso

  2)全部應用系統可以識別和提取ticket信息

    要實現SSO的功能,讓用戶只登陸一次,就必須讓應用系統可以識別已經登陸過的用戶。應用系統應該能對ticket進行識別和提取,經過與認證系統的通信,能自動判斷當前用戶是否登陸過,從而完成單點登陸的功能。

關於統一身份認證機制:以下圖

    ①用戶請求訪問業務系統。

  ②業務系統在系統中查看是否有對應請求的有效令牌,如有,則讀取對應的身份信息,容許其訪問;若沒有或令牌無效,則把用戶重定向到統一身份認證平臺,並攜帶業務系統地址,進入第③步。

  ③在統一身份認證平臺提供的頁面中,用戶輸入身份憑證信息,平臺驗證此身份憑證信息,如有效,則生成一個有效的令牌給用戶,進入第④步;若無效,則繼續進行認證,直到認證成功或退出爲止。

  ④用戶攜帶第③步獲取的令牌,再次訪問業務系統。

  ⑤業務系統獲取用戶攜帶的令牌,提交到認證平臺進行有效性檢查和身份信息獲取。

  ⑥若令牌經過有效性檢查,則認證平臺會把令牌對應的用戶身份信息返回給業務系統,業務系統把身份信息和有效令牌寫入會話狀態中,容許用戶以此身份信息進行業務系統的各類操做;若令牌未經過有效性檢查,則會再次重定向到認證平臺,返回第③步。

  經過統一身份認證平臺獲取的有效令牌,能夠在各個業務系統之間實現應用漫遊。

4、單點登陸的優勢

  1)提升用戶的效率。

    用戶再也不被屢次登陸困擾,也不須要記住多個 ID 和密碼。另外,用戶忘記密碼並求助於支持人員的狀況也會減小。 

  2)提升開發人員的效率。

    SSO 爲開發人員提供了一個通用的身份驗證框架。實際上,若是 SSO 機制是獨立的,那麼開發人員就徹底不須要爲身份驗證操心。他們能夠假設,只要對應用程序的請求附帶一個用戶名,身份驗證就已經完成了。 

  3)簡化管理。

    若是應用程序加入了單點登陸協議,管理用戶賬號的負擔就會減輕。簡化的程度取決於應用程序,由於 SSO 只處理身份驗證。因此,應用程序可能仍然須要設置用戶的屬性(好比訪問特權)。

5、單點登陸的缺點

  1)不利於重構

    由於涉及到的系統不少,要重構必需要兼容全部的系統,可能很耗時

  2) 無人看守桌面

    由於只須要登陸一次,全部的受權的應用系統均可以訪問,可能致使一些很重要的信息泄露。

相關文章
相關標籤/搜索