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

?

上海交通大學(xué):構(gòu)建高校應(yīng)用系統(tǒng)級別的信任機(jī)制

2012-11-09 13:42杜晉博茅維華白雪松
中國教育網(wǎng)絡(luò) 2012年5期
關(guān)鍵詞:上海交通大學(xué)服務(wù)提供者調(diào)用

文/杜晉博 茅維華 白雪松

上海交通大學(xué):構(gòu)建高校應(yīng)用系統(tǒng)級別的信任機(jī)制

文/杜晉博 茅維華 白雪松

隨著高校信息化的蓬勃發(fā)展,高校內(nèi)部的信息系統(tǒng)(分布式應(yīng)用)也隨之而增多,各個應(yīng)用之間通過各種方式進(jìn)行著信息的傳遞和共享,從而使信息傳遞過程的安全性顯得愈發(fā)重要。通過對Kerberos模型的簡化和改進(jìn),提出一種應(yīng)用系統(tǒng)服務(wù)提供和調(diào)用的模型,借助于已有的“上海交通大學(xué)統(tǒng)一授權(quán)服務(wù)”,為服務(wù)的供應(yīng)者提供可信的方式,來驗(yàn)證服務(wù)調(diào)用者的合法性,從而在應(yīng)用的級別實(shí)現(xiàn)應(yīng)用間的信任,構(gòu)建更加安全可靠的面向服務(wù)架構(gòu)的應(yīng)用。

研究背景

Kerberos協(xié)議

Kerberos協(xié)議是一種計算機(jī)網(wǎng)絡(luò)授權(quán)協(xié)議,用來在非安全網(wǎng)絡(luò)中對個人通信以安全的手段進(jìn)行身份認(rèn)證。該認(rèn)證過程的實(shí)現(xiàn)不需要依賴于主機(jī)操作系統(tǒng)的認(rèn)證以及整個網(wǎng)絡(luò)的安全保證。

Kerberos版本4的主要設(shè)計者Steve Miller和Clifford Neuman,在1980年末發(fā)布了這個版本。這個版本主要針對Project Athena。版本5由John Kohl和Clifford Neuman設(shè)計,在1993年作為RFC 1510頒布(在2005年由RFC 4120取代)。

該協(xié)議的思想被廣泛地應(yīng)用于各種認(rèn)證系統(tǒng),其中包括上海交通大學(xué)的統(tǒng)一身份認(rèn)證系統(tǒng),用以實(shí)現(xiàn)在上海交通大學(xué)校內(nèi)各應(yīng)用系統(tǒng)的單點(diǎn)登錄。

上海交通大學(xué)統(tǒng)一身份認(rèn)證

上海交通大學(xué)統(tǒng)一身份認(rèn)證系統(tǒng)(SJTU JAccount),是上海交通大學(xué)網(wǎng)絡(luò)信息中心開發(fā)的用戶認(rèn)證體系,以實(shí)現(xiàn)校內(nèi)的單點(diǎn)登錄。上海交通大學(xué)網(wǎng)絡(luò)信息中心為每個注冊的交大校園網(wǎng)用戶提供一個統(tǒng)一的網(wǎng)絡(luò)賬戶,稱為jaccount。通過jaccount認(rèn)證體系,可以在Web應(yīng)用中實(shí)現(xiàn)單點(diǎn)登錄,即用戶在一個瀏覽器會話期中只需登錄一次就能進(jìn)入所有其擁有訪問權(quán)限的jaccount成員站點(diǎn)。此身份認(rèn)證的前提是SJTU JAccount服務(wù)為需要使用單點(diǎn)登錄的校內(nèi)應(yīng)用共享一個SiteKey,通過此密鑰來實(shí)現(xiàn)通訊間加密。

上海交通大學(xué)統(tǒng)一授權(quán)服務(wù)

上海交通大學(xué)統(tǒng)一授權(quán)服務(wù)(S J T U Entitle)是基于統(tǒng)一身份認(rèn)證系統(tǒng)進(jìn)行管理的,統(tǒng)一授權(quán)系統(tǒng)為各應(yīng)用系統(tǒng)提供一個統(tǒng)一授權(quán)的接口。各應(yīng)用系統(tǒng)的管理員可以通過Web Service接口對用戶在該應(yīng)用系統(tǒng)內(nèi)的權(quán)限進(jìn)行管理,當(dāng)用戶訪問使用了統(tǒng)一授權(quán)的第三方應(yīng)用系統(tǒng)時,第三方應(yīng)用系統(tǒng)通過調(diào)用統(tǒng)一授權(quán)系統(tǒng)提供的Web Service接口,獲取特定的jaccount用戶在該應(yīng)用中的相應(yīng)權(quán)限、角色等認(rèn)證信息。

本研究將基于統(tǒng)一授權(quán)系統(tǒng)進(jìn)行擴(kuò)展,試圖使統(tǒng)一授權(quán)系統(tǒng)提供類Kerberos的認(rèn)證服務(wù),使高校內(nèi)各個應(yīng)用系統(tǒng)間的服務(wù)調(diào)用可信。

