姜鵬坤,張問銀,王九如,黃善云,2,宋萬水,2
基于正常交易掩蓋下的區塊鏈隱蔽通信方案
姜鵬坤1,張問銀1,王九如1,黃善云1,2,宋萬水1,2
(1. 臨沂大學信息科學與工程學院,山東 臨沂 2 76000;2. 山東師范大學信息科學與工程學院,山東 濟南 250358)
隨著計算機技術的發展,現代網絡攻防形勢日益嚴峻,秘密信息的安全傳輸問題亟待解決。隱蔽通信技術將秘密信息嵌入載體中通過隱蔽信道安全地傳輸,但傳統的隱蔽信道存在數據易受損、易被攻擊、易被檢測等問題,無法滿足更高的安全需求。區塊鏈作為公共數據平臺,能夠在大量交易的掩蓋下嵌入秘密信息,其具有的不易篡改、匿名性、去中心化等特點,可以很好地解決傳統隱蔽信道存在的問題,實現安全的隱蔽通信,但現有的區塊鏈隱蔽通信方案存在通信效率較低、安全性較差等問題,如何安全、高效地進行通信是區塊鏈隱蔽通信的研究重點。提出一種基于正常交易掩蓋下的區塊鏈隱蔽通信方案,利用哈希算法構建免傳輸密碼表在不改變任何交易數據的情況下實現秘密信息的嵌入,利用橢圓曲線特性可在海量的交易中快速篩選出帶有隱藏信息的交易,從而快速提取秘密信息。所提方案提高了隱蔽通信的安全性、效率,可遷移性強,理論分析顯示,攻擊者無法區分普通交易和特殊交易,所提方案具有極高的抗檢測性和可擴展性;比特幣測試網的實驗結果表明,所提方案的效率高。
區塊鏈;隱蔽通信;信息隱藏;比特幣;哈希算法
隨著計算機軟硬件技術的發展,信息傳輸的安全性越來越受到人們的重視。最開始通常使用密碼學技術對明文信息進行加密,以保證除了持有密鑰的接收者外其他人無法獲得通信內容,然而隨著技術進步,很多加密算法變得容易被破解或被干擾,人們開始將視線轉向信息隱藏。信息隱藏最早來源于Simmons提出的“囚徒”問題[1],信息隱藏技術是將秘密信息以某種特定方式隱藏在載體數據中而不被其他人發現通信行為或秘密信息的技術。信息隱藏按Petitcolas等[2]的分類方法可以分為隱寫術、匿名、隱蔽信道和版權水印4類。隱寫術是一種將秘密信息隱藏在載體中而不被人懷疑的技術,匿名主要是隱藏通信關系,使攻擊者無法辨別通信雙方。近年來,基于隱寫術和匿名發展而來的隱蔽通信技術獲得巨大的發展,隱蔽通信[3]在1973年由Lampson提出,指匿名雙方傳遞秘密消息,隱蔽通信模型包含發送者、接收者和隱蔽信道,發送者將秘密信息嵌入隱蔽信道中,接收者從中提取并還原秘密信息,隱蔽信道發揮著重要的作用。最開始學者研究的是本地存儲隱蔽信道和時間隱蔽信道,利用本地計算機資源構建信道,之后隨著網絡技術發展,網絡存儲和時間隱蔽信道隨之出現并逐漸成為研究重點[4]。此信道通過網絡數據包、包時延等構建隱蔽信道,但由于發送者和接收者是點對點通信,監聽者可以通過機器學習、統計分析等方法分析網絡中的數據包[5],秘密信息泄露風險很大,而且會暴露發送者和接收者之間的通信行為,進而通過IP等信息與現實身份進行關聯,匿名性得不到可靠的保證;攻擊者可以通過篡改數據包、添加噪聲等方式進行干擾,傳輸安全性、可靠性得不到保證。
近幾年,區塊鏈技術作為比特幣的底層支撐技術得到迅速發展,在金融、制造、物聯網、醫療、供應鏈、公證等領域應用廣泛[6-7],已引起政府、企業和市場的高度關注[8]。區塊鏈技術是一種去中心化、可追溯、不易篡改的分布式共享數據庫技術,它具有去中心化、匿名性、安全等特點。
1) 去中心化:區塊鏈是由眾多節點組成,通過點對點(P2P,peer to peer)網絡進行消息傳播,不存在中心化節點或機構。
2) 匿名性:用戶通過自行生成地址參與區塊鏈交易活動,用戶可以生成多個地址,這些地址不與現實身份產生關聯,具有較強的匿名性。
3) 安全:區塊鏈通過非對稱加密、簽名、哈希等密碼學技術來保證安全性,另外每個節點都保存區塊鏈數據,采用的共識算法可以抵御惡意攻擊,保證了數據的完整性。
區塊鏈的這些特點天然適合用來構建隱蔽信道進行隱蔽通信[9],匿名性保障了發送者和接收者的真實身份不會泄露,去中心化和安全使得區塊鏈具有其他信道不具備的抗干擾性,保障了信息的完整傳輸。
現有區塊鏈隱蔽通信方案大多利用隱寫術或交易中的字段實現嵌入,這些方案容易被機器學習、統計學方法分析,存在容量較低、安全性較差、效率低的問題,本文提出一種基于正常交易掩蓋下的區塊鏈隱蔽通信方案,利用哈希算法構建免傳輸的密碼表實現地址到二進制位的匹配,不向交易中嵌入任何信息。
利用區塊鏈進行隱蔽通信的研究有很多,最常見也最簡便的方法是利用比特幣協議中的OP_RETURN字段[10],OP_RETURN字段允許用戶寫進任意內容,它的容量為83 byte。Tian等[11]將動態標簽放入OP_RETURN字段,通過動態標簽快速識別特殊交易,還根據現實情況中常見的OP_RETURN字段長度來設計標簽,但由于OP_RETURN字段對于任何人是可見的,只要OP_RETURN字段有內容,監聽者就可以懷疑其中有隱藏信息并進行收集分析,這增加了隱蔽通信行為暴露和信息泄露的風險。將隱寫術應用于區塊鏈是更好的解決辦法,Partala[12]使用最低有效位(LSB,least significant bit)嵌入方法將秘密信息嵌入比特幣地址中,并提出一個名為“BLOCCE”的系統,相比于其他方案,該方案隱蔽性更高,但它要求發送方創建的交易按序出現于區塊鏈上,這意味著一個區塊至多有一筆攜帶秘密信息的交易,而且一筆交易只能隱藏一比特信息,容量大且受限。Gao等[13]設計了一種利用Kleptography將發送者私鑰隱藏于簽名中的方法,接收方從簽名中獲得私鑰解密交易中的加密信息,由于簽名的限制,通信雙方須在固定地址上通信,存在暴露風險。佘維等[14]提出面向純文本信息隱藏的區塊鏈隱蔽通信模型,以空格法嵌入秘密信息,但該方案需要應用的區塊鏈傳輸大量文本,不具有普適性。司成祥等[15]提出一種利用動態標簽篩選交易的算法,以便從海量交易中快速篩選特殊交易。文獻[16]提出派生鏈的思想,進一步提高了篩選速度,以共享密鑰匹配0、1二進制位并生成接收地址和發送地址,但所有交易構成一條交易鏈,并且提高容量需要協商更多的密鑰,過多的鏈下通信會大大增加暴露的風險。
為了設計一種能快速識別特殊交易而且不會有明顯的特征被對手捕捉、容量大的隱蔽通信方法,本文提出了一種基于正常交易掩蓋下的區塊鏈隱蔽通信方案,利用橢圓曲線特性快速篩選交易,自行生成地址構建免協商密碼表匹配二進制位,安全高效。相比LSB方案[12],進一步提高了容量、安全性和效率;相比于鏈方案[16],進一步提升了安全性和擴展性,可以實現高效、安全的隱蔽通信。本文方案對比特幣系統進行闡述和驗證,但它完全適用于其他所有使用橢圓曲線算法的區塊鏈,具有很高的可遷移性。
比特幣是最早出現的區塊鏈,也是最具代表性的區塊鏈[17],它由中本聰提出并構建。比特幣區塊鏈是一個金融區塊鏈,它出現的原始目標是代替中心化的銀行機構,現在已發展為全球最大的公有鏈網絡。參與者構造交易發布于網絡上,所有節點都可以打包交易構成區塊,并計算一個滿足難度值的隨機數,最先計算出的節點成為新區塊的擁有者,并獲得比特幣獎勵。目前比特幣每天誕生144個區塊,一天可處理的交易量約為500 000筆,活躍節點數超10 000個。
比特幣系統是基于交易的賬本,所有節點共同維護一個未被花費的交易輸出的集合(UTXO),用戶轉賬需要以集合中的輸出作為輸入,并產生新的輸出。用戶之間的轉賬操作屬于普通交易,它的具體格式如表1所示,主要包括系統版本號、交易哈希值、由輸入組成的數組、由輸出組成的數組、交易鎖定時間5部分。輸入由上一筆交易的hash、在上一筆交易中的位置、包含發送者私鑰和接收者公鑰的解鎖腳本組成,輸出由比特幣數量、包含接收者公鑰的鎖定腳本組成。

