?

面向區塊鏈應用的交通產品信息一致性檢驗方法研究*

2024-03-14 08:48劉姿彤畢靖文
甘肅科技 2024年1期
關鍵詞:哈希一致性區塊

劉姿彤,李 政,2,楊 丹,2,畢靖文,2

(1.甘肅省交通科學研究院集團有限公司,甘肅 蘭州 730000;2.甘肅省公路試驗檢測創新服務平臺,甘肅 蘭州 730000)

在公路工程領域,交通產品質量是工程建設質量的重要影響因素之一,其試驗檢測工作則是質量檢驗的主要技術手段。

在互聯網產業和信息技術快速發展的時代背景下,交通行業從業者積極探索、加快推進新一代信息技術與質量監督工作的深度融合應用和創新式發展[1]。曾輝[2]探討了基于跨模態哈希解決不同數據模態之間相互檢索的問題。張越[3]系統研究了基于區塊鏈技術解決車輛的通信安全和隱私保護問題。李亞楠[4]在基于區塊鏈的數據存儲應用中研究了區塊鏈在數據存儲系統中的應用。李泗蘭[5]、沈麒[6]等采用哈希算法在圖像處理應用中做了深入研究。區塊鏈技術已成為國家信息化戰略規劃和科技創新活動的重要組成和支撐部分,哈希算法作為其主要使用技術之一,在解決交通產品質檢數據易篡改的風險問題上優勢顯著。

本研究基于區塊鏈的交通產品抽檢質量控制應用需求,采用SHA-2 族迭代改進的SHA-256 算法,將任意長度的消息和文檔壓縮到某一固定長度的消息摘要,研究實現各節點上鏈數據信息及文檔數據一致性檢驗計算,保證鏈下及上鏈數據信息的不可篡改。

1 基于區塊鏈的交通產品質量控制拓撲結構

根據交通產品抽檢流程中各節點單位的設置及其數據流向,基于聯盟鏈架構[7],鏈上包含項目質監機構、生產廠家(供貨企業)、建設單位、施工單位、監理單位、檢測機構共計6個節點。各節點上傳的信息類型涉及文本、文檔、圖片、視頻多種形式,最終形成“共同賬本”,實現區塊鏈上所有節點信息的共享連通。

基于區塊鏈的交通產品質量控制網絡拓撲結構如圖1 所示,流程上共涉及6 個不同層次上的信息審核及確認。

圖1 基于區塊鏈的交通產品質量控制拓撲圖

(1)交通產品信息備案及審核確認

施工單位作為交通產品信息的主要掌握節點,也是作為區塊鏈鏈下交通產品信息采集的主要對象。首先由施工單位將產品名稱、產品規格型號、產品采購批次及數量、產品采購合同、產品自檢報告等信息上傳區塊鏈,監理單位將產品抽檢報告上傳至區塊鏈。至此,施工單位、監理單位、建設單位和產品生產廠家開始對已上鏈產品信息進行第一次確認,并將結果上鏈保存。

(2)交通產品抽檢信息確認

第一層次信息確認正常后,質檢機構通知檢測單位根據抽樣要求和已上鏈交通產品信息實施抽樣,并將抽樣單、抽檢產品、檢測參數上傳至區塊鏈,由質檢機構、檢測單位、施工單位、監理單位、建設單位和產品生產廠家對抽檢產品及其抽檢相關參數信息進行第二次確認,將結果上鏈保存。

(3)交通產品封裝信息確認

第二層次信息確認正常后,由檢測單位組織人員進行產品封裝,并將封裝前后的信息以圖片或者視頻的形式上傳至區塊鏈,由質檢機構、檢測單位、施工單位、監理單位、建設單位和產品生產廠家對已封裝產品信息進行第三次確認,并在區塊鏈上保存最終信息。

(4)交通產品拆樣信息確認

第三層次信息確認正常后,檢測單位組織產品運輸工作,直至檢測單位試驗人員將已封裝產品拆樣前后以圖片或視頻方式存證并上傳區塊鏈,由質檢機構、檢測單位、施工單位、監理單位、建設單位和產品生產廠家對已封裝產品前后信息進行第四次確認,并在區塊鏈上保存最終信息。

(5)交通產品檢測報告信息確認

第四層次信息確認正常后,檢測單位開始試驗檢測工作,檢測工作完成以后將檢測報告上傳至區塊鏈,由質檢機構完成審核確認。

(6)交通產品檢測結果告知確認

由質檢機構將試驗檢測結果通知施工單位進行確認,至此一個樣品抽檢周期全部完成。

