梅穎
(中國傳媒大學計算機學院,北京 100024)
基于區塊鏈的物聯網訪問控制簡化模型構建
梅穎
(中國傳媒大學計算機學院,北京 100024)
物聯網由大多數資源受限的設備組成,具有分散化的拓撲結構,傳統的集中式訪問控制模型在物聯網中面臨巨大的挑戰。新興的區塊鏈技術具有和物聯網相似的分散化拓撲結構,具有去信任中心、防篡改等特性。結合區塊鏈技術的優勢提出了一個簡化的訪問控制模型,在所提出的模型中,訪問策略發布在公共可見的區塊鏈上,使得任何用戶在任何時間都知道當前誰對資源具有何種訪問權限。還可以通過區塊鏈交易實現對訪問權限管理。該模型具有匿名性、抗DDOS攻擊和防止欺詐性拒絕訪問等安全特性。
物聯網;訪問控制;區塊鏈;安全性
在不久的將來,物聯網有望滲透到現實世界的各個方面,包括家庭和城市空間。然而,在當前的集中式模型中,訪問控制在物聯網中面臨巨大挑戰。物聯網設備需通過服務器進行識別、認證和連接,即使有的設備之間只有幾英尺的距離,也必須通過服務器進行連接。訪問控制機制用于管理物聯網中資源,實現對資源的可控使用,主體對資源的使用權限通過訪問控制策略來表示,當主體請求訪問某個資源時,會根據當時的訪問環境和訪問控制策略進行
評估,以判斷其是否具有對該資源的訪問權限。
在集中式物聯網模型中,有許多傳統的訪問控制模型被引入。例如基于角色的訪問控制(RBAC)模型[1],在該模型中,根據從物理對象的環境中收集的特征和信息將權限分配給角色,但是其在能力受限設備中的可行性尚未得到證實。基于能力的訪問控制模型(CapBAC)[2],它可以在資源受限的設備上直接實現,該模型屬于完全分布式的安全方法,但是其控制粒度是粗粒度的,而且不是用戶驅動的。Seitz等提出了另一個通用的物聯網授權框架[3],它支持對具有低功耗和內存資源的任何對象進行細粒度和靈活的訪問控制,但它引入了可信第三方作為處理訪問控制邏輯的授權引擎。
這些典型的安全和訪問控制標準是建立在引入集中式可信實體的信任概念的基礎上的,為每個訪問請求包含一個中心實體顯然損害了端到端的安全屬性。另外,具有大量設備的物聯網的動態性質會使中心實體的信任管理復雜化,從而影響可擴展性。
針對上述訪問控制模型在物聯網應用中存在的問題,我們認為分布式物聯網的概念是一種有希望的方法,隨著設備自身計算能力的增加,有更多機會給設備自身帶來智能,特別是安全和訪問控制邏輯方面。實際上,利用這種邊緣智能原理,用戶能對他們生產的數據的粒度具有更細的控制。但是,作為這種方法的副作用,最終用戶不應該是使用安全機制的專家[4]。一個簡單的錯誤或錯誤配置可能會導致他們隱私的巨大破壞。主要是在分散化的方式下的訪問控制必須足夠用于普通人。因此,我們認為物聯網需要一種適合其分布式性質的新的訪問控制框架,用戶可以控制自己的隱私,而不是由中央管理機構控制。
近年來,隨著比特幣的出現和發展,支撐比特幣的區塊鏈技術也得到了廣泛應用。區塊鏈技術是第一個在沒有任何信任中介的干預下,在存在有惡意節點的分布式匿名參與者中成功達成共識的技術。由于它和物聯網有著相似的拓撲結構,區塊鏈技術最近常被用于物聯網以提供安全和隱私保護。本文將利用區塊鏈技術構建一個新的分布式物聯網訪問控制簡化模型,以克服集中式訪問控制模型存在的問題。
2.1 區塊鏈工作原理
區塊鏈是一個分布式的數據結構,它可以在網絡成員間復制和共享。它是比特幣底層支撐技術,有效地解決了雙花問題[5]。我們可以把區塊鏈想象成一個日志,記錄被成批地存放在帶時間標記的數據塊中,每一個數據塊使用它的密碼哈希進行標識,每個數據塊引用其前面產生的數據塊的哈希值,這樣就創建了一個數據塊的鏈條,我們稱之為區塊鏈(圖1)。區塊鏈中每個數據塊都包含一列交易和一個前一區塊的哈希值(有個例外,區塊鏈的第一個區塊中不包含這個哈希值,我們稱之為創世塊)。網絡中的任何節點都可以訪問這個有序的、向后鏈接的數據塊列表,讀取網絡交易數據并計算出網絡中所有交易的狀態[6]。

