999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于比特幣技術的供應鏈管控與溯源方案

2019-01-02 03:44:52堯,文
計算機工程 2018年12期
關鍵詞:信息

陸 堯,文 捷

(復旦大學 計算機科學與技術學院 復旦-眾安區塊鏈與信息安全聯合實驗室,上海 200433)

0 概述

供應鏈的通用定義為“在產品生產和流通過程中,一個由供應商、制造商、分銷商、零售商和最終消費者等組成的自上而下的連接網絡”[1],供應鏈管控是現代企業市場競爭力的重要組成部分。由于供應鏈在流動中涉及到大量的數據處理和交互,將互聯網技術引入供應鏈管控,實現供應鏈全程信息化已成為一種趨勢。利用管理學、金融學、統計學和計算機科學等各學科的最新成果,提升供應鏈的效率和安全性是當今業界研究的熱點之一。

本文總結供應鏈管控中的幾個關鍵因素,基于相關領域現有的研究與應用,結合區塊鏈、分層錢包和多重簽名技術,提出一種新型的供應鏈管控與溯源方案。該方案利用比特幣及區塊鏈技術在去中心化、可溯源、防篡改、信息安全等方面的優勢,可為區塊鏈技術的推廣與應用提供一種新的思路。

1 研究現狀

現階段,供應鏈管控及其信息化是學術界和工業界共同的研究熱點。如:文獻[2]論述了目前供應鏈管控的關鍵因素、常用策略和設計方向;文獻[3]總結分析了供應鏈管控中各類建模方法的特點和優劣;文獻[4]提出了評判供應鏈性能的幾個關鍵指標和測量框架;文獻[5]提出一種基于SCOR模型的信息化供應鏈管控方案,使計算機可以輔助和監控供應鏈的流動;文獻[6]設計實現了一個基于RFID與物聯網技術的供應鏈信息交互模型,提升了供應鏈在信息獲取、數據流通和整體監控上的效率。在工業界中,沃爾瑪利用條形碼(UPC)技術和射頻數據通信(RFDC)技術構建了一條低成本、高效率的補貨系統,大幅提升了毛利率[7];京東在2016年完成了全供應鏈的電子化改造,數據顯示僅在倉儲交接階段,每年就為其節省了約一億元開銷[8]。

現有的信息化供應鏈管控研究成果與應用方案,主要存在如下的可改進環節:

1)大部分供應鏈管控系統采用中心化設計,系統負載上限嚴重受制于中心服務器性能。一旦企業業務需求快速擴張,原有系統極可能不堪重負,導致整條供應鏈無法正常流動;并且中心化系統的軟硬件升級不僅非常困難,而且成本極高。以IBM服務器為例,由一套中等配置的小型機升級至大型機解決方案需要上億元的投入。

2)現階段所有管控系統都使用數據庫記錄供應鏈信息。在數據庫的選擇上,若使用中心式數據庫,則會導致中心服務器性能瓶頸和中心服務器強依賴性等問題;若使用分布式數據庫,則會產生系統通信開銷大、存取結構復雜、安全性降低和難于維護等問題[9]。

3)管控系統的安全性完全依賴于中心服務器和數據庫。一旦兩者被攻破,所有用戶信息、交易記錄和其他關鍵數據將全部暴露甚至被篡改,給供應鏈的所有參與者帶來嚴重安全威脅。

4)在實際商業應用中,產品的防偽驗證是具有重要需求。現有方案大多采用“驗證碼+驗證平臺”的形式,需要用戶連接廠家驗證平臺后驗證防偽信息。在該方式中,不僅驗證碼極易被偽造與冒用,維護一個龐大的驗證平臺也需要非常大的開銷。

針對上述問題,本文結合區塊鏈、分層錢包和多重簽名技術,設計了一種基于比特幣技術的供應鏈管控方案。本文的主要貢獻如下:

1)將現在僅存于比特幣和以太坊系統中的確定性分層錢包技術引入到權限管控領域中,在編碼上直接表達權限的區分和層級關系。這種方案可以推廣至物聯網編碼領域,構建一套層級關系明確、空間充足的編碼體系。

2)利用區塊鏈記錄系統正常運行所需的信息,數據庫系統僅作為輔助工具使用。方案在運行上采用半中心化的架構,系統的所有者擁有較高的控制權。區塊鏈在生產環境下中心化與去中心化的優劣之爭不斷,本文方案提供了一種相對平衡的解決方式。

3)擴展了區塊鏈交易的應用場景。現階段基于區塊鏈的各類應用大多采用改變區塊鏈交易中記錄內容的方式,以滿足不同的需求。本文方案直接使用區塊鏈交易本身來表達信息,是一種區塊鏈應用上的創新,為區塊鏈技術的推廣和應用提出了新的思路。

4)充分利用區塊鏈和比特幣技術中在去中心化、信息可溯源與不可篡改等方面上的特性,設計了一套完整的信息化供應鏈管控方案,解決了現有系統存在的一些問題。

2 方案背景技術

2.1 區塊鏈

