李雷孝,杜金澤,林浩,高昊昱,楊艷艷,高靜
(1.內蒙古工業大學數據科學與應用學院,內蒙古 呼和浩特 010080;2.內蒙古自治區基于大數據的軟件服務工程技術研究中心,內蒙古 呼和浩特 010080;3.天津理工大學計算機科學與工程學院,天津 300384;4.內蒙古農業大學計算機與信息工程學院,內蒙古 呼和浩特 010011)
隨著信息技術的發展,其安全傳輸問題受到廣泛關注。雖然日益完善的密碼學加密技術可對信息明文加密,避免被攻擊者直接破解信息內容。但是對信息安全傳輸需求最大的群體通常是存在對立關系的群體。只要檢測到通信過程的發生,就足以意識到某些信息已經被傳遞。在此情形下,研究者開始構建隱蔽信道來實現隱蔽通信。隱蔽通信就是把信息嵌入按照常規狀態進行傳輸的公開載體上,使第三方從根本上無法察覺通信的發生。
最初,研究者更側重于研究本地隱蔽信道,即可用于將數據從同一系統上的高安全級別進程傳遞到低安全級別進程的隱蔽信道[1]。隨著20 世紀90 年代計算機網絡的興起,大量不同網絡協議中附帶的數據成為隱蔽信道的高帶寬載體,僅一個大型互聯網網站每年可作為載體的數據就多達26 GB[1]。但是該類隱蔽信道大多數以分布式計算機網絡系統為載體,構建傳統網絡隱蔽信道的方法存在著很多問題。首先,信息傳輸載體由一個中心化的第三方機構提供,通信雙方所處環境不是完全可信的,無法保證通信雙方匿名性;其次,遭到分布式拒絕服務(DDoS,distributed denial of service)攻擊時容易造成載體崩潰,中斷通信;此外,現有傳統網絡隱蔽信道的通信雙方大多是直接通信,采用的通信信道固定單一,容易被已有探測手段針對性探測。而最初作為比特幣底層機制引入的區塊鏈技術[2]具有去中心化、匿名性、不可篡改性和強穩健性等特點,可以被用來解決上述問題,是更好的構建網絡隱蔽信道的載體。
目前,國內外學者和研究機構對網絡隱蔽信道進行了分類與綜述[3-6],論述了網絡隱蔽信道的分類原理與構建過程,并提出了檢測隱蔽信道的方法。但是,現有研究缺乏對區塊鏈網絡環境下的隱蔽信道的綜述分析,對該類型的信道構建尚處在初始階段。
為提升對區塊鏈網絡隱蔽信道的研究,并為學者提供研究思路,本文在已有綜述的基礎上,首先,概括了區塊鏈技術和網絡隱蔽信道的發展,引出了區塊鏈網絡隱蔽信道的優點;其次,將區塊鏈網絡隱蔽信道按照構建載體的不同,分為交易地址型、簽名算法型、智能合約型和P2P 廣播機制型4 類,總結了每種類型的構建方法;再次,將區塊鏈網絡隱蔽信道構建過程定義為隱秘信息嵌入、載體混淆傳輸、特殊載體篩選和隱秘信息解碼4 個步驟,并分析了其中的關鍵技術;最后,總結了現有區塊鏈網絡隱蔽信道存在的問題并給出了解決方法。
區塊鏈技術是利用塊鏈式數據結構來驗證和存儲數據、利用分布式節點共識算法來生成和更新數據、利用密碼學的方式保證數據傳輸和訪問的安全性、利用由自動化腳本代碼組成的智能合約來操作數據的一種全新分布式基礎架構。區塊鏈架構如圖1 所示。

