企業門戶應用整合中單點登錄(SSO)的技術實現與應用

 

企業門戶應用整合中單點登錄(SSO)的技術實現與應用

相關專題: 電子應用
時間:2009-07-27 09:56來源: icbuy億芯網
1 引 言

  企業在信息化建設過程中,由於經常採用逐步信息化的方式,因此會造成企業內部各個應用系統的用戶目錄不完全兼容,各應用系統相互孤立,形成“信息孤島”。信息孤島的存在,使得信息系統用戶需要做重複的登錄。因此實際中,需要一個統一的用戶登錄管理系統平臺,來實現用戶統一身份驗證。用戶登錄到某一應用系統(通常是門戶站點,如辦公自動化系統)後,當需要訪問其他應用系統時,不必登錄就可以直接進入應用系統。

  單點登錄系統平臺採用統一的用戶信息數據庫,實現用戶統一驗證。從用戶的角度只需進行一次登錄就可實現全局訪問;從管理員的角度,能夠記錄用戶登錄各個系統的日誌信息,方便進行統計分析。

2 單點登錄的實現原理

2.1 單點登錄的一般模型

  單點登錄模型,一般由三部分構成,分別是:用戶、身份提供者和服務提供者,如圖1所示。

  (1)用戶是指通過瀏覽器來使用應用服務的個體。

  (2)身份提供者是指對個體進行身份驗證的服務提供者。

  (3)服務提供者是指爲用戶進行應用服務的具體應用服務提供者。

  單點登錄的工作原理是:用戶首先在身份提供者那裏註冊身份;當用戶進行單點登錄時,在身份提供者處登錄,進行身份驗證,由身份提供者爲用戶標記登錄信息;當訪問其他的服務提供者時,被訪問的服務提供者首先直接與身份提供者進行交互,確定該用戶是否已進行單點登錄,從而確定允許該用戶來訪問自己提供的服務。

2.2 單點登錄的重要概念

2.2.1 單點登錄點

  理想的情況是用戶通過任何應用系統都能進行SSO(Single Sign-on),這對於基於Web的系統是可行的。這種單一的登錄點在整個系統的設計中是惟一認證用戶的地方,由登錄點將SSO token(單點登錄標誌)(針對不同的C/S,B/S應用可能還需要傳遞用戶名,口令)傳遞給應用系統,應用系統利用SSO token進行用戶已認證的驗證。將這個單一的登錄點稱爲SSO Entry(單點登錄點)。

2.2.2 對原有應用系統的修改

  並不是任何系統都能夠使用SSO,只有那些符合SSO規範,使用SSO API的應用系統才具有SSO的功能。因此,進行單點登錄,需要修改已有的應用系統,屏蔽已有的應用系統的用戶認證模塊,使用單點登錄系統提供的SSOAPI來驗證用戶,以及對用戶的操作進行授權。

2.2.3 建立統一的認證權限信息庫

  建立統一的認證,權限存放庫,進行認證與授權管理,將系統的認證、授權信息存貯結構與訪問控制邏輯和應用的業務邏輯進行分離,使它們之間成爲一種鬆散的耦合,便於系統的靈活管理。

2.3 單點登錄的工作流程

  單點登錄有三個主體:使用Web瀏覽器的用戶、服務提供者和登錄服務器。登錄服務器保存着用戶的認證信息以及用戶的個人信息,服務提供者在得到用戶允許的前提下可以到登錄服務器上獲取用戶個人信息。

  單點登錄協議流程如圖2所示。

 

  首先,當一個用戶通過瀏覽器訪問一個服務提供者時,如果該服務提供者需要驗證用戶的身份,就把該用戶的瀏覽器重定向到登錄服務器;登錄服務器通過SSL連接爲用戶提供一個登錄頁面,用戶進行登入;用戶登錄服務器後,被重定向回服務提供者,此時認證信息被包含在重定向消息中;服務提供者檢驗認證信息的真實性後,即可認爲該用戶成功登錄。

3 單點登錄系統的體系結構

  單點登錄系統平臺主要由系統平臺管理模塊、應用系統代理模塊、數據庫三部分組成。

3.1 管理模塊

  單點登錄系統平臺的管理模塊主要實現各種服務,主要包括:會話管理服務,日誌審計服務,身份驗證服務,授權服務。

  會話管理服務 單點登錄系統平臺的基礎服務。用戶登錄單點登錄的門戶站點後,會話狀態通過會話管理服務來管理,實現單點登錄;

  日誌審計服務 單點登錄系統平臺的輔助服務。日誌審計實現對用戶使用單點登錄系統平臺的詳細日誌,日誌信息包括:登錄時間、登錄用戶身份、登錄應用系統、登錄時使用的客戶機IP地址和MAC地址等;

  身份驗證服務 單點登錄系統平臺的擴展服務,實現對用戶身份的驗證。身份驗證的方式可以多樣,不同的應用環境可能採用不同的驗證方式,單點登錄系統平臺能夠方便地與現有的身份驗證方式兼容,也能進行擴展;

  授權服務 單點登錄的擴展服務,能夠實現對某些應用系統的授權。不同的用戶對同一應用系統的訪問權限是不同的,在單點登錄系統平臺上,可以實現系統級的授權。