表1 交易格式
比特幣地址是由公鑰經過多步轉換得到的,過程如圖1所示。首先對公鑰進行加密哈希運算(SHA256)得到256位哈希值,對哈希值進行加密運算(RIPEMD160)得到160位結果,將版本號和160位結果進行雙SHA256運算,取前4個字節為校驗碼,將版本號、RIPEMD160結果和校驗碼拼接進行轉碼(Base58)得到地址。
SHA256算法在比特幣中應用廣泛,它是一種密碼哈希函數,是安全哈希算法2分出的一種算法,由美國國家安全局研發,它可以將任意長度的輸入映射到256 byte的輸出。它具有確定性、抗碰撞的特點,對于確定的輸入只會產生相同的結果,對于不同的輸入一定產生不同的結果,它的安全性主要取決于抗碰撞能力,即攻擊者在現有條件下能否找到該函數的一對碰撞,目前主要的攻擊方法包括生日攻擊和差分攻擊。哈希值越長抵御生日攻擊能力越強,SHA256使用256 byte哈希值,生日攻擊所需代價的數量級為2128,差分攻擊只可找到SHA256的一個部分碰撞,其復雜度為266,但無法找到一個整體碰撞。由此可見,SHA256對于生日攻擊和差分攻擊具有極高的抵御能力,算法的安全性非常高。