圖1 區塊鏈數據結構
在區塊鏈網絡中,所有節點形成了一個點對點通信網絡,通過復制每個節點在同一個區塊鏈上進行操作。其工作過程如下:
(1)用戶通過一對公鑰/私鑰對和區塊鏈進行交互[7],公鑰作為他們的網絡地址,每產生一筆交易,就會用其私鑰對交易進行簽名,并向它的下一跳節點進行廣播。采用公鑰密碼可以給網絡帶來認證、完整性、不可抵賴性等特性。
(2)鄰居節點收到交易消息后首先驗證消息的有效性,如果有效就會繼續向其下一跳節點轉發,如果無效則直接丟棄。最終,這些有效的交易將會傳播到整個網絡。
(3)在一定的時間間隔內交易會被網絡收集和驗證,并排序打包成一個帶有時間標記的候選塊,這個過程稱之為挖礦。根據網絡采用的共識機制,獲勝礦工節點會將其候選塊廣播到網絡。
(4)網絡節點驗證礦工提交的候選塊,看塊中是否包含有效的交易以及是否通過哈希引用到其鏈中早先產生的塊,如果驗證通過則將該塊加入到其區塊鏈中,否則丟棄之。這標志著這輪循環結束。
以上是一個不斷重復的過程,每一個規
定的時間間隔都會重復一次。當網絡中的每個節點都遵從上述步驟,則他們所操作的共享的區塊鏈就會成為一個已驗證的具有時間標記的網絡活動記錄[8]。
2.2 分布式共識機制
網絡節點需要就新挖出的區塊里所包含交易的正確性以及他們的順序達成一致,否則節點的區塊鏈副本可能不一致,最終導致區塊鏈出現分叉。從而無法保證全網絡的節點對網絡交易維持一個權威的唯一的時序表。為了解決這個問題,就需要一個分布式的共識機制。
在理想的場景下,所有的驗證節點就下一個區塊中所包含交易的順序進行投票,投票將遵從大多數的決定。然而在一個任何人都可以加入的開放的網絡環境下,這將是一個災難,因為極容易遭受女巫攻擊[9]:一個單個的實體可以以多個身份加入網絡,從而獲得多個投票權,導致少數的實體可能獲得網絡控制權。
比特幣通過挖礦計算的昂貴代價來解決這個問題,單個的實體偽裝成多個身份無法使其獲得更多的投票權,因為每個單個實體的計算資源都是有限的。而且每個節點都有其自己的候選塊,如果它能找到一個正確的隨機數(nonce),將它置于候選區塊的頭部就可以使得該頭部的SHA-256哈希值是以約定數量的0開頭[10],任何節點都可以參與解決這個難題的競賽,生成所謂的工作量證明(proof-of-work,POW),第一個解決難題的節點就可以向網絡提交候選塊。因為采用的是單向密碼哈希函數,網絡節點都能夠很容易地驗證給出的答案是否滿足要求,如果答案正確就將該區塊加入其區塊鏈中。
當兩個節點幾乎同時挖出候選塊并傳播到網絡中,網絡就會出現分叉。但是這種分叉通常可以在下一塊中自動地解決,因為工作量證明機制要求節點應該采用最長的分叉,而且兩個競爭的分叉同時又生成下一塊是不可能的,無論哪個分叉最先變長都將會被網絡節點作為正確的分叉而采用。這樣又使得網絡達成正確事件順序的共識。
區塊鏈技術需要計算和帶寬要求高、網絡延時大,這些都不適合于物聯網設備,導致了區塊鏈技術無法在物聯網中直接被使用。但是區塊鏈以下一些特性非常適合解決物聯網的安全問題:(1)去中心化:沒有中心控制,而是通過所有參與節點共同保證可擴展性和健壯性,消除了多對一的通信流,因而減少了延時并消除了單點失敗。(2)匿名性:區塊鏈內在的匿名性非常適合于大多數的物聯網用例,實現對用戶身份的保密。(3)安全性:區塊鏈能在不可信節點之間實現了一個安全網絡,這非常適合于由大量的、異質的設備構成的物聯網環境。在我們提出的方案中,將充分利用區塊鏈的最重要的安全優勢,基于[4]中提出方法進行了簡化,構建一個輕量級的訪問控制簡化模型。
3.1 體系結構
在我們的方案中,利用區塊鏈技術將表示主體對資源的訪問權限的策略存儲在區塊鏈上,并通過區塊鏈交易對這些策略進行管理。訪問權限由資源所有者通過策略創建交易定義并發布在區塊鏈上,因此,任何用戶可以在任何時間檢查誰當前持有對某個資源執行何種操作的權限。方案中主要活動者包括:資源所有者(用RO表示,一個資源所有者可以管理多個設備)、訪問主體(用RS表示,可以是用戶,也可以是設備)。資源所有者對他的所有資源(用R表示)的訪問進行控制,負責創建、更新、撤銷他們的訪問權限。主體對資源執行相關操作的權限由各自的訪問策略表示。
訪問控制策略存儲在區塊鏈上,利用區塊鏈的腳本來保存訪問控制策略并控制其執行。所有設備和設備所有者(具有更強的計算能力和存儲的設備)相連接,由設備所有者為其注冊并對其進行訪問控制。所有的設備所有者通過P2P網絡連接在一起,通過共識機制共同維護網絡的安全和穩定。物聯網基于區塊鏈的訪問控制體系結構見圖2。