3.2 數據庫模塊

  單點登錄系統平臺的數據庫模塊主要存儲單點登錄時的各種數據,主要包括:用戶目錄數據庫、登錄日誌數據庫等。

  用戶目錄數據庫 系統平臺使用統一的用戶目錄數據庫,集中進行管理。各個應用系統進行身份驗證時,都使用這個集中的數據庫。

  登錄日誌數據庫 系統平臺能夠對用戶的身份驗證行爲進行日誌記錄,隨時把握“何人何時以何種方式訪問何種應用系統”。

3.3 應用系統代理模塊

  目前應用系統代理模塊與單點登錄系統平臺進行通信,實現各應用系統與系統平臺管理系統的連接。

4 單點登錄系統的部署

4.1 單點登錄系統的安全性要求

  作爲應用系統的基礎平臺,單點登錄系統平臺的安全性非常重要。可以採用以下的方法保證系統安全:

  (1)內容安全。通過應用安全級別較高的加密算法,對存儲的用戶登錄信息,包括用戶登錄名稱、登錄ID號碼、電子數字證書等進行加密,保證即使系統管理員也無法獲得或更改這些信息;

  (2)傳輸安全。信息在傳輸的過程中,也有可能被竊聽和篡改。對於B/S系統,採用HTTPS/SSL安全傳輸通道,保證信息在傳輸中的安全;對於C/S系統,應用業界標準的安全認證協議,在傳輸前進行雙向認證,同時,對通信內容進行加密和散列,也能保證信息在傳輸中的安全;

  (3)事後安全。在安全模型中,除了事前評估,事中控制外,還有事後的審計。單點登錄平臺提供完善的日誌記錄功能,日誌內容包括登錄時間、登錄用戶身份、登錄的應用系統、登錄時使用的客戶機IP地址、計算機名和MAC地址等。

  單點登錄系統的安全結構如圖3所示。

 

  圖3中,粗黑體標記出的“加密用戶信息”、“日誌數據庫”、“安全傳輸通道(HTTPS等)”、“安全認證通道(挑戰/相應協議等)”,都是單點登錄平臺採取的安全措施。

  單點登錄平臺實現內容安全、傳輸安全和事後安全,保證了整個平臺系統的立體安全。

  單點登錄平臺能夠詳細記錄用戶使用單點登錄平臺的情況,包括登錄時間、登錄用戶身份、登錄的應用系統、登錄時使用的客戶機IP地址、計算機名和MAC地址等。同時,還提供圖形化的日誌查詢工具,方便管理員進行統計分析和審計員進行監督審計。

4.2 單點登錄系統的部署

  單點登錄系統平臺通過嚮應用系統提供單點登錄服務,實現單點登錄。因此,單點登錄系統平臺部署與普通的應用系統部署不同。除了單點登錄平臺自身的部署外,支持單點登錄的應用系統需要進行系統改造,系統改造以單點登錄服務接口規範作爲依據。

  單點登錄系統的部署的示意圖如圖4所示。白色的立方體表示應用系統。淺藍色的立方體表示單點登錄SSO平臺。從圖中可以看出:各個應用系統與SSOEntry發生聯繫。SSO Entry需要嚮應用系統傳遞SSO Token,用戶名,口令,然後啓動應用系統。

5 單點登錄系統的應用

  天津大港石化總廠建立了企業門戶,企業門戶統一管理多種企業應用,包括銷售系統、檢測系統、生產系統、合同系統、辦公系統、人事系統、電子地圖、郵件系統等。這些應用有的是採用B/S架構,有的是採用C/S架構,有的是企業內部應用通過企業局域網應用,有的是採用廣域網,跨區域實現。

  在確定單點登錄系統設計時,確定的目標是:單點登錄不能夠修改任何現有B/S,C/S應用系統,這對目前SSO系統提出了技術方案與技術實施上的難題,目前普通單點登錄系統一般難以克服這樣的問題。根據與合作的技術開發與實施單位溝通,採用代理方式實現了單點登錄。即現有應用系統的認證方式均不改變,通過單點登錄系統獲取用戶名和密碼,交給單點登錄代理,由代理實現對現有系統的登錄,這一實現方法在實際中被證明是切實可行的

 

發佈了165 篇原創文章 · 獲贊 4 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章