国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于單點登錄的實驗室統(tǒng)一身份認(rèn)證方案

2020-09-28 09:20李馥娟
實驗技術(shù)與管理 2020年5期
關(guān)鍵詞:單點憑證票據(jù)

王 群,李馥娟

(江蘇警官學(xué)院 計算機信息與網(wǎng)絡(luò)安全系,江蘇 南京 210031)

隨著國家對新工科、新農(nóng)科、新醫(yī)科、新文科建設(shè)力度的進一步加大,以及對“以本為本”教育理念的不斷推進,實驗教學(xué)在人才培養(yǎng)中的重要性得到進一步加強,實驗室已成為提升人才培養(yǎng)質(zhì)量的強有力支撐,實驗室建設(shè)越來越引起各高校的普遍重視。從管理手段來看,涉及實驗室的資產(chǎn)管理、師生信息管理、實驗授權(quán)管理等已基本實現(xiàn)了網(wǎng)絡(luò)化[1]。然而,同一高校建設(shè)的不同實驗室之間普遍存在著相互之間孤立、信息無法共享、操作不便、管理分散等現(xiàn)象,嚴(yán)重影響了實驗室的使用效果和管理水平。

本文結(jié)合本單位實驗室建設(shè)與管理實際,采用基于單點登錄方式的統(tǒng)一身份認(rèn)證技術(shù),通過建設(shè)統(tǒng)一身份認(rèn)證中心實現(xiàn)對所有用戶身份信息的認(rèn)證,每一個用戶在成功登錄信任域內(nèi)任何一個實驗系統(tǒng)后,便可以自由訪問其他授權(quán)系統(tǒng)而不需要再次輸入用戶名和密碼,實現(xiàn)了信息資源的共享,規(guī)范了管理,增強了實驗系統(tǒng)的安全性,提高了實驗室的使用效率和管理水平。

1 基于單點登錄的統(tǒng)一身份認(rèn)證技術(shù)

1.1 統(tǒng)一身份認(rèn)證

在信息化程度尚不發(fā)達(dá)的早期系統(tǒng)建設(shè)中,每個系統(tǒng)都在獨立維護著一套用戶身份認(rèn)證機制,同一用戶在訪問不同的系統(tǒng)時需要分別輸入對應(yīng)系統(tǒng)各自的用戶名和密碼,使用和管理極不方便。而且,用戶信息分散存放在不同的系統(tǒng)中,極易造成信息的泄露,安全隱患較大。

統(tǒng)一身份認(rèn)證[2]通過在分布式環(huán)境中創(chuàng)建一個權(quán)威的認(rèn)證中心,由認(rèn)證中心統(tǒng)一接管原來分散在各系統(tǒng)上的身份認(rèn)證模塊的功能,由位于認(rèn)證中心的唯一用戶信息數(shù)據(jù)庫統(tǒng)一驗證用戶身份的真?zhèn)?,涉及用戶身份的信息在存儲和交換過程中的安全問題全部由統(tǒng)一身份認(rèn)證中心提供的安全協(xié)議和策略來保證。圖1所示是統(tǒng)一身份認(rèn)證流程,具體描述為:①用戶在統(tǒng)一身份認(rèn)證中心進行注冊,經(jīng)管理員確認(rèn)后成為合法用戶;②用戶登錄信任域內(nèi)的某一授權(quán)應(yīng)用系統(tǒng);③應(yīng)用系統(tǒng)將用戶訪問請求重定向到統(tǒng)一身份認(rèn)證中心,用戶在彈出的身份認(rèn)證界面中輸入用戶名和密碼等用戶身份信息憑據(jù);④統(tǒng)一身份認(rèn)證中心為該用戶創(chuàng)建一個票據(jù)(ticket),并將該票據(jù)返回用戶,同時頁面重定向到應(yīng)用系統(tǒng);⑤用戶將票據(jù)提交給應(yīng)用系統(tǒng);⑥應(yīng)用系統(tǒng)將票據(jù)發(fā)給統(tǒng)一身份認(rèn)證中心進行驗證;⑦統(tǒng)一身份認(rèn)證服務(wù)器通過查詢用戶身份信息數(shù)據(jù)庫來判斷票據(jù)的有效性,并將驗證結(jié)果及相關(guān)用戶屬性返回給應(yīng)用系統(tǒng);⑧經(jīng)過身份認(rèn)證后,應(yīng)用系統(tǒng)根據(jù)統(tǒng)一身份認(rèn)證服務(wù)器的返回結(jié)果,執(zhí)行后續(xù)的業(yè)務(wù)流程。

