0. 引言
煤礦安監(jiān)數據涵蓋范圍廣,包含煤礦基本信息、政策法規(guī)信息、監(jiān)管監(jiān)察信息等,具體涉及人事管理、事故管理、行政執(zhí)法、應急避難、隱患報送等方面的業(yè)務數據。一般采用行業(yè)內部開發(fā)的云平臺對該類數據進行管理和使用[1-3],以云存儲作為數據存儲手段。目前,在國家法律和行業(yè)標準層面,如《網絡安全法》《數據安全法》《網絡安全等級保護條例》《關鍵信息基礎設施安全保護條例》等都對云數據安全保障提出了明確要求,建立了煤礦安監(jiān)云數據分類分級保護制度[4] 。煤礦安監(jiān)信息涉及公民個人維度、公共管理維度、信息傳播維度及行業(yè)領域維度,分類應依據數據自身的共享開放要求,分級則應根據用戶層級劃分。在分類分級層面加強煤礦安監(jiān)云數據的安全保障,避免出現數據安全問題及后續(xù)帶來的職責不清等問題[5],這既是云平臺自身發(fā)展的客觀要求,也是滿足國家和行業(yè)監(jiān)管的需要。因工作需要,各級工作人員需經常訪問平臺內煤礦安監(jiān)云數據,執(zhí)行對云數據的增加、修改、刪除等行為,并基于平臺云數據開展后續(xù)監(jiān)管監(jiān)察工作,存在數據泄露、篡改的風險,因此,需要對煤礦安監(jiān)云數據的安全訪問進行深入研究。
目前對煤礦安監(jiān)云數據安全訪問的研究主要集中在用戶權限策略的安全存儲和訪問控制功能實現2個方面。劉敖迪等[6]綜述了區(qū)塊鏈在信息安全領域的研究進展,提出了一種基于區(qū)塊鏈的分布式大數據訪問控制機制(Blockchain-Based Access Control Mechanism for Big Data Environment,BBAC?BD),并驗證了該機制的有效性。史錦山等[7]總結了去中心的區(qū)塊鏈訪問控制模型和有中心的區(qū)塊鏈訪問控制模型并分析了其性能優(yōu)勢。王秀利等[8]提出了應用區(qū)塊鏈的數據訪問控制與共享模型,利用屬性基加密對企業(yè)數據進行訪問控制與共享,達到了細粒度訪問控制及安全共享的目的。付永貴等[9]將區(qū)塊鏈用于數據庫訪問控制,通過對訪問者身份、權限及行為的強化認證與監(jiān)管,提高了數據庫訪問控制能力。上述基于區(qū)塊鏈的數據訪問控制研究為實現煤礦安監(jiān)云數據安全訪問提供了新的思路,但對于存放在云平臺上的云數據訪問控制安全性研究還不足:一方面,現有的訪問控制方法對業(yè)務數據在管理和使用過程中的個性化安全需求考慮不足;另一方面,缺少針對數據安全管控維度的安監(jiān)云數據分類分級策略。
針對上述問題,為滿足煤礦安監(jiān)云數據的安全保障需求,提出了一種基于區(qū)塊鏈的煤礦安監(jiān)云數據安全訪問模型。通過對煤礦安監(jiān)云數據屬性和訪問對象的分析,設計了基于用戶層級和數據屬性的訪問權限模型,符合煤礦安監(jiān)云數據在安全保障方面分類分級的需要;基于區(qū)塊鏈工作原理設計了4層架構的訪問控制模型,實現了基于用戶權限的安全訪問控制,并對存儲在區(qū)塊鏈上的權限信息增加隱私保護功能,進一步增強了煤礦安監(jiān)云數據的安全性。
1. 基于用戶層級和數據屬性的訪問權限模型
受相關制度要求,煤礦安監(jiān)云數據管控十分嚴格,訪問權限的設計應滿足分類分級和安全性方面的需求。數據訪問者可以分為國家級、省級、市級、煤礦/個人4個層級,其中數據所有者和使用者分布在不同層級;從數據本身來看,涉及煤礦/個人的隱私信息、國家政策法規(guī)及決議決策信息等,種類繁雜且安全需求各不相同。因此,數據訪問權限不能簡單地用角色定義,也不能全部依賴規(guī)則來動態(tài)生成。本文從煤礦安監(jiān)云數據自身屬性入手,設計了基于用戶層級和數據屬性的訪問權限模型。
1.1 數據訪問屬性分析
根據實際需求對數據的訪問屬性進行分析。首先根據數據所有者的身份及數據自身的共享和開放屬性,劃分細粒度權限;然后基于用戶層級,梳理不同用戶類別可以具備的細粒度權限;最后由不同細粒度權限集合構成各用戶角色。其中用于權限設計的數據訪問屬性包括數據來源、數據所有者、用戶層級、數據屬性等,如圖1所示。
(1) 數據來源為煤炭行業(yè)安全監(jiān)管監(jiān)察真實數據。
(2) 數據所有者分為應急管理部職能部門和資源提供方。應急管理部職能部門包括辦公廳、安全監(jiān)察司、政策法規(guī)司等;資源提供方包括辦公廳、省級及以下應急管理機構、應急救援機構等。
(3) 用戶層級包括國家級、省級、市級、煤礦/個人4個等級。依照歸屬部門和數據來源的要求,各層級用戶的數據訪問權限大小各不相同。
(4) 數據屬性根據煤礦安監(jiān)云數據實際情況進行細分,如圖2所示。
根據煤礦安監(jiān)云數據在共享和開放方面的要求,結合圖2數據屬性,劃分出11種數據屬性,見表1。
編號 | 屬性描述 | 含義 |
1 | 不予共享、不開放 | 在任何條件下都不予共享且不向社會開放 |
2 | 不予共享、平臺共享、不開放 | 存儲在共享平臺上,任何條件下都不予共享且不向社會開放 |
3 | 有條件共享、工作參考、平臺共享、不開放、批復后可開放 |
在共享平臺上以工作參考條件進行共享,一般不向社會開放,有特殊需求可在 批復后開放 |
4 | 有條件共享、工作參考、平臺共享、不開放 | 在共享平臺上以工作參考條件進行共享,任何條件下都不向社會開放 |
5 | 有條件共享、平臺共享、不開放 | 僅允許平臺內部共享,任何條件下都不向社會開放 |
6 | 有條件共享、平臺共享、開放 | 在共享平臺上有條件共享,無條件向社會開放 |
7 | 無條件共享、工作參考、平臺共享、不開放 | 在共享平臺上向有工作參考需求的用戶無條件共享,任何條件下都不向社會開放 |
8 | 無條件共享、工作參考、平臺共享、開放 | 在共享平臺上向有工作參考需求的用戶無條件共享,無條件向社會開放 |
9 | 無條件共享、平臺共享、不開放 | 在共享平臺上無條件共享,任何條件下都不向社會開放 |
10 | 無條件共享、平臺共享、批復后可開放 | 在共享平臺上無條件共享,在批復后可向社會開放 |
11 | 無條件共享、平臺共享、開放 | 在共享平臺上無條件共享,無條件向社會開放 |
1.2 數據訪問對象分析
煤礦安監(jiān)云數據包含具體字段、數據所有者及其他相關信息。由于結構復雜,數據量龐大,不便直接進行訪問分析,所以要先根據數據屬性對煤礦安監(jiān)云數據進行分類分級,再研究云數據訪問過程。
本文以煤礦安監(jiān)云數據的11種數據屬性作為條件,分別篩選出每種屬性包含的數據字段名并進行4級分類:第1級編號為001?013,共13組數據;第2級編號為001?042,共42組數據;第3級編號為001?059,共59組數據;第4級編號為001?317,共317組數據。權限管控粒度到第4級,即最小查詢單位是第4級數據,待訪問數據的查詢編號由1—4級串聯構成。每一條數據都有唯一編號,在查詢數據時,根據編號即可準確對應到某一條或某一組數據。圖3為“數據屬性1:在任何條件下都不予共享且不向社會開放”包含的數據及數據所有者。該組數據在任何條件下都不予共享且不向社會開放,因此訪問者只能是數據所有者。例如,當“事故調查司”用戶查詢第4級數據“行政復議申請書信息”時,云平臺根據編號004039011094訪問到一組具體數據并返回給“事故調查司”用戶;當其查詢第3級數據“行政執(zhí)法應訴”時,根據編號004039013即可查詢到。在煤礦安監(jiān)云數據訪問過程中,4級編號查詢法相較于文字查詢效率更高,比模糊查詢法更準確,且增減數據字段時只需在當前級別進行添加、刪除,避免了大范圍變動。
1.3 訪問權限模型設計
訪問權限模型根據用戶層級和數據屬性劃分訪問權限,訪問權限生成規(guī)則見表2。首先根據11種數據屬性劃分細粒度權限;然后根據用戶層級梳理細粒度權限,并進行勾選;最后結合以上2步結果構成用戶角色。訪問權限模型的用戶角色根據用戶層級和所要訪問的數據屬性共同決定,結合角色與權限對應及權限動態(tài)生成的設計理念,不同層級的用戶在訪問不同數據時權限不同,權限直觀且易于管理,具有動態(tài)靈活的特點,適合煤礦安監(jiān)云數據的安全訪問需要。
數據屬性 | 用戶層級 | ||||||||||||
訪問 屬性1 |
訪問 屬性2 |
訪問 屬性3 |
訪問 屬性4 |
訪問 屬性5 |
訪問 屬性6 |
訪問 屬性7 |
訪問 屬性8 |
訪問 屬性9 |
訪問 屬性10 |
訪問 屬性11 |
角色 | ||
國家級 | 用戶1 | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | 角色A |
用戶2 | √ | √ | √ | √ | √ | 角色B | |||||||
省級 | 用戶3 | √ | √ | √ | √ | √ | √ | 角色C | |||||
用戶4 | √ | √ | √ | √ | √ | 角色D | |||||||
市級 | 用戶5 | √ | √ | √ | √ | 角色E | |||||||
用戶6 | √ | √ | √ | √ | 角色F | ||||||||
煤礦/個人 | 用戶7 | √ | √ | 角色G | |||||||||
用戶8 | √ | 角色H |
2. 基于區(qū)塊鏈的煤礦安監(jiān)云數據訪問控制模型
2.1 訪問控制模型總體架構
由于煤炭行業(yè)的特殊性及相關云數據的機密性,基于區(qū)塊鏈的煤礦安監(jiān)云數據訪問控制模型采用私有鏈結構或煤炭行業(yè)聯盟鏈結構,防止無關用戶或惡意用戶未經許可注冊訪問。該模型分為數據層、職能層、合約層和應用交互層4層區(qū)塊鏈架構,如圖4所示。
(1) 數據層:用于存儲區(qū)塊鏈結構和云數據。為了保障區(qū)塊鏈運行效率和煤礦安監(jiān)云數據安全,將權限信息上鏈存儲,煤礦安監(jiān)云數據采用鏈下存儲方式,區(qū)塊鏈上僅存儲數據地址。
(2) 職能層:包括網絡職能和共識職能。網絡職能承擔區(qū)塊鏈網絡中節(jié)點間的信息交換工作,包括點對點通信機制、廣播機制和驗證機制。共識職能采用權益證明機制對網絡中節(jié)點進行一致性檢驗,并創(chuàng)建新的區(qū)塊,以維持整個區(qū)塊鏈的正常運轉。
(3) 合約層:部署智能合約,實現訪問控制功能。用戶申請訪問觸發(fā)智能合約,合約自動執(zhí)行調用數據層的屬性信息,判斷用戶具有的權限和能訪問的數據,從而控制用戶的數據訪問情況。
(4) 應用交互層:封裝了區(qū)塊鏈的應用場景,是存儲區(qū)塊鏈和用戶之間的接口,即用戶在應用交互層完成注冊、登錄、訪問的活動。一般權限管理功能在應用交互層實現,但為了進一步保障權限信息的安全,在數據層存儲權限信息,在合約層實現權限判別功能。
區(qū)塊存儲結構如圖5所示,其中區(qū)塊頭包含版本號、前后區(qū)塊哈希、時間戳、隨機數、Merkle根等信息,用于確定區(qū)塊位置及合法性。區(qū)塊體用于存儲具體數據,在本模型中數據包括權限信息及煤礦安監(jiān)云數據地址信息。
2.2 基于區(qū)塊鏈的權限訪問控制
權限訪問控制由區(qū)塊鏈系統實現,其安全保障的核心是權限信息的安全管理,基于區(qū)塊鏈的權限訪問控制過程如圖6所示。由于區(qū)塊鏈上所有數據(包含智能合約代碼及各種邏輯規(guī)則)公開透明,權限信息在存儲時應注意隱私保護。當有節(jié)點掃描全部區(qū)塊時,返回的權限信息應是進行加密或是匿名化處理過的密文信息。用戶申請訪問時,智能合約申請調用權限信息,進行解密或去匿名化操作,得到明文屬性信息,并提取所需屬性集合反饋給智能合約進行權限判別。
合約層主要依靠權限請求合約和權限判別合約2個智能合約實現權限請求及判別功能。
權限請求合約流程如圖7所示,步驟如下:
(1) 輸入用戶訪問請求(包含用戶角色及請求訪問的數據),并對請求進行解析。
(2) 遍歷權限存儲區(qū)塊,尋找權限屬性集合。
(3) 判斷區(qū)塊頭部Merkle根值和解析權限請求后的flag是否相等,當二者相等時,提取對應權限屬性集合,否則重復步驟(2)和步驟(3)。
權限判別合約流程如圖8所示,步驟如下:
(1) 輸入權限請求合約中獲取的權限屬性集合。
(2) 對密文進行解密,得到明文的屬性字符串。
(3) 將明文字符串按照“用戶層級”“數據”“數據屬性”進行分割。
(4) 按照訪問權限生成規(guī)則,通過步驟(3)得到權限結果并返回,用于授權。
2.3 權限信息安全存儲技術選擇
基于應用背景及訪問控制模型對于權限信息的存儲需求,應選擇具備匿名化、可逆及高實時性的技術對權限信息進行隱私保護。目前主要有3類隱私保護技術可用于權限信息安全存儲,分別是基于對稱加密的隱私保護技術、基于數據失真的隱私保護技術、基于可逆置換算法的隱私保護技術。3種隱私保護技術針對云數據權限訪問控制在安全性、實時性2個方面的性能比較結果見表3。從表3可看出,基于對稱加密的隱私保護技術在兼顧安全性和實時性需求的同時能夠適用于區(qū)塊鏈系統的數據通信,因此選擇該技術實現權限信息安全存儲。
隱私保護技術 | 安全性 | 實時性 |
不使用隱私保護機制 |
智能合約直接計算數據屬性得到具體權限,屬性信息直接存儲在區(qū)塊 鏈上,不具有隱私保護功能 |
沒有轉換明文的過程,實時性最強 |
基于對稱加密的技術 |
安全性強,算法成熟度高,適用于分布式系統的數據通信,保障權限 在區(qū)塊中以密文形式存儲 且查詢過程安全可靠 |
比無隱私保護稍弱,但權限信息數 據量小,延遲忽略不計 |
基于數據失真的技術 | 能保證發(fā)布數據的真實性,但存在一定程度的數據缺損和隱私泄露 | 算法不可逆,不滿足需求 |
基于可逆置換算法的技術 |
算法較簡單,安全性弱于基于對稱加密的技術,智能合約通過變換 規(guī)則復原明文 |
權限信息數據量小,延遲忽略不計 |
3. 對比分析
3.1 訪問權限模型對比分析
為驗證本文設計的基于用戶層級和數據屬性的訪問權限模型的正確性,從模型特點、優(yōu)劣勢及與安監(jiān)云數據是否適配3個方面將本文訪問權限模型與目前應用最多的2種訪問權限模型?基于角色的訪問控制(Role-Based Access Control,RBAC)模型和基于屬性的權限驗證(Attribute-Based Access Control,ABAC)模型[10]進行對比,結果見表4。
模型 | 模型特點 | 優(yōu)勢/劣勢 | 與安監(jiān)云數據是否適配 |
RBAC模型 | 角色與用戶一一對應,每個角色可以訪問所有數據 |
用戶權限清晰;修改權限操作復雜,存儲空間受限,實時增加 用戶受到限制 |
否 |
ABAC模型 |
根據用戶每次需求動態(tài)生成單次權限,同一用戶每 次訪問不同數據的權限不同 |
權限生成靈活,規(guī)則可變;生成權限的計算開銷大 | 否 |
本文訪問 權限模型 |
用戶按層級劃分,每條數據對應各自數據屬性,通 過用戶層級和數據屬性動態(tài)構成用戶角色,用戶與 可訪問數據自動關聯 |
用戶權限直觀,生成權限規(guī)則簡單,所需存儲空間較小,增加 用戶只需對應用戶層級,權限與云數據具體分類分級相關 |
是 |
基于用戶層級和數據屬性的訪問權限模型具有2個方面優(yōu)勢:① 將權限管理與煤礦安監(jiān)云數據分類分級和安全需求掛鉤,便于管理和應用。② 兼顧了基于角色和基于屬性的訪問權限模型的優(yōu)點,同時避免了權限信息占用過多存儲空間、權限變動受限及計算開銷大等帶來的不利影響。
3.2 訪問控制模型安全特性對比分析
為驗證本文依據區(qū)塊鏈自身安全性構建的訪問控制模型的優(yōu)勢,從訪問控制的實現安全、權限管理及適用場景3個方面將本文訪問控制模型與目前常用的基于第三方的訪問控制模型進行對比,結果見表5。
模型 | 實現安全 | 權限管理 | 適用場景 |
本文訪問控制模型 |
基于區(qū)塊鏈自身安全性,使用智能合約進行訪 問控制,安全性能夠得到保障;基于區(qū)塊鏈存 儲權限信息防止非法篡改,對于鏈上的數據采 取隱私保護機制防止非法獲取 |
權限信息存儲在區(qū)塊鏈上,采用隱私保護 機制對權限進行保護,通過智能合約管理 權限信息 |
區(qū)塊鏈可以和眾多技術結合,能夠滿足更多場景下的訪問控制需求 |
基于第三方的 訪問控制模型 |
為了保障系統安全而進行訪問控制,不考慮自 身安全性;通常設置訪問控制模塊,與系統隔 離,可靠性保障困難 |
通過數據庫存儲權限表、權限屬性和規(guī)則 等,信息安全難以保證 |
難以適應云平臺、大數據背景下日益嚴格的安全訪問需求,存在防御漏洞 |
從訪問控制的實現安全方面來看,本文訪問控制模型基于區(qū)塊鏈自身安全性,安全性能夠得到保障,基于區(qū)塊鏈存儲權限信息可防止非法篡改,對于鏈上的數據采取隱私保護機制可防止非法獲取,而基于第三方的訪問控制模型安全性和可靠性較低。從權限管理方面來看,本文訪問控制模型權限信息存儲在區(qū)塊鏈上,采用隱私保護機制對權限進行保護,通過智能合約管理權限信息,保障了訪問控制功能使用的安全;基于第三方的訪問控制模型權限管理通過數據庫完成,目前針對數據庫的攻擊層出不窮,權限信息安全難以保證。從適用場景來看,本文訪問控制模型利用區(qū)塊鏈技術可與眾多技術結合,能夠滿足更多場景下的訪問控制需求;基于第三方的訪問控制模型要根據訪問控制設計思路應用,特點鮮明的應用場景往往要進行功能定制,成本較高,應用范圍較小。
4. 結語
針對煤礦安監(jiān)云數據的訪問安全問題提出了一種基于區(qū)塊鏈的安全訪問模型,該模型包括訪問權限模型和訪問控制模型?;谟脩魧蛹壓蛿祿傩栽O計了訪問權限模型,根據數據安全在分類分級方面的要求,為安監(jiān)云數據劃分訪問權限,同一層級和同一數據屬性分類下的數據擁有一類權限,實現了分類分級的安全管控;依據區(qū)塊鏈分布式實現、全程透明、防篡改等優(yōu)勢構建了訪問控制模型,實現了分布式訪問控制,利用智能合約保障訪問控制安全,采用加密技術增強對權限信息的安全保護。對比分析結果表明:與常用的RBAC模型和ABAC模型相比,基于用戶層級和數據屬性的訪問權限模型實現了對煤礦安監(jiān)云數據更細粒度的訪問權限劃分,用戶權限直觀,權限生成規(guī)則簡單;與基于第三方的訪問控制模型相比,基于區(qū)塊鏈的訪問控制模型利用智能合約進行訪問控制,能夠增強煤礦安監(jiān)云數據的安全性,為云數據安全問題提供了新的解決思路。基于區(qū)塊鏈的安全訪問模型能夠解決煤礦安監(jiān)云數據在安全管控維度的分類分級不清晰及保密性不強等問題,提高了云數據的安全性。
來源:工礦自動化