薛 梅
(上海電力學院計算機與信息工程學院,上海 200090)
隨著計算機技術和網絡技術的發(fā)展,數(shù)字內容的各種應用蓬勃興起,數(shù)字內容具有易復制、易修改和易傳播等特征,但這些特性同時也是一把雙刃劍,使得數(shù)字內容在其生命周期內隨時面臨被竊取、篡改、非授權訪問和非授權分發(fā)的威脅,造成數(shù)字內容價值的降低甚至喪失.
在信息內容研究領域,傳統(tǒng)的信息安全技術(如加密技術、防火墻技術、防病毒技術、身份鑒別技術、數(shù)據(jù)完整性技術等)能夠在一定程度上保證數(shù)字內容的存儲或訪問的安全性[1-4];而DRM技術[5]、水印技術能在一定程度上保護數(shù)字內容版權者的權益,但這些都無法很好地為數(shù)字內容的整個生命周期提供保護.原因在于:現(xiàn)有的保護技術主要提供數(shù)字內容的階段性保護,并未消除階段外所面臨的威脅,無法滿足對數(shù)字內容的全程跟蹤需求,因此構建良好的數(shù)字內容全生命周期保護模型是本文的研究核心.本文闡述了數(shù)字內容全生命周期保護的概念,給出了數(shù)字內容全生命周期保護模型的結構、具體形式及全程跟蹤表示,最后給出了基于模型實現(xiàn)的原型系統(tǒng).
根據(jù)保護技術的特性可以將其分為以下兩類.
(1)關卡式保護 為不同信息內容設立同一道“關卡”來確保信息內容的安全性.該保護類型以相應的安全策略為參考標準,捕捉所有信息內容上發(fā)生的相同事件,對其采取相應的安全措施,保證數(shù)字內容從一節(jié)點到另一節(jié)點之間符合預設的安全需求,如防火墻技術、入侵檢測技術、訪問控制技術等都屬于這種保護類型.
(2)簡單的殼式保護 該類技術著眼于內容本身的安全性,對內容本身進行安全控制,如同為不同的信息內容添加一個保護殼來確保信息內容的安全性.如加密技術、DRM技術、水印技術等均屬于這種類型.
數(shù)字內容在其生命周期中經歷的狀態(tài)包括:原始的信息資源狀態(tài);創(chuàng)建后的數(shù)字內容狀態(tài);分發(fā)后的數(shù)字內容狀態(tài);使用后的數(shù)字內容狀態(tài);消亡后的狀態(tài)等.
數(shù)字內容處于不同狀態(tài)時面臨不同的威脅:在創(chuàng)建之后面臨被非法竊取的威脅;在分發(fā)狀態(tài)中面臨被非法篡改以及竊取的威脅;在使用狀態(tài)下面臨被非法使用的威脅.
數(shù)字內容全生命周期保護(Content Lifecycle Protection Concept,CLPC)是指采用殼式保護為生命周期中不同階段(包括形成、分發(fā)、使用、消亡)的數(shù)字內容提供監(jiān)管和保護,CLPC殼式保護理念的二維圖如圖1所示.
圖1 CLPC殼式保護理念示意
CLPC過程可以概括為:從信息作品形成開始,為信息作品添加一個殼式保護層,如同為信息作品配備一個保鏢,該保鏢能有效監(jiān)管和控制信息作品后續(xù)階段(分發(fā)、使用)的活動,使其總是處于安全限度內,直至信息作品的最后消亡也是受保護的.對于數(shù)字內容本身而言,這種殼式保護形成了生命周期范圍內的全面保護,且支持全程跟蹤數(shù)字內容不同的生命周期階段.
圖1中,橫坐標描述的是數(shù)字內容生命周期不同階段的變遷過程;縱坐標描述的是數(shù)字內容不同狀態(tài)的變化過程.CLPC就是CO在由生命周期階段變化引起的狀態(tài)變遷過程中始終受到的保護,即由BO對CO進行監(jiān)管和保護,并對消費者的使用進行控制.
根據(jù)前述的CLPC構建數(shù)字內容全生命周期保護模型(CLPM),模型結構如圖2所示.
圖2 數(shù)字內容全生命周期保護模型結構
在CO的形成階段,創(chuàng)建物理形式的BCO,將邏輯上為一個整體的數(shù)字內容殼式保護體BCO表示成具體的物理構成形式;在CO的分發(fā)階段,根據(jù)環(huán)境的實際需求更改BCO中的BO;在CO的使用階段,BCO中CO的使用受預先定義的使用規(guī)則監(jiān)管;在CO的消亡階段,BO的消亡策略決定了BO是否在CO消亡后立即自我銷毀或者延遲銷毀.數(shù)字內容存在的所有階段都將受到審計跟蹤、許可和信任管理.
2.1.1 殼的定義及作用
為了實現(xiàn)對數(shù)字內容的保護,殼必須具備以下7種功能和特性來履行保護職責.
(1)對數(shù)字內容本身進行變換,確保數(shù)字內容的機密性,使其被非法竊取后無法獲取原始的數(shù)字內容;
(2)對數(shù)字內容生成生產者的數(shù)字簽名,保證接收者收到的信息內容確實是生產者創(chuàng)建或者發(fā)布的;
(3)對數(shù)字內容的完整性進行驗證,保證在傳輸途中沒有被非法篡改;
(4)記錄數(shù)字內容相應的使用規(guī)則,用以監(jiān)管和控制用戶對數(shù)字內容的使用,保證合法者的權益,同時阻止非授權用戶的非法操作;
(5)對用戶身份進行可信性驗證,確保用戶身份的合法性;
(6)根據(jù)用戶相應的操作權限控制其對數(shù)字內容的使用,確保用戶操作的合法性;
(7)記錄與不同狀態(tài)的數(shù)字內容相關的信息,有利于對不同狀態(tài)的數(shù)字內容進行跟蹤審計.
由于殼具備以上功能和特性,因此殼對象BO表示的是一個獨立標識的實體,它可以表示為:
式中:ID0——BO對象的唯一標識;
A0——BO的屬性集合;
M——BO的功能集合.
數(shù)字內容對象CO表示的也是一個獨立標識的實體,不包括相應的方法,它可以表示為:
式中:ID——CO對象的唯一標識;
A——CO的屬性集合.
2.1.2 BCO的邏輯結構及物理結構
BCO的邏輯結構為:BCO=(BO,CO).
根據(jù)CLPC的思想可以得出,BCO中BO的保護功能體現(xiàn)在以下兩個方面.
(1)對數(shù)字內容CO本身采取有效的安全保護措施.
(2)根據(jù)相應的安全規(guī)則(也稱使用規(guī)則)控制用戶USER的操作.其中,對于不同的CO來說,受保護的用戶界面UI(即使用規(guī)則的執(zhí)行環(huán)境)和對CO相應的保護措施這兩者具有共性,它們的內容相對固定,不會隨著不同的CO在其生命周期不同階段的流通而流通;而與CO相對應的使用規(guī)則在其生命周期中是可變的,會隨著CO的變化而變化.
因此,從信息可變性角度分析,可以將上述與BCO對應的功能信息分為兩類:
(1)固定信息 包括使用規(guī)則的執(zhí)行環(huán)境和對CO相應的保護措施;
(2)可變信息 包括與CO對應的使用規(guī)則、CO本身,以及保護措施實施所需要的關鍵信息,如完整性驗證碼、簽名信息等.
由此可以得出BCO的物理結構形式為:
BCO=(固定信息,可變信息);
固定信息=(根據(jù)使用規(guī)則的執(zhí)行環(huán)境,CO相應的保護措施);
可變信息=(CO相應的使用規(guī)則,CO保護相應的關鍵信息,CO).
BCO對CO的全程跟蹤要求BO在整個生命周期中承擔3個職責:
(1)記錄不同階段與數(shù)字內容CO相關的用戶操作信息;
(2)保存這些跟蹤信息;
(3)根據(jù)跟蹤信息生成相應的審計信息.
由于BO的這些職責對于不同的CO來說是相對固定的,因此可以將全程跟蹤的記錄、保存和審計功能放到固定信息中,而真正可變的是與CO密切相關的跟蹤信息本身.
CLPM對數(shù)字內容CO形成的保護形式BCO可以避免數(shù)字內容遭到已知攻擊(竊取、非授權訪問、復制等)和一些未知的攻擊.但仍存在一些未知攻擊可以突破BCO中BO對CO的保護而獲得對CO的訪問.如果無法避免這些未知攻擊,BCO將會記錄相關的跟蹤信息,并對其進行分析,以盡早捕獲這種未知的攻擊.如果攻擊者損害了全程跟蹤信息,那么成功追蹤的可能性將會大大降低.
基于CLPC構建數(shù)字內容生命周期安全系統(tǒng)(CLSS),采用的技術包括 XML Web Service,WSSecurity,ACTIVEX,RBAC,加密技術等.
基本符號的描述為:CAS為客戶端應用軟件;GS為許可服務;CS為信任服務器;TS為跟蹤服務器;IDCreator為生產者ID;igoods為信息作品;D(igoods)為信息作品的摘要;IDigoods為信息作品的序列號;SRigoods為信息作品的安全規(guī)則;Copyrightigoods為信息作品的產權信息;Kigoods為封裝信息作品的解密密鑰;EKpp是指用許可服務器(PP)的公鑰;CAS==>GS:{m}是指CAS傳遞消息m給GS;Kcreator_pr為生產者的私鑰,即數(shù)字證書中包含的私鑰信息;Kcreator_pu為生產者的公鑰,即數(shù)字證書包含的公鑰信息.根據(jù)實際環(huán)境對與PKC相關的3種關鍵服務進行描述,即BCO創(chuàng)建服務、BCO使用服務和BCO跟蹤服務.
3.1.1 BCO 創(chuàng)建服務描述
Service Build_BCO
{
CAS==> CS:check IDcreator’s credential
CAS:Adding Copyrightigoods,EKigoods(igoods)and OperInfoCreator into CO
CAS:Adding IDigoods,SRigoods,Kigood,D(igoods)and OperInfoCreator into BO
CAS==>GS:{EKpp(BO)}
CAS==>IDPublisher:
CAS==>TS{OperInfocreator}
}
3.1.2 BCO 使用服務描述
Service Consume_CO
{CAS==> CS:check IDconsumer’s credential
if the identification is valid then
{CAS==>GS:Ekconsumer_pr(Request(IDigoods,right))
GS:check if consumer meets the condition of SRigood
If meet then
{GS==> CAS:{EKconsumer_pp(IDigoods,SRigoods, Kigoods,Digest(igoods))}CAS:DKconsumer_pr(EKconsumer_pp(SRigoods,Kigoods,Digest(igoods)))
CAS:check if Digest(Dkigoods(EKigoods(igoods))?=Digest(igoods)
if equal then
{igoods was not attacked
control consumer’s operation
update the OperInfoCreator in the CO
reEncapsulate the Copyrightigoods,
EKigoods(igoods)and OperInfoCreator
into CO after consumer’s operation}
else
{igoods was attacked
refuse}
CAS==>TS{OperInfocreator}
}}
}
3.1.3 BCO 跟蹤服務描述
Service Get_AuditInfo
{CAS==> TS:{Request(IDigoods,IDcreator)}
TS==>CAS:{AuditInfo}
}
本文基于Visual Studio.NET環(huán)境采用C#語言實現(xiàn)了CLPM.對DOC文件中的部分內容進行封裝保護,效果界面如圖3所示.內容發(fā)布者可以獲取所有使用者和分發(fā)者的信息(即跟蹤信息),跟蹤界面如圖4所示.
圖3 DOC中部分內容的保護效果界面
圖4 跟蹤信息界面
本文提出了數(shù)字內容全生命周期保護的思想和模型框架,該保護技術具有全程跟蹤特性,用殼封裝數(shù)字內容形成殼式保護對象BCO,以監(jiān)管和保護生命周期的每個階段,在一定程度上實現(xiàn)了對數(shù)字內容的保護,但對于數(shù)字內容可能潛在的嵌套保護仍有待于進一步的分析和討論.
[1]馮登國.應用密碼學[M].北京:清華大學出版社,2000:17-21.
[2]KARANJIF Chris Hare.Internet防火墻網絡安全[M].北京:機械工業(yè)出版社,1998:33-36.
[3]劉東華,時信華.網絡與通信安全技術[M].人民郵電出版社,2002:28-32.
[4]CLARKE R.Human identification in information systems:management challeges and public policy issues[J].Information Technology&People,1994,7(4):6-37.
[5]Open Mobile Alliance.OMA DRM specification candidate version 2.0[S].OMA-DRM-DRM-V2_0-20041210-C.