?

基于區塊鏈的企業數據共享模式研究

2021-01-19 02:24文必龍陳友良
計算機技術與發展 2021年1期
關鍵詞:數據源數據安全合約

文必龍,陳友良

(東北石油大學 計算機與信息技術學院,黑龍江 大慶 163318)

0 引 言

隨著大數據時代的到來,企業信息化程度不斷加深,數據逐漸成為企業的重要戰略資源。對于企業中單一的組織部門而言,往往靠自身的數據積累難以挖掘出其中蘊含的有效價值。只有通過開放共享和數據跨域流通才能完成整個企業版圖的繪制。目前企業在推進信息化建設的過程中,普遍以建立數據中心的方式連接不同職能的信息系統,各部門通過數據中心直接或間接地獲取數據,但數據中心的數據共享方式仍會面臨一些問題。首先,由于數據交換不同于傳統的普通商品交易,數據作為被交易的對象時缺少傳統商品所有權的概念。因此數據匯聚到數據中心之后,基礎部門的數據權屬變得不清晰,同時也不利于出現問題時責任的正確匹配。其次,中心化結構特有的數據安全、信息泄露等問題。由于數據具有可復制和易傳播的特性,會導致數據脫離數據中心的控制,數據所有者或管理者無法及時準確控制未經授權的數據進行二次流動,存在數據泄露、越權使用的風險。并且會出現數據被篡改、被破壞的數據完整性問題,同時隱私數據的使用安全也無法保證。區塊鏈技術的出現無疑為解決企業數據共享中的數據安全問題提供了新的思路和解決方案。

該文在傳統的企業數據共享模式中引入區塊鏈技術,利用區塊鏈的技術機制,構建安全可信的數據共享環境,使數據在共享過程中可管控,加速數據流轉,提高數據到價值的轉化率。

1 相關工作

企業現有的跨部門數據協同、聯合數據分析等應用場景,都是建立在數據開放共享基礎上,盡管各種應用場景不盡相同,但多面臨數據脫離控制使用的問題。而數據存在的目的就是為了使用,不能拋開數據使用前提而只談數據安全[1]。對于數據使用安全問題,企業數據中心的主要方式是追溯審計等監管手段,追溯審計能夠有效監控用戶對數據的操作。但即使在可信有效的追溯審計基礎上,這種靜態監管機制依然無法解決動態監控數據使用過程中面臨的二次流動與被越權使用等安全問題。因此企業仍需要從數據自身保護的角度解決數據使用安全問題。

近些年來,隨著密碼學的不斷發展,同態加密與安全多方計算[2]在數據使用安全與隱私保護方面取得了充分的研究與發展。同態加密技術通過將數據加密之后進行計算,保證了數據使用的安全性,使用戶在數據加密的情況下仍能對特定的加密數據進行分析、計算和檢索[3]。安全多方計算是解決敏感數據計算的方法,它是指數據在不離開本地、參與方不接觸數據源的基礎上,完成與另一方或多方數據源的協同計算。但存在由于某些節點出現惡意破壞的行為而導致計算可信、公平性方面的問題[4]。并且以上兩種方法普遍存在計算復雜、通用性不強與效率低的問題,在推進企業級應用落地的過程中還存在很多挑戰。目前,區塊鏈技術由于具有去中心化、時序數據、不可篡改、公開透明、可追溯、集體維護等特點[5-6],有效解決了數據在流通共享過程中作為一種特殊的商品帶來的數據權益、真實可信,追溯審計、管理監控等問題。因此,基于區塊鏈的數據應用模式受到了廣泛的關注,區塊鏈在解決數據安全問題的優勢體現在很多方面。在數據存儲安全方面,Lvan等人提出了一個基于區塊鏈安全存儲病人醫療記錄的方法[7]。在真實可信、降低成本方面,薛騰飛等人提出基于區塊鏈的醫療數據共享模型,解決了數據校驗費時費力所導致數據共享難的問題[8]。Banerjee將區塊鏈與供應鏈相結合,降低了供應鏈中存在的信用成本[9]。在數據確權與溯源、交易透明方面,全立新等人利用區塊鏈構建一種開放、自我管理的數字教育資源流通模式[10]。Ricardo等利用智能合約記錄數據來源,將數據使用流轉過程記錄到區塊鏈中,實現數據確權與溯源[11]。陳晉川等人以同樣的思路提出了一個去中心的數據交易方案,利用區塊鏈不可篡改的性質,保護數據所有者的權益[12]。在可信數據管理方面,董祥千等人利用區塊鏈的誠實可信基礎,提出了一種計算遷移、安全高效的去中心化數據共享模型[13]。區塊鏈憑借其獨特的優勢在解決數據流通共享過程中涉及的存儲安全、真實可信、授權存證以及在流動過程中管控等問題上發揮了一定的優勢。

