摘 要:為了解決各個信任應(yīng)用域之間的跨域安全問題,保證隱私數(shù)據(jù)的跨域共享,利用區(qū)塊鏈技術(shù)構(gòu)建了基于主從鏈的隱私數(shù)據(jù)跨域共享模型。首先構(gòu)建了主從鏈,并提出基于主從鏈的跨域共享模型架構(gòu);設(shè)計了基于智能合約的跨域訪問機制,并基于跨域訪問機制提出了面向隱私數(shù)據(jù)的跨域安全共享方案;最后,對模型的穩(wěn)定性、吞吐量、存儲開銷等方面進行了實驗及對比分析。實驗結(jié)果表明,該模型同最新的單鏈跨域模型相比,吞吐量提升了270 TPS左右,節(jié)點的平均CPU負載和平均內(nèi)存開銷分別下降了24%和64%;同現(xiàn)有多鏈跨域模型相比,節(jié)點的平均CPU負載和平均內(nèi)存開銷分別下降了15%和20%,為物聯(lián)網(wǎng)隱私數(shù)據(jù)的跨域安全共享提供了一種有效方法。
關(guān)鍵詞:物聯(lián)網(wǎng);區(qū)塊鏈;跨域共享;主從鏈;隱私數(shù)據(jù)
中圖分類號:TP311.13 文獻標(biāo)志碼:A 文章編號:1001-3695(2022)11-005-3238-06
doi: 10.19734/j.issn.1001-3695.2022.04.0181
Cross-domain sharing model of IoT privacy data under master-slave chain
Pan Xuea, Yuan Lingyuna,b, Huang Minmina
(a.College of Information Science amp; Technology, b.Key Laboratory of Educational Information for Nationalities, Ministry of Education, Yunnan Normal University, Kunming 650500, China)
Abstract:In order to solve the security issues of each trusted application domain, to ensure cross-domain sharing of private data, this paper proposed a cross-domain sharing model of private data based on the master-slave chain. Firstly, it presented a master-slave chain, and constructed a system architecture based on the master-slave chain. Then it designed a cross-domain access mechanism based on smart contracts, and put forward further the cross-domain secure sharing scheme for private data. Finally, it carried out an experimental analysis for stability, throughput and storage overhead for the proposed model. The experimental results show that, compared with the latest single-chain cross-domain models, the throughput has been improved by about 270 TPS, and the average CPU load and average memory overhead of the node are reduced by 24% and 64% in the proposed model respectively. Compared with the existing multi-chain cross-domain models, the average CPU load and average memory overhead of the node has dropped by 15% and 20%, respectively. The proposed model has provided an effective method for cross-domain secure access and sharing for the Internet of Things privacy data.
Key words:Internet of Things; blockchain; cross-domain sharing; master-slave chain; private data
基金項目:國家自然科學(xué)基金資助項目(61561055);云南省應(yīng)用基礎(chǔ)研究計劃面上項目(202101AT070098);云南省萬人計劃青年拔尖人才項目(2019)
作者簡介:潘雪(1996-),女,云南昆明人,碩士研究生,主要研究方向為物聯(lián)網(wǎng)、區(qū)塊鏈、訪問控制;袁凌云(1980-),女(通信作者),云南昭通人,教授,博導(dǎo),主要研究方向為物聯(lián)網(wǎng)、傳感器網(wǎng)絡(luò)(blues520@sina.com);黃敏敏(1997-),女,廣西貴港人,碩士研究生,主要研究方向為物聯(lián)網(wǎng)、區(qū)塊鏈、訪問控制、邊緣計算.
0 引言
隨著物聯(lián)網(wǎng)[1]和第五代移動通信技術(shù)[2]的普及,物聯(lián)網(wǎng)技術(shù)得到了長足發(fā)展,其應(yīng)用滲透到智能家居、智慧醫(yī)療、智慧教育、智慧農(nóng)業(yè)等各個領(lǐng)域,正逐步改變產(chǎn)業(yè)結(jié)構(gòu)和經(jīng)濟增長方式,未來萬物互聯(lián)已成必然趨勢。萬物互聯(lián)背景下,物聯(lián)網(wǎng)終端設(shè)備的數(shù)量呈指數(shù)級增長,其產(chǎn)生的數(shù)據(jù)也呈爆炸式增長。根據(jù)互聯(lián)網(wǎng)數(shù)據(jù)中心(Internet Data Center,IDC)的預(yù)測,預(yù)計到2025年,將有416億臺物聯(lián)網(wǎng)設(shè)備,并將產(chǎn)生數(shù)以千億的數(shù)據(jù)[3]。這樣龐大的數(shù)據(jù)量也對用戶隱私數(shù)據(jù)的安全性和共享性提出了新挑戰(zhàn)。
文獻[4]提到,早在2018年9月10日,曾在萬豪酒店預(yù)定的最多約5億名客人的信息或被泄露,2020年3月19日微博5.38億用戶數(shù)據(jù)在暗網(wǎng)出售,其中有1.72億條包含了賬戶的基本信息,售價為0.177比特幣,給廣大網(wǎng)民用戶和社會帶來嚴重的安全隱患。此外,《第十七屆中國政府網(wǎng)站績效評估總報告》指出[5],我國信息數(shù)據(jù)資源80%以上掌握在各級政府部門手里,卻只有30%的部委網(wǎng)站能夠整合省部兩級服務(wù)資源。據(jù)此可知,隱私數(shù)據(jù)的安全共享可以更充分地使用已有數(shù)據(jù)資源,促進跨領(lǐng)域、跨部門合作,推進數(shù)據(jù)信息交換,打破部門壁壘,遏制信息孤島,防止違法犯罪。
毫無疑問,跨域數(shù)據(jù)安全流動的服務(wù)模式必將大幅度減少數(shù)據(jù)孤島的出現(xiàn),提升各個應(yīng)用領(lǐng)域的處理效率。同時在跨域共享中,由于業(yè)務(wù)服務(wù)、安全管理等方面存在差異,隱私數(shù)據(jù)會在不同域中留存,如何在跨域共享過程中保證隱私數(shù)據(jù)的安全性成為了一個新的研究問題。目前新型應(yīng)用環(huán)境下的跨域模型主要聚焦于云計算和在線社交網(wǎng)絡(luò)環(huán)境,但這些模型的本質(zhì)仍是建模單域內(nèi)的數(shù)據(jù)控制,一般由一個集中式的授權(quán)決策實體依據(jù)訪問控制策略和其他屬性進行訪問控制決策,一旦中央可信實體的可信度不能保證,則其保存的數(shù)據(jù)信息便無從保證安全性。因此,針對物聯(lián)網(wǎng)數(shù)據(jù)的域間流動,迫切需要一種分布式跨域訪問控制機制。
在跨域共享場景中,要解決的核心問題就是一個應(yīng)用領(lǐng)域如何識別來自其他應(yīng)用領(lǐng)域的用戶,以及如何根據(jù)之前約定的策略對用戶在本應(yīng)用領(lǐng)域的操作進行合法性判斷[6]。而區(qū)塊鏈技術(shù)具有不可偽造、全程留痕、可以追溯、公開透明、集體維護等特點,不僅可為物聯(lián)網(wǎng)跨域訪問提供有效信任保障,還可以避免出現(xiàn)傳統(tǒng)跨域訪問機制中的單點故障問題;同時鏈上合約還可以為物聯(lián)網(wǎng)隱私數(shù)據(jù)提出新的共享思路。然而,由于區(qū)塊鏈自身的局限性,通過傳統(tǒng)的區(qū)塊單鏈實現(xiàn)物聯(lián)網(wǎng)設(shè)備跨域訪問,雖然可以保證訪問過程的可靠性和安全性,但同時也會面臨存儲開銷大的問題;在面對龐大的物聯(lián)網(wǎng)跨域訪問交互頻繁的應(yīng)用場景中,還會面臨穩(wěn)定性差的瓶頸問題;除此之外,在面對隱私數(shù)據(jù)的共享問題中,缺少有效合理的機制保證隱私數(shù)據(jù)的安全性。
為了解決上述問題,提升區(qū)塊鏈系統(tǒng)性能,本文提出了基于主從鏈的跨域安全共享模型。首先構(gòu)建主從區(qū)塊鏈結(jié)構(gòu)的網(wǎng)絡(luò)模型,域內(nèi)資源數(shù)據(jù)通過從鏈進行相互訪問,主鏈作為可信認證平臺實現(xiàn)跨域訪問。理論上主從鏈均可無限擴展,從而有效緩解單鏈結(jié)構(gòu)下存儲開銷大的問題,并解決其穩(wěn)定性問題;進一步提出了面向隱私數(shù)據(jù)的跨域共享方案,保證隱私數(shù)據(jù)安全流動,實現(xiàn)隱私數(shù)據(jù)的跨域安全共享。
1 相關(guān)工作
隨著社會信息化的不斷發(fā)展,物聯(lián)網(wǎng)的智能化水平也在不斷提高。由于受控對象和業(yè)務(wù)場景的不同,往往形成了各種各樣不同的信任應(yīng)用域。在萬物互聯(lián)的背景下,用戶在不同信任應(yīng)用域之間的交互變得更加頻繁,如何保證用戶在跨域訪問中的數(shù)據(jù)安全,引起了學(xué)界的廣泛關(guān)注,成為了一個研究熱點。
在傳統(tǒng)的跨域共享方案中,通常使用集中式機制,即所有設(shè)備都通過一個集中的身份驗證服務(wù)器進行身份驗證。目前,比較成熟的身份認證方式包括基于證書的公鑰基礎(chǔ)設(shè)施(public key infrastructure,PKI)和基于身份的密碼體制(identity-based cryptography,IBC)。文獻[7]提出基于PKI的訪問控制框架設(shè)計,利用橢圓曲線加密算法構(gòu)造訪問控制方案,保證數(shù)據(jù)不受偽造攻擊。文獻[8]基于超橢圓曲線設(shè)計基于身份的無證書簽密,實現(xiàn)無線體域網(wǎng)間的跨域通信。文獻[9]提出基于迪菲—赫爾曼問題的物聯(lián)網(wǎng)信息保密機制。文獻[10]基于訪問控制加密(access control entry,ACE)方案實現(xiàn)訪問過程中的密鑰交換。文獻[7~10]均借用了算法加密方法,在無須第三方機構(gòu)驗證證書的情況,也可以保證公鑰的真實性[11],但在大量設(shè)備接入的情況下,這種集中式的方案會給合法設(shè)備的可用性帶來挑戰(zhàn),成為資源耗盡攻擊的薄弱環(huán)節(jié)。
區(qū)塊鏈作為一種去中心化和分布式技術(shù),為物聯(lián)網(wǎng)跨域共享提供了新的解決方案[12,13]。在分布式環(huán)境下,各個地方服務(wù)器為了滿足當(dāng)?shù)匦枨螅纬闪讼鄬Κ毩⒌男湃螒?yīng)用域,但單個信任應(yīng)用域難以滿足用戶需求,因此需要實現(xiàn)跨多個信任應(yīng)用域之間的訪問。為了解決這一問題,文獻[14]提出了基于去中心化區(qū)塊鏈的物聯(lián)網(wǎng)權(quán)限委托和訪問控制框架,但并未對其進行形式化建模和驗證;文獻[15]將區(qū)塊鏈和密碼學(xué)相結(jié)合,保證了跨域支付信息的私密性;文獻[16]結(jié)合區(qū)塊鏈與邊緣計算思想,提出了基于聯(lián)盟鏈的跨域物聯(lián)網(wǎng)信任模型,大幅度減少了傳統(tǒng)跨域訪問的認證過程;文獻[17]提出了基于聯(lián)盟區(qū)塊鏈的輕量級認證方案,并設(shè)計了一個數(shù)字令牌來建立不同域間的信任。但文獻[15~17]的跨域認證方案仍需要存儲鏈上的全部信息,未能有效地解決存儲開銷浪費的問題。
針對大型物聯(lián)網(wǎng)系統(tǒng)吞吐量低、耗時長等缺點,許多學(xué)者提出了區(qū)塊多鏈的概念,多鏈之間并行工作[18~23]。文獻[18]提出了雙層跨域身份認證模型,極大地提高了跨域訪問的穩(wěn)定性和可擴展性,但在多個異構(gòu)應(yīng)用域之間的可行性還有待討論;文獻[19]提出了一種可擴展的雙鏈模型來解決區(qū)塊鏈上負載均衡和交易效率問題;文獻[20]提出了基于區(qū)塊鏈和訪問控制列表(access control lists,ACL)的高效智能合約跨域訪問模型,但此模型仍存在集中局限性;文獻[21]提出將雙區(qū)塊鏈結(jié)構(gòu)放入跨域認證模型,但認證效率較低;文獻[22]集成多個區(qū)塊鏈實現(xiàn)物聯(lián)網(wǎng)數(shù)據(jù)管理,但在存儲開銷方面仍有待提高;文獻[23]將區(qū)塊多鏈和邊緣計算相結(jié)合,提出了一種基于區(qū)塊鏈的5G物聯(lián)網(wǎng)去中心化認證方案,有效地減輕了網(wǎng)絡(luò)的負擔(dān),但并不能有效保證域內(nèi)隱私數(shù)據(jù)的安全性。
以上研究只適用于資源較少的物聯(lián)網(wǎng)設(shè)備管理系統(tǒng),并未從資源成本與系統(tǒng)穩(wěn)定性的綜合發(fā)展作出考慮,實際上并沒有很好地解決跨域場景中的隱私數(shù)據(jù)共享問題。現(xiàn)有基于區(qū)塊鏈的跨域共享方案仍然存在穩(wěn)定性差、存儲過載和隱私數(shù)據(jù)私密性差等局限性和挑戰(zhàn)。為了克服這些缺點,提升區(qū)塊鏈性能以滿足跨域安全共享需求,本文提出了基于主從鏈的物聯(lián)網(wǎng)隱私數(shù)據(jù)共享方案,用主從鏈的結(jié)構(gòu)解決物聯(lián)網(wǎng)設(shè)備的可穩(wěn)定性和存儲過載問題,利用面向隱私數(shù)據(jù)的跨域安全共享方案,解決數(shù)據(jù)共享中的粗細粒度和安全性問題,實現(xiàn)隱私數(shù)據(jù)的跨域安全共享。
2 基于主從鏈的物聯(lián)網(wǎng)隱私數(shù)據(jù)跨域共享模型
2.1 主從鏈系統(tǒng)架構(gòu)設(shè)計
2.1.1 主從鏈結(jié)構(gòu)設(shè)計
在現(xiàn)有基于區(qū)塊鏈的跨域共享方案中,物聯(lián)網(wǎng)設(shè)備都加入同一個區(qū)塊鏈網(wǎng)絡(luò),但由于龐大的物聯(lián)網(wǎng)設(shè)備頻繁地進行訪問,會帶來大量資源和時間消耗。在這樣復(fù)雜而笨重的網(wǎng)絡(luò)拓撲環(huán)境下,設(shè)備和系統(tǒng)之間顯得雜亂無章,無法滿足既定需求;同時,不同信任應(yīng)用域的物聯(lián)網(wǎng)設(shè)備加入到同一個區(qū)塊鏈中,信任應(yīng)用域的設(shè)備不僅需要存儲該域中的信息,還需要存儲其他信任應(yīng)用域的信息,從而大大增加了區(qū)塊鏈網(wǎng)絡(luò)中設(shè)備的存儲壓力。為了方便物聯(lián)網(wǎng)設(shè)備的管理,優(yōu)化網(wǎng)絡(luò)拓撲結(jié)構(gòu),實現(xiàn)物聯(lián)網(wǎng)設(shè)備的安全訪問,本文根據(jù)節(jié)點功能的不同,將物聯(lián)網(wǎng)設(shè)備節(jié)點劃分為跨域節(jié)點和普通節(jié)點。
a)跨域節(jié)點。主要負責(zé)跨域訪問認證和管理相應(yīng)的信任應(yīng)用域,并進行數(shù)據(jù)域緩存和轉(zhuǎn)發(fā),是跨域訪問的橋梁。
b)普通節(jié)點。主要負責(zé)各信任應(yīng)用域的賬本維護、數(shù)據(jù)傳輸和隱私數(shù)據(jù)管理。
由于各個域的資源數(shù)據(jù)分布位于不同的地理位置,各個域的節(jié)點共同組成了域內(nèi)區(qū)塊鏈網(wǎng)絡(luò),各個域可以根據(jù)自身情況增減設(shè)備節(jié)點,這使得各個域在數(shù)據(jù)資源共享的過程中更加獨立自主,具有良好的穩(wěn)定性。
根據(jù)普通節(jié)點和跨域節(jié)點的不同特點,將其劃分到不同的區(qū)塊鏈網(wǎng)絡(luò)中,構(gòu)建了主從式的區(qū)塊鏈結(jié)構(gòu),其由主鏈和從鏈兩個部分構(gòu)成。
a)主鏈。所有的跨域節(jié)點作為主鏈節(jié)點連接到主鏈上,主鏈通過跨域節(jié)點連接到信任應(yīng)用域從鏈,以實現(xiàn)不同信任應(yīng)用域之間的數(shù)據(jù)安全訪問和共享。
b)從鏈。從鏈由一個跨域節(jié)點和普通節(jié)點組成,跨域節(jié)點可根據(jù)信任應(yīng)用域的位置進行選擇,其主要用于存儲域內(nèi)終端設(shè)備的訪問信息,避免了計算和存儲無關(guān)事務(wù)的消耗,減少了傳輸帶來的延遲。
2.1.2 基于主從鏈的跨域共享模型架構(gòu)設(shè)計
由于業(yè)務(wù)需求,物聯(lián)網(wǎng)終端設(shè)備需要訪問其注冊信任應(yīng)用域的數(shù)據(jù)。在這種情況下,物聯(lián)網(wǎng)設(shè)備可以通過信任應(yīng)用域分別檢索終端簽名的公共參數(shù),對終端設(shè)備的身份進行認證并進行數(shù)據(jù)訪問。這種訪問類型稱之為域內(nèi)訪問。隨著物聯(lián)網(wǎng)的快速發(fā)展,信任應(yīng)用域的數(shù)量迅速增加,不同信任應(yīng)用域之間的交互越來越頻繁。在某些情況下,來自不同信任應(yīng)用域的設(shè)備需要協(xié)作完成任務(wù),終端設(shè)備需要訪問其注冊信任應(yīng)用域之外的信任應(yīng)用域數(shù)據(jù)。與域內(nèi)訪問場景不同,信任應(yīng)用域不一定相互信任,因為域通常不愿讓其他用戶訪問其敏感數(shù)據(jù)。為了實現(xiàn)不同信任應(yīng)用域數(shù)據(jù)的安全傳輸和終端通信,需要對物聯(lián)網(wǎng)終端進行跨域數(shù)據(jù)共享。針對這一域內(nèi)和跨域場景,本文構(gòu)建了基于主從鏈的隱私數(shù)據(jù)跨域共享模型,該模型采用三層架構(gòu),自下而上依次為物聯(lián)網(wǎng)域?qū)印逆湆雍椭麈湆樱湎到y(tǒng)架構(gòu)如圖1所示。
a)主鏈層。主要作為可信共享平臺,當(dāng)物聯(lián)網(wǎng)設(shè)備需要訪問其他域的系統(tǒng)時,需要通過主鏈解析跨域認證請求,實現(xiàn)跨域安全訪問。
b)從鏈層。主要用于生成從鏈區(qū)塊,維護從鏈與主鏈間、物聯(lián)網(wǎng)設(shè)備間的通信,域內(nèi)的物聯(lián)網(wǎng)設(shè)備通過從鏈身份認證訪問其他物聯(lián)網(wǎng)系統(tǒng)。
c)物聯(lián)網(wǎng)域?qū)印V饕遣煌奈锫?lián)網(wǎng)域,每個物聯(lián)網(wǎng)域包含多個物聯(lián)網(wǎng)設(shè)備、物聯(lián)網(wǎng)系統(tǒng)和用戶。
在此系統(tǒng)架構(gòu)下,可以根據(jù)業(yè)務(wù)場景的需求,靈活增減域數(shù)量和從鏈數(shù)量,從而保證系統(tǒng)良好的穩(wěn)定性。
2.2 基于智能合約的跨域訪問機制設(shè)計
2.2.1 域內(nèi)訪問機制
在物聯(lián)網(wǎng)域中,如果一個物聯(lián)網(wǎng)設(shè)備想要訪問物聯(lián)網(wǎng)系統(tǒng),則通過從鏈進行身份認證和訪問,主鏈只負責(zé)保存物聯(lián)網(wǎng)設(shè)備的狀態(tài)數(shù)據(jù),域內(nèi)訪問機制如圖2所示。物聯(lián)網(wǎng)設(shè)備、物聯(lián)網(wǎng)系統(tǒng)、從鏈和主鏈分別用D、S、SC和MC表示。
(1)D→SC:{PKD,SigSKD(rq,from,to,inf),T1}。物聯(lián)網(wǎng)設(shè)備D生成公鑰PKD和私鑰SKD,生成申請請求rq,并使用自己的私鑰SKD為證書簽名,然后把自己的公鑰PKD、證書簽名和時間戳T1一起發(fā)送給從鏈SC。
(2i)SC→D:{SigPKD(PKSC2,SigSKSC2(Ack)) ,T2}或(2ii)SC→D:{SigPKD(PKSC,SigSKSC(Nack)),T2}。從鏈SC收到請求后,使用物聯(lián)網(wǎng)設(shè)備D的公鑰PKD解析請求和物聯(lián)網(wǎng)設(shè)備D的信息,同時根據(jù)從鏈SC中的存儲策略信息PolitySC判斷物聯(lián)網(wǎng)設(shè)備是否擁有訪問權(quán)限。
(a)如果認證成功,則為物聯(lián)網(wǎng)設(shè)備D生成數(shù)字證書:
CertD=SigPKMC(PKD,from,to,T3,deadline)
并且從鏈SC向設(shè)備D發(fā)送認證請求接受的結(jié)果。
(b)如果未認證成功,則表示該設(shè)備沒有權(quán)限訪問本地域,返回拒絕物聯(lián)網(wǎng)設(shè)備D的拒絕信息。
SC→D:{SigPKD(PKSC2,SigSKSC2(Nack)),T2}
(3)SC→MC:{SigPKMC(PKSC,SigSKSC(PKD,CertD,inf)),T3}。從鏈SC將數(shù)字證書發(fā)送到主鏈MC。
(4)MC→SC:{SigPKSC(PKMC,SigSKMC(PKD,Ack)),T4}。解析信息后,主鏈保存證書CertD、PKD和deadline的哈希值,并返回從鏈SC的確認消息。
(5)D→SC:{SigPKSC(PKD,SigSKD(CertD,from,to,rq,inf)),T5}。物聯(lián)網(wǎng)設(shè)備D使用CertD發(fā)送訪問物聯(lián)網(wǎng)系統(tǒng)S的訪問請求,從鏈SC收到CertD后,對其進行認證,認證成功后,打開訪問接口,物聯(lián)網(wǎng)設(shè)備D便可以進行訪問。
2.2.2 跨域訪問機制
以物聯(lián)網(wǎng)域1中的物聯(lián)網(wǎng)設(shè)備D想要訪問物聯(lián)網(wǎng)域2為例進行跨域訪問機制描述,如圖3所示。物聯(lián)網(wǎng)域1的子鏈稱為SC1,物聯(lián)網(wǎng)域2的子鏈稱為SC2。
(1)D→SC2:{PKD,SigSKD(PKSC1,rq,from,to,inf),T1}。物聯(lián)網(wǎng)設(shè)備D向從鏈SC2發(fā)起跨域訪問請求。
(2i)SC2→MC:{SigPKMC(PKSC2,SigSKSC2(PKSC1,PKD,from,to,inf)),T2}或(2ii)SC2→D:{SigPKD(PKSC2,SigSKSC2(Nack)) ,T2}。從鏈SC2收到請求后,使用物聯(lián)網(wǎng)設(shè)備D的公鑰PKD解析請求rq和物聯(lián)網(wǎng)設(shè)備D的信息,同時根據(jù)從鏈SC2中的存儲策略信息PolitySC2判斷物聯(lián)網(wǎng)設(shè)備D是否擁有訪問權(quán)限。
a)如果認證成功,則向主鏈MC發(fā)送請求訪問的信息:
SC2→MC:{SigPKMC(PKSC2,SigSKSC2(PKSC1,PKD,from,to,inf)),T2}
b)如果未認證成功,則表示該設(shè)備沒有權(quán)限訪問本地域,返回拒絕物聯(lián)網(wǎng)設(shè)備D的拒絕信息。
SC2→D:{SigPKD(PKSC2,SigSKSC2(Nack)),T2}
(3)MC→SC2:{SigSC2(PKMC,SigSKMC(PKMC,SigSKMC(Ack))),T3}主鏈MC收到從鏈SC2的信息后,使用從鏈SC2的公鑰PKSC2解析數(shù)據(jù)信息,把CertMD和從鏈中的數(shù)據(jù)保存到本地,為物聯(lián)網(wǎng)設(shè)備D生成數(shù)字證書。
CertMD=SigPKMC(PKSC1,PKD,from,to,T3,deadline)
并返回從鏈SC2確認信息。
(4)D→SC2:{PKD,SigPKD(PKD,SigPKD(CertMD,PKSC1,from,to,rq,inf)),T4}。物聯(lián)網(wǎng)設(shè)備D使用CertMD再次發(fā)送訪問從鏈SC2物聯(lián)網(wǎng)系統(tǒng)S的訪問請求。
(5)SC2→MC:{SigPKMC(PKSC2,SigSKSC2(CertMD,PKSC1,from,to,rq,inf)),T5}。從鏈SC2解析數(shù)據(jù)后,將訪問信息轉(zhuǎn)發(fā)給主鏈MC。
(6)MC→SC2:{SigPKMC(SigPKMC(PKSC2,SigSKSC2(Ack))),T6}。主鏈MC收到數(shù)據(jù)后,打開訪問接口,物聯(lián)網(wǎng)設(shè)備D便可進行訪問,同時發(fā)送一個確認信息給從鏈SC2。
跨域訪問算法主要包括域內(nèi)訪問、跨域訪問和跨域緩存三種算法,具體算法如算法1、2所示,算法所涉及符號及其含義如表1所示。
1)跨域訪問 跨域訪問算法通過主鏈進行身份認證,生成設(shè)備訪問證書,核心偽代碼如算法1所示。
算法1 跨域訪問
輸入:SigSKSC1(PKD,SigSKD(M)),PKSC1。
輸出:CertMD or error(message)。
use PKSC1 parse the message /*利用從鏈1的公鑰解析跨域訪問的消息*/
if SigSKD(M) is illegal //如果跨域訪問消息不合法
return error(SigSKD(M) is illegal) //返回錯誤消息
else
generate SigSKMC(PKD,SigSKD(M)) //利用主鏈公鑰簽名
forward with PKMC to SC2 /*將簽名后的消息同公鑰一起發(fā)送給從鏈2*/
算法4//調(diào)用算法4
use PKSC2 parse message
if SigSKSC2(MG) is illegal
return error(SigSKSC2(MG)is illegal)
else
save MG //保存訪問數(shù)據(jù)信息
generate CertMD //生成跨域訪問證書
return CertMD //返回跨域訪問證書
2)跨域緩存 跨域緩存算法負責(zé)將被訪問域的數(shù)據(jù)信息緩存在主鏈中,并實現(xiàn)跨域訪問的數(shù)據(jù)轉(zhuǎn)發(fā),核心偽代碼如算法2所示。
算法2 跨域緩存
輸入:SigSKMC(PKD,SigSKD(M)),PKMC。
輸出:SigSKSC2(MG)or error(message)。
use PKMC parse the message
if SigSKD(M) is illegal
return error(SigSKD(M)is illegal)
else
use PKD parse message SigSKD(M)
if M is illegal
return error(M is illegal)
else
if MPolicySC2 /*如果跨域訪問的消息不滿足從鏈2的訪問策略*/
return error(MPolicySC2) //返回錯誤消息
else
use M to get the MG //獲取訪問數(shù)據(jù)信息
generate SigSKSC2(MG)
return PKSC2 and SigSKSC2(MG)
2.2.3 安全性分析
在跨域隱私數(shù)據(jù)共享中,常見的攻擊有內(nèi)部和外部數(shù)據(jù)源攻擊、偽造攻擊、消息重放攻擊、欺騙攻擊、拒絕服務(wù)攻擊等。為了抵抗上述攻擊,保障數(shù)據(jù)的安全性和安全流動,本文針對跨域隱私數(shù)據(jù)共享中的常見攻擊模型進行了分析和評估。
a)內(nèi)部和外部數(shù)據(jù)源攻擊。
域內(nèi)訪問中從鏈SC驗證物聯(lián)網(wǎng)設(shè)備D的身份信息,跨域訪問中主鏈MC查詢證書CertD,因此本文方案可以有效地抵抗內(nèi)部攻擊。
b)偽造攻擊。
在訪問過程中,從鏈SC都會驗證物聯(lián)網(wǎng)設(shè)備D的身份信息,主鏈MC也會查詢CertD的證書,攻擊者無法偽造用戶獲取信息服務(wù)。
c)消息重放攻擊。
不論是主鏈MC,還是從鏈SC和物聯(lián)網(wǎng)設(shè)備D進行信息交互時,都由一個時間戳T來保證消息的有效性,由于時間戳T無法竄改,若攻擊者重放截獲的消息,也會因為時間戳失效而驗證失敗,以此防止重放攻擊。
d)欺騙攻擊。
由于每次通信都會通過主鏈MC私鑰簽名SigSKMC、從鏈SC私鑰簽名SigSKSC或者物聯(lián)網(wǎng)設(shè)備D的私鑰簽名SigSKD進行相互認證,以證明其唯一身份,所以攻擊者無法偽造其他節(jié)點的身份進行攻擊。
e)分布式拒絕服務(wù)(distributed denial of service attack,DDoS)攻擊。
本文構(gòu)建了基于主從鏈的跨域訪問模型,即使單個節(jié)點受到了攻擊,也不會影響其他節(jié)點,不存在單點故障問題,可以較好地抵抗DoS攻擊。
2.3 面向隱私數(shù)據(jù)的安全共享方案
在物聯(lián)網(wǎng)跨域的各項業(yè)務(wù)中,每個設(shè)備都有自己的敏感數(shù)據(jù)和隱私數(shù)據(jù),即使處于同一個區(qū)塊鏈網(wǎng)絡(luò),也不愿意將自己的隱私數(shù)據(jù)公開給不相關(guān)的訪問方。因此,本節(jié)提出面向隱私數(shù)據(jù)的安全共享方案,可以實現(xiàn)隱私數(shù)據(jù)的分層管理和高效細粒度訪問控制。
在本文模型中,每一個物聯(lián)網(wǎng)域有自己的公共數(shù)據(jù)庫和私有數(shù)據(jù)庫,私有數(shù)據(jù)庫主要存放隱私數(shù)據(jù),公共數(shù)據(jù)庫除了存儲公共數(shù)據(jù)外,還會存儲私有數(shù)據(jù)的哈希值。物聯(lián)網(wǎng)域數(shù)據(jù)庫訪問機制如圖4所示。同一個信任應(yīng)用域中的用戶可以訪問域內(nèi)的公共數(shù)據(jù)庫,在滿足訪問策略后,可以訪問隱私數(shù)據(jù)庫;而不在同一個信任應(yīng)用域的用戶,無法直接訪問其他信任應(yīng)用域的數(shù)據(jù)庫,但其可以利用主從鏈,并根據(jù)訪問策略進行相應(yīng)的數(shù)據(jù)訪問。
本文為每一個物聯(lián)網(wǎng)域定義一個屬于自己的隱私數(shù)據(jù)訪問策略polity,只有滿足隱私數(shù)據(jù)訪問策略polity才能訪問相應(yīng)的隱私數(shù)據(jù),從而保證隱私數(shù)據(jù)的安全共享。
定義1 從鏈的訪問策略polityx=(ID,P,SC)。其中:ID為該隱私數(shù)據(jù)的唯一標(biāo)識;P為允許訪問的用戶信息;SC為所屬從鏈的身份信息。例如:從鏈1的訪問策略polity1可以表示為
polity1=(PVdata1,domain1,domain1)(PVdata2,(domain1,domain2),domain1)
在polity1中,隱私數(shù)據(jù)PVdata1屬于域domain1中的隱私數(shù)據(jù),只有域domain1中的成員可以訪問;隱私數(shù)據(jù)PVdata12屬于domain1中的隱私數(shù)據(jù),域domain1和domain2中的成員均可以訪問此隱私數(shù)據(jù)。
面向隱私數(shù)據(jù)的安全共享方案算法主要包括訪問策略生成和隱私數(shù)據(jù)資源訪問算法,具體算法如算法3、4所示,算法所涉及符號及其含義如表2所示。
1)訪問策略生成 訪問策略生成算法負責(zé)訪問策略的生成,核心偽代碼如算法3所示。
算法3 訪問策略生成
輸入:SPID,P,PF。
輸出:success or error(message)。
if SPID is already exists //如果該隱私數(shù)據(jù)的唯一標(biāo)識已經(jīng)存在
return error(SPID is already exists) /*返回標(biāo)識已存在的錯誤消息*/
else
generate policySPID //生成隱私數(shù)據(jù)的訪問策略
return success
2)隱私數(shù)據(jù)資源訪問 隱私數(shù)據(jù)資源訪問算法負責(zé)隱私數(shù)據(jù)的訪問,核心偽代碼如算法4所示。
算法4 隱私數(shù)據(jù)資源訪問
輸入:SPID,P,PF。
輸出:success or error(message)。
insearch policySPID //查詢隱私數(shù)據(jù)的策略信息
if policySPID is not exists //如果該隱私數(shù)據(jù)策略信息不存在
return error(policySPID is not exists) /*返回該隱私數(shù)據(jù)策略信息不存在的錯誤消息*/
else
if UFpolicySPID /*如果該用戶信息不滿足該隱私數(shù)據(jù)的策略信息*/
return error(UF permission define) /*返回該用戶無法訪問的錯誤信息*/
else
return success
3 實驗驗證與分析
3.1 實驗環(huán)境設(shè)置
為了進一步驗證提出的基于主從鏈的隱私數(shù)據(jù)跨域共享模型的性能,選用Go語言作為測試的主要編程語言,并采用Hyperledger Fabric平臺進行了模擬實驗,詳細的實驗環(huán)境配置如表3所示。
本文模型測試區(qū)塊鏈網(wǎng)絡(luò)運行在單臺主機上,包含分屬于三個域組織的六個節(jié)點、三個MSP、三個orderer節(jié)點,采用Raft共識的排序服務(wù)。主鏈上的域組織為orgMain,從鏈上的兩個域domain1和domain2的域組織分別為orgSlave1和orgSlave2,域domain1和domain2的跨域節(jié)點均為peer0。
3.2 吞吐量
本節(jié)測試在15~120 s的持續(xù)時間內(nèi),域domain1中的域組織OrgSlave1訪問域domain2中的域組織OrgSlave2的隱私數(shù)據(jù)PVdata1的系統(tǒng)吞吐量的變化情況,結(jié)果如圖5所示。從圖中可以看到,吞吐量隨著交易持續(xù)時間的上升,先緩慢上升,而后趨于穩(wěn)定,最終域內(nèi)訪問吞吐量基本保持在330 TPS左右。由于本文模型使用主從鏈對跨域訪問數(shù)據(jù)進行了域緩存,所以,跨域的吞吐量有所下降,但基本維持在280 TPS左右。相較于單鏈的情況,吞吐量沒有特別明顯的下降,從而保證了相對穩(wěn)定的性能。
3.3 存儲開銷
本節(jié)測試15~120 s的持續(xù)時間內(nèi),域domain1中的域組織orgSlave1訪問域domain2中的域組織orgSlave2的隱私數(shù)據(jù)PVdata1時,單鏈環(huán)境和主從鏈環(huán)境下系統(tǒng)存儲開銷的情況,如表4所示。雖然在跨域訪問過程中,主從鏈相對單鏈情況下的吞吐量有所下降,但存儲開銷卻大幅度下降,幾乎減少了50%。這是因為主從鏈中主節(jié)點分擔(dān)了從鏈節(jié)點的存儲壓力,從而致使從鏈節(jié)點的存儲開銷有明顯下降;在吞吐量相差不大的情況下,各組件消耗的資源也不高,同時主從鏈的設(shè)置緩解了單個節(jié)點的存儲壓力,有效解決了單鏈環(huán)境下的存儲空間限制問題。
3.4 穩(wěn)定性
本節(jié)測試了不同域數(shù)量對系統(tǒng)性能的影響,結(jié)果如圖6所示。從圖中可以看到,隨著域數(shù)量從2個增加到16個,吞吐量呈現(xiàn)出先上升后下降的趨勢,但基本能保持在300~340,相對穩(wěn)定平滑。當(dāng)域數(shù)量為10個左右時,本文模型系統(tǒng)性能最佳,當(dāng)域數(shù)量超過10個后,吞吐量有所下降,所以,本文模型建議在不超過10個域以上的跨域訪問場景下使用。
3.5 對比分析
為了更好地驗證本文模型的系統(tǒng)性能,選取了最新的單鏈環(huán)境下跨域訪問模型[17]和現(xiàn)有的多區(qū)塊鏈環(huán)境下跨域訪問模型[22],對吞吐量、CPU負載和內(nèi)存開銷進行了對比分析。在本節(jié)中,仍選擇了如表3所示的環(huán)境配置,測試了在交易數(shù)量為10 000的情況下,本文模型的吞吐量、CPU負載和內(nèi)存開銷同文獻[17,22]的對比情況。
3.5.1 吞吐量
本節(jié)測試了不同塊交易數(shù)同吞吐量之間的關(guān)系,如圖7所示。從圖中可以看到,隨著塊交易數(shù)的增加,吞吐量不斷上升,最后趨于穩(wěn)定。文獻[17]的吞吐量最終基本維持在280左右,而文獻[22]和本文模型的吞吐量基本維持在550左右,相較于文獻[17],吞吐量提高了270 TPS左右。這是由于文獻[17]在本質(zhì)上仍采用的是單鏈的鏈結(jié)構(gòu),在同等塊交易數(shù)量的環(huán)境下,參與共識的節(jié)點數(shù)量更多,而文獻[22]和本文模型均采用了多區(qū)塊鏈的方案,分擔(dān)了單鏈環(huán)境的共識壓力,從而使得跨域訪問更加高效。
3.5.2 CPU負載
本節(jié)測試了塊交易數(shù)為2(Fabric的默認值)時,文獻[17,22]和本文模型的CPU負載,如圖8所示。從圖中可以看到,本文模型相較于文獻[17,22],合約和節(jié)點的最大CPU負載都有所下降,節(jié)點的平均CPU負載相較于文獻[17]降低了24%,相較于文獻[22]下降了15%。而合約的平均CPU負載相比于文獻[17]增加了1%左右,這是因為本文的跨域緩存合約需要對不同域之間的數(shù)據(jù)進行存儲轉(zhuǎn)發(fā),所以合約的平均CPU負載有所增加,但整體來說CPU負載水平更優(yōu)。
3.5.3 內(nèi)存開銷
本節(jié)測試了塊交易數(shù)為2(Fabric的默認值)時,文獻[17,22]和本文模型的內(nèi)存開銷,如圖9所示。從圖中可以到,本文模型下合約的最大內(nèi)存開銷相較于文獻[17]下降了約12 MB,平均內(nèi)存開銷下降了約10 MB;節(jié)點的最大內(nèi)存開銷相較于文獻[17]降低了約45%,相較于文獻[22]降低了約17%,而平均內(nèi)存開銷相較于文獻[17]降低了約64%,相較于文獻[22]降低了約20%,這表明本文所設(shè)計的主從鏈的鏈結(jié)構(gòu)相比于文獻[17,22],能更好地滿足物聯(lián)網(wǎng)跨域共享的需求,有效緩解了單鏈情況下內(nèi)存開銷高的問題。
4 結(jié)束語
為了解決各個信任應(yīng)用域隱私數(shù)據(jù)的安全性和共享性問題,本文利用區(qū)塊鏈技術(shù)構(gòu)建了基于主從鏈的隱私數(shù)據(jù)跨域共享模型。該模型基于主從鏈結(jié)構(gòu)提出了基于智能合約的跨域訪問機制,并面向隱私數(shù)據(jù)提出了安全共享方案。在保證隱私數(shù)據(jù)安全的情況下,提出了一種安全、高效的跨域訪問方案,實現(xiàn)了隱私數(shù)據(jù)跨域安全流動與共享。通過理論實驗對比分析,證明該模型具有較好的安全性和效率,在域數(shù)量為10個時,其系統(tǒng)性能最佳,具有較好的穩(wěn)定性。同最新的單鏈跨域認證模型相比,主從鏈的設(shè)計有效緩解了單鏈環(huán)境下的吞吐量低和存儲開銷高的問題;同現(xiàn)有的多區(qū)塊鏈相比,CPU負載和內(nèi)存開銷也有了明顯降低。但是該模型中區(qū)塊鏈的性能仍受共識機制的制約,在以后的研究中將著重于共識機制的優(yōu)化,以提升區(qū)塊鏈性能,解決跨域訪問中吞吐量的瓶頸問題。
參考文獻:
[1]佘春華. 全球物聯(lián)網(wǎng)發(fā)展及中國物聯(lián)網(wǎng)建設(shè)若干思考 [J]. 現(xiàn)代雷達,2021,43(7): 90-91. (She Chunhua. Some thoughts on the development of the global Internet of Things and the construction of the Internet of Things in China [J]. Modern Radar,2021,43(7): 90-91.)
[2]周韜,周進. 5G移動通信技術(shù)下的物聯(lián)網(wǎng)時代 [J]. 網(wǎng)絡(luò)與通信技術(shù),2021,33(4): 193-195. (Zhou Tao,Zhou Jin. The Internet of Things era under 5G mobile communication technology [J]. Network and Communication Technology,2021,33(4): 193-195.)
[3]馬立川,裴慶祺,肖慧子. 萬物互聯(lián)背景下的邊緣計算安全需求與挑戰(zhàn) [J]. 中興通訊技術(shù),2019,25(3): 37-42. (Ma Lichuan,Pei Qingqi,Xiao Huizi. Security requirements and challenges of edge computing in the context of the Internet of Everything [J]. ZTE Technology,2019,25(3): 37-42.)
[4]王濤. 萬豪5億人次信息泄露警示“數(shù)據(jù)透明”時代的危機 [J]. 中外管理,2019 (1): 67-69. (Wang Tao. Marriott’s 500 million person-time information leakage warning of the crisis in the era of “data transparency” [J]. Chinese and Foreign Management,2019 (1): 67-69.)
[5]“2018數(shù)字政府建設(shè)論壇暨第十七屆中國政府網(wǎng)站績效評估結(jié)果發(fā)布會”在北京舉辦 [J]. 電子政務(wù),2019 (1): 110. (“2018 digital government construction forum and the 17th Chinese government website performance evaluation results conference” was held in Beijing [J]. E-Government,2019 (1): 110.)
[6]曹雪蓮,張建輝,劉波. 區(qū)塊鏈安全、隱私與性能問題研究綜述 [J]. 計算機集成制造系統(tǒng),2021,27(7): 2078-2094. (Cao Xuelian,Zhang Jianhui,Liu Bo. Research review on blockchain security,privacy and performance [J]. Computer Integrated Manufacturing System,2021,27(7): 2078-2094.)
[7]張明德,劉偉. PKI/CA與數(shù)字證書技術(shù)大全 [M]. 北京:電子工業(yè)出版社,2015. (Zhang Mingde,Liu Wei. Encyclopedia of PKI/CA and digital certificate technology [M]. Beijing:Electronic Industry Press,2015.)
[8]Ullah I,Zeadally S,Amin N U,et al. Lightweight and provable secure cross-domain access control scheme for Internet of Things (IoT) based wireless body area networks (WBAN) [J]. Microprocessors and Microsystems,2021,81: 103477.
[9]Liu Quan,Gong Bei,Ning Zhenhu. Research on CLPKC-IDPKC cross-domain identity authentication for IoT environment [J]. Computer Communications,2020,157: 410-416.
[10]Wang Xiuhua,Chow S S M. Cross-domain access control encryption: arbitrary-policy,constant-size,efficient [C]// Proc of IEEE Symposium on Security and Privacy .Piscataway,NJ: IEEE Press,2021: 748-761.
[11]馬勇. 基于IBC機制的內(nèi)容中心網(wǎng)絡(luò)安全認證方案 [J]. 電子設(shè)計工程,2016,24(13): 88-91. (Ma Yong. Content center network security authentication scheme based on IBC mechanism [J]. Electronic Design Engineering,2016,24(13): 88-91.)
[12]Alphand O,Amoretti M,Claeys T,et al. IoTChain: a blockchain security architecture for the Internet of Things [C]// Proc of IEEE Wireless Communications and Networking Conference. Piscataway,NJ: IEEE Press,2018: 1-6.
[13]Lin Chao,He Debiao,Kumar N,et al. HomeChain: a blockchain-based secure mutual authentication system for smart homes [J]. IEEE Internet of Things Journal,2019,7(2): 818-829.
[14]Ali G,Ahmad N,Cao Yue,et al. xDBAuth: blockchain based cross domain authentication and authorization framework for Internet of Things [J]. IEEE Access,2020,8: 58800-58816.
[15]Li Dawei,Yu Jia,Gao Xue,et al. Research on multidomain authentication of IoT based on CrossChain technology [J]. Security and Communication Networks,2020,2020(10): 1-12.
[16]魏欣,王心妍,于卓,等. 基于聯(lián)盟鏈的物聯(lián)網(wǎng)跨域認證 [J]. 軟件學(xué)報,2021,32(8): 2613-2628. (Wei Xin,Wang Xinyan,Yu Zhuo,et al. IoT cross-domain authentication based on consortium chain [J]. Journal of Software,2021,32(8): 2613-2628.)
[17]Zhang Yujian,Luo Yuhao,Chen Xing,et al. A lightweight authentication scheme based on consortium blockchain for cross-domain IoT [J/OL]. Security and Communication Networks.2022.https://doi.org/10. 1155/2022/9686049.
[18]Zhao Gang,Di Bingbing,He Hui. A novel decentralized cross-domain identity authentication protocol based on blockchain [J]. Trans on Emerging Telecommunications Technologies,2021,33(1): e4377.
[19]畢婭,張曙紅,冷凱君,等. 基于雙鏈區(qū)塊鏈的制造服務(wù)集成平臺框架 [J]. 計算機集成制造系統(tǒng),2022,28(4):1177-1187. (Bi Ya,Zhang Shuhong,Leng Kaijun,et al. Manufacturing service integration platform framework based on dual-chain blockchain [J]. Computer Integrated Manufacturing System,2022,28(4):1177-1187.)
[20]Sun Shuang,Chen Shudong,Du Rong. Trusted and efficient cross-domain access control system based on blockchain [J]. Scientific Programming,2020,2020(10): 1-13.
[21]Li Dawei,Yu Jia,Gao Xue,et al. Research on multidomain authentication of IoT based on cross-chain technology [J]. Security and Communication Networks,2020,2020(10): 1-12.
[22]Jiang Yiming,Wang Chenxu,Wang Yawei,et al. A cross-chain solution to integrating multiple blockchains for IoT data management [J]. Sensors,2019,19(9): 2042.
[23]Jia Xudong,Hu Ning,Yin Shi,et al. A2 chain: a blockchain-based decentralized authentication scheme for 5G-enabled IoT [J]. Mobile Information Systems,2020,2020(11): 1-19.