日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

SSO技術(shù)總結(jié)

 Joshua 2006-02-20
SSO技術(shù)簡介
      SSOSingle Sign-On,單點登錄)是身份管理中的一部分。SSO的一種較為通俗的定義是:SSO是指訪問同一服務(wù)器不同應(yīng)用中的受保護資源的同一用戶,只需要登錄一次,即通過一個應(yīng)用中的安全驗證后,再訪問其他應(yīng)用中的受保護資源時,不再需要重新登錄驗證。
SSO與身份管理軟件背景

   目前的企業(yè)應(yīng)用環(huán)境中,往往有很多的應(yīng)用系統(tǒng),如辦公自動化(OA)系統(tǒng),財務(wù)管理系統(tǒng),檔案管理系統(tǒng),信息查詢系統(tǒng)等等。這些應(yīng)用系統(tǒng)服務(wù)于企業(yè)的信息化建設(shè),為企業(yè)帶來了很好的效益。但是,用戶在使用這些應(yīng)用系統(tǒng)時,并不方便。用戶每次使用系統(tǒng),都必須輸入用戶名稱和用戶密碼,進行身份驗證;而且,應(yīng)用系統(tǒng)不同,用戶賬號就不同,用戶必須同時牢記多套用戶名稱和用戶密碼。特別是對于應(yīng)用系統(tǒng)數(shù)目較多,用戶數(shù)目也很多的企業(yè),這個問題尤為突出。問題的原因并不是系統(tǒng)開發(fā)出現(xiàn)失誤,而是缺少整體規(guī)劃,缺乏統(tǒng)一的用戶登錄平臺。
   使用SSO技術(shù)可以解決以上這些問題,SSO是身份管理中的一部分,關(guān)于安全與身份管理軟件市場,可參考:http://www./ablix/archive/2005/12/28/25804.html

使用SSO的好處

   使用SSO的好處主要有:

      (1)方便用戶

   用戶使用應(yīng)用系統(tǒng)時,能夠一次登錄,多次使用。用戶不再需要每次輸入用戶名稱和用戶密碼,也不需要牢記多套用戶名稱和用戶密碼。單點登錄平臺能夠改善用戶使用應(yīng)用系統(tǒng)的體驗。

      (2)方便管理員

   系統(tǒng)管理員只需要維護一套統(tǒng)一的用戶賬號,方便、簡單。相比之下,系統(tǒng)管理員以前需要管理很多套的用戶賬號。每一個應(yīng)用系統(tǒng)就有一套用戶賬號,不僅給管理上帶來不方便,而且,也容易出現(xiàn)管理漏洞。

      (3)簡化應(yīng)用系統(tǒng)開發(fā)

   開發(fā)新的應(yīng)用系統(tǒng)時,可以直接使用單點登錄平臺的用戶認證服務(wù),簡化開發(fā)流程。單點登錄平臺通過提供統(tǒng)一的認證平臺,實現(xiàn)單點登錄。因此,應(yīng)用系統(tǒng)并不需要開發(fā)用戶認證程序。