區塊鏈作為比特幣的底層技術,承載著驗證并記錄合法比特幣交易的功能[10]。“區塊”是一個聚合了部分交易信息的容器類數據結構,一般由一個包含元數據的區塊頭和緊隨其后的一系列交易組成。對每個區塊頭進行SHA256運算后[11],可以得到一個用于標識該區塊的哈希值。區塊鏈是由區塊構成的一種有序鏈型數據結構,鏈中每個區塊都包含前區塊的哈希值,可以由鏈上任意區塊追溯到第一個區塊(創始塊),其結構如圖1所示。

圖1 區塊鏈結構

由于區塊頭包含了父區塊的哈希值,因此當前區塊的哈希值會受到父區塊的影響。一旦某區塊發生改變,所有后續區塊必須全部重新計算。當一個區塊擁有了足夠多的后續區塊后,對它的任何改動將消耗難以承受的巨大算力,所以一條足夠長的區塊鏈可以保證其記錄的信息不可更改,這是區塊鏈安全性的重要基礎。

2.2 非對稱加密與比特幣密鑰

非對稱加密算法是信息安全領域的數學基礎之一。在非對稱加密算法中,密鑰由一對數學相關的公鑰和私鑰組成,公鑰完全公開,可在不安全的條件下傳輸和儲存,私鑰則必須保密。在算法中,若公鑰為加密密鑰,則發送方可在任意網絡上發送加密信息,只有私鑰的擁有者可以正確解密,即實現了數據的加密傳輸。若公鑰為解密密鑰,則只有通過私鑰加密的信息(也即數字簽名),才可以被該公鑰正確地解密,即實現了數據的來源驗證。

比特幣系統使用非對稱加密算法來控制比特幣的所有權。比特幣密鑰是一對“私鑰/公鑰”對,公鑰為解密密鑰。當一筆新的支付交易進入網絡后,網絡節點會利用支付者的公鑰驗證交易中數字簽名的合法性,從而確定交易是否來源與比特幣的所有者。

2.3 確定性分層錢包

“比特幣錢包”指用于存儲密鑰的加密存儲文件或數據庫,用戶可以在錢包中生成多對密鑰。錢包總體上分為2類:非確定性(隨機)錢包和確定性(種子)錢包。

非確定性錢包隨機生成部分相互無關的私鑰。由于私鑰之間沒有關聯,因此需要備份錢包中所有的密鑰。一旦某個密鑰丟失,它控制的所有比特幣也會丟失。因此,非確定性錢包難于管理和備份。

為了改進上述問題,比特幣BIP0032標準中提出了“分層確定性錢包”(Hierarchical Deterministic Wallet,HDW)技術。分層錢包生成一個128 bit到256 bit的隨機數作為“種子”,錢包中所有的密鑰都衍生自這個種子及其哈希后的“鏈碼”。并且,每對密鑰同樣可以通過哈希獲得自己的“鏈碼”以衍生下一層密鑰。最終,分層錢包的所有密鑰構成一個具有層級關系的樹狀結構。

分層錢包的優勢主要有3個:1)只要備份種子就能還原整個密鑰樹;2)樹狀結構在應用中可以表達額外的組織含義,例如某個分支用作收入,另一個用作消費;3)在分層錢包中子公鑰可由父公鑰直接衍生,這就允許在不接觸私鑰的情況下,衍生出一系列合法的公鑰。

2.4 多重簽名

數字簽名是非對稱密碼系統的一個重要的應用,用于確認信息來源。消息發送方使用哈希函數從信息中提取一段摘要并用私鑰加密(簽名),接收方利用公鑰解密簽名,若其與采用相同哈希函數提取的摘要相同,則能確認消息來自密鑰的所有者。

在比特幣和其他區塊鏈系統中,簽名算法用于保證交易的合法性。區塊中每條交易記錄都有一個混合了交易信息和接收方密鑰的鎖定腳本。當接收方發起一個新的交易時,必須提供上一個交易輸出中鎖定腳本對應的公鑰和數字簽名(解鎖),才能被系統接納并記錄到賬本(區塊鏈)中。以此為基礎,整個比特幣網絡在不需要中心機構的情況下,實現了交易的自動驗證和比特幣所有權的安全轉移。

在實際應用中,出于安全和管理等原因,一些比特幣交易需要經由不同的實體同時許可才能完成。比特幣協議采用多重簽名技術實現該需求,多重簽名交易的鎖定腳本記錄了N個公鑰及其對應簽名,至少需要提供其中的M(M≤N)個才可以解鎖交易輸出,從而發起新的交易。

3 方案設計

3.1 方案整體架構與流程

本文方案整體架構如圖2所示。

圖2 本文方案整體架構

一般而言,供應鏈可分為內部與外部兩類。內部供應鏈指企業內部產品在生產和流通過程中涉及的采購、制造、分銷、倉儲等部門構成的供需網絡;外部供應鏈指企業外部參與企業相關產品生產與流通的原材料供應商、生產廠商、儲運商、零售商和最終消費者組成的供需網絡[12]。本文方案針對外部和內部供應鏈采用了不同的架構。

在外部供應鏈上,方案使用去中心化設計。上游生產商、中游儲運與零售商和下游的消費者之間沒有邏輯關系,密鑰相互獨立;在內部供應鏈上,方案使用“驗證授權”的方式,維護一個保存分層密鑰的授權服務器 。內部員工仍保有自己的密鑰,但進行操作時,需要向授權服務器請求自己級別的密鑰。 內部的私鑰不對外公開。

