国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

面向聯(lián)盟鏈的RFID流通高效保護(hù)模型

2022-08-10 08:12
關(guān)鍵詞:閱讀器證書標(biāo)簽

印 聰 楊 璐 吳 斌

(蘇州大學(xué) 江蘇 蘇州 215006)

0 引 言

射頻識別(Radio Frequency Identification,RFID)技術(shù)作為物聯(lián)網(wǎng)發(fā)展的關(guān)鍵技術(shù),在沒有物理接觸的情況下,通過無線電信號實(shí)現(xiàn)對目標(biāo)數(shù)據(jù)的讀取。RFID技術(shù)的廣泛使用,是促進(jìn)物聯(lián)網(wǎng)技術(shù)發(fā)展的重要推動器。然而,RFID技術(shù)凸顯的安全隱患越來越嚴(yán)重,尤其是非法閱讀器可以任意地對標(biāo)簽進(jìn)行數(shù)據(jù)讀取,導(dǎo)致用戶的隱私泄露和企業(yè)的數(shù)據(jù)安全問題。由于RFID行業(yè)內(nèi)對于標(biāo)簽成本低的要求,標(biāo)簽的計(jì)算存儲能力無法滿足復(fù)雜的標(biāo)簽認(rèn)證邏輯。因此,文獻(xiàn)[2-10]針對RFID不同應(yīng)用場景設(shè)計(jì)了標(biāo)簽隱私安全解決方案。周世杰等[1]對RFID的保護(hù)技術(shù)做了歸納,將其分為以下三類:

(1) 基于改變標(biāo)簽與具體目標(biāo)關(guān)聯(lián)的方法。文獻(xiàn)[2]使用kill標(biāo)簽來改變標(biāo)簽和具體目標(biāo)關(guān)聯(lián)。文獻(xiàn)[3]提出在標(biāo)簽上設(shè)置物理開關(guān),以物理接觸方式實(shí)現(xiàn)睡眠與喚醒。該方法如若攻擊者獲得了標(biāo)簽,就失去了保護(hù)功能,同時物理開關(guān)也會增加標(biāo)簽設(shè)計(jì)難度和制造成本。此類物理方法較多應(yīng)用于與消費(fèi)者個人隱私相關(guān)的服裝制造業(yè),但通常在有效性較好的同時受制于標(biāo)簽的高成本設(shè)計(jì)缺陷。

(2) 基于改變輸出唯一性的方法。由于標(biāo)簽總是向閱讀器返回固定的標(biāo)識符信息(如96位的EPC編碼),學(xué)者們提出采用標(biāo)簽重命名及密碼學(xué)認(rèn)證的方法來從根源上解決RFID隱私難題。首先,文獻(xiàn)[4]基于兩項(xiàng)攻擊假設(shè)提出最小密碼技術(shù),通過窮舉搜索完成標(biāo)簽對閱讀器的認(rèn)證。但是受制于標(biāo)簽存儲容量,以及該方法可能會受到中間人攻擊和重放攻擊,復(fù)雜的協(xié)議在工業(yè)界也很難實(shí)現(xiàn)。隨后,文獻(xiàn)[5-8]根據(jù)前人密碼學(xué)研究方法的啟發(fā),紛紛提出基于加密、重加密、隨機(jī)Hash Lock的標(biāo)簽解決方案?;诿艽a學(xué)認(rèn)證的方法是目前學(xué)術(shù)界解決RFID隱私的熱點(diǎn),其在適用范圍和有效性方面均有突出的表現(xiàn)。

(3) 基于隱藏標(biāo)簽的方法。數(shù)據(jù)處理能力受限、無線數(shù)據(jù)讀取及RFID返回標(biāo)識符的唯一性,造成了標(biāo)簽隱私難題的必然性。從隱藏標(biāo)簽的角度出發(fā),文獻(xiàn)[9]提出的阻塞器的思想是通過技術(shù)手段,妨礙閱讀器對標(biāo)簽的訪問,以造成通信信道的軟阻塞和主動干擾。該方法結(jié)合二叉樹算法來進(jìn)行,在無線信號較強(qiáng)的場景下有很好的應(yīng)用。另外,文獻(xiàn)[10]訪問控制功能實(shí)現(xiàn)的RFID Guardian平臺對隱藏標(biāo)簽的設(shè)計(jì)也有突出的貢獻(xiàn)。

上述研究大多從三大角度探討和解決RFID中用戶個人偏好信息的隱私威脅。RFID隱私保護(hù)涉及面很廣,問題很多,呈現(xiàn)一種與應(yīng)用高度相關(guān)、資源約束嚴(yán)峻等獨(dú)有的特征。拋開RFID的應(yīng)用場景去談RFID標(biāo)簽的安全問題,不僅不能解決安全隱患,而且毫無意義。隨著RFID應(yīng)用的推廣,在物流、商品銷售、供應(yīng)鏈管理等領(lǐng)域都會涉及RFID隱私問題[1]。因此,選取特定應(yīng)用場景來探討標(biāo)簽隱私問題是很有必要的。本文專注于RFID應(yīng)用系統(tǒng)中的物流領(lǐng)域。

