高振升,曹利峰,杜學(xué)繪
(信息工程大學(xué),河南 鄭州 450001)
隨著物聯(lián)網(wǎng)、云計算等技術(shù)的興起,人們悄然進入大數(shù)據(jù)時代,與此同時,數(shù)據(jù)成為重要的經(jīng)濟資產(chǎn)[1],成為新的生產(chǎn)因素滲透到各行各業(yè)。隨著數(shù)據(jù)資源的廣泛共享,數(shù)據(jù)資源的安全問題受到越來越多的關(guān)注,特別是對敏感數(shù)據(jù)的安全防護正面臨著嚴峻的挑戰(zhàn)。首先,數(shù)據(jù)資源的外包存儲服務(wù)使個人的數(shù)據(jù)不受自己掌控,分布式存儲數(shù)據(jù)的流通共享變得愈加復(fù)雜,這帶來了潛在的安全風(fēng)險。其次,利用數(shù)據(jù)挖掘技術(shù),原有的“低價值”數(shù)據(jù)經(jīng)過聚類分類能夠推導(dǎo)出固定的用戶模式,導(dǎo)致信息泄露。最后,由于龐大的數(shù)據(jù)量以及數(shù)據(jù)的非結(jié)構(gòu)化,針對性的數(shù)據(jù)竊取、篡改、勒索等惡意攻擊更難防范。實際上,相應(yīng)的安全事件已經(jīng)屢見不鮮,2014年5月,eBay的用戶數(shù)據(jù)庫遭到冒充員工的黑客的攻擊,導(dǎo)致1.45億用戶的賬號信息泄露;2018年3月,F(xiàn)acebook被曝出約5000萬條的用戶信息被第三方公司違規(guī)收集并使用;2018年3月,圓通10億條用戶快遞信息在暗網(wǎng)被兜售,至今未溯源到泄露原因。2018年互聯(lián)網(wǎng)大會上發(fā)布的《大數(shù)據(jù)安全白皮書》中指出,要在大數(shù)據(jù)平臺基本組件安全的基礎(chǔ)上為數(shù)據(jù)和應(yīng)用提供安全機制保障,并在數(shù)據(jù)安全的基礎(chǔ)上實現(xiàn)對個人敏感信息的安全防護[2]。
訪問控制技術(shù)最早可以追溯到20世紀(jì)70年代,它的誕生是為了滿足當(dāng)時大型主機系統(tǒng)內(nèi)的數(shù)據(jù)訪問需求。訪問控制作為一種重要的信息安全技術(shù),它通過某種途徑顯式地準(zhǔn)許或限制主體對客體訪問能力及范圍[3],實現(xiàn)保證用戶在其合法權(quán)限內(nèi)訪問數(shù)據(jù),并禁止非授權(quán)用戶的違規(guī)和越界操作。在大數(shù)據(jù)的環(huán)境中,訪問控制技術(shù)仍是重要的數(shù)據(jù)保護手段,但大數(shù)據(jù)的4V特點,即Volume(體量大)、Variety(模態(tài)繁多)、Velocity(生成快速)和Value(價值巨大但密度低)[4],給現(xiàn)有的訪問控制技術(shù)帶來了挑戰(zhàn)。傳統(tǒng)的訪問控制機制無法應(yīng)對大數(shù)據(jù)環(huán)境下信息共享程度高、數(shù)據(jù)流通快、分布式存儲的特點,面臨著上文示例的數(shù)據(jù)主權(quán)難維護、訪問權(quán)限難界定、第三方泄露難防范等問題,這給訪問控制技術(shù)的發(fā)展帶來了“桎梏”。
區(qū)塊鏈最早出現(xiàn)于2008年中本聰發(fā)表的Bitcoin: a peer-to-peer electronic cash system[5],而且準(zhǔn)確地說其中只提出了“區(qū)塊”(block)和“鏈”(chain),還沒有出現(xiàn)“區(qū)塊鏈”(blockchain)這個詞。早期的區(qū)塊鏈作為虛擬貨幣系統(tǒng)的底層技術(shù),還沒有引起人們的重視,直到比特幣系統(tǒng)穩(wěn)定運行三四年后,業(yè)界才漸漸關(guān)注到區(qū)塊鏈技術(shù)去中心化、安全可信的特點,并將其拓展應(yīng)用到各個領(lǐng)域。
區(qū)塊鏈具有分布式、交易透明、難以篡改的特點以及無須第三方背書的可信機制,這與大數(shù)據(jù)環(huán)境下訪問控制需要解決的分布式部署、審計機制、信任機制的需求不謀而合。正因如此,基于區(qū)塊鏈的訪問控制自從提出就受到了諸多學(xué)者的關(guān)注,圖1顯示了在Web of Science數(shù)據(jù)庫中,以blockchain和access control為關(guān)鍵詞檢索得到的文獻情況(截至2020年12月),可以看到目前結(jié)合區(qū)塊鏈的訪問控制機制正處在研究的上升期。在大數(shù)據(jù)背景下,諸多基于區(qū)塊鏈的訪問控制機制已經(jīng)在物聯(lián)網(wǎng)、云計算、醫(yī)療、工業(yè)自動化等多個領(lǐng)域被提出并應(yīng)用,且仍有較大的改進空間和廣闊的應(yīng)用場景。
圖1 Web of Science中檢索相關(guān)論文按年份發(fā)表情況Figure 1 Relevant papers retrieved in Web of Science published by year
移動互聯(lián)網(wǎng)、物聯(lián)網(wǎng)以及云計算等熱點的崛起在很大限度上是大數(shù)據(jù)產(chǎn)生的原因[6]。如果將大數(shù)據(jù)比作數(shù)據(jù)分析員,那么物聯(lián)網(wǎng)作為感知器官,負責(zé)時時刻刻收集周邊的各種信息,云計算則是大腦,負責(zé)存儲海量的數(shù)據(jù),并提供強大的計算能力以支持數(shù)據(jù)分析,而網(wǎng)絡(luò)通信技術(shù)則作為神經(jīng)器官,負責(zé)信息的傳遞與共享,如圖2所示。
圖2 大數(shù)據(jù)與物聯(lián)網(wǎng)、云計算、通信網(wǎng)絡(luò)的關(guān)系Figure 2 The relationship between big data and the internet of things,cloud computing, communication network
物聯(lián)網(wǎng)的概念在1999年首次被提出,它強調(diào)在互聯(lián)網(wǎng)的基礎(chǔ)上實現(xiàn)物品與網(wǎng)絡(luò)的互聯(lián),并在物品設(shè)備間進行信息通信和交換,形成智能化功能的網(wǎng)絡(luò)。經(jīng)過20多年的發(fā)展,特別是隨著智能攝像頭、可穿戴設(shè)備、智能汽車等設(shè)備的普及,對物聯(lián)網(wǎng)設(shè)備的數(shù)據(jù)保護問題已經(jīng)引起越來越多研究者的注意。物聯(lián)網(wǎng)場景下數(shù)據(jù)的訪問控制技術(shù)主要面臨3個方面的挑戰(zhàn):① 物聯(lián)網(wǎng)設(shè)備的部署多是分布式架構(gòu),對網(wǎng)絡(luò)中終端設(shè)備的針對性攻擊難以防范,要求訪問控制機制應(yīng)具備一定的容錯性,避免少量虛假數(shù)據(jù)造成整個系統(tǒng)的癱瘓;② 數(shù)據(jù)的存儲呈現(xiàn)分布式的特征,設(shè)計的訪問控制機制應(yīng)具備多地協(xié)作統(tǒng)一的能力;③ 物聯(lián)網(wǎng)中存在著大量以攝像頭、傳感器為代表的信息采集設(shè)備,其產(chǎn)生的數(shù)據(jù)價值密度低但是數(shù)量巨大,如何實現(xiàn)對這些“數(shù)據(jù)原料”的安全防護也是需要研究的問題。
云計算依托于互聯(lián)網(wǎng),通過在網(wǎng)絡(luò)上提供快速的云計算服務(wù)與數(shù)據(jù)存儲服務(wù),讓用戶可以使用網(wǎng)絡(luò)上的外包數(shù)據(jù)庫與計算資源,它的普及為企業(yè)和用戶提供了靈活高效的數(shù)字資源管理服務(wù)。但是近些年來云平臺上的數(shù)據(jù)泄密事件,讓人們意識到云計算中數(shù)據(jù)安全管控的重要性。云計算場景下,對數(shù)據(jù)的訪問控制技術(shù)主要面臨3個方面的挑戰(zhàn):① 云計算環(huán)境中用戶對個人數(shù)據(jù)難以管控,云服務(wù)商對訪問權(quán)限的履行情況難以確定,導(dǎo)致個人敏感數(shù)據(jù)的泄露;② 云計算環(huán)境中用戶來源廣泛且數(shù)據(jù)類型多樣,如何在滿足用戶數(shù)據(jù)分享需求的前提下,制定訪問控制策略,實現(xiàn)細粒度的數(shù)據(jù)訪問控制并杜絕非必要信息的泄露也是待解決的問題;③ 云計算環(huán)境中數(shù)據(jù)資源更新速度快,數(shù)據(jù)的上傳和下載影響著用戶的數(shù)據(jù)狀態(tài),靜態(tài)的權(quán)限授予策略有時難以應(yīng)對數(shù)據(jù)的快速演變,因此設(shè)計實現(xiàn)動態(tài)的訪問控制機制顯得尤為必要。
結(jié)合2.1節(jié)對大數(shù)據(jù)環(huán)境下關(guān)鍵場景的分析,總結(jié)目前訪問控制技術(shù)面臨以下6個方面的挑戰(zhàn)。
挑戰(zhàn)1:分布式架構(gòu)的部署。大數(shù)據(jù)特別是物聯(lián)網(wǎng)的興起,引發(fā)了分布式的浪潮,大量的數(shù)據(jù)在信息共享系統(tǒng)的存儲呈現(xiàn)出地理區(qū)域隔離、安全域隔離的特點。這要求訪問控制系統(tǒng)在分布式架構(gòu)下要具有協(xié)調(diào)統(tǒng)一的跨域管理機制,特別是在不同的數(shù)據(jù)域有著不同的安全需求時,相應(yīng)的管理機制更加復(fù)雜。
挑戰(zhàn)2:權(quán)限管理策略。大數(shù)據(jù)環(huán)境中的訪問控制主體組成復(fù)雜,信息共享頻繁,數(shù)據(jù)流通管理困難。巨大的數(shù)據(jù)量、用戶的多樣需求和服務(wù)商的多類型業(yè)務(wù)都給權(quán)限管理帶來了挑戰(zhàn),權(quán)限管理策略應(yīng)當(dāng)具有可信的授予、更新、刪除機制。
挑戰(zhàn)3:細粒度訪問控制。由于數(shù)據(jù)體量浩大和模態(tài)繁多的特點,傳統(tǒng)的授權(quán)模式難以滿足最小授權(quán)原則[7]。為了維護訪問邊界,禁止越權(quán)訪問,需制定適宜應(yīng)用場景的近似最小授權(quán)訪問策略。
挑戰(zhàn)4:敏感數(shù)據(jù)保護。大數(shù)據(jù)環(huán)境下,包括聊天信息、購物記錄、醫(yī)療數(shù)據(jù)、瀏覽記錄等個人數(shù)據(jù)都在未經(jīng)授權(quán)的情況下被第三方收集。這些看似“低價值”的數(shù)據(jù)經(jīng)過挖掘,往往可以推導(dǎo)出用戶的身份信息、喜愛偏好、健康情況等,而泄露的信息被第三方惡意使用,就會出現(xiàn)商品“殺熟”、虛假廣告、隱私敲詐等問題,這就需要設(shè)計針對敏感數(shù)據(jù)的隱私保護機制。
挑戰(zhàn)5:動態(tài)訪問控制。大數(shù)據(jù)環(huán)境中的數(shù)據(jù)更新速度快,用戶和服務(wù)商時時刻刻都在進行數(shù)據(jù)的上傳和下載,所以相應(yīng)的訪問控制機制也應(yīng)具有調(diào)整策略,并考慮到訪問控制策略實施滯后性,部署能夠靈活地根據(jù)客體屬性和主體需求變化進行實時動態(tài)調(diào)整的訪問控制機制。
挑戰(zhàn)6:權(quán)限核查。數(shù)據(jù)的體量大且模態(tài)繁多的情況下,相應(yīng)的權(quán)限分配會愈加復(fù)雜,特別是在多方信息共享的情景下,不信任的雙方進行通信時需要互相核查對方的身份和權(quán)限,這需要建立相應(yīng)的保證機制,減少雙方的審核開銷。
訪問控制作為數(shù)據(jù)保護的基石性技術(shù)之一,用以控制訪問主體和客體之間的數(shù)據(jù)安全交互。隨著計算機技術(shù)的發(fā)展,對訪問控制的要求愈加細化,訪問控制技術(shù)也隨之得到完善和發(fā)展。目前主要的訪問控制模型有基于角色的訪問控制(RBAC,role-based access control)[8]、基于屬性的訪問控制(ABAC,attributes based access control)[9]、基于任務(wù)的訪問控制(TBAC,task-based access control)[10-11]等。
基于角色的訪問控制的核心思想是在用戶集和權(quán)限集之間建立一層角色集,對每種角色設(shè)定一組對應(yīng)的訪問權(quán)限,在對用戶進行授權(quán)時只需建立起用戶到角色的映射,這樣用戶直接擁有該角色的全部權(quán)限。RBAC的出現(xiàn)簡化了用戶的權(quán)限管理,減少了系統(tǒng)的操作開銷,適用于企業(yè)級的數(shù)據(jù)安全管控。但是在大數(shù)據(jù)環(huán)境下,RBAC仍面臨兩個問題。一是復(fù)雜的系統(tǒng)環(huán)境讓角色的設(shè)計成為一項艱巨的挑戰(zhàn),角色挖掘的需求顯得尤為突出。Molloy等[12-14]致力于復(fù)雜數(shù)據(jù)集下的角色挖掘工作,這給基于RBAC的大數(shù)據(jù)管理帶來了顯著的改進,但是大數(shù)據(jù)應(yīng)用中的訪問權(quán)限依然難以細化到各個角色上,過度授權(quán)和授權(quán)不足的現(xiàn)象難以避免。二是難以實現(xiàn)分布式環(huán)境下的授權(quán)需求,文獻[15]提出將RBAC與證書認證相結(jié)合,用以克服RBAC模型中集中式管理的缺陷,但是證書的頒發(fā)工作仍需要中心化的權(quán)威服務(wù)器執(zhí)行,不能普及到節(jié)點完全對等的分布式環(huán)境中。
基于屬性的訪問控制核心思想是基于實體的屬性來判決是否允許用戶對資源的訪問,其中訪問控制策略可以根據(jù)屬性值以及屬性之間的關(guān)系靈活制定。ABAC克服了角色身份的限制,能夠通過屬性對訪問權(quán)限進行描述,具備實現(xiàn)最小授權(quán)原則的條件。例如,文獻[16-17]探索了將ABAC應(yīng)用于大數(shù)據(jù)訪問控制的可能性,并提出將機器學(xué)習(xí)算法應(yīng)用于復(fù)雜組織集和屬性集下的訪問控制策略制定,能夠應(yīng)對較大數(shù)據(jù)規(guī)模下的訪問控制需求。但是在大數(shù)據(jù)不可信的網(wǎng)絡(luò)環(huán)境下,ABAC也存在著安全問題:一是訪問策略由用戶自定義制定,策略的執(zhí)行依然依托第三方背書的權(quán)威機構(gòu),其執(zhí)行結(jié)果往往用戶無法跟蹤,個人的數(shù)據(jù)泄露難以察覺;二是用戶制定的策略存儲在服務(wù)器上,也有受到黑客篡改的可能,致使數(shù)據(jù)的泄露。
基于任務(wù)的訪問控制是從工作流的角度出發(fā),通過將業(yè)務(wù)劃分為多個任務(wù),然后依據(jù)任務(wù)和任務(wù)狀態(tài)對權(quán)限進行動態(tài)管理,適用于解決分布式環(huán)境下多機構(gòu)參與的信息管控需求。TBAC的訪問權(quán)限與任務(wù)相綁定,任務(wù)執(zhí)行完則權(quán)限被消耗,所以主體對客體的訪問具有時間窗口,提升了安全性。但是TBAC僅關(guān)注工作流,沒有設(shè)計對主體和客體的約束,不符合實際的應(yīng)用情況,因此它往往作為補充機制與其他的訪問控制模型結(jié)合使用。
此外,有學(xué)者將基于風(fēng)險的訪問控制引入大數(shù)據(jù)領(lǐng)域,文獻[18]提出使用基于風(fēng)險的訪問控制來管理患者醫(yī)療數(shù)據(jù),通過對醫(yī)生的訪問行為進行評估,給每位醫(yī)生量化其風(fēng)險,進而限制高風(fēng)險醫(yī)生的過度訪問。文獻[19]則將風(fēng)險概念引入云計算中,云租戶和服務(wù)商可以通過自定義的風(fēng)險策略來管理自己的數(shù)據(jù),從而適應(yīng)云環(huán)境下資源和用戶靈活度高、可伸縮性強的特點。總體來說,基于風(fēng)險的訪問控制能夠適應(yīng)動態(tài)性強、可擴展性高的系統(tǒng),但是也存在風(fēng)險量化標(biāo)準(zhǔn)難確定、風(fēng)險衡量結(jié)果不可信的問題。
區(qū)塊鏈技術(shù)是一種去中心化、去信任化的分布式數(shù)據(jù)庫技術(shù)方案[20],它并不是一項新的技術(shù),而是革命性的技術(shù)組合。一個完整的區(qū)塊鏈系統(tǒng)通過哈希算法和時間戳保證數(shù)據(jù)區(qū)塊難以篡改和不可偽造;利用數(shù)字簽名實現(xiàn)交易的確認與驗證;利用對等網(wǎng)絡(luò)上的共識機制實現(xiàn)各個誠實節(jié)點記賬的一致性;利用Merkle樹實現(xiàn)區(qū)塊數(shù)據(jù)的快速歸納和校驗。區(qū)塊鏈技術(shù)帶來的顛覆性思想,讓業(yè)界將其作為“價值互聯(lián)網(wǎng)”的基礎(chǔ)協(xié)議[21],在訪問控制領(lǐng)域具有天然的安全優(yōu)勢。
自2008年比特幣誕生以來,區(qū)塊鏈技術(shù)一直在持續(xù)地改進和發(fā)展,特別是隨著以太坊、EOS等項目的提出,讓人們看到它在多種場景下的應(yīng)用潛力。Swan發(fā)表的Blockchain:Blueprint for a new economy中將區(qū)塊鏈技術(shù)的應(yīng)用分為3個層次,即區(qū)塊鏈1.0、區(qū)塊鏈2.0、區(qū)塊鏈3.0[22]。其中,區(qū)塊鏈1.0架構(gòu)應(yīng)用于虛擬貨幣系統(tǒng),即與支付、轉(zhuǎn)賬、審計相關(guān)的密碼學(xué)貨幣的應(yīng)用。區(qū)塊鏈2.0架構(gòu)的主要關(guān)注點在于智能合約的應(yīng)用,其核心理念在于利用區(qū)塊鏈的高可信性,把其作為一個可編程的分布式可信任基礎(chǔ)設(shè)施,從而將其應(yīng)用拓展到認證、拍賣、知識產(chǎn)權(quán)保護等需要建立信任機制的領(lǐng)域。區(qū)塊鏈3.0架構(gòu)還沒有準(zhǔn)確的定義,但其核心思想是在區(qū)塊鏈2.0的基礎(chǔ)上,建立起實際的分布式系統(tǒng),將其應(yīng)用領(lǐng)域再次拓展到政務(wù)、工業(yè)、醫(yī)療、藝術(shù)等領(lǐng)域,實現(xiàn)廣義的可信任“資產(chǎn)”交易。
區(qū)塊鏈的基礎(chǔ)架構(gòu)如圖3所示,區(qū)塊鏈系統(tǒng)可分為基礎(chǔ)網(wǎng)絡(luò)層、中間協(xié)議層以及應(yīng)用服務(wù)層。其中,基礎(chǔ)網(wǎng)絡(luò)層可細分為數(shù)據(jù)層和網(wǎng)絡(luò)層,中間協(xié)議層可細分為共識層、激勵層和合約層。接下來分析架構(gòu)中與基于區(qū)塊鏈的訪問控制機制相關(guān)的關(guān)鍵技術(shù)。
圖3 區(qū)塊鏈的基礎(chǔ)架構(gòu)Figure 3 Blockchain infrastructure
區(qū)塊鏈的區(qū)塊結(jié)構(gòu)保證了數(shù)據(jù)只增不減、難以篡改、可以溯源的特性。如圖4所示,區(qū)塊鏈在區(qū)塊體內(nèi)以Merkle樹的形式存儲交易數(shù)據(jù),在區(qū)塊頭存儲時間戳、區(qū)塊哈希、隨機數(shù)、Merkle根等信息。Merkle樹以二叉樹的結(jié)構(gòu)進行哈希運算,實現(xiàn)交易信息的“壓縮”和防篡改,達到數(shù)據(jù)校驗和快速歸納的目的。時間戳用于記錄當(dāng)前區(qū)塊數(shù)據(jù)的寫入時間,它為區(qū)塊數(shù)據(jù)增加了一個時間維度,增強數(shù)據(jù)的可追溯性。此外,每個區(qū)塊利用哈希算法,結(jié)合隨機數(shù)和Merkle根等信息得到其區(qū)塊頭的哈希值,并將其作為下一區(qū)塊的目標(biāo)哈希,以實現(xiàn)記賬權(quán)的競爭機制。在此機制下,區(qū)塊頭的哈希值成為區(qū)塊間的鏈接“指針”,實現(xiàn)了區(qū)塊鏈的鏈?zhǔn)浇Y(jié)構(gòu),保證了區(qū)塊數(shù)據(jù)的存儲可信性。
圖4 區(qū)塊鏈的數(shù)據(jù)結(jié)構(gòu)Figure 4 Data structure of blockchain
作為去中心化的記賬系統(tǒng),區(qū)塊鏈通過共識機制來實現(xiàn)互不信任的分布式節(jié)點之間就交易的合法性達成一致性共識。區(qū)塊鏈的共識機制解決了分布式記賬數(shù)據(jù)庫的兩個問題:賬本的寫入權(quán)歸屬和節(jié)點之間的賬本同步。研究者認為區(qū)塊鏈的共識問題可被歸納為文獻[23]提出的拜占庭將軍問題,而文獻[24]提出的Fischer-Lynch-Paterson定理證明:在含有多個確定性進程的異步系統(tǒng)中,只要有一個進程可能發(fā)生故障,就不存在協(xié)議能保證在有限時間內(nèi)使所有進程達成一致。因此,研究者根據(jù)實際的工程模型,通過附加同步性假設(shè)、時間假設(shè)等限制條件提出了許多共識算法,并根據(jù)設(shè)定的條件可分為強一致性共識和最終一致性共識兩大類。
強一致性共識算法一般應(yīng)用在節(jié)點數(shù)較少且具備節(jié)點準(zhǔn)入機制的聯(lián)盟鏈和私有鏈環(huán)境中,如實用拜占庭容錯機制(PBFT)和Raft機制等。而目前應(yīng)用比較廣泛的工作量證明機制(PoW)、權(quán)益證明機制(PoS)以及股份授權(quán)證明(DPoS)都屬于最終一致性共識算法,它們多應(yīng)用在節(jié)點數(shù)量巨大的公開鏈環(huán)境中。通過查閱相關(guān)資料以及參考文獻[25]的工作,將常見的共識機制歸納如表1所示。
表1 常見的共識機制對比Table 1 Comparison of consensus mechanisms
智能合約可以被看作一種計算機程序,是開發(fā)者根據(jù)已經(jīng)制定好的合約條款轉(zhuǎn)換成的運算邏輯,它會時刻監(jiān)督用戶的數(shù)據(jù)狀態(tài)和行為信息,并根據(jù)已經(jīng)制定好的邏輯規(guī)則,保證合約的順利執(zhí)行。智能合約的概念在1994年被提出,并將其描述為“由計算機處理的、可執(zhí)行合約條款的交易協(xié)議”[26],但由于當(dāng)時的技術(shù)不成熟以及安全機制不完善,這個概念難以應(yīng)用落地。而區(qū)塊鏈有著難以篡改、公開透明、安全可信的特點,能夠為智能合約提供高可信度的存儲和執(zhí)行環(huán)境,使智能合約重新受到許多研究者的重視,得以快速發(fā)展。特別是在以以太坊為代表的區(qū)塊鏈架構(gòu)2.0下,智能合約成為其核心關(guān)鍵組件,已經(jīng)成為未來互聯(lián)網(wǎng)合約的重要研究方向,有著廣泛的應(yīng)用空間。智能合約的工作機制可劃分為智能合約的部署和智能合約的執(zhí)行兩個部分。
以以太坊為例,如圖5所示,智能合約的部署首先由開發(fā)人員按照預(yù)定的協(xié)議編寫智能合約代碼,再編譯為字節(jié)碼后通過geth客戶端上傳至區(qū)塊鏈網(wǎng)絡(luò),包含有該合約的區(qū)塊在經(jīng)過全網(wǎng)驗證后會被寫入每個節(jié)點管理的區(qū)塊鏈上,一段時間后通過記賬節(jié)點完成智能合約上鏈。在完成智能合約的部署后,智能合約以賬戶的形式保存在區(qū)塊鏈上,用戶通過該賬戶的地址訂閱智能合約。如圖6所示,智能合約會定期檢查用戶是否滿足觸發(fā)條件,在條件觸發(fā)后通過一筆事務(wù)調(diào)用合約,合約代碼會在本地的以太坊智能合約虛擬機(EVM)上執(zhí)行,之后再對執(zhí)行結(jié)果打包、廣播、驗證,在其他節(jié)點確認無誤的情況下將執(zhí)行結(jié)果上傳到區(qū)塊鏈上。
圖5 智能合約的部署流程Figure 5 Deployment process of smart contract
圖6 智能合約的執(zhí)行流程Figure 6 Execution process of smart contract
區(qū)塊鏈具有分布式、交易透明、難以篡改的特點以及無須第三方背書的可信機制,這與大數(shù)據(jù)環(huán)境下訪問控制需要解決的分布式部署、審計機制、信任機制的需求不謀而合,區(qū)塊鏈技術(shù)與訪問控制技術(shù)結(jié)合有以下6點優(yōu)勢。
1) 策略和權(quán)限可信任。由于區(qū)塊鏈難以篡改的特點,訪問權(quán)限數(shù)據(jù)以及部署的智能合約在經(jīng)過共識機制存儲到區(qū)塊之后將無法刪除和更改,這避免了針對性的權(quán)限篡改、刪除等惡意攻擊,為權(quán)限管理機制提供了安全保障。
2) 策略和權(quán)限可核查。區(qū)塊鏈上的數(shù)據(jù)公開可查詢,這在多方信息共享系統(tǒng)中有著重要作用。策略的透明建立起了參與方對系統(tǒng)安全的信任,避免“后門”問題。權(quán)限透明且難以篡改,使通信雙方可以在無須第三方背書的情況下建立起信任機制,簡化了交易流程,降低了信任成本。
3) 分布式賬本。區(qū)塊鏈去中心化的思想與大數(shù)據(jù)時代的分布式環(huán)境相符合,區(qū)塊鏈中的P2P(peer-to-peer)網(wǎng)絡(luò)、共識算法和分布式數(shù)據(jù)庫等機制適合應(yīng)用于分布式架構(gòu)的系統(tǒng)。同時區(qū)塊鏈中的賬本分布式地存儲各個節(jié)點上,增強了系統(tǒng)的健壯性,網(wǎng)絡(luò)中部分節(jié)點出現(xiàn)故障不會影響系統(tǒng)的運行或者造成數(shù)據(jù)的丟失,也避免了集中式管理帶來的針對性攻擊問題。
4) 訪問策略自動化實現(xiàn)。用戶可以根據(jù)需求,自定義智能合約并將其部署在區(qū)塊鏈上,當(dāng)有訪問請求時,系統(tǒng)會根據(jù)智能合約的邏輯策略并依據(jù)請求者的屬性、角色等信息自動化地判決,且無人工干預(yù)。
5) 細粒度訪問控制。用戶個人數(shù)據(jù)的訪問權(quán)限可以通過主體?客體對的形式存儲在區(qū)塊鏈上,具備對用戶數(shù)據(jù)進行細粒度劃分的能力,訪問者被局限在規(guī)定的訪問邊界內(nèi),防止了服務(wù)商對用戶數(shù)據(jù)的過度收集。鏈上的信息公開、客體的所有權(quán)明確,方便服務(wù)商直接對主權(quán)方發(fā)出請求,同時服務(wù)商的操作信息能夠以只增不減的方式記錄在區(qū)塊鏈上,越權(quán)訪問、泄露數(shù)據(jù)等行為能夠經(jīng)過日志分析發(fā)現(xiàn),實現(xiàn)安全、透明、高效的數(shù)據(jù)資源共享。
6) 數(shù)據(jù)流通可溯源?,F(xiàn)有的針對區(qū)塊鏈溯源的研究,主要是面對商品或代幣的全周期追蹤記錄。同樣可以借鑒這種思想,將用戶的數(shù)據(jù)看作商品,利用鏈上訪問權(quán)限和鏈下的訪問日志,結(jié)合時間戳和簽名信息,聯(lián)合分析用戶數(shù)據(jù)的全周期流通過程,掌握數(shù)據(jù)的演變歷程,從而溯源越權(quán)訪問等違規(guī)操作。
目前基于區(qū)塊鏈的訪問控制技術(shù)的主要實現(xiàn)方式有兩種:基于交易的訪問控制機制和基于智能合約的訪問控制機制。
基于交易的訪問控制機制核心思想是借助區(qū)塊鏈的可信存儲特性,將區(qū)塊鏈作為訪問控制系統(tǒng)內(nèi)的存儲單元,用戶通過事務(wù)交易(transaction)實現(xiàn)訪問權(quán)限的授予和撤銷,系統(tǒng)通過查詢鏈上的交易能夠判斷是否允許其他用戶的訪問。同時可以將訪問控制策略、主體和客體信息以及管理員操作日志等數(shù)據(jù)打包,然后以事務(wù)交易的形式存儲到區(qū)塊鏈上,保證信息的公開透明和不被篡改。
基于智能合約的訪問控制機制基本原理是借助區(qū)塊鏈的可信計算特性,用戶將其訪問控制策略轉(zhuǎn)化為智能合約代碼上傳至區(qū)塊鏈,在訪問主體滿足合約預(yù)置的條件時,自動化地賦予其對客體的訪問權(quán)限,并以交易事務(wù)的形式存儲在區(qū)塊鏈上。進一步拓展,用戶可以利用智能合約控制訪問主客體之間所有的數(shù)據(jù)交互過程,實現(xiàn)對主體和客體的屬性狀態(tài)、權(quán)限授予溯源信息、策略更新歷史記錄等所有數(shù)據(jù)的監(jiān)督和管理。
4.1.1基于交易的訪問控制機制
基于交易的訪問控制機制在區(qū)塊鏈研究的早期被提出,是訪問控制技術(shù)與區(qū)塊鏈技術(shù)融合的開始。Zyskind等[27]針對移動應(yīng)用的數(shù)據(jù)訪問控制需求,提出將訪問控制策略以用戶與服務(wù)商的聯(lián)合身份發(fā)布,并將聯(lián)合身份表示為代表用戶的公鑰,代表服務(wù)商的公鑰)。該機制的原理如圖7所示,由于區(qū)塊鏈只增不減的特性,規(guī)定聯(lián)合身份最新發(fā)布的交易為有效交易,這樣通過查找最近的權(quán)限交易Taccess就可以實現(xiàn)權(quán)限的授予、更改和撤銷。通過數(shù)據(jù)交易Tdata提交服務(wù)商的訪問請求,并同時將數(shù)據(jù)的訪問操作記錄在區(qū)塊鏈上,保證訪問操作可溯源。該機制巧妙地引入聯(lián)合身份的概念,使得用戶可以針對不同的服務(wù)商實現(xiàn)不同類型數(shù)據(jù)的訪問控制策略,同時使用訪問控制列表(ACL,access control list)的策略描述方式,適宜低復(fù)雜度的訪問控制策略、較小數(shù)據(jù)量的個人數(shù)據(jù)保護需求。
圖7 Zyskind機制原理Figure 7 Principle of Zyskind mechanism
文獻[28]探索了在物聯(lián)網(wǎng)背景下,使用多條區(qū)塊鏈分類別存儲主客體信息和權(quán)限決策信息,以實現(xiàn)靈活自動的訪問控制決策機制。如圖8所示,作者提出的ControlChain機制規(guī)定使用關(guān)系鏈(relationship blockchain)存儲主體和客體之間的關(guān)系數(shù)據(jù),使用上下文鏈(context blockchain)存儲傳感器數(shù)據(jù)、處理后的數(shù)據(jù)和人為輸入的數(shù)據(jù)。并定義解碼器(decoder)用于在自定義的訪問控制模型下(RBAC、ABAC、OrBAC等),將主客體的屬性角色數(shù)據(jù)和關(guān)系鏈中的數(shù)據(jù)等自動轉(zhuǎn)換為訪問控制模塊可以直接識別的數(shù)據(jù)結(jié)構(gòu)類型(ACL等),并最終將授權(quán)決策信息存儲在責(zé)任鏈(accountability blockchain),以實現(xiàn)授權(quán)的溯源和問責(zé)制度。該機制實現(xiàn)了傳統(tǒng)訪問控制模型和區(qū)塊鏈的融合,可以在用戶自定義的訪問控制模型下完成訪問控制決策。
圖8 ControlChain機制框架Figure 8 Architecture of ControlChain mechanism
文獻[29]提出在鏈上以交易的形式完成訪問控制策略和訪問權(quán)限的創(chuàng)建、更新和撤銷。作者定義了兩種類型的交易:一是策略創(chuàng)建交易(PCT,policy creation transaction),用于實現(xiàn)策略的創(chuàng)建;二是權(quán)限轉(zhuǎn)移交易(RTT,right transfer transaction),用于實現(xiàn)主體間權(quán)限的更替。為了在只增不減的區(qū)塊鏈上實現(xiàn)策略的更新和撤銷,作者利用區(qū)塊鏈的代幣機制,規(guī)定在進行更新和刪除的PCT交易時必須花費該策略先前的交易輸出,即每次交易的輸入是先前的策略信息和一定的交易費用(比特幣),輸出是新的策略信息和交易后剩下的費用。同時作者又規(guī)定數(shù)據(jù)操作權(quán)限的擁有者RT(right holder)在進行RTT交易時,可以將原有的訪問控制策略限制得更加嚴格,只有在交易方滿足條件時才給予其操作權(quán)限并完成交易。文獻[29]提出的系統(tǒng)模型Maesa機制原理如圖9所示,可以看到區(qū)塊鏈在該系統(tǒng)中作為存儲組件,通過與策略管理點(PAP)交互,為授權(quán)系統(tǒng)提供訪問控制策略的全周期信息,然后策略執(zhí)行點根據(jù)授權(quán)系統(tǒng)的處理結(jié)果控制用戶與數(shù)據(jù)資源的交互。該系統(tǒng)通過利用區(qū)塊鏈上的交易機制,實現(xiàn)了ABAC模型下的安全可信、修改靈活、全周期溯源的訪問控制機制,在數(shù)據(jù)規(guī)模較大時也能滿足細粒度的訪問控制需求。
圖9 Maesa機制原理Figure 9 Principle of Maesa mechanism
總的來說,目前基于交易的訪問控制機制通過利用區(qū)塊鏈可信存儲的特性,可分為以下4個方面。
1) 存儲訪問權(quán)限。文獻[27, 30]利用區(qū)塊鏈公開透明和數(shù)據(jù)可信的特性,在鏈上存儲訪問權(quán)限,使得權(quán)限的信息公開可查詢,可以在無第三方背書的情況下建立信任。同時由于區(qū)塊鏈只增不減的特性,鏈上的權(quán)限數(shù)據(jù)只能以覆蓋的方式修改而無法撤回,保證了請求者不能私自越權(quán)訪問,授權(quán)者也不能反悔抵賴。其中文獻[30]引入虛擬鏈(virtualchain)[31-32]的概念,提出通過虛擬鏈將高級的數(shù)據(jù)存儲功能轉(zhuǎn)化為基礎(chǔ)的邏輯存儲單元,以實現(xiàn)在不修改區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)上,將云存儲系統(tǒng)的數(shù)據(jù)以虛擬鏈的形式有序上鏈。
2) 存儲訪問控制策略。文獻[33-35]分別提出在物聯(lián)網(wǎng)、云聯(lián)盟和云存儲的環(huán)境下將訪問控制策略放在區(qū)塊鏈上,使得策略公開透明,保證訪問控制策略的可信任性,避免存在利用“后門”等暗箱操作的行為。Maesa等[29]還考慮到訪問控制策略的存儲空間問題,提出使用自定義的符號映射表,將各類屬性映射為固定長度的數(shù)值,以實現(xiàn)策略的壓縮存儲和高效拓展。
3) 存儲關(guān)鍵敏感數(shù)據(jù)。文獻[36]利用區(qū)塊鏈難以篡改和不可刪除的特性,在醫(yī)療數(shù)據(jù)分享中應(yīng)用區(qū)塊鏈技術(shù),保證用以研究的數(shù)據(jù)真實可靠,不被惡意篡改。Pinno等[28]則利用區(qū)塊鏈分布式特性,在物聯(lián)網(wǎng)中搭建專門用來存儲數(shù)據(jù)的上下文鏈(context blockchain),存儲分布的傳感器數(shù)據(jù)和人工輸入數(shù)據(jù)。文獻[37]提出了一種利用區(qū)塊鏈技術(shù)實現(xiàn)的防篡改的數(shù)據(jù)存儲管理框架,利用哈希指針樹型索引結(jié)構(gòu)實現(xiàn)數(shù)據(jù)的高效查詢。但值得注意的是,考慮到鏈上信息全透明,在某些需要隱私保護的情景下必須通過某些機制實現(xiàn)“信息隱匿”。同時,由于區(qū)塊鏈的共識機制和競爭記賬機制,在鏈上存儲大規(guī)模數(shù)據(jù)開銷較大,因此多數(shù)的基于區(qū)塊鏈訪問控制系統(tǒng)往往在鏈下存儲原始數(shù)據(jù),而在鏈上只維護數(shù)據(jù)的分布式哈希表(DHT,distributed hash table)[27,38]或地址指針等簡略信息,以達到在節(jié)省鏈上空間同時保證數(shù)據(jù)完整性的目的。
4) 存儲訪問控制操作記錄。利用區(qū)塊鏈可查、可信、可溯源的特性,建立審計追責(zé)系統(tǒng),實時記錄主體的操作記錄,以監(jiān)察授權(quán)者的不當(dāng)授權(quán)和操作者的違規(guī)操作,同時能夠逐級溯源,實現(xiàn)相應(yīng)的按級懲戒。文獻[39]以互聯(lián)網(wǎng)租車作為背景,提出將租車平臺對用戶數(shù)據(jù)的訪問記錄存儲在區(qū)塊鏈上,在用戶發(fā)現(xiàn)個人隱私泄露時,可以此為依據(jù)進行溯源,實現(xiàn)對互聯(lián)網(wǎng)租車軟件平臺的追責(zé)機制。喬蕊等[40-41]則針對動態(tài)數(shù)據(jù)的安全問題,設(shè)計了基于區(qū)塊鏈的動態(tài)數(shù)據(jù)安全存儲機制。以云計算為代表的數(shù)據(jù)存儲技術(shù),有著數(shù)據(jù)流通快、更新快的特點,帶來了攻擊行為難界定、數(shù)據(jù)偽造難發(fā)現(xiàn)、數(shù)據(jù)篡改難定責(zé)的問題,喬蕊等首先在文獻[40]中提出了動態(tài)數(shù)據(jù)存儲體系,通過改進區(qū)塊鏈共識機制杜絕攻擊者對數(shù)據(jù)賬本的非授權(quán)篡改。之后在文獻[41]中針對物聯(lián)網(wǎng)下的數(shù)據(jù)安全問題引入動態(tài)數(shù)據(jù)存儲體系,并將所有的動態(tài)操作永久地記錄在區(qū)塊鏈上,通過雙聯(lián)盟鏈實現(xiàn)多維授權(quán)和動態(tài)數(shù)據(jù)存儲,通過馮·諾依曼?摩根斯坦效用評估節(jié)點的操作收益,并以此為依據(jù)結(jié)合鏈上的操作日志找尋攻擊節(jié)點,實現(xiàn)動態(tài)數(shù)據(jù)攻擊溯源。
上述代表性的機制匯總?cè)绫?所示。
表2 基于交易的訪問控制機制代表文獻匯總Table 2 Summary of representative literature on access control mechanisms based on transaction
4.1.2基于智能合約的訪問控制機制
隨著以太坊上圖靈完備的鏈上腳本的出現(xiàn),智能合約的應(yīng)用也得以落地。作為區(qū)塊鏈2.0架構(gòu)的核心模塊,智能合約使得區(qū)塊鏈的應(yīng)用由“虛擬貨幣”拓展到更廣泛的“交易平臺”。在訪問控制領(lǐng)域,智能合約通過區(qū)塊鏈提供的分布式信用基礎(chǔ)設(shè)施,將數(shù)據(jù)的交互作為主體之間的“交易”,這樣通過自定義的腳本語言就可以實現(xiàn)可信、細粒度、無人為干預(yù)的訪問控制機制。
文獻[42]提出了使用智能合約的基于角色訪問控制框架(RBAC-SC)。該框架利用以太坊平臺的智能合約技術(shù),提出跨組織的質(zhì)詢?響應(yīng)身份驗證協(xié)議,解決了在跨組織情景下的角色利用問題,為基于角色的訪問控制提供了安全高效的角色管理和驗證機制。作者的思想是利用區(qū)塊鏈可信、公開、透明的特點,讓用戶都通過以太坊上的賬戶地址或者系統(tǒng)分配的公鑰表示,并允許組織可以發(fā)布帶有簽名的角色管理合約。這樣跨組織的其他用戶就可以通過該組織發(fā)布的智能合約查詢接口,查詢該組織內(nèi)訪問控制系統(tǒng)用戶的角色身份,從而實現(xiàn)了跨組織的角色驗證。
Zhang等[43]提出了一種基于智能合約的框架,通過多個訪問控制合約、一個法官合約和一個注冊合約實現(xiàn)了分布式可信的訪問控制(如圖10所示)。
圖10 Zhang Y機制框架結(jié)構(gòu)Figure 10 Architecture of Zhang Y mechanism
該框架包含了多個訪問控制合約(ACC,access control contract),每一個都實現(xiàn)了訪問控制策略中一個主客體對的具體訪問控制方法,并同時維護著策略實施列表和不當(dāng)行為懲罰列表。法官合約(JC,judge contract)用以接收不當(dāng)行為報告并確定相應(yīng)的懲罰。而注冊合約(RC,register contract)則用來管理JC和ACC并提供它們的簡略匯總信息。該機制通過將訪問控制策略拆分為多個訪問控制合約,可以細化主客體交互行為,有利于訪問控制策略的細粒度實現(xiàn)。
在醫(yī)療數(shù)據(jù)保護領(lǐng)域,Azaria等針對患者數(shù)據(jù)碎片化嚴重、交流渠道少、共享效率低、隱私保護機制不完善等問題,提出了MedRec框架[44-45]。作者的思想是利用智能合約讓病人能夠管理自己的數(shù)據(jù)訪問權(quán)限,并通過區(qū)塊鏈實現(xiàn)跨組織的訪問控制。如圖11所示,作者設(shè)計注冊合約來管理患者信息,并將患者賬戶與其匯總合約綁定;匯總合約(SC,summary contract)則用來關(guān)聯(lián)患者的數(shù)據(jù)權(quán)限及其狀態(tài);而醫(yī)患關(guān)系合約(PPR,patient provider relationship)負責(zé)患者數(shù)據(jù)的查詢及訪問權(quán)限管理。通過MedRec機制,患者在數(shù)據(jù)庫中的數(shù)據(jù)都被附上相應(yīng)的操作權(quán)限信息,并在患者的SC地址上可以查詢到相應(yīng)的PPR的狀態(tài),這樣患者的醫(yī)療數(shù)據(jù)就被嚴格地控制在患者手中,違法的操作都會因為權(quán)限不足而被拒絕。而出于研究目的的醫(yī)療數(shù)據(jù)訪問者也可以通過查詢RC上公開的患者賬戶地址,向相應(yīng)的患者提出申請,在經(jīng)過患者同意后方可訪問。同時可以注意到由于區(qū)塊鏈的匿名性,雖然鏈上的數(shù)據(jù)都是公開的,但患者的身份是通過以太坊賬戶表示的,而且隱私的醫(yī)療數(shù)據(jù)存儲在鏈下,只有操作權(quán)限是公開可查的,這樣就在保護了患者隱私的前提下提高了數(shù)據(jù)的共享率。
圖11 MedRec框架結(jié)構(gòu)Figure 11 Architecture of MedRec
文獻[46]提出了一種針對大數(shù)據(jù)資源的訪問控制機制BBAC-BD。作者結(jié)合大數(shù)據(jù)資源的特點,以分布式訪問控制需求和訪問控制動態(tài)性需求為著眼點,利用區(qū)塊鏈?zhǔn)聞?wù)實現(xiàn)訪問控制策略的全流程分布式管理,利用智能合約實現(xiàn)策略的自動化判決,利用ABAC模型實現(xiàn)基于請求者屬性的動態(tài)訪問控制,有利于大數(shù)據(jù)資源的靈活管控和安全共享。該機制的工作原理如圖12所示。
圖12 BBAC-BD機制原理框架Figure 12 Architecture of BBAC-BD mechanism
BBAC-BD工作流程如下。
Step 1在準(zhǔn)備階段,由屬性權(quán)威(AA,attribute authority)合約預(yù)先收集區(qū)塊鏈?zhǔn)聞?wù)的屬性信息,并提供給策略執(zhí)行點(PEP,policy enforcement point)和策略管理點(PAP,policy administration point)。
Step 2在PAP上的智能合約結(jié)合屬性信息收集整合區(qū)塊鏈?zhǔn)聞?wù)中的訪問控制策略。
Step 3進入執(zhí)行階段,當(dāng)PEP上的代理收到資源操作請求后,根據(jù)從AA合約得到的信息生成基于屬性的訪問控制請求(AAR)并將其發(fā)往策略決策點(PDP,policy decision point)。
Step 4PDP上的智能合約根據(jù)從PAP合約響應(yīng)返回的訪問控制策略集對操作是否允許進行判決,并將結(jié)果發(fā)往PEP。
Step 5PEP代理根據(jù)判決結(jié)果對資源進行操作。
可以看到,該機制中的屬性收集與整合、策略管理、訪問權(quán)限決策都是通過智能合約自動、透明、公開地執(zhí)行,而且無須第三方背書,降低了信用成本,有利于大數(shù)據(jù)下主體間資源的高效共享。同時考慮到大數(shù)據(jù)環(huán)境中數(shù)據(jù)變化快、主體身份復(fù)雜的特點,作者對BBAC-BD進行了仿真測試,在訪問控制策略設(shè)計得當(dāng)?shù)那闆r下,該系統(tǒng)的判決時延能夠滿足動態(tài)性的需求。
文獻[47]針對企業(yè)間的數(shù)據(jù)共享需求,提出了一種基于聯(lián)盟鏈的、利用屬性基加密(ABE)[48]進行改進的企業(yè)級訪問控制模型,同樣采用了智能合約來實現(xiàn)基于屬性的訪問控制策略。作者設(shè)計利用企業(yè)的誠信值來實現(xiàn)共識機制,在降低了企業(yè)間的信任成本的同時起到違規(guī)懲戒作用。
總體來說,目前基于智能合約的訪問控制機制通過利用區(qū)塊鏈可信計算的特性,可分為以下5個方面。
1) 用戶信息管理。文獻[42, 44, 49]都是利用智能合約管理系統(tǒng)內(nèi)的用戶,以不可篡改的方式記錄用戶信息,并將用戶與其以太坊地址、公鑰等信息綁定,在無第三方背書的情況下保證用戶身份的可信任。此外,將主體以以太坊地址或公鑰的形式表示,也有利于懲戒機制的追根溯源。
2) 鏈上數(shù)據(jù)管理。利用智能合約管理鏈上的數(shù)據(jù),實現(xiàn)包括訪問控制策略集、主體訪問權(quán)限集、主客體屬性信息等數(shù)據(jù)的增添、更新和刪除。文獻[44]設(shè)計的醫(yī)患關(guān)系合約(PPR)針對醫(yī)療數(shù)據(jù)的權(quán)限管理問題,將數(shù)據(jù)所屬方、數(shù)據(jù)請求方、數(shù)據(jù)指針和訪問權(quán)限綁定,用戶通過改寫合約內(nèi)的屬性值,自定義地控制訪問控制策略,管理鏈下存儲在數(shù)據(jù)庫內(nèi)的數(shù)據(jù)。文獻[50]提出的FairAccess機制,通過向訪問請求方賬戶發(fā)送帶有簽名的授權(quán)令牌的形式進行權(quán)限管理,由授權(quán)令牌規(guī)定能夠訪問對應(yīng)的資源,權(quán)限的撤銷由令牌上的時間戳和約定的失效時間控制。而授權(quán)令牌的管理則是通過鏈上腳本,也就是智能合約進行。作者在文獻[51]中詳細地介紹了FairAccess框架中如何通過智能合約將訪問控制策略轉(zhuǎn)化為授權(quán)令牌,并探討了這一方案的可行性和安全性。
3) 數(shù)據(jù)整合與查詢。區(qū)塊鏈上的數(shù)據(jù)公開透明,任何用戶都可以查詢鏈上的訪問控制策略,但在數(shù)據(jù)量較大或者訪問控制策略較復(fù)雜的情景下,人工在鏈上查詢收集數(shù)據(jù)的工作量大且效率低,所以可以利用智能合約自動化地整合和歸納鏈上數(shù)據(jù)。例如,文獻[43]設(shè)計的注冊合約(RC)將細化的訪問控制合約(ACC)匯總,并與法官合約交互(JC),提供了各個ACC的接口,自動化地維護著策略實施列表和不當(dāng)行為懲罰列表,實現(xiàn)了策略和權(quán)限的高效查詢。文獻[44, 49]都設(shè)計了具有歸納匯總功能的智能合約,它們通過指針、關(guān)鍵字的形式將患者擁有的所有醫(yī)療數(shù)據(jù)匯總,便于患者直觀地了解所有數(shù)據(jù)的權(quán)限授予情況。文獻[46]考慮到大數(shù)據(jù)下訪問控制策略分布式存儲后查詢效率低的問題,提出了基于Bloom Filter[52]的策略管理合約,通過哈希函數(shù)將屬性值映射為二進制向量,進而用二進制向量來描述數(shù)據(jù)集合,根據(jù)資源屬性的二進制向量是否與策略事務(wù)數(shù)據(jù)塊匹配,達到快速篩選關(guān)聯(lián)策略集的目的,整個查詢過程通過部署的智能合約進行,公開透明。
4) 違規(guī)行為監(jiān)測。區(qū)塊鏈上的數(shù)據(jù)只增不減,可以通過時間戳、用戶簽名等方式溯源,這保證了在區(qū)塊鏈上運行監(jiān)視組件和存儲訪問日志不會被破壞和篡改,因此基于區(qū)塊鏈的監(jiān)測機制可以監(jiān)察違規(guī)行為,并通過懲戒機制的反饋來完善訪問控制系統(tǒng)。Ferdous等[53]針對云環(huán)境下的分布式訪問控制系統(tǒng)節(jié)點的安全性難以保證、訪問控制組件易被攻擊的問題,提出一種基于區(qū)塊鏈的分布式訪問控制系統(tǒng)實時監(jiān)控方案DRAMS。它通過在分布式訪問控制系統(tǒng)節(jié)點上搭建數(shù)據(jù)探針、日志記錄合約和行為分析合約,可以在運行時通過智能合約來記錄訪問行為,并分析其是否符合規(guī)定的訪問控制策略,并且考慮到存儲在鏈上的日志內(nèi)可能包含用戶的某些敏感信息,存儲的日志通過AES-256算法加密。
5) 訪問權(quán)限判決。利用智能合約根據(jù)訪問請求者的身份、角色、屬性等信息判斷其是否滿足訪問控制策略的約束,返回允許、拒絕或者無法判決的結(jié)果,整個過程無人工干預(yù),無須第三方背書,依靠在EVM中的合約代碼執(zhí)行,為資源擁有者和請求者雙方都建立起高信任度。例如文獻[46]提出的策略判決合約根據(jù)訪問請求者的屬性集是否滿足與其關(guān)聯(lián)的訪問控制策略集,將自動化判決并返回允許、拒絕、屬性信息不足或策略集不匹配的任一結(jié)果。
上述具有代表性的機制匯總?cè)绫?所示。
表3 基于智能合約的訪問控制機制代表文獻匯總Table 3 Summary of representative literature on access control mechanism based on smart contract
4.1.3基于區(qū)塊鏈的訪問控制實現(xiàn)機制總結(jié)
基于交易的訪問控制機制利用區(qū)塊鏈可信存儲的特性,可從存儲訪問權(quán)限、訪問控制策略、關(guān)鍵敏感數(shù)據(jù)以及訪問控制操作記錄4個方面進行劃分。該機制將區(qū)塊鏈作為可信存儲實體,與傳統(tǒng)的訪問控制模型結(jié)合,解決用戶間的信任問題,通用性與移植性較好。同時鏈上數(shù)據(jù)公開透明,有利于授權(quán)操作的查驗與審計。但是該機制依然依賴中心授權(quán)服務(wù)器發(fā)布權(quán)限交易,沒有完全解決訪問控制單點化的問題。
基于智能合約的訪問控制機制利用區(qū)塊鏈可信計算的特性,從用戶信息管理、鏈上數(shù)據(jù)管理、數(shù)據(jù)整合與查詢、違規(guī)行為監(jiān)測以及訪問權(quán)限判決5個方面的需求出發(fā),通過開發(fā)智能合約,實現(xiàn)自動化、無干預(yù)的訪問控制操作,其擺脫了對中心授權(quán)服務(wù)器的依賴,具備更高的安全性。但是該機制下如何實現(xiàn)訪問控制策略向智能合約代碼的轉(zhuǎn)化,是開發(fā)者需要面臨的挑戰(zhàn),因此,如何提高該機制的通用性是待解決的問題。
基于區(qū)塊鏈的訪問控制技術(shù)有著廣泛的應(yīng)用空間和巨大的應(yīng)用潛力,但是由于大數(shù)據(jù)的4V特性,目前針對大數(shù)據(jù)資源的訪問控制需求仍存在諸多挑戰(zhàn)?;?.2節(jié)提出的大數(shù)據(jù)下訪問控制現(xiàn)有的需求,結(jié)合目前的研究現(xiàn)狀,本文將從動態(tài)訪問控制、數(shù)據(jù)存儲空間優(yōu)化和隱私數(shù)據(jù)保護3個方面對現(xiàn)有研究成果進行分析。
4.2.1動態(tài)訪問控制
大數(shù)據(jù)時代,數(shù)據(jù)動態(tài)演變性強且資源流通速度快,靜態(tài)的訪問控制機制無法適應(yīng)主客體的快速變化,往往會出現(xiàn)控制策略失效或者不匹配的問題,因此解決訪問控制的動態(tài)性需求顯得至關(guān)重要。而動態(tài)的訪問控制機制主要體現(xiàn)在兩個方面:一是靈活性,即能夠跟隨主客體的屬性變化,及時準(zhǔn)確地制定出適宜的訪問控制策略;二是低時延,即在收到訪問請求后,能夠在一定的時間窗口內(nèi)完成策略的決策并實行。
文獻[54]基于FairAccess機制,提出使用機器學(xué)習(xí)算法改進訪問控制策略,通過反饋信息鼓勵代理選擇更安全的訪問控制方法,并將相關(guān)信息更新到智能合約上。機器學(xué)習(xí)組件的調(diào)用不依賴訪問控制模型,反饋信息基于客體數(shù)據(jù)是否收到損壞,因此能夠應(yīng)用于多種訪問控制框架,實現(xiàn)動態(tài)優(yōu)化和自調(diào)整的安全策略。劉敖迪等[46]則著手于大數(shù)據(jù)下的動態(tài)訪問控制需求,使用ABAC模型以適應(yīng)大數(shù)據(jù)下資源種類繁多、主客體屬性變化快的特點,資源擁有者根據(jù)資源屬性制定訪問控制策略,提高訪問控制的適應(yīng)性和靈活性。同時為了提高系統(tǒng)的響應(yīng)速度,利用智能合約實現(xiàn)基于Bloom Filter的訪問控制策略管理機制,以允許低概率的誤差為代價減少存儲空間,同時提高查詢的效率以降低檢索的時延。Decker等[55]引入?yún)^(qū)塊鏈中微支付通道的概念,提出在鏈下構(gòu)建用戶之間的低時延傳輸通道,區(qū)塊鏈只在通道的設(shè)置和關(guān)閉時對雙方進行交易保障,從而實現(xiàn)用戶間鏈下動態(tài)交易以及鏈上資產(chǎn)擔(dān)保,但是該機制下用戶交易的數(shù)據(jù)必須是提前經(jīng)過區(qū)塊鏈確認鎖定的。
除此之外,改進區(qū)塊鏈的共識機制以更快速地達成共識和完成記賬也是降低系統(tǒng)時延的有效手段。根據(jù)3.3節(jié)的分析,區(qū)塊鏈的共識機制決定了鏈上權(quán)限交易的寫入和驗證速度,選擇適用的共識協(xié)議,能夠在符合安全需求的限定條件下達到權(quán)限信息快速記賬并確認的目的,從而提升整個系統(tǒng)的響應(yīng)速度。
薛騰飛等[56]提出的MDSN框架通過使用DPoS共識機制,并將其與具備信譽機制的醫(yī)療和審計服務(wù)器聯(lián)盟結(jié)合,減輕了節(jié)點的計算壓力,有效提升了訪問控制系統(tǒng)的響應(yīng)速度。此外,閔新平等[57]針對區(qū)塊鏈共識機制中存在的算力消耗大、交易時延高、數(shù)據(jù)吞吐量低的問題,提出許可鏈多中心動態(tài)共識機制(PBCM)。作者首先構(gòu)建主從多鏈結(jié)構(gòu),其中,從鏈負責(zé)存儲交易數(shù)據(jù),主鏈負責(zé)維護已經(jīng)確認的交易的摘要,同時提出了基于PBFT機制改進的多主節(jié)點PBFT協(xié)議(MPBFT),利用該協(xié)議實現(xiàn)構(gòu)成多鏈的多節(jié)點之間的共識。PBCM機制有效克服了PoW等機制存在的時延高,能耗大的問題,在具備動態(tài)響應(yīng)需求的數(shù)字資產(chǎn)存儲、管理、保護領(lǐng)域有著獨有的優(yōu)勢,但是該機制局限于許可鏈,只能在具備一定可信度的環(huán)境下才能應(yīng)用,具有一定的局限性。共識協(xié)議達成共識的速度與區(qū)塊鏈的抗攻擊能力是矛盾的,更快地達成共識意味著數(shù)據(jù)的驗證過程更加簡化,因此基于區(qū)塊鏈的訪問控制系統(tǒng)在選擇共識協(xié)議組件時,必須結(jié)合實際的應(yīng)用場景,在安全閾值內(nèi)選擇適用的共識機制。
4.2.2數(shù)據(jù)存儲空間優(yōu)化
區(qū)塊鏈作為只增不減的分布式賬本,賬本的多副本特性需要大量的額外存儲空間[58],上鏈的數(shù)據(jù)不僅要通過共識協(xié)議消耗巨大算力,實現(xiàn)一致性記賬,還要永久地存儲在區(qū)塊上增加維護成本,因此如何在受限的存儲空間內(nèi)高效安全地完成權(quán)限交易的記錄成為重要的研究問題。尤其是在物聯(lián)網(wǎng)等資源受限的場景下,存儲空間的優(yōu)化顯得至關(guān)重要。
目前主流的解決思路有兩個:一是通過提前規(guī)定的數(shù)據(jù)格式或者字符映射,實現(xiàn)數(shù)據(jù)的壓縮存儲;二是將原始數(shù)據(jù)存儲在鏈下,鏈上只存儲必要的簡略信息或關(guān)鍵字。文獻[29]提出了一種自定義的編碼格式用來壓縮存儲到區(qū)塊鏈上的訪問控制策略數(shù)據(jù),它通過字符映射表將復(fù)雜的策略數(shù)據(jù)、屬性名稱和操作信息表示為定長的字符碼,在實現(xiàn)壓縮存儲的同時實現(xiàn)基于關(guān)鍵字的高效查詢。而文獻[27, 37-38, 44]則是選擇將包含大量數(shù)據(jù)的訪問控制事務(wù)存儲在鏈外,僅向區(qū)塊鏈上傳指向鏈外的哈希值。這個解決方案的好處是可以有效減少鏈上的數(shù)據(jù)量,但缺點是鏈外的數(shù)據(jù)不再受區(qū)塊鏈技術(shù)保護,數(shù)據(jù)的存儲由本地的數(shù)據(jù)庫單點負責(zé),不再具有分布式賬本的可靠性,在發(fā)生單點故障時會導(dǎo)致指針失效,影響整個訪問控制系統(tǒng)的正常運行。Poon等[59]在微支付通道的基礎(chǔ)上提出的閃電網(wǎng)絡(luò),其核心思想是在用戶間構(gòu)建鏈下支付通道,鏈上只存儲簡略信息保證雙方的可信性,從而大大提高用戶間交易的吞吐量。該機制的思想同樣可以應(yīng)用于訪問控制系統(tǒng)中用戶間策略數(shù)據(jù)的交換,通過用戶間“私信”的方式實現(xiàn)低開銷的數(shù)據(jù)存儲交換,但是其安全性也相應(yīng)地減弱。
除此之外,有學(xué)者從數(shù)據(jù)區(qū)塊的結(jié)構(gòu)著手,通過增加區(qū)塊的數(shù)據(jù)量來緩解存儲壓力。Eyal等[60]提出的Bitcoin-NG區(qū)塊鏈架構(gòu),增加了微區(qū)塊的概念,選舉出的首領(lǐng)節(jié)點可以在預(yù)先劃分的時間窗口內(nèi)向區(qū)塊鏈附加多個微區(qū)塊,從而提高單位時間內(nèi)區(qū)塊鏈的存儲空間。如圖13所示,其中正方形表示的是關(guān)鍵區(qū)塊,圓形表示的是微區(qū)塊,微區(qū)塊使用與關(guān)鍵區(qū)塊的公鑰相對應(yīng)的私鑰簽名,在規(guī)定的時間內(nèi)以恒定的速度產(chǎn)生。該機制通過關(guān)鍵區(qū)塊選舉首領(lǐng)節(jié)點,它的產(chǎn)生仍需要PoW機制,但是微區(qū)塊的產(chǎn)生只需首領(lǐng)的簽名,所以微區(qū)塊并不會增加區(qū)塊鏈的重量,增強了區(qū)塊鏈的存儲能力。但是微區(qū)塊上數(shù)據(jù)的準(zhǔn)確性僅由其首領(lǐng)節(jié)點負責(zé),首領(lǐng)的選舉過程顯得至關(guān)重要,因此更適用于具備許可準(zhǔn)入機制的聯(lián)盟鏈環(huán)境中。此外,文獻[61]提出的GHOST規(guī)則通過改進區(qū)塊鏈節(jié)點構(gòu)建方式,以重建區(qū)塊鏈的方法提高了交易的吞吐量。
圖13 Bitcoin-NG區(qū)塊鏈架構(gòu)Figure 13 Architecture of Bitcoin-NG
4.2.3隱私數(shù)據(jù)保護
區(qū)塊鏈?zhǔn)峭耆_透明的系統(tǒng),鏈上的交易和智能合約暴露給所有的用戶,這在增強系統(tǒng)公信度的同時給用戶的隱私帶來了隱患。雖然區(qū)塊鏈具有匿名性,但是實際情況下攻擊者可以根據(jù)鏈上公開的交易信息,通過數(shù)據(jù)挖掘的方式獲得用戶的各種特征,從而鎖定用戶身份,文獻[62-63]證明了通過分析加密貨幣的交易圖結(jié)構(gòu)進行去匿名攻擊的可行性。除此之外,對用戶敏感數(shù)據(jù)的管理,更要求系統(tǒng)具有隱私保護的功能,如文獻[44-45, 49, 64]等針對醫(yī)療數(shù)據(jù)共享的研究,系統(tǒng)具有完善的隱私保護機制是用戶選擇使用此系統(tǒng)并提高數(shù)據(jù)共享率的必然要求。因此,此方面的研究也受到了諸多學(xué)者的關(guān)注。
Zyskind等[38]針對區(qū)塊鏈數(shù)據(jù)的隱私安全管理,將哈希指針與安全多方計算(MPC,multi-party computation)相結(jié)合,提出了分布式的數(shù)據(jù)管理框架Enigma。針對不同的隱私保護需求,Enigma將數(shù)據(jù)的管理分為Public ledger、DHT和MPC共3種類型,其中鏈上Public ledger的數(shù)據(jù)對全部用戶公開,而DHT和MPC的數(shù)據(jù)只在鏈上存儲數(shù)據(jù)的哈希指針。DHT的數(shù)據(jù)具有一定的隱私保護,它只在鏈上存儲對數(shù)據(jù)的引用,同時通過哈希函數(shù)校驗鏈下數(shù)據(jù)是否被篡改。而MPC的數(shù)據(jù)通過使用安全多方計算[65]、數(shù)據(jù)的查詢以分布式進行,數(shù)據(jù)被分割到不同的節(jié)點進行處理,沒有任何一方能夠訪問全部數(shù)據(jù),從而在無須第三方背書的情況下實現(xiàn)敏感數(shù)據(jù)的存儲和運算。
Kosba等[66]同樣針對區(qū)塊鏈的隱私保護問題,提出了智能合約開發(fā)平臺Hawk。與Zerocash類似,Hawk采用zk-SNARK零知識證明技術(shù)[63],用來保證在驗證過程中礦工可以在不知道交易的具體信息的情況下判定交易的有效性,從而實現(xiàn)對交易中敏感信息的隱私保護。Hawk平臺原理架構(gòu)如圖14所示,Hawk借鑒了Zerocash中的mint(鑄幣)和pour(消費)操作,用戶可以通過這兩個操作來隱匿智能合約中的交易地址。根據(jù)數(shù)據(jù)的敏感性,用戶將負責(zé)交易數(shù)據(jù)的智能合約劃分為公開部分和私密部分,通過編程人員開發(fā)的編譯器自動轉(zhuǎn)化為“秘密合約”。代理人則作為用戶的代理,在不透露用戶身份的前提下代替用戶進行交易。
圖14 Hawk平臺原理架構(gòu)Figure 14 Principle of Hawk platform
此外,有學(xué)者利用密碼學(xué)技術(shù)對區(qū)塊鏈數(shù)據(jù)進行加密,實現(xiàn)用戶的隱私保護。Le等[67]則將密碼加密技術(shù)與區(qū)塊鏈結(jié)合,提出了針對物聯(lián)網(wǎng)設(shè)備隱私保護需求的CapChain框架。它采用FairAccess機制中授權(quán)令牌的形式對物聯(lián)網(wǎng)設(shè)備進行權(quán)限管理,同時采用密碼學(xué)知識,通過公鑰地址、一次性地址和域地址進行交易,來預(yù)防針對用戶交易地址的關(guān)聯(lián)分析。文獻[68]同樣將密碼學(xué)知識與區(qū)塊鏈結(jié)合,提出了通過多密鑰生成中心(KGC)的群簽名隱匿交易節(jié)點身份信息,實現(xiàn)鏈上用戶的匿名保護,但目前該機制是以聯(lián)盟鏈為基礎(chǔ),無法拓展到完全公開的公共鏈。李少卓等[69]提出了一種基于RSA的區(qū)塊鏈按需披露隱私保護機制(PPM-ODB),通過Quorum鏈實現(xiàn)了隱私信息持有者和知情者間的密鑰分發(fā),支持知情者的匿名分析、隱私信息的加密解密以及數(shù)據(jù)的流通追溯。
屬性基加密(ABE)作為一種新興的加密技術(shù),實現(xiàn)了一對多的通信加密,適用于解決分布式環(huán)境的數(shù)據(jù)保護需求,可以解決區(qū)塊鏈的隱私保護問題。ABE以屬性為公鑰,將密文和用戶私鑰與屬性關(guān)聯(lián),能夠靈活地表示訪問控制策略,可以低開銷地實現(xiàn)密文的加解密。田有亮等[70]基于Waters的CP-ABE方案[71-72],提出基于屬性加密的區(qū)塊鏈數(shù)據(jù)溯源算法,針對溯源信息難以動態(tài)共享這一問題,通過改進的屬性加密算法完成對交易的隱私保護,該數(shù)據(jù)加密方式具有通用性,同樣可以應(yīng)用在其他區(qū)塊鏈系統(tǒng)。邱云翔等[73]同樣提出了一種基于CP-ABE算法的區(qū)塊鏈數(shù)據(jù)訪問控制方案,并結(jié)合超級賬本平臺上原有的Fabric CA模塊支持密鑰的管理工作,實現(xiàn)了用戶屬性私鑰的安全分發(fā)。
將上述不同需求下的代表文獻及其核心思想總結(jié)如表4所示。
表4 不同訪問需求下的代表文獻總結(jié)Table 4 Summary of representative literature under different access requirements
(1)提升通用性與可移植性
訪問控制技術(shù)經(jīng)過幾十年的發(fā)展,提出了諸多優(yōu)良的訪問控制模型,并且經(jīng)過應(yīng)用證明其訪問控制機制的可行性,同時已經(jīng)廣泛應(yīng)用在現(xiàn)有的系統(tǒng)上。若能對已有的訪問控制系統(tǒng)進行改進,使區(qū)塊鏈技術(shù)與其結(jié)合,在保證原功能的基礎(chǔ)上實現(xiàn)數(shù)據(jù)上鏈,便能利用區(qū)塊鏈分布式存儲、透明公開、難以篡改的特性,增強系統(tǒng)的安全性和可信性。因此,如何設(shè)計區(qū)塊鏈系統(tǒng)使其擁有較好的通用性,能夠通過接口與現(xiàn)有的訪問控制系統(tǒng)互聯(lián),并對各類訪問控制模型都擁有完善的處理機制,成為研究的一個重點內(nèi)容。
此外,如何實現(xiàn)可拓展訪問控制標(biāo)記語言(XACML)向智能合約代碼的轉(zhuǎn)化也是值得研究的一個方向。XACML作為一種通用的訪問控制策略定義語言,標(biāo)準(zhǔn)化地描述各個系統(tǒng)間的訪問控制策略和過程。如果實現(xiàn)了XACML向智能合約代碼的高效轉(zhuǎn)化機制,那么就能實現(xiàn)基于XACML框架的訪問控制系統(tǒng)向區(qū)塊鏈的遷移,而且標(biāo)準(zhǔn)化的描述語言還能保證遷移后的系統(tǒng)仍具備與其他系統(tǒng)的互操作性。
(2)跨域與跨鏈訪問
大數(shù)據(jù)環(huán)境下,網(wǎng)絡(luò)中存在諸多各自封閉的可信域,如何利用區(qū)塊鏈公開可信的技術(shù),“鏈通”各個可信域,建立起低成本的信任機制,滿足用戶的跨域訪問控制需求,也是研究的重點方向。目前針對單鏈的跨域認證與訪問控制,已經(jīng)取得一定的研究進展[74-77]。但是,在大數(shù)據(jù)龐大的數(shù)據(jù)管理需求下,只通過一條區(qū)塊鏈實現(xiàn)所有的數(shù)據(jù)管理是不現(xiàn)實的,必然需要多條鏈并行運作實現(xiàn)各個組織下的數(shù)據(jù)管理機制。如何鏈接起多條區(qū)塊鏈,解決訪問控制策略沖突、用戶身份重復(fù)、智能合約不通用等問題,也是實現(xiàn)跨鏈的協(xié)同數(shù)據(jù)管理需要解決的難題。
(3)訪問控制性能優(yōu)化
區(qū)塊鏈誕生的最初目的是作為比特幣的底層技術(shù),服務(wù)于電子貨幣的,其挖礦機制并不適宜訪問控制需求,同樣在以太坊平臺上也面臨著區(qū)塊產(chǎn)生過慢、數(shù)據(jù)存儲開銷過大的問題,這直接制約了基于區(qū)塊鏈的訪問控制系統(tǒng)的性能。同時,根據(jù)Seth等提出的CAP理論[78],區(qū)塊鏈在滿足分區(qū)容錯性的前提下,必須在一致性和可用性之間進行權(quán)衡,即必須在安全性和高效性之間進行取舍。因此,如何改進區(qū)塊鏈的共識機制、記賬機制和存儲結(jié)構(gòu)等,使其適宜訪問控制需求也是未來必須解決的一個問題。
(4)數(shù)據(jù)隱私保護
區(qū)塊鏈作為公開的賬本,在應(yīng)用中必須考慮對敏感關(guān)鍵數(shù)據(jù)的隱私保護,雖然已有研究者提出通過同態(tài)加密、屬性基加密等機制實現(xiàn)對鏈上交易信息的保護,但是這些加密算法的引入帶來了計算開銷,必然會引起額外的響應(yīng)時延。如何設(shè)計適用于區(qū)塊鏈的分布式密碼協(xié)議,是解決這一性能瓶頸的研究重點。此外,區(qū)塊鏈上共識機制要求相關(guān)驗證節(jié)點能夠獲取到交易信息,惡意節(jié)點雖然無法影響共識的達成,但是依舊可以獲取所有的賬本數(shù)據(jù),雖然零知識證明可以避免這個問題,但是其也需要較大的算力支持,在現(xiàn)有的ZCash平臺上這一過程需要30~40 s,并且其安全性未得到證實,這也是需要繼續(xù)進行研究的方向。
(5)區(qū)塊鏈+人工智能
將人工智能引入基于區(qū)塊鏈的訪問控制機制中,可以在減少開發(fā)員工作量的同時進一步提升系統(tǒng)的安全性。首先可以利用深度學(xué)習(xí)算法改進訪問控制策略,優(yōu)化授權(quán)范圍,解決訪問策略沖突問題。其次可以利用人工智能算法對開發(fā)的智能合約代碼進行漏洞分析,保證合約執(zhí)行結(jié)果的可靠性和完備性。最后可以研究基于人工智能的共識機制,利用機器學(xué)習(xí)算法分配計算資源,加快共識達成速度,減少授權(quán)請求響應(yīng)時間。
大數(shù)據(jù)環(huán)境下信息流通快,存在著數(shù)據(jù)主權(quán)難維護、訪問權(quán)限難界定、第三方泄露難防范等問題,給現(xiàn)有的訪問控制機制帶來了挑戰(zhàn)。而基于區(qū)塊鏈的訪問控制機制利用區(qū)塊鏈公開透明、可信度高、難以篡改的特點,能夠?qū)崿F(xiàn)去中心化的訪問控制管理。本文從基于區(qū)塊鏈實現(xiàn)機制出發(fā),總結(jié)了現(xiàn)有的基于交易和基于智能合約的訪
問控制機制,重點分析了動態(tài)訪問控制、鏈上空間優(yōu)化和隱私數(shù)據(jù)保護3個關(guān)鍵技術(shù),并結(jié)合現(xiàn)有的研究展望,基于區(qū)塊鏈的訪問控制技術(shù)面臨的挑戰(zhàn),以期對未來的研究提供參考與啟發(fā)??傮w而言,目前國內(nèi)基于區(qū)塊鏈的訪問控制機制仍處于研究的初步階段,尚未形成統(tǒng)一的技術(shù)標(biāo)準(zhǔn)與成熟的技術(shù)方案,在云租戶數(shù)據(jù)管理、物聯(lián)網(wǎng)數(shù)據(jù)保護、醫(yī)療信息共享、企業(yè)數(shù)據(jù)管理等領(lǐng)域仍有廣闊的研究空間。