本文方案并不限制底層的區塊鏈平臺。無論使用以太網、Fabric或其他類似的區塊鏈平臺,只要提供基本的查詢、交易和部署鏈碼等功能即可。

3.2 密鑰分配

在本文方案中,每個實體都擁有一對密鑰。本文將密鑰表示為(xk,xK),其中,xk為私鑰,xK為公鑰,x為密鑰的持有實體,(xk,xK)?(yk,yK)表示在分層錢包中,父密鑰(xk,xK)衍生出子密鑰(yk,yK),或(yk,yK)是由父密鑰(xk,xK)衍生出的子密鑰。

本文方案的密鑰分配可分為3類:人物實體,產品實體和權限實體。

1)人物實體密鑰分配

本文方案人物實體(例如供應商的物流員工,終端消費者等)的密鑰(xk,xK)唯一且相互無關聯。在采用安全隨機源的情況下,該條件很容易達到。

2)產品實體密鑰分配

產品實體指供應鏈源頭處的相關實體,包含生產商、代工廠、生產商的所有產品及其對應的物理單品。產品實體的密鑰在生產階段采用分層錢包技術分配。

假設產品生產商為P,擁有一對主密鑰(Pk,PK)。Pi∈P,i∈{1,2,…}表示Pi是P的一個代工廠。p∈P表示p是P生產的一款產品。pj∈Pi,j∈{1,2,…}表示pj為p的一件單品,該單品由代工廠pi生產。

產品實體的密鑰分配方式如下:

(Pk,PK)?(Pik,PiK),i∈{1,2,…}

(Pk,PK)?(pk,pK)

(pk,pK)?(pjk,pjK),j∈{1,2,…}

其中,pjK可以作為單品pj的唯一標識。該標識空間約為232個,完全滿足生產需要。

3)權限實體密鑰分配

權限實體指在內部供應鏈中,授權服務器Serv內部保存的權限,例如公司中 “董事長”“總經理”或“物流員工”等職位。權限實體的密鑰在授權服務器Serv內部采用分層錢包技術分配。

假設使用內部供應鏈的機構為T,擁有一對主密鑰(Tk,TK)。權限可以表達為一個樹狀結構,父節點擁有更高的權限,對自己的子孫節點持有管控權。

權限實體的密鑰分配方式為:

(Hk,HK)?(Lik,LiK),i∈{1,2,…}

其中,H為高級權限,Li為H管控的下一級權限,表示為H?Li。

為避免最高權限數量不唯一,主密鑰(Tk,TK)不直接代表最高權限,而是將(Tk,TK)衍生出的第一代子密鑰作為最高權限實體的密鑰。

授權服務器Serv內部的權限實體密鑰結構如圖3所示。

圖3 授權服務器Serv內部密鑰結構

3.3 權限管控

權限管控分為“授權”“除權”和“查詢權限”3個部分。本文方案將權限管控的相關信息全部以交易的形式置于區塊鏈上,交易的形式化表示如下:

Sigin1&Sigin2&…→Sigout1&Sigout2&…

其中,Sigin表示該交易的“輸入簽名”,記錄了交易來源,多個輸入說明來源為一個“多重簽名”,即該交易由多方確認達成,Sigout表示該交易的“輸出解鎖條件”,記錄了以該交易為輸入,創建新交易需要的(多重)簽名。

3.3.1 授權

授權階段需要授權服務器Serv、授權人a∈X和被授權人b三方參與。a授予b的權限Y必須低于a的權限X,且為X的直接下屬,表示為Y?X。

授權操作需要3個交易來表達,流程如下:

//a向Serv發送授權請求b∈Y

a request Serv with b∈Y

//Serv驗證a身份和權限

if a∈Y and Y?X

//創建交易1,發出授權信息

create transaction None→Siga& SigX

//創建交易2,確認被授權人

if verify (Siga) and verify (SigX)

create transaction Siga& SigX→Sigb& SigY

//創建交易3,被授權人接受授權

if verify (Sigb)create transaction Sigb& SigY→SigY

交易1沒有輸入簽名,類似與比特幣系統中的“創幣交易”。

由于X的私鑰Xk僅保存在Serv內部,交易1和交易2需要Serv輔助完成(生成SigX)。3個交易完整地記錄了授權人a及其權限X、被授權人b、被授予的權限Y和授權時間等信息,且授權流程需要雙方共同確認(使用私鑰簽名交易)完成。

3.3.2 除權

除權階段需要授權服務器Serv、除權人c∈Z兩方參與。其中,c的權限Z必須高于需要解除的權限Y,且為Y的直接上屬,表達為Z?Y。

除權操作需要2個區塊鏈交易來表達,流程如下:

//c向Serv發送除權請求b?Y

c request Serv with b ?Y

//Serv驗證c身份和權限

if c ∈ Z and Z ?Y

//創建交易4,發出除權信息,確認除權人

create transaction SigY→Sigc& SigZ

//創建交易5,除權人確認除權

if verify (Sigc) and verify (SigZ)

create transaction Sigc& SigZ→Sigc& SigZ

交易4的輸入來源于交易3的輸出Sigb→SigY,即授權b∈Y的最后一個交易。由于采用了分層錢包技術分配密鑰且Z?Y,因此通過Z的私鑰Zk可以生成SigY以完成交易4。交易5是一個“自我交易”,該交易用于區分“授權交易”和“除權交易”。

