李 峰,梁任綱,,李雪聰,何 倩
1(中國(guó)電子科技集團(tuán)公司 航天信息應(yīng)用技術(shù)重點(diǎn)實(shí)驗(yàn)室,石家莊 050081)2(桂林電子科技大學(xué) 廣西密碼學(xué)與信息安全重點(diǎn)實(shí)驗(yàn)室,廣西 桂林,541004)
隨著網(wǎng)絡(luò)結(jié)構(gòu)越來越多變復(fù)雜,傳統(tǒng)的集中式平臺(tái)已無力承受海量數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)共享分發(fā)帶來的巨大管理壓力和高昂維護(hù)成本.P2P網(wǎng)絡(luò)作為一種建立在互聯(lián)網(wǎng)上的分布式覆蓋網(wǎng)絡(luò),具有無中心、自組織等特點(diǎn),能夠充分利用網(wǎng)絡(luò)環(huán)境下各種端系統(tǒng)進(jìn)行大規(guī)模協(xié)作和資源共享[1].然而,P2P網(wǎng)絡(luò)為數(shù)據(jù)資源共享帶來便利性的同時(shí)也導(dǎo)致不良數(shù)據(jù)在網(wǎng)絡(luò)中的傳播,網(wǎng)絡(luò)失信、非法訪問等安全問題日漸嚴(yán)重,對(duì)P2P網(wǎng)絡(luò)的發(fā)展產(chǎn)生了嚴(yán)重的制約作用[2].
為解決網(wǎng)絡(luò)中的失信問題,文獻(xiàn)[3,4]提出基于推薦的信任模型,但存在收斂速度慢、網(wǎng)絡(luò)流量開銷大的缺點(diǎn),且會(huì)忽略對(duì)等方推薦可信度與對(duì)等方全局信任之間的差異,缺乏對(duì)共謀攻擊的有效懲罰.文獻(xiàn)[5]提出一種結(jié)構(gòu)簡(jiǎn)單的基于群組的信任模型,使用不同的計(jì)算方法來確保信任值的實(shí)時(shí)性、準(zhǔn)確性與計(jì)算效率.但是,對(duì)于信任值的更新策略沒有進(jìn)行細(xì)致的界定,且因超級(jí)節(jié)點(diǎn)設(shè)置存在單點(diǎn)失效的問題.現(xiàn)有的研究大多忽略了網(wǎng)絡(luò)狀態(tài)變化對(duì)節(jié)點(diǎn)異常行為的表征.例如惡意節(jié)點(diǎn)發(fā)起消耗網(wǎng)絡(luò)帶寬資源的DoS攻擊.網(wǎng)絡(luò)的狀態(tài)變化能反映節(jié)點(diǎn)的異常行為,可以利用SDN對(duì)網(wǎng)絡(luò)的監(jiān)測(cè)和管理,從整個(gè)網(wǎng)絡(luò)狀態(tài)的角度來對(duì)節(jié)點(diǎn)進(jìn)行信任評(píng)估.
在數(shù)據(jù)共享分發(fā)過程中,存在容易遭受惡意節(jié)點(diǎn)的非法訪問,造成私密信息泄露等問題,文獻(xiàn)[6]提出一種通過捎帶回復(fù)消息和直接廣播通知,在P2P的數(shù)據(jù)分發(fā)的過程中取消P2P節(jié)點(diǎn)的授權(quán)和強(qiáng)制中斷下載,實(shí)現(xiàn)數(shù)據(jù)分發(fā)的可控性,但該方案的數(shù)據(jù)共享安全存在不足,無法對(duì)惡意節(jié)點(diǎn)的惡意數(shù)據(jù)分發(fā)行為追蹤溯源.區(qū)塊鏈?zhǔn)且环N靠集體維護(hù)的分布式賬本技術(shù)[7],集成對(duì)等式網(wǎng)絡(luò)[8]、共識(shí)機(jī)制[9]、密碼學(xué)中非對(duì)稱加密技術(shù)等技術(shù)優(yōu)勢(shì),包含去中心化、不可篡改且支持溯源的優(yōu)勢(shì),為解決P2P數(shù)據(jù)分發(fā)的可信與安全性帶來了新的思路[10].
文獻(xiàn)[11,12]中提出結(jié)合區(qū)塊鏈建立訪問控制模型,但是上述方法在訪問控制權(quán)限劃分上存在著粒度過粗問題.Maesa等人在文獻(xiàn)[13]中擴(kuò)展了基于屬性的訪問控制模型(ABAC)的標(biāo)準(zhǔn)工作流,用區(qū)塊鏈代替?zhèn)鹘y(tǒng)數(shù)據(jù)庫(kù)存儲(chǔ)策略,以交易的形式管理策略,并通過比特幣平臺(tái)實(shí)現(xiàn).屬性基加密包括基于密文策略(CP-ABE)以及基于密鑰策略(KP-ABE).CP-ABE將訪問控制策略嵌入密文,只有當(dāng)數(shù)據(jù)訪問者擁有的屬性集合滿足密文的訪問策略時(shí),才能夠?qū)γ芪男畔⑦M(jìn)行解密獲取明文消息;屬性基加密可以將共享數(shù)據(jù)的訪問控制策略細(xì)化到屬性級(jí)別,具有更好的細(xì)粒度訪問控制能力.
以海量數(shù)據(jù)分發(fā)和數(shù)據(jù)安全保護(hù)需求為背景,針對(duì)當(dāng)前數(shù)據(jù)共享中急需解決的細(xì)粒度訪問控制和溯源難題,本文提出一個(gè)結(jié)合區(qū)塊鏈和屬性基的可信數(shù)據(jù)分發(fā)機(jī)制,主要貢獻(xiàn)有:
針對(duì)P2P分發(fā)網(wǎng)絡(luò)節(jié)點(diǎn)間信任關(guān)系以及細(xì)粒度訪問控制的重點(diǎn)問題,提出了結(jié)合區(qū)塊鏈和屬性基的可信數(shù)據(jù)共享分發(fā)系統(tǒng)信任模型與架構(gòu).
利用SDN[14,15]控制器獲取全網(wǎng)狀態(tài)服務(wù)性能參數(shù),結(jié)合節(jié)點(diǎn)分享率,構(gòu)建數(shù)據(jù)分發(fā)信任模型.提出了一種區(qū)塊鏈和屬性基相結(jié)合的訪問控制方案,通過鏈上鏈下協(xié)同管理模式實(shí)現(xiàn)對(duì)數(shù)據(jù)訪問行為的監(jiān)控和跟蹤.
基于實(shí)際P2P分發(fā)平臺(tái)實(shí)現(xiàn)了提出的可信數(shù)據(jù)分發(fā)機(jī)制,實(shí)驗(yàn)驗(yàn)證表明其可用性和有效性,解決了數(shù)據(jù)分發(fā)的細(xì)粒度訪問控制和文件溯源的問題.
海量數(shù)據(jù)的存儲(chǔ)、分發(fā)共享過程中所面臨的網(wǎng)絡(luò)失信、數(shù)據(jù)惡意竊取、私密信息泄露、共享數(shù)據(jù)不受數(shù)據(jù)擁有者控制等問題也隨之凸顯出來.因此,在打破數(shù)據(jù)孤島的同時(shí),如何在數(shù)據(jù)共享中實(shí)現(xiàn)數(shù)據(jù)的可信共享和細(xì)粒度訪問控制成為了新的研究熱點(diǎn).
基于數(shù)據(jù)共享網(wǎng)絡(luò)的可信需求,建立新的分布式信任機(jī)制來構(gòu)建節(jié)點(diǎn)之間的信任關(guān)系,作為節(jié)點(diǎn)之間交互的基礎(chǔ)以選擇具有較高信任度的交互式對(duì)象提升交互式成功率開始開展相關(guān)研究[16].EigenTrust[3]通過交互后計(jì)算節(jié)點(diǎn)的本地信任值,反饋所有交互節(jié)點(diǎn)的本地信任值以計(jì)算節(jié)點(diǎn)的全局信任值.FCTrust[4]的節(jié)點(diǎn)信任度由交互頻率確定,它對(duì)所有交互都賦予了同等的權(quán)重,而不是對(duì)最近的給予更大的重視,會(huì)導(dǎo)致對(duì)目標(biāo)節(jié)點(diǎn)的評(píng)估不準(zhǔn)確.這些基于推薦的信任模型普遍存在收斂速度慢、網(wǎng)絡(luò)流量開銷大的缺點(diǎn),且會(huì)忽略對(duì)等方推薦可信度與對(duì)等方全局信任之間的差異,缺乏對(duì)共謀攻擊的有效懲罰.文獻(xiàn)[17]提出了一種加入激勵(lì)機(jī)制的P2P網(wǎng)絡(luò)信任模型,通過引入交互因子、推薦因子、嗅探因子以及懲罰因子等激勵(lì)因子,從而來提高P2P網(wǎng)絡(luò)中各節(jié)點(diǎn)之間交互的信任度.在P2P網(wǎng)絡(luò)中惡意節(jié)點(diǎn)發(fā)起的DoS攻擊,以及惰性節(jié)點(diǎn)只享受服務(wù)等異常行為常常伴隨節(jié)點(diǎn)的網(wǎng)絡(luò)狀態(tài)變化,但是在上述方案均沒有從全局網(wǎng)絡(luò)狀態(tài)的角度將節(jié)點(diǎn)的服務(wù)質(zhì)量屬性作為信任因子,建立基于QoS的P2P服務(wù)信任評(píng)估模型.
針對(duì)數(shù)據(jù)分發(fā)共享過程中容易遭受惡意節(jié)點(diǎn)的非法訪問,造成私密信息泄露等問題,文獻(xiàn)[18]認(rèn)為區(qū)塊鏈技術(shù)在促進(jìn)物聯(lián)網(wǎng)數(shù)據(jù)集的安全共享方面具有潛力,文獻(xiàn)[19]針對(duì)傳統(tǒng)數(shù)據(jù)共享存在的數(shù)據(jù)安全性和隱私性問題,提出基于區(qū)塊鏈的數(shù)據(jù)共享模型,并證明其可行性.Zyskind等人在文獻(xiàn)[11]中提出結(jié)合自由支配訪問控制模型(DAC),通過區(qū)塊鏈上的訪問控制策略管理鏈外敏感數(shù)據(jù);Cruz等人在文獻(xiàn)[12]中利用區(qū)塊鏈解決了基于角色的訪問控制模型(RABC)中的跨組織訪問控制問題,實(shí)現(xiàn)了用戶角色的跨組織認(rèn)證;但是DAC和RBAC中資源和用戶角色更新帶來的開銷較大.文獻(xiàn)[20]將超級(jí)賬本與訪問控制結(jié)合,通過智能合約管理訪問控制策略.但上述方法僅適用于特定場(chǎng)景,不具備細(xì)粒度訪問控制的能力.
屬性基加密可以對(duì)共享數(shù)據(jù)采取的訪問控制程度細(xì)化到屬性級(jí)別.針對(duì)現(xiàn)有多授權(quán)屬性基加密云存儲(chǔ)訪問控制存在的安全性和有效性問題,文獻(xiàn)[21]提出無需可信中央授權(quán)中心的多屬性加密云存儲(chǔ)訪問控制方案.但是方案中存在用戶和服務(wù)器之間的通信開銷太大的問題.區(qū)塊鏈和屬性基加密的結(jié)合,為數(shù)據(jù)的可信共享和訪問控制提供了新的實(shí)現(xiàn)方向.文獻(xiàn)[22]針對(duì)現(xiàn)有云存儲(chǔ)技術(shù)因?yàn)榄h(huán)境開放和業(yè)務(wù)處理中心化等問題,而給數(shù)據(jù)及數(shù)據(jù)擁有者的隱私安全帶來的潛在威脅,提出了一種區(qū)塊鏈和密碼學(xué)累加器相結(jié)合的屬性基訪問控制機(jī)制,實(shí)現(xiàn)對(duì)用戶隱私和策略隱私的保護(hù).文獻(xiàn)[23]針對(duì)區(qū)塊鏈中的數(shù)據(jù)隱私保護(hù)與訪問控制等問題,提出基于MA-ABE的隱私保護(hù)與訪問控制方案,實(shí)現(xiàn)區(qū)塊鏈中數(shù)據(jù)隱私保護(hù)和訪問控制.文獻(xiàn)[24]提出了一種使用多屬性權(quán)威CP-ABE,DMA-ABS和區(qū)塊鏈技術(shù)的新型去中心化存儲(chǔ)方案,但是當(dāng)數(shù)據(jù)所有者嘗試更改其數(shù)據(jù)的訪問策略時(shí),必須重新加密和分配新的策略.Jemel等人[25]研究了開放環(huán)境下的數(shù)據(jù)共享保護(hù)問題,設(shè)計(jì)名為Timely CP-ABE的基于區(qū)塊鏈的分布式訪問控制模型,引入時(shí)間屬性的概念,訪問者的屬性不僅要滿足訪問策略還要在限定時(shí)間內(nèi)獲取密鑰.以交易的方式設(shè)置策略、獲取訪問雖然可以追蹤相關(guān)操作的記錄,但屬性以及策略等重要信息都被封裝,且通過交易被廣播至全部節(jié)點(diǎn)全網(wǎng)可見,既受限于區(qū)塊鏈的存儲(chǔ)空間又易受到惡意節(jié)點(diǎn)盜取信息.王秀利等人[26]設(shè)計(jì)平行區(qū)塊鏈結(jié)構(gòu)并結(jié)合屬性基加密構(gòu)造數(shù)據(jù)共享和訪問控制模型,但其只從理論上對(duì)本模型與傳統(tǒng)方法進(jìn)行了安全性對(duì)比分析.
P2P網(wǎng)絡(luò)充分利用邊緣用戶資源,在數(shù)據(jù)共享分發(fā)方面同傳統(tǒng)的C/S模式相比它更具有優(yōu)勢(shì),例如:它具備高健壯性、高可擴(kuò)展性以及可用數(shù)據(jù)的多樣性等.但是P2P網(wǎng)絡(luò)環(huán)境中具有的開放性和匿名性特性為缺乏責(zé)任感的對(duì)等方濫用網(wǎng)絡(luò)提供了便利,例如P2P網(wǎng)絡(luò)中的惡意節(jié)點(diǎn)發(fā)起DoS攻擊、自私節(jié)點(diǎn)只下載數(shù)據(jù)卻不上傳數(shù)據(jù)等行為.
針對(duì)P2P網(wǎng)絡(luò)中存在惡意節(jié)點(diǎn)和自私節(jié)點(diǎn)的問題,本文利用SDN對(duì)網(wǎng)絡(luò)的監(jiān)測(cè)和管理,從整個(gè)網(wǎng)絡(luò)狀態(tài)的角度,將傳輸時(shí)延、數(shù)據(jù)丟包率、帶寬、節(jié)點(diǎn)分享率(分享率是對(duì)用戶的貢獻(xiàn)進(jìn)行量化,即對(duì)每位用戶的上傳、下載數(shù)據(jù)量的比值作取對(duì)數(shù)運(yùn)算)四個(gè)參數(shù)作為信任評(píng)估模型的信任因子,如圖1所示,提出基于SDN的P2P信任評(píng)估框架.