圖1 公鑰轉換到比特幣地址
Figure 1 Convert public key to bitcoin address
區塊鏈環境下,整個區塊鏈數據都是對節點公開的,因此在設計區塊鏈隱蔽通信模型時除了必須要有的發送者、接收者、秘密信息、預共享密鑰和區塊鏈信道,還要假定存在一個全局的監聽者,它具有強大的算力,可以監聽全網數據并進行分析,模型如圖2所示。

圖2 區塊鏈隱蔽通信模型
Figure 2 Blockchain covert communication model
1) 預共享密鑰(PSK):發送者和接收者在通信之前先協商好密鑰是地址派生、提取函數的關鍵參數,發送者和接收者都必須小心保存以免泄露。
2) 秘密信息:雙方要進行隱蔽傳輸的信息。
3) 發送者:按照密鑰生成算法構造發送地址公私鑰對,負責將秘密信息按預定規則編碼,構造交易發布于區塊鏈上。
4) 接收者:按篩選算法從區塊鏈網絡獲取攜帶秘密信息的交易,并還原出秘密信息。
5) 監聽者:假定的具備強大算力的節點,可對區塊鏈系統中網絡流量進行監測分析,檢測異常行為。
6) 區塊鏈信道:以比特幣、以太坊等公鏈為代表的區塊鏈是良好的隱蔽信道。
比特幣系統具有活躍節點多、交易數據量大、數據包多的特點[18],將秘密信息隱藏在交易中是常見的一種隱藏方法,發送者將編碼后的信息嵌入交易中,接收者從海量交易中篩選出隱藏信息的交易,之后從中提取并還原秘密信息。如何從海量的交易中快速篩選出帶有隱藏信息的交易是制約提取速度的關鍵,直接根據確定地址篩選的速度無疑是較快的[16]。在比特幣中,私鑰是由用戶隨機生成的,再經橢圓曲線算法產生公鑰,公鑰經過變換得到地址,發送者通過預共享密鑰生成發送地址并以這些地址構造交易,接收者通過發送者公鑰和預共享密鑰進行橢圓曲線乘法運算不斷推演發送地址,進而通過地址快速獲得攜帶秘密信息的交易,另外通過哈希運算生成符合要求的接收地址以構建免傳輸密碼表,大大減少鏈下密鑰協商次數,并且不改變任何地址的形式,地址完全可用并實現嵌入。
在上述思路的基礎上,本文以比特幣交易地址為載體,在比特幣網絡上構建隱蔽信道,發送者通過預共享密鑰生成發送地址,隨機生成接收地址,根據預共享密鑰篩選得到免傳輸密碼表,將秘密信息拆分,構造到接收地址的交易,并將交易發送到區塊鏈網絡上,接收者通過發送地址快速獲取交易并提取秘密信息。本文方案包括嵌入和提取兩個過程,過程中所出現的符號如表2所示。