2個交易完整地記錄了除權人c及其權限Z和除權時間等信息,并且除權階段不需要被除權人的確認。

3.3.3 權限查詢

權限查詢不需要任何實體參與,僅憑區塊鏈上的現有交易即可完成。

現假設需要查詢b是否擁有權限Y,流程如下:

if blockchain contains (Sigb& SigY→SigY)

if no transaction after Sigb& SigY→SigY

return true

return false

若b∈Y,根據上文對授權操作的描述,區塊鏈上必然存在交易Sigb&SigY→SigY,且不存在后續交易。

若b?Y,存在2種情況:b從未被授權Y,鏈上不存在交易Sigb&SigY→SigY;b曾被授權Y,鏈上存在交易Sigb&SigY→SigY。但后被除權,則根據除權過程的描述,必然存在后續交易Sigc&SigZ→SigC&SigZ,其中,c為除權人。

由于區塊鏈上查詢交易的歸屬僅需公鑰,當人物和權限實體公布公鑰后,即可以根據當前鏈上的交易確定b是否擁有權限Y。

3.4 物權轉移

本文“物權轉移”泛指供應鏈上的產品在不同的實體中交接的操作。與權限管理類似,物權轉移的所有相關信息也會以交易的形式記錄在區塊鏈上。單品從供應鏈源頭(代工廠)生產,至供應鏈末端(消費者)的流程可以分為生產和運輸2個階段,本節描述這2個階段的流程設計。

3.4.1 生產階段

生產階段包含了單品pj由代工廠Pi生產、通過質檢并確認發貨的過程,需要2個交易來記錄,流程如下:

//代工廠Pi生產出產品p的一件單品pj,并進行質檢

if pjis qualified

//(pk,pK)衍生子密鑰(pjk,pjK),分配給pj

derive key pair (pjk,pjK) from (pk,pK)

brand pjwith pjK

//創建交易1,記錄合格產品的生產信息

create transaction None→Sigpj& SigPi

//創建交易2,記錄發貨信息

if verify (Sigpj) and verify (Sigpi)

create transaction Sigpj& Sigpi→SigS& SigT

else

destroy pj

交易1是一個無輸入的交易,表明了該單品的產地(代工廠)。在交易2中,SigS為代工廠Pi發貨部門權限的簽名,SigT為該單品接收方(如存儲商)對接部門權限的簽名。

3.4.2 運輸階段

運輸階段包含單品從供應鏈源頭發出,經由中間環節運輸至供應鏈末端的各個物權轉移操作。該階段實際上是單品在各個機構(儲運商、零售商等)的內部供應鏈中流動,并交由下一個機構繼續運輸的過程。

現假設物權的當前歸屬為人物實體ai∈Ai,i∈{1,2,…},其中,Ai為ai擁有的不同權限。轉移的目標權限為Bj,j∈{1,2,…}。例如,現在單品pj位于一輛多人負責的運輸車上,下一階段需要交由質監部門和倉儲部門接收并入庫。

根據下文即將描述的物權轉移流程,當前區塊鏈上存在交易:

Siga1&Siga2&…→SigB1&SigB2&…

而后具有接收權限的人物實體bj∈Bj批準接收,并將后續的目標權限標記為Ct,t∈{1,2,…}。轉移操作的流程為:

//bj向Serv發送物權轉移請求

bjrequest Serv with transfer Siga1& Siga2&…→SigB1& SigB2& …

//Serv驗證bj身份和權限

if bj∈Bjfor all j∈{1,2,…}

//Serv使用Bjk,將物權轉移至bj

create transaction SigB1& SigB2&…→Sigb1& Sigb2&…

//bj批準轉移,將后續轉移目標設為Ct

if verify (Sigbj) for all j∈{1,2,…}

create transaction Sigb1& Sigb1&…→SigC1& SigC2&…

在3.3節描述的權限管控流程中,交易的輸入或輸出是“人物實體+權限實體”混合簽名的形式,而在物權轉移階段的相關交易中,不存在人物實體和權限實體在某一端混合的情況。因此,在權限管控和物權轉移交易混合記錄在一條區塊鏈的情況下,不會造成交易表達信息的混淆。

當物權在外部供應鏈間轉移時,交易也采用類似的流程構建。例如生產階段最后的交易為Sigpj&SigPi→SigS&SigT,接收方負責人t∈T和發出方負責人s∈S共同確認交接完成后,雙方構建如下交易即可完成物權轉移記錄的上鏈:

SigS&SigT→SigS&Sigt

Sigs&Sigt→SigN1&SigN2&SigN3&…

其中,Ni為接收方內部供應鏈的后續目標權限。

當物權轉移到供應鏈末端實體時,利用“自我交易”將物權的最終歸屬改為實體本身即可。例如商品交易最終達成時,消費者c完成如下交易:

lastInput→Sigc

Sigc→Sigc

該自我交易的兩端都是人物實體,因此,不會和除權交易中的自我交易混淆。

3.5 產品溯源

由于所有物權轉移的相關信息都以交易的形式記錄在區塊鏈上,因此本文方案中的產品溯源可直接以查詢區塊鏈交易的方式完成。