現階段企業內仍是以數據中心為主、其他辦公系統輔助的信息共享方式,更多的數據應用場景需要數據庫中原始數據提供支撐。目前以區塊鏈技術實現的鏈上數據、API等共享模式不足以滿足各部門協同合作的發展需求,依靠對鏈上數據交易使用記錄的追溯審計,不能及時準確發現數據使用過程中引發的數據安全問題。因此,該文以區塊鏈技術如何賦能企業數據安全的開放與共享為切入點,研究區塊鏈在企業數據共享中的應用模式。目的是解決企業數據流通共享過程中的確權混亂、使用記錄不清晰透明,數據被越權使用的問題,利用鏈下計算、鏈上記錄的數據應用模式,避免數據二次流動,降低隱私數據使用風險。

2 面向企業數據共享的區塊鏈應用模式

2.1 區塊鏈保障企業數據安全共享

目前大部分企業以數據中心的模式構建企業數據交換平臺,在一定程度上解決了由于數據異構、相互獨立而帶來的“數據孤島”問題。如圖1所示,企業各部門通過數據中心對數據進行集散,實現企業內部不同部門間的數據共享、數據管理和數據傳遞。數據中心作為一種中介機構為各部門提供數據協作的能力,并不斷地優化企業的業務流程。但數據中心的數據安全機制在保證數據完整性、可用性方面還有許多不足。區塊鏈作為多種技術的集成創新應用,在增強數據完整性、保證數據可用性方面有著天然的優勢。

圖1 企業數據中心共享模式

區塊鏈以塊鏈式結構存儲數據,區塊作為數據的載體,對于每個交易結果都會完整地記錄在區塊中,利用哈希算法給予每個區塊一個哈希標識,保證區塊不被篡改。因此,區塊鏈的價值就體現在對數據構造出了某種程度的“唯一性”。在企業數據共享過程中,通過將數據歸集和使用的整個過程記錄上鏈,利用區塊鏈改善授權鑒權的流程,避免傳統模式的缺陷。一方面解決了企業各部門的數據在歸集后產生數據權益不清晰的問題;另一方面,將帶有唯一標識的數據依附于區塊鏈上進行交易[14],通過區塊鏈中所有參與計算的節點共同維護數據交易記錄,由于鏈上數據記錄具有不可篡改的特性,很自然地解決了數據難以溯源和被篡改、被破壞的問題,同時還為監管部門提供了真實可信的日志審計。

企業日常生產活動中更多的業務場景是對數據使用的需求,僅靠鏈上的追溯審計不能及時有效地監控數據二次流動。智能合約作為區塊鏈技術的特性之一,它以代碼的形式嵌入區塊鏈系統,由鏈上事務驅動。合約雙方無需彼此信任,只要滿足相應的觸發條件,合約會自動執行,外界無法干預。因此,通過事先擬定的合約內容和觸發機制,利用智能合約構建自動、高效的執行環境,讓數據在安全封閉的環境下進行數據處理,外界無法獲取參與計算的原始數據,以減少數據流動與隱私泄露的風險。