圖1 區塊鏈架構
隱蔽信道作為信息隱藏技術的一個分支[7],最初是由Lampson[8]在1973年基于單片機系統的背景下給出的定義,即根本不用于信息傳輸的通道。相比于隱寫術、匿名通信、版權標識這3 種信息隱藏技術,隱蔽信道更注重于隱藏信道本身的存在,用來保證隱秘信息的安全傳輸。1984 年,Simmons[9]首次提出囚犯問題來定義隱蔽信道:在看守人Wendy 察覺Alice 和Bob 有越獄想法,且愿意讓二人傳遞消息的環境下,Alice 和Bob 需要尋找一種在交流中秘密溝通的方式來欺騙Wendy,即眾目睽睽之下建立一個“潛意識通道”——隱蔽信道。Craver[10]對囚犯問題進行了拓展,區分了3 種不同類型的看守人。積極的看守人被允許在囚犯之間傳遞信息時進行同義詞替換,但不能修改語義內容;消極的看守人能發現隱蔽信道但不能做任何修改;惡意的看守人可以任意修改信息。在此背景下,構建隱蔽信道需考慮更多的因素。Millen[11]在總結和分析后,將應用于網絡環境中的隱蔽信道定義為網絡隱蔽信道。
隱蔽信道發展過程如圖2 所示。在加密傳輸通信的安全性無法滿足需求后,研究者將隱蔽信道構建在同一本地系統中,由高安全級別的進程傳遞到低安全級別的進程。雖然提高了通信的隱蔽性,但是本地隱蔽信道有很大的范圍局限性,不能滿足遠距離傳輸。之后,Handel 等[12]首次將囚犯問題擴展到計算機網絡中,構建網絡隱蔽信道,成為研究者的主要方向。早期提出的大多為存儲型網絡隱蔽信道,例如Cauich 等[13]利用IP 報頭構建了隱蔽信道、Girling[14]接連發現了3 種局域網上的隱蔽信道、Rowland[15]將IPv4 報頭和IP 報頭中未使用的冗余字段作為構建隱蔽信道的載體,但此類型信道在易被使用的同時也易被檢測。1989 年,Wolf[16]提出了基于消息確認的時間型網絡隱蔽信道,為隱蔽信道的構建提供了一種新思路。雖然此類信道易被噪聲干擾,但是也更難被檢測和消除。之后為了兼顧信道容量和隱蔽性,研究者構建了將2 種類型信道結合的混合型新型隱蔽信道[17]。在2018 年Partala[18]首次構建了區塊鏈網絡隱蔽信道后,一個規模巨大的新型網絡環境被更多研究者關注[19],隱蔽信道的構建有了更多樣化的選擇。

圖2 隱蔽信道發展過程
目前,國內外將傳統網絡隱蔽信道按照信息編碼方式分為存儲型網絡隱蔽信道、時間型網絡隱蔽信道和混合型網絡隱蔽信道三大類[3-4]。
存儲型網絡隱蔽信道利用頭元素或協議數據單元(PDU,protocol data unit)的空間特性,例如通過修改字段長度[20-21]、字段位置[22-23]和字段值[24-26]來編碼隱秘信息,或利用冗余字段即在給定頭元素或PDU 中創建用于隱藏數據的空間[27-28];時間型網絡隱蔽信道通過調整數據包的時間特性將隱秘信息編入其中,例如通過發送數據包本身具有的時間差異[29-30]或利用網絡環境時延的不同[31-32]來編碼隱秘信息;混合型網絡隱蔽信道是存儲型和時間型網絡隱蔽信道方法的結合[17,33-34],針對存儲型網絡隱蔽信道不穩定和時間型網絡隱蔽信道效率低的問題,混合型網絡隱蔽信道在空間和時間特性中都編碼隱秘信息,不會被單一的信道檢測方法完全檢測到,提升了隱蔽性和傳輸效率。
雖然存儲型、時間型和混合型網絡隱蔽信道方法越來越完善,但是仍存在著以下弊端。
1) 存儲型網絡隱蔽信道修改的字段分組長度不同于正常業務的分組長度,經分析易被檢測。并且在傳輸大量數據的情況下,難以在隱蔽性和傳輸效率之間保持平衡。
2) 時間型網絡隱蔽信道的穩定性較低,通信過程需要保證雙方的網絡狀態同步。而網絡環境本身就存在著各種噪聲,影響時間間隔,還易受到網絡干擾[35],監控者可發動大量請求破壞通信。
3) 以類似于瀏覽器的中心化第三方軟件作為載體時,攻擊者不需要檢測信道本身,而是選擇直接檢測第三方軟件,易發現通信過程的存在。
4) 穩健性較低,絕大多數采用通信雙方直接通信的方式。出現單點故障的可能性高,針對性的檢測也較為容易。在遭遇DDoS 攻擊時容易造成網絡擁堵或目標系統服務器停止響應,中斷通信。
5) 通信雙方的匿名性較難保證,用戶的身份標識都是基于第三方認證中心頒發數字證書確認的,通信雙方的身份容易泄露。
而作為新型載體的區塊鏈網絡隱蔽信道具有以下幾個特點,在一定程度上解決了上述問題。
1) 去中心化。區塊鏈所有數據的存儲、傳輸和驗證過程均基于分布式的點對點系統架構,不依賴任何一個中心化機構。所有的節點都是單獨存在的個體并且遍布全球各地,每個節點都可以作為發送方和接收方,其余所有節點都將是隱蔽通信的掩護者。
2) 匿名性。區塊鏈系統采用公鑰編碼而成的地址作為用戶的身份標識,不需要中心化機構頒發數字證書來確認身份。用戶只需要公開可隨意變換的地址,不需要公開真實身份。
3) 不可篡改性。區塊鏈的鏈式存儲結構和各種密碼學算法保證了其內容的不可篡改性。
4) 強穩健性。區塊頭中的時間戳技術和區塊鏈的復制狀態機特性使區塊鏈網絡環境的時間特性不受網絡波動的影響,對通信雙方的網絡環境要求較低。并且,區塊鏈網絡天然防止DDoS 攻擊,在實際環境當中,推翻之前的區塊數據所需要的算力和時間成本遠大于收益。此外,其P2P網絡的架構也遠安全于傳統網絡環境,破壞任一節點也不會影響整個系統的狀態信息,防單點故障的能力強。
5) 開源性。可免費加入開源可編程的區塊鏈網絡,數據和程序對所有人公開。其開放性和多樣性將使區塊鏈有更多的隱蔽信道構建方式。
本文將區塊鏈網絡隱蔽信道定義為利用區塊鏈環境所獨有的載體特征,構建無法被檢測到的通信信道。將載體特征按照交易地址、簽名算法、智能合約和P2P 廣播機制4 種類型進行分類,依照隱蔽性、傳輸效率和通信成本3 種評價指標進行對比分析。此外,總結性地提出了區塊鏈隱蔽信道模型的構建過程。最后,提出了該類型信道存在的問題。
2.1.1 交易地址型
該類隱蔽信道將區塊鏈中的交易地址作為載體特征。交易地址由唯一的公私鑰對編碼而成,例如圖1 中比特幣的交易地址生成過程。在通信過程中,根據不同的公私鑰對生成不同的交易地址來作為隱秘信息的載體編碼或傳輸,其構建過程如下。
將明文M按照預共享編碼規則C編碼為可用作傳輸的密文'M,如式(1)所示。