假設當前單品pj的物權位于x,x可能為人物實體或權限實體。根據上文對物權轉移的流程定義,區塊鏈中必然存在交易:

Sigx→SigN1&SigN2&…

其中,Ni為后續目標人物實體或權限實體的簽名(當其為供應鏈末端時為Sigx本身)。

該單品的溯源流程如下:

transaction trans=Sigx→SigN1& SigN2&…

while trans.input is not None

//查詢前序交易

trans = lastTransaction(Sigx→SigN1& SigN2&…)

//輸出溯源信息

print extractPubKey (trans.input)

print trans.time

該流程實際上是一個不斷查找前序交易的過程。這個過程提取所有參與pj流動的實體簽名,根據簽名獲取實體公鑰,從而定位物權轉移參與實體的相關信息。交易的時間戳即為物權轉移的確認完成時間。

3.6 防偽驗證

假設需要查詢供應鏈源頭為P的單品pj的合法性,流程如下:

transaction trans=Sigx→SigN1& SigN2&…

while trans.input is not None

//查詢前序交易

trans = lastTransaction(Sigx→SigN1& SigN2&…)

//提取代工廠Pi簽名,獲取公鑰

publicKey=extractPubKey (trans.SigPi)

if PK?PiK

return true

else

return false

防偽驗證的流程基于本文方案的2點特性:生產階段的第一個物權轉移記錄為交易None→Sigpj&Sigpi,因此,可以確定pj的供應鏈源頭為Pi,并根據SigPi獲取公鑰PiK;產品實體采用分層錢包技術分配密鑰,因此,在沒有生產商私鑰Pk的情況下,仍然可以驗證PK?PiK是否成立,即Pi是否為P認可的產地,由此判斷pj是否為一件合法的單品。

防偽驗證的流程無需第三方參與,只需要生產商公布自己的公鑰PK即可。

4 方案分析

4.1 秘鑰分配

在現階段,區塊鏈技術已經逐步延伸到各個領域。同時,分層錢包樹形結構密鑰表達的組織層級關系,已經開始被應用于驗證交易以外的用況。但在常規的區塊鏈應用中,密鑰僅作為人物實體的身份標識,用于生成標記交易的合法性的簽名或數字證書。如文獻[13]采用分層錢包技術,將個人的支付地址演化成一系列樹狀密鑰簇,構建了一個抗攻擊的匿名交易系統。文獻[14]利用分層錢包技術的樹狀結構,提出了一種物聯網智能家居應用領域上下級設備和應用的標記方式。

本文方案將供應鏈中的實體分為人物實體、產品實體和權限實體3類。人物實體的密鑰相互獨立,權限實體和產品實體密鑰采用分層錢包技術分配。這種密鑰分配方式是本文方案后續設計的基礎,也是一種非對稱加密密鑰使用的創新。

產品實體的密鑰分配分為3個階段:

(Pk,PK)?(Pik,PiK),i∈{1,2,…}

(Pk,PK)?(pk,pK)

(pk,pK)?(pjk,pjK),j∈{1,2,…}

這3個階段在編碼上直接表達了產品實體的3個對應關系:代工廠Pi隸屬與生產商P,p是生產商P的一個產品,pj是產品p的一個單品。由于分層錢包技術在密鑰衍生上的唯一性和不可逆性,僅有父級密鑰可以衍生出合法的子孫密鑰用于交易簽名。這種層級關系具有極高的穩定性和安全性,構成了本文方案產品溯源和防偽驗證的基礎。

本文方案將單品pj的公鑰pjK作為pj的唯一編碼標識,這種利用分層錢包技術的編碼方式可以廣泛應用于物聯網及相關領域。在常規的物聯網編碼體系(EPC、UID等)中,實體的層級關系通過編碼的分段解析確定。例如在EPC-96中,64位的編碼被分為8位標頭、28位廠商識別碼、24位對象分類碼和36位序列號4個碼段。這種分段解析的方式,使很大一部分編碼空間被用于描述“分層”信息(不同的版本號、不同的廠商、不同的對象等)。在本文方案中,層級關系直接在編碼上表達,相對于傳統編碼體系節約了大量編碼空間。并且,公鑰對應的私鑰可以用于滿足某些需要加密的需求(例如本文方案中的防偽驗證)。

傳統編碼體系的另一個局限是需要一個統一的管理機構(如EPC global)分配碼段,以保證編碼的唯一性。這樣雖然便于管理,但在一定程度上限制了用戶的使用。在本文方案中,所有編碼都由隨機種子生成,用戶使用安全的隨機生成函數可以獲得唯一的主密鑰,不再需要統一的管理機構。

本文提出了人物實體與權限實體獨立分配密鑰的方式,該方式是本文方案權限管控的基礎。在現有使用分層錢包技術的方案中,下級實體的密鑰直接衍生自其附屬的上級實體密鑰,例如在文獻[15]設計的智能家居系統中,傳感器的密鑰直接衍生自其上層智能網關的密鑰然而在權限管控領域,這種直接衍生的方式存在3個明顯的缺陷:1)一旦上級人物實體密鑰泄露,其下屬所有實體的密鑰將全部暴露,對系統安全帶來災難性的后果;2)如果人物實體的權限變動,需要重新為人物實體分配相應級別的密鑰,非常繁瑣;3)如何回收帶有權限的人物實體密鑰,在系統中將其標記為無權限或廢止比較困難。

