單點登陸

一、什麼是SSO

  • 單點登陸(Single Sign-On),簡稱SSO,是目前比較流行的服務於企業業務整合的解決方案之一,SSO使得在多個應用系統中,用戶只需要登陸一次就可以訪問所有相互信任的應用系統。
  • SSO原理、體系角色一般SSO體系主要角色有三種:
    1、User(多個)
    2、Web應用(多個)
    3、SSO認證中心(1個)

  • SSO實現模式的原理、原則:
    1、所有的認證登陸都在SSO認證中心進行
    2、SSO認證中心通過一些方法告訴Web應用當前訪問用戶究竟是不是已通過認證的用戶;
    3、SSO認證中心和所有的Web應用建立一種信任關係,也就是說Web應用必須信任認證中心。(單點信任)

  • 主要實現方式
    1、共享cookies:基於共享同城的cookie是Web剛開始階段使用的一種方式,它利用瀏覽同城名之間自動傳遞cookies機制,實現兩個域名之間系統令牌傳遞問題;另外,關於跨域問題,雖然cookies本身不跨域,但可以利用它實現跨域的SSO。如:代理、暴露SSO令牌值等。
    缺點:不靈活而且有不少安全隱患,已經被拋棄
    2、Broker-based:基於經紀人,這種技術的特點就是,有一個集中的認證和用戶賬號管理的服務器。經紀人被用於進一步請求的電子身份存取。中央數據庫的使用減少了管理的代價,併爲認證提供一個公共和獨立的“第三方“。例如Kerberos、Sesame、IBM KryptoKnight(憑證庫思想)等。Kerberos是由麻省理工大學發明的安全認證服務,已經被UNIX和Windows作爲默認的安全認證服務集成進行操作系統。
    3、Agent-based:基於代理人,這種解決方案中,有一個自動地爲不同的應用程序認證用戶身份的代理程序。這個代理程序需要設計有不同的功能。比如,它可以使用口令表或加密密鑰來自動的將認證的負擔從用戶移開。代理人被放在服務器上面,在服務器的認證系統和客戶端認證方法之間充當一個”翻譯“。例如SSH等。
    4、Tokenbased:例如SecuredID,WebID,現在被廣泛使用的口令認證,比如FTP、郵件服務器的登陸認證,這是一種簡單易用的方式,實現一個口令在多種應用當中使用。
    5、基於網關
    6、基於SAML:SAML(Security Assertion Markup Language,安全斷言標記語言)的出現大大簡化了SSO,並被OASIS批准爲SSO的執行標準。開源組織OpenSAML實現了SAML規範。

  • 從結構體系看,CAS包括兩部分:CAS Server和CAS Client。
    1、CAS Server:CAS Server負責完成對用戶的認證工作,需要獨立部署,CAS Server會處理用戶名/密碼等憑證(Credentials)。
    2、CAS Server:負責處理對客戶端受保護資源的訪問請求,需要對請求方進行身份認證時,重定向到CAS Server進行認證。(原則上,客戶端應用不再接受任何的用戶密碼等Credentials)。CAS Client與受保護的客戶端應用部署在一起,以Filter方式保護受保護的資源。
    3、CAS原理和協議,基礎模式SSO訪問流程主要有以下步驟:
    3.1、訪問服務:SSO客戶端發送請求訪問應用系統提供的服務資源。
    3.2、定向認證:SSO客戶端會重定向客戶請求到SSO服務。
    3.3、用戶認證:用戶身份認證。
    3.4、發放票據:SSO服務器會產生一個隨機的Server Ticket。
    3.5、驗證票據:SSO服務器驗證票據Service Ticket的合法性,驗證通過後,允許客戶端訪問服務。
    3.6、傳輸客戶信息:SSO服務器驗證票據通過後,傳輸用戶認證結果信息給客戶端。
    這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章