利用區塊鏈技術,與企業當前的數據共享模式相結合,形成一個透明、高效、安全的控制架構??刂茢祿霉蚕淼倪^程,記錄數據的歸集和被交換數據的流向及應用信息,保障企業數據安全共享。

2.2 區塊鏈企業數據共享架構及方案

通過上述分析,區塊鏈在推進企業數據安全共享的問題上起到積極的作用。結合區塊鏈技術實現企業數據共享,系統整合架構如圖2所示。

圖2 基于區塊鏈的企業數據共享架構

區塊鏈企業數據共享架構由三層組成:

(1)數據資源層。為區塊鏈上的數據交換共享事務提供基礎數據支撐與數據交換平臺,鏈上的數據通過區塊鏈網絡共享,而鏈下數據通過數據交換平臺在區塊鏈控制下進行數據交換。其中數據源包括企業的數據中心主庫,企業或所屬部門自建的信息系統,由設備采集的實時數據庫以及文件、項目數據庫等。

(2)區塊鏈技術層?;谄髽I組織結構的特點,區塊鏈技術選擇以聯盟鏈[15]的形式實現。各部門或機構通過審核后加入區塊鏈網絡,節點之間通過P2P網絡協議進行數據傳播與驗證;相比較公有鏈基于證明的共識機制,這里選擇低延遲、無分叉、基于投票的PBFT或Raft共識機制。將智能合約以代碼的形式嵌入系統,通過智能合約自動處理相關的事務。

(3)應用服務層。通過區塊鏈技術層的API和SDK接口為用戶與系統之間提供直接的信息交互載體。其中包括為企業各部門用戶、管理員和監管機構提供的基礎、管理和監管服務。并在此基礎上構建各種與企業業務相關的應用,為企業各部門提供業務活動、數據共享的服務。

基于區塊鏈的企業數據共享架構,通過在企業內各業務部門、職能部門、監管部門等多個機構部署區塊鏈節點完成整個區塊鏈網絡的共同管理和維護。如圖3所示,各部門通過相應的節點接入區塊鏈網絡,區塊鏈上的節點將數據或數據索引信息上傳到打包排序節點。經過打包節點排序后,返回各節點驗證其提交事務的有效性,節點間共識驗證通過后會將相關數據記錄存儲在區塊鏈上。

區塊鏈服務提供相關的認證管理、追溯審計和以智能合約方式實現的各種業務邏輯功能。用戶可以通過客戶端與區塊鏈網絡進行交互,具體包括注冊數據源、查詢數據、申請權限等操作。針對企業中跨部門數據查詢、聯合數據分析等一些常見的應用場景,為確保鏈上共識的總體性能,減少區塊鏈上一些計算資源節點的負擔,該文將傳統的基于鏈上的數據處理或計算環節放在鏈下執行,提出一種利用智能合約等技術控制的鏈上鏈下協作的數據應用共享方式。關于數據應用的操作記錄通過智能合約記錄在區塊鏈上,便于后期的追溯審計。

圖3 基于區塊鏈的企業數據共享方案

監管部門作為特殊的機構不參與一般的數據交換業務,主要負責監管區塊鏈記錄的正確性以及處理鏈上數據交換共享的問題。其目的是保證鏈上數據真實有效、索引信息正確可用,同時負責對鏈上的交易信息、授權信息等記錄進行安全審計,使違規侵權行為及時被發現并處理,并保證責任的正確匹配。

3 面向區塊的數據資源描述模型

在企業數據共享過程中,數據作為在區塊鏈上被交易的對象時,區塊鏈中的區塊負責記錄數據交易、授權、應用以及數據資源描述等信息。由于企業內部一些常見的數據應用場景需要原生數據提供支撐,所以區塊鏈上需采用完整數據或數據索引兩種存儲方式。對于不同數據資源信息的描述,利用構建不同的區塊數據結構來區分兩種存儲方式,其中,數據資源描述信息不僅需要能夠表達出不同的數據存儲方式,而且需要解決不同部門不同用戶之間對數據信息描述不一致以及數據權限、策略相關的問題。因此提出數據資源描述模型DRDM(Data Resource Description Model)指導區塊數據結構構建,通過區塊的數據結構直接反映上層事務的邏輯結構。數據資源描述模型可用五元組表示DRDM={B,DR,DI,P,O}。