本文方案將權限實體從人物實體中獨立出來,采用對人物實體“加權”和“除權”的方式表達人物的當前權限。該方式完全解決了上文描述的3個缺陷:由于人物實體的密鑰相互獨立,單一人物實體密鑰的泄露、更換、授權和除權完全不影響權限體系的正常運行。權限實體的私鑰保存在授權服務器內部,只公布其公鑰,保證了方案的整體安全性。權限實體的密鑰利用分層確定性錢包技術分配,利用密鑰樹的層級關系表達了權限的上下級關系。由于衍生函數的單向性,因此這種層級關系的安全性和穩定性在密碼學上得到了完整地保護。

4.2 權限管控

本文方案提出一種基于區塊鏈交易的權限管控方式,該方式的權限層級關系采用分層錢包技術確定,利用區塊鏈技術保證權限管控體系的去中心化、安全性和公開性。

在現有的信息化系統中,權限管控是保證系統安全的重要核心之一。但無論是Linux系統內核[15],還是大型的ERP系統[16],其權限管控的相關信息都會被記錄到一個經過加密的文件或數據庫系統中,構成類似與“人物-權限”的鍵值對。

這種方式存在以下可改進的地方:首先,權限信息的不公開會造成獨立系統間的交互困難,外界對于內部權限的驗證需要專門的系統服務來處理。例如在供應鏈中,如果雙方系統不提供相應的接口,生產商和儲運商無法確認對方交接人員的權限信息,第三方人員也無法確認供應鏈參與人員實體的權限。其次,由于采用本地化存儲,一旦保存權限信息的服務器出現故障,依賴于權限體系的所有業務邏輯都無法繼續進行。并且,權限體系的安全性完全依賴于保存權限信息的服務器或數據庫系統,一旦其被攻破,將對系統安全造成嚴重威脅。最后,權限管控的流程完全掌控在授權方,缺失了被授權方的確認流程。部分系統并不記錄權限管控的詳細信息(授權人、授權時間和授權人權限),會對問題回溯和責任定位造成困難。

本文方案在將人物實體和權限實體分別分配密鑰的基礎上,利用區塊鏈技術提出了一種可以改進上述問題的權限管控體系。通過上文對“加權”和“除權”流程的形式化定義可以看到,方案中所有權限管控的信息全部以交易的形式記錄在區塊鏈上。由于區塊鏈是一個去中心化的P2P系統,因此網絡中任何節點都可以進行“權限查詢”的流程,從而驗證人物實體的權限信息。

相對于依賴于中心權限系統的傳統系統,本文方案僅在進行授權和除權操作時需要授權服務器的輔助,權限查詢操作不依賴于單一服務器。如果節點緩存有鏈上的相關交易,該操作甚至可在無網絡環境下進行,數字簽名算法保證了緩存數據的安全性和可驗證性。由于在生產環境中,相對于權限查詢操作,加權/除權操作僅占很小的一部分,因此本文方案降低了單一服務器的運行壓力,具有很高的應用價值。

本文方案設計的權限管控體系的安全性不再依賴于某系統或數據庫,而是由區塊鏈及其底層的數字簽名算法保證。以一個授權交易Siga&Sigx→Sigb&SigY為例,該交易發起了一個b∈Y的授權操作。由于有且僅有私鑰ak和Xk可以生成簽名Siga&SigX,而Xk保存在安全的授權服務器內部,因此本文方案保證了授權操作的安全性(除權操作同理)。

現階段已有一部分成果利用多重簽名技術的優勢解決多方交易的信任、安全等問題[17],但其主要目的在于驗證交易的合法性,而非保存交易信息,提供系統記錄的可溯源性。本文提出的這種以多重簽名作為信息載體的方式,為多重簽名技術的應用提出了一種新的方向。

在常規系統中,一旦保存權限信息的服務器或數據庫被攻破,攻擊者可以在無記錄的情況下增加、刪除和篡改人物實體的權限,對整個權限體系造成嚴重破壞。在本文方案中,區塊鏈的不可篡改性為權限信息存儲提供了安全基礎。由于鏈上交易不可篡改,不需要主動保護鏈中的授權和除權交易,即使在不安全的網絡環境中,密碼學也保證了權限信息的安全可靠。同時,由于區塊鏈的可回溯性,即使在出現安全問題的情況下,也可以迅速進行排查和責任定位,防止危害進一步擴大,及時恢復權限系統的正常運行。

在本文方案中,在通過創建交易Siga&SigX→Sigb&SigY發起授權操作后,還需要被授權人通過交易Sigb&SigY→SigY確認(或者說接受)該授權。這種“共同確認”的授權方式對被授權人來說既是一種保護(不會被強行授權),也是一種約束(授權確認后不可抵賴)。這是本文提出的一種新型權限管控模式,在進一步加強權限體系安全性的同時,也可以避免實際應用中很多權限相關的糾紛。

考慮到在實際應用中發起除權操作的人物實體不一定是授權階段的授權人,因此,授權操作的最后一個交易Sigb&SigY→SigY的輸出為僅需要SigY,任何一個權限高于Y的人物實體c∈Z都可以通過創建SigY→Sigc&SigZ來解除被授權人的權限。

4.3 物權轉移