圖1 基于SDN的P2P信任評(píng)估框架Fig.1 SDN-based P2P trust evaluation framework
在信任評(píng)估模型中,通過對(duì)信任因子傳輸時(shí)延、數(shù)據(jù)丟包率、帶寬和節(jié)點(diǎn)分享率進(jìn)行量化計(jì)算,得到網(wǎng)絡(luò)節(jié)點(diǎn)的信任度;通過在屬性基的基礎(chǔ)屬性判決條件中加入信任區(qū)間,從而激勵(lì)用戶提供優(yōu)質(zhì)服務(wù)和隔絕惡意用戶.
為了保證共享數(shù)據(jù)僅能被具有一定可信度的用戶進(jìn)行訪問,訪問控制策略T不僅包含基本策略T′的屬性還引入可訪問的信任區(qū)間屬性,自定義的訪問控制策略T可表示為:T=T′∧(Trustupper∧Trustlower),信任度的上下限值Trustupper、Trustlower是數(shù)據(jù)擁有者根據(jù)實(shí)際情況進(jìn)行設(shè)定,P2P網(wǎng)絡(luò)中各節(jié)點(diǎn)的信任值是根據(jù)信任模型計(jì)算所得,信任模型中信任因子傳輸時(shí)延、丟包率、帶寬、節(jié)點(diǎn)分享率的具體量化和信任值的計(jì)算如下所示.
信任因子傳輸時(shí)延的量化:在數(shù)據(jù)分發(fā)中,節(jié)點(diǎn)間傳輸時(shí)延tdelay越大,網(wǎng)絡(luò)存在惡意節(jié)點(diǎn)的可能性越大,例如針對(duì)消耗網(wǎng)絡(luò)帶寬資源的拒絕服務(wù)攻擊,用戶設(shè)定一個(gè)可以接受的傳輸時(shí)延閾值σ,不超出此閾值表示節(jié)點(diǎn)可信,定義傳輸時(shí)延因子的信任值Td為100;當(dāng)tdelay超出傳輸時(shí)延閾值σ時(shí),節(jié)點(diǎn)相應(yīng)的可信度也隨之下降.基于傳輸時(shí)延特征的信任值Td可表示為公式(1).
(1)
其中α為0.01,閾值σ視具體情況而定.
信任因子丟包率Rp的量化:丟包率越高表明此節(jié)點(diǎn)存在潛在惡意行為的概率越高,基于丟包率特征的信任值Tp可表示為公式(2).
Tp=100×(1-Rp)
(2)
信任因子帶寬的量化:為保證高效快速的共享傳輸,通過可用帶寬Bavailable與最大帶寬Btotal的比值來量化,比值越大基于帶寬特征的信任值Tb就越高,可用帶寬為0時(shí)節(jié)點(diǎn)不可信.基于帶寬特征的信任值Tb可表示為公式(3).
(3)
信任因子分享率的量化:通過上傳數(shù)據(jù)量和下載數(shù)據(jù)量的比值來衡量節(jié)點(diǎn)在P2P網(wǎng)絡(luò)中的貢獻(xiàn)程度,比值越大即貢獻(xiàn)越大,其對(duì)應(yīng)的信任度Ts就越高,根據(jù)Ts取值的區(qū)間,本文將節(jié)點(diǎn)按貢獻(xiàn)程度分為優(yōu)秀、良好、差三個(gè)級(jí)別.對(duì)分享率歸一化處理后,基于分享率特征的信任值Ts可表示為公式(4).
TS(shareRate)=100×sigmoid(shareRate),TS∈[0,100]
(4)