在傳統(tǒng)的RFID“標(biāo)簽-閱讀器-后端系統(tǒng)”形式的物流系統(tǒng)中,采用RFID等物聯(lián)網(wǎng)采集設(shè)備將流通產(chǎn)品的初始數(shù)據(jù)從供應(yīng)鏈源頭采集至物流系統(tǒng)中。這種模式?jīng)]有考慮惡意閱讀器對標(biāo)簽數(shù)據(jù)的非法記錄問題,如果惡意閱讀器在沒有審查機(jī)制的情況下對數(shù)據(jù)進(jìn)行非法記錄,就會導(dǎo)致供應(yīng)鏈源頭數(shù)據(jù)的造假,同時在供應(yīng)鏈的流通過程中也會泄露了企業(yè)對于產(chǎn)品部分敏感流通數(shù)據(jù)的隱私。例如在產(chǎn)品運(yùn)輸環(huán)節(jié)中,惡意閱讀器可能將錯誤的位置信息提供給貨物調(diào)度中心的數(shù)據(jù)庫;零售環(huán)節(jié)中,未經(jīng)認(rèn)證的惡意閱讀器會惡意篡改產(chǎn)品的庫存等信息。因此,惡意閱讀器對于物流信息的非法記錄會導(dǎo)致整個供應(yīng)鏈產(chǎn)生嚴(yán)重的安全隱患。本文研究的側(cè)重點(diǎn)并非標(biāo)簽產(chǎn)品的物流溯源,而是在于保證物流源頭數(shù)據(jù)的真實(shí)可靠,使得標(biāo)簽產(chǎn)品數(shù)據(jù)免受非法閱讀器的惡意訪問。因此,本文涉及的物流部門中將不會涉及監(jiān)管部門和消費(fèi)者,僅涉及供應(yīng)商、生產(chǎn)商等源信息錄入部門以及配送商、零售商等流通部門。

本文基于聯(lián)盟區(qū)塊鏈技術(shù),結(jié)合具體的RFID物流場景,設(shè)計(jì)了面向聯(lián)盟鏈的RFID標(biāo)簽高效保護(hù)模型(TDBPC模型)。依托于聯(lián)盟鏈的Fabric-CA數(shù)字證書技術(shù),將閱讀器是否合法映射成聯(lián)盟鏈中的客戶端是否持有訪問區(qū)塊鏈網(wǎng)絡(luò)的CA證書,只有持有部門中的CA機(jī)構(gòu)頒發(fā)的證書,閱讀器客戶端才有權(quán)限將標(biāo)簽的流通信息寫入?yún)^(qū)塊鏈中。主要創(chuàng)新點(diǎn)包括以下三個方面:(1) 針對RFID產(chǎn)品流通領(lǐng)域,基于聯(lián)盟區(qū)塊鏈Fabric技術(shù)提出TDBPC模型。應(yīng)用Fabric的CA證書,防止?jié)撛趷阂忾喿x器對區(qū)塊鏈網(wǎng)絡(luò)中的產(chǎn)品流通數(shù)據(jù)的非法寫入。(2) 創(chuàng)建了TDBPC模型中標(biāo)簽信息初始錄入、合法閱讀器信息更新等智能合約,健壯了聯(lián)盟鏈系統(tǒng)。(3) 在防范了惡意閱讀器攻擊的基礎(chǔ)上,TDBPC模型具有通信和計(jì)算上的高效性。

1 相關(guān)背景

1.1 RFID隱私安全

所謂的RFID標(biāo)簽安全問題,是指由于用戶因攜帶有不安全的RFID標(biāo)簽導(dǎo)致個人或組織的秘密或敏感信息泄露[11]。RFID系統(tǒng)由標(biāo)簽、閱讀器和后端系統(tǒng)組成,如圖1所示。通常情況下,在不設(shè)計(jì)較好的隱私保護(hù)協(xié)議的情況下,容易出現(xiàn)跟蹤攻擊和羅列攻擊。本文基于物流領(lǐng)域,將傳統(tǒng)的后端系統(tǒng)改造為聯(lián)盟區(qū)塊鏈網(wǎng)絡(luò),基于聯(lián)盟鏈的嚴(yán)格準(zhǔn)入機(jī)制(CA證書機(jī)制),實(shí)現(xiàn)產(chǎn)品的安全高效流通。

圖1 RFID標(biāo)簽隱患示意圖

1.2 基于區(qū)塊鏈的物流系統(tǒng)設(shè)計(jì)

區(qū)塊鏈具有去中心化、時序數(shù)據(jù)、集體維護(hù)、可編程和安全可信等特點(diǎn)[12]。由于區(qū)塊鏈網(wǎng)絡(luò)中所有節(jié)點(diǎn)共同維護(hù)不可篡改的賬本,特別適用于具有動態(tài)性的海量設(shè)備的物聯(lián)網(wǎng)環(huán)境中。區(qū)塊鏈早期在互不信任的參與者之間維護(hù)一套不可篡改的分布式記賬系統(tǒng),隨著研究者對區(qū)塊鏈的深入探索,大機(jī)構(gòu)在以太坊和hyperledger聯(lián)盟鏈平臺做了較多的業(yè)務(wù)嘗試。以太坊大多采用PoW、PoS等基于證明的共識算法來實(shí)現(xiàn)公鏈和私鏈的排序服務(wù),而Hyperledger針對聯(lián)盟組織業(yè)務(wù)的共識容錯和效率要求,大多采用Kafka、Raft和類Pbft的共識。同時,Hyperledger因其通道的設(shè)計(jì),將組織間的業(yè)務(wù)隔離開來,提供了更細(xì)粒度的隱私保護(hù)機(jī)制。表1分別從幾個維度比較了兩個平臺的區(qū)別。