表2 符號及含義
3.2.1 嵌入過程
嵌入過程如圖3所示,雙方首先溝通PSK、發送者地址addr1和單筆交易嵌入的位數(以兩位為例),發送者將秘密信息(或編碼后)轉化為二進制并按嵌入位數進行分割。發送地址間存在派生關系,該關系可由算法1所示的密鑰生成算法[16]推演,發送者計算sk1.PSK(mod)得到第二個發送地址的私鑰sk2,再將私鑰sk2轉化為公鑰pk2,發送者重復此過程得到后續發送交易的賬戶;接收地址由算法2的地址生成算法生成,隨機生成地址,將PSK與地址拼接進行SHA256運算,轉換成二進制取最后兩位分別與“00”“01”“10”“11”匹配,匹配成功則放入,重復此過程最終得到地址集合,它類似于密碼表,由2(為一筆交易嵌入的位數)個地址構成。算法3給出嵌入過程的偽代碼,發送者依據轉化后的秘密信息構造發送地址到中地址的交易實現秘密信息嵌入。

圖3 嵌入過程
Figure3 Embedding process
算法1 密鑰生成算法
輸入 sk, PSK
輸出 pk+1, sk+1
1) sk+1←sk.PSK%
2) pk+1← sk+1.
3) return(pk+1,sk+1)
算法2 地址生成算法
輸入 PSK
輸出(1,2,3,4)
1) whilenot full
2)←secrets.randbits(256) //隨機生成私鑰
3)←.S
4) addr ← publickeyToAddress () //轉換為地址
5) h ← SHA256(PSK||)
6) last ← bin(int([63:])) //取末尾轉二進制
7) while1== 0 & last[4:] == ‘00’
8)1=
9) while2== 0 & last[4:] == ‘01’
10)2=
11) while3== 0 & last[4:] == ‘10’
12)3=
13) while4== 0 & last[4:] == ‘00’
14)4=
15) return
算法3 嵌入算法
輸入 (sk1, pk1),(1,2,…,b/2),
輸出 Tx(tx1, tx2, …, tx/2)
1) for=1;<=;++
2) sk+1, pk+1← Genkey(sk, PSK) //生成公私鑰
3) addr← publickeyToAddress(pk) //通過API獲取地址
4) ifb== ‘00’
5) tx← makeTransaction(from=addr, to=1, sk=sk) //通過API構造交易
6) add txto Tx
7) else if b== ‘01’
8) tx← makeTransaction(from=addr, to=2, sk=sk)
9) add txto Tx
10) else if b== ‘10’
11) tx← makeTransaction(from=addr, to=3, sk=sk)
12) add txto Tx
13) else
14) tx← makeTransaction(from=addr, to=4, sk=sk)
15) add txto Tx
16) end
17) return Tx
3.2.2 提取過程
提取過程如圖4所示,本文方案的單次提取算法如算法4所示。接收者監聽發送者地址發出的交易,并使用區塊鏈API獲取交易,將PSK和交易的接收地址拼接進行SHA256運算,將結果最后一位轉換為二進制,取上步結果的后兩位即可得到該筆交易所隱藏的二進制位。接收者進行發送地址推演只需要將前一筆交易的發送地址對應的公鑰與PSK進行橢圓曲線乘法運算,即可得到下一筆交易的發送地址對應的公鑰,再將公鑰轉化為地址;之后接收者重復單次提取過程,當某個地址一段時間監聽不到交易時即視為傳輸終止,接收者將所有提取到的二進制位進行拼接,然后轉碼即可還原秘密信息。算法5給出了提取過程的偽代碼。整個過程接收者知道的只有發送地址、接收地址和對應的公鑰,這屬于區塊鏈上公開的數據,所有私鑰均由發送者掌握,所以不會對發送者的資金造成威脅。