各層次確認后的質量控制數據存在本地數據庫,但是本地數據庫信息存在數據篡改的風險。在交通產品質量數據檢驗一致性判斷的時候,基于SHA-256 哈希算法可以將本地數據庫信息與已上鏈的區塊鏈數據庫信息的區塊哈希值進行比較,若有數據篡改現象,則兩者的哈希值會有差異。

2 哈希算法

哈希算法是區塊鏈加密技術的主要代表算法,在不同行業內業務數據信息快速查找和加密方面得到了推廣應用[8]。

哈希算法的核心是將任意長度的二進制值映射為較短的、固定長度的二進制值,該二進制值就稱為哈希值,它是一段數據唯一性且緊湊性的數值表示形式。若哈希算法的輸入為一段明文字符串,哪怕是這個字符串中有一個字母或者字符的微小變化,經過哈希算法計算出的哈希值將產生較大幅度的畸變,而且該過程不可逆,即要通過何種計算反推出來同一個哈希值的2 個不同輸入,理論計算的可操作性是無法實現的,所以說哈希值計算的唯一性是可以檢驗原始輸入數據的完整性和一致性的。因此,哈希算法作為一種單向散列算法,具有如下特點。

(1)壓縮性:不同長度、不同大小的輸入字符串,其計算的Hash值長度很小或者相對固定。

(2)易計算:基于不同應用軟件,Hash值的計算方便、快捷。

(3)單向性:Hash值計算的過程不可逆,即計算存在單向性,這是哈希函數安全性的基礎,也是哈希函數被廣泛應用的核心。

(4)高靈敏性:從比特位的角度來說,1 比特位的輸入變化會造成1/2比特位的變化。輸入信息的任何改變都會導致計算哈希值明顯的改變。

本研究結合區塊鏈在交通產品質量控制工作中的應用需求,針對各節點確認上鏈的數據信息,應用哈希算法,讓大容量的本地數據庫信息在各節點用數字簽名后的數據信息被壓縮成一種加密的數據格式,使其他節點使用者或者數據管理者知曉本次計算的哈希值,并能看到哈希算法的描述,以下結合實際案例對哈希算法在項目中的應用進行詳細闡述。

3 信息一致性檢驗流程設計

現有的一致性檢驗主要包括基于時間戳、工作量證明、權益證明以及狀態機復制等方法。這些方法在保證區塊鏈數據一致性方面存在一定效果但也存在問題。例如,基于時間戳的方法可能會受到時鐘同步問題的限制,而基于工作量證明和權益證明的方法則可能面臨資源消耗大和驗證時間長等問題。本研究重點討論哈希算法在區塊鏈中的應用,并以驗證數據的完整性和一致性為目標,有效地檢測數據是否被篡改或損壞。

研究提及的區塊哈希就是對區塊頭進行哈希計算,得出某個區塊的哈希值,用這個哈希值可以唯一標識確定某一個區塊,相當于給該區塊設定了一個ID,區塊與區塊之間就是通過這個ID 進行串聯,從而形成了一個區塊鏈機構。這樣的結構也是區塊鏈數據難以篡改的技術基礎之一,哈希值相當于一個指針,傳統的指針提供的是一種獲取信息的方法,而哈希指針則提供了一種檢驗數據信息是否被改變的測試方法,如果信息存在篡改現象,那么其哈希值和哈希指針的值必定是不等的。

3.1 字符串信息一致性檢驗

交通產品質量監督領域涉及的基礎字段多為字符串類型,因此首先研究字符串信息一致性的檢驗。字符串信息一致性檢驗流程如圖2所示。getInstance(String algorithm)返回指定算法的Message Digest對象,Message Digest類是為應用程序提供信息摘要算法的功能,如MD5(信息摘要算法)或SHA(安全散列算法)算法等。信息摘要是安全的單向哈希函數,它接收任意大小的數據,并能輸出固定長度的哈希值。Message Digest對象開始被初始化,該對象通過使用update函數處理數據,任何時候都可以調用reset函數的方法重置摘要,一旦所有需要更新的數據都已經被更新了,則就應該調用digest函數完成哈希計算。對于一個給定數量的更新數據,digest方法只能被調用一次,在調用digest之后,Message Digest對象被重新設置成其初始狀態。

圖2 字符串信息哈希值計算流程

3.2 文檔資料信息一致性檢驗

在交通產品抽檢質量監督領域,其質量數據信息除了字符串信息,更多的質量保證資料是以文檔的形式體現的,故加強文檔資料的不可篡改性在交通產品質量保證方面有重要意義。

