王靜
(赤峰學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)系,內(nèi)蒙古 赤峰 024000)
校園網(wǎng)中用戶統(tǒng)一身份認(rèn)證技術(shù)的研究
王靜
(赤峰學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)系,內(nèi)蒙古 赤峰 024000)
從統(tǒng)一身份認(rèn)證的設(shè)計(jì)角度出發(fā),提出了一個(gè)基于LDAP的統(tǒng)一身份認(rèn)證的實(shí)現(xiàn)框架,實(shí)現(xiàn)對(duì)用戶進(jìn)行統(tǒng)一管理、統(tǒng)一認(rèn)證和統(tǒng)一授權(quán).
統(tǒng)一身份認(rèn)證;LDAP;目錄;目錄服務(wù)
隨著網(wǎng)絡(luò)和信息技術(shù)的發(fā)展,學(xué)校內(nèi)很多部門相繼開發(fā)自己的網(wǎng)絡(luò)應(yīng)用系統(tǒng)以提高工作效率.校園網(wǎng)應(yīng)用系統(tǒng)涉及廣泛,包括辦公自動(dòng)化服務(wù)、一卡通服務(wù)、郵件服務(wù)等多種應(yīng)用.應(yīng)用系統(tǒng)都有一套自己的用戶管理方案,用戶在轉(zhuǎn)換系統(tǒng)時(shí)不得不重新輸入用戶名和密碼,這不僅繁瑣并且容易出現(xiàn)口令丟失,而且還增加了用戶帳號(hào)泄密的危險(xiǎn),降低了系統(tǒng)的安全性.系統(tǒng)管理員又要維護(hù)這些系統(tǒng)中重復(fù)的帳戶,從而增加了工作負(fù)擔(dān).
校園網(wǎng)的統(tǒng)一身份認(rèn)證系統(tǒng)將這些應(yīng)用的獨(dú)立認(rèn)證系統(tǒng)進(jìn)行整合,使不同應(yīng)用在統(tǒng)一的用戶資料基礎(chǔ)上進(jìn)行統(tǒng)一身份認(rèn)證.目錄和LDAP技術(shù)在存儲(chǔ)、查詢數(shù)據(jù)時(shí)有很高的執(zhí)行效率,可以利用LDAP構(gòu)建復(fù)雜的分布式目錄結(jié)構(gòu),在目錄中存儲(chǔ)各種類型的數(shù)據(jù),并提供基于這些目錄的高效訪問(wèn).
(1)統(tǒng)一的用戶認(rèn)證機(jī)制,支持單點(diǎn)登錄.用戶登錄所有應(yīng)用系統(tǒng)都使用唯一的用戶名和口令(或數(shù)字證書);所有應(yīng)用系統(tǒng)都使用一致的登錄操作;訪問(wèn)多個(gè)系統(tǒng)時(shí),只需要登錄一次.
(2)提供統(tǒng)一、集中、有效的用戶管理.盡可能利用現(xiàn)有系統(tǒng)的身份認(rèn)證模塊以及現(xiàn)有的用戶設(shè)置和權(quán)限設(shè)置,減少重新進(jìn)行用戶設(shè)置和權(quán)限設(shè)置的費(fèi)用,避免對(duì)現(xiàn)有系統(tǒng)進(jìn)行大規(guī)模的修改;具有良好的擴(kuò)展性和可集成性.
(3)設(shè)計(jì)成獨(dú)立的服務(wù),具有方便的第三方開發(fā)接口.
(4)具有良好的平臺(tái)兼容性.統(tǒng)一身份認(rèn)證系統(tǒng)由于要和各種應(yīng)用系統(tǒng)集成才能為其提供服務(wù),而各應(yīng)用系統(tǒng)可能運(yùn)行在多種操作系統(tǒng)平臺(tái)之上,使用不同的數(shù)據(jù)庫(kù)系統(tǒng).因此,統(tǒng)一身份認(rèn)證應(yīng)該屏蔽各應(yīng)用系統(tǒng)的平臺(tái)差異,能夠?yàn)楦鞣N應(yīng)用系統(tǒng)提供一致的認(rèn)證服務(wù).
(5)高度的安全性.一方面,認(rèn)證服務(wù)本身的功能性質(zhì),要求系統(tǒng)注意杜絕漏洞和隱患的存在.另外,有些應(yīng)用系統(tǒng)(如安全郵件)的特點(diǎn)更加突出了安全性在系統(tǒng)設(shè)計(jì)開發(fā)中的地位.應(yīng)采取一定措施,使得信息的生成,存儲(chǔ)和傳遞等各個(gè)環(huán)節(jié),都處在有效的安全保障之中.
(6)可集成性.對(duì)于遺留的應(yīng)用系統(tǒng),提供認(rèn)證結(jié)果自動(dòng)向應(yīng)用系統(tǒng)的認(rèn)證模塊進(jìn)行傳遞.能夠盡可能地利用現(xiàn)有系統(tǒng)的身份認(rèn)證模塊及現(xiàn)有的用戶設(shè)置和權(quán)限設(shè)置,避免對(duì)遺留系統(tǒng)進(jìn)行大規(guī)模的修改.
(7)擴(kuò)展性.當(dāng)有新的應(yīng)用被部署或開發(fā)的時(shí)候,這個(gè)統(tǒng)一身份認(rèn)證服務(wù)還可以作為其身份認(rèn)證模塊的形式工作,自動(dòng)生成授權(quán)結(jié)果傳遞給應(yīng)用系統(tǒng)的授權(quán)執(zhí)行模塊.
(8)易操作性.方便管理員對(duì)安全信息管理配置.
把目錄服務(wù)器作為存儲(chǔ)各應(yīng)用服務(wù)器用戶信息的數(shù)據(jù)庫(kù),開發(fā)使用LDAP進(jìn)行身份認(rèn)證的功能模塊,實(shí)現(xiàn)不同應(yīng)用服務(wù)器的用戶身份認(rèn)證的多證合一,即同一用戶使用唯一的帳戶和密碼就可以訪問(wèn)不同的服務(wù).使用目錄服務(wù)器來(lái)進(jìn)行身份認(rèn)證具有管理方便、安全可靠、可擴(kuò)展性好等優(yōu)點(diǎn).其認(rèn)證模型如圖1所示.
使用統(tǒng)一身份認(rèn)證平臺(tái)來(lái)接管各個(gè)應(yīng)用中的認(rèn)模塊,從而將原先獨(dú)立的應(yīng)用系統(tǒng)有機(jī)地整合在一起.對(duì)于用戶而言,只要登錄統(tǒng)一身份認(rèn)證服務(wù)后,即可使用所有支持統(tǒng)一身份認(rèn)證服務(wù)的應(yīng)用系統(tǒng).客戶端登錄流程如圖2所示.
客戶端用戶登錄子系統(tǒng)提供完整的單點(diǎn)登錄支持,用戶輸入身份認(rèn)證信息,系統(tǒng)接收到信息后,由統(tǒng)一驗(yàn)證服務(wù)來(lái)驗(yàn)證該信息,驗(yàn)證成功接受用戶的訪問(wèn);若驗(yàn)證失敗,則提示用戶是否進(jìn)行重新的驗(yàn)證.用戶只登錄一次,就可以使用同一使用者憑證,在平臺(tái)上的各資源子系統(tǒng)中按授予的權(quán)限訪問(wèn)網(wǎng)絡(luò)資源,用戶不會(huì)因?yàn)樵L問(wèn)不同資源子系統(tǒng)的資源而被要求多次登錄.
統(tǒng)一身份認(rèn)證系統(tǒng)設(shè)計(jì)的主要思想是應(yīng)用目錄服務(wù)集中存儲(chǔ)用戶的信息和各個(gè)應(yīng)用系統(tǒng)的信息,然后通過(guò)統(tǒng)一身份認(rèn)證服務(wù)實(shí)現(xiàn)對(duì)用戶的集中管理、集中認(rèn)證和統(tǒng)一授權(quán).系統(tǒng)結(jié)構(gòu)如圖3所示.
系統(tǒng)主要包括三個(gè)部分:
(1)用戶的認(rèn)證
為了在校園網(wǎng)中實(shí)現(xiàn)基于用戶的網(wǎng)絡(luò)管理,要求所有用戶在使用網(wǎng)絡(luò)資源以前要先登錄認(rèn)證服務(wù)器以確認(rèn)身份.之后,將用戶的身份和他所使用的IP地址和MAC地址綁定,以解決IP地址盜用的問(wèn)題,同時(shí)實(shí)現(xiàn)基于用戶的記費(fèi)等管理.用戶登錄應(yīng)用系統(tǒng)申請(qǐng)服務(wù)時(shí),提供一個(gè)由統(tǒng)一身份認(rèn)證系統(tǒng)發(fā)給的身份認(rèn)證令牌,由應(yīng)用系統(tǒng)將這個(gè)認(rèn)證令牌交給統(tǒng)一身份認(rèn)證服務(wù)器進(jìn)行認(rèn)證,確認(rèn)用戶身份后應(yīng)用系統(tǒng)根據(jù)用戶的組別授予用戶相應(yīng)的訪問(wèn)權(quán)限.
(2)用戶的集中管理
在學(xué)校里,每個(gè)人都有自己的一個(gè)身份,它是由學(xué)校相應(yīng)的管理部門負(fù)責(zé)維護(hù)和管理的.各個(gè)管理部門有自己的一套數(shù)據(jù)庫(kù)系統(tǒng)維護(hù)著相應(yīng)的資料.作為網(wǎng)絡(luò)管理部門,進(jìn)行用戶的身份的集中管理,主要的任務(wù)就是實(shí)現(xiàn)用戶的真實(shí)身份到用戶的電子身份的一個(gè)映射,確保每個(gè)校園網(wǎng)的用戶得到一個(gè)和他的真實(shí)身份相對(duì)應(yīng)的電子身份,并享有和他的身份相對(duì)應(yīng)的網(wǎng)絡(luò)使用權(quán)限.因此,用戶集中管理部分的設(shè)計(jì)重點(diǎn)在于實(shí)現(xiàn)和現(xiàn)有用戶管理系統(tǒng)之間的信息交互,實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫(kù)之間的數(shù)據(jù)交流.
(3)應(yīng)用系統(tǒng)注冊(cè)
在校園網(wǎng)中,某個(gè)應(yīng)用系統(tǒng)總是設(shè)計(jì)給校園中特定的用戶群使用的.每個(gè)應(yīng)用系統(tǒng)要使用統(tǒng)一身份認(rèn)證模式,它必須先向統(tǒng)一身份認(rèn)證系統(tǒng)進(jìn)行注冊(cè),通過(guò)登錄系統(tǒng)注冊(cè)的Web界面,填寫相應(yīng)的表單,提供必須的信息,包括應(yīng)用系統(tǒng)的身份信息、應(yīng)用系統(tǒng)所有合法用戶的信息、應(yīng)用系統(tǒng)的訪問(wèn)控制信息、應(yīng)用資源的訪問(wèn)控制信息等.
系統(tǒng)主要實(shí)現(xiàn)三個(gè)功能模塊:統(tǒng)一認(rèn)證和授權(quán)、用戶資料管理和應(yīng)用系統(tǒng)的注冊(cè).各個(gè)功能模塊相對(duì)獨(dú)立,可以分別實(shí)現(xiàn).
5.1 統(tǒng)一認(rèn)證和授權(quán)模塊
系統(tǒng)的主要功能就是實(shí)現(xiàn)用戶的統(tǒng)一認(rèn)證和授權(quán),用戶登錄統(tǒng)一身份認(rèn)證后即可使用所有支持統(tǒng)一身份認(rèn)證服務(wù)的應(yīng)用系統(tǒng).
基于請(qǐng)求/應(yīng)答模式的認(rèn)證機(jī)制在實(shí)現(xiàn)上比較簡(jiǎn)單,并且可以反映用戶的在線狀態(tài),防止地址盜用,有利于實(shí)現(xiàn)校園網(wǎng)網(wǎng)絡(luò)管理中基于用戶的管理機(jī)制.但是這種模式只適用于對(duì)用戶的登錄認(rèn)證,為了將它應(yīng)用于其它應(yīng)用系統(tǒng)的統(tǒng)一認(rèn)證過(guò)程,可以結(jié)合Kerberos協(xié)議對(duì)其進(jìn)行擴(kuò)展.身份認(rèn)證一般是和授權(quán)控制相結(jié)合的,授權(quán)控制就是一旦用戶的身份通過(guò)認(rèn)證后,確定哪些資源是該用戶可以訪問(wèn)的、該用戶對(duì)資源的訪問(wèn)權(quán)限操作等.認(rèn)證的目的就是為了給用戶授權(quán).結(jié)合校園網(wǎng)的實(shí)際情況,系統(tǒng)中可采用基于角色的訪問(wèn)控制策略.
授權(quán)策略的具體實(shí)現(xiàn)是,應(yīng)用系統(tǒng)根據(jù)用戶權(quán)限不同將合法用戶分為若干組,應(yīng)用系統(tǒng)根據(jù)用戶的身份信息決定用戶屬于哪個(gè)用戶組別.應(yīng)用系統(tǒng)注冊(cè)后將其用戶組信息存儲(chǔ)在目錄數(shù)據(jù)庫(kù)中,應(yīng)用系統(tǒng)要求統(tǒng)一身份認(rèn)證系統(tǒng)認(rèn)證用戶身份信息時(shí),統(tǒng)一身份認(rèn)證系統(tǒng)根據(jù)用戶身份查找用戶在應(yīng)用系統(tǒng)所屬的用戶組,并將該信息返回給應(yīng)用系統(tǒng),應(yīng)用系統(tǒng)根據(jù)用戶所屬組別決定用戶權(quán)限.
5.2 用戶資料管理模塊
該模塊主要實(shí)現(xiàn)對(duì)于用戶資料的統(tǒng)一管理.為了保證用戶的電子身份和他在校園內(nèi)真實(shí)身份的映射,該模塊應(yīng)具有接收來(lái)自不同部門的用戶信息、并將其保存到目錄數(shù)據(jù)庫(kù)中的功能.信息的交互主要通過(guò)SOAP消息傳遞實(shí)現(xiàn).
對(duì)于校園網(wǎng)的應(yīng)用來(lái)說(shuō),用戶資料來(lái)自不同的管理部門,而各管理部門往往有他們自己的數(shù)據(jù)庫(kù)管理系統(tǒng)來(lái)管理這些數(shù)據(jù).怎么把這些數(shù)據(jù)導(dǎo)入統(tǒng)一身份系統(tǒng)是本模塊要解決的主要問(wèn)題.實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫(kù)在目錄數(shù)據(jù)庫(kù)的數(shù)據(jù)傳遞,我們用XML文件作為數(shù)據(jù)傳遞的中間介質(zhì),通過(guò)SOAP消息實(shí)現(xiàn)傳遞.
對(duì)于個(gè)別用戶信息的維護(hù),可以采用SOAP的遠(yuǎn)程調(diào)用機(jī)制,在統(tǒng)一認(rèn)證服務(wù)的用戶管理模塊中提供相應(yīng)的SOAP服務(wù),如更改用戶信息的服務(wù)、刪除用戶服務(wù)等.對(duì)于需要大批增加數(shù)據(jù)的情況,可采用異步消息機(jī)制.SOAP提供了這樣的一種異步的消息傳遞模式,客戶端發(fā)送信息后,并不等待服務(wù)端的即時(shí)響應(yīng),可以批量的傳遞數(shù)據(jù),提高效率.
5.3 應(yīng)用系統(tǒng)注冊(cè)模塊
統(tǒng)一身份認(rèn)證集成平臺(tái)中,我們需要先實(shí)現(xiàn)各個(gè)應(yīng)用系統(tǒng)在認(rèn)證系統(tǒng)中的注冊(cè).應(yīng)用系統(tǒng)的注冊(cè)通過(guò)登錄系統(tǒng)注冊(cè)的WEB界面,填寫相應(yīng)的表單,提供必要的信息完成.應(yīng)用系統(tǒng)需提供的信息包括:
(1)應(yīng)用系統(tǒng)的名稱.
(2)應(yīng)用系統(tǒng)的路徑.
(3)應(yīng)用系統(tǒng)的標(biāo)識(shí),與其它系統(tǒng)區(qū)別,必須唯一.
(4)應(yīng)用系統(tǒng)的描述.
(5)應(yīng)用系統(tǒng)管理員信息,包括帳號(hào)和口令等.應(yīng)用系統(tǒng)管理員以后可以用該帳號(hào)登錄管理該應(yīng)用系統(tǒng)信息.
統(tǒng)一身份認(rèn)證系統(tǒng)接收應(yīng)用系統(tǒng)注冊(cè)信息后完成下列工作:
(1)在目錄樹中增加該應(yīng)用系統(tǒng)的節(jié)點(diǎn).
(2)增加該應(yīng)用系統(tǒng)管理員信息.
(3)設(shè)定應(yīng)用系統(tǒng)節(jié)點(diǎn)訪問(wèn)控制信息.
(4)將應(yīng)用系統(tǒng)標(biāo)識(shí)作為目錄樹中該條目的DN.
本文從統(tǒng)一身份認(rèn)證的設(shè)計(jì)角度出發(fā),提出了一個(gè)基于LDAP的統(tǒng)一身份認(rèn)證的實(shí)現(xiàn)框架,實(shí)現(xiàn)對(duì)用戶進(jìn)行統(tǒng)一管理、統(tǒng)一認(rèn)證和統(tǒng)一授權(quán).運(yùn)用XML和SOAP技術(shù)實(shí)現(xiàn)對(duì)異構(gòu)數(shù)據(jù)庫(kù)中的用戶數(shù)據(jù)的集中管理和數(shù)據(jù)交換,通過(guò)應(yīng)用系統(tǒng)注冊(cè)模塊簡(jiǎn)化了應(yīng)用系統(tǒng)的集成過(guò)程.
統(tǒng)一身份認(rèn)證是實(shí)現(xiàn)網(wǎng)絡(luò)安全、基于策略管理、控制用戶訪問(wèn)網(wǎng)絡(luò)資源的基礎(chǔ).隨著校園網(wǎng)的各種應(yīng)用的發(fā)展,校園網(wǎng)統(tǒng)一身份認(rèn)證技術(shù)會(huì)有很好的發(fā)展前景,是數(shù)字化校園的基礎(chǔ).
〔1〕柴曉路,梁宇奇.WebServices技術(shù)架構(gòu)和應(yīng)用[M].北京:電子工業(yè)出版社,2003:79-92,173-183,201-215.
〔2〕李安逾.Web Services技術(shù)與實(shí)現(xiàn)[M].國(guó)防工業(yè)出版社,2003.
〔3〕陳莉,楊貫中.LDAP的研究與在校園網(wǎng)統(tǒng)一身份認(rèn)證中的應(yīng)用 [J].株洲師范高等專科學(xué)校學(xué)報(bào),2004,9(2):48-50.
〔4〕潘利群,胡波.基于目錄服務(wù)實(shí)現(xiàn)校園網(wǎng)統(tǒng)一身份認(rèn)證.武漢理工大學(xué)學(xué)報(bào)·信息與管理工程版,2005(4).
TP393.18
A
1673-260X(2010)02-0047-03