(5)
節(jié)點(diǎn)的信任值計(jì)算:基于以上4個(gè)信任因子,我們定義P2P網(wǎng)絡(luò)中任意節(jié)點(diǎn)j的信任值為Tj,即公式(6)所示:
(6)
約束條件如下公式(7)所示:
(7)
其中γi,i=1,2,3,4 代表了4個(gè)參數(shù)的權(quán)重系數(shù).權(quán)重系數(shù)根據(jù)網(wǎng)絡(luò)真實(shí)情況設(shè)定,本文取經(jīng)驗(yàn)值γ1=0.1,γ2=0.2,γ3=0.3,γ4=0.4.
在信任值評(píng)估模型中,由公式(6)可知,以用戶節(jié)點(diǎn)的分享率因子Ts為基礎(chǔ),按照節(jié)點(diǎn)的貢獻(xiàn)程度對(duì)其進(jìn)行分類評(píng)估,當(dāng)用戶節(jié)點(diǎn)的貢獻(xiàn)程度是優(yōu)秀時(shí),其信任值評(píng)估的分值更高.
對(duì)于貢獻(xiàn)程度為良好的節(jié)點(diǎn)(即大多數(shù)一般性節(jié)點(diǎn)),只采用傳輸時(shí)延、丟包率、帶寬3個(gè)因子進(jìn)行評(píng)估,此類節(jié)點(diǎn)的信任值由其自身的性能以及鏈路的狀態(tài)決定.
對(duì)于貢獻(xiàn)程度為差的節(jié)點(diǎn),視其為行為自私節(jié)點(diǎn)(即只下載,不愿上傳的節(jié)點(diǎn)).在信任評(píng)估模型中利用分享率因子Ts對(duì)其進(jìn)行信任值懲罰,使其整體的信任值降低.如果該節(jié)點(diǎn)長(zhǎng)期保持這種自私行為,其信任值逐漸降低,當(dāng)其信任值低于Trustlower時(shí),該節(jié)點(diǎn)將被訪問控制策略限制訪問.
由于在每次數(shù)據(jù)分發(fā)過程中,每個(gè)節(jié)點(diǎn)的傳輸時(shí)延、丟包率、帶寬、分享率都是不同的,從而根據(jù)信任模型計(jì)算而來的每個(gè)節(jié)點(diǎn)信任值也是不同的,本文在每一次數(shù)據(jù)分發(fā)結(jié)束后,根據(jù)信任模型計(jì)算每個(gè)節(jié)點(diǎn)的信任值,并將各節(jié)點(diǎn)的信任值上傳至區(qū)塊鏈中作為下一次數(shù)據(jù)分發(fā)中遏制惡意節(jié)點(diǎn)的依據(jù).
復(fù)雜網(wǎng)絡(luò)結(jié)構(gòu)中數(shù)據(jù)的爆炸式增長(zhǎng)給節(jié)點(diǎn)的存儲(chǔ)和分發(fā)共享帶來了新的需求和挑戰(zhàn).為了在保證復(fù)雜網(wǎng)絡(luò)的自治與安全性的基礎(chǔ)上,實(shí)現(xiàn)節(jié)點(diǎn)間的海量數(shù)據(jù)分發(fā)共享,本文在P2P系統(tǒng)的基礎(chǔ)上,構(gòu)建了結(jié)合區(qū)塊鏈和屬性基的可信數(shù)據(jù)分發(fā)系統(tǒng),該系統(tǒng)以點(diǎn)對(duì)點(diǎn)的分布式方式保證數(shù)據(jù)共享的安全、透明和高效.結(jié)合區(qū)塊鏈和屬性基的可信數(shù)據(jù)分發(fā)系統(tǒng),自頂向下主要包括:應(yīng)用層、功能層、算法協(xié)議層、SDN控制層以及區(qū)塊鏈與存儲(chǔ)層.
結(jié)合區(qū)塊鏈和屬性基的可信數(shù)據(jù)分發(fā)系統(tǒng)在應(yīng)用層提供了管理平臺(tái),管理平臺(tái)作為用戶和系統(tǒng)的主要交互方式可分為:區(qū)塊鏈管理平臺(tái)和P2P分發(fā)管理平臺(tái).其中區(qū)塊鏈管理平臺(tái)提供用戶注冊(cè)、登錄、信息上鏈、區(qū)塊鏈檢索查詢以及溯源等功能;P2P分發(fā)管理平臺(tái)提供資源共享等功能.結(jié)合區(qū)塊鏈和屬性基的可信數(shù)據(jù)分發(fā)系統(tǒng)通過區(qū)塊鏈管理平臺(tái)和P2P分發(fā)管理平臺(tái)實(shí)現(xiàn)了用戶之間數(shù)據(jù)分發(fā)共享的便捷、高效、安全可靠.
結(jié)合區(qū)塊鏈和屬性基的可信數(shù)據(jù)分發(fā)系統(tǒng)的功能業(yè)務(wù)管理集成在功能層.功能層針對(duì)用戶的需求提供了個(gè)性化的用戶功能,例如為保護(hù)數(shù)據(jù)擁有者的數(shù)據(jù)隱私安全設(shè)定個(gè)性化細(xì)粒度訪問控制策略、實(shí)現(xiàn)可信數(shù)據(jù)的分發(fā)管理以及通過區(qū)塊鏈智能合約進(jìn)行業(yè)務(wù)邏輯處理等.
系統(tǒng)的安全有效運(yùn)行主要依托于算法協(xié)議層的正常運(yùn)行.算法協(xié)議層包括提供信息安全所需的密碼學(xué)算法、根據(jù)信任模型計(jì)算節(jié)點(diǎn)信任值的數(shù)據(jù)分發(fā)算法等.
系統(tǒng)的SDN控制層主要由SDN控制器組成,其主要功能是通過SDN控制器獲取P2P網(wǎng)絡(luò)中各節(jié)點(diǎn)的網(wǎng)絡(luò)狀態(tài)數(shù)據(jù)(帶寬、傳輸時(shí)延、丟包率),節(jié)點(diǎn)的帶寬、傳輸時(shí)延、丟包率結(jié)合各節(jié)點(diǎn)數(shù)據(jù)分發(fā)過程中的分享率進(jìn)行信任建模和評(píng)估,節(jié)點(diǎn)評(píng)估所得的信任值將作為限制訪問粒度的一個(gè)屬性添加到訪問控制策略中.
系統(tǒng)的區(qū)塊鏈與存儲(chǔ)層以區(qū)塊鏈不可篡改、可溯源的特性來保證數(shù)據(jù)分發(fā)過程中元數(shù)據(jù)信息安全存儲(chǔ)與管理,實(shí)現(xiàn)數(shù)據(jù)分發(fā)共享過程的追蹤溯源,便于監(jiān)管追責(zé).
在不影響數(shù)據(jù)分發(fā)共享效率的前提下為保證數(shù)據(jù)真實(shí)安全,整個(gè)系統(tǒng)可信分發(fā)訪問的工作流程如圖2所示.