將密文'M編碼入交易地址TA經過通信雙方預共享的規則E重新排序或經過密碼學算法U重新生成的交易地址中,形成含有隱秘信息的有限地址集合如式(2)和式(3)所示。

隱蔽通信發送方S生成交易地址為的交易至區塊鏈公鏈中。接收方P利用規則E或算法U將從區塊鏈公鏈中篩選出來,并提取出密文'M,之后利用規則C進行解碼,從而得到明文M,如式(4)和式(5)所示。

利用上述過程,文獻[18]提出BLOCCE 區塊鏈網絡隱蔽信道,文獻[36]在BLOCCE 的基礎上做出改進,文獻[37]利用同樣的思路,使用地址生成軟件Vanitygen 的V-BLOCCE 方法。BLOCCE 系列直接將隱秘信息顯示在地址的有效位中,3 種方法對應的流程如圖3 所示,其改進過程與優缺點分析如表1 所示。

表1 3 種方法改進過程與優缺點分析

圖3 3 種方法對應的流程
不同于BLOCCE 系列將隱秘信息直接映射至交易地址,文獻[39]直接利用特殊地址生成算法編碼信息。將需要嵌入的二進制隱秘信息與預共享密鑰融合產生新的公鑰,根據公鑰生成交易地址作為載體傳輸隱秘信息。接收方只需要根據交易地址判斷公鑰與輸出的關系就可以判斷是否含有隱秘信息并解碼。并且將前一個交易的輸出作為下一個交易的輸入,不需要遍歷所有交易即可篩選出特殊地址,提升了效率。雖然該方法中每個地址只能嵌入1 bit 信息,但是將隱秘信息直接與交易地址相結合地址的方法提升了隱蔽性。文獻[40]按照交易時間的先后生成交易地址索引矩陣,對編碼隱秘信息的交易金額進行排序并解碼。該方法使用金額編碼隱秘信息,增加了單筆交易可嵌入信息的容量,減少了交易數量,提高了傳輸效率。并且交易地址索引矩陣提供了篩選方法,不需要遍歷全部交易,篩選效率更高。但是該方法反復利用一個通信雙方都知曉的地址集進行交易,通過交易地址關聯分析的方法就能夠溯源到通信雙方,破壞信道的隱蔽性。
此外,相比于上述基于固定地址的篩選機制,交易地址結合動態標簽生成特殊交易地址的設定更好地兼顧了篩選效率和隱蔽性。文獻[41]用不斷變化的區塊高度作為動態標簽,與預共享的密鑰使用哈希運算消息認證碼(HMAC,Hash-based message authentication code)生成新的私鑰,并生成含有特殊交易的交易地址,保證了只有持有預共享密鑰的通信雙方才能提取信息;文獻[42]基于OP_RETURN 字段上真實的交易數據統計分布,結合域生成算法生成含有動態標簽的特殊地址;文獻[43]則利用前一個區塊的區塊號和Nonce 值來生成動態標簽。
2.1.2 簽名算法型
該類隱蔽信道將區塊鏈中的數字簽名算法作為載體特征。在區塊鏈中,每筆交易都會由交易雙方對其進行數字簽名,來保證數據不被篡改且交易雙方身份真實可靠。簽名算法型隱蔽信道構建過程如圖4 所示,只有接收方使用私鑰才能從修改后的特殊簽名算法中得到發送方私鑰并提取隱秘信息。另一種則是與交易地址型構建過程類似,將簽名算法本身作為隱秘信息的存儲載體(如數字簽名中的某一有效位)進行傳輸。