圖1 應(yīng)用間信任模型

OAuth開放授權(quán)

OAuth(開放授權(quán))是一個開放標(biāo)準(zhǔn),允許用戶讓第三方網(wǎng)站訪問該用戶在某一網(wǎng)站上存儲的私密資源(如照片、視頻、聯(lián)系人列表),而無需將用戶名和密碼提供給第三方網(wǎng)站。

由于OAuth在目前的互聯(lián)網(wǎng)上應(yīng)用廣泛,很多服務(wù)如Open API,很多大公司如Google、Yahoo、Microsoft等都提供OAuth認(rèn)證服務(wù),這些都足以說明OAuth標(biāo)準(zhǔn)逐漸成為開放資源授權(quán)的標(biāo)準(zhǔn),所以我們在系統(tǒng)設(shè)計初期也曾考慮采用OAuth標(biāo)準(zhǔn)的應(yīng)用間的信任方式,但相比Kerberos而言,OAuth模型更適合于非集中式的Web環(huán)境,在學(xué)校、企業(yè)內(nèi)部使用Kerberos模式的應(yīng)用級的信任更有利于降低應(yīng)用系統(tǒng)的開發(fā)代價,有利于高校應(yīng)用系統(tǒng)的集中管理和統(tǒng)一規(guī)劃。

應(yīng)用間信任模型的設(shè)計

本研究采用的模型主要涉及到服務(wù)調(diào)用者(Service Invoker)、服務(wù)提供者(Service Provider)和上海交通大學(xué)統(tǒng)一授權(quán)服務(wù)(SJTU Entitle)三部分。考慮到上海交通大學(xué)統(tǒng)一認(rèn)證系統(tǒng)(SJTU JAccount)本來已經(jīng)與服務(wù)調(diào)用者、服務(wù)提供者有著共享的密鑰(SiteKey,參見1.2節(jié)),所以統(tǒng)一授權(quán)服務(wù)將采用統(tǒng)一認(rèn)證系統(tǒng)系統(tǒng)所持有的站點(diǎn)密鑰,從而最大程度地降低對遺留系統(tǒng)的影響和新應(yīng)用開發(fā)的代價。

各個系統(tǒng)間的關(guān)系如圖1所示。本模型的具體機(jī)制可以分為三個步驟。

服務(wù)調(diào)用者從統(tǒng)一授權(quán)服務(wù)獲取Token

服務(wù)調(diào)用者從統(tǒng)一授權(quán)服務(wù)獲取Token是此模型機(jī)制的第一個步驟,服務(wù)調(diào)用者向統(tǒng)一授權(quán)服務(wù)進(jìn)行RequestToken請求,申請Token。RequestToken接口是統(tǒng)一授權(quán)所有服務(wù)接口中,唯一不需要驗(yàn)證參數(shù)(Ticket)的服務(wù)。此接口可以定義如下:

stringRequestToken(string providerId)

RequestToken方法為服務(wù)調(diào)用者獲取一個用來訪問應(yīng)用標(biāo)識為providerId的Token。定義Key(Text)表示用Key做密鑰加密明文Text之后的密文,則其中Token格式可表示為:

InvokerKey(Expire,SessionKey,ProviderPart)

其中InvokerKey為服務(wù)調(diào)用者在統(tǒng)一身份認(rèn)證系統(tǒng)中的站點(diǎn)密鑰。Expire表示超時的時間戳,用Unix風(fēng)格的時間表示,即1970年1月1日至今的Seconds數(shù)。超時以后Token將不可用,必須重新申請。

ProviderPart部分組成如下:

ProviderKey(Expire,InvokerId,InvokerIP,SessionKey)

此部分Invoker無法解密,須組裝到Ticket并交給Service Provider解析驗(yàn)證。

ProviderPart加密的四部分信息:Expire:用于驗(yàn)證時間上是否超時;InvokerId:用于驗(yàn)證調(diào)用者身份是否被篡改;

InvokerIP:用于驗(yàn)證調(diào)者位置是否變動,防止信息被攔截;

SessionKey:用于解密和Invoker提供的通訊數(shù)據(jù)。

注意此處的SessionKey分別通過InvokerKey和ProviderKey(均由SJTU JAccount系統(tǒng)提供)進(jìn)行加密,同Kerberos一樣,此SessionKey將作為Invoker和Provider之間通訊的唯一共享的秘密。

服務(wù)調(diào)用者將Token再重組為Ticket

服務(wù)調(diào)用者獲取到Token后,將自行組裝Ticket。此Ticket將用于下一步驟的服務(wù)調(diào)用,并可被服務(wù)提供者驗(yàn)證并信任。

Ticket格式定義如下:

(InvokerPart,ProviderPart,ArgumentsSignature)

InvokerPart格式:SessionKey(Timestamp, InvokerId)