SSO實現(xiàn)技術(shù)

   實現(xiàn)SSO的技術(shù)主要有:

      (1)基于cookies實現(xiàn),需要注意如下幾點:如果是基于兩個域名之間傳遞sessionid的方法可能在windows中成立,在unix&linux中可能會出現(xiàn)問題;可以基于數(shù)據(jù)庫實現(xiàn);在安全性方面可能會作更多的考慮。另外,關(guān)于跨域問題,雖然cookies本身不跨域,但可以利用它實現(xiàn)跨域的SSO。

      (2)Broker-based(基于經(jīng)紀人),例如Kerberos等;

   這種技術(shù)的特點就是,有一個集中的認證和用戶賬號管理的服務(wù)器。經(jīng)紀人給被用于進一步請求的電子的身份存取。中央數(shù)據(jù)庫的使用減少了管理的代價,并為認證提供一個公共和獨立的"第三方"。例如Kerberos、SesameIBM KryptoKnight(憑證庫思想)等。

      (3)Agent-based(基于代理人)

   在這種解決方案中,有一個自動地為不同的應(yīng)用程序認證用戶身份的代理程序。這個代理程序需要設(shè)計有不同的功能。比如, 它可以使用口令表或加密密鑰來自動地將認證的負擔(dān)從用戶移開。代理人被放在服務(wù)器上面,在服務(wù)器的認證系統(tǒng)和客戶端認證方法之間充當一個"翻譯"。例如SSH等。

      (4)Token-based,例如SecurID、WebID、

   現(xiàn)在被廣泛使用的口令認證,比如FTP,郵件服務(wù)器的登錄認證,這是一種簡單易用的方式,實現(xiàn)一個口令在多種應(yīng)用當中使用。

      (5)基于網(wǎng)關(guān)

      Agent and Broker-based,這里不作介紹。

      (6)基于安全斷言標記語言(SAML)實現(xiàn),SAMLSecurity Assertion Markup Language,安全斷言標記語言)的出現(xiàn)大大簡化了SSO,并被OASIS批準為SSO的執(zhí)行標準。開源組織OpenSAML 實現(xiàn)了 SAML 規(guī)范,可參考http://www.

 

SUN  SSO技術(shù)
      SUN SSO技術(shù)是Sun Java System Access Manager產(chǎn)品中的一個組成部分。
      Sun 的新身份管理產(chǎn)品包括Sun Java System Identity ManagerSun Java System Directory Server Enterprise Edition Sun Java System Access Manager,以上三者為Sun Java Identity Management Suite (身份識別管理套件)的組成部分,它們與Sun Java Application Platform SuiteSun Java Availability Suite、Sun Java Communications Suite、Sun Java Web Infrastructure Suite組成Java ES。具有革新意義的這一系列產(chǎn)品提供端到端身份管理,同時可與 60 多種第三方資源和技術(shù)實現(xiàn)互操作,集成產(chǎn)品可以從SUN公司網(wǎng)站下載,一般以Agent軟件方式提供,是業(yè)內(nèi)集成程序最高、最為開放的身份管理解決方案之一。
   在Sun 的新身份管理產(chǎn)品中,Sun Java System Access Manager是基中的一個重要組成部分,Java Access Manager基于J2EE架構(gòu),采用標準的API,可擴展性強,具有高可靠性和高可用性,應(yīng)用是部署在Servlets容器中的,支持分布式,容易部署且有較低的TCO。通過使用集中驗證點、其于角色的訪問控制以及 SSOSun Java System Access Manager 為所有基于 Web 的應(yīng)用程序提供了一個可伸縮的安全模型。它簡化了信息交換和交易,同時能保護隱私及重要身份信息的安全。

SUN SSO實現(xiàn)原理

      SSO的核心在于統(tǒng)一用戶認證,登錄、認證請求通過IDENTITY SERVER服務(wù)器完成,然后分發(fā)到相應(yīng)應(yīng)用。

      SUN SSOjava Access Manager的一個組成部分,SSO基于Cookie實現(xiàn)解釋如下:

      (1)Policy Agent on Web or Application Server intercepts resource requests and enforces access control;

      (2)Client is issued SSO token containing information for session Validation with Session service.

      (3)SSO token has no content- just a long random string used as a handle.

      (4)Web-based applications use browser session cookies or URL rewriting to issue SSO token.

      (5)Non Web applications use the SSO API(Java/c) to obtain the SSO token to validate the users identity.

SUN SSO 的應(yīng)用

   這里說的應(yīng)用是指Sun Java System Access Manager的應(yīng)用。成功應(yīng)用例子很多,包括德國電信等公司的應(yīng)用,國內(nèi)也有大量高校在使用,也有相當多的其它行業(yè)的應(yīng)用。