圖1 統(tǒng)一身份認(rèn)證流程

從以上認(rèn)證過程可以看出,所有信任域內(nèi)集成的應(yīng)用系統(tǒng)都以票據(jù)作為用戶身份的唯一憑證,向統(tǒng)一身份認(rèn)證中心驗證用戶身份的真實性并獲取相應(yīng)的屬性(如可授權(quán)訪問的資源)。票據(jù)是由統(tǒng)一身份認(rèn)證中心根據(jù)用戶ID(用戶身份的唯一標(biāo)識)以及請求報文中的相關(guān)信息和參數(shù),按確定的算法生成并經(jīng)統(tǒng)一身份認(rèn)證中心簽名的一組字符串。這些字符串除由統(tǒng)一身份認(rèn)證中心用于驗證用戶身份和授權(quán)外,沒有其他的意義,增加了認(rèn)證過程的安全性。OpenID[3]是一個典型的統(tǒng)一身份認(rèn)證架構(gòu),OAuth[4]安全架構(gòu)提供了一個具有代表性的票據(jù)生成和管理模型,可供讀者進一步學(xué)習(xí)時參考。

1.2 單點登錄

在圖1 所示的統(tǒng)一身份認(rèn)證過程中,只是強調(diào)由統(tǒng)一身份認(rèn)證中心為每個應(yīng)用系統(tǒng)集中提供身份的真實性和有效性驗證功能,同一用戶在成功登錄某一應(yīng)用系統(tǒng)后,在票據(jù)的有效期內(nèi),如果還需要繼續(xù)訪問信任域內(nèi)的其他應(yīng)用系統(tǒng),則不再需要重新進行登錄操作。

單點登錄(single sign-on,SSO)[5]的思想是在同一信任域內(nèi),當(dāng)成功登錄其中一個應(yīng)用系統(tǒng)后,在繼續(xù)訪問域中其他任何一個授權(quán)系統(tǒng)時,不再要求用戶再次輸入用戶名和密碼等用戶信息憑證,而所有的認(rèn)證過程由系統(tǒng)自動完成。單點登錄的實現(xiàn)是在統(tǒng)一身份認(rèn)證的基礎(chǔ)上,當(dāng)用戶從統(tǒng)一身份認(rèn)證中心獲得了票據(jù)后,在訪問其他的授權(quán)系統(tǒng)時,用戶先將訪問票據(jù)提交給要訪問的應(yīng)用系統(tǒng),應(yīng)用系統(tǒng)再將該票據(jù)交由統(tǒng)一身份認(rèn)證中心進行有效性驗證,并決定是否允許訪問。通常情況下,在用戶通過第一次認(rèn)證后,生成的票據(jù)中會設(shè)置一個時間戳,如果用戶在規(guī)定的時間到期之前訪問其他的授權(quán)系統(tǒng),都不會要求再次進行認(rèn)證。目前主要的單點登錄解決方案和應(yīng)用產(chǎn)品有:

(1)Cookies。Cookies 最早由Netscape 公司用于其Navigator 瀏覽器中,之后絕大多數(shù)瀏覽器開始支持Cookies。Cookies 是指在HTTP 協(xié)議下由服務(wù)器創(chuàng)建并發(fā)送給客戶端計算機的一個很小的純文本文件[6],該文件中包含有用戶ID 和票據(jù)等信息,以此可以實現(xiàn)單點登錄過程中用戶的身份認(rèn)證?;贑ookies 的單點登錄實現(xiàn)較為簡單,而且絕大多數(shù)計算機語言都支持Cookies 操作,但Cookies 僅適用于單一域內(nèi),無法直接進行跨域操作。同時,由于Cookies 文件在過期之前一直保存在客戶端,存在較大的安全隱患。