表1 eth和fabric平臺比較表

目前,聯(lián)盟企業(yè)進(jìn)行信息上鏈一方面有較快交易速度和較低交易成本的要求,另一方面物流領(lǐng)域也需要相關(guān)部門的監(jiān)管。因此,以較被認(rèn)可的Hyperledger Fabric項(xiàng)目為代表的這類聯(lián)盟鏈很適用于物流領(lǐng)域,文獻(xiàn)[13]將區(qū)塊鏈技術(shù)應(yīng)用于供應(yīng)鏈領(lǐng)域,研究了如何增強(qiáng)供應(yīng)鏈的彈性,并探討了結(jié)合區(qū)塊鏈的供應(yīng)鏈應(yīng)用的各類風(fēng)險(xiǎn)和具體應(yīng)用場景。諸如國內(nèi)螞蟻區(qū)塊鏈、趣鏈科技、華為區(qū)塊鏈等較大的區(qū)塊鏈平臺也基于Hyperledger Fabric進(jìn)行試驗(yàn)和改進(jìn)。

將應(yīng)用聯(lián)盟鏈于物流系統(tǒng)中,通常各參與方會使用終端采集設(shè)備如RFID將產(chǎn)品初始信息錄入到區(qū)塊鏈系統(tǒng)中,但是現(xiàn)有研究中對初始信息錄入的數(shù)據(jù)安全性討論較少。文獻(xiàn)[14]提出雙層架構(gòu)的溯源許可鏈共識機(jī)制,在不同層上使用不同的共識機(jī)制,以此提高溯源系統(tǒng)的效率。但是并沒有考慮RFID非法閱讀器在數(shù)據(jù)采集過程中對數(shù)據(jù)造假的可能性。文獻(xiàn)[15]提出的雙鏈溯源系統(tǒng)雖然在保證物流系統(tǒng)的高性能的同時,私鏈的建立使得惡意節(jié)點(diǎn)出現(xiàn)的可能大大減少,但是在供應(yīng)商、經(jīng)銷商等信息采集部門對惡意RFID隱患的討論較少。隨后,文獻(xiàn)[16]指出,物流追溯體系設(shè)計(jì)的產(chǎn)品種類多、產(chǎn)品鏈長,單純的聯(lián)盟鏈架構(gòu)在流程和理論處仍有一定的局限。本文單獨(dú)解決供應(yīng)商、生產(chǎn)商、配送商、零售商等用戶層使用RFID等采集設(shè)備錄入信息的安全隱患,應(yīng)用Fabric的CA機(jī)制存在高準(zhǔn)入機(jī)制的優(yōu)勢,不僅可以實(shí)現(xiàn)供應(yīng)鏈上企業(yè)的高效業(yè)務(wù)協(xié)同,還可以解決閱讀器的惡意讀取難題。

本文系統(tǒng)基于Fabric聯(lián)盟鏈進(jìn)行開發(fā),以去中心化的方式實(shí)現(xiàn)鏈上信息可追溯。以CA證書頒發(fā)的形式隔離非法閱讀器客戶端對數(shù)據(jù)的非法讀取,不僅為企業(yè)節(jié)約成本,而且保護(hù)了企業(yè)的隱私。

2 TDBPC模型設(shè)計(jì)

本文針對具體RFID產(chǎn)品流通領(lǐng)域,結(jié)合Fabric聯(lián)盟鏈及chaincode智能合約對傳統(tǒng)RFID后端數(shù)據(jù)庫進(jìn)行改進(jìn),旨在保護(hù)聯(lián)盟企業(yè)對于敏感流通數(shù)據(jù)的保護(hù)。

為了更好地介紹本文提出的TDBPC模型的細(xì)節(jié),需要對模型提前建立以下假設(shè):

(1) 每一個標(biāo)簽和閱讀器都有由區(qū)塊鏈網(wǎng)絡(luò)生成的唯一id,分別為tAdd和rAdd。閱讀器憑rAdd通過客戶端錄入或更新標(biāo)簽數(shù)據(jù),只有持有該組織CA證書的rAdd才有權(quán)限操作區(qū)塊鏈數(shù)據(jù)。

(2) 假定閱讀器和標(biāo)簽之間的信道不是安全的,而閱讀器和后端系統(tǒng)(區(qū)塊鏈網(wǎng)絡(luò))的信道是安全的。

2.1 基于區(qū)塊鏈的物流系統(tǒng)設(shè)計(jì)

本模型中涉及的通信符號及含義如表2所示。

表2 符號說明表

1) fabric為RFID物流系統(tǒng)中的任意一個標(biāo)簽和閱讀器提供唯一的標(biāo)簽id和閱讀器id,同時為節(jié)點(diǎn)中的標(biāo)簽和閱讀器用戶進(jìn)行編號,Ti∈tAdd,Ri∈tAdd。

