楊麗莉
(閩南理工學院信息管理學院 福建 泉州 362700)
近年來,傳感器和執行器設計技術的進步,它們可以嵌入到任何設備中。物聯網(internet of things,IoT)是一個廣義的術語,指的是從周圍環境中收集數據的許多智能傳感器和微控制器。這些傳感器是現代技術的基礎,如智能家居、智能城市、智能電網、智能健康系統和可穿戴設備[1]。IoT將具有不同功能的異構設備在以人為中心和以機器為中心的網絡中無縫互連,以滿足不同行業不斷發展的需求,將數字世界擴展到了現實生活和社會生活中。目前,IoT技術還在飛速發展,但仍不成熟,如IoT設備的計算限制、異構性、識別、電源、數據存儲/處理、安全性等。由于IoT中智能設備在人類生活的各個角落,在IoT的應用中,對信息的安全性和隱私性提出了很高的要求。本文提出訪問控制框架的一個參考模型,并實現一個基于區塊鏈技術的新分布式訪問控制框架,旨在能夠滿足IoT安全和隱私方面的需求。
國內外很多學者為了滿足IoT安全要求在訪問控制模型方面做出了許多努力。基于角色的訪問控制(role-based access control,RBAC)模型根據從物理對象環境中收集的特征和上下文信息,將權限分配給角色[2]。然而,其沒有考慮隱私和安全目標。HERNNDEZ-RAMOS等[3]也選擇了基于能力的訪問控制模型,在完全分布式的安全方法中,它直接在資源受限的設備上實現。SEITZ等[4]提出了IoT的另一個通用授權框架。該框架能夠實現更加靈活的訪問控制,如可擴展訪問控制標記語言和安全斷言標記語言,適用于任何低功耗和內存資源的對象。
在基于區塊鏈的訪問控制方面已經做了一些初步工作。充分利用去中心化、可追溯、不可篡改和智能合約這些區塊鏈的特點,構建訪問控制模型時,將區塊鏈作為可信實體[5]。首先,有研究者探討了在區塊鏈上設計新框架是否可行。如,ZHANG等[6]在區塊鏈上重新設計訪問控制模型。隨后研究人員提出了更詳細的訪問過程,且不僅僅局限于框架:DING等[7]提出了一種基于屬性的IoT訪問控制方法;ALI等[8]提出了IoT下的訪問控制模型,并對事件和查詢的基本權限委托提出了要求。此外,研究人員解決了IoT環境中的關鍵問題:DORRI等[9]提出了一種使用代幣來緩解區塊鏈存在時間、計算和存儲開銷等巨大問題的方法;MA等[10]提出的模型可以跨域訪問。基于區塊鏈的訪問控制的研究很多,但缺點是存在不可擴展的特點。因此,文中提出一種基于區塊鏈的可擴展IoT訪問控制系統模型。
為了能夠為IoT建立合適的安全機制,需要正確理解其應用的性質及其安全要求。每個域應用程序都有特定的特性,在建立安全解決方案時必須考慮特殊的安全要求。這將有助于作為構建訪問控制框架的基礎,以實現每個域應用程序所需的安全級別。
IoT應用在安全和隱私方面提出了新的要求。訪問控制系統應該保護用戶的隱私,這是獲得用戶信任的方法之一。因此,在IoT等新興信息技術領域,保護隱私是一個比較重要的關鍵問題。應根據IoT用戶的政策和期望,靈活保護包括用戶數據和個人信息在內的用戶隱私[11]。隱私的關鍵因素包括透明度、用戶驅動、匿名性、假名、不可鏈接性、不可觀察性、去中心化。透明度能夠幫助人們了解誰知道他們的情況,數據將如何使用及與誰共享,保存多長時間。
IoT應用需要建立在合作和協作的原則之上,要求具有開放性/互操作性、高可擴展性、靈活性、分布性、上下文感知等特點。包括智能家居和醫療保健應用在內的個人和家庭類別中,最終用戶由于其高度參與而被認為是樞紐元件。因此,針對這些領域的訪問控制模型需要更多的用戶驅動。它們應該允許最終用戶完全控制自己的資源。如果沒有適當的安全機制,可能會受到攻擊者的控制。因此,身份驗證和授權機制是IoT安全的先決條件。IoT的全面和整體訪問控制框架要求能夠很好地實現所有給定的目標。為了能夠將實施策略的實際機制聯系起來,需要一個訪問控制模型。
根據OM-AM框架構建FairAccess框架的參考模型,并基于目標和模型層,介紹框架及其功能。去中心化訪問控制框架的是一個能夠自治的系統,它圍繞著資源所有者(resource owner,RO),RO的個數可以是一個或者多個,擁有一個或許多用地址標識的資源,并在RO的控制下進行交易,交易包括的內容有請求、授予、刪除和撤銷訪問。區塊鏈能夠跟蹤,并能夠保證組織之間訪問交易的有效性的賬本。管理訪問策略是在其RO的控制下,建立“去中心化、自治組織的互聯網”,實現了訪問控制框架的公平性。FairAccess框架如圖1所示。