(2)SAML。SAML(security assertion markup language,安全斷言標(biāo)記語言)[7]是一種在Web 應(yīng)用環(huán)境下基于XML 語言的安全架構(gòu),其主要功能是在多信任域中交換用戶身份認(rèn)證信息和資源授權(quán)信息。SAML 支持跨域操作及異構(gòu)平臺之間的信息交換,可用于由多個信任域組成的大型網(wǎng)絡(luò)的身份認(rèn)證。SAML 使用SSL/TLS 對信任站點之間交換的信息進行加密處理,使用安全令牌來避免重放攻擊,具有較高的安全性。

(3)CAS。CAS(central authentication service,中央認(rèn)證服務(wù))[8]是耶魯大學(xué)發(fā)起開發(fā)的一個用于為Web 應(yīng)用系統(tǒng)提供單點登錄方法的開源項目,為企業(yè)間的協(xié)同操作提供獨立于平臺的、可擴展的平臺支撐。基于CAS 的單點登錄的實現(xiàn)流程較為簡單,對應(yīng)用系統(tǒng)的授權(quán)管理較為方便。CAS 不但適用于Web 系統(tǒng)的認(rèn)證,而且可以為僅支持Web 前端的非Web 應(yīng)用提供單點登錄功能。CAS 可以與Cookies 配合使用,但與單純的基于Cookies 的單點登錄不同的是,在CAS中客戶端的Cookies 文件是經(jīng)過加密處理的,安全性有了一定的提高。但由于用于驗證用戶身份的票據(jù)存放在Cookies 文件中,在一定程度上影響了應(yīng)用的安全性。

(4)Passport。Passport 是微軟.NET 的有機組成部分[9]。與其他認(rèn)證方式不同的是,Passport 單點登錄采用集中式認(rèn)證、分布式授權(quán)方式,即用戶的身份認(rèn)證由Passport 負(fù)責(zé),而資源的授權(quán)由每一個應(yīng)用系統(tǒng)上的內(nèi)容授權(quán)程序來完成。Passport 同樣采用Cookies來存儲票據(jù),所有認(rèn)證信息由客戶端保存和轉(zhuǎn)發(fā),不需要與應(yīng)用系統(tǒng)之間進行交換,增加了認(rèn)證過程的安全性。但Passport 僅支持傳統(tǒng)的用戶名和密碼認(rèn)證方式,可擴展性較差。

(5)Liberty。自由聯(lián)盟計劃(liberty alliance project,簡稱Liberty)[10]是由SUN、HP、Sony、AOL等40 余家成員單位在2001 年聯(lián)合成立的主要為大中型網(wǎng)絡(luò)提供分布式認(rèn)證服務(wù)的組織。為了適應(yīng)大型網(wǎng)絡(luò)中的單點登錄功能,Liberty 允許根據(jù)需要建立多個用戶身份認(rèn)證中心,而且加盟的站點與用戶身份認(rèn)證中心之間可以建立一對多或多對多的聯(lián)盟關(guān)系,不同的用戶身份認(rèn)證中心之間也可以建立聯(lián)盟關(guān)系。Liberty 利用SAML 實現(xiàn)在多信任域內(nèi)的單點登錄,實現(xiàn)的自由度較高。

(6)Kerberos。Kerberos 是一種在開放網(wǎng)絡(luò)環(huán)境中用于用戶與待訪問資源間進行相互認(rèn)證的協(xié)議[11]。例如,當(dāng)用戶A 訪問資源B 時,不但資源B 要驗證用戶A 身份的合法性,而且用戶A 也要驗證資源B的真實性。為了實現(xiàn)這一功能,Kerberos 引入一個稱為KDC(key distribution center,密鑰分發(fā)中心)的權(quán)威第三方,所有的用戶名、密碼等用戶信息憑證及應(yīng)用系統(tǒng)的標(biāo)識信息全部集中存放在KDC 中。這樣,當(dāng)用戶A 訪問資源B 時,利用KDC 就可以驗證雙方的身份,用戶A 與資源B 之間都不知道對方的身份信息?;贙erberos 的單點登錄使用對稱加密機制,效率較高,但無法應(yīng)對重放攻擊,且密鑰管理較為復(fù)雜,系統(tǒng)的可擴展性較差,僅適用于安全要求不高的小型網(wǎng)絡(luò)。目前,一些基于Kerberos 的單點登錄系統(tǒng)基本上是在傳統(tǒng)Kerberos 基礎(chǔ)上的改進方案。各種單點登錄解決方案和應(yīng)用產(chǎn)品的比較如表1 所示。