圖2 系統(tǒng)工作流程Fig.2 System workflow
初始化階段:初始化系統(tǒng)中的參數(shù),通過執(zhí)行屬性基加密算法的初始化算法Setup產(chǎn)生系統(tǒng)公鑰以及主密鑰;由SDN控制器獲取全網(wǎng)拓?fù)洌占瘞挕鬏敃r(shí)延以及數(shù)據(jù)丟包率等鏈路參數(shù)作為P2P共享分發(fā)網(wǎng)絡(luò)信任模型的信任因子,為加密階段訪問控制策略的設(shè)定提供信任度屬性,激勵(lì)用戶在數(shù)據(jù)分發(fā)共享中的積極性和抵制惡意用戶.
上鏈階段:客戶端利用Fabric-java-SDK將共享數(shù)據(jù)文件的描述信息、在IPFS上的存儲(chǔ)地址以及經(jīng)加密的密鑰等內(nèi)容存儲(chǔ)至區(qū)塊鏈的新區(qū)塊中,并廣播給其他節(jié)點(diǎn)實(shí)現(xiàn)全網(wǎng)同步完成信息上鏈,每個(gè)事務(wù)記錄都不可篡改且可供溯源.
訪問階段:數(shù)據(jù)消費(fèi)者根據(jù)文件ID在鏈上查得該數(shù)據(jù)的地址與對(duì)稱加密密鑰,若數(shù)據(jù)消費(fèi)者的信任度屬性不滿足訪問控制策略設(shè)定的信任區(qū)間,則無法得到密鑰進(jìn)行解密,也無法訪問原始數(shù)據(jù);只有數(shù)據(jù)消費(fèi)者的基本屬性滿足訪問控制策略且信任值在數(shù)據(jù)擁有者接受范圍內(nèi),才可解密得到存儲(chǔ)索引與密鑰,根據(jù) IPFS上的存儲(chǔ)索引從IPFS集群訪問該數(shù)據(jù).獲取到明文種子文件后即可以啟動(dòng)平臺(tái)進(jìn)行下載.
由于區(qū)塊鏈時(shí)間向量的不可逆性和不變性,鏈上保存的數(shù)據(jù)不斷積累和擴(kuò)展,故通過鏈上和鏈下數(shù)據(jù)協(xié)同管理模型來緩解區(qū)塊鏈數(shù)據(jù)爆炸的問題,同時(shí)在保證高效且快速地共享文件的基礎(chǔ)上彌補(bǔ)IPFS在安全性和可追溯性方面的缺失,從而提高系統(tǒng)的性能.
IPFS沒有為用戶上傳數(shù)據(jù)文件提供強(qiáng)大的隱私加密算法接口,數(shù)據(jù)擁有者無法控制哈希與誰共享,缺乏可追溯性功能,本文使用區(qū)塊鏈進(jìn)行數(shù)據(jù)協(xié)同管理.
首先部署Fabric網(wǎng)絡(luò),分別為組織中的節(jié)點(diǎn)安裝用戶智能合約和溯源智能合約.用戶智能合約主要負(fù)責(zé)用戶管理,例如注冊(cè)、登錄、刪除以及賬戶信息的修改等;溯源智能合約在區(qū)塊鏈上存儲(chǔ)欲共享文件的元數(shù)據(jù),共享成功后自動(dòng)添加查詢文件追溯信息.
另外,數(shù)據(jù)擁有者上傳數(shù)據(jù)文件到P2P分發(fā)管理平臺(tái),系統(tǒng)監(jiān)控到新的數(shù)據(jù)添加,經(jīng)對(duì)稱加密后存入IPFS,發(fā)起信息存儲(chǔ)及共享交易調(diào)用執(zhí)行相應(yīng)鏈碼將文件存儲(chǔ)位置及相關(guān)描述信息存儲(chǔ)在區(qū)塊鏈上.
傳統(tǒng)數(shù)據(jù)共享方案中一般都由第三方云平臺(tái)統(tǒng)一存儲(chǔ)管理,但中心化的結(jié)構(gòu)為其帶來巨大壓力,甚至造成整個(gè)網(wǎng)絡(luò)癱瘓;數(shù)據(jù)的讀寫均基于長(zhǎng)距離的云端也會(huì)帶來不必要的時(shí)延;且隨著各類信息服務(wù)的推廣,對(duì)于涉及軍事、商業(yè)等機(jī)密的數(shù)據(jù),用戶的安全需求也越來越大,第三方平臺(tái)也不是可被完全信任的,數(shù)據(jù)可能被能接觸到的人員惡意篡改、收集泄露造成嚴(yán)重危害.
為了避免擁有者數(shù)據(jù)泄露,納入分布式、安全高效的特點(diǎn),本文搭建一個(gè)私有的基于內(nèi)容尋址的分布式存儲(chǔ)集群IPFS,有共同ipfs-swarm-key的節(jié)點(diǎn)才能加入網(wǎng)絡(luò),為各用戶節(jié)點(diǎn)提供存儲(chǔ)和檢索服務(wù),提高數(shù)據(jù)傳輸效率.
如此諸多大規(guī)模的城池出現(xiàn)在柴達(dá)木盆地的草原與綠洲,絕非偶然,而是出于絲綢之路貿(mào)易交流與政治交往的需要而建。當(dāng)然,這也需要很大的人力物力和財(cái)力費(fèi)用支出,而那些通過貿(mào)易致富的吐谷渾上層權(quán)貴大多是“潑天富貴”之人,完全有能力建造具一定規(guī)模的城池。
在上傳文件到私有的分布式存儲(chǔ)集群IPFS之前,擁有者需先對(duì)其進(jìn)行加密.針對(duì)非對(duì)稱加密算法,對(duì)于不同的共享用戶需用對(duì)方的公鑰加密數(shù)據(jù),另一方再用自己的私鑰解密下載的密文完成共享,會(huì)引發(fā)密鑰管理困難、資源浪費(fèi)以及效率低下等問題.本文選用對(duì)稱加密算法對(duì)數(shù)據(jù)本身進(jìn)行加密存儲(chǔ)至IPFS,數(shù)據(jù)文件相關(guān)的元數(shù)據(jù)存儲(chǔ)在區(qū)塊鏈賬本中,加解密速度遠(yuǎn)快于非對(duì)稱加密,不直接將所有數(shù)據(jù)全部存入?yún)^(qū)塊鏈只保存哈希索引的方式也保證了區(qū)塊鏈的處理速度.
通過原始數(shù)據(jù)文件相關(guān)信息和下載原始數(shù)據(jù)文件的用戶信息存儲(chǔ)上鏈從而實(shí)現(xiàn)數(shù)據(jù)共享從原始數(shù)據(jù)文件產(chǎn)生到被用戶下載的全過程數(shù)據(jù)溯源.
原始數(shù)據(jù)文件相關(guān)信息存儲(chǔ)上鏈:自愿共享數(shù)據(jù)資源的數(shù)據(jù)擁有者上傳數(shù)據(jù)文件到P2P分發(fā)管理平臺(tái)生成相關(guān)原始數(shù)據(jù)文件,系統(tǒng)監(jiān)控到新的原始數(shù)據(jù)文件經(jīng)對(duì)稱加密后存入IPFS,發(fā)起信息存儲(chǔ)及共享交易調(diào)用執(zhí)行相應(yīng)智能合約將共享數(shù)據(jù)文件的描述信息(例如:文件ID、數(shù)據(jù)擁有者的IP地址)、在IPFS上的存儲(chǔ)地址以及經(jīng)屬性基加密的密鑰存儲(chǔ)在區(qū)塊鏈上.
下載原始數(shù)據(jù)文件的用戶信息存儲(chǔ)上鏈:共享成功后,發(fā)起信息存儲(chǔ)及共享交易調(diào)用執(zhí)行相應(yīng)智能合約將數(shù)據(jù)消費(fèi)者信息及相關(guān)描述信息(例如:數(shù)據(jù)消費(fèi)者的IP地址)存儲(chǔ)在區(qū)塊鏈上.
基于區(qū)塊鏈和文獻(xiàn)[27]的CP-ABE算法,結(jié)合信任評(píng)估機(jī)制,實(shí)現(xiàn)一個(gè)可信的安全密文策略訪問控制方案.在該方案中,只有滿足訪問控制策略的用戶才能訪問數(shù)據(jù),使數(shù)據(jù)擁有者DO真正掌握數(shù)據(jù)的管理權(quán).該算法由初始化、數(shù)據(jù)加密、數(shù)據(jù)上鏈和數(shù)據(jù)訪問四個(gè)部分組成.在本節(jié)算法中使用到的相關(guān)符號(hào)及其含義如表1所示.