SUN SSO的開源
      Sun 將發(fā)布其網(wǎng)絡(luò)驗證與網(wǎng)絡(luò)單點登錄技術(shù),給一項新的開放源代碼計劃“Open Web Single Sign-On”Open SSO)。OpenSSO網(wǎng)站位于:https://opensso.dev./。該網(wǎng)站對OpenSSO的概述為:This project is based on the code base of Sun Java(tm) System Access Manager Product, a core identity infrastructure product offered by Sun Microsystems.

      OpenSSO 計劃的第一部份源代碼,將于今年年底完成,基本的版本將于明年3月份發(fā)布,而完整的版本可能要等到明年五月份。Sun 采用Solaris 操作系統(tǒng)相同的共同開發(fā)暨流通授權(quán)(Common Development and Distribution License)方式。

 

CAS背景介紹

      CASCentral Authentication Service),是耶魯大學(xué)開發(fā)的單點登錄系統(tǒng)(SSO,single sign-on),應(yīng)用廣泛,具有獨立于平臺的,易于理解,支持代理功能。CAS系統(tǒng)在各個大學(xué)如耶魯大學(xué)、加州大學(xué)、劍橋大學(xué)、香港科技大學(xué)等得到應(yīng)用。

      Spring FrameworkAcegi安全系統(tǒng)支持CAS,并提供了易于使用的方案。Acegi安全系統(tǒng),是一個用于Spring Framework的安全框架,能夠和目前流行的Web容器無縫集成。它使用了Spring的方式提供了安全和認證安全服務(wù),包括使用Bean Context,攔截器和面向接口的編程方式。因此,Acegi安全系統(tǒng)能夠輕松地適用于復(fù)雜的安全需求。Acegi安全系統(tǒng)在國內(nèi)外得到了廣泛的應(yīng)用,有著良好的社區(qū)環(huán)境。

CAS的設(shè)計目標

      (1)為多個Web應(yīng)用提供單點登錄基礎(chǔ)設(shè)施,同時可以為非Web應(yīng)用但擁有Web前端的功能服務(wù)提供單點登錄的功能;

      (2)簡化應(yīng)用認證用戶身份的流程;

      (3)將用戶身份認證集中于單一的Web應(yīng)用,讓用戶簡化他們的密碼管理,從而提高安全性;而且,當應(yīng)用需要修改身份驗證的業(yè)務(wù)邏輯時,不需要到處修改代碼。

CAS的實現(xiàn)原理

      CASCentral Authentication Server)被設(shè)計成一個獨立的Web應(yīng)用。實現(xiàn)原理非常簡單,CAS Server2.0.12的實現(xiàn)只有30個類,除了JDK本身外,只使用到一個servlet.jar包。它目前的實現(xiàn)是運行在HTTPS服務(wù)器的幾個Java Servlet上(而客戶端可以靈活采用httphttps的方式)。
   通過CAS2.0.12認證的序列圖如下圖(因圖片顯示問題,暫時去除)。

CAS在應(yīng)用中的運行硬件環(huán)境
      University of Delaware: Sun Fire 280R/ 2x750 MHz/ 4 GB memory/ 550.3 GB disk storage
      University of Hawaii: a single Sun Netra X1 (UltraSPARC-IIe 500MHz) with 1.0GB RAM dedicated to running CAS. 2.
CAS2.0.12中關(guān)于ticket的生成

      CAS創(chuàng)建一個位數(shù)很長的隨機數(shù)(ticket)。CAS把這個ticket和成功登錄的用戶以及用戶要訪問的service聯(lián)系起來。例如,如果用戶peon重定向自service SCAS創(chuàng)建ticket T,這個ticket T允許peon訪問service S。這個ticket是個一次性的憑證;它僅僅用于peon和僅僅用于service S,并且只能使用一次,使用之后馬上會過期,即ticket通過驗證,CAS立即刪除該ticket,使它以后不能再使用。這樣可以保證其安全性。

   關(guān)于ST,在取一個ST時,即使用deleteTicket(ticketId)同時將一次性的ST刪除;而對于TGTPT,則通過resetTimer(ticketId)以更新TGTPT的時間。CAS服務(wù)端返回的ST中只能得出用戶名。
      另外,CAS3.0版本也已經(jīng)發(fā)布了,現(xiàn)在最新的版本是3.03,希望CAS3.0在向下兼容的同時,更能向我們提供一些新東西。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多