圖4 簽名算法型隱蔽信道構建過程
文獻[44]最先提出了構建簽名算法型隱蔽信道的模型。文獻[45]給出了具體的方法,即利用竊密算法修改區塊鏈中原有的簽名算法構建信道。利用區塊鏈官方客戶端開源代碼設計特殊數據發送客戶端和特殊數據接收客戶端進行信息傳輸,發送客戶端對含有隱秘信息的交易中的簽名算法進行修改,接收客戶端用竊密算法檢測和篩選含有隱秘信息的交易并提取信息。只有知曉竊密算法關鍵信息的節點才可提取出私鑰,并解碼隱秘信息。該方法生成每筆交易所用的時間比生成普通交易所用的時間只增加36 ms,并無顯著差異。文獻[46]通過修改比特幣中交易的橢圓曲線數字簽名算法(ECDSA,elliptic curve digital signature algorithm),在僵尸網絡場景中構建了隱蔽信道。文獻[47]和文獻[48]結合門羅幣環簽名技術,利用環簽名技術的特性構建隱蔽信道的同時提升了匿名性。
2.1.3 智能合約型
該類隱蔽信道將區塊鏈的智能合約作為載體特征。智能合約種類的豐富性、參數的多樣性、數據的冗余性和代碼的可編程性等特點,使其成為構建隱蔽信道的優秀載體。智能合約型隱蔽信道構建過程如圖5 所示,發送方將隱秘信息編碼入智能合約的預置觸發條件和預置響應規則當中,接收方依據不同的響應解碼不同的隱秘信息。

圖5 智能合約型隱蔽信道構建過程
文獻[49]利用智能合約作為傳感器網關并結合圖像隱寫術實現隱蔽通信。將包含分區號、訪問時間和圖像地址的說明手冊嵌入智能合約事務的時間戳當中,接收方依據預共享信息從合約中進行提取。其中,分區號即多播傳遞的接收者數量,訪問時間即隱寫圖像的時效性,圖像網址即隱寫圖像位置。該方法利用智能合約作為載體結合圖像隱寫術,信道容量較高。說明手冊中的訪問時間使隱秘信息不會永久保存在區塊鏈中,提升了信道的隱蔽性。文獻[50]則利用投票合約中選項的不同和投標合約中出價數目的不同映射秘密信息序列,之后調用合約傳遞信息。投票合約中,增設多項選擇和冗余選擇,提高了信息編碼復雜度的同時也提高了信息傳輸效率。投標合約中,通過設置單節點有效投標價格范圍提高篩選效率,并允許提出含有多個有效投標的集合,減少交易數量,提升傳輸效率。
2.1.4 P2P 廣播機制型
該類隱蔽信道將區塊鏈的P2P 廣播機制作為載體特征,是區塊鏈各節點之間通過泛洪模式迭代轉發并經過濾后的區塊數據和交易信息體系下的網絡隱蔽信道。一方面通過空間特性,利用P2P廣播機制轉發過程,修改數據中的字段或利用冗余字段添加內容來編碼隱秘信息構建隱蔽信道的方法。另一方面通過時間特性,利用交易轉發的時間間隔以及轉發數據的時延編碼隱秘信息構建隱蔽信道的方法。
在利用空間特性的方法中,文獻[51]基于圖6的比特幣交易廣播機制,首先將A 節點加密后的隱秘信息編碼入coinbase 字段,將其哈希值作為索引,插入inv 消息和getdata 消息所共有的清單向量,用于告知其他節點本節點擁有對象或請求數據。B 節點收到inv 消息后,依據索引搜索節點交易消息中是否存在相等的交易哈希值。若存在,則找到該交易的coinbase 字段提取并解碼信息,然后將過濾后的getdata 消息返回給A 節點;若不存在,則將包含索引的getdata 消息返回給A節點,代表未曾完成通信。不過將隱秘信息編碼入本身使用率就較低且每 10 min 產生一個的coinbase 字段,影響了信道的傳輸效率和隱蔽性。此外,該文獻還利用比特幣節點之間通過TCP 三次握手建立連接向鄰居節點發送地址廣播的機制,依據地址廣播的順序是否正確編碼二進制隱秘信息,構建隱蔽信道。

