摘 要:本文從醫(yī)院信息化建設的現狀出發(fā),提出了一個基于LADP應用的統一身份認證管理的單點登錄解決方案。著重對SSO的認證流程以及該方案的技術實現細節(jié)作了比較深入地探討和分析。
關鍵詞:統一用戶;單點登錄;LADP
中圖分類號:TP393.08
隨著醫(yī)院網絡信息化建設的不斷深入,使得網絡管理特別是用戶管理變得越來越復雜[1]。目前大部分應用系統都各自擁有獨立的身份認證機制對用戶進行授權,用戶在進入不同系統時,需要輸入對應系統的用戶名和口令方能通過系統的認證。這不僅使得系統的日常運行和維護十分不便,也造成了一定的資源的浪費和安全隱患。為此,我們采用統一的用戶管理的身份認證(UAMS,Unified-Authentication-Management-System),實現用戶單點登錄(Single Sign-On,SSO),用戶只需輸入一次口令,就可以在其權限范圍內到達各個業(yè)務系統。
1 LDAP目錄服務
LDAP是輕量級目錄訪問協議(Lightweight Directory Access Protocol)是目錄訪問協議的一種,它是對X.500的目錄訪問協議的移植,但是簡化了實現方法[2]。同時它是一種標準、開放、可擴展的目錄訪問協議。它主要有以下特點和優(yōu)勢:
特點:
(1)標準的訪問協議;
(2)讀多于寫;
(3)一般不支持事物處理;
(4)目錄查詢速度快,索引功能強大;
(5)一種可選擇性協商的面向連接的安全協議;
(6)方便的備份和恢復功能。
目錄服務將分布式系統中的用戶、資源和組成分布式系統的組織起來,提供一個單一的邏輯視圖,允許用戶和應用透明地訪問網絡上的資源。
優(yōu)勢:
(1)網絡的集中管理點,網絡管理工作大大減輕,包括管理網絡上的各個應用;
(2)存儲在其它條件下很難處理的管理信息;
(3)數據安全可靠,訪問控制粒度細膩;
(4)系統資源信息的利用率高、管理的可擴展性好;
(5)LDAP協議是跨平臺的和標準的協議;
(6)數據分布廣,規(guī)??伸`活擴充。
LDAP服務器可以是任何一個開放源代碼或商用的LDAP目錄服務器,可以用同樣的協議\客戶端連接軟件包和查詢命令與LDAP服務器進行交互。
LDAP元數據模型定義目錄存儲的對象類、屬性類、屬性語法等類型,通過定義存儲在不同條目下對象類型之間的關系,構成完整目錄元數據模型也被稱為Schema。
1.1 LADP目錄結構
2 統一用戶系統技術方案
2.1 系統概述
該系統主要包括統一用戶和部門管理、統一認證和授權兩個部分。統一用戶和部門管理提供了用戶和部門之間的從屬關系,支持部門之間的各種關系。統一認證和授權提供了對用戶的認證、授權、加密等管理。
系統利用LDAP目錄服務中提供的分布式服務,將用戶基本信息、用戶管理信息、網絡應用資源信息以及用戶對網絡應用資源的訪問權限等以目錄樹的形式加以組織存儲,并在此基礎上提出一套統一的用戶身份認證及網絡應用資源管理模式,從而實現對用戶的統一身份認證、單點登錄、集中鑒權以及對網絡應用資源的統一管理[4]。系統結構圖如圖3:
2.2 統一用戶管理
用戶信息統一管理為信息系統建立一個統一、標準的員工信息體系應用[5]。對員工信息進行統一管理,能使員工在不同系統之間的信息保持一致。同時,用戶帳戶信息的統一,為實現不同系統之間的統一登錄提供良好的信息基礎,為新的系統建設提供訪問控制的帳戶資源與標準
此子系統包括組織結構管理、用戶管理、業(yè)務系統(資源)管理、業(yè)務系統內部角色管理、統一用戶系統角色管理。用戶管理系統結構圖如下:
2.3 基于分級角色的權限管理
系統中用戶權限由兩部分組成。一部分為統一用戶系統的角色,另一部分為業(yè)務系統自身的角色權限。統一用戶系統的角色權限控制登錄用戶對各子業(yè)務系統的使用和登錄,業(yè)務系統的子角色則控制用戶在各自業(yè)務系統內部功能的授權。其結構圖如圖5。
在實際應用系統中,系統權限管理,系統權限管理是對應用系統提供的業(yè)務功能與操作用戶之間的業(yè)務功能權限、數據權限的管理,即實現不同的操作用戶擁有不同的業(yè)務功能權限和業(yè)務數據權限。它是應用系統的基礎。構建一套以“角色+崗位”為基礎的業(yè)務權限管理模型,并將它做為業(yè)務權限管理的理論依據,其中角色屬于技術范疇,崗位屬于業(yè)務范疇,這樣能更好的結合技術實現業(yè)務要求。
基本概念:
組織機構:醫(yī)院管理中分層的基本單元,在本系統中組織機構只支持單樹模型,即一個政府機構/企業(yè)只有一個根機構,除根機構外其他組織機構只有一個父機構,可以有0個或多個子機構,一個機構可以有0個或多個崗位;
崗位:某個部門的職位(相當于在部門下有相同職能的用戶的集合),它隸屬于某個具體的部門,一個崗位只屬于一個部門,并且可以有0個或多個用戶在崗位上任職;一個崗位可以有0個或多個角色;
用戶:能夠使用應用系統的身份唯一的人,一個用戶可以隸屬多個崗位;一個用戶只屬于一個部門;
用戶組:具有某個共同目標的用戶集合,一個用戶組可以有0個或多個角色;
角色:訪問應用系統各種權限(包括菜單、功能和數據權限)的集合,一個用戶可以有0或多個角色;
菜單:在B/S應用中,可以進行點擊操作的入口,菜單分為葉子菜單和非葉子菜單,一個非葉子菜單可以有多個葉子菜單和非葉子菜單。
2.4 同步方式
統一用戶管理系統采用的是基本標準的webservice方式進行同步,采用推送的方式將所有的變更信息按照規(guī)定的接口推送到對應的應用系統。同時各應用系統修改組織結構、用戶信息、角色權限等信息時也通過調用webservice的方式推送到統一用戶管理系統以及其他對應的業(yè)務應用系統。流程圖如圖7:
(1)需要同步數據的應用系統根據規(guī)范約定的接口提供服務實現。
(2)統一用戶管理系統在進行數據變更的同時將數據變化通過客戶端調用推送給相應的應用。
(3)應用根據接口要求返回成功或失敗。
(4)用戶管理系統根據返回提示。
3 統一認證接口子系統
3.1 SSO解決方案
SSO全稱Single Sign On,是在多個應用系統中,用戶只需要登錄一次就可以訪問所有相互信任的應用系統。它包括可以將這次主要的登錄映射到其他應用中用于同一個用戶的登錄的機制。它是目前比較流行的企業(yè)業(yè)務整合的解決方案之一。單點登錄系統結構圖如圖8。
單點登陸解決方案有兩種:
(1)模擬登陸方式。此模式根據用戶預留下來的用戶名,密碼,把此值代入預先寫的一個form表單中,然后進行自動提交登錄驗證。
優(yōu)點:對需要登錄的系統做簡單修改,甚至不需做修改就可以進行登錄
缺點:因為需要表單重新提交,所以訪問速度略慢一些,而且如果您想查看子系統內容時,無法直接訪問您需要訪問的內容頁面,需進入子系統后才可訪問。
(2)通過信任第三方的方式。
所謂第三方驗證,也就是所有系統共同信任的第三方系統進行用戶的驗證,用戶在訪問所有的系統時都會把用戶登錄信息保存在第三方系統中,如果此用戶訪問其他系統時,不需要重新登陸,只需在第三方系統中驗證通過后,其他系統就默認其用戶身證屬于正確的,可以進行操作。
在第三方系統驗證中有以下幾種模式:
口令牌認證方式:在用戶進行登錄時,系統在認證中心獲取一復雜字符串(即口令牌),當用戶訪問其他系統的某一條信息時需把此口令牌和需要訪問的地址一并發(fā)送到認證中心,在認證中心進行此口令牌驗證是否正確,如果無誤,轉向需要訪問的地址。
優(yōu)點:在做身份驗證各方法中,屬于最簡單和最容易理解的方式
缺點:存在一定安全隱患,并且訪問一個網頁時,網頁地址不能寫成靜態(tài)網址,因為為了安全考慮,每登陸一次系統時,口令牌都是隨機生成,所以無法寫成固定模式。
第三方域名認證方式:用戶在登錄系統時,驗證通過后系統轉向訪問認證中心,并把用戶信息和要訪問的頁面?zhèn)鲄⒔o認證中心,認證中心以自己的域名把用戶信息用cookie或session方式存儲起來,這樣用戶再訪問其他系統時,都會先訪問認證中心,認證中心根據存儲的信息進行驗證。
優(yōu)點:安全性高,并且跟據需要可以長時間保存用戶信息,訪問方便
缺點:需要一獨立域名,用戶訪問時系統必須訪問認證中心,認證中心出現問題時,各子系統都將無法正常訪問
其他身份驗證方式:用戶登陸時留下訪問認證中心,認證中心保存用戶一些特殊的信息,以便以后訪問時進行的身份驗證,如:用戶的機器號,用戶路由號,IP地址,瀏覽器ID等。
優(yōu)點:在一些特殊用處時,安全級別高
缺點:無法進行很大范圍應用,否則安全級別會隨之降低
3.2 UAMS實現
用戶統一身份認證的設計思想是建立一個統一的身份認證平臺,利用目錄服務集中存儲用戶的信息和各個應用系統的信息,應用Web Services技術將系統的統一認證封裝為Web服務,便于應用系統的調用,從而實現統一認證、統一管理和統一授權。
統一認證子系統是位于多個應用系統和統一身份認證中心之間,該系統接受用戶認證請求,由認證中心進行認證并將認證結果返回給應用系統。認證流程圖如圖9:
(1)產品系統登陸時需向認證中心索取得到TOKEN(口令碼),方式為Webservice,得到值為String型。
(2)登陸驗證成功轉向頁面為認證中心指定網址,參數有三個:①token:得到的口令碼。②url:需要轉向的登陸后頁面。③errorUrl:錯誤轉向頁面。
4 結論
本文闡述了實現統一用戶管理系統的技術方案,介紹了統一身份認證的實現技術。隨著單點登錄在醫(yī)院信息化進程中的實現,正在從一個域向多個域的單點登錄推進,逐步實現不同域(即不同單位)間的聯盟認證,從而實現原本一個單位內部的信息共享到不同單位間的信息共享。統一身份認證和單點登錄在目前信息化進程中,為網絡資源的共享提供了一個有效的、安全的解決方案。
參考文獻:
[1]焦靜,李勇.基于LDAP的統一身份認證的設計與實現[J].科學技術與工程,2007,7(4):646-649.
[2]南相浩,白鵬,徐志大.目錄服務協議分析、比較與實現[J].計算機工程與應用,2001,37(3):51-53.
[3]M wahl,T Howes S Kille.Lightweight Directory Access Protocol Version 3[R],RFC2251,1997.
[4]王春耕,朱建濤.大規(guī)模機群系統中基于LDAP的用戶管理[J].計算機工程與應用,2004,40(18):47-49.
[5]Gerald Carter.LDAP system administrator[M].Sebastopol:O'Reillyan dAssociatesInc,2003.