2) TDBPC聯(lián)盟鏈系統(tǒng)中涉及四個部門,分別為供應(yīng)鏈中的生產(chǎn)商、批發(fā)商、配送商和零售商。本文將每個部門作為區(qū)塊鏈網(wǎng)絡(luò)中的1個組織,各個組織根據(jù)業(yè)務(wù)需要頒發(fā)給合法的閱讀器用戶CA證書。各個組織記為D={D1,D2,D3,D4},Di∈D。

3) 哈希值h,以及交易的時間戳t,均通過數(shù)字簽名的方式用來驗(yàn)證閱讀器和交易的合法性。

2.2 模型設(shè)計(jì)

面向聯(lián)盟鏈的RFID標(biāo)簽高效保護(hù)模型的網(wǎng)絡(luò)拓?fù)淙鐖D2所示。

圖2 TDBPC模型的網(wǎng)絡(luò)拓?fù)鋱D

其中,供應(yīng)商和生產(chǎn)商等企業(yè)作為供應(yīng)鏈的源頭,負(fù)責(zé)收集攜帶有標(biāo)簽的產(chǎn)品信息,產(chǎn)生原始數(shù)據(jù),通過調(diào)用智能合約交易向聯(lián)盟鏈其他節(jié)點(diǎn)進(jìn)行廣播交易。自供應(yīng)商和生產(chǎn)商錄入標(biāo)簽信息完成后,攜有標(biāo)簽的產(chǎn)品進(jìn)入物流的流通環(huán)節(jié)。

為了區(qū)分訪問鏈上標(biāo)簽產(chǎn)品數(shù)據(jù)的閱讀器是否合法,本文引入了Fabric中的CA認(rèn)證機(jī)制,CA認(rèn)證機(jī)制模塊在Fabric中主要負(fù)責(zé)身份管理[17],完成數(shù)字證書驗(yàn)證、簽名與驗(yàn)證、私鑰管理等功能。將閱讀器是否有權(quán)限訪問抽象成是否持有各部門中CA證書。只有通過該部門注冊得到CA證書,并且驗(yàn)證數(shù)字證書校驗(yàn)通過,閱讀器客戶端才能有權(quán)限對peer節(jié)點(diǎn)發(fā)起txs交易查詢,peer節(jié)點(diǎn)安裝并調(diào)用chaincode合約發(fā)起對賬本中的標(biāo)簽數(shù)據(jù)的查詢以及更新并返回給閱讀器賬戶。基于fabric-CA的準(zhǔn)入機(jī)制的設(shè)計(jì),非法閱讀器用戶將無權(quán)訪問標(biāo)簽產(chǎn)品流通信息。

2.2.1 CA證書頒發(fā)

攜帶有標(biāo)簽的產(chǎn)品在供應(yīng)商和生產(chǎn)商將標(biāo)簽產(chǎn)品初始信息tag_info錄入完成之后,即這批產(chǎn)品已經(jīng)面向供應(yīng)鏈開始流通,各個部門根據(jù)自己業(yè)務(wù)的需要,在各組織中為合法的閱讀器用戶頒發(fā)CA證書。例如,生產(chǎn)商有用閱讀器讀取標(biāo)簽完成流水線生產(chǎn)工序的需要,因此生產(chǎn)商會為一批閱讀器用戶頒發(fā)證書,表示為reader_valid=[R1,R2,R3,…]。其余部門如供應(yīng)商、配送商和零售商也都有自己的需要,每一個部門根據(jù)各自組織的root-CA頒發(fā)合法的訪問證書。

在我們的設(shè)計(jì)中,使用Fabric提供的BCCSP加密服務(wù)完成CA工作,證書的頒發(fā)過程和驗(yàn)證數(shù)字簽名的過程如圖3所示。

圖3 證書頒發(fā)與驗(yàn)證簽名步驟

TDBPC模型中,CA證書頒發(fā)是各組織頒發(fā)給合法的客戶端的,也就是頒發(fā)給閱讀器賬戶。大致步驟描述如下:

步驟1閱讀器Ri將明文F發(fā)給某一組織的CA機(jī)構(gòu)CAi,CAi對證書明文F做h()哈希運(yùn)算得到數(shù)字摘要h1=SHA256(F)。

步驟2CAi用自己的私鑰SCAi用RSA算法將h1加密,得到密文F′=RSA1024(h1)。此時CA結(jié)構(gòu)和閱讀器用戶之間有了一整套完整的數(shù)字證書Cer=,頒發(fā)給合法的閱讀器用戶Ri。

步驟3驗(yàn)證閱讀器客戶端持有的數(shù)字證書是否合法,用CAi的公鑰解密密文得到h2=RSA1024(F′),再用證書明文F計(jì)算一次SHA256得到密文h1=SHA256(F)。

步驟4計(jì)算得出的h1和h2的值進(jìn)行對比,如果有h1==h2,則證書校驗(yàn)通過,說明該閱讀器客戶端持有的是CAi頒發(fā)的證書。