圖6 比特幣交易廣播機制
文獻[52]提出利用以太坊Whisper協議構建隱蔽信道的模型,文獻[53]和文獻[54]在此基礎上給出了基于Whisper 協議的隱蔽信道模型,如圖7 所示。該方法有很多優點:Whisper 協議信件的信封中設有最晚有效時間和存活時間,過期作廢不永久保存,提高信道隱蔽性;采用類似于比特幣挖礦機制尋找Nonce 值的方法設定閾值,只有當節點發送消息的閾值超過特定閾值時,才可在以太坊網絡中繼續轉發,還能將連續發送不符合要求的節點列入黑名單,避免了第三方的干擾;利用特殊編碼的主題字段過濾無關內容,提升了篩選效率。除了以太坊中的Whisper 協議之外,文獻[55]在比特幣中利用同為P2P 廣播機制的Gossip 協議,通過使用一種基于比特幣的審查彈性客戶端Tithonus 構建了隱蔽信道。

圖7 基于Whisper 協議的隱蔽信道模型
文獻[56]則利用廣播機制中的時間特性,構建了一種基于多節點時間戳共謀的區塊鏈網絡隱蔽信道[57],其模型如圖8 所示。將隱秘信息映射為不同的區塊鏈業務操作的時間間隔,與唯一標識序列構成集合后發送,信息接收方利用預先設定的方法辨別唯一性標識的節點,提取并解碼隱秘信息。文獻[58]結合具體應用場景,利用區塊鏈業務的時間間隔是否超過閾值來編碼授權信息,并用此技術保證智能電網中用戶授權有效性。這2 種利用P2P 廣播機制的時間特性編碼隱秘信息的方法因區塊鏈網絡的時間戳功能受網絡波動的影響較小,故在信道隱蔽性和穩健性方面都優于傳統的時間型網絡隱蔽信道。

圖8 基于多節點時間戳共謀的隱蔽信道模型
結合傳統網絡隱蔽信道和上述4 種不同類型的區塊鏈網絡隱蔽信道,本文總結了隱蔽性、傳輸效率和通信成本3 種評價指標,并依據該評價指標對4 種不同類型下的不同方法進行對比分析。
2.2.1 隱蔽性
區塊鏈網絡隱蔽信道中的隱蔽性一方面是信道的抗檢測能力,另一方面是對通信雙方匿名性的保護。
對于抗檢測能力,可以使用KL(Kullback-Leibler)距離評定,也叫作相對熵。該指標用于衡量相同事件空間中2 個概率分布差異情況,即不包含攜帶隱秘信息的載體時滿足的概率分布P(x) 與含有攜帶隱秘信息的載體時滿足的概率分布Q(x) 的差異情況,用D(P||Q)表示,計算式如式(6)所示。由式(6)可得,當2 種概率分布情況相似度越高時,D(P||Q)越小,KL 距離越小,抗檢測能力越大,隱蔽性越高。

區塊鏈網絡環境下的隱蔽通信場景雖然對通信雙方的匿名性的保護遠高于傳統網絡隱蔽信道,但是仍存在攻擊者通過交易關聯分析、地址關聯分析和身份關聯分析來進行身份溯源。經過對區塊鏈網絡隱蔽信道構建方法的分析可知,采用固定交易數據的隱蔽信道匿名性低于采用動態交易數據的隱蔽信道匿名性,且交易數據動態變化越多,攻擊者分析交易數據的關聯性越困難,匿名性越強;固定交易數據的使用次數越多,攻擊者分析交易數據的關聯性越簡單,匿名性越弱。
2.2.2 傳輸效率
區塊鏈網絡隱蔽信道的傳輸效率V指單位時間內傳輸的最大無錯誤信息量,單位為bit/s,如式(7)所示。其中,C代表最大無錯誤信息量,t代表單位時間,單位時間內C越大,代表該類隱蔽信道的傳輸效率越高。