圖4 提取過程
Figure4 Extraction process
算法4 單次提取算法
輸入 PSK, addr
輸出 addr, b
1) tx ← getAddressInfo(addr) //調用API獲取交易
2) if addr==tx.input
3)← SHA256(PSK||tx.output) //取哈希
4) last ← bin(int([63:]))
5)← last[4:] //取最后兩個二進制位
6) pk← getPublicKey(addr)
7) raddr=publickeyToAddress(pk.PSK) //獲取下個發送地址
8) return(raddr,)
9) return (Null, Null) //無下一筆交易,傳輸結束
算法5 提取過程
輸入 addr1, PSK
輸出
1) init
2) raddr ← addr1
3) while raddr is not NULL //逐筆交易提取
4) raddr,← Extract(PSK, raddr)
5) addto
6) return
本文利用Python對整個方案流程進行了實現,并在比特幣測試網上完成測試,本文所使用的實驗設備包括一臺便攜式計算機,具體配置為AMD R7-4800H 2.9GHz 64位CPU、16 GB內存、1 TB硬盤、Windows11操作系統,使用的區塊鏈API為Blockcypher,表3和表4給出了一部分實驗數據。

表3 實驗數據1

表4 實驗數據2
比特幣測試網是比特幣的一條備用鏈,測試網的代幣不同于真正比特幣,它沒有任何實際價值,僅用于在測試網進行開發實驗使用,這避免了昂貴的通信成本消耗。另外測試網的計算復雜度遠低于比特幣網絡,交易可以得到更快的確認。本實驗將“yes”作為嵌入信息,它的二進制表示為“011110010110010101110011”,共有24位二進制數,需要構造12筆交易。從比特幣私鑰空間選擇預共享密鑰,然后將預共享密鑰輸入地址生成算法得到接收地址={1,2,3,4},分別對應00、01、10、11的映射,發送者私鑰s1、公鑰p1,對應的地址為addr1,派生需要的發送地址,并根據秘密信息構造到接收地址集合的交易,接收者再從addr1開始獲取交易列表提取秘密信息。
(1)嵌入過程
首先對地址生成算法進行測試,分別生成3次匹配1 bit、2 bit、4 bit信息的地址,具體實驗數據如表5所示。可以看到匹配比特數每增加2倍,所用時間約增加5倍,但在匹配比特數未超過8 bit時,所用時間不超過1 s;密鑰生成過程類似于比特幣生成公私鑰對的過程,所用時間可以忽略不計。另外就是調用區塊鏈API的響應時間,表6給出以2 bit將“yes”嵌入的耗時,可以看到單次嵌入耗時在1 s左右浮動,而生成匹配2 bit秘密信息的地址只需要0.02 s左右,整個嵌入過程主要取決于調用區塊鏈API的時間,將“yes”嵌入12筆交易的總共用時約為28.068 s。

