梁志勇,周顯春
(1.三亞學院信息與智能工程學院,三亞 572022;2.三亞學院陳國良院士團隊創新中心,三亞 572022;3.三亞學院容淳銘院士工作站,三亞 572022)
農產品冷鏈物流建設是我國農業產業化發展重要的組成部分,也是發展現代農業的有效途徑。目前國內絕大多數農產品冷鏈數據存儲方案依舊是傳統的中心化管理模式,中心化數據庫是企業私有的,核心關鍵數據存儲于單一數據庫節點中,對外公開程度有限,且容易出現差錯或者有被篡改的風險。研究設計一種去中心化的農產品冷鏈數據存儲方案,實現冷鏈數據安全有效存儲,具有重要的意義。
本文針對現有農產品冷鏈數據在存儲過程中的各種問題。①冷鏈數據難以被監管部門實時監管。②在新冠疫情背景下冷鏈環境中的中心化數據管理模式存在著認證難、維護成本高等信任危機問題,研究一種基于聯盟鏈的可信計算技術,以此設計農產品冷鏈數據安全存儲方案。該方案以區塊鏈技術為底層,聯盟鏈形式為技術選型,數據提供方作為可信節點,配合分布式身份標識技術進行貨物主體識別,從而進行現有冷鏈數據接入,進行溯源信息上鏈,實現在不存在強信用主體或中間人的情況下的數據安全存儲及管理。
聯盟鏈是一種將區塊鏈技術應用于企業的相對較新的方式。公有鏈向所有人都開放,而私有鏈通常只為一個企業提供服務,聯盟鏈相對公有鏈來說有更多限制,通常為多個企業之間的共同協作提供服務。與公有鏈不同,聯盟鏈是需要獲得事先許可的,因此并不是所有擁有互聯網連接的任何人都可以訪問聯盟區塊鏈的。聯盟鏈也可以描述為半去中心化的,對聯盟鏈的控制權不授予單個實體,而是多個組織或個人,參加共識的節點是需要具有一定基礎信任的。并且聯盟鏈的共識算法比較靈活,可采用PBFT、Raft等算法來適應不同的商業特點。聯盟鏈的共識參與者可能是網絡上的一組預先批準的節點,而不是任何人都可以參與該過程。同時聯盟鏈支持跨鏈技術,其上層應用具有極強的開放性及拓展性。
可信計算是一項由TCG(可信計算組)推動和開發的技術。可信的核心目標之一是保證系統和應用的完整性,從而確定系統或軟件運行在設計目標期望的可信狀態。可信和安全是相輔相成的,可信是安全的基礎,了解可信才能更好地了解安全,才能為構建更穩固的安全體系固本強基。在可信計算中,通過信息加密等方式對存儲的文件和數據進行管理,從而保證了信息存儲的安全性。通過對系統組件進行可信度量是保障信息的基礎,根據度量值對系統組件進行管理和檢測,可有效管理信息運行的環境變化,從而保障運行環境的安全性;通過消息簽名的方式對目的端進行驗證,從而保障信息傳輸的安全性。
可信計算會在用戶的軟硬件上增加一個可信的模塊,并在內部運行時進行檢驗,但是對于可信計算來說,其可以保證數據和代碼是“可信”。但是依然建立在中心化的獨立服務器中,只要權限夠高,或者物理破壞,便會使得數據丟失或者被篡改。而聯盟鏈具有的代碼開源、智能合約、分布式清結算等功能特點,便可以進一步彌補這些不足,將可信網絡的應用范圍推上一個新高度。當可信計算運行在區塊鏈上之后,將會帶來新的特性。
1.3.1 分布式
在可信計算中建立的“容器”,①在權限層面對寫入寫出進行限制,簡單來說,誰創建了服務器,那么創建者就擁有服務器的控制權。②在容器建立時便將其隔離,不再寫入,但其也面臨著被物理破壞丟失相關內容的可能性,比如實驗室斷電或者存儲介質故障帶來的不確定因素。而聯盟鏈本身是區塊鏈的一種,是去中心化運行的,沒有人可以停止它、控制它,沒人可以作弊,這就提供了非常好的中立環境。
1.3.2 交互留痕
當用戶進行數據交互時,會將數據等相關信息上傳至鏈上,完成數據確權。即使用戶本身的通信或者交互是在雙方的可信計算設備上點對點進行,但每一次的交互都會在區塊鏈上留痕,做到數據透明可查詢。
1.3.3 清結算透明
借助區塊鏈,我們可以使得清結算的整個流程都變得透明,從而使得在可信算力或者數據交易中,原本依然需要在中心化服務器中進行的清結算服務,可以在鏈上進行,區塊鏈將保證交易的安全,確保沒有任何一方抵賴。
1.3.4 效率高
雖然可信計算能做到數據和協作方面的互信,但在實際應用中,商業合作和利益分配信任問題帶來的效率下降非常明顯,借助區塊鏈技術,讓支出、收益、分潤透明結算,賬本公開清晰可查,充分降本增效。
針對新冠疫情背景下農產品冷鏈數據所出現的信任危機,本文從如下4個方面研究并設計了一套在聯盟鏈環境下利用可信計算技術在農產品冷鏈數據存儲過程中的解決方案。
在農產品冷鏈物流數據存儲過程中,冷鏈數據安全和可信上鏈存儲是一切數據操作的基石。由于區塊鏈是一個確定性的、封閉的系統環境,也是一個基于共識的網絡,其共識機制及其確定性虛擬機的固有局限規定了智能合約只能被動接收鏈內的數據,既不能主動獲取鏈外真實世界的數據,也不能自發調用外部網絡API,但諸如農產品冷鏈、金融等大多數區塊鏈場景都需要主動實時獲取現實世界特別是互聯網中的數據。同時智能合約的執行需要觸發條件,當智能合約的觸發條件是外部信息時(鏈外),就必須需要預言機來提供數據服務,通過預言機將現實世界的數據輸入到區塊鏈上,該過程稱為可信數據上鏈,其工作流程圖如圖1所示。從圖1中用戶的智能合約向預言機智能合約發起數據請求,從而通過鏈下的API接口獲得外部數據即農產品冷鏈數據,更確切的說是外部數據源將冷鏈數據發送給預言機智能合約,然后預言機智能合約將數據反饋給用戶智能合約。