以閱讀器用戶判斷是否持有該組織頒發(fā)的證書,來決定閱讀器客戶端是否擁有向peer節(jié)點(diǎn)發(fā)起交易提案并獲得賬本中的敏感流通數(shù)據(jù)的權(quán)限。從而從準(zhǔn)入機(jī)制的角度杜絕了惡意閱讀器的隱私攻擊,奠定了面向RFID流通中的聯(lián)盟鏈高效運(yùn)作的基礎(chǔ)。

2.2.2合約設(shè)計(jì)

面向RFID流通的聯(lián)盟鏈高效保護(hù)模型共有四類參與者。針對每一類參與者職責(zé)的不同,設(shè)計(jì)了不同功能的智能合約,提供給peer節(jié)點(diǎn)安裝和執(zhí)行。各部門職責(zé)示意圖如圖4所示。

圖4 各部門合約職責(zé)示意圖

聯(lián)盟鏈的智能合約主要包括以下三個功能。

1) 供應(yīng)及生產(chǎn)信息錄入。供應(yīng)企業(yè)和生產(chǎn)企業(yè)作為供應(yīng)鏈的源頭企業(yè),負(fù)責(zé)使用物聯(lián)網(wǎng)采集設(shè)備如RFID對標(biāo)簽產(chǎn)品的初始信息進(jìn)行錄入。供應(yīng)企業(yè)負(fù)責(zé)產(chǎn)品的原材料名信息、原材料工廠信息、原材料細(xì)節(jié)等信息的初始采集。生產(chǎn)部門在得到供應(yīng)企業(yè)的原材料后,生產(chǎn)產(chǎn)品在流水線上由工人進(jìn)行產(chǎn)品的組裝或生產(chǎn)。在生產(chǎn)過程中使用RFID對產(chǎn)品進(jìn)行掃描可以防止工序的紊亂,保證產(chǎn)品的計(jì)劃生產(chǎn)。

當(dāng)供應(yīng)和生產(chǎn)部門的讀寫器對產(chǎn)品掃描完成后,根據(jù)是否持有CA證書來決定讀寫器用戶是否具有將數(shù)據(jù)上鏈的權(quán)限。供應(yīng)信息批次錄入建模為,生產(chǎn)錄入信息建模為。供應(yīng)信息寫入偽代碼如算法1所示,生產(chǎn)信息寫入與之類似。

算法1InitTag()算法

輸入:原材料名rawName,原材料工廠rawFactory,原材料加工信息rawInfo,寫入數(shù)據(jù)的閱讀器地址Ri。

輸出:供應(yīng)信息輸入成功或失敗。

1. List[] SupReader;

//供應(yīng)部門頒發(fā)的合法CA的閱讀器集合

2. Procedure InitTag()

3. if rawName==null‖Ri?SupReader then

4. return FALSE;

5. end if

6. raw.name=rawName;

7. raw.fac=rawFactory;

8. raw.rawInfo=rawInfo;

9. raw.reader=Ri;

10. return TRUE

11. end Procedure

2) 產(chǎn)品配送。配送商可以通過RFID閱讀器讀取區(qū)塊鏈中的標(biāo)簽數(shù)據(jù)內(nèi)容,并將內(nèi)容和配送信息進(jìn)行核對。同時,配送中將RFID標(biāo)簽更新為最新的產(chǎn)品存放地點(diǎn)和在庫狀態(tài)。同樣地,記錄上鏈之前需要檢查閱讀器的合法性。偽代碼如算法2所示。

算法2UpdateTagLoc ()算法

輸入:配送地址deliveryLoc,配送信息deliveryInfo,在庫狀態(tài)stateTag,寫入數(shù)據(jù)的閱讀器地址Ri。

輸出:供應(yīng)信息輸入成功或失敗。

1. List[] delReader;

//配送部門頒發(fā)的合法CA的閱讀器集合

2. stateTag=0;//初始默認(rèn)不在庫

3. Procedure UpdateTagLoc ()

4. if deliveryLoc==null‖Ri?delReader then

5. return FALSE;

6. end if

7. del.loc=deliveryLoc;

8. stateTag=1;

//配送到指定地點(diǎn),在庫

9. del.devInfo=deliveryInfo;

10. del.reader=Ri;

11. return TRUE

12. end Procedure

3) 產(chǎn)品零售。RFID可以改進(jìn)零售商的庫存管理,實(shí)現(xiàn)實(shí)時補(bǔ)貨,有效跟蹤運(yùn)輸和庫存。一旦惡意的閱讀器在零售環(huán)節(jié)惡意記錄庫存狀態(tài)并記錄上鏈,會侵犯零售企業(yè)的庫存隱私。因此,同樣需要零售企業(yè)的CA機(jī)構(gòu)的準(zhǔn)入,閱讀器賬戶才能在sellInfo等字段中添加庫存視頻、零售環(huán)境等大文件的URL,并調(diào)用retailTag()合約對賬本實(shí)現(xiàn)修改。