其中Timestamp為當(dāng)前Invoker的系統(tǒng)時間。

ArgumentsSignature格式如下:

SessionKey(MD5(Timestamp, Arguments))

即首先把所有參數(shù)連接后,加入Timestamp作為擾亂信息。然后通過MD5取得信息摘要,最后用SessionKey加密。此參數(shù)簽名用于防止網(wǎng)絡(luò)傳輸過程中Web Service的參數(shù)被篡改。

服務(wù)提供者驗(yàn)證服務(wù)調(diào)用者的合法性

RequestToken將是唯一一個不需要Ticket參數(shù)的服務(wù)。即凡是使用本研究所描述的模型的應(yīng)用,在對外提供服務(wù)時,將要求服務(wù)調(diào)用者提供Ticket參數(shù),并在每次服務(wù)調(diào)用時通過此參數(shù)(Ticket)驗(yàn)證來獲得對Invoker的信任關(guān)系。

服務(wù)提供者收到Ticket以后,首先通過ProviderKey來解密ProviderPart獲得SessionKey,然后通過SessionKey解密InvokerPart和ArgumentsSignature,之后服務(wù)提供者對Ticket做如下驗(yàn)證:

1. 驗(yàn)證ProviderPart和InvokerPart的InvokerId

2. 驗(yàn)證Expire Timeout(可設(shè)定)<=Timestamp <= Expire。此處考慮到網(wǎng)絡(luò)延時、服務(wù)器時間的不同步等,在檢查時將有少量的容錯的偏移。

3. 驗(yàn)證InvokerIP是否一致,服務(wù)提供者可從Request中獲取。此處考慮的網(wǎng)絡(luò)拓?fù)涞纫蛩?,要求InvokerIP對應(yīng)于統(tǒng)一授權(quán)服務(wù)的IP和對應(yīng)于服務(wù)提供者的IP必須是相同的。當(dāng)此要求不被滿足時,此檢查將通過一定方式跳過。

4.驗(yàn)證參數(shù)摘要ArgumentsSignature。

如果驗(yàn)證通過,則此次服務(wù)調(diào)用將被認(rèn)為可信,并有助于服務(wù)提供者獲得調(diào)用者的更詳盡信息。

本文通過提出應(yīng)用間的信任模型,以解決高校內(nèi)部各個應(yīng)用系統(tǒng)之間在不安全的網(wǎng)絡(luò)環(huán)境中的信任問題,并且已經(jīng)在上海交通大學(xué)的多個應(yīng)用系統(tǒng)中實(shí)施運(yùn)行。但此模型依然存在一些問題,其中一個問題是單向信任的問題。出于效率考慮,本模型僅僅可供服務(wù)的提供者來信任服務(wù)的調(diào)用者,而沒法保證服務(wù)的調(diào)用者調(diào)用到的服務(wù)是可信任的。

另外一個問題是服務(wù)的信任級別和信任粒度問題。OAuth可以有更細(xì)的、權(quán)限級別的應(yīng)用間信任的粒度,而本模型只能提供應(yīng)用級別的信任,服務(wù)級、接口級或者權(quán)限級別的粒度的信任,還是一個有待研究的問題。

(作者單位為上海交通大學(xué)網(wǎng)絡(luò)信息中心)

擴(kuò)展文獻(xiàn):

[1]http://web.mit.edu/kerberos/www/:Kerberos:The Network Authentication Protocol.

[2]The Kerberos Network Authentication Service (V5), RFC1510.

[3]http://zh.wikipedia.org/wiki/Kerberos, 2011/04/05有效.

[4] 茅維華,謝金寶,Web 應(yīng)用單一登錄的類Kerberos 實(shí)現(xiàn),計算機(jī)應(yīng)用與軟件,2004年2月,pp.87-90.

[5]白雪松,茅維華,身份與權(quán)限體系關(guān)鍵技術(shù)的總體設(shè)計與實(shí)踐,中山大學(xué)學(xué)報(自然科學(xué)版),200948(z1):260~263頁.

[6] http://zh.wikipedia.org/wiki/OAuth2011/04/05有效.

猜你喜歡
上海交通大學(xué)服務(wù)提供者調(diào)用
上海交通大學(xué)
網(wǎng)絡(luò)服務(wù)提供者的侵權(quán)責(zé)任研究
網(wǎng)絡(luò)服務(wù)提供者的侵權(quán)責(zé)任研究
論網(wǎng)絡(luò)服務(wù)提供者連帶責(zé)任的理論困境
核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
上海交通大學(xué)參加機(jī)器人比賽
上海交通大學(xué)附屬第六人民醫(yī)院胸外科簡介
系統(tǒng)虛擬化環(huán)境下客戶機(jī)系統(tǒng)調(diào)用信息捕獲與分析①
論網(wǎng)絡(luò)服務(wù)提供者的侵權(quán)責(zé)任
利用RFC技術(shù)實(shí)現(xiàn)SAP系統(tǒng)接口通信