圖1 基于預言機的可信數據上鏈工作流程
農產品冷鏈數據平臺通過連接多方數據源,將多方數據的目錄資源、權限規則和使用日志上鏈,實現跨主體的分布式數據安全共享與交換,并具備多方共識、安全可控、不可篡改、使用留痕等技術特性。利用嚴格的安全機制和權限控制機制,在基于預言機技術的可信數據上鏈的前提下,利用交換前置機技術實現數據安全交換,從而達到本項目中海南農產品冷鏈物流數據平臺數據安全。交換前置機技術流程如圖2所示。

圖2 交換前置機技術流程
區塊鏈可信多方安全計算是將可信執行環境和可信數據共享技術相結合,實現本項目中海南農產品冷鏈數據平臺中各機構之間數據合作過程中的數據安全和隱私保護問題,針對一些特殊冷鏈物流信息實現數據可用不可見及閱后即焚的效果。
可信執行環境是硬件設備CPU上的一塊區域。該區域的作用是給數據和代碼的執行提供一個更安全的空間,并保證它們的機密性和完整性。在農產品冷鏈數據管理平臺中,該技術可與區塊鏈技術相結合,實現基于區塊鏈技術的可信多方安全計算,其流程如圖3所示。

圖3 可信多方安全計算流程
通過圖3的流程圖可以看到,存在數據需求方X,該需求方可為第三方數據監管方、商品終端客戶或金融機構。該需求方提出請求,對農產品冷鏈數據進行驗證或進行其他數據處理時,進行數據獲取。由數據需求方X上傳可信計算模型,該模型僅對單一需求生效。需求方X根據計算模型內容,向組織A、組織B、…、組織N請求數據A′、B′、…、N′。相關組織在驗證該請求的真實性后同意該請求,并授權其計算模型訪問相關數據接口,獲取相應數據。此時冷鏈物流數據平臺創建基于硬件的安全執行環境,加載可信計算模型,并通過授權接口調用相關數據,進行可信計算,最終向數據需求方X提供可信計算結果。
由于不同主體間對相同商品或貨物在其系統內的檢索標識是不同的,在多方數據上鏈、共享過程中對相關數據的關聯會造成一定的困難。為了解決這一問題,引入分布式身份標識DID,可以通過對其DID的解析,解決相同商品或貨物在不同主體間的識別問題,解決其在不同場景下的識別及使用問題。其信息保存于區塊鏈網絡中,可進行存儲驗證,確保其安全性。DID身份標識的流程如圖4所示。

圖4 DID身份標識的流程
本文在聯盟鏈的基礎上,充分利用了區塊鏈去中心化、數據透明可追溯化、防篡改等優點,同時結合可信計算技術,研究并實現了農產品冷鏈數據安全有序存儲的解決方案。該方案在去中心化的同時解決了新冠疫情背景下冷鏈物流中的信任危機,既可以有效保證冷鏈數據的隱私性,也能實現整個冷鏈數據存儲的可追溯性,為農產品冷鏈數據存儲過程中所存在的數據濫用、應用攻擊、降低效能、刪改數據等安全問題具有重要的理論和現實意義。