安 洋,李 坤,李軍懷,王懷軍,臧東玲
1(西安理工大學 計算機科學與工程學院,西安 710048)
2(中國啟源工程設計研究院有限公司,西安 710018)
農(nóng)業(yè)是我國的支柱產(chǎn)業(yè),農(nóng)產(chǎn)品質(zhì)量安全事關國運民生,與人民日常健康、生活水平、經(jīng)濟發(fā)展以及社會穩(wěn)定密切相關.傳統(tǒng)供應鏈存在中心化、造假風險、企業(yè)信息孤島、核心企業(yè)信用不能跨級傳遞、違約風險高等諸多痛點,構建安全、穩(wěn)定、可信賴、可追溯、可共享的農(nóng)產(chǎn)品供應鏈系統(tǒng)成為我國農(nóng)業(yè)信息化歷程中重點關注的問題[1].
果品作為市場上最常見的農(nóng)產(chǎn)品,以其良好的口感、豐富的營養(yǎng)獲得了大眾的喜愛,成為人們?nèi)粘1貍涞乃?針對果品質(zhì)量安全,果品質(zhì)量溯源可以很好地為消費者提供一種有效途徑,獲知果品從種植、采摘、運輸、存儲到銷售整個環(huán)節(jié)中的具體操作信息,從而很好地解決了果品質(zhì)量安全問題.信息共享是果品供應鏈管理的一個重要基礎和前提,在供應鏈企業(yè)間合作越來越密切的情況下,企業(yè)間相互信賴是信息共享的基礎,而合作關系的密切程度又決定了信息共享的程度,兩者相互影響.當供應鏈企業(yè)成為戰(zhàn)略合作伙伴關系,核心信息才可能在組織間有保留的交互共享[2].
區(qū)塊鏈具有分布式、交易透明、難以篡改等特點,且無須第三方背書,這與果品質(zhì)量溯源系統(tǒng)需要解決的分布式部署、審計機制、信任機制的需求不謀而合,區(qū)塊鏈技術與訪問控制技術相結合成為當下的研究熱點[3].智能合約作為區(qū)塊鏈的核心技術之一,被廣泛應用到各行各業(yè)中[4].社會信用體系是市場經(jīng)濟體制中的重要體系,社會信用問題歸根結底是企業(yè)信用問題,通過區(qū)塊鏈技術可以有效地實現(xiàn)企業(yè)信用的信息共享[5].
針對供應鏈企業(yè)信息孤島以及非法用戶未經(jīng)授權訪問數(shù)據(jù)資源的問題,本文通過對傳統(tǒng)訪問控制模型分析,針對溯源系統(tǒng)需求,在Hyperledger Fabric 框架的基礎上設計了基于智能合約和企業(yè)信用的訪問控制模型.該模型將傳統(tǒng)基于角色的訪問控制(role-based access control,RBAC)和基于屬性的訪問控制(attributebased access control,ABAC)相結合,以智能合約作為底層技術引入信用值作為跨域訪問的參考屬性,用來解決信息孤島問題保護數(shù)據(jù)安全.
訪問控制作為一種重要的信息安全技術,主要用于控制訪問主體和客體之間的數(shù)據(jù)安全交互,確保用戶在合法權限內(nèi)訪問數(shù)據(jù),并禁止非授權用戶的違規(guī)與越界操作.傳統(tǒng)的訪問控制模型主要包括:自主訪問控制[6],強制訪問控制[7],基于角色的訪問控制[8],基于屬性的訪問控制[9]以及基于任務的訪問控制[10]等.
近些年,隨著區(qū)塊鏈技術的廣泛運用,基于區(qū)塊鏈的訪問控制技術成為眾多學者的研究熱點.目前基于區(qū)塊鏈的訪問控制方法主要分為兩種:基于交易的訪問控制和基于智能合約的訪問控制[3].葛紀紅等人[11]針對能源互聯(lián)網(wǎng)跨企業(yè)、跨部門之間信息共享可能存在的數(shù)據(jù)篡改、泄密等問題,提出了一種基于區(qū)塊鏈的能源數(shù)據(jù)訪問控制方法,該方法可以在保護用戶隱私的同時實現(xiàn)能源數(shù)據(jù)的細粒度訪問控制.汪金苗等人[12]提出了一種基于屬性基加密的區(qū)塊鏈隱私保護與訪問控制方法,該方法采用權威節(jié)點輪值的方式,有效解決了單一授權中心權限過大的問題.
1994年Nick Szabo 將智能合約定義為“一組以數(shù)字形式指定的承諾,包括各方履行這些承諾的協(xié)議”[13].智能合約是規(guī)范兩個或多個參與方之間權利和義務的計算機程序.針對信任第三方交易問題,本文通過使用智能合約可以消除第三方進行交易達到節(jié)約資源的目的.
企業(yè)之間的信任關系是根據(jù)企業(yè)間長久交易的評價和表現(xiàn)建立的,信任會根據(jù)交易行為、交易時間動態(tài)變化.王偉等人[14]用貝葉斯的方法來評估節(jié)點的信任度,通過成功或失敗兩種事件來描述結果,但貝葉斯概率模型僅僅只是計算了此節(jié)點成功或失敗的影響,并不能體現(xiàn)每次交互中的細節(jié)原因.為了精準、客觀的表現(xiàn)供應鏈企業(yè)間信任關系動態(tài)變化且逐漸累加的特點,牛景春等人[15]提出采用交易評價值、獎懲因子、交易次數(shù)、交易時刻和交易金額5 個評價指標作為企業(yè)間信任度計算依據(jù),但上述評價指標并未考慮隨著交易金額增大企業(yè)承擔的風險也會隨之增大等因素.
本文設計的基于智能合約和企業(yè)信用的訪問控制模型(smart contract and enterprise credit base access control,SCECAC),主要為安全有效的實現(xiàn)域內(nèi)、域間的訪問控制.模型是一種基于區(qū)塊鏈和智能合約的訪問認證機制,分層結構如圖1所示,主要由數(shù)據(jù)層、核心層和應用層組成,其中組織內(nèi)的管理員負責本組織內(nèi)的授權和合約制定.
圖1 SCECAC 分層結構
本文在文獻[15]基礎上,通過引入風險因素[16]來體現(xiàn)交易金額與風險之間的關系.以果園基地與加工企業(yè)為例,在當前時刻tk,評價果園基地p對加工企業(yè)q的信任度的計算可分為基礎評價部分和獎懲部分.基礎評價部分是根據(jù)企業(yè)間歷史的交易情況對當前企業(yè)間基礎信用值進行計算,又稱基礎信任度計算公式;獎懲部分是根據(jù)企業(yè)間歷史交易情況對企業(yè)信任度進行相應加減.
企業(yè)間信任度的計算公式如下:
基礎信任度計算公式如下:
D(p,q,tk)為交易風險,主要為了體現(xiàn)出隨著交易金額逐漸增大交易企業(yè)所承擔的風險越來越大的特性,具體如式(3).
其中,m為交易風險系數(shù)m>0,m∈R,可以根據(jù)企業(yè)需求取值.
Pk(p,q,tk)為交易金額比重函數(shù),主要為了體現(xiàn)出交易金額會對企業(yè)間信任度產(chǎn)生影響的特性,如式(4).
其中,Mk(p,q,tk)是tk時刻果品基地p與加工企業(yè)q的第k次交易金額.
φ(tk)為時間衰減函數(shù),主要為了體現(xiàn)出tk時刻企業(yè)間的信任程度隨時間增加而下降的特性,如式(5).
tk以月為單位,表示距離當前交易的時間,0<tk≤60,tk∈R.
Ek(p,q,tk) 表示在tk時刻果品基地p與加工企業(yè)q的第k次的交易評價值.
獎懲部分計算公式如下:
其中,f(n)為獎懲因子,主要為了鼓勵企業(yè)進行高質(zhì)量、高品質(zhì)交易,獎罰因子為f(n),n用于表示獎罰次數(shù),n≤F(k),α為評價值閾值.為了預防企業(yè)進行虛假交易考慮獎賞的力度小于懲罰的力度,獎懲因子f(n)如下:
當n>1,Mk(p,q,tk)>0,0<φ(tk)≤1 時,成立.
引用Mk(p,q,tk)來表示交易金額對獎懲值的影響,使用來計算交易金額權重,其中η 表示交易金額影響因子,且η>0,η ∈R.
企業(yè)信任度計算模型通過企業(yè)交易過程中交易金額、次數(shù)等因素,并使用獎懲機制來計算企業(yè)信任度,可以準確有效地判斷企業(yè)是否守信,維護供應鏈穩(wěn)定.
SCECAC 模型基于傳統(tǒng)ABAC 模型和RBAC 模型,針對“區(qū)塊鏈+供應鏈”的場景,以智能合約作為底層技術,引入信用值作為跨域訪問的參考屬性,實現(xiàn)企業(yè)內(nèi)部不同角色訪問相應數(shù)據(jù)的域內(nèi)訪問以及信任企業(yè)間信息互通的跨域訪問控制過程.SCECAC 總體流程如圖2所示.
圖2 SCECAC 訪問流程
在整個訪問控制過程中,主體通過向策略執(zhí)行點合約發(fā)送請求事務,通過合約之間相互調(diào)用,完成合約制定的策略,返回請求結果.
為了驗證企業(yè)信用計算的有效性,本文對信任度模型和貝葉斯概率評估模型從不同方面進行仿真實驗,具體如下.
實驗1.交易評價值對企業(yè)信用計算的影響
針對交易評價值對企業(yè)信用計算的影響(式(1))進行實驗,其中α=0.8,λ=0.4,β=100,η=0.001,m=0.000 1,Mk(p,q,tk)=100 (萬元).表1為實驗數(shù)據(jù).
表1 不同時刻交易評價值對企業(yè)信用計算的影響
實驗結果如圖3所示,從中可以看出運用貝葉斯模型進行兩次實驗的結果是完全一致的,而本模型的兩條結果曲線則是根據(jù)不同的評價值呈現(xiàn)不同結果,由此可以看出在評價值屬于同一判定范圍的貝葉斯模型并不能做出準確判斷,這說明信任值計算模型可以較準確地計算交易評價值對信任值的產(chǎn)生的影響.
圖3 模型準確性對比
實驗2.交易金額對企業(yè)信用計算的影響
針對交易金額對企業(yè)信用計算的影響(式(1))進行實驗,其中α=0.8,β=100,λ=0.002,η=0.005,m=0.000 1.表2為實驗數(shù)據(jù),金額單位為萬元.
表2 不同時刻交易金額對企業(yè)信用計算的影響
實驗結果如圖4所示,第3、8、12、18 次交易分別為相同評價值不同交易金額且兩次評價值小于閾值,兩次評價值大于閾值.從圖中可以看出,信任度模型可以很好地反映出交易金額在誠信交易和欺騙交易中對信任值的影響,交易金額越大信任值變化越大.同時貝葉斯模型在相同的實驗條件下實驗曲線沒有變化,并不能反映交易金額對信任值的影響.說明信任值計算模型可以較準確地計算交易金額對信任值的產(chǎn)生的影響.
圖4 不同交易金額的信任值
實驗3.交易次數(shù)對企業(yè)信用計算的影響
針對交易次數(shù)對企業(yè)信用計算的影響(式(1))進行實驗,分別取 β=100和β=1進行實驗,系數(shù)分別為α=0.8,λ=0.002,η=0.000 01,m=0.000 1,Mk(p,q,tk)=100 (萬元).表3為實驗數(shù)據(jù).
表3 實驗3 中設置的不同時刻的交易評價值
實驗結果如圖5所示,可以看出第5、6、10、12 次交易評價值都等于1,隨著交易次數(shù)的增加,相同交易評價值對應的信用度不斷增加,權重系數(shù) β=1時,信任度從0.55 提升到了0.63,漲幅為0.08.權重系數(shù) β=100時,信任度從0.68 提升到了0.69 漲幅為0.01,由此可以得到權重系數(shù)可以影響信任度變化趨勢,當權重系數(shù)越大對信任度的影響越小,反之,則越大.說明信任值計算模型可以較準確地計算交易次數(shù)對信任值產(chǎn)生的影響.
圖5 不同β 值的信任值對比
實驗4.獎懲機制對企業(yè)信用計算的影響
針對獎懲機制對企業(yè)信用計算的影響(式(7))進行實驗,α=0.8,λ=0.001,η=0.005,m=0.000 1,Mk(p,q,tk)=100(萬元).表4為實驗數(shù)據(jù).
表4 實驗4 中設置的不同時刻的交易評價值
實驗結果如圖6所示,可以看出,第2-5 次實驗以及第10-13 次實驗評價值連續(xù)相等,獎懲情況則會不斷變化,目的是為了減弱持續(xù)評價值對總體的影響,也可以發(fā)現(xiàn)當評價值高于閾值時修正的幅度小于評價值低于閾值,說明懲罰的力度明顯大于獎勵的力度.說明信任值計算模型可以較準確地計算獎懲機制對信任值的產(chǎn)生的影響.
圖6 獎懲值變化趨勢圖
實驗5.風險因素對企業(yè)信用計算的影響
針對風險因素對企業(yè)信用計算的影響(式(3))進行實驗,分別取m=5和m=10 進行實驗α=0.8,λ=0.001,η=0.005.表5為實驗數(shù)據(jù),金額單位為萬元.
表5 不同時刻的交易金額 (萬元)
實驗結果如圖7所示,可以看出當交易金額增大的時候風險也會變大,且當m=10時,風險變化幅度大于m=5.反之當交易金額減小的時候風險也會隨之減小,且當時m=10風 險變化幅度大于m=5.由此可以得到風險系數(shù)可以影響信任度變化趨勢,當風險系數(shù)越大對信任度的影響越大,說明信任值計算模型可以較準確地計算交易風險對信任值產(chǎn)生的影響.
圖7 獎懲值變化趨勢圖
為了驗證域內(nèi)及跨域訪問控制的有效性,通過主體對同域內(nèi)的客體、域A 中主體對域B 中的客體發(fā)起資源請求兩種實驗方式,通過系統(tǒng)響應結果反映系統(tǒng)可用性.實驗結果證明了模型可以滿足域內(nèi)及跨域訪問需求.
針對果品質(zhì)量溯源場景下企業(yè)間信息孤島問題,本文結合區(qū)塊鏈技術,提出了一種基于智能合約和企業(yè)信用的訪問控制模型.該模型將傳統(tǒng)ABAC 模型和RBAC 模型結合,以智能合約為底層技術,引入企業(yè)信用值作為跨域訪問的參考屬性,利用主體屬性與信用值作為決策依據(jù)實現(xiàn)域內(nèi)與域間的訪問控制.最后,通過實驗驗證了本文提出的訪問控制模型的有效性.