TDBPC模型中,每一個部門通過閱讀器客戶端調(diào)用所負(fù)責(zé)的智能合約,實(shí)際上是更新區(qū)塊鏈底層狀態(tài)數(shù)據(jù)庫的最新賬本狀態(tài)。賬本由狀態(tài)數(shù)據(jù)庫和區(qū)塊鏈兩部分組成[18]。區(qū)塊鏈由orderer記賬節(jié)點(diǎn)負(fù)責(zé),維護(hù)區(qū)塊鏈網(wǎng)絡(luò)中不可篡改的分布式賬本;狀態(tài)數(shù)據(jù)庫是指由全局交易導(dǎo)出的最新狀態(tài),本文采用key-value數(shù)據(jù)庫提高檢索性能。狀態(tài)數(shù)據(jù)庫的key值統(tǒng)一是標(biāo)簽的地址tAdd,value值根據(jù)各部門的職責(zé)差異定義為不同的字段,但每次合法閱讀器客戶端操作完?duì)顟B(tài)數(shù)據(jù)庫后都需要添加自身地址的Ri字段來證明操作的合法性。賬本數(shù)據(jù)示意圖如表3所示。

表3 賬本數(shù)據(jù)key-value鍵值對

2.2.3共識機(jī)制

在各部門通過合法的閱讀器將標(biāo)簽產(chǎn)品物流信息上傳到聯(lián)盟鏈網(wǎng)絡(luò)后,因?yàn)楦鞑块T嚴(yán)格按照CA證書的頒發(fā)來發(fā)放合法閱讀器用戶寫入信息的權(quán)力,所以可以保證鏈上流通信息的真實(shí)性和有效性。

在各節(jié)點(diǎn)上傳信息完成之后,一輪交易結(jié)束,我們選擇合適的共識算法對交易進(jìn)行排序并打包分發(fā)。實(shí)用拜占庭容錯(Practical Byzantine Fault Tolerance,PBFT)[19]共識機(jī)制由Miguel Castro和 Barbara Liskov于1999年提出,PBFT算法流程如圖5所示。

圖5 PBFT算法通信流程

可以看出,PBFT算法的“三階段三廣播”算法隨著共識節(jié)點(diǎn)的增加,通信開銷的壓力將會非常明顯。而kafka共識一直沒有很好地解決去中心化的問題。因此,為了折中通信效率與惡意節(jié)點(diǎn)容錯的需求,本文使用Raft一致性算法作為驗(yàn)證打包交易的共識算法。

Raft算法協(xié)議中,一個節(jié)點(diǎn)任一時刻都處于leader、follower、candidate三個狀態(tài)之中。簡單示意圖如圖6所示,每個節(jié)點(diǎn)都處于三個狀態(tài)的轉(zhuǎn)換之中,基于復(fù)制狀態(tài)機(jī)[20]的實(shí)現(xiàn),通常在不考慮節(jié)點(diǎn)容錯的情況下有較好的通信效率。

圖6 Raft三狀態(tài)狀態(tài)機(jī)簡單示意圖

Fabric1.4版本中已經(jīng)提供了Raft共識的排序服務(wù)。本文在Fabric中配置好raft-etcd模塊,在物流系統(tǒng)中每個部門里貢獻(xiàn)一個排序節(jié)點(diǎn),共同組成交易排序服務(wù),更好地體現(xiàn)了區(qū)塊鏈網(wǎng)絡(luò)的去中心化。

3 安全性分析

本文針對物流領(lǐng)域易出現(xiàn)的RFID安全問題,著重探討了物流聯(lián)盟鏈中初始數(shù)據(jù)采集的安全隱患。本節(jié)的安全隱患從兩大角度、三個方面對面向聯(lián)盟鏈的RFID流通高效保護(hù)模型進(jìn)行安全性分析。跟蹤攻擊和羅列攻擊是對RFID安全性而言的,而不可篡改性是從區(qū)塊鏈安全交易的角度出發(fā)的。

3.1 跟蹤攻擊

跟蹤攻擊的發(fā)生很大程度上是因?yàn)镽FID標(biāo)簽每次響應(yīng)RFID讀寫器的請求時,都返回相同的序列號。即使?jié)撛诘姆欠ㄩ喿x器讀取了標(biāo)簽tAdd的序列號信息,由于無法破解CA機(jī)構(gòu)的密鑰,攻擊者獲取不到任何有用的產(chǎn)品流通信息。因此,設(shè)計(jì)的方案可以抵抗跟蹤攻擊。

3.2 重放攻擊

假設(shè)攻擊者企圖通過監(jiān)聽一個完整的CA通信后,發(fā)動重放攻擊。由于證書中是加密后傳輸?shù)?,并發(fā)明文。同時假如攻擊者通過利用其余合法閱讀器的一次CA過期交易來發(fā)動重放攻擊,也可以通過區(qū)塊鏈交易獨(dú)一無二的時間戳,來有效抵御重放攻擊。

3.3 不可篡改性

4 TDBPC性能分析

4.1 實(shí)驗(yàn)設(shè)置

本文基于Fabric平臺進(jìn)行聯(lián)盟鏈性能仿真實(shí)驗(yàn)。實(shí)驗(yàn)基于OpenSSL工具測算了CA證書頒發(fā)的Hash算法的時間開銷,并采用Hyperledger-fabric v1.4.0版本的開源框架,對系統(tǒng)的性能進(jìn)行評測。

4.1.1實(shí)驗(yàn)步驟