依據香農定律,當通信速率低于信道容量時,可使誤差接近于零,即錯誤信息量最少。當通信速率無限接近于信道容量時,即傳輸的最大無錯誤信息量。因此,傳輸效率中的C可被構建該類隱蔽信道所產生的信道容量代替。通信信道是一個系統,系統的輸出信號按概率依賴于輸入信號,該系統特征由一個轉移概率矩陣p(y|x) 決定,該矩陣決定在給定輸入情況下輸出的條件概率分布。對于輸入信號X即明文,輸出信號Y即編碼對應的用于傳輸的密文,信道容量C定義為

其中,I(X;Y) 為互信息,如式(9)所示,是由另一隨機變量導致的原隨機變量不確定度(即信息熵)的縮減量,代表2 個隨機變量相互之間獨立程度的度量,關于X和Y對稱且永遠非負。

當隨機變量X的概率密度函數為p(x) 時,將X的熵定義為H(X),如式(10)所示。其中,p(i) 為第i個不同編碼字符出現的概率密度分布。

綜上,可以計算出區塊鏈網絡隱蔽信道的傳輸速率V。由上述過程可推得,在編碼過程中,可通過增加更多數量的編碼字符提高隱秘信息的傳輸速率,但需要滿足編碼的期望長度L(C) 大于或等于熵這一條件,如式(11)所示。其中,l(x) 為對應于x的碼字長度。

2.2.3 通信成本
區塊鏈網絡隱蔽信道的通信成本一方面是計算成本,另一方面是金錢成本。
對于計算成本,取決于信道構建的時間復雜度O(f(n)),O(f(n))越高,計算成本就越高,且計算成本高低取決于式(12)。當存在特殊載體生成的過程中,就會產生不同的時間復雜度,例如生成特殊的地址、簽名算法、智能合約和廣播內容。

在任何一條區塊鏈公有鏈中構建隱蔽信道的過程中,產生交易數據的同時都會產生數量為a、價值為b的某種幣種,如比特幣或以太幣等。因此,對于金錢成本S,即單位字節的傳輸成本,計算方法如式(13)所示。其中,C表示信道容量。

2.2.4 對比分析
對上述4 種區塊鏈網絡隱蔽信道構建方法,依據隱蔽性、傳輸效率和通信成本3 種評價指標進行分析,如表2 所示。經分析可看出,現有基于區塊鏈的網絡隱蔽信道很難同時滿足隱蔽性、傳輸效率和傳輸成本3 種評價指標,在選擇時要根據具體應用場景而定。

表2 基于區塊鏈的網絡隱蔽信道構建方法
通過對上述區塊鏈網絡隱蔽信道的論述并結合具體構建信道的方法,本文將此類型的區塊鏈網絡隱蔽信道構建模型定義為隱秘信息嵌入部分、載體混淆傳輸部分、特殊載體篩選部分和隱秘信息解碼部分4 個步驟,如圖9 所示。

圖9 區塊鏈網絡隱蔽信道構建模型
隱秘信息嵌入部分是指發送方將隱秘信息編碼并嵌入載體中,生成含有隱秘信息的特殊載體。通過對上述4 種載體類型的隱蔽信道分析,將隱秘信息嵌入機制定義為顯示嵌入和隱示嵌入2種,如表3所示。顯示嵌入是隱秘信息直接嵌入載體的某一字段當中。由于區塊鏈賬本公開,第三方有足夠的時間對所有數據進行分析,隱蔽性低。而隱示嵌入是通過特定的編碼方式編碼入載體,隱秘信息字符特征不體現在字段中,隱蔽性高于顯示嵌入。

表3 區塊鏈中隱秘信息嵌入機制
載體混淆傳輸部分是指發送方將含有隱秘信息的特殊載體按照普通載體的特征構建后混入普通載體當中,使監控方無法區分特殊載體和普通載體,達到隱蔽通信的效果。
特殊載體篩選部分是指接收方從區塊鏈的大量信息中篩選出含有隱秘信息的特殊載體。由于區塊鏈去中心化的特點,所有節點信息全部存儲在區塊鏈中,產生的數據量極大,篩選難度極高,因此設定合理的篩選機制十分重要。本文將特殊載體篩選機制分為基于固定標簽的篩選和基于動態標簽的篩選。基于固定標簽地址的篩選效率較高,但是使用次數過多會使信道被發現的風險增加,影響其隱蔽性。而使用基于動態標簽的篩選機制不需要反復使用相同內容,隱蔽性高于基于固定標簽的篩選方法,但是每次通信接收方都需要重新篩選,傳輸效率低于基于固定標簽的篩選方法,如表4 所示。