表5 地址生成耗時

表6 2 bit秘密信息嵌入耗時
(2)提取過程
提取秘密信息需要的時間同樣取決于調用區塊鏈API的響應時間,所需要的時間與秘密信息的長度成正比,24 bit秘密信息提取總共耗時約為30.537 s。
4.2.1 抗檢測性
隱蔽通信的安全性主要指通信的抗檢測性,指的是載體信息在嵌入秘密信息前后的統計特征上呈現的一致性,使攻擊者難以檢測秘密信息。該一致性可以用相對熵來表示,設系統的相對熵為(||),表示嵌入秘密信息之后載體的概率分布,表示未嵌入秘密信息載體的概率分布。相對熵()越小,和在統計特征上所呈現的一致性就越高。相對熵公式如下:

若存在一個,使(||)≤,則該隱蔽通信系統是抗檢測的,越小,抗檢測能力越強[14]。本文方案所用載體為接收地址,嵌入前后不發生任何更改,每個字符的概率分布不發生改變,因此相對熵(||)=0,對任意,(||)≤,具有極高的抗檢測性。
對于通過圖方法對交易行為進行數據分析的攻擊者,本文方案的隱蔽通信活動完全類似于社區組織、集資等活動,具有極高的抗檢測性;另外,相比鏈方案[16]擴大容量需要鏈下協商更多的密鑰,本文方案擴大容量不需要進行鏈下協商,大大降低了暴露風險。
4.2.2 復雜度
(1)嵌入過程
地址生成算法和密鑰生成算法的時間復雜度分別為Agen、Kgen,調用publickey ToAddress和makeTransaction兩個區塊鏈API的時間復雜度分別用P2A和MTx表示,那么將bit秘密信息嵌入到比特幣區塊鏈中的時間復雜度約為(/2(Agen+Kgen+P2A+MTx)),取決于API調用所用的時間。
(2)提取過程
調用區塊鏈API getAddressInfo的時間復雜度用GA表示,GP表示從輸入獲取公鑰的getPublicKey的時間復雜度,那么單次提取算法的復雜度為(GA+GP+P2A),完成提取bit秘密信息的時間復雜度約為(/2(GA+GP+P2A)),同樣取決于API調用所用的時間。
本文對不同方案發送相同比特秘密信息的嵌入和提取用時進行了對比,如表7所示。文獻[12]所提方案的發送地址固定,只需調用一次區塊鏈API即可獲得所有交易,因此它的提取用時短,但相比于它的嵌入用時,提取過程帶來的優勢可以忽略。