本文在供應(yīng)商組織的一個peer節(jié)點(diǎn)上創(chuàng)建并配置好Raft模塊。然后,完善配置文件并在四個peer節(jié)點(diǎn)中安裝設(shè)計(jì)好的智能合約鏈碼,啟動區(qū)塊鏈網(wǎng)絡(luò)。cli客戶端向區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點(diǎn)提起交易請求,在固定時間內(nèi)連續(xù)對各cli容器發(fā)送交易,背書節(jié)點(diǎn)依據(jù)數(shù)字簽名驗(yàn)證客戶端的合法性后,執(zhí)行智能合約交易,并由orderer節(jié)點(diǎn)排序打包分發(fā)給各peer節(jié)點(diǎn)。

本文采用每秒交易數(shù)量(Transacitons Per Second,TPS)來測算TDBPC模型的吞吐量:

(1)

式中:Δt為交易從發(fā)出到確認(rèn)的時間間隔,也就是出塊時間;sumTransactionsΔt為Δt內(nèi)區(qū)塊中的交易總數(shù)。為了更好地探究peer節(jié)點(diǎn)數(shù)目n和出塊時間Δt對TPS的影響,本文控制變量設(shè)計(jì)了如下兩組實(shí)驗(yàn):

(1) 控制peer節(jié)點(diǎn)數(shù)目固定為4個。選取時間間隔(出塊時間)分別為10 s、20 s、40 s、80 s、150 s,每個時間間隔做3次實(shí)驗(yàn),并取各次實(shí)驗(yàn)的TPS平均值,探究TPS與出塊時間的關(guān)系。

(2) 控制出塊時間Δt固定為40 s。分別選取網(wǎng)絡(luò)中2、4、8、12、16個peer節(jié)點(diǎn)作為模擬交易節(jié)點(diǎn),同樣每次做3次實(shí)驗(yàn),并取各次實(shí)驗(yàn)的TPS平均值,探究TPS與參與交易的peer節(jié)點(diǎn)數(shù)目的關(guān)系。

4.1.2實(shí)驗(yàn)環(huán)境

區(qū)塊鏈網(wǎng)絡(luò)中配置Raft共識節(jié)點(diǎn)為區(qū)塊鏈網(wǎng)絡(luò)提供賬本分發(fā)和出塊服務(wù)。因Raft數(shù)據(jù)同步節(jié)點(diǎn)必須為奇數(shù)的要求[20],我們在實(shí)驗(yàn)中配置5個orderer節(jié)點(diǎn)。

實(shí)驗(yàn)在配置為i5-E52620 2.10 GHz處理器、32 GB內(nèi)存的Linux系統(tǒng)下,搭建若干臺虛擬機(jī)進(jìn)行聯(lián)盟鏈模擬交易的仿真實(shí)驗(yàn)。各節(jié)點(diǎn)均安裝Golang1.11和Docker18.09開發(fā)工具。當(dāng)網(wǎng)絡(luò)中有4個peer節(jié)點(diǎn)參與交易時,配置情況如表4所示。當(dāng)進(jìn)行4.1.1中第二組實(shí)驗(yàn)時,添加和刪除區(qū)塊鏈網(wǎng)絡(luò)中的peer交易節(jié)點(diǎn),其配置信息類似,不再贅述。

表4 節(jié)點(diǎn)配置信息

4.2 實(shí)驗(yàn)結(jié)果與分析

4.2.1 CA證書頒發(fā)時間開銷

聯(lián)盟鏈各部門節(jié)點(diǎn)首先為合法閱讀器用戶頒發(fā)CA準(zhǔn)入證書。我們在10.10.64.203的對應(yīng)供應(yīng)商組織的節(jié)點(diǎn)上使用OpenSSL工具測算了CA證書頒發(fā)的Hash算法的時間開銷,該開銷如表5所示。

表5 Hash算法的時間開銷

4.2.2 TPS性能分析

實(shí)驗(yàn)中,我們將100條模擬的物流數(shù)據(jù)分成四組,分別對應(yīng)供應(yīng)信息、生產(chǎn)信息、配送信息、零售信息,一段時間內(nèi)重復(fù)不斷發(fā)送交易數(shù)據(jù),用戶端在各自的peer節(jié)點(diǎn)上填入合約參數(shù)執(zhí)行交易,并依據(jù)Raft共識由orderer節(jié)點(diǎn)確認(rèn)出塊。

(1) TPS與出塊時間的關(guān)系。本文使每個組織貢獻(xiàn)一個peer節(jié)點(diǎn),采用4個peer節(jié)點(diǎn)固定不變,在10 s、20 s、40 s、80 s、150 s五個不同的時間間隔下,每個時間間隔測試3次,最后取3次實(shí)驗(yàn)的TPS平均值。結(jié)果如表6所示。

表6 不同時間間隔交易確認(rèn)數(shù)量表

為了直觀地說明TPS隨出塊時間變化的關(guān)系,按照式(1)得到如圖7所示的關(guān)系。

圖7 TPS隨出塊時間變化圖

可以看出,當(dāng)出塊時間超過40 s,交易數(shù)量的增長率明顯降低,TPS隨著區(qū)塊數(shù)量的增多隨之減慢。原因在于當(dāng)網(wǎng)絡(luò)中的區(qū)塊增多,交易數(shù)量超過單個節(jié)點(diǎn)的處理能力時,系統(tǒng)會線程阻塞,TPS會有明顯的下降。