表1 符號(hào)及其含義Table 1 Symbols and their meanings
以安全參數(shù)λ為輸入,系統(tǒng)公鑰PK和主密鑰MSK為輸出,執(zhí)行的初始化算法為Setup(1λ)→(PK,MSK):e∶G0×G0→G1是一個(gè)雙線性映射,G0(階為p的循環(huán)群)的生成元為g.然后隨機(jī)選擇參數(shù)α,β∈Zp,最后輸出系統(tǒng)公鑰PK={G0,g,h=gβ,e(g,g)α},主密鑰為(β,gα).
文件加密和密鑰加密是數(shù)據(jù)加密階段的兩個(gè)主要組成部分.
數(shù)據(jù)擁有者首先將需要共享的數(shù)據(jù)上傳到數(shù)據(jù)分發(fā)平臺(tái)并生成原始數(shù)據(jù)文件;其次通過隨機(jī)生成的AES密鑰K對(duì)原始數(shù)據(jù)文件(Files)進(jìn)行加密得到密文CTF,即:CTF=EncK(Files);最后將密文CTF上傳到IPFS私有集群,并獲取密文CTF存儲(chǔ)在IPFS中的文件地址IpfsAddr.
密鑰加密主要功能是使用系統(tǒng)公鑰PK和制定的訪問策略T將對(duì)稱密鑰K進(jìn)行加密得到密文CTK,即:Encrypt(PK,K,T)→CTK.為了保證數(shù)據(jù)擁有者DO真正掌握數(shù)據(jù)的管理權(quán)且共享數(shù)據(jù)僅能被具有一定可信度的用戶進(jìn)行訪問,該方案中的訪問控制策略T不僅包含基本策略T′的屬性還引入可訪問的信任區(qū)間屬性,自定義的訪問控制策略T可表示為:
T=T′∧(Trustupper∧Trustlower)
由于具有不可篡改、可溯源特性的區(qū)塊鏈有助于進(jìn)行安全有效的訪問控制管理,該方案將共享數(shù)據(jù)的原始數(shù)據(jù)文件相關(guān)描述信息、IpfsAddr和CTK存儲(chǔ)在鏈上,并通過廣播同步到區(qū)塊鏈網(wǎng)絡(luò)中的其他節(jié)點(diǎn),以供各區(qū)塊鏈節(jié)點(diǎn)檢索和訪問.整個(gè)共享數(shù)據(jù)文件的數(shù)據(jù)加密和數(shù)據(jù)上傳偽代碼如下:
輸入:λ,F(xiàn)iles,UserID,F(xiàn)ileID
輸出:The result of on-blockchain
1.System executes:
2.K← generate a symmetric key
3. EncryptedFile ←AESencrypt(Files,K)
4. IpfsAddr← store EncryptedFile to IPFS
5.DOformulates access controlT
6.PK,MSK←CP-ABEsetup(1λ)
7. CTK←CP-ABEencrypt(PK,K,T)
8.Contract executes:
9. ifRegistrationContractAuthCheck(UserID)=true
` then
10.TraceContractAddInfo(FileID,IpfsAddr,CTK)
11. end if
12.return True
數(shù)據(jù)訪問主要包括解密密鑰和解密文件兩個(gè)步驟.
解密密鑰:數(shù)據(jù)訪問者經(jīng)系統(tǒng)發(fā)出數(shù)據(jù)訪問請(qǐng)求,檢索到鏈上存儲(chǔ)的經(jīng)屬性基加密的對(duì)稱密鑰并獲取私鑰SK,然后通過私鑰SK執(zhí)行解密算法從而獲取對(duì)稱密鑰的明文.為降低系統(tǒng)中合法用戶破壞網(wǎng)絡(luò)傳輸?shù)木芙^服務(wù)以及篡改數(shù)據(jù)的潛在風(fēng)險(xiǎn),在密鑰生成階段,將信任模型獲取到的用戶信任值添加到用戶屬性S=UserAttributes∪Requested_Trust.在解密階段,當(dāng)用戶屬性滿足密文的訪問控制策略樹T,同時(shí)用戶的信任值滿足訪問控制策略中的信任范圍時(shí),則可對(duì)密文進(jìn)行解密從而獲得文件對(duì)稱加密密鑰.
解密文件:通過獲取鏈上存儲(chǔ)的索引地址IpfsAddr獲取在IPFS上的原始密文數(shù)據(jù)文件,并利用解密密鑰階段獲得的文件對(duì)稱加密密鑰對(duì)加密文件進(jìn)行解密Files=DecK(CTF),數(shù)據(jù)訪問階段的算法偽代碼如下所示:
輸入:UserID,F(xiàn)ileID
輸出:Files
1.DCsenddataaccessrequesttosmartcontract
2.ifRegistration ContractAuthCheck(UserID)=true
3.IpfsAddr,CTK←Trace ContractGetInfo(FileID)
4.endif
5.S←UserAttributes∪Requested_Trust
6.ifuser′sattributesetSsatisfyaccesstreeTThen
7.K←CP-ABEDecrypt(CTK,SK)

10. else
11. no permission to access
12. end if
13.returnFile
部署項(xiàng)目組前期開發(fā)的P2P系統(tǒng)[6],擴(kuò)展并實(shí)現(xiàn)結(jié)合區(qū)塊鏈和屬性基的可信數(shù)據(jù)分發(fā)機(jī)制,網(wǎng)絡(luò)環(huán)境的相關(guān)硬件配置信息如表2所示.

表2 硬件參數(shù)表Table 2 Hardware parameter table
在工作站部署數(shù)據(jù)分發(fā)源服務(wù)器,包括數(shù)據(jù)管理平臺(tái)、種子資源服務(wù)器以及跟蹤服務(wù)器.配置SDN環(huán)境,在安裝有virtualbox的win7中,安裝兩臺(tái)Ubuntu虛機(jī),一臺(tái)虛機(jī)搭建SDN控制器floodlight,一臺(tái)虛機(jī)安裝mininet用于模擬網(wǎng)絡(luò)拓?fù)浍@取鏈路參數(shù).其他工作站、臺(tái)式計(jì)算機(jī)和個(gè)人PC充當(dāng)數(shù)據(jù)共享分發(fā)的下載節(jié)點(diǎn),向種子資源服務(wù)器請(qǐng)求數(shù)據(jù)下載,一起構(gòu)成基于P2P的數(shù)據(jù)分發(fā)系統(tǒng).Fabric部署在如表3所示配置的服務(wù)器上.

表3 部署Fabric的服務(wù)器參數(shù)表Table 3 Server parameter table for deploying Fabric
部署Fabric聯(lián)盟鏈組織節(jié)點(diǎn)的操作系統(tǒng)和使用的軟件信息介紹如表4所示.

表4 軟件信息表Table 4 Software information table
主要測(cè)評(píng)當(dāng)一定比例的惡意節(jié)點(diǎn)出現(xiàn)在基于P2P的分發(fā)系統(tǒng)中時(shí),惡意節(jié)點(diǎn)對(duì)系統(tǒng)整體數(shù)據(jù)分發(fā)共享的性能影響,其次測(cè)試?yán)帽疚姆桨笇?duì)惡意節(jié)點(diǎn)行為進(jìn)行遏制后的分發(fā)情況.
在實(shí)驗(yàn)方案中,將惡意節(jié)點(diǎn)數(shù)量設(shè)置為總下載節(jié)點(diǎn)數(shù)量的1/3和2/3時(shí),對(duì)于出現(xiàn)惡意節(jié)點(diǎn)數(shù)量不為整的問題均進(jìn)行向上取整數(shù),如圖3所示,當(dāng)數(shù)據(jù)分發(fā)系統(tǒng)中所有下載節(jié)點(diǎn)都為正常節(jié)點(diǎn)時(shí),隨著系統(tǒng)中下載節(jié)點(diǎn)數(shù)量的增加,節(jié)點(diǎn)的平均下載時(shí)間整體呈現(xiàn)一個(gè)逐漸下降并穩(wěn)定的趨勢(shì),平均下載時(shí)間最終穩(wěn)定在37-44秒;在相同的網(wǎng)絡(luò)帶寬條件下,隨著系統(tǒng)中惡意節(jié)點(diǎn)(僅下載而不上傳資源共享的自私節(jié)點(diǎn))的逐漸增加,導(dǎo)致數(shù)據(jù)分發(fā)共享的性能逐漸下降,從而平均下載時(shí)間也隨之增加,由圖3的實(shí)驗(yàn)結(jié)果分析可知,當(dāng)數(shù)據(jù)分發(fā)系統(tǒng)中存在的惡意節(jié)點(diǎn)比例高達(dá)2/3時(shí),其平均下載時(shí)間甚至是正常情況的2倍,惡意節(jié)點(diǎn)的存在嚴(yán)重影響了系統(tǒng)數(shù)據(jù)分發(fā)共享時(shí)的性能,同樣也違背了P2P網(wǎng)絡(luò)中各節(jié)點(diǎn)互利共享的原則.由圖3的實(shí)驗(yàn)結(jié)果分析可知,建立一種對(duì)P2P網(wǎng)絡(luò)中節(jié)點(diǎn)行為進(jìn)行信任評(píng)估并激勵(lì)正常節(jié)點(diǎn)、遏制惡意節(jié)點(diǎn)的機(jī)制是非常重要的.

圖3 平均下載時(shí)間對(duì)比Fig.3 Comparison of average download time
考慮P2P網(wǎng)絡(luò)在大量節(jié)點(diǎn)規(guī)模情況下,隨著下載節(jié)點(diǎn)數(shù)量的增加,平均下載時(shí)間曲線會(huì)不斷的下降,然而,由于受網(wǎng)絡(luò)帶寬的限制,當(dāng)網(wǎng)絡(luò)中正常下載節(jié)點(diǎn)達(dá)到一定數(shù)量時(shí),平均下載時(shí)間最終會(huì)趨于平穩(wěn).
通過建立的信任模型對(duì)P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)行為進(jìn)行信任評(píng)估并通過訪問控制策略中設(shè)置的可信區(qū)間對(duì)惡意節(jié)點(diǎn)的服務(wù)請(qǐng)求進(jìn)行遏制,終止惡意節(jié)點(diǎn)服務(wù)請(qǐng)求后的系統(tǒng)數(shù)據(jù)分發(fā)情況和初始正常情況的對(duì)比實(shí)驗(yàn)結(jié)果如圖4所示.

圖4 平均下載速度對(duì)比Fig.4 Comparison of average download speed
由圖4的實(shí)驗(yàn)結(jié)果分析可知,在帶寬資源有限的情況下,當(dāng)數(shù)據(jù)分發(fā)系統(tǒng)中所有下載節(jié)點(diǎn)都為正常節(jié)點(diǎn)時(shí),處于穩(wěn)定狀態(tài)的數(shù)據(jù)分發(fā)系統(tǒng)其平均下載速度可保持在24MB/s左右,但是當(dāng)系統(tǒng)中的惡意節(jié)點(diǎn)超過2/3時(shí),平均下載速度迅速下降.通過限制惡意節(jié)點(diǎn)對(duì)資源的訪問權(quán)限,限制惡意節(jié)點(diǎn)的數(shù)據(jù)下載,惡意節(jié)點(diǎn)受限后的數(shù)據(jù)分發(fā)系統(tǒng)雖然和正常節(jié)點(diǎn)情況相比其平均下載速度有所下降,但是相比惡意節(jié)點(diǎn)不加限制的情況其平均下載速度可以最大提高5MB/s,P2P網(wǎng)絡(luò)中的正常節(jié)點(diǎn)均可充分完成下載和上傳,保證了正常節(jié)點(diǎn)的帶寬使用,提升了數(shù)據(jù)分發(fā)系統(tǒng)的穩(wěn)定性.
在基于屬性基加密的區(qū)塊鏈訪問控制機(jī)制對(duì)數(shù)據(jù)分發(fā)性能影響的實(shí)驗(yàn)性能測(cè)試中,我們主要考慮以下3種情況:
CaseⅠ:通過原始P2P分發(fā)系統(tǒng)共享數(shù)據(jù);
CaseⅡ:通過BTS-PD[28]共享數(shù)據(jù);
CaseⅢ:通過添加訪問控制模塊的系統(tǒng)共享數(shù)據(jù).
由于CaseⅢ引入CP-ABE作為訪問控制算法,為了避免P2P網(wǎng)絡(luò)中的合法用戶出現(xiàn)只下載不上傳等消極行為,CaseⅢ向用戶屬性空間引入了基于網(wǎng)絡(luò)狀態(tài)和節(jié)點(diǎn)分享率評(píng)估的信任值屬性,針對(duì)屬性數(shù)目對(duì)加解密時(shí)間的開銷影響,本文研究了屬性數(shù)目對(duì)計(jì)算成本的影響,其實(shí)驗(yàn)結(jié)果如圖5所示,經(jīng)實(shí)驗(yàn)分析可知屬性數(shù)的增加將會(huì)導(dǎo)致密鑰的生成時(shí)間開銷幾乎呈線性增長(zhǎng)趨勢(shì),屬性數(shù)的增加對(duì)對(duì)稱密鑰K的加解密階段的影響相對(duì)較小,但綜合來看整體時(shí)間消耗是較短的,可以被用戶所接受.

圖5 不同屬性數(shù)目下CP-ABE消耗時(shí)間代價(jià)Fig.5 CP-ABE consumes time cost under different attribute numbers
在上述3種情況下,分別進(jìn)行10M數(shù)據(jù)的分發(fā)共享,其實(shí)驗(yàn)結(jié)果如圖6所示.由于CaseⅠ不需要驗(yàn)證種子文件的真實(shí)性和從IPFS私有集群中獲取真實(shí)的種子文件,帶寬是影響其系統(tǒng)數(shù)據(jù)分發(fā)時(shí)間開銷的主要因素,由圖6實(shí)驗(yàn)分析可知,隨著網(wǎng)絡(luò)帶寬的增大,完成數(shù)據(jù)下載的時(shí)間開銷也逐漸下降,當(dāng)網(wǎng)絡(luò)帶寬達(dá)到1000M時(shí),系統(tǒng)中的平均下載速度大約22MB/S;在CaseⅡ中,需要計(jì)算用戶拿到的種子文件的散列值并與根據(jù)文件ID從區(qū)塊鏈上檢索獲取的擁有者原始共享文件的散列值進(jìn)行對(duì)比,如果兩個(gè)散列值不相等,需要從IPFS私有集群中獲取真實(shí)的種子文件,由于CaseⅡ中使用的測(cè)試樣例是篡改后的假文件,故其時(shí)間開銷還包括從IPFS私有集群中獲取真實(shí)種子文件的時(shí)間,但由圖6的整體實(shí)驗(yàn)結(jié)果分析可知,CaseⅡ的分發(fā)時(shí)間只微慢于CaseⅠ,平均時(shí)間開銷差為382ms,最大時(shí)間開銷差也低于400ms;CaseⅢ相比于CaseⅠ和CaseⅡ增加了可信的安全密文策略訪問控制方法,其數(shù)據(jù)分發(fā)時(shí)間開銷的影響因素除了網(wǎng)絡(luò)帶寬外還包含屬性基加密算法的時(shí)間開銷.從圖6實(shí)驗(yàn)結(jié)果分析可知,雖然CaseⅢ的數(shù)據(jù)分發(fā)時(shí)間要高于CaseⅠ和CaseⅡ,但是時(shí)間開銷差距在1s左右不影響用戶體驗(yàn).

圖6 10MB數(shù)據(jù)在不同帶寬下的分發(fā)時(shí)間Fig.6 Distribution time of 10MB data under different bandwidths
綜上實(shí)驗(yàn)結(jié)果分析可得,與傳統(tǒng)的基于P2P的數(shù)據(jù)分發(fā)系統(tǒng)相比,本方案在保證數(shù)據(jù)分發(fā)性能的基礎(chǔ)上,通過訪問控制保護(hù)了用戶的數(shù)據(jù)安全和隱私,促使數(shù)據(jù)擁有者真實(shí)掌握數(shù)據(jù)的管理權(quán),還將用戶對(duì)數(shù)據(jù)分發(fā)網(wǎng)絡(luò)的貢獻(xiàn)以及當(dāng)下的網(wǎng)絡(luò)狀態(tài)納入考慮范圍,將存在異常行為的惡意用戶信任值降低使其下載受限,避免因?yàn)榇嬖谶^多的惡意用戶從而導(dǎo)致系統(tǒng)的數(shù)據(jù)分發(fā)性能嚴(yán)重下降,對(duì)正常用戶造成傷害,而且利用具有不可篡改、可溯源等特性的區(qū)塊鏈跟蹤記錄用戶的數(shù)據(jù)共享過程,保證了數(shù)據(jù)共享的安全性.
針對(duì)P2P分發(fā)網(wǎng)絡(luò)節(jié)點(diǎn)間信任關(guān)系以及細(xì)粒度訪問控制問題,提出了結(jié)合區(qū)塊鏈和屬性基的可信數(shù)據(jù)分發(fā)機(jī)制.利用SDN控制器基于全網(wǎng)狀態(tài)獲取表征服務(wù)性能的傳輸時(shí)延、帶寬以及數(shù)據(jù)丟包率參數(shù),并結(jié)合節(jié)點(diǎn)在分發(fā)過程中的分享率作為評(píng)估的影響因子進(jìn)行信任建模,提升優(yōu)秀節(jié)點(diǎn)的信任值降低自私節(jié)點(diǎn)的信任值,以激勵(lì)用戶提供優(yōu)質(zhì)服務(wù)隔絕惡意用戶.針對(duì)隱私數(shù)據(jù)的安全共享問題,提出了一種基于區(qū)塊鏈的訪問控制方案,利用智能合約技術(shù)將原始數(shù)據(jù)文件的元數(shù)據(jù)信息以及經(jīng)CP-ABE加密的密鑰文件存儲(chǔ)到區(qū)塊鏈網(wǎng)絡(luò)中,實(shí)現(xiàn)了對(duì)數(shù)據(jù)訪問行為的監(jiān)控和跟蹤.利用具有高可用性的IPFS作為原始密文數(shù)據(jù)文件的鏈下存儲(chǔ)平臺(tái)降低網(wǎng)絡(luò)存儲(chǔ)開銷,通過鏈上鏈下協(xié)同管理模式實(shí)現(xiàn)了靈活和安全的數(shù)據(jù)共享以及驗(yàn)證溯源.