供應鏈中產品在實體間不斷轉移,信息化管控系統需要處理和記錄這些轉移信息,并保證記錄的安全性。在常規系統中,這些信息被記錄在一個中心式或分布式數據庫內。但正如文獻[18]指出,若采用中心式數據庫系統,容易產生性能瓶頸,且當數據庫出現故障時,整個系統將無法正常運行;若采用分布式數據庫,則需要面對一些諸如數據冗余、一致性和系統可靠性等復雜的問題。本文方案利用區塊鏈技術,在保證安全性的情況下,解決了供應鏈管控系統中的上述問題。

本文方案的物權轉移信息完全以交易的形式記錄在區塊鏈上,利用多重簽名技術使方案可以用于多方參與的轉移過程。與權限管控類似,物權轉移的流程需要交接雙方的共同確認才能完成,解決了實際應用中因交接信息缺失而引發的糾紛。例如在快遞行業中,經常出現的丟件、冒領。這種“共同確認”的特性既保護了交接雙方的利益,也使交接記錄完整地記錄下來,出現問題時便于準確定位和追責。

在本文方案中,一次交接的過程需要“人物實體->權限實體”和“權限實體->人物實體”2個交易來記錄。考慮到實際應用中物權的轉移并不總是發生在人物實體間。例如倉儲部門的負責人在對產品進行清點入庫時,還無法確定下個階段負責運輸的配送人員。因此,這種設計可以滿足生產環境的實際用況,不會影響供應鏈本身的業務流程。

在常規的供應鏈管控系統中,物權轉移的交接記錄在數據庫內部是“離散的”數據行。通過修改數據庫內容,可以對供應鏈中某一環節的信息進行篡改。本文方案利用區塊鏈記錄所有物權轉移信息,因此,交接記錄具有完全的可回溯性,產品在系統內的流動無論是邏輯上,還是實際的數據存儲都構成一個完整的鏈條。數字簽名算法保證了鏈條的安全性,供應鏈的參與方無需主動保護物權轉移信息,一旦物權轉移操作被雙方確認并記錄上鏈后,該信息不可被篡改和刪除。

由于區塊鏈系統是一個P2P網絡,對內部供應鏈而言,相較于中心式數據庫,它提供了信息的去中心化處理和存儲,解決了中心化架構中系統整體的性能和運行對于中心服務器的強依賴問題。相較于分布式數據庫,區塊鏈利用共識算法解決了一致性問題,利用數字簽名算法為數據提供了有效性驗證,降低了運維成本。

對外部供應鏈而言,P2P網絡架構打破了獨立系統間數據交互的壁壘。現階段由于系統間的異構性,跨內部供應鏈的數據交互需要雙方提供統一的接口,構建貫穿多個孤立系統的高層次供應鏈管控解決方案存在很大困難。本文方案設計了內部供應鏈間物權轉移的相應流程,多個內部供應鏈共享同一個區塊鏈網絡,利用數字簽名算法等技術實現了安全的全網絡信息共享。相較于常規系統,本文方案低成本、高效率地解決了供應鏈管控中由于系統間異構性造成的“信息孤島”問題。

現階段已經有一些采用區塊鏈存儲交易信息的系統出現。與本文方案相比,這些系統大多利用了一些新的區塊鏈平臺“記錄除交易信息外的冗余數據”的特性。本文方案將所有物權轉移的相關信息都以交易的形式記錄下來。即使是比較原始的區塊鏈平臺,也可以完整實現一整套需求。同時,因為不需要高級功能的支持,不同區塊鏈平臺之間的轉移和升級也變得相對簡單,代碼的基本邏輯不需要經歷大的變動。

需要注意的是,區塊鏈作為一個分布式的數據存儲網絡,比較適合記錄內容簡單且結構單一的數據,例如供應鏈中的物權轉移信息。并且區塊鏈系統的查詢速度相對偏慢,因此,并不能完全替代分布式數據庫。

4.4 產品溯源

現有的供應鏈管控方案由于獨立系統的異構性,產品的全供應鏈溯源需要實現一個兼容供應鏈上所有平行系統間數據交互的高層數據平臺,這會使平臺的構造非常復雜,對平臺本身的性能要求也很高,需要耗費大量的經濟和人力資源。

如上文所述,本文方案產品的流動在區塊鏈上構成了一個完整且保證安全的鏈條,因此,可以根據該鏈條進行產品的溯源。根據方案對溯源流程的形式化定義,在供應鏈各參與方公布自己的公鑰后,任何接入區塊鏈網絡的節點都可以對某件產品進行信息回溯。由于區塊鏈的不可篡改性,從區塊鏈交易鏈條中提取的回溯信息具有非常高的可信度,不存在常規系統中很容易發生的環節出現問題(例如信息丟失、惡意篡改或被攻擊),導致整條供應鏈回溯信息可靠性受到影響。

本文方案中產品溯源所需信息的處理和存儲成本由整個區塊鏈網絡共同承擔,不再需要維護一個復雜度高、資源消耗大的高層數據平臺,也無需擔心數據存儲的安全性,在不安全的網絡環境、甚至離線的情況下,也可以獲取到可靠的產品溯源信息。相較于其他系統,這是本文方案在產品回溯上的另一個優勢。

4.5 防偽驗證