表4 區塊鏈載體篩選機制
隱秘信息解碼部分是指接收方在篩選出特殊載體之后,按照最初信息編碼的逆運算解碼出原始的隱秘信息,也表示利用區塊鏈網絡隱蔽信道實現隱蔽通信的過程結束。在區塊鏈網絡隱蔽通信過程中,為使接收方順利提取隱秘信息,通信雙方不可避免地需要預共享一些信息。現有的研究大多是直接預設一個理想情況,即通信雙方在絕對安全的環境下,進行有且僅有一次的預共享信息過程。但實際上預共享信息的過程所處環境的安全性也需要被考慮在內。后續的研究也可對預共享部分做嚴格分析設計,以此提升總體區塊鏈網絡隱蔽信道的隱蔽性。
盡管區塊鏈網絡隱蔽信道有去中心化、匿名性、不可篡改性、強穩健性和開源性等優勢[59],但還是存在以下幾點問題。
1)數據多副本。區塊鏈中的數據被永久存儲在鏈上,再加之其去中心化的特點,會被多個節點備份,從而增加隱蔽信道被發現的風險。此外,隨著檢測技術的不斷更新,已完成的通信也會面臨被重新檢測到的風險。
2)身份易泄露。通信雙方的匿名性是構建網絡隱蔽信道需要考慮的重要因素。區塊鏈存在假匿名性問題,第三方會利用區塊鏈中完整的交易記錄,通過交易關聯分析、地址關聯分析和身份關聯分析三步對通信雙方身份進行溯源。
3)信息難篩選。由于區塊鏈中的一些交易可以不明確指定接收方賬號,顯著增加了接收方的識別難度。并且公鏈中同一時刻交易眾多,遍歷全部交易篩選的過程十分困難。
4)性能難兼顧。去中心化、安全和高性能3 個特征構成了區塊鏈技術的“不可能三角”。同樣,區塊鏈網絡隱蔽信道構建也存在著隱蔽性、傳輸效率和通信成本三者的“不可能三角”,如圖10 所示。3 個特征無法同時滿足,需要結合實際通信場景進行取舍。