圖2 基于區塊鏈的訪問控制模型體系結構
3.2 主要工作流程
在物聯網基于區塊鏈的訪問控制模型中,每個新加入的設備必須通過其所有者注冊,公開發布到區塊鏈上。當一個主體在區塊鏈上找到想要訪問的資源即可向其所有者發送訪問請求,資源所有者檢查請求者的訪問要求創建訪問策略并發布到區塊鏈上。此時,請求者才具有了相應的訪問權限,請求者可以通過自己的私鑰獲取訪問通行證,即可攜帶訪問通行證向資源所有者發起訪問請求。資源所有者驗證通行證并與預定義的策略進行評估,然后決定請求是否被接受或拒絕。具體流程如圖3所示:

圖3 主要工作流程
該模型主要包括如下四個主要流程:(1)新資源注冊;(2)策略創建;(3)請求訪問;(4)策略更新。下面我們將分別從這四個方面進行描述。
(1)新資源注冊
當一個新的設備(用A表示)加入到網絡,其首先要和其所有者連接(見圖3過程1),設備所有者為其生成一密鑰對(skA,pkA),公鑰pkA作為其在區塊鏈上的地址,并對設備的一些參數進行描述,并用其私鑰ROsk進行簽名,創建一個注冊交易。當注冊交易創建完成后,就被廣播到區塊鏈網絡中。交易被礦工節點驗證后被加入到區塊鏈中(見圖3過程2),對所有用戶公開可見,用戶可以在區塊鏈上查找到相關的設備。
(2)策略創建
當一個主體B要訪問某個受保護資源A時,首先得獲得相應的訪問權限。它將通過其所有者(見圖3過程3)將目標資源地址和相應的操作發送給資源A的所有者(見圖3過程4),后者將為其創建相應的訪問策略(用Policy表示),并將定義的訪問策略以鎖定腳本的形式封裝在交易的輸出中,輸出地址為請求主體的公鑰,生成策略創建交易并廣播到網絡中。網絡驗證節點驗證有效后將其加入到區塊鏈中(見圖3過程5),從而完成對主體訪問的授權。策略創建過程如下:
a)資源所有者A根據訪問主體要訪問的資源對象和請求執行的操作,創建訪問控制策略Policy,訪問策略可用標準的標記語言XACML(eXtensibleAccessControlMarkupLanguage)表示;
b)資源所有者A將創建的策略Policy用腳本語言封裝到腳本中,用請求者公鑰鎖定;
c)資源所有者A為該訪問生成一個隨機挑戰nonce,并將他和訪問主體的公鑰一起用資源的公鑰加密,并用訪問主體的公鑰加密后寫入到交易的腳本中,作為資源訪問的通行證;
d)資源所有者A生成一個策略創建交易,并廣播到網絡中。
(3)請求訪問
當主體B請求某個資源A已授權的服務時,他首先查找區塊鏈是否存在該授權交易(見圖3過程6,7)),如果存在則創建一個請求訪問交易,交易的輸入為在策略創建交易中創建的未消費輸出UTXO,并廣播到網絡中,經驗證有效后加入到區塊鏈中。請求交易生成過程中,請求主體B會通過區塊鏈錢包從交易輸入中解密出資源A的所有者在創建訪問策略時生成的訪問通行證(用資源公鑰加密的nonce和訪問主體公鑰);
獲取訪問通行證以后,訪問主體B可以直接攜帶訪問通行證訪問資源A的所有者,資源A的所以者對訪問通行證和訪問權限進行審查,如果審查過程通過則放行,否則拒絕(見圖3過程8)。權限審查具體過程如下:
a)用該資源的私鑰對訪問通行證進行解密,得到nonce和訪問主體的公鑰,驗證nonce的正確性及其簽名;
b)驗證通過后,資源所有者根據訪問主體的公鑰提取出相應的授權策略,根據策略對訪問主體的操作要求和資源當前的環境進行評估;
c)如果所有的條件都通過了評估則放行,否則拒絕。
(4)策略更新
資源所有者任何時候都可以撤銷或者更新授予某個請求者的權限,他只需要簡單地發布一個策略創建交易,在交易中鎖定腳本中寫入一個新的權限集合,當權限集合為空時,表示撤銷其所有權限。因為交易在區塊鏈中是以時間順序記錄的,所以該撤銷交易可以覆蓋所有前面針對該主體和資源的授權交易。
我們提出的模型通過利用區塊鏈技術的去信任中心、分布式、不可篡改等特性,能有效地解決傳統集中式模型中存在的安全問題。主要具有如下安全特性:
(1)匿名性
該模型中,所有資源的訪問權限都由資源所有這自主管控,資源和訪問主體都可以根據需要生成公私鑰對,在區塊鏈上他們以公鑰作為地址進行通信,資源的實際地址都以加密的方式存儲在區塊鏈的輸出腳本中,只有具有對應私鑰的主體才可以解密出來。因而,該模型具有一定的匿名性,能在一定程度上保護用戶的隱私。
(2)抵抗DDOS攻擊
在該模型中,不存在單一的訪問控制節點,權限管理分散在各個資源所有者的節點上,所以不存在單點失敗故障,DDOS攻擊失去了單一的攻擊對象。訪問控制策略保存在區塊鏈中,區塊鏈的分布式賬本可以在所有節點上復制保存,由區塊鏈的共識機制維護一個統一的賬本,任何人想要篡改賬本中的交易至少需要全網51%的算力,但這幾乎是不可能完成的任務,所以攻擊者無法通過篡改賬本來挫敗系統。
(3)抗欺詐式拒絕服務
所有主體對某個資源的相應操作權限,都記錄在區塊鏈上,對所有的主體是公開可見的。如果某個資源的所有者惡意地拒絕了某個滿足條件的訪問請求,是可以被公共審計到的,會受到相應懲罰。而且,通過區塊鏈智能合約功能的應用可以實現訪問請求的自我強制性執行。
本文利用區塊鏈技術構建了一個物聯網訪問控制簡化模型,定義了設備注冊、創建策略、請求訪問和策略更新四個主要過程。該模型中,所有的訪問策略都存儲在區塊鏈上,對所有訪問主體公開可見。且區塊鏈的不可篡改的特性保證了所有訪問策略的強制執行,不存在欺詐性拒絕訪問。資源的訪問權限都由資源所有者自主控制,最大限度地保護了用戶的隱私。區塊鏈的分布式特性保證了訪問控制模型不存在單點失敗的風險。
目前,該模型是一個簡化的模型,能實現物聯網的基本訪問控制要求,將來還可以研究如何結合智能合約實現訪問控制策略的自我強制執行。同時,該模型要進入實踐的應用,計算效率和通信時延也是急需要解決的問題。
[1]Zhang G,Tian J. An extended role based access control model for the Internet of Things[C].Information Networking and Automation(ICINA),2010 International Conference on IEEE,2010,1:V1-319-V1-323.
[2]Hernández-Ramos J L,Jara A J,Marín L,et al. DCapBAC:embedding authorization logic into smart things through ECC optimizations[J]. International Journal of Computer Mathematics,2016,93(2):345-366.
[3]Seitz L,Selander G,Gehrmann C. Authorization framework for the internet-of-things[C].World of Wireless,Mobile and Multimedia Networks (WoWMoM),2013 IEEE 14th International Symposium and Workshops on IEEE,2013:1-6.
[4]Ouaddah A,Elkalam A A,Ouahman A A. Towards a novel privacy-preserving access control model based on blockchain technology in IoT[M].Europe and MENA Cooperation Advances in Information and Communication Technologies. Springer International Publishing,2017:523-533.
[5]Karame G O,Androulaki E,Capkun S. Double-spending fast payments in bitcoin[C].Proceedings of the 2012 ACM conference on Computer and communications security, ACM,2012:906-917.
[6]Antonopoulos A M. Mastering Bitcoin:unlocking digital cryptocurrencies[M]. O’Reilly Media,Inc.,2014.
[7]Christidis K,Devetsikiotis M. Blockchains and Smart Contracts for the Internet of Things[J]. IEEE Access,2016,4:2292-2303.
[8]Greenspan G. Ending the bitcoin vs blockchain debate[EB/OL]. MultiChain blog URL:http://www. multichain. com/blog/2015/07/bitcoin-vs-blockchain-debate,2015.
[9]Douceur J R. The sybil attack [C].International Workshop on Peer-to-Peer Systems. Springer Berlin Heidelberg,2002:251-260.
[10]Roe M. Performance of block ciphers and hash functions—one year later[C].International Workshop on Fast Software Encryption, Springer Berlin Heidelberg,1994:359-362.
(責任編輯:龍學鋒)
SimplificationModelConstructionofInternetAccessControlBasedonBlockChain
MEI Ying
(School of computer,Communication University of China,Beijing100024,China)
The Internet of Things is composed of most resource constrained devices,with decentralized topologies. Traditional centralized access control models face enormous challenges in the Internet of Things. Emerging blockchain technology has decentralized topology similar to that of Internet of Things,with features such as trustless center,tamper proof and so on. We propose a simplified access control model based on the advantages of blockchain technology. In our proposed model,the access policy is published in the common visible blockchain,so that any user knows at any time that currently who has right access to the resource. It can also manage access rights through blockchain transactions. The model has security features such as anonymity,anti-DDOS attacks and fraudulent deny.
internet of things;access control;blockchain;security
TP309.2
A
1673-4793(2017)05-0007-06
2017-10-22
國家科技支撐計劃2015BAK05B03
梅穎(1973-),男(漢族),湖北黃梅人,中國傳媒大學副教授,博士.E-mail:178445547@qq.com