本文方案利用分層錢包技術為產品實體分配密鑰,不僅構建了一套完整的分層編碼體系,而且也提供一種高效的防偽驗證機制。

現行的防偽驗證方案一般采用“驗證碼+驗證平臺”的方式,用戶將產品標簽上的驗證碼輸入廠商維護的網絡平臺,從而獲取產品的驗證信息。這種方案存在如下缺點:1)驗證碼極易偽造和冒用,非法廠商在獲取到一個合法的驗證碼后可大量用于同款產品的仿冒;2)對一個大產量的產品,維護一個需要響應大量驗證請求的網絡平臺成本較高,一部分生產廠家難以承擔;3)網絡平臺如果運行異常或被攻破,將會摧毀整個驗證體系,甚至影響廠商和其他中間商的商業信譽。

本文方案單品的密鑰衍生自其所屬產品,產品和代工廠的密鑰衍生自其廠商。同時,通過質檢的單品在區塊鏈中存有輸入為“單品+代工廠”多重簽名的交易。因此,在供應鏈的源頭處會構成一個“廠商->代工廠->產品->單品”的樹形結構,分層錢包技術中密鑰衍生的單向性保證了該結構的安全和易于驗證,非法廠商無法偽造單品的生產信息。在供應鏈中端或末端,由于用戶可以查詢到產品在整條供應鏈上的轉移記錄,因此不存在類似驗證碼冒用的問題。

與產品溯源類似,防偽驗證信息的處理和存儲成本也由區塊鏈網絡共同承擔,并由數字簽名算法保證驗證過程安全可靠。相對與傳統的驗證體系,本文方案無論是對廠商還是對消費者而言,在經濟性和安全性上都具有較大的優勢。

5 結束語

本文結合區塊鏈、比特幣相關技術和多重簽名技術,設計一套供應鏈管控和溯源方案。該方案將供應鏈內部實體分為“人物實體”“產品實體”和“權限實體”的分類方式,將分層錢包技術用于實體密鑰的分配,并提出一種基于分層錢包技術的樹形結構編碼體系應用于物聯網編碼領域。通過設計基于區塊鏈交易的去中心化權限管控機制和物權轉移信息記錄與驗證機制,為利用區塊鏈交易提供了新的思路。本文方案充分利用區塊鏈和比特幣技術去中心化、信息安全和記錄可回溯等特性,解決了現有系統中一些常見的問題。下一步將根據該方案實現可用的系統框架與原型,逐步優化設計細節,以解決區塊鏈記錄信息速率較低等問題。

猜你喜歡
信息
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
信息超市
大眾創業(2009年10期)2009-10-08 04:52:00
展會信息
展會信息
展會信息
展會信息
展會信息
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 最新国产午夜精品视频成人| 欧美日本在线观看| 国产凹凸视频在线观看| 亚洲最新地址| 欧美日韩第二页| 免费人成在线观看成人片| 最近最新中文字幕在线第一页| 色吊丝av中文字幕| 男女性午夜福利网站| 狠狠色噜噜狠狠狠狠色综合久| 中国国产高清免费AV片| 亚洲无码免费黄色网址| 97久久超碰极品视觉盛宴| 国产办公室秘书无码精品| 欧美成人午夜影院| 伊人91在线| 18禁高潮出水呻吟娇喘蜜芽| 久久精品女人天堂aaa| 亚洲嫩模喷白浆| 波多野结衣在线se| 黄色成年视频| 亚洲码在线中文在线观看| 色首页AV在线| 国产呦精品一区二区三区下载 | 成人午夜免费观看| 久久这里只精品国产99热8| 中文字幕乱妇无码AV在线| 欧美国产精品不卡在线观看| 精久久久久无码区中文字幕| 日韩精品一区二区三区免费在线观看| 天天激情综合| 午夜小视频在线| 国产成人AV男人的天堂| 午夜福利网址| 欧美精品xx| 成人精品在线观看| 五月婷婷亚洲综合| 亚洲婷婷丁香| 亚洲第一网站男人都懂| 欧美不卡视频在线| 夜夜爽免费视频| 91精品伊人久久大香线蕉| 找国产毛片看| 国产成人综合网在线观看| 亚洲欧美日本国产专区一区| 国产激爽大片高清在线观看| 青草视频久久| www.99在线观看| 国产精品不卡永久免费| 亚洲精品国产乱码不卡| 欧美色99| 99精品欧美一区| 国产人成在线观看| 国产成人精品一区二区秒拍1o| 国产99视频精品免费视频7 | 这里只有精品在线| 国产精品制服| 东京热一区二区三区无码视频| 久久香蕉国产线看精品| a毛片基地免费大全| 日韩一二三区视频精品| 欧美翘臀一区二区三区| 国产精品成人免费视频99| 亚洲婷婷六月| 日本一区高清| 暴力调教一区二区三区| 本亚洲精品网站| 97se亚洲| 久久亚洲国产视频| 国产成人高清精品免费软件| 99热国产这里只有精品9九| 国产精品流白浆在线观看| 国产精品永久久久久| 国产日韩欧美成人| 91精品免费久久久| 在线国产资源| 午夜视频在线观看区二区| 亚洲人成在线精品| 毛片卡一卡二| 一级毛片无毒不卡直接观看| 欧美三级视频在线播放| 91色在线观看|