其中,B(Basic):表示描述數據資源的基本信息,旨在說明數據資源的類型與用途。具體包括數據資源代碼,區分不同數據資源的標識;數據資源分類,按照不同領域或用途將其歸類;數據資源摘要,對此數據資源的簡單應用描述;關鍵詞以及數據資源格式等信息。

DR(Data Resource):表示存儲數據資源信息。數據共享的內容直接存儲在區塊中,數據資源聚集于區塊鏈上。用戶可以直接在區塊鏈中查詢得到相關的數據內容。這種方式適合存儲數據內容較少的情況,或者是分享對方所需要、加工之后的數據結果。

DI(Data Index):表示存儲數據資源索引信息。數據共享的內容不直接存儲在區塊中,區塊中僅存儲數據資源的索引信息,用戶可以通過數據索引信息找到具體的數據內容。此種方式適合數據內容較多且類型多樣的情況,具體包括數據庫、文件、API等方式。

P(Policy):表示數據訪問策略。描述數據資源的自身和權限變動情況,具體包括數據資源的更新周期、共享類型、共享規則以及共享方式等內容。

O(Owner):表示數據確權信息。即數據資源提供者的相關信息,具體包括數據提供者ID與姓名,所屬的部門ID與名稱以及數字簽名等信息,以確保數據的真實可靠性及數據的確權問題。

描述數據資源信息的區塊結構如圖4所示。其中,當DI內容為Null時,數據資源描述模型變成DRDM={B,DI,P,O}的形式,即圖4(a)數據資源鏈的數據存儲方式,在描述數據資源信息的同時定義數據內容。當DR內容為Null時,數據資源描述模型變成DRDM={B,DR,P,O}的形式,即圖4(b)數據資源索引鏈的數據共享方式。

(a)數據資源鏈存儲方式

(b)數據資源索引鏈存儲方式

4 區塊鏈驅動的數據應用共享

由于數據具有易復制性,復制具有完全無差別性,以至于數據在應用上也沒有差異。這些因素導致企業在常見的跨部門數據協同、聯合數據分析等應用場景中所涉及的核心、機密及隱私數據不能有效地在共享過程中受到保護,直接影響了企業的經營發展、風險管控與戰略決策,使企業信息化受到了嚴重的制約。因此利用區塊鏈與智能合約[16]等技術使數據在一定安全可靠的范圍內使用,實現對一些特殊數據的“可用但不可見”策略,保證數據在使用時不會出現被篡改、泄露的風險。其中,智能合約是指合約參與方可以執行的一套以數字形式定義承諾的協議,簡單理解是一個能夠自動執行協議的計算機程序。智能合約由于前期缺乏可信的執行環境以及能夠支持可編程合約的數字系統和技術,導致關于它的工作理論遲遲沒有實現[17]。區塊鏈的出現為智能合約提供了很好的運行基礎[18],區塊鏈以自身獨特的優勢,為智能合約提供了去中心化、去信任化的執行環境。以區塊鏈為主要技術手段驅動的數據共享,使數據在不同的企業應用共享場景中保證使用安全的前提下發揮出最大價值。

4.1 基于智能合約的數據應用共享流程控制

將智能合約以數字化的形式寫入區塊鏈,借助區塊鏈技術,不僅發揮了智能合約在成本效率方面的優勢,而且避免了作惡行為對合約執行的干擾,保障合約公開透明、不可篡改可追蹤的公平執行。智能合約不僅代表區塊鏈上所有組織或用戶共同認可的一種協議,更重要的是它不受某一中心機構的控制,只要滿足預定的執行條件,系統隨即觸發相應的協議自動執行。利用智能合約公開透明、自動執行且無法干預的特點和容器技術來保證在需求方不完全接觸數據源的基礎上,完成數據應用的任務。該文提出一種基于智能合約的數據應用共享模式,通過智能合約控制整個計算過程,完成鏈上、鏈下與不同應用之間的數據流動。其計算過程在鏈下安全的容器中運行,有效避免某些計算資源有限的節點由于過多參與鏈上計算而影響鏈上共識的總體性能,數據應用共享流程如圖5所示。

