徐 娜 劉清堂 饒培康
【摘要】文章主要針對(duì)目前教育資源在網(wǎng)絡(luò)上被使用過程中,經(jīng)常被任意復(fù)制、修改、傳播等問題,根據(jù)使用控制ABC模型和微軟的權(quán)利管理服務(wù)策略(RMS),提出了使用XrML來定義證書實(shí)現(xiàn)教育資源的使用控制的策略,并介紹了具體的執(zhí)行過程。
【關(guān)鍵詞】使用控制;XrML;證書
【中圖分類號(hào)】G40-057 【文獻(xiàn)標(biāo)識(shí)碼】A 【論文編號(hào)】1009—8097(2009)08—0098—04
引言
網(wǎng)絡(luò)的發(fā)展使教育資源實(shí)現(xiàn)了數(shù)字化,一方面改變了傳統(tǒng)的紙質(zhì)教育資源的使用,另一方面讓教育資源的使用控制變得更加復(fù)雜和困難。比如,用戶在網(wǎng)絡(luò)上不僅瀏覽論文、課件、試題等教育資源,還能修改、復(fù)制和傳播。這顯然損害了資源作者的著作權(quán)利。目前已有的數(shù)字版權(quán)保護(hù)的策略就是通過訪問控制,即通過識(shí)別與驗(yàn)證用戶名、用戶口令及檢查用戶賬戶的默認(rèn)權(quán)限這三步來控制用戶的入網(wǎng)訪問。當(dāng)交費(fèi)網(wǎng)絡(luò)的用戶登錄時(shí),如果系統(tǒng)發(fā)現(xiàn)“資費(fèi)”用盡,還應(yīng)能對(duì)用戶的操作進(jìn)行限制。在以后的發(fā)展過程中,又出現(xiàn)了強(qiáng)制訪問控制(Mandatory Access Control, MAC)、自主訪問控制(Discretionary Access Control,DAC)、基于角色的訪問控制(Role-based Access Control,RBAC)等。這些技術(shù)多少的彌補(bǔ)了訪問控制的一些缺點(diǎn),但是還只是針對(duì)封閉的環(huán)境的版權(quán)保護(hù),而且不能動(dòng)態(tài)的授權(quán),因此,不能解決教育資源被下載后動(dòng)態(tài)跟蹤賦予和修改權(quán)限的問題。
而文獻(xiàn)[1]提出了使用控制模型以后為這個(gè)問題解決提供了新的思路。此后,許多學(xué)者都開始研究模型的實(shí)現(xiàn),例如文獻(xiàn)[2]針對(duì)媒體文件,提出使用引用監(jiān)控器來實(shí)現(xiàn),但只給出了簡單的邏輯結(jié)構(gòu),并沒有真正實(shí)現(xiàn);文獻(xiàn)[3]以中國知網(wǎng)支付模式為例,介紹了使用控制在這種電子商務(wù)網(wǎng)站上的應(yīng)用;文獻(xiàn)[4] 提出了用有色Petri網(wǎng)來建立使用控制模型,但Petri網(wǎng)表示只限于授權(quán)因素。以上文獻(xiàn)在各自的應(yīng)用場景中提出了合理的方法,但是都不適合教育資源的使用控制的實(shí)現(xiàn)。
論文首先介紹了相關(guān)技術(shù),接著提出了使用證書的方式實(shí)現(xiàn)教育資源的使用控制;最后介紹了證書方式的結(jié)構(gòu)及執(zhí)行過程。
一 相關(guān)研究
1 使用控制策略
使用控制策略是繼訪問控制之后提出的一種新的策略,它繼承了傳統(tǒng)的訪問控制的所有方法。使用控制模型主要由主體、客體、權(quán)限3個(gè)基本元素及與其相關(guān)的授權(quán)A(Authorization)、義務(wù)B(oBligation)、條件C(Condition)組成,因此也稱為UCONABC 模型,模型圖如圖1所示:
主體(Subjects)表示對(duì)客體(Objects)擁有某些使用權(quán)限的實(shí)體,用S表示。主體屬性(Subject Attribute)用來表示主體的能力和特征,記為ATT(S)。常見的主體屬性有:用戶名、用戶組、角色和安全級(jí)別等。
客體(Objects)是指按權(quán)限(Rights)的規(guī)定接受主體訪問的被動(dòng)實(shí)體,用O表示。客體屬性(Object Attribute)存儲(chǔ)客體的重要信息,包括客體的安全標(biāo)簽、所有關(guān)系、類別和訪問控制列表ACL等,記為ATT(O)。
權(quán)限(Rights)是主體對(duì)客體進(jìn)行控制和執(zhí)行的權(quán)利,包括了主體可以對(duì)客體進(jìn)行的訪問操作(如讀、寫、運(yùn)行),用R表示。
授權(quán)(Authorization)是指允許主體使用客體必須滿足的規(guī)則集,用A表示。
義務(wù)(Obligations)是指主體獲得或執(zhí)行對(duì)客體的訪問權(quán)利前或過程中必須完成的操作,用B表示。
條件(Conditions)是指主體獲得或行使對(duì)客體的訪問權(quán)利前必須滿足的系統(tǒng)或執(zhí)行環(huán)境的強(qiáng)制約束條件,用C表示。
使用控制最重要的還引入了使用的連續(xù)性和屬性的可變性的思想。這樣,在使用過程中,就可以隨時(shí)改變主體和客體的屬性,從而實(shí)現(xiàn)動(dòng)態(tài)的訪問和管理資源。由授權(quán)A、義務(wù)B、條件C按照屬性更新的時(shí)間,可以定義十六個(gè)使用控制方案,如表1所示。
有了這十六種執(zhí)行方案,在資源的使用過程中可以根據(jù)需要隨時(shí)定義和修改資源的屬性和狀態(tài)信息。
2 權(quán)利描述語言
權(quán)利描述語言是DRM(數(shù)字版權(quán)管理)系統(tǒng)普遍采用的權(quán)利描述機(jī)制。目前數(shù)字權(quán)利描述語言有MPEG-21 Rights Expression Language、OMA的ODRL(Open Digital Rights Language)、Creative Commons和METSR及ContentGuard 公司的XrML。這些數(shù)字權(quán)利描述語言具有其所屬具體行業(yè)自身的特色,而XrML面向所有類型的數(shù)字資產(chǎn),應(yīng)用非常廣泛,因此,本文采用的是XrML編寫的證書來實(shí)現(xiàn)教育資源的使用控制。
二 面向教育資源的使用控制模型應(yīng)用研究
教育資源的使用控制包括教育資源的創(chuàng)建、使用和跟蹤過程,也即資源擁有者和使用者之間權(quán)利使用的控制與管理。通過建立各種實(shí)體(教育資源的創(chuàng)作者、發(fā)布者、服務(wù)者和使用者等)間的許可集,以及可以行使這些許可的條件與義務(wù)。這些信息必須用標(biāo)準(zhǔn)化的、計(jì)算機(jī)可識(shí)別的方式描述和標(biāo)記,最終以許可證的形式發(fā)布,從而可以進(jìn)行相應(yīng)的記錄、識(shí)別、解析和解釋。而這些許可集以及許可的條件與義務(wù)都可以用XrML來實(shí)現(xiàn)。
本文根據(jù)使用控制模型,參考微軟的RMS證書結(jié)構(gòu),來實(shí)現(xiàn)教育資源的使用控制。
在本模型中,首先建立一個(gè)可信的環(huán)境,比如,有用戶A要將一課件上傳到教育資源網(wǎng)站,那么教師A跟資源網(wǎng)站間要建立可信的關(guān)系。用戶A可以是單一用戶,也可以是某個(gè)單位或組織。因此,將教育資源網(wǎng)站作為服務(wù)器方,用戶A是客戶端。如果有用戶B要從該教育資源網(wǎng)站上下載論文,也要跟該網(wǎng)站服務(wù)器建立可信關(guān)系。因此,用戶B也是客戶端。由此可見,可信環(huán)境中包括服務(wù)器方和兩個(gè)客戶端方,如圖2所示:
因此,證書分為用戶帳號(hào)證書和機(jī)器證書兩種。用戶帳號(hào)證書又分為發(fā)布許可證和使用許可證。一臺(tái)機(jī)器只有一個(gè)機(jī)器證書,但可以對(duì)應(yīng)多個(gè)帳號(hào),即同一帳號(hào)可以在有合法機(jī)器證書不同的客戶端機(jī)器上登錄;同一客戶端計(jì)算機(jī)上可以允許多個(gè)合法用戶帳號(hào)登錄。
1 用戶帳號(hào)證書
可信環(huán)境的服務(wù)器方給客戶端用戶分配權(quán)限帳戶證書,使用戶帳戶與特定的計(jì)算機(jī)相關(guān)聯(lián)。用戶的權(quán)限帳戶證書包含在客戶端許可方證書和用戶許可證的請(qǐng)求中??蛻舳朔皆S可證書允許作者在脫機(jī)時(shí)發(fā)布資源。每個(gè)權(quán)限帳戶證書都包含用戶的公鑰,用于加密與該用戶相關(guān)的數(shù)據(jù)。
(1)發(fā)布許可證
指定可以使用的用戶和要發(fā)布的資源信息,規(guī)定的詳細(xì)內(nèi)容包括:
①創(chuàng)建者的信息:如創(chuàng)建者帳號(hào)、創(chuàng)建者的個(gè)人信息(如工作單位、電子郵箱、聯(lián)系電話等)等。
②要發(fā)布資源的信息:如該資源的名稱、資源格式、所屬種類(如課件、論文或其他)、創(chuàng)建時(shí)間、允許訪問該資源的用戶帳號(hào)或用戶組、授予合法用戶的使用權(quán)限(如只讀、允許復(fù)制、允許修改、允許打印、使用次數(shù)等多種權(quán)限或權(quán)限組合)以及訪問該資源的條件。
③證書信息:如證書的有效起止時(shí)間,證書是否允許更新、何時(shí)何種條件下更新等。
④用于解密資源的對(duì)稱密鑰,該密鑰使用資源網(wǎng)站服務(wù)器的公鑰進(jìn)行了加密,這確保了只有該資源網(wǎng)站服務(wù)器才能解密這一內(nèi)容并頒發(fā)用戶使用許可證。發(fā)布許可證由該資源服務(wù)器的私鑰簽署。
因?yàn)榘l(fā)布許可證跟要發(fā)布的資源綁定并一起發(fā)布到資源網(wǎng)站上,因此,很好的解決了資源使用過程中權(quán)限管理的問題。而且,資源創(chuàng)建者可以隨時(shí)修改此證書上的信息。
(2)使用許可證
使用許可證書的內(nèi)容主要來自于發(fā)布許可證,當(dāng)用戶訪問資源網(wǎng)站,并想使用里面的資源時(shí),就要首先向資源網(wǎng)站服務(wù)器發(fā)出申請(qǐng),服務(wù)器對(duì)申請(qǐng)的帳號(hào)進(jìn)行審核,如果合法,就發(fā)給用戶使用許可證。使用許可證從發(fā)布許可證中獲取要使用資源的發(fā)布和權(quán)限信息等,從而讓用戶明確自己有哪些使用權(quán)限,并根據(jù)權(quán)限使用資源。使用許可證書可以是永久的,也可以是臨時(shí)的。如果使用許可證是永久的,用戶帳號(hào)在以后的登錄過程中不用再申請(qǐng)新的使用許可證,就可以直接按照規(guī)定權(quán)限使用資源,并且還會(huì)根據(jù)資源的更新信息,在使用前自動(dòng)更新使用許可證;如果是臨時(shí)的,則在用戶帳號(hào)每次登錄時(shí)都隨時(shí)獲取使用許可證,使用信息也會(huì)隨著發(fā)布許可證的更新而更新。比如,如果發(fā)布許可證中指定資源的使用次數(shù),那么在每使用一次之后,使用許可證的使用次數(shù)就會(huì)自動(dòng)減一。
2 機(jī)器證書
機(jī)器證書就是計(jì)算機(jī)的身份證。資源網(wǎng)站的服務(wù)器為每個(gè)客戶端計(jì)算機(jī)建立一個(gè)證書,并保存其信息,如IP地址、訪問服務(wù)器的時(shí)間、進(jìn)行過哪些操作等。該計(jì)算機(jī)證書由服務(wù)器用公鑰加密以后發(fā)給計(jì)算機(jī)。在首次使用時(shí),客戶端計(jì)算機(jī)要激活機(jī)器證書。該證書中的公鑰用于加密用戶帳戶證書中包含的用戶私鑰。機(jī)器激活以后,當(dāng)計(jì)算機(jī)下次訪問服務(wù)器時(shí),服務(wù)器通過查詢是否有該計(jì)算機(jī)的機(jī)器證書,如果有, 則默認(rèn)為合法,從而直接審核用戶帳號(hào)是否合法;如果沒有,則需要申請(qǐng)。此外,每次訪問完資源網(wǎng)站以后,機(jī)器證書都會(huì)自動(dòng)更新。
三 教育資源使用控制執(zhí)行機(jī)制
1 基于XrML的證書描述
XrML(Extensible Right Markup Language)是應(yīng)用廣泛的權(quán)利描述語言,它是基于XML語法的來定義權(quán)限和條件。它的數(shù)據(jù)模型如圖3所示:
如圖示,Xrml定義的證書通常由主體、資源、權(quán)限和條件四部分組成。主體(Principal)即權(quán)限賦予的個(gè)體;權(quán)限(Right)是指主體使用相關(guān)的資源一個(gè)行為或一類行為;資源(Resource)是主體可以被賦予的權(quán)限的對(duì)象,如電子書、視音頻文件,或是電子郵件服務(wù)、B2B的服務(wù)等都可作資源;條件(Condition)是執(zhí)行制定權(quán)限須滿足的條款、條件和義務(wù)等。授權(quán)(Grant)是指賦給一些主體的權(quán)利的證書內(nèi)的元素,包括:授權(quán)給哪個(gè)主體、主體的權(quán)限、主體可以執(zhí)行這個(gè)權(quán)限所針對(duì)的資源及在執(zhí)行這個(gè)權(quán)限前要滿足的條件等。
基于以上證書結(jié)構(gòu),如果要為一名為“test.ppt”的課件資源,發(fā)布者為xuna,要求授予用戶只讀權(quán)限,證書的有效期從2009年3月23日到2010年3月23日,可以將發(fā)布許可證定義如圖4所示:
2 證書的執(zhí)行機(jī)制
證書的執(zhí)行過程包括證書的創(chuàng)建、簽名、發(fā)布、更新和解析,圖5即是證書執(zhí)行流程圖:
以發(fā)布許可證為例,首先,由創(chuàng)建資源客戶端調(diào)用應(yīng)用程序,創(chuàng)建并生成未簽名的發(fā)布許可證,然后通過與服務(wù)器交互,對(duì)許可證進(jìn)行簽名。接著將簽了名的許可證嵌入到資源中,并一起發(fā)布到服務(wù)器上。如果以后資源創(chuàng)建者對(duì)證書進(jìn)行了更新,證書就會(huì)通過跟服務(wù)器交互自動(dòng)更新,服務(wù)器再次簽名后并保存。
在資源使用端,用戶跟服務(wù)器發(fā)出下載資源的請(qǐng)求,然后將資源和資源內(nèi)的證書一起下載到本地。并通過與服務(wù)器交互對(duì)證書進(jìn)行解析。如果證書的條件都滿足,那么用戶就可以按照權(quán)限規(guī)定對(duì)資源進(jìn)行操作。
四 總結(jié)
綜上所述,本文根據(jù)最近提出的使用控制模型技術(shù),主要介紹了使用XrML描述證書的方式來實(shí)現(xiàn)教育資源的使用控制。使用這種方式,教育資源的權(quán)限管理貫穿了從創(chuàng)建到使用的全過程,即使被下載到本地或者被復(fù)制到其它地方都可以很好的被管理。接下來會(huì)在證書的權(quán)限類型定義和證書解析方面進(jìn)行改進(jìn),以取得更好的效果。