霍穎瑜,馬 莉,劉 英,鐘 勇
(1.佛山科學(xué)技術(shù)學(xué)院 電子信息工程學(xué)院,廣東 佛山 528000;2.佛山廣播電視大學(xué) 理工教研室,廣東 佛山 528000)
近年來(lái),隨著騰訊QQ、Facebook等社交工具的快速發(fā)展,社交網(wǎng)絡(luò)正成為眾多用戶保持聯(lián)系、分享信息的平臺(tái)[1]。隨著社交網(wǎng)絡(luò)用戶的增多,通過(guò)社交網(wǎng)站發(fā)布的個(gè)人信息量快速增長(zhǎng),導(dǎo)致社交網(wǎng)絡(luò)數(shù)據(jù)被非法使用和個(gè)人隱私泄漏的現(xiàn)象層出不窮[2-4]。而且,用戶在社交網(wǎng)絡(luò)上大量分享信息、交流互動(dòng),也造成數(shù)字版權(quán)難以得到保護(hù)等問(wèn)題[5]。
采用訪問(wèn)控制機(jī)制對(duì)用戶個(gè)人空間信息進(jìn)行保護(hù)是目前社交網(wǎng)絡(luò)的通用做法,但現(xiàn)有的訪問(wèn)控制機(jī)制多局限在用戶個(gè)人空間內(nèi)的數(shù)據(jù),難以控制個(gè)人空間以外的數(shù)據(jù),如用戶不能對(duì)其在朋友空間中發(fā)表的評(píng)論進(jìn)行訪問(wèn)控制,不能對(duì)共有的資源進(jìn)行聯(lián)合訪問(wèn)控制等[6-7]。
數(shù)字權(quán)利保護(hù)(Digital Rights Management,DRM)是數(shù)字網(wǎng)絡(luò)環(huán)境下保護(hù)數(shù)字內(nèi)容交易和傳播的重要方法,其目的是通過(guò)技術(shù)的手段,在數(shù)字產(chǎn)品的生命周期內(nèi)對(duì)數(shù)字內(nèi)容的知識(shí)產(chǎn)權(quán)進(jìn)行保護(hù),確保數(shù)字內(nèi)容的合法使用和傳播[8]。在社交網(wǎng)絡(luò)中采用DRM技術(shù)對(duì)數(shù)字版權(quán)進(jìn)行保護(hù),成為近年來(lái)社交網(wǎng)絡(luò)研究中重點(diǎn)關(guān)注的問(wèn)題之一。
文獻(xiàn)[9]對(duì)社交網(wǎng)絡(luò)中應(yīng)用現(xiàn)有DRM來(lái)管理社交網(wǎng)絡(luò)隱私數(shù)據(jù)的方法進(jìn)行總結(jié),認(rèn)為DRM中的許可證技術(shù)和事件報(bào)告技術(shù)是2項(xiàng)可應(yīng)用于社交網(wǎng)絡(luò)的重要方法。文獻(xiàn)[10]對(duì)多媒體社交網(wǎng)絡(luò)中DRM應(yīng)用的前沿問(wèn)題和方法進(jìn)行研究。文獻(xiàn)[11-12]從DRM中的合理使用角度對(duì)社交網(wǎng)絡(luò)中數(shù)字權(quán)利保護(hù)方法進(jìn)行研究。文獻(xiàn)[13]采用Open DRM技術(shù)對(duì)社交網(wǎng)絡(luò)進(jìn)行隱私保護(hù),該文獻(xiàn)關(guān)注DRM在社交網(wǎng)絡(luò)中的實(shí)現(xiàn)架構(gòu)。文獻(xiàn)[14]對(duì)DRM系統(tǒng)中引入社交因素進(jìn)行研究。
上述研究多數(shù)集中在DRM應(yīng)用于社交網(wǎng)絡(luò)的可能性、問(wèn)題和實(shí)現(xiàn)機(jī)制上,在結(jié)合DRM和社交網(wǎng)絡(luò)特點(diǎn)的權(quán)利保護(hù)機(jī)制以及相應(yīng)的描述語(yǔ)言的研究方面還存在不足。為此,本文將訪問(wèn)控制模型RuleSN中的社交網(wǎng)絡(luò)結(jié)構(gòu)[15]和分布式訪問(wèn)控制邏輯Active-UD-Datalog[16]相結(jié)合,建立基于社交網(wǎng)絡(luò)的DRM模型SociDRM,該模型具有如下特點(diǎn):在社交網(wǎng)絡(luò)范圍內(nèi),對(duì)數(shù)字內(nèi)容完整的數(shù)字權(quán)利進(jìn)行保護(hù)和控制;采用分布式Datalog作為許可證的權(quán)利,用其描述語(yǔ)言;通過(guò)觸發(fā)機(jī)制實(shí)現(xiàn)靈活的事件報(bào)告機(jī)制、合理使用機(jī)制和數(shù)字內(nèi)容使用控制。
RuleSN是一種基于datalog邏輯規(guī)則的社交網(wǎng)絡(luò)訪問(wèn)控制模型,該模型將社交網(wǎng)絡(luò)看成由主體和客體間的層次關(guān)系組成的結(jié)構(gòu)。
主體包括用戶、用戶群和系統(tǒng)群,用戶可加入用戶群成為該群的成員。本文將社交網(wǎng)絡(luò)看作一個(gè)系統(tǒng)群,默認(rèn)所有用戶和用戶群均是該系統(tǒng)群的成員,用戶群之間不再有包含關(guān)系,該主體之間可形成如圖1所示的主體層次。
圖1 主體層次示例
客體包括內(nèi)容和空間,內(nèi)容是獨(dú)立存在的客體。通過(guò)從屬關(guān)系,內(nèi)容之間可形成內(nèi)容層次,如對(duì)文章A的評(píng)論和文章A之間存在直接從屬關(guān)系,該評(píng)論和對(duì)該評(píng)論的回復(fù)之間也存在直接從屬關(guān)系??臻g用于存放內(nèi)容,空間里的內(nèi)容屬該空間所有,所有內(nèi)容均應(yīng)屬于某空間,空間可包含子空間,形成空間層次。
主體之間和主客體之間具有關(guān)系,關(guān)系分為2類:一類存在于用戶與用戶之間,如朋友關(guān)系等;另一類存在于主體和客體之間,如擁有關(guān)系、標(biāo)注關(guān)系、共有關(guān)系等。
Active-DU-Datalog是Active-U-Datalog邏輯[17]在分布式環(huán)境下的拓展。在Active-DU-Datalog中,假設(shè)每個(gè)謂詞p(x1,x2,…,xn)中最后一個(gè)屬性代表該謂詞所在實(shí)體(位置),直觀起見(jiàn),將其表示成p(x1,x2,…,xn-1)@xn,意思是實(shí)體xn上的謂詞p(x1,x2,…,xn-1),方便起見(jiàn),也用Loc(p(x1,x2,…,xn))表示實(shí)體xn。類似于Webdamlog[18],實(shí)體分為具有存儲(chǔ)和處理能力的真實(shí)網(wǎng)絡(luò)結(jié)點(diǎn)與虛擬實(shí)體,后者如社交網(wǎng)絡(luò)中的用戶賬戶等。
設(shè)p(x1,x2,…,xn-1)@xn是任意謂詞符號(hào),x1,x2,…,xn-1是相應(yīng)取值域上的項(xiàng),xn是實(shí)體后綴,稱p(x1,x2,…,xn-1)@xn或±p(x1,x2,…,xn-1)@xn是實(shí)體xn上的一個(gè)原子公式(簡(jiǎn)稱原子)?!纏(x1,x2,…,xn-1)@xn分別表示實(shí)體xn上相應(yīng)外延謂詞的插入和刪除,稱為更新原子,p(x1,x2,…,xn-1)@xn稱為查詢?cè)?。?duì)實(shí)體e上的推理規(guī)則表示為:
h@e0←u1@e1,u2@e2,…,uk@ek,
pk+1@ek+1,pk+2@ek+2,…,pm@em
(1)
其中,h和pi(k+1≤i≤m)是查詢?cè)?ui(1≤i≤k)是更新原子。如果規(guī)則頭實(shí)體后綴e0=e,則稱該推理規(guī)則是正則的(只能推出本地結(jié)果)。
事務(wù)(查詢)T是不含規(guī)則頭的具有如下形式的規(guī)則:
u1@e1,u2@e2,…,uk@ek,pk+1@ek+1,
pk+2@ek+2,…,pm@em
(2)
其中,pi(k+1≤i≤m)是查詢?cè)?ui(1≤i≤k)是更新原子。
事務(wù)T中具有同一實(shí)體后綴的謂詞歸類也可簡(jiǎn)寫成下列形式:
{T1}@e1,{T2}@e2,…,{Tm}@em
(3)
如果事務(wù)T中的實(shí)體后綴均等于e,則稱該事務(wù)為實(shí)體e上的單一事務(wù)。實(shí)體e上的主動(dòng)規(guī)則表示為:
(4)
分布式邏輯許可證lic是LucScript語(yǔ)言的分布式擴(kuò)展,由四元組{D,IDB,AR,EDB}組成,其中,D是許可證所保護(hù)客體(數(shù)字內(nèi)容)的唯一識(shí)別符,IDB是推理規(guī)則集,AR是主動(dòng)規(guī)則集,EDB是外延數(shù)據(jù)庫(kù),直觀起見(jiàn),將EDB中常量的單個(gè)賦值表示為name≡value的常量綁定集,如年齡屬性age(18),表示為age=18。另外,為方便識(shí)別,在變量前加“#”符號(hào)。邏輯許可證示例如下所示:
1.License (//許可證示例
2.windtalkers_1//D為數(shù)字內(nèi)容標(biāo)識(shí)符
3.{play(#s,Self)←owner(#s1),auth(#s,Self,+play)@#s1,updateOccurs();
4.updateOccurs()←maxOccurs(#n),#n≥1,#n1=#n-1,-maxOccurs (#n),+maxOccurs (#n1);},//IDB
5.{-number_of_users(#n1)@#s1,+number_of_users(#n2)@#s1←+maxOccurs(#n),owner(#s1),number_of_users(#n1)@#s1,#n2=#n1+1;},//AR
6.{id≡“12345”;version≡“11.5.1”; expire≡“16/12/31”;owner≡“Tom”; creator≡{Tom,Jenny};maxOccurs≡10},//EDB
7.)
上述許可證中語(yǔ)句3的play規(guī)則需要用戶#s獲得所有者s1的使用授權(quán),并且許可證未達(dá)到并發(fā)數(shù)限制,規(guī)則成立后將更新并發(fā)數(shù),其中Self代指該數(shù)字內(nèi)容本身。語(yǔ)句4的updateOccurs規(guī)則更新剩余的并發(fā)數(shù)。語(yǔ)句5的主動(dòng)規(guī)則說(shuō)明當(dāng)發(fā)生更新并發(fā)數(shù)事件時(shí),將其所有者的用戶使用數(shù)加1。從上述邏輯許可證可以看出,采用分布式邏輯規(guī)則,許可證容易與主體之間的授權(quán)規(guī)則進(jìn)行交互和使用。
圖2所示為權(quán)利保護(hù)機(jī)制,其中實(shí)體包含2類授權(quán)規(guī)則,用戶空間及其下屬空間客體是無(wú)法遷移或復(fù)制的,該授權(quán)由其用戶權(quán)限規(guī)則所定義;內(nèi)容客體的授權(quán)由其許可權(quán)限規(guī)則定義,許可權(quán)限規(guī)則保存在許可證中,隨客體做遷移或復(fù)制。
圖2 權(quán)利保護(hù)機(jī)制示例
用戶權(quán)限規(guī)則使用授權(quán)謂詞auth(#s,#o,±p)表示主體#s被允許或禁止對(duì)客體#o進(jìn)行p操作,對(duì)實(shí)體e上的授權(quán)規(guī)則表示為:
auth(#s,#o,±p)@e←
u1@e1,u2@e2,…,uk@ek,pk+1@ek+1,
pk+2@ek+2,…,pm@em
(5)
其中,pi(k+1≤i≤m)是查詢?cè)?ui(1≤i≤k)是更新原子。授權(quán)規(guī)則如下所示:
auth(#u,#o,+read)←
relation(Self,#u,“friend”),
depth(Self,#u,“friend”,m),m≤2,
trust(Self,#u,“friend”,n),n≥0.5
(6)
式(6)說(shuō)明Tom只允許可信度不低于0.5、關(guān)系為好友或好友的好友訪問(wèn)自己的空間。規(guī)則(7)說(shuō)明,Tom空間采用的是權(quán)限可以在層次結(jié)構(gòu)從頂向下傳遞的規(guī)則。
auth(#u,#o1,±p)←auth(#u,#o2,±p),
#o1≤RH#o2
(7)
權(quán)限傳遞必須帶來(lái)權(quán)限沖突,即有可能auth(#u,#o1,+p)和auth(#u,#o1,-p)同時(shí)存在。用戶權(quán)限規(guī)則使用沖突解決謂詞cando(#s,#o,±p)解決授權(quán)沖突。對(duì)實(shí)體e上的沖突解決規(guī)則表示為:
auth(#s,#o,±p)@e←auth(#u,#o1,+p)@e,
auth(#u,#o1,-p)@e,u1@e1,u2@e2,…,
uk@ek,pk+1@ek+1,pk+2@ek+2,…,pm@em
(8)
其中,pi(k+1≤i≤m)是查詢?cè)?ui(1≤i≤k)是更新原子。
圖2中電影空間的權(quán)限規(guī)則說(shuō)明當(dāng)授權(quán)發(fā)生沖突時(shí),否認(rèn)操作優(yōu)先。
cando(#u,#o,-p)←auth(#u,#o,+p),
auth(#u,#o,-p)
(9)
在許可權(quán)限規(guī)則中,使用內(nèi)容操作謂詞(如play)進(jìn)行內(nèi)容操作,操作規(guī)則(op)表示為:
op(#u,#o)←cando(#u,#o,±p),u1@e1,
u2@e2,…,uk@ek,pk+1@ek+1,
pk+2@ek+2,…,pm@em
(10)
其中,pi(k+1≤i≤m)是查詢?cè)?ui(1≤i≤k)是更新原子。數(shù)字內(nèi)容復(fù)制許可證示例如下:
1.License (//許可證示例
2.windtalkers_1//D為數(shù)字內(nèi)容標(biāo)識(shí)符
3.{copy(#s,Self)←owner(#s1),cando(#s,Self,+copy)@#s1,+object(Self)@#s },//IDB
4.{},//AR
5.{id≡“12345”;version≡“11.5.1”; expire≡“16/12/31”;owner≡“Tom”; creator≡{Tom,Jenny};maxOccurs≡10},//EDB
6.)
上述許可證語(yǔ)句3說(shuō)明當(dāng)主體#s復(fù)制本數(shù)字內(nèi)容時(shí),需要獲得該數(shù)字內(nèi)容所有者的同意,同時(shí)需要插入該數(shù)字內(nèi)容到主體#s中。
由于Active-DU-Datalog邏輯本身的分布性和交互性,SociDRM模型中易實(shí)現(xiàn)事件報(bào)告機(jī)制,如式(11)所示,每復(fù)制一份數(shù)字內(nèi)容拷貝,則向原創(chuàng)者報(bào)告復(fù)制者并將數(shù)量加1。
copy(#s1,Self)←owner(#s2),
cando(#s1,Self,+copy)@#s2,
+object(Self)@#s1,creator(#s3),
message(#s1,#s2Self,“copy”)
(11)
式(12)中,原創(chuàng)者將復(fù)制數(shù)量加1并記錄復(fù)制者和復(fù)制時(shí)間。
message(#s1,#s2,#o,#m)← #m=“copy”,time(t),
+copylist(#s1,#s2, #o,t),
copynum(#o,n1),n2=n1+1,
-copynum(#o,n1),+copynum(#o,n2)
(12)
在此事件報(bào)告機(jī)制上,以O(shè)DRL[19]權(quán)利描述語(yǔ)言的數(shù)字內(nèi)容使用操作為例說(shuō)明DRM模型。ODRL是基于XML的國(guó)際標(biāo)準(zhǔn)權(quán)利描述語(yǔ)言,其數(shù)字權(quán)利活動(dòng)包括:使用use(display,print,play,execute),權(quán)利轉(zhuǎn)移transfer(sell,lend,give),重用reuse(modify,annotate,copy)等。SociDRM模型中數(shù)字內(nèi)容的使用、轉(zhuǎn)移、重用和合理使用的實(shí)現(xiàn)過(guò)程如下。
2.3.1 數(shù)字內(nèi)容使用模型
對(duì)數(shù)字內(nèi)容使用控制是DRM的核心策略,其不僅要解決允許誰(shuí)訪問(wèn)數(shù)字內(nèi)容的問(wèn)題,而且要解決數(shù)字內(nèi)容如何使用和控制的問(wèn)題。假定社交網(wǎng)絡(luò)中存在統(tǒng)一的版權(quán)中心(W),用戶使用數(shù)字內(nèi)容時(shí),向所有者支付使用費(fèi),所有者則向版權(quán)中心支付部分版稅,版權(quán)中心則向原創(chuàng)者支付一定的版稅以獲得相應(yīng)的版權(quán)。仍以圖2為例,簡(jiǎn)單起見(jiàn),本文不考慮有多個(gè)原創(chuàng)者和擁有者的情況。
Tom的使用政策是播放每部片超過(guò)10 min即收取播放整部片的費(fèi)用,收取費(fèi)用后在3 d的時(shí)間內(nèi)可不限次播放。收到費(fèi)用后Tom同時(shí)繳納10%的版稅。用戶權(quán)限規(guī)則如下:
pay(#u,#o)←price(#o,#n1),
account(#u,#n2),#n1≤#n2,m=#n2-#n1,
-account(#u,#n2),+account(#u,#m),
k=#n1×10%,
payCopywright(Self,#o,n1)@rightCenter,
time(t),+haspaid(#u,#o,t)
(13)
式(13)是支付規(guī)則,如果#o的播放價(jià)格不少于#u賬戶中的存款,則從#u賬戶中扣款并到版權(quán)中心支付10%的版稅,同步記錄已支付時(shí)間。數(shù)字內(nèi)容使用許可證規(guī)則為:
1.License (//許可證示例
2.windtalkers_1//D為數(shù)字內(nèi)容標(biāo)識(shí)符
4.play(#u,Self)←owner(#s),haspaid(#u,Self,#t1)@#s,+instance(#u,#o,#t)
5.stop(#u,Self)←-instance(#u,Self,#t);},//IDB
6.{-instance(#u,Self,#t1)←instance(#u,Self,#t1),+time(#t),#t>#t1+600,owner(#s),haspaid(#u,Self,#t2)@#s },//AR
7.{id≡“12345”;version≡“11.5.1”; expire≡“16/12/31”;owner≡“Tom”; creator≡“Jenny” },//EDB
8.)
上述許可證規(guī)則語(yǔ)句3說(shuō)明當(dāng)主體#u播放本數(shù)字內(nèi)容時(shí),如其不屬于已付款客戶,則需要獲得該數(shù)字內(nèi)容所有者的同意,同時(shí)產(chǎn)生#o的實(shí)例并記錄播放者和開(kāi)始時(shí)間;語(yǔ)句4說(shuō)明如果主體#u屬于已付款客戶,則可以直接播放數(shù)字內(nèi)容并產(chǎn)生#o的一個(gè)實(shí)例;語(yǔ)句5說(shuō)明當(dāng)用戶停止播放內(nèi)容時(shí),自動(dòng)刪除播放實(shí)例;主動(dòng)語(yǔ)句6說(shuō)明如果用戶播放數(shù)字內(nèi)容超過(guò)10 min時(shí)仍未付費(fèi),則刪除該播放實(shí)例,即停止播放內(nèi)容,其中將時(shí)間看作觸發(fā)因素,每秒(每tick)產(chǎn)生一個(gè)插入時(shí)間的觸發(fā)動(dòng)作,但時(shí)間的插入存儲(chǔ)是非持續(xù)的,下一秒自動(dòng)產(chǎn)生新的時(shí)間插入和上一秒時(shí)間的刪除。
上述規(guī)則說(shuō)明SociDRM模型容易實(shí)現(xiàn)數(shù)字內(nèi)容的使用和控制,其具有強(qiáng)大的授權(quán)表達(dá)能力,能表達(dá)使用控制模型UCONABC中的所有基本類型[20]。
2.3.2 數(shù)字內(nèi)容轉(zhuǎn)移模型
數(shù)字內(nèi)容轉(zhuǎn)移包括對(duì)數(shù)字內(nèi)容出售、借(租)閱和贈(zèng)送等權(quán)利轉(zhuǎn)移中的保護(hù)模型。以數(shù)字內(nèi)容借閱為例,用戶可以從所有者處借閱數(shù)字內(nèi)容,在借閱期內(nèi)可以使用該數(shù)字內(nèi)容,也能轉(zhuǎn)借他人,在借閱期滿之后,必須歸還,否則需要繳納超期罰款。
仍以圖2為例。假定Tom擁有的數(shù)字內(nèi)容是單版本的,類似于傳統(tǒng)圖書(shū)館,借(租)閱期間其自身無(wú)法再使用該數(shù)字內(nèi)容。Tom的借閱政策是只對(duì)朋友展開(kāi)借閱,但借閱人可轉(zhuǎn)借他人,免費(fèi)借閱期為7 d,超出借閱期未還,則按照借閱規(guī)則每天從用戶賬戶中扣除罰金,直至用戶歸還或超出7 d后,系統(tǒng)將自動(dòng)歸還數(shù)字內(nèi)容。借閱人如轉(zhuǎn)借他人,超期罰金仍由該借閱人支付。用戶權(quán)限規(guī)則如下:
fine_of_day(#u,#o,#n1)←rate_of_day(#n1),
account(#u,#n2),#n1≤#n2
(14)
式(14)查詢當(dāng)天應(yīng)扣的罰金并確認(rèn)用戶賬戶是否有足夠的錢繳納罰款。數(shù)字內(nèi)容借閱許可證規(guī)則如下:
1.License (//許可證示例
2.windtalkers_1//D為數(shù)字內(nèi)容標(biāo)識(shí)符
4.lend(#u,Self)←on-lending(),borrower(#s,Self),relation (#s,#u,“friend”),depth(#s,#u,“friend”,m),m≤1,-object(Self),+object(Self)@#u,setonborrower(#u);
5.on-lending()←owner(#s1),owner_of_space(#s2,Self),s1≠s2;
6.setborrower(#u)←+borrower(#u);
7.setonborrower(#u1)←on-borrower(#u2),#u1≠#u2,-on-borrower(#u2),+on-borrower(#u1);
8.setonborrower(#u)←on-borrower(#u);
9.setonborrower(#u1)←on-borrower(#u2),+on-borrower(#u1);},//IDB
10.{-account(#u,#n2)@#s,-account(#u,#m)@#s←+date(#d1),lend_date(#u,#d2),#d1>#d2+7,#d1<#d2+14,owner(#s),fine_of_day(#u,#o,#n1),account(#u,#n2)@#s,m=#n2-#n1;
11.-object(Self),+object(Self)@#s←+date(#d1),lend_date(#u,#d2),#d1>#d2+7,#d1<#d2+14,owner(#s),fine_of_day(#u,#o,#n1);
12.-object(Self),+object(Self)@#s←+date(#d1),lend_date(#u,#d2),#d1≥#d2+14,owner(#s);},//AR
13.{id≡“12345”;owner≡“Tom”; creator≡“Jenny”;borrower =“Jane”; on-borrower=“Joe”},//EDB
14.)
上述許可證語(yǔ)句3說(shuō)明如果不是轉(zhuǎn)租(on-lending)且與所有者是直接朋友關(guān)系,則允許借閱該數(shù)字內(nèi)容,且從所有者空間刪除該數(shù)字內(nèi)容并將其插入借閱者#u的空間,同時(shí)記錄借閱日期和借閱人;語(yǔ)句4說(shuō)明如果是轉(zhuǎn)租(on-lending),借閱者可以轉(zhuǎn)租給直接朋友,同時(shí)記錄轉(zhuǎn)租的用戶;語(yǔ)句5說(shuō)明如果數(shù)字內(nèi)容的所有者和空間的所有者不是同一主體,則說(shuō)明是轉(zhuǎn)租;語(yǔ)句6設(shè)置借閱人;語(yǔ)句7、語(yǔ)句8和語(yǔ)句9按照不同情況設(shè)置轉(zhuǎn)租用戶;主動(dòng)語(yǔ)句10說(shuō)明當(dāng)借閱期超出7 d未超過(guò)14 d且用戶能繳納當(dāng)天的罰款時(shí),則從用戶賬戶扣除當(dāng)天罰款,其中事件+date(#d1)類似于時(shí)間處理,假定當(dāng)天發(fā)生插入當(dāng)天日期并刪除前天日期的操作;主動(dòng)語(yǔ)句11說(shuō)明當(dāng)借閱期超出7 d未超過(guò)14 d但用戶不能繳納當(dāng)天罰款時(shí),直接將數(shù)字內(nèi)容歸還所有者;主動(dòng)語(yǔ)句12說(shuō)明當(dāng)借閱期超出14 d時(shí),直接將數(shù)字內(nèi)容歸還所有者。
從上述規(guī)則可以看出,SociDRM模型可完全模仿傳統(tǒng)圖書(shū)館的借閱模式,其也能表達(dá)各類數(shù)字內(nèi)容的轉(zhuǎn)移模式,在此不再詳述。
2.3.3 數(shù)字內(nèi)容重用模型
數(shù)字內(nèi)容重用包括對(duì)內(nèi)容的修改、評(píng)論和復(fù)制等,SociDRM模型將修改和評(píng)論內(nèi)容與原內(nèi)容形成層次結(jié)構(gòu),當(dāng)復(fù)制時(shí)可以將修改和評(píng)論內(nèi)容同時(shí)復(fù)制或不復(fù)制。修改和評(píng)論內(nèi)容由修改和評(píng)論者所有,也可以將權(quán)限轉(zhuǎn)讓給原數(shù)字內(nèi)容所有者。
仍以圖2為例。假定Tom數(shù)字內(nèi)容的評(píng)論策略是評(píng)論者必須放棄數(shù)字權(quán)利,其評(píng)論內(nèi)容與數(shù)字內(nèi)容同時(shí)復(fù)制,其數(shù)字權(quán)利也與原數(shù)字內(nèi)容相同,數(shù)字內(nèi)容評(píng)論許可證如下:
1.License (//許可證示例
2.windtalkers_1//D為數(shù)字內(nèi)容標(biāo)識(shí)符
3.{annotate(#u)←input(#text),createobject(#o,#text),createhierarchy(Self,#o,≤CS),owner(#s),+owner(#s)@#o
4.copy(#s,Self)←owner(#s1),cando(#s,Self,+copy)@#s1,copywithhier(#s,Self)
5.copywithhier(#s,#o1)←leaf_object(#o2),object(#o2),#o2≤CS#o1,copywithhier(#s,#o2),+object(#o1)@#s
6.copywithhier(#s,#o)←leaf_object(#o),+object(#o2)@#s},//IDB
7.{ },//AR
8.{id≡“12345”;owner≡“Tom”; creator≡“Jenny””},//EDB
9.)
上述許可證語(yǔ)句3說(shuō)明評(píng)論操作產(chǎn)生新的客體,該客體與被評(píng)論客體形成客體層次關(guān)系,并將評(píng)論客體的所有者設(shè)置為同一所有者,這里將許可證本身作為實(shí)體;語(yǔ)句4說(shuō)明客體復(fù)制時(shí)也同時(shí)復(fù)制該客體層次關(guān)系中的各類客體;語(yǔ)句5說(shuō)明如果客體不是層次結(jié)構(gòu)上的葉子結(jié)點(diǎn),則將其子客體也進(jìn)行復(fù)制;語(yǔ)句6說(shuō)明如果客體是葉子結(jié)點(diǎn),將該客體復(fù)制到請(qǐng)求主體空間。
對(duì)被重用的內(nèi)容客體,可以建立新的許可證和許可權(quán)限規(guī)則,SociDRM模型通過(guò)將重用內(nèi)容與被重用客體分開(kāi)形成客體層次,能實(shí)現(xiàn)靈活細(xì)致的數(shù)字內(nèi)容重用權(quán)利保護(hù)和訪問(wèn)控制模式。
2.3.4 模型合理使用
合理使用是DRM研究中面臨的難點(diǎn)問(wèn)題,合理使用是指學(xué)術(shù)、教育、報(bào)道和評(píng)論等為了促進(jìn)社會(huì)進(jìn)步而無(wú)需征得版權(quán)所有人同意的使用[12]。
假設(shè)Tom合理使用策略是,如果用戶是因?yàn)閷W(xué)術(shù)、教育、報(bào)道和評(píng)論的目的,則可以向所有者或版權(quán)中心申請(qǐng)合理使用,或直接申明該操作為合理使用然后進(jìn)行操作即可。系統(tǒng)為防止用戶濫用,針對(duì)用戶的每一次操作都發(fā)送通知給所有人和版權(quán)中心,如果所有人或版權(quán)中心認(rèn)為用戶存在濫用情況,也可停止用戶的合理使用權(quán)限。所有人或版權(quán)中心用戶權(quán)限規(guī)則如下:
fairuse(#u,#o)←use_num(#u,#o,#n,#t1),
time(#t2),#t2≤#t1+30,#m=#n+1,
-use_num(#u,#o,#n,#t1),
+use_num(#u,#o,#m,#t1)
(15)
fairuse(#u,#o)←use_num(#u,#o,#n,#t1),
time(#t2),#t2>#t1+30,#m=1,
-use_num(#u,#o,#n,#t1),
+use_num(#u,#o,#m,#t2)
(16)
permituse(#u,#o)←use_num(#u,#o,#n,#t1),
#n>10
(17)
-permitassert(#u,Self)←
use_num(#u,#o,#n,#t1),#n>100
(18)
式(15)累積30 d內(nèi)用戶#u對(duì)#o的合理使用次數(shù);式(16)說(shuō)明超過(guò)30 d后重新累積次數(shù);式(17)說(shuō)明累積數(shù)不超過(guò)10次時(shí),將允許用戶的合理使用請(qǐng)求;式(18)是用戶權(quán)限規(guī)則層的主動(dòng)規(guī)則,說(shuō)明當(dāng)用戶的累積數(shù)超過(guò)100次時(shí),將用戶的合理使用申請(qǐng)權(quán)利取消。數(shù)字內(nèi)容合理使用許可證如下:
1.License (//許可證示例
2.windtalkers_1//D為數(shù)字內(nèi)容標(biāo)識(shí)符
3.{do(#u,Self)←input(#text),#text∈purpose,owner(#s),permituse(#u,Self)@#s,fairuse(#u,Self)@#s;
5.{+log(#u,Self,#text,#t)@#s←+assert(#u,Self,#text,#t),owner(#s),fairuse(#u,Self) },//AR
6.{id≡“12345”;owner≡“Tom”; creator≡“Jenny””;purpose={學(xué)術(shù),教育,報(bào)道,評(píng)論}},//EDB
7.)
上述許可證語(yǔ)句3說(shuō)明如果用戶的使用屬于合理使用,并且數(shù)字內(nèi)容的所有者允許該使用,則用戶可以合理使用該數(shù)字內(nèi)容,所有者將記錄用戶的使用次數(shù);語(yǔ)句4說(shuō)明如果數(shù)字內(nèi)容的所有者不允許該合理使用,且用戶具有合理使用申請(qǐng)權(quán)限時(shí),用戶可以直接申請(qǐng)并合理使用該數(shù)字內(nèi)容,許可證將插入一條聲明記錄;主動(dòng)語(yǔ)句5說(shuō)明如果許可證插入一條合理使用聲明記錄,將產(chǎn)生一條日志記錄發(fā)送給所有者,并讓所有者記錄用戶的使用次數(shù)。
以上規(guī)則說(shuō)明,通過(guò)觸發(fā)機(jī)制實(shí)現(xiàn)靈活的事件報(bào)告機(jī)制,SociDRM模型能保證用戶的合理使用權(quán)限。
SociDRM模型以插件形式部署在社交網(wǎng)絡(luò)客戶端,由于Active-DU-Datalog邏輯的分布性,因此每個(gè)社交網(wǎng)絡(luò)客戶端是完全獨(dú)立的自治權(quán)利保護(hù)代理。SociDRM模型實(shí)現(xiàn)機(jī)制如圖3所示。
圖3 SociDRM模型實(shí)現(xiàn)機(jī)制示例
每個(gè)權(quán)利保護(hù)自治代理包括許可證解析器、Active-DU-Datalog語(yǔ)言編譯器和社交網(wǎng)絡(luò)客戶端3個(gè)部分。操作命令提交到自治代理后,由許可證解析器將操作命令轉(zhuǎn)換成邏輯事務(wù)并調(diào)用Active-DU-Datalog語(yǔ)言編譯器進(jìn)行事務(wù)評(píng)價(jià),對(duì)產(chǎn)生的本地事務(wù),編譯器留在本地執(zhí)行;對(duì)非本地的輸出事務(wù),由社交網(wǎng)絡(luò)客戶端提交到相應(yīng)的主體,重新進(jìn)行上述操作過(guò)程直至不再產(chǎn)生輸出事務(wù),最后將所有事務(wù)進(jìn)行第二階段的統(tǒng)一提交。由于Active-DU-Datalog語(yǔ)言的分布性,SociDRM模型無(wú)需集中式的編譯和管理。
目前的DRM系統(tǒng)中,多使用基于XML的語(yǔ)言,如用XrML(http://www.xrml.org)和ODRL (http://www.ordl.net)等權(quán)利描述語(yǔ)言來(lái)構(gòu)建權(quán)利保護(hù)模型?;赬ML的語(yǔ)言在開(kāi)放性、靈活性、可擴(kuò)展性等使用權(quán)利描述方面存在不足。由于邏輯語(yǔ)言在表達(dá)力、靈活性和語(yǔ)義完整性上的優(yōu)勢(shì),成為權(quán)利描述語(yǔ)言中關(guān)注的熱點(diǎn)。LicenseScript模型[21]使用Prolog程序作為許可證的表達(dá)語(yǔ)言,LucScript模型使用Active-U-Datalog語(yǔ)義作為許可證的表達(dá)語(yǔ)言。上述4種模型與SociDRM模型的權(quán)利描述語(yǔ)言對(duì)比如表1所示。
表1 不同模型及其權(quán)利描述語(yǔ)言對(duì)比
由表1可以看出,SociDRM模型在語(yǔ)義完整性、版權(quán)保護(hù)表達(dá)力、使用控制表達(dá)力、合理使用表達(dá)力和交互能力上,與社交網(wǎng)絡(luò)結(jié)構(gòu)最匹配。
本文在Active-DU-Datalog分布式邏輯語(yǔ)言的基礎(chǔ)上,構(gòu)建面向社交網(wǎng)絡(luò)的DRM模型SociDRM。由于Active-DU-Datalog分布式邏輯語(yǔ)言的分布性、非過(guò)程性、更新和交互能力以及具有的主動(dòng)規(guī)則和觸發(fā)機(jī)制,使SociDRM模型相對(duì)其他模型具有與社交網(wǎng)絡(luò)結(jié)構(gòu)更匹配的特征。下一步將研究SociDRM模型對(duì)社交網(wǎng)絡(luò)中數(shù)字出版和商業(yè)應(yīng)用模型的影響。
[1] 和 亮,馮登國(guó),王 蕊,等.基于MapReduce的大規(guī)模在線社交網(wǎng)絡(luò)蠕蟲(chóng)仿真[J].軟件學(xué)報(bào),2013,24(7):1666-1682.
[2] WANG T,SRIVATSA M,LIU L.Fine-grained access control of personal data[J].IEEE Personal Communi-cations,2012,5(2):40-47.
[3] TOOTOONCHIAN A,SAROIU S,GANJALI Y,et al.Lockr:better privacy for social networks[C]//Proceedings of the 5th International Conference on Emerging Networking Experiments and Technologies.New York,USA:ACM Press,2009:169-180.
[4] BADEN R,BENDER A,SPRING N,et al.Persona:an online social network with user-defined privacy[J].ACM SIGCOMM Computer Communication Review,2009,39(4):135-146.
[5] 霍穎瑜,馬 莉,鐘 勇,等.面向社交網(wǎng)絡(luò)的多方授權(quán)模型[J].計(jì)算機(jī)科學(xué),2016,43(1):116-121.
[6] MAHMOOD S.Online social networks:privacy threats and defenses[M]//CHBEIR R,BOUNA B A.Security and Privacy Preserving in Social Networks.Berlin,Germany:Springer,2013:47-71.
[7] HU H,AHN G J,JORGENSEN J.Multiparty access control for online social networks:model and mechanisms[J].IEEE Transactions on Knowledge and Data Engineering,2013,25(7):1614-1627.
[8] 鐘 勇,張 宏,劉鳳玉,等.一種基于邏輯框架的數(shù)字版權(quán)管理機(jī)制和實(shí)現(xiàn)[J].計(jì)算機(jī)研究與發(fā)展,2010,47(2):223-230.
[9] RODRIGUEZ E,RODRIGUEZ V,CARRERAS A,et al.A digital rights management approach to privacy in online social networks[C]//Proceedings of Workshop on Privacy and Protection in Web-based Social Networks.New York,USA:ACM Press,2009:129-139.
[10] ZHANG Z.Frontier and methodologies on digital rights management for multimedia social networks[J].International Journal of Digital Content Technology and Its Applications,2012,6(9):245-249.
[11] ENSOR B,KRUK S R,GZELLA A.A DRM solution based on social networks and enabling the idea of fair use[EB/OL].[2017-02-20].https://www.researchgate.net/publication/228711011_A_DRM_solution_based_on_social_networks_and_enabling_the_idea_of_fair_use.
[12] HUO Y,MA L,ZHONG Y.Research on fair use of digital content in social network[C]//Proceedings of International Conference on Knowledge Science,Engineering and Manage-ment.Berlin,Germany:Springer,2015:170-176.
[13] MARQUES J,SERRO C.Improving content privacy on social networks using open digital rights management solutions[J].Procedia Technology,2013,9:405-410.
[14] ALI B,MAHESWARAN M.Using social factors in digital rights management[C]//Proceedings of the 4th USENIX Conference on Hot Topics in Security.Berkeley,USA:USENIX Press,2009:1-6.
[15] MA Li,TAO Lixin,GAI Keke,et al.A novel social network access control model using logical authorization language in cloud computing[J].Concurrency and Computation:Practice and Experience,2017,29(14):99-110.
[16] MA Li,LENG Peng,ZHONG Yong.Research on semantic of updatable distributed logic and its application in access control[J].Journal of Parallel and Distributed Computing,2017,103(5):104-112.
[17] BERTINO E,CATANIA B,GERVASI V,et al.Active-U-datalog:integrating active rules in a logical update language[M]//FREITAG B,DECKER H,KIFER M,et al.Transactions and Change in Logic Databases.Berlin,Germany:Springer,1997:107-133.
[18] ZAYCHIK M V,STOYANOVICH J,ABITEBOUL S,et al.Collaborative access control in WebdamLog[C]//Proceedings of ACM SIGMOD International Conference on Management of Data.New York,USA:ACM Press,2015:197-211.
[19] 鐘 勇,秦小麟,劉鳳玉.ODRL權(quán)利描述語(yǔ)言邏輯實(shí)施機(jī)制研究[J].計(jì)算機(jī)科學(xué),2009,36(4):133-139.
[20] CARNIANI E,D’ARENZO D,LAZOUSKI A,et al.Usage control on cloud systems[J].Future Generation Computer Systems,2016,63(C):37-55.
[21] CHONG C N,CORIN R,DOUMEN J,et al.LicenseScript:a logical language for digital rights management[J].Annals of Telecommunications,2006,61(3):284-331.