祝 劍,楊珍娜,龐 龍,丁 瑾
(1.西安郵電大學(xué) 學(xué)報(bào)編輯部,陜西 西安 710121;2.西安郵電大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院,陜西 西安 710121)
工業(yè)互聯(lián)網(wǎng)[1]是將互聯(lián)網(wǎng)技術(shù)延伸到工業(yè)領(lǐng)域,利用智能技術(shù)提升網(wǎng)絡(luò)性能,以物聯(lián)網(wǎng)的形式幫助企業(yè)實(shí)現(xiàn)工業(yè)自動(dòng)化,現(xiàn)已廣泛應(yīng)用在數(shù)字化管理、智能化制造和網(wǎng)絡(luò)化協(xié)同等領(lǐng)域。隨著越來(lái)越多的產(chǎn)品由工業(yè)互聯(lián)網(wǎng)加工生產(chǎn),工業(yè)生產(chǎn)效率得到有效提高,但是在數(shù)據(jù)溯源過(guò)程中,存在信息數(shù)據(jù)泄露、篡改和仿冒等安全問(wèn)題。
數(shù)據(jù)溯源是指對(duì)產(chǎn)品的全生產(chǎn)周期進(jìn)行跟蹤與追溯,即對(duì)產(chǎn)品的生產(chǎn)、加工、運(yùn)輸和銷(xiāo)售過(guò)程進(jìn)行“統(tǒng)一化管理”,是對(duì)信息數(shù)據(jù)“從產(chǎn)地到市場(chǎng)”監(jiān)控的有效途徑。因此,數(shù)據(jù)溯源技術(shù)[2]可改善工業(yè)互聯(lián)網(wǎng)中信息數(shù)據(jù)安全問(wèn)題。在當(dāng)前大數(shù)據(jù)背景下,利用數(shù)據(jù)溯源技術(shù)分析非法數(shù)據(jù)的相關(guān)特性,可保證數(shù)據(jù)溯源信息的可靠性,但其安全性并未得到提高[3]?;趯傩约用艿臄?shù)據(jù)溯源方案[4]通過(guò)屬性加密使信息數(shù)據(jù)更加安全,但所消耗的計(jì)算資源較大。文獻(xiàn)[5]將區(qū)塊鏈技術(shù)融入數(shù)據(jù)溯源技術(shù)中,提高了信息數(shù)據(jù)的安全性,但基于區(qū)塊鏈的云儲(chǔ)存方式,需要更大的云存儲(chǔ)空間[6]?;趨^(qū)塊鏈的數(shù)據(jù)溯源可信查詢(xún)方法[7]通過(guò)建立Merkle樹(shù)動(dòng)態(tài)追加性能的數(shù)據(jù)結(jié)構(gòu),實(shí)現(xiàn)了溯源數(shù)據(jù)的可信存儲(chǔ),但延長(zhǎng)了數(shù)據(jù)查詢(xún)時(shí)間?;陔p區(qū)塊鏈的防偽溯源系統(tǒng)[8]改善了傳統(tǒng)溯源系統(tǒng)存在的安全性問(wèn)題,但該系統(tǒng)的信息數(shù)據(jù)傳輸速率較低?;趨^(qū)塊鏈技術(shù)的射頻識(shí)別(Radio Frequency Identification,RFID)大數(shù)據(jù)溯源安全模型[9]實(shí)現(xiàn)了對(duì)RFID大數(shù)據(jù)的溯源管理,但信息數(shù)據(jù)安全性較低。基于區(qū)塊鏈和RFID結(jié)合的數(shù)據(jù)采集溯源系統(tǒng)[10]提高了信息數(shù)據(jù)的安全性,但數(shù)據(jù)傳輸速率仍較低。
針對(duì)工業(yè)互聯(lián)網(wǎng)數(shù)據(jù)溯源過(guò)程中存在的信息數(shù)據(jù)安全性較低、傳輸速率慢的問(wèn)題,擬提出一種基于區(qū)塊鏈的工業(yè)互聯(lián)網(wǎng)數(shù)據(jù)溯源方案。通過(guò)建立產(chǎn)品信息存儲(chǔ)和共享模型,實(shí)現(xiàn)產(chǎn)品信息上傳、查詢(xún)、防偽和溯源等功能。在貼有RFID標(biāo)簽的產(chǎn)品生產(chǎn)、加工、倉(cāng)儲(chǔ)、運(yùn)輸和銷(xiāo)售等多環(huán)節(jié)建立區(qū)塊鏈賬本,使“賬本-環(huán)節(jié)”相互對(duì)應(yīng),將產(chǎn)品供應(yīng)鏈各環(huán)節(jié)數(shù)據(jù)分別存儲(chǔ)在不同的賬本上,降低產(chǎn)品信息存儲(chǔ)結(jié)構(gòu),提升信息數(shù)據(jù)傳輸速率。同時(shí),建立基于區(qū)塊鏈的工業(yè)互聯(lián)網(wǎng)數(shù)據(jù)溯源系統(tǒng),保證上傳前產(chǎn)品信息的真實(shí)、透明、不可篡改并驗(yàn)證二維碼的真實(shí)性,利用星際文件系統(tǒng)[11](Interplanetary File System,IPFS)存儲(chǔ)產(chǎn)品信息減少存儲(chǔ)開(kāi)銷(xiāo)。
區(qū)塊鏈[12-14]是比特幣最底層的技術(shù),具有去中心化、不可篡改、公開(kāi)透明和可追溯等特點(diǎn)。區(qū)塊鏈中的每個(gè)區(qū)塊由區(qū)塊頭和區(qū)塊體構(gòu)成,區(qū)塊頭包含前一個(gè)區(qū)塊的Hash值、版本號(hào)、隨機(jī)數(shù)、時(shí)間戳、Merkle根和難度目標(biāo)等,區(qū)塊體包含此區(qū)塊的交易信息,包括交易數(shù)量和數(shù)據(jù)。具體結(jié)構(gòu)如圖1所示。
圖1 區(qū)塊鏈結(jié)構(gòu)
區(qū)塊鏈可分為公有鏈、私有鏈和聯(lián)盟鏈,其特征如表1所示。
表1 公有鏈、私有鏈和聯(lián)盟鏈特征
RFID技術(shù)[15]是自動(dòng)識(shí)別技術(shù)的一種,通過(guò)無(wú)線(xiàn)射頻方式進(jìn)行非接觸雙向數(shù)據(jù)通信,并對(duì)電子標(biāo)簽或射頻卡等記錄媒體進(jìn)行讀寫(xiě),從而達(dá)到識(shí)別目標(biāo)和數(shù)據(jù)交換的目的。RFID主要由電子標(biāo)簽、閱讀器、天線(xiàn)和應(yīng)用系統(tǒng)軟件等4部分構(gòu)成。電子標(biāo)簽由耦合元件及芯片組成,每個(gè)標(biāo)簽具有唯一的電子編碼,附著在物體上標(biāo)識(shí)目標(biāo)對(duì)象。閱讀器是讀取標(biāo)簽信息的設(shè)備,可設(shè)計(jì)為手持式RFID讀寫(xiě)器(如C5000W)或固定式讀寫(xiě)器。天線(xiàn)是在標(biāo)簽和讀取器間傳遞射頻信號(hào)的途徑。RFID系統(tǒng)結(jié)構(gòu)如圖2所示。
圖2 RFID系統(tǒng)結(jié)構(gòu)
二維碼[16]即二維條形碼,是在一維條形碼的基礎(chǔ)上發(fā)展起來(lái)的一種二維條碼。在功能方面,二維碼比一維條形碼安全性更好、存儲(chǔ)信息量更大,QR碼[17](Quick Response Code)是目前應(yīng)用最廣泛的二維條碼之一。二維碼識(shí)別信息的方法是通過(guò)圖像行讀碼,通過(guò)專(zhuān)門(mén)的掃碼器和掃碼軟件,自動(dòng)辨別讀取信息,從而實(shí)現(xiàn)信息處理自動(dòng)化。該方法的圖形編譯規(guī)則和條碼技術(shù)具有一些共性,但同時(shí)又具有對(duì)不同領(lǐng)域的信息自動(dòng)識(shí)別功能和處理圖形旋轉(zhuǎn)變化點(diǎn)。二維碼和條形碼的優(yōu)勢(shì)對(duì)比如表2所示。
表2 二維碼和條形碼的優(yōu)勢(shì)對(duì)比
智能合約[18-20]是一種無(wú)需中介、自我驗(yàn)證和自動(dòng)執(zhí)行合約條款的計(jì)算機(jī)交易協(xié)議。一個(gè)智能合約是一套以數(shù)字形式定義的承諾,包括合約參與方可以在上面執(zhí)行這些承諾的協(xié)議。用戶(hù)在區(qū)塊鏈上可通過(guò)交易執(zhí)行智能合約。智能合約的運(yùn)用減少了用戶(hù)在區(qū)塊鏈上交易的成本,同時(shí),區(qū)塊鏈又為智能合約的發(fā)展提供了機(jī)會(huì)。智能合約運(yùn)行機(jī)制如圖3所示。
圖3 智能合約運(yùn)行機(jī)制
為保障工業(yè)產(chǎn)品質(zhì)量,近幾年來(lái)我國(guó)工業(yè)互聯(lián)網(wǎng)產(chǎn)業(yè)增速飛快,國(guó)家層面也出臺(tái)了各項(xiàng)政策給予支持,國(guó)際上對(duì)工業(yè)互聯(lián)網(wǎng)的關(guān)注度也不斷提高。大多數(shù)的傳統(tǒng)工業(yè)互聯(lián)網(wǎng)系統(tǒng)由生產(chǎn)部門(mén)、倉(cāng)儲(chǔ)部門(mén)、加工部門(mén)、運(yùn)輸部門(mén)、銷(xiāo)售部門(mén)、監(jiān)管部門(mén)以及中心數(shù)據(jù)庫(kù)構(gòu)成,模型如圖4所示。
圖4 傳統(tǒng)工業(yè)互聯(lián)網(wǎng)模型
結(jié)合傳統(tǒng)工業(yè)互聯(lián)網(wǎng)模型,基于區(qū)塊鏈的工業(yè)互聯(lián)網(wǎng)數(shù)據(jù)溯源方案在其基礎(chǔ)上加入?yún)^(qū)塊鏈以及IPFS,采用數(shù)據(jù)采集層、數(shù)據(jù)存儲(chǔ)層、數(shù)據(jù)傳輸層和數(shù)據(jù)應(yīng)用層等4層進(jìn)行數(shù)據(jù)溯源,模型架構(gòu)如圖5所示。
圖5 模型架構(gòu)
1)數(shù)據(jù)采集層。工業(yè)產(chǎn)品信息由產(chǎn)品生產(chǎn)商、加工商、倉(cāng)儲(chǔ)商、運(yùn)輸商和銷(xiāo)售商等各個(gè)節(jié)點(diǎn)采集并上傳,配合監(jiān)控設(shè)備、RFID標(biāo)簽以及一些物聯(lián)網(wǎng)中間件等設(shè)備,對(duì)產(chǎn)品供應(yīng)鏈各環(huán)節(jié)的信息進(jìn)行采集,保證數(shù)據(jù)的真實(shí)性。
2)數(shù)據(jù)存儲(chǔ)層。工業(yè)產(chǎn)品信息(Industry Produce Information,IPI)存儲(chǔ)由超級(jí)賬本Hyperledger與IPFS組成。其中,Hyperledger存儲(chǔ)IPI的哈希值HIPI和哈希地址AIPI,IPFS存儲(chǔ)IPI。供應(yīng)鏈參與節(jié)點(diǎn)P{P1,P2,…,Pn}在對(duì)應(yīng)賬本中均有其特定身份標(biāo)識(shí),從源頭確保數(shù)據(jù)的不可抵賴(lài)性。
3)數(shù)據(jù)傳輸層。IPI通過(guò)網(wǎng)絡(luò)傳輸?shù)接?jì)算機(jī)系統(tǒng)及IPFS中存儲(chǔ)。
4)數(shù)據(jù)應(yīng)用層主要由消費(fèi)者、企業(yè)和監(jiān)管部門(mén)構(gòu)成,實(shí)現(xiàn)對(duì)IPI監(jiān)管和溯源。
工業(yè)互聯(lián)網(wǎng)數(shù)據(jù)溯源系統(tǒng)主要包含監(jiān)管部門(mén)、供應(yīng)鏈各參與方、IPFS和區(qū)塊鏈網(wǎng)絡(luò)等4個(gè)實(shí)體,如圖6所示。
圖6 工業(yè)互聯(lián)網(wǎng)數(shù)據(jù)溯源系統(tǒng)
1)監(jiān)管部門(mén)負(fù)責(zé)供應(yīng)鏈中各參與方P{P1,P2,…,Pn}首次進(jìn)入?yún)^(qū)塊鏈時(shí)信息的注冊(cè)以及證書(shū)的頒發(fā),信息注冊(cè)獲得用于識(shí)別身份信息的身份標(biāo)識(shí)號(hào)和進(jìn)行IPI加密的公私鑰對(duì)(KP,KS),同時(shí)對(duì)工業(yè)產(chǎn)品信息的存儲(chǔ)和數(shù)據(jù)共享過(guò)程進(jìn)行監(jiān)督和管理。
2)供應(yīng)鏈上各參與方P{P1,P2,…,Pn},即工業(yè)互聯(lián)網(wǎng)數(shù)據(jù)的擁有者,主要包括生產(chǎn)部門(mén)、加工部門(mén)、倉(cāng)儲(chǔ)部門(mén)、運(yùn)輸部門(mén)和銷(xiāo)售部門(mén)。P{P1,P2,…,Pn}各自擁有一個(gè)賬本,負(fù)責(zé)將各自擁有的公開(kāi)工業(yè)產(chǎn)品信息IPub直接上傳至IPFS,隱私工業(yè)產(chǎn)品信息IPri調(diào)用智能合約自動(dòng)進(jìn)行加密并將工業(yè)產(chǎn)品加密信息Enc(IPri)存儲(chǔ)在賬本中,P{P1,P2,…,Pn}也可對(duì)IPI進(jìn)行溯源。
3)IPFS負(fù)責(zé)存儲(chǔ)工業(yè)產(chǎn)品信息IPI,生成IPI的HIPI和AIPI,并將其上傳至區(qū)塊鏈。
4)區(qū)塊鏈網(wǎng)絡(luò)負(fù)責(zé)存儲(chǔ)查詢(xún)節(jié)點(diǎn)的鍵值對(duì)(KP,K′)以及IPI的哈希值HIPI和哈希地址AIPI,其中,K′是由公鑰KP加密K生成。
P{P1,P2,…,Pn}在監(jiān)管部門(mén)注冊(cè)后加入工業(yè)互聯(lián)網(wǎng)產(chǎn)品信息溯源鏈,IPFS將HIPI和AIPI上傳至區(qū)塊鏈中,當(dāng)消費(fèi)者進(jìn)行IPI溯源時(shí),向區(qū)塊鏈發(fā)送請(qǐng)求,即查詢(xún)公開(kāi)工業(yè)產(chǎn)品信息IPub,區(qū)塊鏈返回公開(kāi)的哈希值HPub和哈希地址APub,根據(jù)APub從IPFS下載進(jìn)行查看,并根據(jù)HPub判斷IPub是否被篡改。當(dāng)授權(quán)查看節(jié)點(diǎn)需要查詢(xún)隱私工業(yè)產(chǎn)品信息IPri時(shí),向區(qū)塊鏈發(fā)送請(qǐng)求,區(qū)塊鏈返回加密的哈希值HE和哈希地址AE以及(KP,K′),授權(quán)節(jié)點(diǎn)根據(jù)AE和(KP,K′)在IPFS中下載并解密Enc(IPri)。工業(yè)產(chǎn)品信息存儲(chǔ)和共享模型如圖7所示。
圖7 工業(yè)產(chǎn)品信息存儲(chǔ)和共享模型
基于區(qū)塊鏈的工業(yè)互聯(lián)網(wǎng)數(shù)據(jù)溯源方案實(shí)現(xiàn)主要分為IPI信息采集和加密存儲(chǔ)過(guò)程、IPI生成和上傳存儲(chǔ)過(guò)程,以及IPI防偽和溯源查詢(xún)過(guò)程。通過(guò)物聯(lián)網(wǎng)設(shè)備實(shí)時(shí)采集信息,結(jié)合密碼學(xué)相關(guān)加密算法加密隱私數(shù)據(jù),調(diào)用智能合約進(jìn)行存儲(chǔ),利用二維碼技術(shù)實(shí)現(xiàn)防偽,從而實(shí)現(xiàn)工業(yè)互聯(lián)網(wǎng)數(shù)據(jù)溯源。
3.1.1 采集過(guò)程
通過(guò)物聯(lián)網(wǎng)設(shè)備,結(jié)合RFID與二維碼技術(shù),對(duì)IPI進(jìn)行采集。在工業(yè)產(chǎn)品的生產(chǎn)、加工、倉(cāng)儲(chǔ)、運(yùn)輸和銷(xiāo)售過(guò)程均采用監(jiān)控設(shè)備進(jìn)行實(shí)時(shí)監(jiān)控,利用自動(dòng)化機(jī)械設(shè)備實(shí)時(shí)上傳產(chǎn)品信息獲取IPI,保證數(shù)據(jù)源頭的真實(shí)性。
將RFID信息采集系統(tǒng)安裝在工業(yè)產(chǎn)品供應(yīng)鏈每個(gè)環(huán)節(jié),通過(guò)13.56 MHz高頻的RFID實(shí)時(shí)采集供應(yīng)鏈每個(gè)環(huán)節(jié)IPI,將采集到的IPI信息存儲(chǔ)在RFID內(nèi)的電子碼編碼(Electronic Product Code,EPC)的射頻識(shí)別電子標(biāo)簽中,并將EPC存儲(chǔ)的IPI上傳至計(jì)算機(jī)系統(tǒng),再轉(zhuǎn)為二維碼形式存儲(chǔ)IPI,作為工業(yè)產(chǎn)品的唯一標(biāo)識(shí)碼。工業(yè)產(chǎn)品信息二維碼生成過(guò)程如圖8所示。
圖8 二維碼生成過(guò)程
IPI分為公開(kāi)工業(yè)產(chǎn)品信息IPub和隱私工業(yè)產(chǎn)品信息IPri。IPub主要包含工業(yè)產(chǎn)品溯源信息的公開(kāi)信息,如生產(chǎn)方式、加工時(shí)間、倉(cāng)儲(chǔ)時(shí)間、地點(diǎn)和質(zhì)檢結(jié)果等,直接上傳至IPFS。IPri主要包含工業(yè)產(chǎn)品溯源鏈中的一些企業(yè)信息,如倉(cāng)儲(chǔ)數(shù)量、加工成本、進(jìn)貨價(jià)格和交易信息等。在工業(yè)產(chǎn)品隱私信息保護(hù)上,P{P1,P2,…,Pn}的IPri通過(guò)智能合約校驗(yàn)后,采用高級(jí)加密標(biāo)準(zhǔn)(Advanced Encryption Standard,AES)加密算法隨機(jī)生成對(duì)稱(chēng)密鑰K加密,并將Enc(IPri)上傳至IPFS中,由最優(yōu)非對(duì)稱(chēng)加密(RSA-Optimal Asymmetric Encryption Padding,RSA-OAEP)算法對(duì)K進(jìn)行加密保證其安全性。IPri的查詢(xún)需要經(jīng)過(guò)授權(quán),通過(guò)查詢(xún)節(jié)點(diǎn)的公鑰KP加密K生成K′,KP和K′構(gòu)成鍵值對(duì)(KP,K′),并將其存入?yún)^(qū)塊鏈中。供應(yīng)鏈IPI加密存儲(chǔ)的具體步驟如下。
步驟1生產(chǎn)部門(mén)通過(guò)自動(dòng)化設(shè)備實(shí)時(shí)上傳工業(yè)產(chǎn)品零件的數(shù)據(jù)、加工設(shè)施和負(fù)責(zé)人簽名等IPub1至IPFS,將成本價(jià)格和生產(chǎn)方式等IPri1通過(guò)智能合約自動(dòng)加密后上傳至IPFS。當(dāng)倉(cāng)儲(chǔ)部門(mén)查看IPri1時(shí),智能合約隨機(jī)生成密鑰K1加密IPri1生成Enc(IPri1),并采用倉(cāng)儲(chǔ)部門(mén)的KP1作為RSA算法的公鑰加密K1生成K′1,即
步驟2加工部門(mén)將工業(yè)產(chǎn)品區(qū)塊號(hào)、加工過(guò)程的時(shí)間、方式、地點(diǎn)和負(fù)責(zé)人簽名等IPub2直接上傳至IPFS,將訂單價(jià)格、加工成本和商品成本等IPri2通過(guò)智能合約自動(dòng)加密后上傳至IPFS。當(dāng)運(yùn)輸部門(mén)查看IPri2時(shí),智能合約隨機(jī)生成密鑰K2加密生成Enc(IPri2),并采用運(yùn)輸部門(mén)的KP2作為RSA算法的公鑰加密K2生成K′2,即
步驟3倉(cāng)儲(chǔ)部門(mén)對(duì)產(chǎn)品進(jìn)行倉(cāng)儲(chǔ)并標(biāo)識(shí)RFID溯源碼,將產(chǎn)品區(qū)塊號(hào)、倉(cāng)儲(chǔ)地點(diǎn)、時(shí)間、倉(cāng)儲(chǔ)環(huán)境和負(fù)責(zé)人簽名等IPub3直接上傳至IPFS,將倉(cāng)儲(chǔ)數(shù)量和剩余產(chǎn)品數(shù)量等IPri3通過(guò)智能合約自動(dòng)加密后上傳至IPFS。當(dāng)加工部門(mén)查看IPri3時(shí),智能合約隨機(jī)生成密鑰K3加密生IPri3成Enc(IPri3),并采用加工部門(mén)的KP3作為RSA算法的公鑰加密K3生成K′3,即
“借錢(qián)變貴了?!痹谀呈∫患倚履茉垂咀鲐?cái)務(wù)的李英,明顯感覺(jué)到這幾年企業(yè)融資成本在上漲?!?016年以前,銀行貸款利率在基準(zhǔn)利率上打九折,2017年還能打九五折,今年則回到基準(zhǔn)利率?!?/p>
步驟4運(yùn)輸部門(mén)將工業(yè)產(chǎn)品區(qū)塊號(hào)、運(yùn)輸時(shí)間、運(yùn)輸方式、裝卸信息和負(fù)責(zé)人簽名等IPub4直接上傳至IPFS,將運(yùn)輸成本和物流客戶(hù)等IPri4通過(guò)智能合約自動(dòng)加密后上傳至IPFS。當(dāng)銷(xiāo)售部門(mén)查看IPri4時(shí),智能合約隨機(jī)生成密鑰K4加密生成Enc(IPri4),并采用銷(xiāo)售部門(mén)的KP4作為RSA算法的公鑰加密K4生成K′4,即
步驟5銷(xiāo)售部門(mén)將工業(yè)產(chǎn)品身份標(biāo)識(shí)號(hào)(Identity Document,ID)、區(qū)塊號(hào)、產(chǎn)品名、銷(xiāo)售時(shí)間、銷(xiāo)售數(shù)量和負(fù)責(zé)人簽名等IPub5直接上傳至IPFS,將銷(xiāo)售價(jià)格和進(jìn)貨價(jià)格等IPri5通過(guò)智能合約自動(dòng)加密后上傳至IPFS。當(dāng)生產(chǎn)部門(mén)查看IPri5時(shí),智能合約隨機(jī)生成密鑰K5加密生成Enc(IPri5),并采用生產(chǎn)部門(mén)的KP5作為RSA算法的公鑰加密K5生成K′5,即
IPI存儲(chǔ)形式如圖9所示。
圖9 IPI存儲(chǔ)形式
值得注意的是,上述IPrii(i=1,2,3,4,5)授權(quán)查看節(jié)點(diǎn)是按照供應(yīng)鏈順序授權(quán)。實(shí)際上,任何授權(quán)查看節(jié)點(diǎn)均可以在其他節(jié)點(diǎn)授權(quán)后,通過(guò)智能合約獲取鍵值對(duì)(KPi,K′i),通過(guò)KSi解密鍵值對(duì)查看IPrii,授權(quán)過(guò)程與上述一致,在此不再敘述。
3.2.1 IPI生成過(guò)程
P{P1,P2,…,Pn}由自動(dòng)化設(shè)備上傳IPI后,通過(guò)KSi對(duì)IPI進(jìn)行簽名并生成HIPI,將其發(fā)送給監(jiān)管部門(mén),由監(jiān)管部門(mén)進(jìn)行審核,審核通過(guò)后進(jìn)行上傳。
3.2.2 IPI上傳儲(chǔ)存過(guò)程
工業(yè)產(chǎn)品供應(yīng)鏈中的P{P1,P2,…,Pn}將IPI上傳至IPFS。對(duì)于IPri處理時(shí),IPFS先調(diào)用智能合約自動(dòng)加密IPri生成Enc(IPri),然后將Enc(IPri)存儲(chǔ)至IPFS中,最后將HIPI和AIPI上傳至區(qū)塊鏈中。IPI存儲(chǔ)流程如圖10所示。
圖10 IPI上傳存儲(chǔ)流程
消費(fèi)者購(gòu)買(mǎi)產(chǎn)品后,掃描工業(yè)產(chǎn)品包裝上的二維碼進(jìn)行溯源。消費(fèi)者進(jìn)行工業(yè)產(chǎn)品溯源時(shí),首先要驗(yàn)證二維碼是否被篡改,通過(guò)在客戶(hù)端查詢(xún),使用手機(jī)端應(yīng)用程序或小程序掃描產(chǎn)品的二維碼。若二維碼被多次掃描,則返回客戶(hù)端信息異常,正常則直接從IPFS中獲取IPub,通過(guò)哈希函數(shù)計(jì)算得到HPub′,當(dāng)HPub=HPub′時(shí),IPub未經(jīng)篡改,否則,IPub被篡改。防偽流程如圖11所示。
圖11 消費(fèi)者驗(yàn)證二維碼產(chǎn)品信息流程
3.4.1 IPI查詢(xún)合約
當(dāng)P{P1,P2,…,Pn}需要查看IPri時(shí),向區(qū)塊鏈提出查詢(xún)節(jié)點(diǎn)請(qǐng)求,當(dāng)驗(yàn)證身份且符合查詢(xún)要求后,區(qū)塊鏈返回(KPi,K′i)、HE和AE,授權(quán)查詢(xún)節(jié)點(diǎn)Pi根據(jù)AE在IPFS中獲得Enc(IPri),使用KSi解密鍵值中的K′得到原始K值,利用K值解密IPri查看,并計(jì)算所獲IPri的HE′,當(dāng)HE≠HE′時(shí),證明IPri未經(jīng)篡改,否則,IPri被篡改。IPI查詢(xún)流程如圖12所示。
圖12 IPI查詢(xún)流程
3.4.2 溯源過(guò)程
溯源信息按照時(shí)間順序從工業(yè)產(chǎn)品的生產(chǎn)開(kāi)始記錄一直到產(chǎn)品銷(xiāo)售給消費(fèi)者,使產(chǎn)品信息正向記錄,逆向追溯。同時(shí),產(chǎn)品在流通的過(guò)程中一旦發(fā)現(xiàn)存在產(chǎn)品質(zhì)量問(wèn)題,可以通過(guò)溯源信息追蹤流向、及時(shí)召回。當(dāng)用戶(hù)查詢(xún)到IPI被篡改后,根據(jù)區(qū)塊鏈上生產(chǎn)、加工、倉(cāng)儲(chǔ)、運(yùn)輸和銷(xiāo)售環(huán)節(jié)的數(shù)據(jù)賬本,判斷是供應(yīng)鏈哪一環(huán)節(jié)的IPI賬本被篡改,并及時(shí)向監(jiān)管部門(mén)進(jìn)行反應(yīng)。
4.1.1 不可篡改性和不可抵賴(lài)性
基于區(qū)塊鏈的工業(yè)互聯(lián)網(wǎng)數(shù)據(jù)溯源方案將IPI的HIPI和AIPI存儲(chǔ)于區(qū)塊鏈中,P{P1,P2,…,Pn}在IPFS獲得IPI后計(jì)算其哈希值HIPI′與區(qū)塊鏈上存儲(chǔ)的HIPI進(jìn)行對(duì)比。當(dāng)HIPI=HIPI′,證明IPI未被篡改,當(dāng)HIPI≠HIPI′,證明IPI被篡改,從而保證了IPI的不可篡改性。同時(shí),P{P1,P2,…,Pn}在IPI上傳前用自己的KSi進(jìn)行簽名,保證IPI來(lái)自P{P1,P2,…,Pn},數(shù)字簽名保證了不可抵賴(lài)性。
4.1.2 抗偽造性
假設(shè)攻擊者γ能夠通過(guò)某種手段得到IPri,當(dāng)γ查看IPri時(shí),首先要通過(guò)各P{P1,P2,…,Pn}的KSi解密K′獲得對(duì)稱(chēng)密鑰K。然而,γ獲取P{P1,P2,…,Pn}的KSi幾乎是不可能的,即想要在沒(méi)有P{P1,P2,…,Pn}的KSi下解密Enc(IPri)是困難的。假設(shè)γ用Enc(IPri)′替換掉IPFS中存儲(chǔ)的Enc(IPri),而Enc(IPri)在上傳至IPFS時(shí)需要將HE與IPFS中其他HE′對(duì)比。當(dāng)HE≠HE′時(shí),HE′無(wú)法覆蓋Enc(IPri),從而保證了IPri的安全性。
4.1.3 機(jī)密性
該方案使用對(duì)稱(chēng)加密算法對(duì)IPri加密,進(jìn)行隱私信息的處理。為了確保對(duì)稱(chēng)加密算法的安全性,保證K的安全性至關(guān)重要。而傳統(tǒng)的RSA算法存在著“小明文攻擊”,K容易被破解,因此,采用最優(yōu)非對(duì)稱(chēng)填充RSA-OAEP算法對(duì)密鑰K進(jìn)行加密生成K′,以授權(quán)查看節(jié)點(diǎn)的公鑰KPi作為加密的公鑰,由KPi和K′組成鍵值對(duì)(KPi,K′)存放在區(qū)塊鏈中。對(duì)于IPri的共享上,只有經(jīng)過(guò)授權(quán)后的節(jié)點(diǎn)才可以查看,當(dāng)多個(gè)參與節(jié)點(diǎn)同時(shí)需要查詢(xún)IPri時(shí),只需要多次調(diào)用智能合約即可,并不會(huì)影響已授權(quán)的節(jié)點(diǎn)查看IPri,從而保證了IPri的機(jī)密性。
4.2.1 工業(yè)產(chǎn)品信息加解密
基于區(qū)塊鏈的工業(yè)互聯(lián)網(wǎng)數(shù)據(jù)溯源方案先使用AES加密IPri,再通過(guò)RSA-OAEP加密算法加密對(duì)稱(chēng)密鑰K,利用兩次加密確保IPri的安全性。采用英特爾i5-8250U 1.60 GHz處理器、8 GB內(nèi)存、Ubuntu 18.04.1搭配環(huán)境、64位系統(tǒng)與Python 3.8編譯器,對(duì)IPri進(jìn)行加解密的仿真實(shí)驗(yàn)。當(dāng)IPri從2 048條到32 768條時(shí),所提方案、文獻(xiàn)[4]方案和文獻(xiàn)[6]方案對(duì)IPri加解密時(shí)間對(duì)比如圖13所示,每次測(cè)試增量為2 048條信息。
圖13 3種方案不同數(shù)量IPri加解密時(shí)間對(duì)比
由圖13仿真結(jié)果可知,隨著IPri條數(shù)的增加,加解密的時(shí)間也隨之增加,對(duì)于32 768條IPri加解密,所提方案消耗的時(shí)間分別為1 156.28 s和1 221.04 s,時(shí)間消耗不超過(guò)15 min,優(yōu)于文獻(xiàn)[4]方案和文獻(xiàn)[6]方案。這是因?yàn)?,所提方案在?shù)據(jù)溯源方面采取了AES-OAPE的加解密方式,相比文獻(xiàn)[4]算法所采取的屬性加密在加解密效率方面有所提高。同時(shí),采取區(qū)塊鏈的去中心化技術(shù),較文獻(xiàn)[6]方案對(duì)于云存儲(chǔ)數(shù)據(jù)溯源方面更加安全。
由此可見(jiàn),所提方案對(duì)于產(chǎn)品供應(yīng)鏈中的所有IPri,可以容納大規(guī)模產(chǎn)品正常生產(chǎn)時(shí)的信息,并及時(shí)將IPri上傳至IPFS。
4.2.2 吞吐量
在實(shí)驗(yàn)環(huán)境為Inter? CoreTMi7-7700HQ CPU @280 GHz的CPU,RAM為8 GB的服務(wù)器上對(duì)IPri的吞吐量進(jìn)行分析。固定時(shí)間內(nèi)向IPFS上傳IPri數(shù)量如表3所示??梢钥闯?,吞吐量能夠穩(wěn)定在2 365條/s,因此,所提方案可以應(yīng)對(duì)大規(guī)模產(chǎn)品供應(yīng)鏈上產(chǎn)品信息的產(chǎn)生和存儲(chǔ)。
表3 上傳產(chǎn)品隱私信息數(shù)量
4.2.3 性能分析對(duì)比
分別對(duì)比文獻(xiàn)[4]方案、文獻(xiàn)[6]方案和所提方案的性能,結(jié)果如表4所示。
表4 各方案性能對(duì)比
從表4可以看出,所提方案相比于文獻(xiàn)[6]方案,在數(shù)據(jù)存儲(chǔ)方面采用去中心化的方式,安全性得到了較大的提升,加密速度較其他兩個(gè)方案也存在一定的優(yōu)勢(shì)。同時(shí),在資源消耗以及系統(tǒng)開(kāi)銷(xiāo)方面,所提方案的算法優(yōu)化較高,所消耗的資源較少。
基于區(qū)塊鏈的工業(yè)互聯(lián)網(wǎng)數(shù)據(jù)溯源方案包含工業(yè)互聯(lián)網(wǎng)數(shù)據(jù)溯源全周期的各個(gè)模型。通過(guò)RFID中的閱讀器對(duì)產(chǎn)品生產(chǎn)、倉(cāng)儲(chǔ)、加工、運(yùn)輸和銷(xiāo)售全過(guò)程進(jìn)行信息采集,存儲(chǔ)于電子標(biāo)簽中并轉(zhuǎn)為二維碼,方便溯源。通過(guò)對(duì)稱(chēng)加密算法對(duì)產(chǎn)品隱私信息進(jìn)行加密,采用公鑰加密算法加密對(duì)稱(chēng)密鑰后存儲(chǔ)于區(qū)塊鏈網(wǎng)絡(luò)中,調(diào)用智能合約實(shí)現(xiàn)信息存儲(chǔ)和共享,提高了信息存儲(chǔ)和共享效率,在IPFS存儲(chǔ)加密后的產(chǎn)品信息,節(jié)省了存儲(chǔ)產(chǎn)品信息開(kāi)銷(xiāo)。安全性分析和性能分析表明,所提方案在計(jì)算資源消耗以及加解密速度方面較其他方案存在一定的優(yōu)勢(shì)。同時(shí),采取區(qū)塊鏈以鏈上鏈下的方式存儲(chǔ)數(shù)據(jù),提高了產(chǎn)品信息的安全性和溯源過(guò)程的可靠性,且數(shù)據(jù)傳輸速率有所提升。