表1 各種單點登錄解決方案和應(yīng)用產(chǎn)品的比較

通過以上對比分析,由于CAS 能夠很好地支持非Web 應(yīng)用的單點登錄功能,非常符合目前高校實驗室建設(shè)現(xiàn)狀和管理需要,而且系統(tǒng)的可擴展性較高,另外開源的CAS 為系統(tǒng)設(shè)計和開發(fā)提供了便捷性。為此,本方案選擇CAS 作為具體的開發(fā)平臺。

2 基于CAS 的實驗室統(tǒng)一身份認(rèn)證方案設(shè)計

2.1 統(tǒng)一身份認(rèn)證用戶數(shù)據(jù)庫的設(shè)計

在圖1 所示的統(tǒng)一身份認(rèn)證方案中,有一個集中存放用戶名、密碼等用戶信息憑證的空間,即用戶信息數(shù)據(jù)庫。由于統(tǒng)一身份認(rèn)證系統(tǒng)中主要存放的是用戶信息憑證,如果使用傳統(tǒng)的關(guān)系數(shù)據(jù)庫,不但管理不便,而且運行效率很低。本方案采用 LDAP(lightweight directory access protocol,輕量級目錄訪問協(xié)議)[12]來組織和管理用戶信息憑證。LDAP 采用樹型結(jié)構(gòu)組織和管理用戶信息憑證,通過一張邏輯視圖對外提供用戶查詢服務(wù),已經(jīng)成為TCP/IP 網(wǎng)絡(luò)中一個事實上的目錄服務(wù)標(biāo)準(zhǔn)。

作為目前應(yīng)用最為廣泛的目錄服務(wù)標(biāo)準(zhǔn),在基于單點登錄的統(tǒng)一身份認(rèn)證中,LDAP 具有以下特點:對讀取用戶信息憑證方法進行了優(yōu)化,采用基于TCP/IP 的分布式存儲方式,可根據(jù)需要擴展所存儲的信息種類,提供高級檢索功能,可實現(xiàn)目錄服務(wù)信息在目錄服務(wù)器之間的同步操作等。

結(jié)合CAS 的特點,本方案采用Open LDAP 作為統(tǒng)一身份認(rèn)證用戶信息憑證的目錄服務(wù)器。Open LDAP 是一個開源平臺,包括了LDAP 服務(wù)器和開發(fā)工具,主要應(yīng)用于Linux,也可移植到Windows 系統(tǒng)。本方案整體采用基于CAS 和LDAP 的單點登錄統(tǒng)一身份認(rèn)證方式,其中CAS 由CAS Server 和CAS Client兩部分組成,其中CAS Server 作為統(tǒng)一身份認(rèn)證中心,為開發(fā)人員提供了可按需擴展的定制化認(rèn)證界面,用戶身份信息憑證存放在LDAP 目錄數(shù)據(jù)庫中,在用戶認(rèn)證時供CAS Server 查詢使用。CAS Client 集成在應(yīng)用系統(tǒng)中,負(fù)責(zé)將用戶身份認(rèn)證請求重定向到CAS Server,并通過設(shè)置3 個不同的URL 實現(xiàn)與CAS Server 之間的登錄、驗證及注銷操作。

2.2 基于CAS 單點登錄方案的設(shè)計

基于CAS 單點登錄的統(tǒng)一身份認(rèn)證方案的設(shè)計思路是:當(dāng)用戶第一次訪問信任域中的某一授權(quán)實驗系統(tǒng)時,因為還沒有進行登錄,所以會被重定向到CAS 統(tǒng)一身份認(rèn)證服務(wù)器;CAS 統(tǒng)一身份認(rèn)證服務(wù)器根據(jù)用戶登錄時輸入的用戶名、密碼等用戶信息憑證進行身份驗證,如果驗證通過,則生成一個訪問票據(jù)返回給用戶;當(dāng)用戶繼續(xù)訪問信任域中的其他授權(quán)實驗系統(tǒng)時,將會攜帶該訪問票據(jù)作為身份驗證的依據(jù),當(dāng)實驗系統(tǒng)將該訪問票據(jù)提交CAS 統(tǒng)一身份認(rèn)證服務(wù)器進行驗證后,用戶將無須再次進行登錄操作就可以直接訪問。