圖5 數據應用共享流程

基于智能合約的數據應用共享流程如下。

(1)訪問權限審核。用戶通過客戶端生成查詢請求或選擇計算函數以及參與計算的數據源,并向區塊鏈節點發送請求。區塊鏈網絡中相應的節點在收到客戶端發送的請求后,利用智能合約提取用戶證書的屬性以驗證用戶提交的請求是否符合數據訪問權限規則。如果用戶所擁有的屬性不符合數據權訪問限規則,則返回相關提示信息。

(2)數據條件檢查。訪問權限審核通過后,數據條件檢查合約會根據數據提供方對數據源所設置的數據策略與用戶所發送請求中所選擇的數據輸入條件進行規則匹配檢查。當輸入條件滿足相應的數據策略后,系統會將相關的數據源發現參數與計算參數一并發送給計算控制合約。

(3)啟動節點容器。計算控制合約將收到的參數與容器啟動的命令一同發給計算節點,計算節點會按照指令啟動相對應的容器。容器會根據數據源發現參數將計算所需數據安全的讀取到容器中,容器運行期間相當于一個黑盒沙箱,參與計算的數據源不會被外部訪問。

(4)輸出合規性檢查。等待容器計算任務完成后,會將計算結果返回給鏈上節點。節點上安裝的輸出合規檢查合約會對返回的計算結果作合規性檢查,包括計算結果是否包含原始數據,計算結果的數據結構與預期結果是否相符等。輸出合規檢查通過后,區塊鏈節點會將結果返回給客戶端。

(5)銷毀容器,記錄上鏈。由用戶發起的計算事務完成后,由計算控制合約控制啟動的節點容器會自動銷毀,所有的原始、中間、結果數據都不會保留。最后將計算過程使用的數據源、計算函數、任務發起方等相關信息通過智能合約記錄在區塊鏈上,以保證后期對數據使用記錄追溯審核。

4.2 數據應用共享過程安全控制

企業數據應用共享過程中,有兩個常見的應用場景,分別是數據安全查詢和聯合數據分析。其中,數據安全查詢是指用戶僅得到查詢受控范圍內的結果,但對數據庫其他記錄信息不可知。同時,擁有數據庫的一方,也無法得知用戶具體的查詢請求;聯合數據分析是指多個部門之間協同計算一個約定函數,且計算過程中各部門不能獲得其他部門的輸入信息,保證輸入獨立性與計算安全性。通過基于智能合約的數據應用共享流程控制保證了數據計算過程中的數據隔離、隱蔽計算,但是在數據應用共享過程中,不僅需要考慮計算過程中的安全,還需要滿足數據共享規則。包括相應的訪問權限和控制數據共享范圍的設置,以及對數據應用共享計算結果的合規性檢查,避免限定條件之外的數據流出。因此,從以下三個方面描述數據共享規則。

(1)數據訪問權限。

區塊鏈具有公開透明的性質,區塊鏈上共享的數據可以被任意用戶訪問,如此情況不滿足企業對于數據保密的相關要求。在實際企業內部數據管理過程中,不僅僅只有高層的機密數據,還有不同部門的敏感數據,并且每個部門相互之間存在一些利益矛盾。因此對于不同級別的用戶需要賦予不同的訪問權限,基于企業數據應用共享中兩個常見的應用場景考慮,將訪問權限分成以下三種類型。

①公開:可以獲得原始數據,沒有條件限制。

②檢索:可以獲得部分原始數據,允許檢索滿足V(數據表的某一個具體屬性值的集合)=v(v指用戶輸入的屬性值)的數據記錄,如果沒有符合的數據則返回Null。