圖10 區塊鏈網絡隱蔽信道的“不可能三角”
通過上述論述的內容,對現有區塊鏈網絡隱蔽信道構建方法所存在問題,針對性地提出解決方法,給出未來研究思路。
針對身份易泄露問題,可以采用混幣技術提升通信雙方的匿名性,進而提升隱蔽信道的隱蔽性。
最初Meiklejohn[60]提出了混幣方案CoinJoin,即將金額相等的交易混淆,每個接收地址可以接收任意一個交易輸入,提供了外部不可關聯性。達世幣就是一種基于混幣思想[61]以隱私為中心的公有鏈。利用PrivateSend 隨機選取主節點進行交易混淆,允許前一輪的交易輸出作為下一輪的交易輸入。通信雙方經過多輪混淆交易之后,參與的用戶數量呈指數上升,很難再找到聯系。此外,達世幣不需要等待特定時間來確認區塊中的交易,只需要幾秒就可以完成一筆交易,且交易無論發送的金額是多少,費用都極低。所以,未來的研究可以將構建隱蔽信道的方法在達世幣公有鏈中應用,以此來保證通信雙方的匿名性。
目前,諸如比特幣或以太坊等公有鏈都存在低吞吐量的問題。對于在隱蔽通信過程中對時效性要求較高的場景來說,并不能滿足需求。對此,本文按照鏈下、鏈上2 種擴容方法給出了提升傳輸效率的思路。
3.2.1 鏈下方案
作為鏈下方案的一種,比特幣側鏈技術的發展為隱蔽信道的構建提供了天然載體。其定義是可以讓比特幣安全地從比特幣主鏈轉移到其他區塊鏈,又可以從其他區塊鏈安全地返回比特幣主鏈的一種協議。現有側鏈技術中的RSK(rootstock)[62]、閃電網絡或者元素鏈都可以很好地提升傳輸效率。以元素鏈為例,其隱蔽性和信息傳輸效率相比于比特幣有很大提高,并且具有以下特點。
1) 私密交易。通過在地址中加入盲化因子,使原有比特幣交易地址變成特殊的私密地址,并在金額中加入僅有交易參與者知道的盲化因子隱藏交易金額,為區塊鏈網絡隱蔽信道的構建提供了更好的隱蔽性。
2) 簽名驗證。采用Schnorr 簽名方案,使區塊鏈存儲和帶寬減少至少25%,支持批量驗證,速度更快,效率更高。
3) 隔離見證。將簽名環節從交易中提取出來,減少了交易的大小,使區塊中可以打包更多的交易,提升了隱蔽信道傳輸效率。同時解決了任何已知形式的交易可塑性問題,避免了攻擊者在比特幣中利用交易可塑性修改交易ID,替換原有正常交易,破壞隱蔽通信過程。
3.2.2 鏈上方案
除側鏈技術外,還可以利用基于有向無環圖(DAG,directed acyclic graph)的鏈上擴容方案,提升隱蔽信道的傳輸效率。
同為分布式賬本的IOTA 與區塊鏈技術是2 種完全獨立的架構,卻建立在同一種規則之上。IOTA擁有如下幾個優點,使其成為天然的構建隱蔽通信信道的載體。
1) 不同于區塊鏈的鏈式結構,IOTA 是一種基于DAG 的拓撲結構。允許無限的可擴展性,整個系統可以同時驗證多筆交易,實現較高吞吐量。單位時間內交易數量增多,可嵌入信息增多,傳輸效率更高。
2) 區塊鏈中的交易需要被驗證并且打包入下一個區塊,并且需要支付手續費。而IOTA 每一個節點都可以發起和確認交易,不需要支付手續費,隱蔽通信成本低。區塊鏈中較為突兀的小額交易在IOTA 中完全適用,利用金額作為載體構建信道的方法更加可行。
3) IOTA 的全節點會定期刪除大部分交易記錄,只保留賬本中最近發生的事件。節點在通信過后會刪除之前用于通信的特殊交易,達到提高信道隱蔽性的目的。
4) IOTA 中交易的發布需要驗證2 個舊的交易,并且可以查詢到哪些交易確定了該交易,降低了篩選過程難度,提升了傳輸效率。
針對數據多副本問題,可以利用區塊鏈中無法永久存儲或無法查詢的鏈下信息作為載體構建信道。
在區塊鏈網絡中,不斷有新的交易廣播,交易順序是實時變化的,且當下的順序過期不可見。本文提出發送方通過調制交易廣播順序來編碼信息的方法,如圖11 所示。其中的編碼規則是多樣的,本文將兩筆交易劃分為一組,按照交易地址最后一位是數字還是字母的方式組合編碼。本文提出的模型只是提供一種方向,采用了較簡單的編碼方式。后續研究可根據信道傳輸效率,增加參與信息編碼地址的位數,提高編碼的復雜性。該方案不僅具有數據不永久存儲、可抵抗數據分析攻擊的特點,而且交易廣播時間遠小于交易上鏈時間,通信效率高。

圖11 基于交易廣播順序的隱蔽通信模型
區塊鏈技術本就使用了大量的密碼學技術,保證賬本的完整性、公開性、不可篡改性和隱私保護等特性。在隱蔽信道的構建過程中,可以與密碼學算法特性相結合,增加信道的隱蔽性。本文提出基于可驗證延遲函數(VDF,verifiable delay function)的一種隱蔽信道構建方法進行舉例說明。
VDF 是一類數學函數,接收一個輸入和一些安全參數,運行一定時間后,輸出一個唯一對應的結果以及證明。驗證者會依據輸入、參數、輸出和證明判斷VDF 是否正確,達到驗證目的。經本文實驗分析,由不同CPU 型號運行相同VDF 時所需時間存在差異。因此,可對運行時間進行閾值設定來編碼隱秘信息,是一種隱蔽性非常高的方法。之后,結合上述4 種類型,選用交易地址、簽名算法、智能合約或P2P 廣播機制作為載體構建區塊鏈網絡隱蔽信道。
區塊鏈這樣一個新型網絡環境下構建信道的思路引起了研究者的大量關注,為信息的安全傳輸提供了更好的方法。本文首先介紹了網絡隱蔽信道的定義和發展歷史,簡單描述了區塊鏈整體架構,通過對傳統網絡隱蔽信道的分析,引出了新型的區塊鏈網絡隱蔽信道;將隱蔽信道按照載體的不同,分為交易地址型、簽名算法型、智能合約型和P2P廣播機制型4 類;依據隱蔽性、傳輸效率和通信成本3 個評價指標,結合各類區塊鏈網絡隱蔽信道進行對比和評估,將區塊鏈網絡環境下的隱蔽信道模型定義為隱秘信息嵌入、載體混淆傳輸、特殊載體篩選和隱秘信息解碼4 個步驟;最后提出了現有方法的不足,并提供了解決思路。希望本文為以后網絡隱蔽信道的構建提供有益的參考。