為了實現(xiàn)單點登錄功能,CAS 提供了全局票據(jù)TGT(ticket granting ticket)、服務(wù)票據(jù)ST(service ticket)和全局會話TGC(ticket granting cookies),其中TGT 是CAS Server 為Web 用戶簽發(fā)的登錄票據(jù),擁有TGT 的用戶說明已經(jīng)成功地在CAS Server 上進行了身份認(rèn)證;ST 是CAS Server 為用戶簽發(fā)的用于訪問某一應(yīng)用系統(tǒng)時的訪問票據(jù);TGC 是TGT 的唯一標(biāo)識(ID),被作為用戶瀏覽器與CAS Server 之間的訪問憑證存放在用戶端,TGC 在用戶與CAS Server之間傳輸時采用HTTPS 協(xié)議?;贑AS 單點登錄的統(tǒng)一身份認(rèn)證方案的工作流程如圖2 所示,具體描述如下:①用戶以Web 方式訪問實驗系統(tǒng)1 中的授權(quán)訪問資源;②實驗系統(tǒng)1 發(fā)現(xiàn)該用戶尚未進行身份認(rèn)證,于是將用戶請求頁面重定向到CAS Server;③用戶輸入用戶名、密碼等用戶信息憑證;④CAS Server 在LDAP 目錄服務(wù)器中進行用戶信息的比對,并獲得注冊時提交的完整用戶信息;⑤CAS Server 生成用于證明該用戶已進行了身份認(rèn)證的TGC,并簽發(fā)針對該用戶訪問實驗系統(tǒng)1 時使用的ST;⑥CAS Server 將TGC和針對實驗系統(tǒng)1 的ST 以Cookies 的方式發(fā)給用戶;⑦用戶的Web 訪問頁面被重定向到實驗系統(tǒng)1,同時該訪問頁面中攜帶針對實驗系統(tǒng)1 的ST;⑧實驗系統(tǒng)1 向CAS Server 驗證ST 的有效性;⑨實驗系統(tǒng)1 通過ST 有效性驗證后,生成一個局部會話Cookies,并返回給用戶;⑩用戶將以該會話Cookies 作為訪問憑證,再次訪問實驗系統(tǒng)1 中的授權(quán)訪問資源。

經(jīng)過以上的操作流程,用戶與CAS Server 之間以TGC 作為身份認(rèn)證的憑證,應(yīng)用系統(tǒng)與CAS Server之間以ST 作為有效性驗證憑證,用戶與應(yīng)用系統(tǒng)之間通過Cookies 建立會話連接,實現(xiàn)了統(tǒng)一身份認(rèn)證功能。當(dāng)用戶再次訪問信任域中的其他應(yīng)用系統(tǒng)(如實驗系統(tǒng)2)時,與訪問實驗系統(tǒng)1 時的區(qū)別在于第2步實驗系統(tǒng)2 重定向到CAS Server 時,請求報文中已經(jīng)攜帶有標(biāo)明用戶身份的TGC 票據(jù),CAS Server 在接收到該認(rèn)證請求時會自動簽發(fā)ST,而不必再進行后續(xù)煩瑣的認(rèn)證過程,而且所有操作是透明的,不需要用戶參與,實現(xiàn)了單點登錄功能。

本方案中,由于用戶與實驗系統(tǒng)之間采用Cookies方式進行認(rèn)證,當(dāng)用戶通過點擊“退出”按鈕或關(guān)閉Web 瀏覽器退出系統(tǒng)時,用戶首先通知CAS Server注銷TGC,然后CAS Server 注銷簽發(fā)給各應(yīng)用系統(tǒng)的ST,實現(xiàn)了各應(yīng)用系統(tǒng)的自動退出。

圖2 基于CAS 的單點登錄統(tǒng)一身份認(rèn)證流程

3 基于CAS 單點登錄的實驗室統(tǒng)一身份認(rèn)證的實現(xiàn)

