錢涵佳 王宜懷,2 彭 濤 陳 成 羅喜召
1(蘇州大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 江蘇蘇州 215006)2(蘇州市嵌入式技術(shù)及應(yīng)用重點(diǎn)實(shí)驗(yàn)室(蘇州大學(xué)) 江蘇蘇州 215006)
基于蜂窩的窄帶物聯(lián)網(wǎng)(narrowband Internet of things, NB-IoT)是第3代合作伙伴計(jì)劃(3rd Generation Partnership Project, 3GPP)標(biāo)準(zhǔn)組織于2015年9月定義的面向低功耗廣域網(wǎng)(low power wide area network, LPWA)的關(guān)鍵蜂窩網(wǎng)絡(luò)通信技術(shù)[1].2016年6月16日,3GPP標(biāo)準(zhǔn)組織在韓國(guó)釜山正式確立了NB-IoT系列標(biāo)準(zhǔn)核心協(xié)議[2].
NB-IoT技術(shù)本身具備低功耗、低成本、廣覆蓋、深穿透、大連接等優(yōu)勢(shì)[3],填補(bǔ)了LPWA市場(chǎng)中無法大規(guī)模、長(zhǎng)距離、廣部署的技術(shù)空白,完美匹配了低功耗廣覆蓋的物聯(lián)網(wǎng)市場(chǎng)需求.因此,該技術(shù)吸引了國(guó)內(nèi)外主流運(yùn)營(yíng)商、設(shè)備廠商的加入,正以一種勢(shì)不可擋的態(tài)勢(shì)發(fā)展.成為物聯(lián)網(wǎng)主流技術(shù)之一,被廣泛應(yīng)用于多種垂直行業(yè),如遠(yuǎn)程抄表、智能家居、環(huán)境監(jiān)測(cè)、智能農(nóng)業(yè)、資產(chǎn)跟蹤等.
在NB-IoT應(yīng)用推廣中,其必須建立開放產(chǎn)業(yè)平臺(tái),依托云計(jì)算這個(gè)擁有強(qiáng)大計(jì)算存儲(chǔ)能力的大數(shù)據(jù)處理支撐平臺(tái),提供NB-IoT應(yīng)用層的各項(xiàng)數(shù)據(jù)服務(wù)以及實(shí)現(xiàn)信息智能化.然而,云計(jì)算環(huán)境下數(shù)據(jù)存儲(chǔ)安全存在問題.由于數(shù)據(jù)異地的存儲(chǔ),導(dǎo)致用戶失去對(duì)自身數(shù)據(jù)的一些基本訪問控制.云環(huán)境的開放性對(duì)用戶而言不可完全信賴,用戶數(shù)據(jù)將會(huì)暴露在不安全的云環(huán)境之下,容易受到惡意外部攻擊者、內(nèi)部員工隱瞞竊探和云服務(wù)器共謀攻擊等威脅,數(shù)據(jù)機(jī)密性和用戶隱私難以得到保證,此外,由于NB-IoT感知層由海量智能化程度受限的終端節(jié)點(diǎn)組成,不具備自我保護(hù)措施,并且由于窄帶物聯(lián)網(wǎng)是開放性網(wǎng)絡(luò),資源提供方容易受到節(jié)點(diǎn)冒充、數(shù)據(jù)篡改、信息竊取等攻擊.在數(shù)據(jù)處理共享需求越來越多的分布式環(huán)境中,如何在靈活可擴(kuò)展的訪問控制策略下,控制數(shù)據(jù)共享范圍的同時(shí),也保障用戶在通信過程中數(shù)據(jù)的機(jī)密性、隱私性是一個(gè)嚴(yán)峻的挑戰(zhàn)[4-5].
加密技術(shù)是目前保證物聯(lián)網(wǎng)數(shù)據(jù)傳輸以及云儲(chǔ)存共享安全性應(yīng)用最為廣泛的技術(shù),也是訪問控制策略模型實(shí)現(xiàn)的基礎(chǔ).大規(guī)模NB-IoT分布式應(yīng)用中設(shè)計(jì)可靠的加密方案必須考慮3個(gè)問題:1)細(xì)粒度訪問控制.NB-IoT擁有大量用戶,需要根據(jù)用戶級(jí)別設(shè)定權(quán)限訪問,增加訪問策略的靈活性,更易描述區(qū)分訪問用的權(quán)限,控制數(shù)據(jù)共享訪問的范疇,讓用戶受控進(jìn)行數(shù)據(jù)分享.2)用戶數(shù)據(jù)安全隱私保護(hù).在分布式應(yīng)用中,隱藏用戶身份信息,保護(hù)云存儲(chǔ)數(shù)據(jù)機(jī)密性和訪問控制策略.3)系統(tǒng)效率及開銷.考慮到大規(guī)模分布式應(yīng)用中一對(duì)多的通信模式,降低為每個(gè)用戶加密數(shù)據(jù)的花銷.NB-IoT感知層中的節(jié)點(diǎn)計(jì)算能力有限,電池容量較低,這就要求盡量降低整個(gè)方案尤其是終端節(jié)點(diǎn)的計(jì)算、存儲(chǔ)開銷.尋找適于物聯(lián)網(wǎng)、云存儲(chǔ)的輕量級(jí)加密算法.基于屬性的加密技術(shù)(attribute based encryption, ABE)可以很好地應(yīng)用于細(xì)粒度訪問控制中,能有效地實(shí)現(xiàn)分布式環(huán)境下靈活可靠的數(shù)據(jù)共享.保證數(shù)據(jù)安全和用戶隱私,并且將計(jì)算密集型任務(wù)外包到云代理上,降低因?yàn)榧咏饷芩惴ńo物資受限的NB-IoT終端設(shè)備的計(jì)算開銷,從而可以改善設(shè)備電池壽命.基于屬性的加密算法前身是基于身份的加密技術(shù)(identity based encryption, IBE).在1984年Shamir[6]在公鑰基礎(chǔ)設(shè)施以及雙線性對(duì)的基礎(chǔ)上建立了IBE方案,其中將用戶身份信息作為用戶的公共密鑰,由加密方自己保存私鑰,那么加密方無需事先在線獲得解密方的真正數(shù)字公鑰證書(證書中存取公共密鑰)就可以實(shí)現(xiàn)加密.該方案不僅解決了基于證書的公鑰加密體制中的一大缺陷,還很好地簡(jiǎn)化了加密過程,節(jié)省了很大的加密開支.
在實(shí)際應(yīng)用中,IBE加密體制需要龐大的存儲(chǔ)空間和計(jì)算量,也無法抵抗多個(gè)用戶合謀偽造身份的聯(lián)合攻擊.基于此,Sahai和Waters[7]給出了一種新的加密方案——模糊的基于身份的加密方式(fuzzy IBE),首次提出了用一組屬性的集合來描述身份的概念.在fuzzy IBE的基礎(chǔ)上,ABE加密體制進(jìn)一步被提出,實(shí)現(xiàn)用一組可以描述用戶身份的屬性集合來進(jìn)行加解密的方案.由于基本ABE無法支持靈活的訪問控制策略,訪問控制策略樹的概念隨即被提出,由此衍生出了2種基于策略樹的ABE加密算法.一種是Goyal等人[8]提出的基于密鑰策略的ABE(key-policy ABE, KP-ABE)和Bethencourt等人[9]提出的基于密文策略的ABE(ciphertext-policy ABE, CP-ABE).
在KP-ABE中,使用樹形訪問結(jié)構(gòu)來控制權(quán)限,訪問結(jié)構(gòu)關(guān)聯(lián)在用戶私鑰中,屬性關(guān)聯(lián)密文,只有當(dāng)密文屬性滿足訪問結(jié)構(gòu)時(shí),用戶才能使用私鑰解密密文恢復(fù)出明文.該方案下,加密方完全無法控制明文,適合應(yīng)用于大規(guī)模下網(wǎng)絡(luò)環(huán)境中的密鑰管理.
CP-ABE類似于廣播加密,無需加密方考慮解密者的身份問題,適用于分布式網(wǎng)絡(luò),與KP-ABE相同的是,其也運(yùn)用訪問控制結(jié)構(gòu)來控制權(quán)限并由發(fā)送方指定,與生成的密文相關(guān)聯(lián),解密密鑰用一組可描述的屬性集合來約束.僅當(dāng)用戶屬性滿足訪問策略時(shí),才能獲得解密密鑰,訪問資源.相較于KP-ABE,CP-ABE更適用于物聯(lián)網(wǎng)安全方案中.
以上方案都是依靠單授權(quán)中心識(shí)別用戶屬性,實(shí)現(xiàn)系統(tǒng)中每個(gè)用戶私鑰的管理分發(fā).隨著大規(guī)模云服務(wù)應(yīng)用中用戶數(shù)量的不斷增加,單授權(quán)中心管理分發(fā)密鑰以及管理用戶屬性所需的開銷急劇增加,容易造成系統(tǒng)崩潰.2007年Chase[10]提出多個(gè)授權(quán)中心的ABE加密(multi-asuthority ABE, MA-ABE)方案,由多個(gè)授權(quán)機(jī)構(gòu)分管用戶不同屬性并生成相應(yīng)用戶屬性的私鑰.該方案很好地降低了單授權(quán)機(jī)構(gòu)的計(jì)算負(fù)擔(dān).隨后,2012年馬丹丹等人[11]提出了基于多個(gè)授權(quán)機(jī)構(gòu)的CP-ABE機(jī)制,采用訪問樹結(jié)構(gòu)通過植入隨機(jī)化參數(shù)有效地抵抗了合謀攻擊.因此,MA-ABE機(jī)制更適用于云計(jì)算環(huán)境中的分布式應(yīng)用系統(tǒng).然而上述方案的時(shí)間復(fù)雜度較高,有大量雙線性配對(duì)和冪乘運(yùn)算,計(jì)算復(fù)雜度相當(dāng)高.另外加解密計(jì)算開銷與屬性個(gè)數(shù)和訪問結(jié)構(gòu)復(fù)雜度成線性增關(guān)系,導(dǎo)致用戶端計(jì)算負(fù)擔(dān)較重,不適用于資源受限且計(jì)算能力較弱的NB-IoT終端設(shè)備.雖然,2014年Hohenberger等人[12]為了降低加密過程中的計(jì)算開銷、提高加密效率,構(gòu)造了在線離線加密的CP-ABE方案.該方案主要思想是在離線階段對(duì)復(fù)雜計(jì)算進(jìn)行預(yù)處理,在線階段僅需執(zhí)行常數(shù)級(jí)別的指數(shù)操作即可生成密文.Green等人[13]提出的密鑰轉(zhuǎn)換技術(shù),將ABE解密過程中配對(duì)操作等復(fù)雜運(yùn)算外包給云服務(wù) ,在不泄露任何的明文信息的前提下,大大減少用戶解密花銷.然而該方案只考慮了解密階段的計(jì)算開銷,并沒有降低用戶加密階段的計(jì)算負(fù)擔(dān).此外大多數(shù)現(xiàn)有的ABE方案在構(gòu)造過程中并沒有考慮到外包計(jì)算正確性的驗(yàn)證.基于以上思想,本文在多屬性授權(quán)機(jī)構(gòu)的背景下,結(jié)合在線離線加密技術(shù)和外包解密技術(shù),提出一種新的輕量級(jí)窄帶物聯(lián)網(wǎng)應(yīng)用系統(tǒng)中高效可驗(yàn)證的加密方案.
在本文中,我們提出了基于標(biāo)準(zhǔn)模型下選擇明文攻擊(chosen-plaintext attack, CPA)安全的在線離線加密和外包解密的多機(jī)構(gòu)CP-ABE加密方案(onlineoffline and outsourced multi-authority ciphertext-policy ABE scheme, OO-MA-CP-ABE).該方案具有快速加密和外包解密的特性,大大減少了數(shù)據(jù)擁有者和數(shù)據(jù)用戶在分布式云計(jì)算環(huán)境中的計(jì)算開銷,對(duì)于多權(quán)限NB-IoT應(yīng)用系統(tǒng)中資源有限的設(shè)備來說是非常合適的.此外,我們還通過將身份標(biāo)識(shí)符直接嵌入用戶私鑰的構(gòu)造方式,防止惡意用戶的共謀攻擊.在加密階段,我們構(gòu)造了一個(gè)簡(jiǎn)單的驗(yàn)證令牌,用于外包計(jì)算正確性驗(yàn)證,增強(qiáng)方案的可靠性.
我們的主要貢獻(xiàn)有3個(gè)方面:
2) 采用多屬性授權(quán)機(jī)構(gòu),訪問策略更靈活的同時(shí)減輕了授權(quán)中心的負(fù)擔(dān)和風(fēng)險(xiǎn).另外通過身份標(biāo)識(shí)直接嵌入用戶私鑰構(gòu)造的方式,實(shí)現(xiàn)方案的抗共謀性.
3) 在我們的方案中,加密階段進(jìn)行的最昂貴的計(jì)算可以離線執(zhí)行,而在線階段只需要計(jì)算一個(gè)常數(shù)級(jí)別的指數(shù)操作.在解密期間,代理服務(wù)器可以在數(shù)據(jù)用戶提供的轉(zhuǎn)換密鑰的幫助下執(zhí)行部分解密.因此,數(shù)據(jù)用戶只需執(zhí)行簡(jiǎn)單的求冪計(jì)算操作,省去了大量求解雙線性對(duì)的計(jì)算開銷.相比于現(xiàn)有的MA-ABE方案,我們的方案大大減輕了用戶的計(jì)算和存儲(chǔ)負(fù)荷.
實(shí)驗(yàn)證明本文方案非常適用于解決計(jì)算能力弱且資源受限的NB-IoT應(yīng)用系統(tǒng)中云存儲(chǔ)數(shù)據(jù)安全問題,并給出了安全性證明,表明本文方案具有CPA安全性.從功能性、通信開銷和計(jì)算開銷3個(gè)方面對(duì)比分析,本文方案優(yōu)于現(xiàn)有方案,并通過性能分析,表明本方案的高效性.另外密鑰存儲(chǔ)在云端,大大降低了訪問過程中數(shù)據(jù)通信開銷.
設(shè)階為大素?cái)?shù)p的2個(gè)乘法循環(huán)群G和GT,其中g(shù)為群G的生成元.雙線性配對(duì)e:G×G→GT具有3個(gè)性質(zhì).
1) 雙線性.對(duì)于?P1,P2,Q1,Q2∈G都有:
e(P1+P2,Q1)=e(P1,Q1)e(P2,Q1),
e(P1,Q1+Q2)=e(P1,Q1)e(P1,Q2).
2) 非退化性.存在P,Q屬于G使得e(P,Q)≠1.
3) 可計(jì)算性.對(duì)?P,Q∈G存在一個(gè)高效的算法可以計(jì)算雙線性配對(duì)e:G×G→GT即e(P,Q).
線性秘密分享方案[14]是由秘密持有方將秘密分發(fā)給不同用戶,只有符合某種標(biāo)準(zhǔn)的用戶才有權(quán)限重建獲得秘密.
LSSS中U表示屬性空間,p為素?cái)?shù),一個(gè)定義在U上的線性秘密共享方案Π指:
1) 所有實(shí)體共享Zp上的一個(gè)向量.
Shamirs[6]門限秘密共享方案是一種典型的秘密共享方案.在該方案中,秘密和秘密分享都是有限域中的元素.秘密持有方會(huì)通過有限域隨機(jī)建立一個(gè)t-1度多項(xiàng)式來分享秘密值s.該多項(xiàng)式的系數(shù)都是從有限域中隨機(jī)選取的,而常數(shù)項(xiàng)的值為被分享的秘密值s.被分享的每一部分將成為該多項(xiàng)式上的一點(diǎn)(ai,f(ai)).
設(shè)階為大素?cái)?shù)p的2個(gè)乘法循環(huán)群G和GT,其中g(shù)為群G的生成元.雙線性配對(duì)e:G×G→GT,基于其判定性l-BDHI問題是:?α∈Zp以及給定l+1元組(g,gα,gα2,…,gαl)并判斷GT上的隨機(jī)元素T是否等于e(g,g).如果敵手A在多項(xiàng)式時(shí)間內(nèi)能破解l-BDHI問題的概率是可忽略的,即可證明l-BDHI問題是困難的.
本文構(gòu)建的系統(tǒng)模型如圖1所示,包含6個(gè)部分:數(shù)據(jù)屬主、云服務(wù)提供商、數(shù)據(jù)訪問用戶、中央授權(quán)機(jī)構(gòu)、屬性授權(quán)機(jī)構(gòu)和云代理服務(wù)器.
1) 數(shù)據(jù)屬主(data owner, DO)
數(shù)據(jù)屬主將自身數(shù)據(jù)加密之后上傳至云服務(wù)器進(jìn)行存儲(chǔ)分享,同時(shí)在密文上指定訪問策略并為每個(gè)密文生成相應(yīng)的驗(yàn)證令牌.DO將在空閑時(shí)段進(jìn)行離線加密,預(yù)先處理一些復(fù)雜計(jì)算,生成中間密文IT(intermediate ciphertext);在線加密時(shí),將完整的密文CT(complete ciphertext)上傳至云存儲(chǔ)服務(wù)器上.
2) 云服務(wù)提供商(cloud service provicer, CSP)
云服務(wù)提供商將會(huì)提供密文及驗(yàn)證令牌存儲(chǔ)和密鑰管理的功能,以及數(shù)據(jù)訪問控制服務(wù).但是云服務(wù)器是不完全可信的第三方機(jī)構(gòu).
3) 數(shù)據(jù)訪問用戶(data user, DU)
用戶與云存儲(chǔ)服務(wù)器交互,屬性授權(quán)機(jī)構(gòu)會(huì)根據(jù)其一組屬性值為其分配一組解密密鑰.每一個(gè)數(shù)據(jù)共享用戶都有唯一的身份標(biāo)識(shí)GID(global identity),通過云代理服務(wù)器幫助解密密文.只有滿足訪問控制策略的數(shù)據(jù)共享用戶才能完成解密,獲得明文并驗(yàn)證解密結(jié)果.
4) 屬性授權(quán)機(jī)構(gòu)(attribute authorities, AA)
屬性授權(quán)機(jī)構(gòu)AA是獨(dú)立可信的第三方屬性權(quán)威機(jī)構(gòu).在其范圍內(nèi),負(fù)責(zé)用戶屬性的管理分發(fā)、撤銷和更新任務(wù),多個(gè)授權(quán)機(jī)構(gòu)根據(jù)用戶相關(guān)屬性生成相應(yīng)的公開密鑰和解密密鑰.DU將憑借其全局身份標(biāo)識(shí)GID獲取一組屬性值以及符合其屬性值的解密密鑰.
5) 中央授權(quán)機(jī)構(gòu)(central attribute authorities, CA)
中央授權(quán)機(jī)構(gòu)CA為完全可信的權(quán)威認(rèn)證機(jī)構(gòu).由CA建立系統(tǒng)并負(fù)責(zé)AA注冊(cè)和用戶注冊(cè),為AA及系統(tǒng)中每一個(gè)合法用戶分配一個(gè)全局唯一的身份標(biāo)識(shí),同時(shí)定義系統(tǒng)全局參數(shù).但不參與任何用戶屬性管理和屬性私鑰分發(fā).
6) 云代理服務(wù)器(proxy server, PS)
云代理服務(wù)器接收用戶請(qǐng)求,使用轉(zhuǎn)換密鑰完成對(duì)密文的部分解密后發(fā)給用戶.在不向PS泄露任何加密信息的前提下很好地降低了終端用戶設(shè)備解密的負(fù)擔(dān).PS是半可信的,它會(huì)嘗試解密文件,但不會(huì)影響數(shù)據(jù)的正確性.
Fig. 1 System model圖1 系統(tǒng)模型圖
在本節(jié)中,我們定義本文輕量級(jí)窄帶物聯(lián)網(wǎng)應(yīng)用系統(tǒng)中高效可驗(yàn)證的加密方案多項(xiàng)式時(shí)間算法:
1)CA_Setup(λ,U)→GP
輸入安全系數(shù)λ和屬性全集U,輸出系統(tǒng)公開參數(shù)GP(global public parameter).GP是整個(gè)系統(tǒng)方案的全局參數(shù),作為每個(gè)算法的輸入?yún)?shù).假設(shè)方案中存在k個(gè)屬性機(jī)構(gòu){A1,A2,…,Ak},每個(gè)屬性授權(quán)機(jī)構(gòu)Ak管理相應(yīng)的一組屬性集合Uk,每個(gè)用戶擁有全局唯一標(biāo)識(shí)符GID以及一組屬性集合S.
2)AA_Setup(GP)→(PKk,SKk)
屬性授權(quán)機(jī)構(gòu)初始化時(shí),將GP作為輸入?yún)?shù),每個(gè)屬性授權(quán)機(jī)構(gòu)Ak生成相應(yīng)的公私鑰對(duì)PKk,SKk作為該算法的輸出.
3)KeyGen(SKk,GP,S,GID)→SKU
用戶密鑰生成算法,由多個(gè)授權(quán)機(jī)構(gòu)Ak合作生成密鑰,輸入全局參數(shù)GP、授權(quán)機(jī)構(gòu)主私鑰SKk和一組用戶屬性集S,輸出每個(gè)用戶的私鑰SKU.
4)Offline.Enc(GP)→IT
離線加密算法,輸入全局參數(shù)GP,輸出臨時(shí)密文IT.
5)Online.Enc(IT,m,GP,PKk,(M,ρ))→(CT,Token)
在線加密算法:輸入GP、屬性授權(quán)機(jī)構(gòu)主公鑰PKk、臨時(shí)密文IT訪問結(jié)構(gòu)(M,ρ)和明文m(message),輸出密文CT和驗(yàn)證令牌Token(verification token).
6)GenToken(SKU,GP,S)→(TKU,Key)
轉(zhuǎn)換密鑰算法,輸入GP、SKU和用戶屬性集合S,輸出轉(zhuǎn)換密鑰TKU和用戶秘鑰Key.
7)Out.Decrypt(GID,GP,CT,TKU)→CT′
外包部分解密算法由云代理服務(wù)器執(zhí)行.輸入用戶GID、GP、轉(zhuǎn)換密鑰TKU和密文CT,輸出部分分解密文CT′.
8)Decrypt(CT′,GP,Key)→m
用戶解密算法:輸入用戶私鑰Key和外包密文CT′、全局公開參數(shù)GP、輸出明文消息m.
我們通過下面的一場(chǎng)攻擊游戲來設(shè)計(jì)本文輕量級(jí)窄帶物聯(lián)網(wǎng)應(yīng)用系統(tǒng)中高效可驗(yàn)證的加密方案的安全模型.其中,A為敵手C的挑戰(zhàn)者,I代表本文模型中的所有屬性授權(quán)機(jī)構(gòu)集合[15].
初始化:敵手A指定將要被挑戰(zhàn)的訪問結(jié)構(gòu)(M,ρ)以及假冒的屬性機(jī)構(gòu)集合I′?I給挑戰(zhàn)者C.
建立:挑戰(zhàn)者C執(zhí)行CA_Setup算法,產(chǎn)生公共參數(shù)GP,然后將GP交給敵手.
對(duì)于在I-I′中的非假冒授權(quán)機(jī)構(gòu),挑戰(zhàn)者C會(huì)通過執(zhí)行AA_Setup算法生成相應(yīng)的主公私鑰對(duì)(PKk,SKk)并發(fā)送給A.
階段1:敵手A選擇一組用戶GID和用戶屬性集合S.而后挑戰(zhàn)者C多次提交(S,GID)進(jìn)行密鑰詢問.注意:S中的每一個(gè)屬性都不滿足訪問結(jié)構(gòu)(M,ρ),并且來自于可靠的屬性授權(quán)機(jī)構(gòu).C執(zhí)行KeyGen算法,產(chǎn)生用戶私鑰SKU發(fā)送給敵手A.
挑戰(zhàn):敵手A制定2個(gè)等長(zhǎng)明文消息,M0,M1給挑戰(zhàn)者C;C選擇一個(gè)隨機(jī)值b∈{0,1},執(zhí)行加密算法產(chǎn)生挑戰(zhàn)密文CT,最后將CT發(fā)送給敵手A.
階段2:重復(fù)階段1的操作.
猜想:敵手輸出b的猜測(cè)值b′∈{0,1}.?b=b′,則敵手A獲勝.
這里定義敵手A的優(yōu)勢(shì)為Pr[b=b′]-12,其成功概率為Pr[b=b′].
定義1.如果任意敵手A在上述攻擊游戲中,在多項(xiàng)式時(shí)間內(nèi)能獲勝的概率是可忽略的,那么本方案是CPA安全的.
從技術(shù)科學(xué)角度分析,NB-IoT應(yīng)用架構(gòu)可以抽象為NB-IoT終端(ultimate-equipment, UE)、NB-IoT信息郵局(message post office, MPO)、NB-IoT人機(jī)交互系統(tǒng)(human-computer interac-tion system, HCI)3個(gè)組成部分,如圖2所示:
Fig. 2 NB-IoT application architecture圖2 NB-IoT應(yīng)用架構(gòu)
UE是以微控制器(microcontroller unit, MCU)為核心,具有NB-IoT通信、數(shù)據(jù)采集、控制、運(yùn)算等功能的軟硬件實(shí)體,如燃?xì)獗?、水表?MPO是一種基于NB-IoT協(xié)議的信息傳送系統(tǒng),是NB-IoT基站(base station, BS)、核心網(wǎng)(core network, CN)和設(shè)備管理平臺(tái)(device management server)的總稱,是UE與HCI信息交互的媒介.HCI是實(shí)現(xiàn)具體應(yīng)用功能的軟硬件系統(tǒng),使人們能夠利用通用計(jì)算機(jī)(PC)、平板電腦、手機(jī)等設(shè)備實(shí)現(xiàn)對(duì)例如智能家居、物流等控制的功能.圖2中數(shù)據(jù)傳輸過程①和②表示上行數(shù)據(jù)傳輸過程,③和④代表下行數(shù)據(jù)傳輸過程,其中過程①和③使用的是NB-IoT協(xié)議.
從應(yīng)用開發(fā)的角度來看,開發(fā)者只需要對(duì)UE和HCI端的軟硬件進(jìn)行設(shè)計(jì).而對(duì)于數(shù)據(jù)是如何在MPO內(nèi)部傳輸?shù)倪@個(gè)問題將由運(yùn)營(yíng)商解決.所以開發(fā)者在進(jìn)行軟件設(shè)計(jì)時(shí)應(yīng)著重考慮UE以及HCI的軟硬件環(huán)境及資源.
本節(jié)我們?cè)斒鲚p量級(jí)窄帶物聯(lián)網(wǎng)應(yīng)用系統(tǒng)中高效可驗(yàn)證的加密方案,具體構(gòu)建過程如下:
1)CA_Setup(λ,U)→GP
輸入安全參數(shù)λ和通用屬性集,利用λ生成階為大素?cái)?shù)p的群G和GT,將G的生成元g和p作為全局公共參數(shù)GP.定義一個(gè)雙線性映射e:G×G→GT.我們選取2個(gè)強(qiáng)抗碰撞的Hash函數(shù)H:{0,1}→Zp和H1:GT→{0,1}log p.通過隨機(jī)語言及將全局身份表示GID映射到G中的元素中.
2)AA_Setup(GP)→(PKk,SKk)
屬性授權(quán)機(jī)構(gòu)會(huì)針對(duì)每個(gè)授權(quán)機(jī)構(gòu)Ak管理的每個(gè)屬性i,選擇2個(gè)指數(shù)xi,yi∈Zp,每個(gè)Ak將SKk={xi,yi}?i作為其私鑰.
3)KeyGen(SKk,GP,S,GID)→SKU
4)Offline.Enc(GP)→IT
5)Online.Enc(IT,m,GP,PKk,(M,ρ))→(CT,Token)
數(shù)據(jù)屬主外派數(shù)據(jù)到服務(wù)器之前,需運(yùn)行算法加密消息m成密文之后發(fā)送給云服務(wù)器.
① 數(shù)據(jù)屬主隨機(jī)選擇ck∈GT,計(jì)算對(duì)稱密鑰sk=H′(ck),使用對(duì)稱密鑰sk加密數(shù)據(jù)m,生成數(shù)據(jù)密文(data ciphertext,DC),另外計(jì)算驗(yàn)證令牌:Token=H1(H0(DC)‖CT′).
② 數(shù)據(jù)屬主加密對(duì)稱密鑰ck.
(i) 輸入LSSS訪問結(jié)構(gòu)(M,ρ),其中函數(shù)ρ與M的行和屬性相關(guān).
最終密文為CT={(M,ρ),DC,C0,{C1,j,C2,j,C3,j,C4,j,C5,j,C6,j,C7,j}?j∈[1,l]}.
6)GenToken(SKU,GP,S)→(TKU,Key)
7)Out.Decrypt(GID,GP,CT,TKU)→CT′
用戶將基于訪問策略(M,ρ)的密文CT和轉(zhuǎn)換密鑰交給云代理服務(wù)器進(jìn)行部分密文解密.
進(jìn)行計(jì)算:
將結(jié)果CT′={CT1,CT2}作為部分解密CT′返回給終端用戶.
8)Decrypt(CT′,GP,Key)→m
若等式成立,則云解密正確,而后使用ck解密密文CT′,最終獲得明文m;若等式不成立則返回⊥.
本文選取資源受限的NB-IoT終端UE作為數(shù)據(jù)屬主,UE的主控芯片采用基于ARM Cortex-M0+內(nèi)核的32位微控制器.UE的硬件實(shí)物為智能燃?xì)獗?,如圖3所示:
Fig. 3 UE hardware physical map圖3 UE硬件實(shí)物圖
另外,我們選取64位操作系統(tǒng)Windows10的PC(時(shí)鐘頻率為3.20 GHz)作為NB-IoT人機(jī)交互客戶端HCI,將其作為數(shù)據(jù)訪問用戶.在我們的NB-IoT智能燃?xì)獗響?yīng)用系統(tǒng)中,終端UE將采集到的數(shù)據(jù)加密后發(fā)送到華為云服務(wù)器,而后人機(jī)交互客戶端HCI從云服務(wù)器上獲取相應(yīng)密文,并解密獲得數(shù)據(jù)信息,完成一次數(shù)據(jù)的通信傳輸.
為了驗(yàn)證OO-MA-CP-ABE方案的可行性,并評(píng)估其實(shí)際性能.本節(jié)利用0.5.14版本的Paring-based cryptography library[16]對(duì)OO-MA-CP-ABE方案進(jìn)行實(shí)驗(yàn).我們將對(duì)訪問結(jié)構(gòu)為L(zhǎng)SSS的HW[12],GHW[13],LW[15]方案和本文方案就在線加密和用戶解密階段進(jìn)行實(shí)驗(yàn).上述2個(gè)對(duì)比實(shí)驗(yàn)有關(guān)時(shí)間的統(tǒng)計(jì)是在本文選取的人機(jī)交互客戶端HCI上執(zhí)行的,主要配置前文已述.另外,我們?cè)贏RM架構(gòu)下的NB-IoT終端UE上執(zhí)行的加密方案耗時(shí)大約120 ms,而在HCI端執(zhí)行加密只需8 ms左右,解密數(shù)據(jù)耗時(shí)1.8 ms左右.一次完整的數(shù)據(jù)傳輸完成需要15 s左右(極限情況下需要30 s左右).需要指出的是,所有對(duì)比實(shí)驗(yàn)的結(jié)果都是取運(yùn)行30次后所得的平均值.
圖4給出了HW[12],GHW[13],LW[15]方案與本文OO-MA-CP-ABE方案在不同屬性個(gè)數(shù)不同的情況下,各個(gè)方案在在線加密階段所需的時(shí)間對(duì)比.在實(shí)驗(yàn)過程中,假設(shè)屬性個(gè)數(shù)由2變化到20.如圖4所示,我們的OO-MA-CP-ABE方案在在線加密階段計(jì)算開銷與屬性數(shù)目無關(guān),幾乎保持恒定,可以應(yīng)用于計(jì)算能力弱且資源受限的移動(dòng)終端用戶.雖然本方案耗時(shí)略高于HW[12]方案,但用戶解密階段耗時(shí)遠(yuǎn)遠(yuǎn)低于HW[12]方案,因此本文方案整體更優(yōu).
Fig. 4 Comparison of encryption time圖4 在線加密開銷時(shí)間比較
圖5給出了HW[12],GHW[13],LW[15]方案與本文OO-MA-CP-ABE方案在不同屬性個(gè)數(shù)不同的情況下,各個(gè)方案用戶解密階段所需的時(shí)間對(duì)比.在實(shí)驗(yàn)過程中,假設(shè)屬性個(gè)數(shù)由2變化到20.如圖5所示:
Fig. 5 Comparison of final decryption time圖5 用戶解密開銷時(shí)間比較
我們的OO-MA-CP-ABE方案在用戶解密階段計(jì)算開銷與屬性數(shù)目無關(guān),幾乎保持恒定,我們將大量復(fù)雜的運(yùn)算外包給云服務(wù)器,解密時(shí)間遠(yuǎn)遠(yuǎn)少于HW[12]和LW[15]方案.雖然本方案耗時(shí)與GHW[13]方案相近,但在線加密階段耗時(shí)遠(yuǎn)遠(yuǎn)低于GHW[13]方案,因此本文方案整體更優(yōu),更適合于計(jì)算能力弱且資源受限的移動(dòng)終端用戶.
本文構(gòu)造的OO-MA-CP-ABE方案的正確性主要依賴于雙線性映射的性質(zhì).我們通過公式來證明本方案的正確性.
我們?cè)诜桨笜?gòu)造中定義用戶屬性集合S,以及與用戶屬性集合S相關(guān)的轉(zhuǎn)換密鑰TKU.與此同時(shí),我們定義一個(gè)訪問策略(M,ρ),以及和訪問策略(M,ρ)相關(guān)的密文CT.我們?cè)诜桨笜?gòu)造中計(jì)算獲得:
由本節(jié)可知:
因此,我們可以進(jìn)一步獲得
最終正確獲得明文消息.
定義2.本文基于離散對(duì)數(shù)困難問題下利用GID解決了抵抗多個(gè)屬性授權(quán)機(jī)構(gòu)的合謀攻擊和不同用戶直接攻擊.本文方案基于具有CPA安全的Waters方案發(fā)展而來,因此也是CPA安全的.在l-BDHI困難問題假設(shè)成立的情況下,任何多項(xiàng)式時(shí)間內(nèi)敵手A不具備攻破本文方案的優(yōu)勢(shì)[17].
證明. 假設(shè)本文方案,存在被一個(gè)PPT敵手A以不可忽略的優(yōu)勢(shì)攻破的可能.即構(gòu)造模擬者D,證明其可通過A以ε2的概率判定出2個(gè)l-BDHI隨機(jī)元組(g,gα,gα2,…,gαl,e(g,g))和(α∈Zp,T∈GT).
執(zhí)行CA_Setup算法,產(chǎn)生公共參數(shù)GP,然后將GP交給敵手.挑戰(zhàn)者C會(huì)通過執(zhí)行AA_Setup算法生成相應(yīng)的主公私鑰對(duì)(PKk,SKk)并發(fā)送給模擬者D.挑戰(zhàn)者C選擇1個(gè)隨機(jī)值n∈{0,1},該值隱瞞敵手A和模擬者D.n=0,將(g,gα,gα2,…,gαl,T)設(shè)為元組,否則(g,gα,gα2,…,gαl,e(g,g))為元組.模擬以下游戲:
初始化:敵手A指定將要被挑戰(zhàn)的訪問結(jié)構(gòu)(M,ρ)*給S.
建立:定義Hash函數(shù)H:{0,1}→Zp.I代表本文模型中的所有屬性授權(quán)機(jī)構(gòu)集合.模擬者D生成相關(guān)公共參數(shù)GP,并生成屬性授權(quán)機(jī)構(gòu)公鑰集PKk一起發(fā)送給敵手A.敵手A將密文提交給預(yù)言機(jī)解密,如果成功則返回明文m給敵手.
階段1:敵手A選擇一組用戶GID和用戶屬性集合S.基于I-I′中的非假冒授權(quán)機(jī)構(gòu),向模擬者D多次提交(S,GID)進(jìn)行密鑰詢問.注意:S中的每一個(gè)屬性都不滿足訪問結(jié)構(gòu)(M,ρ)*,并且來自于可靠的屬性授權(quán)機(jī)構(gòu).執(zhí)行KeyGen算法,產(chǎn)生用戶私鑰SKU發(fā)送給敵手A.
挑戰(zhàn):敵手A制定2個(gè)等長(zhǎng)明文消息M0,M1給挑戰(zhàn)者C;模擬者D選擇1個(gè)隨機(jī)值b∈{0,1},執(zhí)行加密算法產(chǎn)生挑戰(zhàn)密文CT,最后將CT發(fā)送給敵手A.如果(g,gα,gα2,…,gαl,T)∈(g,gα,gα2,…,gαle(g,g)),則D模擬成功.
階段2:重復(fù)階段1的操作.
猜想:敵手A輸出b的猜測(cè)值b′∈{0,1}.?b=b′則敵手A獲勝.
這里定義敵手A的優(yōu)勢(shì)為Adv(D)=Pr[b=b′]-12,其成功概率為Pr[b=b′].
當(dāng)n=0,D猜對(duì)(g,gα,gα2,…,gαl,T)為元組成功的概率為12;
當(dāng)n=1,D猜對(duì)(g,gα,gα2,…,gαl,e(g,g))為元組成功的概率為12+ε;
該結(jié)果是可以忽略不計(jì)的,即是l-BDHI困難的.因此任意敵手A在上述攻擊游戲中,在多項(xiàng)式時(shí)間內(nèi)能獲勝的概率是可忽略的,本方案是選擇明文攻擊(CPA)安全的.
證畢.
本節(jié)對(duì)本文方案性能作了簡(jiǎn)單分析.
首先在加密階段,我們進(jìn)行分步處理:離線階段和在線階段.在離線加密階段,我們將大量的復(fù)雜運(yùn)算,如雙線性配對(duì)和冪乘計(jì)算提前進(jìn)行處理,將結(jié)果存儲(chǔ)在設(shè)備上.設(shè)備將在充電狀態(tài)下或者空閑狀態(tài)時(shí)自動(dòng)離線完成;在線階段時(shí),只需付出極小的代價(jià)進(jìn)行簡(jiǎn)單計(jì)算,就可快速完成加密.極大降低了終端計(jì)算開銷,節(jié)省低功耗終端設(shè)備的大量電量消耗.解密階段時(shí),我們也將大量復(fù)雜計(jì)算外包在云服務(wù)器上,減少了數(shù)據(jù)用戶端的解密運(yùn)算開銷,并且大大提高了解密效率.與此同時(shí),我們還融入了隱藏訪問結(jié)構(gòu)方案和驗(yàn)證外包解密正確性的算法,進(jìn)一步保證了本文的可靠性和安全性[18].本節(jié)給出了OO-MA-CP-ABE方案與已有的相關(guān)方案在功能性、計(jì)算開銷和通信開銷方面的對(duì)比分析.
表1給出了本文方案和其他方案的特征功能比較,主要包括是否支持多個(gè)屬性授權(quán)機(jī)構(gòu)、訪問策略的表現(xiàn)形式、是否支持外包計(jì)算可驗(yàn)證性、是否支持在線離線加密和外包解密.由表1可知:BSW[9],GHW[13],HW[12]方案是一般單授權(quán)中心機(jī)制,隨著用戶屬性的增加,授權(quán)機(jī)構(gòu)的負(fù)擔(dān)與風(fēng)險(xiǎn)將加大.本文和LW[15]等方案采用多屬性授權(quán)機(jī)構(gòu),更符合分布式應(yīng)用需求,更為高效靈活,還可以抵抗合謀攻擊.但是MDD[11]和LW[15]方案既不能支持外包加密也不能支持外包解密,用戶計(jì)算開銷過大,不適合實(shí)際應(yīng)用于輕量級(jí)窄帶物聯(lián)網(wǎng)應(yīng)用系統(tǒng).此外,上述方案均沒有驗(yàn)證外包計(jì)算的正確性.因此,本文方案優(yōu)于現(xiàn)有方案,具有更強(qiáng)的可擴(kuò)展性.
表2給出計(jì)算性能和密文長(zhǎng)度的比較.在詳細(xì)分析本文的計(jì)算開銷和通信開銷之前,我們先定義后文所使用的相關(guān)符號(hào),設(shè)E表示在群G和GT的1次指數(shù)操作花銷,P表示1次雙線性配對(duì)操作運(yùn)算花銷,l代表LSSS訪問結(jié)構(gòu)屬性的行數(shù)或者訪問樹中間節(jié)點(diǎn)數(shù),|G|,|GT|,|Zp|分別表示G,GT,Zp的長(zhǎng)度,U表示解密時(shí)的系統(tǒng)屬性個(gè)數(shù),S為在群G和GT的1次點(diǎn)乘操作花銷.文中的計(jì)算開銷主要源于雙線性運(yùn)算和冪乘運(yùn)算.在表2中,我們列出了終端用戶的在線加密開銷和解密開銷以及相應(yīng)的密文長(zhǎng)度.相比于BSW[9],GHW[13],HW[12],LW[15]方案,本文方案在加密階段,用戶端只需要做簡(jiǎn)單點(diǎn)乘運(yùn)算,大大減少了冪乘運(yùn)算開銷.另外,本文還將大量的線性配對(duì)和冪乘計(jì)算開銷外包至云服務(wù)器,用戶只需一次冪乘計(jì)算,大大降低了終端解密用戶的計(jì)算負(fù)擔(dān).雖然本文的密文長(zhǎng)度相較于GHW[13],HW[12]方案略微較長(zhǎng),但是其加解密負(fù)擔(dān)較低,效率高的同時(shí)還加入了驗(yàn)證外包解密正確性的算法,安全性可靠性得到了保障.
Table 1 Comparison of Features and Functions of this Program and Other Programs表1 本文方案和其他方案的特征功能比較
Note: √ means whether it supports this feature, × means whether this feature is not supported.
Table 2 Comparison of Calculation Performance and Ciphertext Length Between this and Other Schemes 表2 本文方案和其他方案計(jì)算性能和密文長(zhǎng)度的比較
Note:Urepresents the set of attributes required for decryption;Eindicates the time for one exponentiation operation in the groupGandGT; |G|, |GT| and |Zp| denote the length of each element inG,GTand Zp;lrepresents the number of rows of the access structure matrix;Prepresents time required for a pairing operation;Sindicates the time for a multiplication in the groupGandGT.
本文提出了一種新的輕量級(jí)NB-IoT應(yīng)用系統(tǒng)中高效可驗(yàn)證的加密方案:在線離線加密和外包解密的多機(jī)構(gòu)CP-ABE加密方案OO-MA-CP-ABE.在多個(gè)屬性授權(quán)機(jī)構(gòu)的背景下,采用更靈活的訪問控制策略,大大減輕了授權(quán)中心的負(fù)擔(dān)和風(fēng)險(xiǎn).融入在線離線加密和外包解密技術(shù),將大量昂貴的計(jì)算外包給云服務(wù)器,最小化終端用戶的計(jì)算開銷和存儲(chǔ)負(fù)擔(dān),很好地解決計(jì)算能力較弱且資源受限的NB-IoT云存儲(chǔ)數(shù)據(jù)安全問題,提高了資源訪問控制效率,此外,密鑰存儲(chǔ)在云端,降低訪問過程中數(shù)據(jù)通信量.最后,通過驗(yàn)證外包解密正確性的算法,進(jìn)一步保證了本文的可靠性和安全性.