呂 俊,張志勇+,徐艷艷
(1.河南科技大學(xué) 信息工程學(xué)院,河南 洛陽(yáng) 471000; 2.河南科技大學(xué) 河南省網(wǎng)絡(luò)空間安全應(yīng)用國(guó)際聯(lián)合實(shí)驗(yàn)室,河南 洛陽(yáng) 471023)
近年來,區(qū)塊鏈因去中心化、可編程性、安全可信等特性而受到關(guān)注[1]。如今的區(qū)塊鏈不僅僅是比特幣[2]底層的賬本技術(shù),更是集合創(chuàng)新的基礎(chǔ)設(shè)施架構(gòu)。它融合了密碼學(xué)、博弈論、計(jì)算機(jī)網(wǎng)絡(luò)、金融學(xué)等多門學(xué)科,使得其在一定范圍內(nèi)具有極強(qiáng)的普適性[3,4]。區(qū)塊鏈所具有的開放性、匿名性、不可篡改性等特點(diǎn),在某種程度上彌補(bǔ)了現(xiàn)有數(shù)字版權(quán)管理領(lǐng)域的一些不足[5]。在多媒體社交網(wǎng)絡(luò)[6,7]環(huán)境中,用戶之間隨意篡改和傳播受保護(hù)的數(shù)字內(nèi)容而引發(fā)的版權(quán)問題尤為嚴(yán)重[8,9]。目前的多數(shù)研究局限在版權(quán)數(shù)據(jù)信息輸入輸出時(shí)終端的管控上,而真實(shí)社交網(wǎng)絡(luò)中的版權(quán)信息安全問題往往發(fā)生在轉(zhuǎn)發(fā)、引用等傳播過程中。
本文以社交網(wǎng)絡(luò)為應(yīng)用場(chǎng)景,針對(duì)上述問題進(jìn)行深入研究,提出以區(qū)塊鏈為底層基礎(chǔ)設(shè)施的方案。該方案通過建立一種區(qū)塊鏈與社交網(wǎng)絡(luò)傳播鏈相融合的傳播機(jī)制,將數(shù)字版權(quán)內(nèi)容從上傳(確權(quán))、發(fā)布(用權(quán))、轉(zhuǎn)發(fā)(傳播)的整個(gè)版權(quán)信息生命周期中的傳播路徑軌跡進(jìn)行詳細(xì)記錄,為版權(quán)信息驗(yàn)證及溯源提供強(qiáng)有力的支撐,支持?jǐn)?shù)字版權(quán)保護(hù)內(nèi)容在社交網(wǎng)絡(luò)的傳播過程中以正確的形式傳遞,并采用數(shù)字水印、數(shù)字證書等技術(shù)為版權(quán)信息的安全提供保障。
針對(duì)版權(quán)信息在社交網(wǎng)絡(luò)傳播中安全及擴(kuò)散的問題,以用戶、動(dòng)態(tài)及社交網(wǎng)絡(luò)為切入點(diǎn),對(duì)版權(quán)信息動(dòng)態(tài)采用傳播者角色劃分,并以此形成交流群體。本文通過改進(jìn)現(xiàn)有社交網(wǎng)絡(luò)模型中的在線控制機(jī)制,采用區(qū)塊鏈作為信息存儲(chǔ)及提取的底層基礎(chǔ),以版權(quán)信息在區(qū)塊鏈中的傳播過程為向?qū)В瑥亩岢龌谟脩魟?dòng)態(tài)交互方式的安全信息傳播機(jī)制的過程調(diào)度算法。
如表1所示,定義用戶和動(dòng)態(tài)兩類實(shí)體。其中,用戶為動(dòng)態(tài)的傳播行為的主體,而動(dòng)態(tài)為傳播內(nèi)容的載體。為了客觀描述實(shí)體在社交網(wǎng)絡(luò)中的傳播過程及路徑信息,在表2中定義了傳播機(jī)制實(shí)體的狀態(tài)變量以及對(duì)應(yīng)描述。
表1 社交網(wǎng)絡(luò)信息傳播機(jī)制中實(shí)體定義及描述
表2 社交網(wǎng)絡(luò)信息傳播機(jī)制中實(shí)體的狀態(tài)變量 定義及描述
在版權(quán)信息動(dòng)態(tài)的傳播中,參與者和受眾之間通過對(duì)動(dòng)態(tài)的評(píng)論或回復(fù)的方式增加互動(dòng)性。定義若交互雙方屬于同一角色,則劃分為同一群組,反之亦然。用戶發(fā)布動(dòng)態(tài)后,要根據(jù)用戶的DList集合中以往發(fā)布動(dòng)態(tài)的瀏覽量和評(píng)論數(shù)計(jì)算出該用戶的影響力數(shù)值。用戶的影響力由關(guān)聯(lián)度(Correlation)和權(quán)威度(Authority)兩部分組成,計(jì)算公式如下
(1)
(2)
其中,U表示用戶群里集合,T為用戶Ui所選擇的傳播類型,Uj是動(dòng)態(tài)的發(fā)布者,CTt(Ui,Uj,T)是t時(shí)間步時(shí)用戶Ui和用戶Uj關(guān)于動(dòng)態(tài)的評(píng)論通信累計(jì)總量,ATt(Ui,Uj,T)是t時(shí)間步時(shí)用戶Ui和用戶Uj動(dòng)態(tài)被轉(zhuǎn)發(fā)的累計(jì)總數(shù)。為了防止浮點(diǎn)運(yùn)算時(shí)出現(xiàn)溢出情況的發(fā)生,公式中引入Δ變量為干擾參數(shù),通過改變?chǔ)さ闹?,調(diào)整關(guān)聯(lián)度和權(quán)威度影響力度,當(dāng)Δ近似于無窮大時(shí),則每個(gè)用戶的傳播概率相同
Influence:PI[Uj]=λPC[Uj]+(1-λ)PA[Uj]
(3)
如式(3)所示,動(dòng)態(tài)發(fā)布者Uj的傳播影響力PI是將關(guān)聯(lián)度PC和權(quán)威度PA通過加權(quán)的方式得出。在社交網(wǎng)絡(luò)中,用戶在不同的階段權(quán)威度和關(guān)聯(lián)度的比例會(huì)隨著時(shí)間的推移以及規(guī)則的變更而改變,通過引入權(quán)重因子λ動(dòng)態(tài)調(diào)整權(quán)威度和關(guān)聯(lián)度的比例值,使得影響力計(jì)算方法具有較高的普適性。影響力不僅是評(píng)價(jià)用戶的指標(biāo),也是動(dòng)態(tài)信息在社交網(wǎng)絡(luò)中傳播范圍及速度的影響因素,當(dāng)傳播過程結(jié)束后,影響力會(huì)作為參數(shù)的一部分寫入?yún)^(qū)塊鏈中,通過對(duì)動(dòng)態(tài)信息以及影響力的持續(xù)跟蹤可以更快、更全面地記錄下動(dòng)態(tài)信息中版權(quán)內(nèi)容的傳播軌跡。
在傳播機(jī)制中,針對(duì)用戶傳播動(dòng)態(tài)的過程主要由改變用戶狀態(tài)、選擇傳播方式、檢測(cè)信息、保護(hù)信息安全以及最終更新參數(shù)5個(gè)步驟。如圖1所示,用戶通過社交網(wǎng)絡(luò)瀏覽信息并產(chǎn)生傳播意圖時(shí),判斷用戶當(dāng)前的狀態(tài)是否處于使用社交網(wǎng)絡(luò)的狀態(tài)(即登陸狀態(tài))。用戶通過選擇傳播方式,針對(duì)當(dāng)前或上傳的版權(quán)信息分別檢測(cè)。將檢測(cè)后信息存入鏈中,并生成新的動(dòng)態(tài)序號(hào)為二次傳播提供基礎(chǔ)。當(dāng)傳播結(jié)束后,更新各個(gè)參數(shù)變量及相關(guān)信息。
圖1 社交媒體網(wǎng)絡(luò)傳播機(jī)制流程
版權(quán)數(shù)據(jù)信息在區(qū)塊鏈的傳播過程中,在保證數(shù)據(jù)安全性及可追蹤性的前提下最大程度滿足社交網(wǎng)絡(luò)的傳播策略。如算法1所示,在用戶傳播版權(quán)信息的過程中,每個(gè)用戶都需按照以下策略執(zhí)行:
(1)改變用戶狀態(tài)。定義當(dāng)用戶正在使用社交網(wǎng)絡(luò)的狀態(tài)值為0,并且只有當(dāng)前狀態(tài)為0時(shí)才可以傳播信息。
(2)選擇傳播方式。傳播方式分為發(fā)布新動(dòng)態(tài)或者轉(zhuǎn)發(fā)原動(dòng)態(tài)。
(3)檢測(cè)信息。針對(duì)不同的傳播方式采用不同的檢測(cè)方式。當(dāng)用戶發(fā)布新動(dòng)態(tài)或轉(zhuǎn)發(fā)動(dòng)態(tài)時(shí),對(duì)版權(quán)信息進(jìn)行檢測(cè),并記錄在鏈中作為版權(quán)追蹤的依據(jù)。
(4)保護(hù)信息安全。根據(jù)檢測(cè)結(jié)果對(duì)版權(quán)信息水印進(jìn)行更新。
(5)完成信息傳播。傳播完成后更新參數(shù)。
用戶是傳播信息的主體,當(dāng)傳播信息過程完成后,更新區(qū)塊鏈中的參數(shù),完整記錄整個(gè)傳播過程,使得其在鏈中數(shù)據(jù)具有連續(xù)性以及可追蹤性。以下是對(duì)該傳播過程的偽代碼描述,當(dāng)傳播過程完結(jié)或達(dá)到指定時(shí)間步時(shí)將自動(dòng)停止。
算法1:版權(quán)數(shù)據(jù)信息調(diào)度算法
輸入:UserState,Dynamic,區(qū)塊n
輸出:區(qū)塊n+1
(1)Begin (2) for i = 1 to MaxUserNumber (3) 初始化User (4) end for (5) for i = 1 to MaxDynamicNumber (6) 初始化Dynamic (7) end for (8) for i = 1 to MaxTimeStep (9) for j =1 to MaxUserNumber (10) User Uj根據(jù)隨機(jī)游走改變UserState值 (11) if(Uj的UserState == 0) (12) if(Uj將要發(fā)布新的Dynamic) (13) 檢測(cè)版權(quán)信息是否在區(qū)塊n的DList中Dk (14) if(Dk存在) (15) 生成新的動(dòng)態(tài)信息De,并將De與Dk存入鏈中。 (16) end if (17) end if (18) if(Uj將要轉(zhuǎn)發(fā)舊的Dynamic) (19) 檢測(cè)版權(quán)信息是否在區(qū)塊n的DList中Dk (20) if(Dk存在) (21) 選擇Dk,在原有序列中追加De,并將De與Dk存入鏈中。 (22) end if (23) end if (24) 根據(jù)信息內(nèi)容,生成新水印。 (25) 更新Uj、De、Dk以及水印的相關(guān)信息。 (26) 生成區(qū)塊n+1。 (27) end if (28) end for (29) end for (30) End
基于調(diào)度過程算法,本文提出了一種以區(qū)塊鏈為核心的數(shù)字版權(quán)保護(hù)方案(digital copyright service chain,DCSChain),該方案支持?jǐn)?shù)字版權(quán)保護(hù)內(nèi)容可以在社交網(wǎng)絡(luò)的傳播過程中以正確的形式傳遞,版權(quán)鏈可以提供高級(jí)可信的內(nèi)容保護(hù)和驗(yàn)證服務(wù)。在本方案中,使用區(qū)塊鏈接口存儲(chǔ)受數(shù)字版權(quán)保護(hù)的內(nèi)容及其摘要信息。由于考慮到圖像資源會(huì)極大占用鏈空間,使用外部存儲(chǔ)方式對(duì)數(shù)字內(nèi)容進(jìn)行存儲(chǔ),并通過創(chuàng)建內(nèi)容對(duì)應(yīng)的哈希值使其與區(qū)塊鏈相連。在方案中提出了可信、安全的身份驗(yàn)證和追蹤方法,因此可以高效安全地從區(qū)塊鏈中檢索證書及數(shù)字內(nèi)容,并且可以通過智能合約[10-12]對(duì)其進(jìn)行管控。在社交網(wǎng)絡(luò)平臺(tái)的基礎(chǔ)上實(shí)現(xiàn)了基于區(qū)塊鏈的圖像數(shù)字內(nèi)容版權(quán)管理,經(jīng)評(píng)估表明,該方案安全、可信、高效,平臺(tái)可以永久性保留其上傳內(nèi)容的版權(quán)。一旦發(fā)現(xiàn)疑似侵權(quán)內(nèi)容,平臺(tái)可以快速鑒定該內(nèi)容,并跟蹤其傳播過程從而檢查出侵權(quán)內(nèi)容的提供者。
在DCSChain方案中,平臺(tái)會(huì)將接收到的原始內(nèi)容存儲(chǔ)在具有嚴(yán)格訪問限制的區(qū)塊鏈網(wǎng)絡(luò)中,這些原始內(nèi)容將用于版權(quán)保護(hù)的處理和存證。平臺(tái)采用區(qū)塊鏈技術(shù)保護(hù)版權(quán)信息的安全,為了更加方便、高效地管理版權(quán)信息與社交網(wǎng)絡(luò)傳播信息的交互,引入了融合層的概念。融合層是版權(quán)信息和與傳播信息的數(shù)據(jù)預(yù)處理層,其以Hash值為媒介,將原始數(shù)據(jù)與版權(quán)信息和傳播信息結(jié)合在一起,使得信息資源可以便捷地互聯(lián)互通,也為上層結(jié)構(gòu)訪問數(shù)字信息提供了穩(wěn)定、可靠的訪問基礎(chǔ)。平臺(tái)的資源數(shù)據(jù)與版權(quán)信息由數(shù)據(jù)層、版權(quán)信息鏈和傳播信息鏈分別存儲(chǔ),網(wǎng)絡(luò)層則提供了必要的通信基礎(chǔ),版權(quán)信息和原始數(shù)據(jù)的融合及預(yù)處理在融合層中完成,各個(gè)節(jié)點(diǎn)按照共識(shí)層中提供的策略達(dá)成分布式一致性的要求,通過合約層對(duì)數(shù)據(jù)進(jìn)行二次處理及過濾,由應(yīng)用層對(duì)數(shù)據(jù)匯總并統(tǒng)一展示,其架構(gòu)模型如圖2所示。
圖2 DCSChain平臺(tái)架構(gòu)模型
在本文中,數(shù)字版權(quán)保護(hù)方案的目標(biāo)是為了實(shí)現(xiàn)一種安全可信的框架來保護(hù)和追蹤擁有版權(quán)的數(shù)字內(nèi)容。其功能囊括了從內(nèi)容提供者對(duì)數(shù)據(jù)的加密傳輸,到服務(wù)端解密、安全存儲(chǔ)和網(wǎng)絡(luò)分發(fā)的整個(gè)過程。鑒于社交網(wǎng)絡(luò)實(shí)時(shí)性、交互性及開放性的特點(diǎn),為了保護(hù)數(shù)字內(nèi)容不受侵犯,采用區(qū)塊鏈作為版權(quán)信息存儲(chǔ)介質(zhì),滿足版權(quán)信息存儲(chǔ)所需要的安全性、可信性和可追蹤的特性,而社交網(wǎng)絡(luò)的傳播路徑則使用傳播鏈作為存儲(chǔ)介質(zhì),這樣也最大程度的保證了社交網(wǎng)絡(luò)的正常使用。
在社交網(wǎng)絡(luò)中當(dāng)用戶采用常規(guī)傳播方式(引用、轉(zhuǎn)發(fā)、分享、收藏)時(shí),平臺(tái)不會(huì)對(duì)數(shù)字內(nèi)容重新劃分存儲(chǔ)空間,僅將傳播路徑記錄在傳播鏈中。當(dāng)用戶采用非常規(guī)方式傳播(將數(shù)字資源重新上傳并發(fā)布、將數(shù)字資源修改后上傳并發(fā)布)時(shí),平臺(tái)會(huì)通過檢測(cè)上傳內(nèi)容的數(shù)字指紋、水印、證書等方式對(duì)原創(chuàng)作品進(jìn)行鑒別,若數(shù)字內(nèi)容已存在,則自動(dòng)轉(zhuǎn)入轉(zhuǎn)發(fā)流程,并在轉(zhuǎn)發(fā)流程中追加當(dāng)前用戶的簽名。為避免區(qū)塊鏈存儲(chǔ)空間有限,大文件存儲(chǔ)效率低等問題,本方案將版權(quán)信息及受版權(quán)保護(hù)的數(shù)字內(nèi)容分離,使用區(qū)塊鏈存儲(chǔ)版權(quán)信息,數(shù)字內(nèi)容的存儲(chǔ)則采用文件系統(tǒng),并通過Hash值使之相互關(guān)聯(lián)。
本方案框架如圖3所示,該系統(tǒng)是一個(gè)完備的數(shù)據(jù)安全傳輸平臺(tái),該平臺(tái)通過應(yīng)用程序接口(application programming interface,API)和軟件開發(fā)工具包(software development kit,SDK)兩個(gè)中間件實(shí)現(xiàn)各個(gè)組成部分之間的相互連通。終端將加密的數(shù)字內(nèi)容上傳,API將解密后的元數(shù)據(jù)及提取的版權(quán)信息通過SDK分別存入文件系統(tǒng)和區(qū)塊鏈中。反之,當(dāng)終端請(qǐng)求數(shù)據(jù)信息時(shí),API通過SDK調(diào)用智能合約,智能合約會(huì)自動(dòng)獲取數(shù)據(jù),并將含有數(shù)字水印的數(shù)據(jù)返回。對(duì)于本方案而言,主要通過利用區(qū)塊鏈技術(shù)間接或直接地存儲(chǔ)圖像資源及信息、生成并添加含有版權(quán)信息的水印和對(duì)受版權(quán)保護(hù)的數(shù)字資源的追蹤,實(shí)現(xiàn)了一個(gè)支持跨平臺(tái)的數(shù)字版權(quán)保護(hù)系統(tǒng)。
圖3 DCSChain平臺(tái)框架模型
為了更好適應(yīng)社交網(wǎng)絡(luò)如今的多中心特點(diǎn),本文采用了Hyperledger Fabric[13,14](一個(gè)由IBM公司主導(dǎo)開發(fā)的面向企業(yè)級(jí)客戶的開源項(xiàng)目)作為平臺(tái)底層基礎(chǔ),并擴(kuò)展和完善了版權(quán)保護(hù)與傳播記錄的相關(guān)內(nèi)容。在DCSChain方案中,通過調(diào)用API來實(shí)現(xiàn)將數(shù)據(jù)版權(quán)信息存儲(chǔ)在區(qū)塊鏈中的全過程。為了保證平臺(tái)中數(shù)據(jù)流通的規(guī)范性與通用性,使用Json格式作為接口和數(shù)據(jù)存儲(chǔ)格式。
區(qū)塊鏈?zhǔn)怯蓴?shù)據(jù)區(qū)塊以時(shí)間順序?yàn)樗饕嗷ユ溄訌亩鴺?gòu)成的一種鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),如圖4所示。區(qū)塊鏈由多個(gè)數(shù)據(jù)區(qū)塊構(gòu)成并具有時(shí)序性,每個(gè)區(qū)塊都包含Metadata(元數(shù)據(jù))、ChaincodeID(合約地址)、Hash(哈希值)、Timestamp(時(shí)間戳)、ParentHash(上個(gè)區(qū)塊的哈希值)、Nonce(隨機(jī)數(shù))、Cert(證書)、Signature(簽名)以及Trans(事務(wù)編碼)。并通過其鏈?zhǔn)浇Y(jié)構(gòu)的特性對(duì)鏈上事務(wù)全過程進(jìn)行跟蹤,進(jìn)一步保證數(shù)據(jù)的可信性。
圖4 區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)
當(dāng)通過驗(yàn)證的事務(wù)數(shù)據(jù)存儲(chǔ)在區(qū)塊中后,區(qū)塊狀態(tài)就會(huì)從初始狀態(tài)改變?yōu)榭蓤?zhí)行狀態(tài)。用戶就可以通過Timestamp、Hash、Tans等關(guān)鍵信息對(duì)區(qū)塊進(jìn)行查詢。為避免當(dāng)前區(qū)塊鏈過長(zhǎng)而導(dǎo)致的查詢效率低下的問題,采用了狀態(tài)數(shù)據(jù)庫(kù)(state database,StateDB)的方式予以解決。如圖5所示,當(dāng)事務(wù)狀態(tài)變更時(shí),StateDB會(huì)存儲(chǔ)相應(yīng)的狀態(tài)及數(shù)據(jù)信息。StateDB作為區(qū)塊鏈文件系統(tǒng)存儲(chǔ)方式的補(bǔ)充,通過狀態(tài)同步策略,實(shí)現(xiàn)了以緩沖的機(jī)制對(duì)事務(wù)數(shù)據(jù)進(jìn)行存儲(chǔ)。
圖5 區(qū)塊鏈結(jié)構(gòu)
在DCSChain方案中,主要由根CA和中間CA構(gòu)成公鑰基礎(chǔ)設(shè)施(public key infrastructure,PKI)體系的信任基礎(chǔ)[15,16]。MSP(membership service provider)中所需要的證書都可以通過CA生成。MSP為成員提供一個(gè)可以映射到對(duì)應(yīng)組織的身份,它確定了如何將節(jié)點(diǎn)分配給特定組織的特定角色。MSP為整個(gè)區(qū)塊鏈提供身份管理與權(quán)限服務(wù),其主要包括成員身份識(shí)別、數(shù)字簽名和證書頒發(fā)、撤銷等內(nèi)容。通過MSP中的關(guān)系映射,可以對(duì)實(shí)體的數(shù)字簽名進(jìn)行確認(rèn),繼而對(duì)簽名者的身份權(quán)限驗(yàn)證。
區(qū)塊鏈除了對(duì)用戶身份認(rèn)證提供保護(hù)以外,也為數(shù)據(jù)在鏈中從傳輸?shù)酱鎯?chǔ)再到使用的全過程提供保護(hù)。區(qū)塊鏈采用Hash算法存儲(chǔ)和驗(yàn)證數(shù)據(jù),區(qū)塊之間相互連接,當(dāng)其中某處數(shù)據(jù)遭到篡改時(shí),通過相關(guān)聯(lián)的區(qū)塊的對(duì)比,快速定位問題區(qū)塊,從而找到篡改來源,繼而可以進(jìn)一步對(duì)問題進(jìn)行排查處理,使數(shù)據(jù)的完整性得到保護(hù)。
在區(qū)塊鏈中由于各個(gè)節(jié)點(diǎn)的角色不同區(qū)分為Org、Orderer和Peer,每個(gè)Org都擁有至少一個(gè)Orderer節(jié)點(diǎn)和若干Peer節(jié)點(diǎn),當(dāng)前Org中的排序和出塊服務(wù)都由Orderer節(jié)點(diǎn)提供。Peer節(jié)點(diǎn)是P2P網(wǎng)絡(luò)的必要組成部分,除了充當(dāng)常規(guī)記賬節(jié)點(diǎn)(Committer)外,也可以被賦予Endorser、Leader和Anchor等特殊的職能。為了確保各節(jié)點(diǎn)數(shù)據(jù)安全傳輸采用了TLS作為底層基礎(chǔ)。當(dāng)版權(quán)數(shù)據(jù)進(jìn)入P2P網(wǎng)絡(luò)后,會(huì)在各節(jié)點(diǎn)間傳輸,通過驗(yàn)證后則寫入?yún)^(qū)塊鏈,其數(shù)據(jù)通信調(diào)度過程如下所示:
(1)當(dāng)版權(quán)信息進(jìn)入到區(qū)塊鏈中,版權(quán)信息會(huì)根據(jù)背書策略被指派給隨機(jī)Endorser節(jié)點(diǎn),并由該節(jié)點(diǎn)進(jìn)行背書操作,背書完成后對(duì)數(shù)據(jù)信息加密并封裝成事務(wù),并將封裝完成的事務(wù)發(fā)送到該節(jié)點(diǎn)所屬的Orderer節(jié)點(diǎn)。
(2)Orderer節(jié)點(diǎn)將接收到的事務(wù)以時(shí)間順序進(jìn)行排序,同時(shí)對(duì)接收的事務(wù)數(shù)據(jù)進(jìn)行統(tǒng)計(jì),當(dāng)事務(wù)數(shù)量滿足出塊策略后,將當(dāng)前所有事務(wù)進(jìn)行打包而后生成新的區(qū)塊。若事務(wù)數(shù)量不足,但據(jù)上次出塊的時(shí)間間隔達(dá)到指定閾值時(shí),也會(huì)將當(dāng)前事務(wù)全部進(jìn)行打包和出塊操作。
(3)Leader節(jié)點(diǎn)接收Orderer節(jié)點(diǎn)生成的區(qū)塊并對(duì)其進(jìn)行驗(yàn)證,當(dāng)驗(yàn)證無誤后寫入本地賬本中并更新狀態(tài)數(shù)據(jù)庫(kù)。
(4)檢測(cè)當(dāng)前鏈路中是否存在其它Org。若本鏈路中存在多個(gè)Org,當(dāng)前Org根據(jù)Gossip協(xié)議,選擇隨機(jī)3個(gè)鄰近Org的Anchor節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳播,再由Anchor在各自的Org中進(jìn)行廣播,更新本地賬本中的數(shù)據(jù)。
(5)檢測(cè)當(dāng)前鏈路中是否存在未被傳播的Org,若存在則再次進(jìn)行傳播,直至當(dāng)前鏈路中所有的Org都同步該數(shù)據(jù)為止。
智能合約提升了區(qū)塊鏈的可擴(kuò)展性,使得其應(yīng)用場(chǎng)景更為豐富。通過引入Docker技術(shù)將智能合約的部署和執(zhí)行過程都放在的進(jìn)程中完成。進(jìn)程間隔離技術(shù)使智能合約可以獨(dú)立運(yùn)行于安全受保護(hù)的進(jìn)程中,從而隔離其與外部的I/O通信,僅能通過背書節(jié)點(diǎn)實(shí)現(xiàn)gRPC被動(dòng)交互,在最大程度上為合約執(zhí)行提供了安全可信的環(huán)境。
在本方案中,區(qū)塊鏈采用的是由傳播信息鏈與版權(quán)信息鏈組成的雙鏈結(jié)構(gòu),如圖6所示,節(jié)點(diǎn)1和節(jié)點(diǎn)2分別是傳播信息鏈和版權(quán)信息鏈的主節(jié)點(diǎn),節(jié)點(diǎn)3是傳播信息鏈與版權(quán)信息鏈的公共節(jié)點(diǎn)。當(dāng)融合層請(qǐng)求數(shù)字作品數(shù)據(jù)時(shí),傳播信息鏈?zhǔn)盏秸?qǐng)求時(shí),將傳播信息的加密數(shù)據(jù)傳輸?shù)焦?jié)點(diǎn)3,并通過節(jié)點(diǎn)3轉(zhuǎn)移到節(jié)點(diǎn)2,此時(shí)版權(quán)鏈也將版權(quán)信息傳送到節(jié)點(diǎn)2中,最終由節(jié)點(diǎn)2打包發(fā)送到融合層進(jìn)行數(shù)據(jù)融合。
圖6 鏈間數(shù)據(jù)通信
在常規(guī)狀態(tài)下,傳播信息與版權(quán)信息由各自鏈所存儲(chǔ),公共節(jié)點(diǎn)處于休眠狀態(tài),當(dāng)激活查詢狀態(tài)后,公共節(jié)點(diǎn)也隨之激活,版權(quán)信息鏈將作為主鏈接收傳播信息鏈打包后通過公共節(jié)點(diǎn)提交的數(shù)據(jù)信息,由主節(jié)點(diǎn)把版權(quán)信息打包后一起封裝處理,最后將封裝信息傳輸至融合層。由于公共節(jié)點(diǎn)在傳播信息鏈僅有中轉(zhuǎn)傳遞權(quán)限,而在版權(quán)信息鏈中僅有向主節(jié)點(diǎn)提交權(quán)限,所以通過公共節(jié)點(diǎn)數(shù)據(jù)仍處于可信的環(huán)境中。
根據(jù)DCSChain架構(gòu)方案開發(fā)并部署一個(gè)基于區(qū)塊鏈的數(shù)字版權(quán)管理系統(tǒng)(以下簡(jiǎn)稱DCSChain系統(tǒng))。在DCSChain系統(tǒng)中,平臺(tái)采用Hyperledger Fabric作為區(qū)塊鏈底層框架,CyVOD系統(tǒng)[6]用于提供真實(shí)的社交網(wǎng)絡(luò)環(huán)境,表3中詳細(xì)列出了開發(fā)環(huán)境及對(duì)應(yīng)開發(fā)工具。
表3 開發(fā)環(huán)境及工具
為保證DCSChain系統(tǒng)的完整性,在Ubuntu環(huán)境下部署了3個(gè)節(jié)點(diǎn)作為DCSChain系統(tǒng)中區(qū)塊鏈部分的基礎(chǔ)支持,并在Windows環(huán)境下部署CyVOD系統(tǒng)提供接口保障。
DCSChain系統(tǒng)中圖像內(nèi)容包含區(qū)塊鏈平臺(tái)和數(shù)字版權(quán)管理兩部分信息。數(shù)據(jù)跟蹤結(jié)果表明,DCSChain系統(tǒng)在數(shù)據(jù)交互及傳播過程中,通過接口與智能合約完整記錄下整個(gè)過程,并使用水印技術(shù)為圖像提供版權(quán)保護(hù),數(shù)據(jù)流程如圖7所示,圖8則是鏈中作品信息存儲(chǔ)實(shí)例。
圖7 DCSChain數(shù)據(jù)運(yùn)轉(zhuǎn)流程
圖8 鏈中數(shù)字作品版權(quán)信息
3.2.1 可信性分析
在DCSChain方案中,使用了水印技術(shù)保護(hù)數(shù)字內(nèi)容的可信[17,18],在載體圖像中添加水印,以此鑒別圖像的完整性和真?zhèn)?,為原?chuàng)作者提供版權(quán)保護(hù)。如圖9所示,在這個(gè)實(shí)驗(yàn)中使用了尺寸為512*512像素的Lena圖像作為載體,并根據(jù)用戶信息自動(dòng)生成200*200像素的圖像作為水印。
圖9 數(shù)字水印生成及檢測(cè)結(jié)果
在本方案中,利用脆弱水印技術(shù)的強(qiáng)敏感特性與不可感知性,為平臺(tái)中數(shù)字作品的完整和可信性提供必要的技術(shù)支撐,使得平臺(tái)中的數(shù)字作品都是可驗(yàn)證的。通過5次存取原創(chuàng)作品的實(shí)驗(yàn),我們分別測(cè)量出添加水印時(shí)間,檢驗(yàn)水時(shí)間以及信噪比值,結(jié)果記錄見表4。圖10是由表4數(shù)據(jù)生成的,橫坐標(biāo)表示測(cè)量次序編號(hào),左縱軸表示運(yùn)行時(shí)間(ms),右縱軸標(biāo)識(shí)生成圖像的信噪比(dB)檢測(cè)結(jié)果。由圖可知,信噪比折線在穩(wěn)定在60 dB,高于肉眼可識(shí)別的40 dB,具有良好的不可感知性,而水印添加與檢測(cè)相差也在2 ms以內(nèi),在整個(gè)使用過程中并不影響用戶體驗(yàn)。
表4 數(shù)字水印處理時(shí)間及信噪比
圖10 數(shù)字水印處理時(shí)間及信噪比
3.2.2 安全性分析
在DCSChain方案中,平臺(tái)的安全分為數(shù)據(jù)安全和通信安全兩部分。數(shù)據(jù)的安全是指數(shù)據(jù)存儲(chǔ)的安全性,平臺(tái)通過配置數(shù)據(jù)資源的加密規(guī)則,通過將入鏈存儲(chǔ)的數(shù)據(jù)加密,從而保證數(shù)據(jù)存儲(chǔ)的安全,資源配置如圖11所示。平臺(tái)通過水印技術(shù)保證了數(shù)據(jù)的完整可信,并采用加密技術(shù)為存儲(chǔ)的數(shù)據(jù)提供存儲(chǔ)的安全保障,使得數(shù)據(jù)在平臺(tái)中安全、可信、可驗(yàn)證。
圖11 資源配置信息
在本方案中,數(shù)字證書是平臺(tái)信息安全傳輸?shù)闹匾U稀C舾袛?shù)據(jù)(元數(shù)據(jù)、版權(quán)信息、傳播信息)在社交網(wǎng)絡(luò)與區(qū)塊鏈通信時(shí),為防止信息泄露、更改或破壞,平臺(tái)采用了數(shù)字證書的身份認(rèn)證技術(shù)。平臺(tái)通過驗(yàn)證用戶的數(shù)字證書可以拒絕非授權(quán)用戶的訪問或授權(quán)用戶訪問非授權(quán)數(shù)據(jù)。用戶向CA發(fā)送注冊(cè)申請(qǐng),當(dāng)CA收到申請(qǐng)后將根據(jù)用戶角色生成代表當(dāng)前用戶的密鑰對(duì)(圖12、圖13),之后將私鑰返回用戶,并根據(jù)安全策略進(jìn)行驗(yàn)證后,提供證書(圖14)和CA簽名(圖15)。
圖12 CA機(jī)構(gòu)生成的私鑰
圖13 CA機(jī)構(gòu)生成的公鑰
圖14 包含公鑰的證書
圖15 簽署CA的簽名
為了更好檢測(cè)數(shù)字證書的生成效率,通過進(jìn)行10證書申請(qǐng)簽發(fā),記錄每次的運(yùn)行時(shí)間(見表5),通過折線圖(圖16)我們可以看出證書簽發(fā)時(shí)間較短,在用戶可以接受的范圍內(nèi)。
表5 證書簽發(fā)運(yùn)行時(shí)間
圖16 簽發(fā)證書運(yùn)行時(shí)間
上述的實(shí)驗(yàn)結(jié)果與分析表明,本文提出的數(shù)字版權(quán)管理方案具有一定的可行性和參考價(jià)值。但該方案僅考慮在可信區(qū)塊鏈的環(huán)境下實(shí)施,即各個(gè)組織在線下達(dá)成一致后才能加入?yún)^(qū)塊鏈系統(tǒng)中,如何改進(jìn)方案使其允許符合特定安全策略的第三方組織自主加入到區(qū)塊鏈系統(tǒng)中,從而提升該方案的普適性和通用性,是未來需要解決問題。
本文提出一種區(qū)塊鏈和社交媒體網(wǎng)絡(luò)傳播鏈“雙鏈融合”的安全傳播機(jī)制,利用區(qū)塊鏈技術(shù)構(gòu)建信任機(jī)制,搭建基于社交網(wǎng)絡(luò)的數(shù)字版權(quán)管理系統(tǒng),在社交網(wǎng)絡(luò)的傳播過程中支持?jǐn)?shù)字版權(quán)保護(hù)內(nèi)容以正確的形式傳遞,并提供高級(jí)可信的內(nèi)容保護(hù)和驗(yàn)證服務(wù)。在擬議的DCSChain方案中,針對(duì)圖像資源存儲(chǔ)消耗鏈資源的問題,采用外部存儲(chǔ)方式予以解決。在DCSChain系統(tǒng)中,實(shí)現(xiàn)了脆弱水印生成與快速檢測(cè)方法,并實(shí)現(xiàn)了版權(quán)信息提取與存儲(chǔ)整個(gè)流程。評(píng)估表明,DCSChain方案提出了安全、可信、高效且可追蹤的數(shù)字版權(quán)管理服務(wù)。