本文主要介紹CAS Server 與CAS Client 兩個關(guān)鍵部分的部署方法。CAS 軟件的下載及完整部署方法可參考https://github.com/apereo/cas。

3.1 CAS Server 的部署

CAS Server 的部署主要涉及運行環(huán)境配置和LDAP 目錄數(shù)據(jù)庫的配置兩個方面。其中,CAS Server存放并運行在Web 容器(本例為Tomcat)中,CAS官方推薦采用overlay(系統(tǒng)提供的一個配置模板)方式來配置服務(wù)器,可根據(jù)要求將修改或定制好的配置文件覆蓋掉原來的模板(cas-overlay-template)即可。同時,配置時需要啟用CAS Server 的單點登錄功能,并生成管理CAS Server 的安全證書(具體可使用Java自帶的keytool 證書管理工具)。另外,還需要在Tomcat的配置文件erver.xml 中添加對HTTPS 協(xié)議的支持。

在進行用戶身份信息驗證時,CAS Server 需要在LDAP 目錄數(shù)據(jù)庫(本方案采用OpenLDAP)中讀取相關(guān)的用戶信息,為此需要創(chuàng)建 CAS Server 與OpenLDAP 之間的連接,具體可通過修改WEB-INF/deployerConfigContext.xml 文件來實現(xiàn)。為了提高應(yīng)用的安全性,可在配置中通過選擇加密算法對保存在OpenLDAP 中的用戶信息進行加密處理,在網(wǎng)絡(luò)中傳輸用戶信息時使用HTTPS 協(xié)議。

3.2 CAS Client 的部署

CAS Client 支持Java、.NET、PHP、Apache、Perl等多種客戶端,以庫的形式集成在可信任域中授權(quán)訪問資源所在的系統(tǒng)中,以保護資源不被非授權(quán)用戶訪問。CAS Client 的具體實現(xiàn)方式是將用戶請求重定向到統(tǒng)一身份認(rèn)證中心,交由CAS Server 進行處理。

CAS Client 的主要功能是進行頁面的重定向,即將用戶的請求URL 跳轉(zhuǎn)到認(rèn)證頁面或重定向到需要訪問的應(yīng)用系統(tǒng),具體可通過配置 CAS 的過濾器(Filter)功能來實現(xiàn)。CAS 提供了AuthenticationFilter、TicketValidationFilter、HttpServletRequestWrapperFilter和AssertionThreadLocalFilter 共4 個功能不同的過濾器,可按需要進行配置[13]。圖3 所示的是本方案實現(xiàn)的統(tǒng)一身份認(rèn)證中心用戶登錄界面。

圖3 統(tǒng)一身份認(rèn)證中心用戶登錄界面

4 結(jié)語

本文以數(shù)字實驗室系統(tǒng)資源應(yīng)用和管理整合為背景,介紹了基于單點登錄的統(tǒng)一身份認(rèn)證系統(tǒng)的設(shè)計和建設(shè)方法,為相關(guān)高校提供了一個可供借鑒的技術(shù)方案。該方案采用開源的CAS 作為單點登錄支撐系統(tǒng),選擇開源的OpenLDAP 作為統(tǒng)一身份認(rèn)證目錄服務(wù)器,系統(tǒng)部署和維護較為方便,可擴展性較強,安全性較高,符合高校實驗室的建設(shè)特點和管理要求。

猜你喜歡
單點憑證票據(jù)
2021年《理財》《財經(jīng)審計法規(guī)選編》征訂單
歷元間載波相位差分的GPS/BDS精密單點測速算法
超薄異型坯連鑄機非平衡單點澆鑄實踐與分析
《中國農(nóng)業(yè)會計》(月刊)收款憑證
《中國農(nóng)業(yè)會計》(月刊)收款憑證
2016年11月底中短期票據(jù)與央票收益率點差圖
2016年10月底中短期票據(jù)與央票收益率點差圖
數(shù)字電視地面?zhèn)鬏斢脝晤l網(wǎng)與單點發(fā)射的效果比較
2016年9月底中短期票據(jù)與央票收益率點差圖
16噸單點懸掛平衡軸的優(yōu)化設(shè)計