(2) TPS與peer節(jié)點(diǎn)數(shù)目的關(guān)系。本組對比實(shí)驗(yàn)控制每次實(shí)驗(yàn)的時間間隔均為40 s,每當(dāng)交易產(chǎn)生40 s后終止實(shí)驗(yàn)。最開始從供應(yīng)商和生產(chǎn)商組織中各取1個節(jié)點(diǎn)共2個節(jié)點(diǎn)進(jìn)行模擬交易,并依次增加節(jié)點(diǎn)為4、8、12、16個peer節(jié)點(diǎn)共5組進(jìn)行聯(lián)盟鏈模擬實(shí)驗(yàn)。同樣地,每個peer數(shù)目執(zhí)行3次測試并取TPS平均值。結(jié)果如表7所示。

表7 不同peer節(jié)點(diǎn)數(shù)目交易數(shù)量表

為了全面評測算法的性能,將本實(shí)驗(yàn)中不同peer節(jié)點(diǎn)數(shù)目的TPS情況和目前最為成熟的支持智能合約的Ethereum和Paity項(xiàng)目作了對比,結(jié)果如圖8所示??梢钥闯?,以太坊平臺和Raft共識在網(wǎng)絡(luò)中存在大約8個peer節(jié)點(diǎn)的情況下,擁有最優(yōu)的吞吐量性能。同時值得注意的是,當(dāng)fabric網(wǎng)絡(luò)中超過16個peer節(jié)點(diǎn)后,整個系統(tǒng)會無法工作甚至崩潰。因此,選取合適的節(jié)點(diǎn)數(shù)目,對聯(lián)盟鏈系統(tǒng)的性能起著決定性的作用。

圖8 三類智能合約平臺TPS隨節(jié)點(diǎn)數(shù)目變化圖

綜上兩組實(shí)驗(yàn),使用Raft共識的etcd-raft模塊,系統(tǒng)的吞吐量可以穩(wěn)定達(dá)到2 000 TPS左右,基本滿足了商用價值。將聯(lián)盟鏈應(yīng)用于RFID產(chǎn)品流通來對流通中的標(biāo)簽進(jìn)行高效保護(hù),不但可以通過CA數(shù)字證書防范惡意閱讀器用戶的訪問請求,而且聯(lián)盟鏈還使用了Raft算法滿足了物聯(lián)網(wǎng)和RFID環(huán)境下多節(jié)點(diǎn)、動態(tài)性等要求。當(dāng)然,TPS這一性能指標(biāo)如果沒有達(dá)到一個數(shù)量級的差異,其實(shí)并不需要太多關(guān)注,因?yàn)樵趯?shí)際配置和應(yīng)用中,網(wǎng)絡(luò)帶寬、硬件配置、節(jié)點(diǎn)數(shù)量等變量都會對TPS的數(shù)值產(chǎn)生影響。

4.3 與現(xiàn)有方案的比較

RFID安全問題在應(yīng)用場景的差異下,技術(shù)實(shí)現(xiàn)難度、成本高低、適用范圍大小、有效性優(yōu)劣都可以作為在各應(yīng)用場景下RFID保護(hù)的評價標(biāo)準(zhǔn)。表8從這幾大維度比較了本文方案與現(xiàn)有優(yōu)秀的RFID安全解決方案。結(jié)果表明本文方案基于物流聯(lián)盟鏈能夠保護(hù)RFID標(biāo)簽安全,同時在交易性能上穩(wěn)定且高效。

表8 本方案與現(xiàn)有RFID隱私保護(hù)技術(shù)比較

5 結(jié) 語

隨著物聯(lián)網(wǎng)時代的到來,供應(yīng)鏈物流領(lǐng)域中RFID作為終端采集設(shè)備存在諸多安全隱患。本文從產(chǎn)品流通的場景出發(fā),結(jié)合聯(lián)盟鏈多組織使用CA手段隔離非法閱讀器客戶端,以去中心化的方式保證標(biāo)簽產(chǎn)品的數(shù)據(jù)安全。安全性分析表明,CA機(jī)制可以隔離潛在的非法閱讀器對標(biāo)簽數(shù)據(jù)的讀寫訪問。同時聯(lián)盟鏈性能分析表明,采用折中的Raft共識算法,聯(lián)盟鏈的運(yùn)行效率較為可觀。下一步將在實(shí)驗(yàn)中采取多通道的設(shè)計(jì),實(shí)現(xiàn)更為負(fù)責(zé)的對標(biāo)簽產(chǎn)品的業(yè)務(wù)功能,同時也實(shí)現(xiàn)更細(xì)粒度的數(shù)據(jù)隔離,以解決RFID在物流領(lǐng)域中大規(guī)模應(yīng)用的瓶頸。

猜你喜歡
閱讀器證書標(biāo)簽
IES四大核心期刊證書
《安徽醫(yī)學(xué)》統(tǒng)計(jì)刊源證書
少就是多
The Magna Carta
Winner Takes All
不害怕撕掉標(biāo)簽的人,都活出了真正的漂亮
讓衣柜擺脫“雜亂無章”的標(biāo)簽
亞馬遜推出全新Kindle Paperwhite電子書閱讀器
科學(xué)家的標(biāo)簽
科學(xué)家的標(biāo)簽