表7 不同方案的嵌入和提取用時對比
4.2.3 可擴展性
本文方案演示的是兩位嵌入,即一筆交易嵌入2 bit秘密信息,用到4個接收地址。相應地可以嵌入4 bit、8 bit秘密信息或者字母等,可以獲得相應倍數效率的提高,同時使用的接收地址會增多,但本文方案不需要鏈下協商接收地址,接收者可在提取的過程中獲得接收地址集合,這避免了鏈下協商帶來的暴露風險,具有良好的擴展性。當嵌入的位數不是很多時,生成接收地址耗費的時間相對于傳輸效率的提升可以忽略,發送者與接收者雙方可以自行協商使用的嵌入位數。
本文提出一種基于正常交易掩蓋下的區塊鏈隱蔽通信方案,與常見的隱寫術不同,本文利用哈希算法構建免傳輸密碼表匹配二進制位,不對交易的格式進行任何改動,并在比特幣測試網上完成實驗仿真。實驗表明,本文方案具有極高的安全性、較高的效率和可擴展性,并可應用于各種區塊鏈系統,一臺普通便攜式計算機就可以通過本文方案進行隱蔽通信。然而本文方案存在一定的局限性,即生成匹配高比特數的地址耗時較高,之后將進一步研究高效地址生成算法,提高效率;并繼續研究在其他區塊鏈中構造合適的隱蔽信道的方法。
[1] SIMMONS G J. The prisoners’ problem and the subliminal channel[M]//Advances in Cryptology. Boston, MA: Springer, 1984: 51-67.
[2] PETITCOLAS F A P, ANDERSON R J, KUHN M G. Information hiding-a survey[J]. Proceedings of the IEEE, 1999, 87(7): 1062-1078.
[3] LAMPSON B W. A note on the confinement problem[J]. Communications of the ACM, 1973, 16(10): 613-615.
[4] 王翀, 王秀利, 呂蔭潤, 等. 隱蔽信道新型分類方法與威脅限制策略[J]. 軟件學報, 2020, 31(1): 228-245.
WANG C, WANG X L, LYU Y R, et al. Categorization of covert channels and its application in threat restriction techniques[J]. Journal of Software, 2020, 31(1): 228-245.
[5] SATTOLO T A V. Real-time detection of storage covert channels[D]. Ottawa: Carleton University, 2021.
[6] ALI O, JARADAT A, KULAKLI A, et al. A comparative study: blockchain technology utilization benefits, challenges and functionalities[J]. IEEE Access, 2021, 9: 12730-12749.
[7] SANKA A I, IRFAN M, HUANG I, et al. A survey of breakthrough in blockchain technology: Adoptions, applications, challenges and future research[J]. Computer Communications, 2021, 169: 179-201.
[8] 袁勇, 王飛躍. 區塊鏈技術發展現狀與展望[J]. 自動化學報, 2016, 42(4): 481-494.
YUAN Y, WANG F Y. Blockchain: the state of the art and future trends[J]. Acta Automatica Sinica, 2016, 42(4): 481-494.
[9] 李彥峰, 丁麗萍, 吳敬征, 等. 區塊鏈環境下的新型網絡隱蔽信道模型研究[J]. 通信學報, 2019, 40(5): 67-78.
LI Y F, DING L P, WU J Z, et al. Research on a new network covert channel model in blockchain environment[J]. Journal on Communications, 2019, 40(5): 67-78.
[10] BARTOLETTI M, POMPIANU L. An analysis of Bitcoin OP_RETURN metadata[C]//International Conference on Financial Cryptography and Data Security. 2017: 218-230.
[11] TIAN J, GOU G, LIU C, et al. DLchain: A covert channel over blockchain based on dynamic labels[C]//International Conference on Information and Communications Security. 2019: 814-830.
[12] PARTALA J. Provably secure covert communication on blockchain[J]. Cryptography, 2018, 2(3): 18.
[13] GAO F, ZHU L H, GAI K K, et al. Achieving a covert channel over an open blockchain network[J]. IEEE Network, 2020, 34(2): 6-13.
[14] 佘維, 霍麗娟, 田釗, 等. 面向純文本信息隱藏的區塊鏈隱蔽通信模型[J]. 計算機科學, 2022, 49(1): 345-352.
SHE W, HUO L J, TIAN Z, et al. Blockchain covert communication model for plain text information hiding[J]. Computer Science, 2022, 49(1): 345-352.
[15] 司成祥, 高峰, 祝烈煌, 等. 一種支持動態標簽的區塊鏈數據隱蔽傳輸機制[J]. 西安電子科技大學學報, 2020, 47(5): 94-102.
SI C X, GAO F, ZHU L H, et al. Covert data transmission mechanism based on dynamic label in blockchain[J]. Journal of Xidian University, 2020, 47(5): 94-102.
[16] CAO H, YIN H, GAO F, et al. Chain-based covert data embedding schemes in blockchain[J]. IEEE Internet of Things Journal, 2020, PP(99):1-1.
[17] NAKAMOTO S. Bitcoin: A peer-to-peer electronic cash system[R]. 2008.
[18] 張濤, 伍前紅, 唐宗勛. 基于比特幣區塊鏈的隱蔽信息傳輸研究[J].網絡與信息安全學報, 2021, 7(1): 84-92.
ZHANG T, WU Q H, TANG Z X. Bitcoin blockchain based information convert transmission[J]. Chinese Journal of Network and Information Security, 2021, 7(1): 84-92.
Blockchain covert communication scheme based on the cover of normal transactions
JIANG Pengkun1, ZHANG Wenyin1, WANG Jiuru1, HUANG Shanyun1,2, SONG Wanshui1,2
1. School of Information Science and Engineering, Linyi University, Linyi 276000, China 2. School of Information Science and Engineering, Shandong Normal University, Jinan 250358, China
With the development of computer technology, the situation of modern network attack and defense is becoming increasingly severe, and the problem of secure transmission of secret information needs to be solved urgently. Covert communication technology embeds secret information into the carrier and transmits the information safely through the covert channel. However, the traditional covert channels face the challenges of data damaging, attack, detection and so on, which cannot meet the higher security requirements. As a public data platform, blockchain can embed secret information under the cover of a large number of transactions. With its tamper proof, anonymity, decentralization and other characteristics, blockchain can well solve the problems of traditional covert channels and achieve secure covert communication. However, the existing blockchain covert communication schemes are limited by low communication efficiency and poor security. How to improve safety and efficiency of covert communication is a research focus of blockchain covert communication. Motivated by this issue, a blockchain covert communication scheme based on the cover of normal transactions was proposed. The hash algorithm was used to build a transmission-free password table to embed secret information without changing any transaction data. Using the elliptic curve feature, transactions with hidden information can be quickly screened out from a large number of transactions, to extract secret information quickly. This scheme improves the security and efficiency of covert communication and has strong portability. Theoretical analysis shows that attackers cannot distinguish between ordinary transactions and special transactions. This scheme has high anti-detection and scalability. Besides, the experimental results of the bitcoin test network show the high efficiency of this scheme.
blockchain, covert communication, information hiding, bitcoin, hash algorithm
The Natural Science Foundation of Shandong Province (ZR2020MF058, ZR2020MF029)
姜鵬坤, 張問銀, 王九如, 等. 基于正常交易掩蓋下的區塊鏈隱蔽通信方案[J]. 網絡與信息安全學報, 2022, 8(4): 77-86.
TP393
A
10.11959/j.issn.2096?109x.2022043

姜鵬坤(1997? ),男,山東煙臺人,臨沂大學碩士生,主要研究方向為區塊鏈技術、信息隱藏。
張問銀(1972? ),男,山東臨沂人,博士,臨沂大學教授、博士生導師,主要研究方向為區塊鏈技術、信息隱藏、圖像處理。

王九如(1983? ),男,山東臨沂人,博士,臨沂大學副教授,主要研究方向為區塊鏈技術、物聯網安全。
黃善云(1997? ),男,山東濟寧人,山東師范大學碩士生,主要研究方向為區塊鏈技術、隱蔽通信。

宋萬水(1997? ),男,山東濟南人,山東師范大學碩士生,主要研究方向為區塊鏈技術、數據分析。
2022?05?27;
2022?07?07
張問銀,zhangwenyin@lyu.edu.cn
山東省自然科學基金(ZR2020MF058,ZR2020MF029)
JIANG P K, ZHANG W Y, WANG J R, et al. Blockchain covert communication scheme based on the cover of normal transactions[J]. Chinese Journal of Network and Information Security, 2022, 8(4): 77-86.