李彥峰,丁麗萍,吳敬征,崔強,劉雪花,關(guān)貝
(1. 中國科學院軟件研究所并行軟件與計算科學實驗室,北京 100190;2. 中國科學院大學計算機科學與技術(shù)學院,北京 100049;3. 廣州中國科學院軟件應(yīng)用技術(shù)研究所電子數(shù)據(jù)取證實驗室,廣東 廣州 511458;4. 中國科學院軟件研究所智能軟件研究中心,北京 100190;5. 中國科學院軟件研究所互聯(lián)網(wǎng)軟件技術(shù)實驗室,北京 100190;6. 中國科學院軟件研究所協(xié)同創(chuàng)新中心,北京 100190)
區(qū)塊鏈是隨著數(shù)字貨幣商品興起的去中心化基礎(chǔ)架構(gòu),可以存儲有先后關(guān)系的、能在系統(tǒng)內(nèi)進行驗證的數(shù)據(jù),以密碼學保證不可篡改和不可偽造。區(qū)塊鏈使用共識機制使一個不可信網(wǎng)絡(luò)變成可信的網(wǎng)絡(luò)[1-3],具有去中心化、時序性、集體維護等特性[3]。由于區(qū)塊鏈具有安全可信、去中心化、健壯性等特點,其應(yīng)用已延伸到數(shù)字貨幣商品、供應(yīng)鏈管理、物聯(lián)網(wǎng)、智能制造等多個領(lǐng)域[1-2]。
時間戳、對等網(wǎng)絡(luò)和鏈式存儲是區(qū)塊鏈的 3個重要技術(shù)。時間戳指區(qū)塊鏈每次業(yè)務(wù)操作(如交易)發(fā)起時都會在該業(yè)務(wù)信息中加蓋時間戳,使區(qū)塊鏈具有時序性。對等網(wǎng)絡(luò)指區(qū)塊鏈網(wǎng)絡(luò)中不存在任何中心化的特殊節(jié)點,每個節(jié)點以扁平式拓撲結(jié)構(gòu)相互通信。鏈式存儲指各個通信節(jié)點都會包含以時序連接的數(shù)據(jù)結(jié)構(gòu),能夠提供區(qū)塊鏈數(shù)據(jù)的溯源功能[2-3]。
網(wǎng)絡(luò)隱蔽信道定義為在網(wǎng)絡(luò)環(huán)境下違反通信限制規(guī)則進行信息傳輸?shù)碾[蔽通信信道[1-4],提供不能被監(jiān)測到的隱蔽通信信道進行信息傳輸[4],以網(wǎng)絡(luò)信息載體(如網(wǎng)絡(luò)協(xié)議、網(wǎng)絡(luò)數(shù)據(jù)分組等)、載體特征(如協(xié)議字段、時間特征等)及特征模式(如值調(diào)制模式、時間間隔模式等)作為碼元進行編碼和優(yōu)化隱蔽信息的傳輸。網(wǎng)絡(luò)隱蔽信道分為存儲型網(wǎng)絡(luò)隱蔽信道和時間型網(wǎng)絡(luò)隱蔽信道兩大類。存儲型網(wǎng)絡(luò)隱蔽信道通過協(xié)議數(shù)據(jù)單元(PDU,protocol data units )傳遞隱藏信息,如數(shù)據(jù)分組、數(shù)據(jù)幀、數(shù)據(jù)段的未使用或保留的協(xié)議頭元素(如協(xié)議頭字段);時間型網(wǎng)絡(luò)隱蔽信道通過協(xié)議數(shù)據(jù)單元或協(xié)議指令的間隔時間或數(shù)據(jù)分組的順序編碼傳遞隱藏信息[5]。
現(xiàn)有的網(wǎng)絡(luò)隱蔽信道存在以下弊端。
1) 2類網(wǎng)絡(luò)隱蔽信道存在各自的特性缺陷。存儲型網(wǎng)絡(luò)隱蔽信道易被基于內(nèi)容的檢測方法進行針對性檢測[6];時間型網(wǎng)絡(luò)隱蔽信道的信道容量小,發(fā)送者和接受者往往需要同步,并且很容易受網(wǎng)絡(luò)條件變化(如延遲、分組丟失、噪音)的影響[5]。
2) 存在針對性限制2類網(wǎng)絡(luò)隱蔽信道的技術(shù)。大部分存儲型網(wǎng)絡(luò)隱蔽信道可被通信歸一化[7-8]等基于通信內(nèi)容修改的技術(shù)消除;時間型網(wǎng)絡(luò)隱蔽信道易受網(wǎng)絡(luò)干擾[9]、網(wǎng)絡(luò)泵[10-11]等基于修改網(wǎng)絡(luò)數(shù)據(jù)時間屬性的方法干擾。
3) 缺少頑健性保障手段?,F(xiàn)有存儲型網(wǎng)絡(luò)隱蔽信道依賴于所使用的載體協(xié)議的特性,一些具有可靠性保障的協(xié)議可以提供可靠性保障(如傳輸控制協(xié)議),大部分存儲型網(wǎng)絡(luò)隱蔽信道都不具備可靠性保障[5];現(xiàn)有的時間型網(wǎng)絡(luò)隱蔽信道本身受網(wǎng)絡(luò)環(huán)境影響較大,往往采用糾錯碼的方式提高頑健性,降低了通信效率[12-14]。
4) 靜態(tài)單一線路的傳輸方式。絕大多數(shù)網(wǎng)絡(luò)隱蔽信道采用通信雙方直接通信的方式,通信線路靜態(tài)單一,易被針對性和檢測、干擾和阻斷?,F(xiàn)有的動態(tài)路由技術(shù)雖然能夠?qū)崿F(xiàn)傳輸線路的變化,但傳輸過程依然是單一線路,并且缺乏頑健性保障[15-16]。
區(qū)塊鏈的諸多特性契合網(wǎng)絡(luò)隱蔽信道需求,并且可以克服網(wǎng)絡(luò)隱蔽信道現(xiàn)有弊端,實現(xiàn)高頑健性的隱蔽通信。本文首次提出區(qū)塊鏈環(huán)境下的網(wǎng)絡(luò)隱蔽信道(簡稱為區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道)模型,可以達到以下效果。
1) 抗干擾性。利用區(qū)塊鏈的時間戳技術(shù),使區(qū)塊鏈網(wǎng)絡(luò)環(huán)境下的時間型網(wǎng)絡(luò)隱蔽信道具有抗干擾性,不受網(wǎng)絡(luò)環(huán)境影響,不受基于修改網(wǎng)絡(luò)數(shù)據(jù)時間屬性的技術(shù)影響。
2) 抗篡改性。利用區(qū)塊鏈的鏈式存儲技術(shù),使區(qū)塊鏈網(wǎng)絡(luò)環(huán)境下的存儲型網(wǎng)絡(luò)隱蔽信道具有抗篡改性,不受基于通信內(nèi)容修改的技術(shù)影響。
3) 多線路通信性。利用區(qū)塊鏈對等網(wǎng)絡(luò)通信技術(shù),使區(qū)塊鏈網(wǎng)絡(luò)環(huán)境下的隱蔽信息實現(xiàn)分布式多線路傳輸,彌補了傳統(tǒng)網(wǎng)絡(luò)環(huán)境下靜態(tài)單一線路傳輸方式易被針對性地檢測、干擾、阻斷的缺陷。
4) 接收方匿名性。由于通信雙方通過區(qū)塊鏈對等網(wǎng)絡(luò)進行間接通信,所有網(wǎng)絡(luò)節(jié)點都是隱蔽信息的潛在接收方,因此無法準確辨別信息的接收方,使其具有匿名性。
5) 線路無關(guān)性。所有通信信息通過分布式存儲的方式保存于各個節(jié)點,因此時間型區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道下通信雙方不需要進行同步并為此付出額外成本。
本文貢獻如下。
1) 首次提出了區(qū)塊鏈環(huán)境下的網(wǎng)絡(luò)隱蔽信道模型,可以有效克服現(xiàn)有網(wǎng)絡(luò)隱蔽信道的弊端,實現(xiàn)高頑健性網(wǎng)絡(luò)隱蔽信道通信。
2) 對區(qū)塊鏈環(huán)境下的網(wǎng)絡(luò)隱蔽信道進行形式化建模,并對其抗干擾性和抗篡改性進行證明。
3) 構(gòu)建了基于業(yè)務(wù)操作時間間隔的時間型區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道場景。
4) 提出了區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道的抗檢測性、頑健性和傳輸效率這3個評估向量。
區(qū)塊鏈是一種按時間順序?qū)?shù)據(jù)區(qū)塊組成類似鏈表的數(shù)據(jù)結(jié)構(gòu),以密碼學保證不可篡改和不可偽造的分布式去中心化賬本,可以存儲有先后關(guān)系的、能在系統(tǒng)內(nèi)進行驗證的數(shù)據(jù),使用共識機制使一個不可信網(wǎng)絡(luò)變成可信的網(wǎng)絡(luò)[1-2],具有去中心化、時序性、集體維護等特性。去中心化指區(qū)塊鏈數(shù)據(jù)的記錄、驗證、存儲、傳輸?shù)冗^程基于分布式系統(tǒng)結(jié)構(gòu)建立各個節(jié)點間信任關(guān)系,而不是傳統(tǒng)的中心結(jié)構(gòu)。時序性指區(qū)塊鏈采用帶有時間戳的鏈式區(qū)塊結(jié)構(gòu)存儲數(shù)據(jù),這增加了時間維度,具有可追溯性和可驗證性。集體維護指區(qū)塊鏈采用特定的激勵機制保證系統(tǒng)中所有節(jié)點都可以參與數(shù)據(jù)區(qū)塊的驗證過程,通過共識算法來選擇特定的節(jié)點將新區(qū)塊添加到區(qū)塊鏈[3]。由于區(qū)塊鏈安全可信、去中心化、頑健性等特點,其應(yīng)用已延伸到物聯(lián)網(wǎng)、智能制造、數(shù)字資產(chǎn)交易等多個領(lǐng)域[2]。
區(qū)塊鏈系統(tǒng)由數(shù)據(jù)層、網(wǎng)絡(luò)層、共識層、激勵層、合約層和應(yīng)用層組成。其中,數(shù)據(jù)層實現(xiàn)區(qū)塊鏈中數(shù)據(jù)存儲的機制,包含區(qū)塊鏈數(shù)據(jù)存儲的數(shù)據(jù)結(jié)構(gòu)、加密機制、完整性保護機制;網(wǎng)絡(luò)層實現(xiàn)區(qū)塊鏈中各個區(qū)塊的通信機制,包括數(shù)據(jù)傳播機制、分布式組網(wǎng)機制和數(shù)據(jù)驗證機制;共識層實現(xiàn)去中心化系統(tǒng)的各節(jié)點數(shù)據(jù)高效地達成共識,封裝了網(wǎng)絡(luò)節(jié)點的各類共識算法;激勵層實現(xiàn)區(qū)塊鏈中共識節(jié)點間任務(wù)眾包過程的激勵機制,主要包括激勵的發(fā)行機制和分配機制;合約層實現(xiàn)商業(yè)邏輯和算法,是區(qū)塊鏈可編程特性的基礎(chǔ),封裝了各類腳本、算法和智能合約;應(yīng)用層封裝了區(qū)塊鏈的具體應(yīng)用場景,如可編程數(shù)字貨幣商品、食品溯源等。區(qū)塊鏈技術(shù)的基礎(chǔ)架構(gòu)模型如圖1所示[3]。
時間戳、對等網(wǎng)絡(luò)和鏈式存儲是區(qū)塊鏈的3個重要技術(shù)。時間戳指每次業(yè)務(wù)操作發(fā)起時都會在該業(yè)務(wù)信息中加入時間戳,以確定業(yè)務(wù)發(fā)起時間;在數(shù)據(jù)區(qū)塊創(chuàng)建時也會在當前數(shù)據(jù)區(qū)塊頭中加蓋時間戳,用以確定數(shù)據(jù)區(qū)塊創(chuàng)建的時間,使區(qū)塊鏈具有時序性。對等網(wǎng)絡(luò)指區(qū)塊鏈網(wǎng)絡(luò)中不存在任何中心化的特殊節(jié)點,每個節(jié)點以扁平式拓撲結(jié)構(gòu)相互通信,每個節(jié)點均會承擔數(shù)據(jù)通信、網(wǎng)絡(luò)路由、驗證區(qū)塊等工作,并使用廣播機制傳輸信息,發(fā)送數(shù)據(jù)的節(jié)點將信息廣播到相連接的節(jié)點,驗證通過后會再進行廣播,信息快速被全網(wǎng)節(jié)點接收[17-18]。鏈式存儲指各個通信節(jié)點都會包含以時序連接的數(shù)據(jù)結(jié)構(gòu),這個數(shù)據(jù)結(jié)構(gòu)被稱為區(qū)塊鏈,各個區(qū)塊依次相接,形成從創(chuàng)世區(qū)塊到當前區(qū)塊的一條主鏈,每個區(qū)塊包含一個完整的數(shù)據(jù)信息,以遞歸計算散列值的Merkle樹的形式組織在一起,從而記錄了區(qū)塊鏈數(shù)據(jù)的完整歷史,并且能夠提供區(qū)塊鏈數(shù)據(jù)的完整性溯源功能;所有節(jié)點通過對等網(wǎng)絡(luò)同步區(qū)塊信息,進行分布式存儲。區(qū)塊結(jié)構(gòu)如圖2所示[2-3]。
圖1 區(qū)塊鏈技術(shù)基礎(chǔ)架構(gòu)模型
綜上所述,區(qū)塊鏈的時間戳、對等網(wǎng)絡(luò)、鏈式存儲技術(shù)為構(gòu)建高頑健性的網(wǎng)絡(luò)隱蔽信道提供了技術(shù)基礎(chǔ)。
網(wǎng)絡(luò)隱蔽信道是隱蔽信道的一個領(lǐng)域。隱蔽信道的概念最初由Lampson等[19]于1973年提出,定義為本意不是被設(shè)計用來傳輸信息的、破壞通信安全策略的通信信道,是在主機環(huán)境下造成越級的信息泄露的隱蔽信息傳輸通道[20-23]。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,隱蔽信道的研究擴展到了網(wǎng)絡(luò)環(huán)境。文獻[1-4]將網(wǎng)絡(luò)隱蔽信道定義為在網(wǎng)絡(luò)環(huán)境下違反通信限制規(guī)則進行隱蔽信息傳輸?shù)耐ㄐ判诺?。網(wǎng)絡(luò)隱蔽信道的研究目標是提供不能被監(jiān)測到的隱蔽通信通道進行信息傳輸[24],尋找適合的網(wǎng)絡(luò)信息載體(如網(wǎng)絡(luò)協(xié)議、網(wǎng)絡(luò)數(shù)據(jù)分組等)、載體特征(如協(xié)議字段、時間特征等)及特征模式(如值調(diào)制模式、時間間隔模式等)作為碼元進行編碼、優(yōu)化以實現(xiàn)隱蔽信息傳輸。
文獻[1-4]依據(jù)傳統(tǒng)隱蔽信道的分類方法將網(wǎng)絡(luò)隱蔽信道分為存儲型網(wǎng)絡(luò)隱蔽信道和時間型網(wǎng)絡(luò)隱蔽信道兩大類。文獻[5]認為存儲型網(wǎng)絡(luò)隱蔽信道通過協(xié)議數(shù)據(jù)單元(PDU,protocol data unit)傳遞隱藏信息,如數(shù)據(jù)分組、數(shù)據(jù)幀、數(shù)據(jù)段的未使用或保留的協(xié)議頭元素(如協(xié)議頭字段)等;時間型網(wǎng)絡(luò)隱蔽信道通過協(xié)議數(shù)據(jù)單元或協(xié)議指令的時間間隔或數(shù)據(jù)分組的順序編碼傳遞隱藏信息。文獻[5]使用模式語言標記語言(PLML,pattern language markup language )方法將1987年至2013年出現(xiàn)的109個隱蔽信道構(gòu)建技術(shù)分為11個不同的模式,分別為調(diào)制大小模式[25-27]、序列模式[26]、增加冗余模式[28]、協(xié)議數(shù)據(jù)單元錯誤/丟失模式[29]、隨機值模式[30]、值調(diào)制模式[31]、保留元素模式[32]、時間間隔模式[25]、速率模式[33]、協(xié)議數(shù)據(jù)單元順序模式[34]和重傳模式[34]。
上述2類網(wǎng)絡(luò)隱蔽信道有著各自的缺陷。文獻[5,35]認為存儲型網(wǎng)絡(luò)信道雖然利用載體信道的可靠性傳輸(如傳輸控制協(xié)議),并且容量較大,但是易被基于內(nèi)容的檢測方法檢測[6];而時間型網(wǎng)絡(luò)隱蔽信道雖然較難檢測,但是很容易受網(wǎng)絡(luò)條件變化(如延遲、分組丟失、噪音)的影響,信道容量小,而且往往需要發(fā)送者和接受者同步。
2類網(wǎng)絡(luò)隱蔽信道都存在針對性的限制技術(shù)。存儲型網(wǎng)絡(luò)隱蔽信道可被通信歸一化[7-8]等基于通信內(nèi)容修改的技術(shù)消除。通信歸一化技術(shù)會對網(wǎng)絡(luò)層、通信層、應(yīng)用層的協(xié)議內(nèi)容進行修改,對以協(xié)議數(shù)據(jù)單元頭字段構(gòu)造的存儲型網(wǎng)絡(luò)隱蔽信道造成影響。時間型網(wǎng)絡(luò)隱蔽信道可被基于修改網(wǎng)絡(luò)數(shù)據(jù)時間屬性的方法干擾,文獻[36]認為,當隱蔽信道的噪聲足夠大,使信噪比很低,導(dǎo)致信道容量小于一定程度時,信息的準確度會低至無法容忍的地步,即使出現(xiàn)網(wǎng)絡(luò)隱蔽信道也無法造成威脅,因此可以通過在信道中添加延時的方式,造成時間型網(wǎng)絡(luò)隱蔽信道的解碼錯誤;文獻[9]提出了網(wǎng)絡(luò)干擾的方法,利用隨機延遲網(wǎng)絡(luò)數(shù)據(jù)分組的方式限制網(wǎng)絡(luò)時間型隱蔽信道的容量;文獻[10-11]提出了網(wǎng)絡(luò)泵技術(shù),可以使網(wǎng)絡(luò)數(shù)據(jù)分組的間隔時間隨機化或均勻分布,從而限制時間型網(wǎng)絡(luò)隱蔽信道。
現(xiàn)有網(wǎng)絡(luò)隱蔽信道缺少頑健性保障手段。存儲型網(wǎng)絡(luò)隱蔽信道依賴所使用的載體協(xié)議的特性,一些具有可靠性保障的協(xié)議可以提供一定可靠性保障(如傳輸控制協(xié)議)[30,37-38],但大部分存儲型網(wǎng)絡(luò)隱蔽信道都不具備可靠性保障;現(xiàn)有的時間型網(wǎng)絡(luò)隱蔽信道本身受網(wǎng)絡(luò)環(huán)境影響較大,往往采用糾錯碼的方式提高頑健性[34,36-37],但這會增加額外的冗余信息,降低通信效率。
圖2 區(qū)塊結(jié)構(gòu)
除此之外,大部分的網(wǎng)絡(luò)隱蔽信道是通信雙方基于靜態(tài)單一路徑進行通信的,通信雙方直接暴露于網(wǎng)絡(luò)之上,易被針對性地阻斷、干擾及檢測。現(xiàn)有的動態(tài)路由技術(shù)可以使網(wǎng)絡(luò)隱蔽信道使用非固定通信路徑進行通信,進而提高數(shù)據(jù)傳輸?shù)目箼z測性[15]。文獻[16]利用隨機游走算法隨機選擇下一跳的通信節(jié)點,進而構(gòu)建了完全隨機的隱蔽傳輸網(wǎng)絡(luò)拓撲,無法監(jiān)控和預(yù)測隱蔽信道傳輸?shù)穆窂?,從而提高了隱蔽信道的抗檢測性。文獻[15]實現(xiàn)了一種基于優(yōu)化鏈接狀態(tài)路由(OLSR,optimized link-state routing )的動態(tài)路由協(xié)議,引入隱蔽性質(zhì)量(QoC,quality of covertness )與通信質(zhì)量(QoS,quality of service )構(gòu)成通信節(jié)點間通信的2個度量指標,形成網(wǎng)絡(luò)隱蔽信道的節(jié)點表和網(wǎng)絡(luò)拓撲表,每次傳輸時尋找QoC和QoS最優(yōu)的節(jié)點進行通信。然而這2種方法雖然使用的是非固定通信路徑傳輸數(shù)據(jù),但通信過程依舊是單路徑的,并且缺乏頑健性保障。
綜上所述,現(xiàn)有網(wǎng)絡(luò)環(huán)境下的網(wǎng)絡(luò)隱蔽信道存在特性缺陷、針對性的限制技術(shù)、缺少頑健性保障手段和靜態(tài)單一線路的傳輸方式這4個弊端。本文提出的區(qū)塊鏈網(wǎng)絡(luò)環(huán)境下的隱蔽信道可以在提供隱蔽通信的同時提供頑健性保障,克服了現(xiàn)有網(wǎng)絡(luò)環(huán)境下網(wǎng)絡(luò)隱蔽信道的弊端。
區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道由信息發(fā)送方、信息接收方、原始信息、信息傳輸組成。信息發(fā)送方通過信息傳輸將信息發(fā)送至信息接收方。
定義 1區(qū)塊鏈隱蔽信道通信。一個區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道可以被形式化表示為
其中,Ps是信息發(fā)送方,Pr是信息接收方,M是傳遞的原始信息,Ts,r是信息傳輸。
假設(shè)區(qū)塊鏈網(wǎng)絡(luò)中共有x個節(jié)點,則Ps與Pr可分別表示為
區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道的目標是把原始信息M從信息發(fā)送方Ps傳輸?shù)叫畔⒔邮辗絇r。
信息發(fā)送方Ps通過信息傳遞Ts,r將M傳遞給Pr,如式(4)所示。
區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道對等網(wǎng)絡(luò)通信過程可以表示為
定義 2信息編碼。利用某種編碼規(guī)則(如編碼表)R(R1,R2,…,Rn)將原始信息M轉(zhuǎn)換為信息編碼M’,使之可以被通信網(wǎng)絡(luò)傳輸,如式(6)所示。
定義 3信息調(diào)制。利用區(qū)塊鏈的某種屬性作為調(diào)制符號,利用某種調(diào)制規(guī)則(如調(diào)制符號表)S(S1,S2,…,Sn)將信息編碼M′調(diào)制為隱蔽信息M′,使其通過區(qū)塊鏈網(wǎng)絡(luò)環(huán)境進行隱蔽傳輸,如式(7)所示。
根據(jù)用于調(diào)制信息的區(qū)塊鏈的屬性特點可以將區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道分為時間型網(wǎng)絡(luò)隱蔽信道和存儲型網(wǎng)絡(luò)隱蔽信道2類。
其中,{Time}是區(qū)塊鏈可以用來進行隱蔽信息傳輸?shù)臅r間屬性集合,以比特幣為例,可以包括交易時間、交易時間間隔等。{Storage}是區(qū)塊鏈可以用來進行隱蔽信息傳輸?shù)拇鎯傩约?,以比特幣為例,可以包括時間戳、被交易方的比特幣地址、被交易方的比特幣地址的散列值、參與交易的比特幣數(shù)量等[39]。
定義 4區(qū)塊鏈隱蔽信道存儲。每個通信節(jié)點在收到調(diào)制符號M′后,會將保存M′的區(qū)塊加到主鏈中,與其他區(qū)塊依時序進行鏈式存儲。
定義 5信息解調(diào)。信息接收方在獲得由個區(qū)塊鏈屬性調(diào)制的符號集合M′后,通過調(diào)制規(guī)則(如調(diào)制符號表)S(S1,S2,…,Sn)將其解調(diào)為信息編碼M′,如式(10)所示。
定義 6信息解碼。信息接收方通過編碼規(guī)則(如編碼表)R(R1,R2,…,Rn)將信息編碼解碼M′為原始信息M,如式(11)所示。
綜上所述,區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道模型如圖3所示。
區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道的特點是具有較高的頑健性,網(wǎng)絡(luò)隱蔽信道背景下的頑健性包括抗干擾性、抗篡改性這2個方面。此外還具有多線路通信性、接收方匿名性、線路無關(guān)性的特性。
3.2.1 抗干擾性證明
傳統(tǒng)時間型網(wǎng)絡(luò)隱蔽信道易受網(wǎng)絡(luò)條件的變化(如延遲、分組丟失、噪音)的影響,此外,通過網(wǎng)絡(luò)干擾[9]、網(wǎng)絡(luò)泵[10-11,40]等基于修改網(wǎng)絡(luò)數(shù)據(jù)分組時間屬性的干擾技術(shù)也很容易對時間型網(wǎng)絡(luò)隱蔽信道造成影響。
圖3 區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道模型
以數(shù)據(jù)分組時間間隔型網(wǎng)絡(luò)隱蔽信道為例,用2個數(shù)據(jù)分組之間的時間間隔 ΔT作為信息調(diào)制符號S,如式(12)所示。
則調(diào)制符號表為
diffn+1,n表示相鄰的這2個編碼的時間間隔的差值,如式(14)所示。
通信過程中,時間間隔抖動會導(dǎo)致通信誤差,干擾通信過程。時間抖動導(dǎo)致的通信誤差 Δterror包括本地時間抖動 Δtlocal和網(wǎng)絡(luò)傳輸時間抖動 Δtnet,如式(15)所示。
假設(shè)時間抖動的最大值為Δtdisturb,則實際通信過程中的隱蔽信息M′′為
如果Δtdisturb大于diffn+1,n,那么就會發(fā)生誤碼,與下一個編碼重疊。因此,在真實網(wǎng)絡(luò)環(huán)境下時間型網(wǎng)絡(luò)隱蔽信道的分組發(fā)送間隔時間最小為Δtdisturb,如式(17)所示。
區(qū)塊鏈網(wǎng)絡(luò)環(huán)境下的時間型網(wǎng)絡(luò)隱蔽信道中,業(yè)務(wù)信息包含時間戳,從而確保用來做隱蔽信息通信的時間屬性可以通過時間戳進行校驗和還原,從而不受網(wǎng)絡(luò)傳輸過程中網(wǎng)絡(luò)環(huán)境的影響。因此,區(qū)塊鏈網(wǎng)絡(luò)環(huán)境下通信誤差 Δt′error中由網(wǎng)絡(luò)傳輸時間抖動造成的誤差 Δtlocal由于時間戳的存在而被消除,僅剩下本地時間抖動Δtnet,如式(18)所示。
實際通信過程為
由此可證,區(qū)塊鏈隱蔽信道通信誤差小于傳統(tǒng)網(wǎng)絡(luò)隱蔽信道通信誤差。目前區(qū)塊鏈技術(shù)(如比特幣區(qū)塊鏈)使用Unix時間戳,可以近似認為
因此,區(qū)塊鏈網(wǎng)絡(luò)隱蔽信較傳統(tǒng)網(wǎng)絡(luò)隱蔽信道道具有更強的抗干擾性。
3.2.2 抗篡改性證明
大部分存儲型網(wǎng)絡(luò)隱蔽信道可被通信歸一化方法[7-8]技術(shù)消除,即對通信內(nèi)容進行篡改。在區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道環(huán)境下,區(qū)塊鏈網(wǎng)絡(luò)中的所有節(jié)點基于統(tǒng)一的規(guī)則將收到的信息進行鏈式存儲,篡改者只有計算出一條數(shù)據(jù)鏈的分支并獲得其他節(jié)點的承認才能達到對數(shù)據(jù)篡改的目的。由于所有數(shù)據(jù)都是迭代存儲的,篡改者需要補充篡改區(qū)塊之后所有區(qū)塊的工作量才能達到和合法存儲數(shù)據(jù)鏈同樣的長度[1-2,41]。
假設(shè)p為正常節(jié)點接收下一個數(shù)據(jù)并存儲為區(qū)塊的概率,q為篡改者篡改下一條數(shù)據(jù)并存儲為區(qū)塊的概率,z為篡改者數(shù)據(jù)鏈需要補充的數(shù)據(jù)區(qū)塊的數(shù)量。則篡改者補充z個數(shù)據(jù)區(qū)塊差距的概率為
如果p>q,那么攻擊者成功篡改通信數(shù)據(jù)的概率隨著數(shù)據(jù)區(qū)塊數(shù)的增長呈指數(shù)級下降。
假設(shè)正常數(shù)據(jù)節(jié)點在正常時間內(nèi)接收一條數(shù)據(jù)并存儲為區(qū)塊,篡改者的篡改進度是一個期望值為的泊松分布。篡改者篡改的成功率為
可化簡為
根據(jù)式(23)計算可得,當p=0.9時,篡改者篡改2個區(qū)塊頭部的概率約為0.05;如果保證篡改者篡改成功的概率小于 0.001,則當p=0.9時,z=5[1-2,41]。由此可證,區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道具有較強的抗篡改性。
3.2.3 多線路通信性
由于區(qū)塊鏈使用對等網(wǎng)絡(luò)通信技術(shù),使區(qū)塊鏈網(wǎng)絡(luò)環(huán)境下的隱蔽信息實現(xiàn)分布式多線路傳輸,彌補了傳統(tǒng)網(wǎng)絡(luò)環(huán)境下靜態(tài)單一線路傳輸方式易被針對性地檢測、干擾及阻斷的弊端。
3.2.4 接收方匿名性
由于通信雙方通過區(qū)塊鏈對等網(wǎng)絡(luò)進行間接通信,隱蔽信息發(fā)送方只需按照與信息接收方約定的規(guī)則進行隱蔽信息調(diào)制并將其發(fā)送至區(qū)塊鏈網(wǎng)絡(luò)即可,不需要與接收方進行任何直接通信,所有區(qū)塊鏈網(wǎng)絡(luò)中的通信節(jié)點都是隱蔽信息的潛在信息接收方,第三方甚至隱蔽信息發(fā)送者都無法準確辨別信息的接收方,使其具有匿名性。
3.2.5 線路無關(guān)性
所有通信信息通過分布式存儲的方式保存于所有區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,所有通信過程都會被完整保存,因此時間型區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道下通信雙方不需要進行同步并為此付出額外成本,只需要觀察區(qū)塊鏈數(shù)據(jù)中是否存在約定特征的數(shù)據(jù)即可。
第2.1節(jié)給出了區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道的模型構(gòu)建過程,下面以該模型為基礎(chǔ),構(gòu)建一個基于業(yè)務(wù)操作時間間隔的區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道場景。
基于數(shù)據(jù)分組時間間隔的網(wǎng)絡(luò)時間型隱蔽信道(IPCTC,inter-packet covert timing channel )是一種傳統(tǒng)時間型網(wǎng)絡(luò)隱蔽信道技術(shù),利用時間窗口內(nèi)是否包含數(shù)據(jù)分組進行二進制編碼,將時間分成連續(xù)相等但不相交的時間窗口,“1”表示在時間窗口內(nèi)發(fā)送數(shù)據(jù)分組,“0”表示不發(fā)送數(shù)據(jù)分組[42]。在此基礎(chǔ)上,出現(xiàn)了基于編碼表的網(wǎng)絡(luò)時間型隱蔽信道,發(fā)送方使用時間間隔作為調(diào)制符號,使用調(diào)制符號表使n個時間間隔與n元的信息編碼表建立映射。發(fā)送方利用調(diào)制符號表,將編碼后的原始信息使用時間間隔進行調(diào)制發(fā)送給接收方;接收方在收到發(fā)送方發(fā)來的數(shù)據(jù)分組后,查詢事先約定的調(diào)制符號表,將數(shù)據(jù)分組的時間間隔還原為編碼符號,再還原為原始信息[12,43]。編碼方式可采用霍夫曼編碼[44]、幾何碼[14]等。
在此思路基礎(chǔ)上,構(gòu)建基于交易時間間隔的區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道。最早在區(qū)塊鏈技術(shù)中引入“交易”一詞的是比特幣系統(tǒng),指把若干比特幣經(jīng)過交易雙方的簽名運算,進行價值轉(zhuǎn)移的數(shù)據(jù)結(jié)構(gòu)。每一筆交易都經(jīng)過比特幣的對等網(wǎng)絡(luò)進行分布式傳輸,由各節(jié)點接收并封裝至區(qū)塊中,通過鏈式存儲的方式分布式存儲在比特幣網(wǎng)絡(luò)[39]。在后來的區(qū)塊鏈應(yīng)用中,“交易”一詞泛指基于區(qū)塊鏈技術(shù)的業(yè)務(wù)操作導(dǎo)致的狀態(tài)轉(zhuǎn)變。本節(jié)以“交易”指代廣義的基于區(qū)塊鏈應(yīng)用的業(yè)務(wù)操作,而非專指電子貨幣商品中的交易?;趨^(qū)塊鏈交易時間間隔的區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道實現(xiàn)方法如圖4所示。
在區(qū)塊鏈網(wǎng)絡(luò)環(huán)境下,建立以區(qū)塊鏈交易時間間隔作為信息調(diào)制方式[43-44]實現(xiàn)的時間型區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道傳輸場景如下。
1) 發(fā)送方和接收方事先達成共識。使用相同的n元信息編碼表R(R1,R2,…,Rn);使用相同的調(diào)制符號表S,即n元交易時間間隔表 ΔT(ΔT1,ΔT2, …,ΔTn),使其與n元信息編碼表R(R1,R2, …,Rn)建立映射;使用相同的隱蔽信息傳輸起始符號Sstart和隱蔽信息傳輸結(jié)束符號Send,例如以5個連續(xù)的二進制“0”的交易時間間隔調(diào)制符號作為隱蔽信息傳輸起始符號,以5個連續(xù)的二進制“1”的交易時間間隔調(diào)制符號作為隱蔽信息傳輸?shù)慕Y(jié)束符號。
2) 利用編碼表R對原始信息進行信息編碼,形成編碼信息序列M'(m1',m2',m3',…,mn')。
3) 發(fā)送方利用調(diào)制符號表將編碼后的信息調(diào)制成時間間隔序列 Δt(Δt1,Δt2,Δt3,…,Δtn),生成隱蔽信息。
圖4 基于交易時間間隔的區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道實現(xiàn)
4) 發(fā)送方通過區(qū)塊鏈網(wǎng)絡(luò)發(fā)送隱蔽信息,從隱蔽信道起始符號Sstart開始隱蔽通信,之后進入隱蔽信息發(fā)送階段Scycle發(fā)送時間間隔序列,到隱蔽信道結(jié)束符號Send結(jié)束隱蔽通信。
5) 接收方獲取所有隱蔽信道起始符號Sstart至隱蔽信道結(jié)束符號Send之間,即隱蔽信息發(fā)送階段Scycle的時間間隔序列 Δt(Δt1, Δt2, Δt3, …, Δtn),以交易時間戳為基準校對隱蔽信息序列,獲取隱蔽信息;使用事先約定的符號調(diào)制表 ΔT(ΔT1, ΔT2, …,ΔTn)解調(diào)時間間隔序列獲得編碼信息序列M'(m1',m2',m3', …,mn'),再通過事先約定的編碼表解碼獲得原始信息。
基于交易時間間隔的區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道傳輸通信過程如圖5所示。
圖5 基于交易時間間隔的區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道隱蔽信息傳輸過程
當確定了潛在的隱蔽信道后,需要對隱蔽信道進行評估。文獻[45]提出了對隱蔽信道的評估框架,可適用于存儲型網(wǎng)絡(luò)隱蔽信道和時間型網(wǎng)絡(luò)隱蔽信道,使用信道容量、頑健性和隱蔽性這3種指標評估網(wǎng)絡(luò)隱蔽信道。信道容量指隱蔽信道每個數(shù)據(jù)分組能夠傳輸?shù)臄?shù)據(jù)量,頑健性指隱蔽信道對抗信道噪聲和干擾的能力,隱蔽性指隱蔽信道傳輸與正常數(shù)據(jù)傳輸?shù)牟町惓潭?。文獻[14]使用抗檢測性、頑健性和速率對網(wǎng)絡(luò)隱蔽信道進行評估,其中,抗檢測性指隱蔽通信不能與合法通信進行區(qū)分的能力,頑健性指對抗噪聲的能力,速率指每個用來傳遞隱蔽信息的數(shù)據(jù)分組傳遞的隱蔽信息的比特數(shù)。
綜合相關(guān)工作的研究,本文提出了區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道的3個評估向量:抗檢測性、頑健性和傳輸效率。其中,抗檢測性指區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道不被發(fā)現(xiàn)的能力,使用熵率作為評估指標;頑健性指區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道正確傳輸信息的能力,使用誤碼率作為評估指標;傳輸效率指區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道單位時間內(nèi)數(shù)據(jù)傳輸?shù)哪芰?,使用單位時間內(nèi)傳輸?shù)男畔⒘孔鳛樵u估指標。
針對區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道的抗檢測性可以使用熵率(ER,entropy rate )進行評估。熵率表示無窮序列的不確定性,熵率越小規(guī)律性越強。熵率可以用來表示區(qū)塊鏈某一屬性變化的規(guī)律性[43,46-47]。熵率ER為
熵率是無窮序列的條件熵,在實際情況中,采用有限采樣的方式,使用修正條件熵(CCE,corrected conditional entropy)計算熵率[43]。其中,H(Xm|Xm-1)表示經(jīng)驗概率密度條件熵,p(Xm)表示長度為m的序列只出現(xiàn)一次的比例,H(X1)是序列長度為1時的熵。
當使用熵率評估抗檢測性時,首先確定檢測的對象(如交易時間間隔、被交易方數(shù)字簽名等),使用大量正常通信確定該對象的閾值。當被檢測對象的序列低于該閾值時,說明產(chǎn)生了區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道。
針對區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道的頑健性可以使用誤碼率(BER,bit error rate )對網(wǎng)絡(luò)隱蔽信道的頑健性進行測量,誤碼率越低代表網(wǎng)絡(luò)隱蔽信道的頑健性越高[36]。傳輸?shù)腻e誤碼元數(shù)為Serror,總碼元數(shù)為Sall,誤碼率BER為
另一種誤碼率的定義為將原始信息通過編碼傳輸后再解碼的最終信息比較得到的錯誤概率。其中,k為解碼后的信息長度;m(i)為第i位原始信息;m'為第i位傳輸后獲得的信息;e為2個信息的比較函數(shù),2個信息相同時e=0,不相同則e=1。BER越低代表頑健性越高[14],如式(27)所示。
對區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道頑健性的抗干擾性和抗篡改性證明見3.2.1節(jié)和3.2.2節(jié)。
對區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道傳輸效率可定義為最大可能的無錯信息速率,單位為 bit/s,如式(28)所示。其中,N表示N元編碼在時間t內(nèi)傳輸?shù)男畔⒘浚珻越高代表網(wǎng)絡(luò)隱蔽信道的傳輸效率越高[44]。
假設(shè)以某種隱蔽信息載體構(gòu)建區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道,隱蔽信息載體包括時間型載體和存儲型載體2類。以比特幣為例,時間型載體可以包括交易時間、交易時間間隔等;存儲型載體可以包括時間戳、被交易方的比特幣地址、被交易方的比特幣地址的散列值等。
信息調(diào)制方式為碼元數(shù)量為S的信息調(diào)制符號表,pi為編碼表第i個編碼字符出現(xiàn)的概率,則每個調(diào)制符號的信息量Ii為
則調(diào)制符號表的信息量的數(shù)學期望,即調(diào)制符號表的信息熵H(S)為
每個隱蔽信息載體可攜帶的調(diào)制符號數(shù)為a,則每個隱蔽信息載體可攜帶的信息量的數(shù)學期望IC為
單位時間內(nèi)傳輸隱蔽信息載體數(shù)量,即信息載體的傳輸速率為v,則單位時間內(nèi)傳輸?shù)男畔⒘?,即區(qū)塊鏈網(wǎng)絡(luò)環(huán)境下的隱蔽信道傳輸效率C為
式(32)適用于所有類型的區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道。綜上所述,可得出以下結(jié)論。
1) 在區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道構(gòu)建方式(即隱蔽信息載體)相同,且編碼策略相同的前提下,每個隱蔽信息載體可攜帶的總信息量IC是相對固定的,不會隨著調(diào)制符號表的碼元數(shù)量S改變。
2) 在編碼方式相同,區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道構(gòu)建方式相同,即每個隱蔽信息載體的信息量IC相同的前提下,在允許范圍內(nèi)提高信息載體傳輸速率v可提高傳輸效率C。一般來說,基于同一種區(qū)塊鏈對象的存儲型區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道的隱蔽信息載體的傳輸效率高于時間型網(wǎng)絡(luò)隱蔽信道,因為時間型區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道的隱蔽信息載體采用改變正常通信時間屬性的方式,往往延長隱蔽信息載體的通信時間,并且基于多個區(qū)塊鏈對象實例的相對關(guān)系,會降低傳輸速率;而存儲型區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道是基于正常的通信時間進行傳輸?shù)?,并且往往只基于一個區(qū)塊鏈對象實例,因此信息載體傳輸速率較高。
3) 在編碼方式相同,且信息載體傳輸速率v相同的前提下,采用隱蔽信息載體信息量IC大的區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道構(gòu)建方式可提高通信效率C。一般來說,存儲型區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道的隱蔽信息載體信息量大于時間型網(wǎng)絡(luò)隱蔽信道,因為時間型區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道載體受限于時間屬性,只能采取串行傳輸?shù)姆绞?,一個隱蔽信息載體往往只能攜帶一個調(diào)制符號,因此隱蔽信息載體的信息量IC較?。欢鎯π蛥^(qū)塊鏈網(wǎng)絡(luò)隱蔽信道因隱蔽信息載體存儲屬性的不同,往往可以攜帶多個調(diào)制符號,因此隱蔽信息載體的信息量IC較大。
4) 在區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道構(gòu)建方式(即隱蔽信息載體)相同,且傳輸速率v相同,調(diào)制符號表碼元數(shù)量S相同的前提下,可采用不同的調(diào)制符號編碼策略可提高信息量。如可使用霍夫曼編碼對調(diào)制符號表的符號的平均編碼長度進行壓縮,提高調(diào)制符號表的信息熵H(S),從而提高每個隱蔽信息載體可攜帶的信息量的數(shù)學期望IC,進而提高通傳輸效率[44]。
由于安全可信、去中心化、健壯性等特點,區(qū)塊鏈應(yīng)用已延伸到物聯(lián)網(wǎng)、智能制造、供應(yīng)鏈管理、數(shù)字資產(chǎn)交易等多個領(lǐng)域[1-2],因此,區(qū)塊鏈隱蔽信道的應(yīng)用場景也會隨著區(qū)塊鏈應(yīng)用延伸到各個領(lǐng)域中。未來的研究可以基于本文首次提出的區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道模型,結(jié)合不同領(lǐng)域區(qū)塊鏈具體的應(yīng)用場景特性(如不同領(lǐng)域應(yīng)用具體場景下的存儲特性和時間特性),構(gòu)建適用于不同應(yīng)用場景環(huán)境下的區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道。
區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道因其抗干擾性、抗篡改性、多線路通信性、接收方匿名性、線路無關(guān)性等特性彌補了傳統(tǒng)網(wǎng)絡(luò)環(huán)境下隱蔽信道的弊端。
本文對現(xiàn)有的網(wǎng)絡(luò)隱蔽信道的缺陷進行了總結(jié),首次提出了區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道模型,對區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道進行了形式化建模,并證明了區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道具有抗干擾性、抗篡改性,同時還具有多線路通信性、接收方匿名性和線路無關(guān)性的特性;構(gòu)建了基于業(yè)務(wù)操作時間間隔的時間型區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道場景;提出了區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道的抗檢測性、頑健性和傳輸效率這3個評估向量,為區(qū)塊鏈網(wǎng)絡(luò)隱蔽信道這一新的網(wǎng)絡(luò)隱蔽信道類型的實用化奠定了基礎(chǔ)。