圖1 FairAccess框架
訪問框架組成如圖2所示。其中,User可以是屬于供應商組織的RO,公開其資源并控制對其訪問,也屬于某個請求組織的請求者。每一個RO作為一個請求者,用地址標識資源,進行交互是通過事務進行。每個用戶都有一個wallet錢包,用來存儲地址、憑證和交易。包含資源的注冊和識別、交易簽署,以及請求訪問所需的所有密鑰。在整個框架中,將錢包看作是AMP,是網絡或移動應用程序,注冊需要保護的資源通過錢包RO實現,定義它的訪問控制策略。生成密鑰和地址是錢包的主要功能,將策略廣播到網絡,并轉換為事務,驗證從網絡接收的交易。

圖2 訪問框架組成
在框架中,無論是RO或請求者還是資源的用戶可以擁有幾乎無限數量的加密身份,稱為Addresses。Addresses能夠在網絡中共享,是公共的。能夠用于請求訪問令牌和授予。Addresses是ECDSA(elliptic curve digital signature algorithm,橢圓曲線數字簽名算法)公鑰的散列,被認為擁有該Addresses的用戶為擁有對應的私鑰的用戶。識別框架中的所有實體是通過地址來。實體包括RO、請求者及其所有資源。地址能夠實現很多屬性,包括所有權的證明、去中心化的信任和控制及加密證明的安全模型。
Transactions是指在地址之間傳輸比特幣,比特幣交易的基本組成部分是未花費的交易輸出(unspent transaction output,UTXO)。UTXO是鎖定給特定所有者的比特幣貨幣價值,記錄在區塊鏈上,并被整個網絡識別為貨幣單位。事務所消耗的UTXO稱為事務輸入,并且由事務創建的UTXO被稱為事務輸出。在框架中,轉移訪問令牌,而不轉移比特幣。對應于訪問令牌TKN(Token)框架為交易的UTXO,整個網絡將其看成由交易的創建者定義的訪問權限,使用地址標識來區別資源。任何事務由標識符IDx、輸入向量Vin[]和輸出向量Vout[]組成。IDx用加密哈希來唯一而明確地識別交易,該哈希是通過對交易進行哈希而產生的數字指紋。結果的散列被稱為事務標識符IDx。這個IDx可以由任何節點通過簡單地散列事務來獨立地導出。
Blockchain(區塊鏈)是一個數據庫,按時間順序存儲所有處理的交易,由所有參與的用戶或節點共享。假設在比特幣和其他區塊鏈中使用的相同對抗性模型下,該內存是防篡改的。區塊鏈技術為每個人提供了去中心化信任的有效證據。所有加密貨幣都使用了一種最能被描述為不可能壞掉的公共賬本。每個用戶或節點都有與網絡中所有其他用戶或節點完全相同的賬本。這確保了來自相應貨幣區塊鏈中所有用戶或節點的完整共識。在系統框架中,區塊鏈被視為一個數據庫,以交易的形式存儲每對資源和請求者的所有訪問控制策略,并用作日志數據庫,以確保它的審計職能。
文中提出的授權框架可以在各種IoT應用系統中應用,如交通、智能家居和醫療保健。為了證明所提出框架的有用性,將以下場景作為一個典型的實例。目標系統是一個具有遠程控制功能的智能安全攝像頭。它是使用樹莓派2主板和專用攝像頭構建的。樹莓派連接到無線局域網,提供遠程訪問。相機代表控制訪問的資源,因此授權請求者可以根據相機所有者定義的權限執行多項操作(視頻錄制、直播、延時攝影等)。拍攝快照并將其保存在樹莓派SD卡上,定義控制策略,并使用本地區塊鏈分發的令牌為請求者提供遠程訪問。因此,整個系統由以下幾個主要組成:RO、請求者、資源、區塊鏈和比特幣網絡、RO錢包(AMP)、請求方錢包(AMP)。圖3顯示了系統的主要組成部分以及它們之間的主要相互作用。將攝像機添加為要保護的資源(為相機分配地址)。定義對請求者的訪問控制策略。創建授權訪問交易,比特幣提供了在存儲區塊鏈中80字節任意數據的能力。對于令牌,即連接到8字節自定義標頭作為前綴的SHA256哈希。攝像機模塊連接到運行比特幣客戶端節點的樹莓派硬件。

圖3 系統主要組成部分
RO能夠通過它在樹莓派上運行的AMP來定義2種對攝像頭的訪問控制策略。第一種策略是基于身份的訪問控制,第二種策略是許可訪問控制。錢包使用付費公鑰哈希腳本和多簽名公鑰腳本將這些策略轉換為腳本語言。使用OP_RETURN將令牌封裝在事務中。錢包發送GrantAccess交易,網絡驗證交易。請求者使用交付給他的錢包訪問令牌進行掃描。請求者滿足訪問控制條件,通過GetAccess事務獲得TKN。
基于區塊鏈技術的IoT訪問控制框架利用基于區塊鏈的加密貨幣提供的一致性,提供更透明、更強大的訪問控制工具。分析IoT應用的安全要求,設計了基于區塊鏈的訪問控制架構,并使用UML類圖及交互式圖在靜態和動態2個方面描述了框架的主要構建塊和功能。提出了框架協議的詳細技術實現,結合樹莓派及其監控攝像頭模塊的典型IoT用例,驗證了所提出訪問控制架構的應用效果,證明了該訪問控制架構具有良好的性能和可擴展性。