③計算:不可以獲得原始數據,但是允許數據參與計算,獲取計算結果。

由于聯盟鏈采用基于證書而不是傳統的用戶名和密碼形式的身份認證,因此利用數字證書中的擴展域屬性,將主體的相關信息寫入數字證書中,通過智能合約提取數字證書中主體的相關屬性完成對不同數據訪問權限的控制。

(2)數據條件規則。

數據條件規則是指數據表中具體字段的約束條件,數據提供方在注冊數據源時,由于相關規定或者其他原因并不能共享某字段下的全部數據,因此在注冊數據源時必須明確相關字段的約束條件,以便于數據需求方查看使用。具體關于數據字段的約束條件實際上等同于sql語句中的where條件,where條件有的復雜有的簡單,所以約束條件有的作用在單一字段上,有的作用在多個字段上。例如,單一字段上的約束條件,允許查詢2019上半年的銷售業績,銷售表中的時間字段約束條件設置為:Time<2019;或者多個字段上的約束條件,允許查詢2019上半年東北地區的銷售業績,銷售表中的相關字段約束條件設置為:(Time<2019 and area=‘東北地區’)。

利用正則表達式解析由用戶需求生成的sql語句,以智能合約的方式實現數據提供方設置的字段約束條件與需求方生成的sql語句中所包含的過濾條件之間的規則匹配,滿足約束條件的請求成功執行之后將結果返回,將交易記錄在區塊鏈上,不滿足約束條件則返回提示信息。

(3)數據輸出合規性。

為保證數據安全查詢與計算結果的安全可控,對于數據輸出的結果,系統需對其進行合規性檢查,避免不符合約束條件的數據流出。針對上面檢索、計算兩種情況的輸出進行檢查,檢索的輸出可以表示為一個關系,計算的輸出可以表示為一個計算結果,因此轉換成對關系和計算結果的合規性檢查。

對于關系的檢查,主要是對最后輸出關系屬性V的值進行過濾,判斷是否出現除v值以外的其他屬性值,其次對比生成關系屬性與查詢的關系屬性結構是否一致。

對于計算結果的檢查,智能合約會根據用戶選擇的輸入數據類型,自動生成相同類型的測試數據輸入。生成的測試數據和真正的輸入數據分別執行相同的計算函數,并得到相應的計算結果,計算結果檢查主要包含以下三個部分。第一,預期計算結果檢查:數據需求方在發起計算的時候,要對預期的輸出結果進行描述(或者由所選擇的計算函數可知),將預期結果與輸出結果進行對比。第二,原始數據檢查:檢查測試輸出結果是否存在生成數據集的原始數據,間接判斷計算函數是否包含原始數據的輸出。第三,輸出計算結果檢查:對比測試數據生成的計算結果屬性與實際數據生成的計算結果屬性是否一致。

5 結束語

數據作為企業日常經營和決策的越來越重要的戰略共享資源,由于它自身的可復制性和易傳播性,使其流通和共享過程受到了嚴重制約。該文以區塊鏈去中心化、不可篡改、可追溯與可信任等特點為基礎,提出一種基于區塊鏈的企業數據共享模式,給出了企業數據共享架構與方案,通過DRDM模型完善數據資源描述信息區塊結構,保證了數據規范描述與權屬清晰。利用區塊鏈構建安全可信的數據計算環境,結合智能合約實現數據共享過程的可監測、可管控和可追溯,采用一種數據可用不可見的應用共享形式,減少數據二次流動和隱私數據應用的風險,提高了數據到價值的轉化率。為企業信息化過程中解決數據可信、安全共享以及構建企業數據共享生態圈提供了一種新的思路。

猜你喜歡
數據源數據安全合約
部署推進2020年電信和互聯網 行業網絡數據安全管理工作
建立激勵相容機制保護數據安全
圖表中的交互 數據鉆取還能這么用
數據安全政策與相關標準分享
基于Excel的照片查詢系統開發與應用
再談利用郵件合并功能批量生成準考證
數據有增加 圖表自適應
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合