文檔資料信息一致性檢驗計算主要流程如圖3所示。

圖3 文檔資料哈希值計算流程

Step1:定義文檔路徑函數:def CalcSha256(filepath)。

Step2:使用二進制模式讀取文檔,并將該函數簡化:with open(filepath,'rb')as f。

Step3:定義SHA-256 算法計算的結果類型:sha256obj=hashlib.sha256()。

Step4:計算目標文檔Hash值:sha256obj.update(f.read())。

Step5:以2 倍長度字符串對象的形式返回摘要信息:hash=sha256obj.hexdigest(),其中僅包含十六進制數碼。

Step6:輸出hash值:print(hash)。

Step7:函數最終返回目標文檔的Hash 值:return hash。

4 案例驗證及應用分析

4.1 哈希算法選擇

哈希算法是區塊鏈系統數據信息不可篡改功能發揮的一項重要基礎技術。目前,密碼學相關行業中常用的哈希算法有MD5,SHA 系列等算法。MD5 算法已于2004 年被破解,SHA 算法是一個Hash函數集,現在有SHA-1、SHA-2、SHA-3等不同代表,SHA-256 到目前為止還沒有被破解,故在交通產品質量數據唯一性方面選擇SHA-256 算法進行應用分析。

無論哈希算法的輸入是什么數字格式、文件有多大,輸出都是相對固定長度的比特串。以比特幣使用的SHA-256算法為例,無論輸入是什么數據格式和文件,輸出的都是256bit。其中每個bit 位就是一位0或者1,256bit就是256個0或者1的二進制數字串,用16進制數字來表示的話,16等價于2的4次方,所以每一位16 進制數字可以用4 位bit 位來代表。那么,256 位bit 信息通過用16 進制數字表示,也就是64位了。

4.2 交通產品信息一致性檢驗應用

以特定交通產品為例,從本地過程數據庫中摘錄主要試驗檢測數據信息及質量保證資料文檔,經過項目質檢機構、建設單位、施工單位、監理單位、檢測單位、設備廠家或者供應商等節點的確認后,這些資料將被上傳至區塊鏈系統數據庫。上傳過程中,采用SHA-256 算法進行計算,并得出唯一值的16 進制(共計64 位)哈希計算結果,該結果具有不可逆性和唯一性,能夠有效保障上傳資料的完整性和真實性。

如圖4 所示,如果在字符串“電纜ZR-KXGsFP2VRP2”中插入一個空格字符,會導致其哈希值計算結果改變。文章對試驗檢測數據信息進行了詳細分類,并根據實際應用需求開展多次哈希計算及確認。結果表明,各節點單位如果篡改該產品檢測數據及文檔資料的信息,將會導致其哈希值發生明顯改變。

圖4 字符信息一致性哈希值計算結果

在交通產品質量控制區塊鏈應用系統中,若檢測到區塊鏈數據庫信息與鏈下各節點數據信息哈希值計算結果有不一致的現象時,證明數據存有篡改現象發生,系統設置本地數據庫數據信息還原功能,可將篡改后的數據恢復為經各方確認后上鏈的原始數據。

5 結論

通過區塊鏈技術在公路工程交通產品質量控制實際業務場景下的應用探索,針對Hyperledger Fabric 典型區塊鏈平臺,研究選擇了SHA-2 族經過迭代改進后安全性更高的SHA-256散列算法,基于對算法的原理介紹,明確運用本算法解決公路工程交通產品試驗檢測數據不可篡改的思路和應用流程,最后以某高速公路某標段抽檢電纜為例,驗證了哈希算法在交通產品質量檢測字符及文本信息一致性檢驗方面的有效性和可行性,實現了全過程重要節點信息上鏈的不可篡改、全員共享,并提供從結果到源頭的可追溯性查詢流程。研究成果可減少或者避免交通產品質量監督過程中的質疑、矛盾和糾紛等問題發生,確保數據安全,對各參建單位的工作效率和質量有顯著的提升作用。

猜你喜歡
哈希一致性區塊
關注減污降碳協同的一致性和整體性
注重教、學、評一致性 提高一輪復習效率
IOl-master 700和Pentacam測量Kappa角一致性分析
區塊鏈:一個改變未來的幽靈
區塊鏈:主要角色和衍生應用
區塊鏈+媒體業的N種可能
讀懂區塊鏈
基于OpenCV與均值哈希算法的人臉相似識別系統
基于事件觸發的多智能體輸入飽和一致性控制
基于維度分解的哈希多維快速流分類算法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合