陳書儀,劉亞麗,林昌露,李 濤,董永權(quán)
(1. 江蘇師范大學計算機科學與技術(shù)學院,江蘇徐州 221116;2. 福建師范大學福建省網(wǎng)絡(luò)安全與密碼技術(shù)重點實驗室,福建福州 350007;3.河南省網(wǎng)絡(luò)密碼技術(shù)重點實驗室,河南鄭州 450001)
物聯(lián)網(wǎng)(the Internet of Things,IoT)是一種新型的網(wǎng)絡(luò)技術(shù),它將各種信息傳感設(shè)備與互聯(lián)網(wǎng)相結(jié)合形成一個巨大的網(wǎng)絡(luò),實現(xiàn)在任何時間、任何地點,人與設(shè)備的互聯(lián)互通. 物聯(lián)網(wǎng)中的任何一個設(shè)備可以定義為一個虛擬節(jié)點或物理節(jié)點,所有節(jié)點通過網(wǎng)絡(luò)相互連接并交換信息. 如圖1 所示,物聯(lián)網(wǎng)通常具有3 層架構(gòu)[1,2],包括傳感層、網(wǎng)絡(luò)層和應(yīng)用層. 傳感層由具有各種傳感能力的物聯(lián)網(wǎng)節(jié)點組成;網(wǎng)絡(luò)層將傳感器的數(shù)據(jù)傳輸?shù)椒?wù)器;應(yīng)用層將傳感層得到的數(shù)據(jù)進行處理,并實現(xiàn)具體的應(yīng)用. 物聯(lián)網(wǎng)節(jié)點之間通過開放信道實現(xiàn)交互,而開放的信息交互存在安全和隱私泄露問題. 目前,身份認證是解決這些問題的關(guān)鍵技術(shù)之一.
圖1 物聯(lián)網(wǎng)的3層架構(gòu)
身份認證在物聯(lián)網(wǎng)中具有廣泛的應(yīng)用. 張順等人[3]提出了一種無線體域網(wǎng)(Wireless Body Area Network,WBAN)場景下的認證方案,該方案使用橢圓曲線技術(shù)實現(xiàn)了用戶和醫(yī)療中心的相互認證.Fouda 等人[4]提出了一種面向智能電網(wǎng)的認證方案,該方案使用聯(lián)合會話密鑰和哈希函數(shù)實現(xiàn)了分布式智能電表和智能設(shè)備之間的相互認證. 房衛(wèi)東等人[5]在無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)場景下,使用生物特征標識技術(shù)實現(xiàn)了用戶和傳感器節(jié)點之間的雙向認證. 張文芳等人[6]在車聯(lián)網(wǎng)(Vehicular Ad Hoc Network,VANET)場景下提出一種基于無證書聚合簽名的匿名認證與密鑰協(xié)商方案. 李濤等人[7]提出了一種基于雙物理不可克隆函數(shù)(Physical Unclonable Function,PUF)的無線射頻識別(Radio Frequency Identification,RFID)認證方案,實現(xiàn)閱讀器與標簽的雙向認證.
大多數(shù)物聯(lián)網(wǎng)認證方案是節(jié)點之間一對一的認證方案,節(jié)點之間通過交互來驗證身份信息. 然而這種認證方案并不適用于物聯(lián)網(wǎng). 一方面,物聯(lián)網(wǎng)節(jié)點內(nèi)存小、功耗低的特性無法支持較大的通信開銷和復雜的計算;另一方面,物聯(lián)網(wǎng)的節(jié)點數(shù)量越來越多,認證服務(wù)器無法同時處理大量的認證請求. 越來越多的物聯(lián)網(wǎng)應(yīng)用需要有效地對大量節(jié)點進行認證,這種應(yīng)用場景需要一種新型的身份認證方案,能夠同時一次驗證一組節(jié)點的合法性,以節(jié)省成本和提高效率. 因此,需要設(shè)計面向物聯(lián)網(wǎng)的輕量級群組認證方案.
群組認證[8]是單個或多個驗證者對一組成員的身份進行認證. 在物聯(lián)網(wǎng)場景下,群組認證可以實現(xiàn)一次對一組節(jié)點的認證,群組認證模型相較于傳統(tǒng)認證模型,更加適用于海量認證請求的物聯(lián)網(wǎng)場景,它可以有效地解決節(jié)點資源受限的問題. 因此研究物聯(lián)網(wǎng)場景下的群組認證方案對于解決目前物聯(lián)網(wǎng)中群體身份認證問題具有重要的研究意義和實踐價值.
在實現(xiàn)群組認證的方法中,Shamir秘密共享技術(shù)[9]是一種高效、低代價的方法.Harn[8]的方案將Shamir 秘密共享技術(shù)應(yīng)用于群組認證上,相比于傳統(tǒng)的認證方案,不需要每個節(jié)點之間進行一對一的認證,節(jié)約了計算和通信代價. 然而Ahmadian 等人[10]指出Harn 的方案是不安全的,攻擊者可以通過線性子空間攻擊來偽造一個有效的認證令牌,而不用恢復任何多項式,攻擊者可以在不被檢測到的情況下模擬一個組成員,從而通過身份認證. 隨后,Chien[11]提出了一種基于雙線性配對的群組認證方案,該方案的安全性基于橢圓曲線離散對數(shù)困難問題,每一輪群組認證都使用不同的本原元加密私鑰,避免了群組認證過程中受到重放攻擊.然而,Xia 等人[12]指出該方案無法抵抗偽造攻擊,由于拉格朗日系數(shù)公開可計算,攻擊者可以通過修改認證令牌中的拉格朗日系數(shù)來生成一個新的有效令牌.Aydin 等人[13]在Harn 和Chien 的群組認證方案基礎(chǔ)上,提出了一種輕量的群組認證方案;在群組認證時,組成員只進行簡單的累加運算,具有較低的計算開銷,但是該方案仍無法抵抗偽造攻擊,攻擊者可以修改認證令牌中的拉格朗日系數(shù)來重構(gòu)一個新的有效令牌從而通過群組認證,而無須破解橢圓曲線離散對數(shù)困難問題,同時,該方案無法抵抗重放攻擊,攻擊者可以重放合法組成員的認證令牌從而通過下一輪的群組認證. 隨后,Xia 等人[12]提出使用匿名否決網(wǎng)絡(luò)算法(Anonymous Veto Networks,AV-net)解決令牌被篡改的問題,然而他的方案沒有考慮群組管理者欺騙的問題,群組管理者可能分發(fā)錯誤的私鑰導致組成員無法通過群組認證,同時,該方案在群組認證階段使用雙線性配對,耗費了更多的計算代價.
綜合現(xiàn)有的群組認證方案,現(xiàn)有研究工作存在以下問題.
(1)現(xiàn)有大多數(shù)的群組認證方案計算代價高,無法適用于資源受限的物聯(lián)網(wǎng)場景. 物聯(lián)網(wǎng)傳感層的節(jié)點往往具有有限的內(nèi)存、嚴格的能量限制,而且處理能力非常有限. 因此,在身份認證過程中,應(yīng)該盡可能減少物聯(lián)網(wǎng)節(jié)點上的計算開銷.
(2)現(xiàn)有大多數(shù)的基于秘密共享技術(shù)的群組認證方案無法抵抗偽造攻擊,攻擊者可以通過修改認證令牌中的拉格朗日系數(shù)來偽造一個合法令牌,從而通過群組認證.
(3)現(xiàn)有大多數(shù)的群組認證方案無法抵抗重放攻擊. 在物聯(lián)網(wǎng)場景下,物聯(lián)網(wǎng)節(jié)點之間通信的延時可能導致群組認證未能一次通過,如果物聯(lián)網(wǎng)節(jié)點再次進行群組認證,攻擊者可以截取上一輪的認證令牌進行重放,從而通過群組認證.
(4)現(xiàn)有群組認證方案均沒有考慮群組管理者欺騙的問題,組成員全盤接受群組管理者分發(fā)的私鑰. 在物聯(lián)網(wǎng)場景下,群組管理者可能是網(wǎng)關(guān)或者其他具有高計算能力、高存儲能力的物聯(lián)網(wǎng)節(jié)點,然而,這些群組管理者可能給予部分合法組成員錯誤的私鑰,導致這些組成員始終無法通過群組認證.
在物聯(lián)網(wǎng)場景下,節(jié)點往往是動態(tài)變化的,新節(jié)點可以加入網(wǎng)絡(luò),舊節(jié)點可以離開網(wǎng)絡(luò). 例如:在無線體域網(wǎng)場景下,人體攜帶的醫(yī)學傳感器作為一組物聯(lián)網(wǎng)節(jié)點,根據(jù)病人的需求動態(tài)變化[14];在車聯(lián)網(wǎng)的場景下,同一區(qū)域的車作為一組物聯(lián)網(wǎng)節(jié)點,會駛?cè)牖蝰偝霎斍皡^(qū)域[15]. 然而,文獻[11~13]的群組認證方案尚未考慮節(jié)點加入和撤出的情況,當節(jié)點動態(tài)變化時,新節(jié)點可以使用分配的私鑰通過群組認證,撤出的節(jié)點無法利用原有的私鑰通過群組認證,所以群組管理者需要更新節(jié)點的私鑰以實現(xiàn)權(quán)限的分配或撤銷.
綜上所述,設(shè)計一種適用于物聯(lián)網(wǎng)場景的、輕量的、安全的、可驗證的、支持組成員動態(tài)變化的群組認證方案是亟待解決的問題.
為了解決現(xiàn)有群組認證方案存在的以上問題,本文提出了一種面向物聯(lián)網(wǎng)的輕量級可驗證群組認證方案. 本文的主要貢獻如下.
(1)本文創(chuàng)新性地在物聯(lián)網(wǎng)場景下將私鑰可驗證思想應(yīng)用于群組認證方案,對群組管理者分發(fā)的私鑰進行驗證,有效地防止了群組管理者的欺騙行為.
(2)本文提出了一種基于秘密共享技術(shù)的輕量級群組身份認證方案,克服了一對一身份認證存在的局限性,可以用于物聯(lián)網(wǎng)分散式的群組身份認證場景.
(3)本文支持組成員的動態(tài)加入和撤出,群組管理者動態(tài)地更新私鑰以實現(xiàn)組成員權(quán)限的分配或撤銷,而不需要為組內(nèi)所有組成員重新分配私鑰.
(4)本文方案滿足正確性、機密性,并且可以抵抗偽造、重放、冒充等惡意攻擊,具有較好的安全性.
(5)與現(xiàn)有典型的群組認證方案相比,本文方案具有較低的計算開銷,滿足資源受限節(jié)點的輕量級群組認證的需求. 更加適用于海量認證請求的物聯(lián)網(wǎng)場景.
本節(jié)主要介紹本文方案所使用的理論基礎(chǔ),并且給出了本文方案的安全性定義.
定義1(Shamir秘密共享方案[9])秘密共享方案包含n個組成員{U1,U2,…,Un}和秘密擁有者D.D將秘密分發(fā)給n個組成員,至少k(k≤n)個組成員可以恢復秘密,其中k是恢復秘密的門限. 方案的具體步驟如下.
(1)初始化階段.在有限域Zq(q為大素數(shù))上,D選擇一個(k-1)次的多項式s作為秘密存儲在第一個系數(shù)a0中.
(2)秘密分發(fā)階段.秘密的擁有者根據(jù)組成員Ui的公開身份信息xi計算si=f(xi)(modq)作為組成員Ui的秘密份額,并把si通過秘密信道分發(fā)給組成員Ui,其中1 ≤i≤n.
(3)秘密重構(gòu)階段.當組成員想要恢復秘密s,他們只需k個組成員的秘密份額便可以重構(gòu)出多項式f(x)=其中進一步可以得到秘密s=f(0)=a0.
在此方案中,素數(shù)q需要大于秘密s和組成員總數(shù)n并且公開,而隨機選擇的多項式系數(shù)a1,a2,…,ak-1是秘密信息,需要保密,在生成n個秘密份額后銷毀.
定義2(雙線性配對[16])雙線性配對滿足映射e(·):G1×G2→GT,其中G1和G2是階為q的加法循環(huán)群,GT是階為q的乘法循環(huán)群,雙線性配對滿足如下3 個性質(zhì).
(1)雙 線 性.對 于P1,P2∈G1,Q∈G2且a,b∈Zq,存在.
(2)非 退 化 性.對 于 任 意 點P∈G1,Q∈G2,有e(P,Q)≠1,反之亦然.
(3)可計算性.在多項式時間內(nèi),對于所有(P,Q)∈G1×G2,e(P,Q)的值是可有效計算的.
在文獻[12]的基礎(chǔ)上,本節(jié)給出可驗證群組認證方案安全性證明的相關(guān)定義.
定義3(敵手模型)本文假設(shè)敵手分為內(nèi)部敵手AI和外部敵手AO,敵手的具體定義如下.
(1)內(nèi)部敵手AI假設(shè)參與群組認證的人數(shù)為m,k≤m≤n,其中k是群組認證人數(shù)的門限值,n是組成員數(shù)量,內(nèi)部敵手AI最多控制k-1個組成員,AI可以獲得這些組成員的私鑰和秘密信息,它的目的是獲取未被控制組成員的私鑰并且偽造認證令牌通過群組認證.
(2)外部對手AO外部敵手AO不擁有任何組成員的有效私鑰,它的目的是在未被檢測到的情況下冒充組成員.
定義4(通信模型)本文假設(shè)群組管理者(Group Mananger,GM)和每個組成員之間存在一個安全的信道,以便私鑰可以安全地分發(fā)而不會泄露,并且假設(shè)組成員都可以連接到一個廣播頻道,通過這個頻道發(fā)送的任何消息都可以在某些特定的時間范圍內(nèi)被其他組成員聽到.
定義5(可驗證群組認證模型)一個可驗證群組認證模型包括5 種算法:初始化算法Init(λ)、私鑰分發(fā)算法Dist({xi}i∈[1,n])、私鑰驗 證算法Veri(si,params)、認證令牌生成算法Comp(params,φ,{xi}i∈[1,m],si)和群組認證算法Auth(params,{ci,riP}i∈[1,m]).
(1)Init(λ)初始化算法由GM 運行. 以安全參數(shù)λ作為輸入,系統(tǒng)參數(shù)params作為輸出.
(2)Dist({xi}i∈[1,n])私鑰分發(fā)算法由GM 運行. 以組成員公開身份信息集合{xi}i∈[1,n]作為輸入,輸出組成員私鑰集合{si}i∈[1,n],并通過安全信道發(fā)送給組成員.
(3)Veri(si,params)私鑰驗證算法由每個組成員運行. 將組成員私鑰si和系統(tǒng)參數(shù)params作為輸入,如果私鑰驗證成功,則輸出1,否則輸出0.
(4)Comp(params,φ,{xi}i∈[1,m],si)認證令牌生成算法由每個參與群組認證的組成員運行. 假設(shè)參與群組認證的組成員為{U1,U2,…,Um},將系統(tǒng)參數(shù)params、會話索引φ、參與群組認證組成員的公開身份信息集合{xi}i∈[1,m]和私鑰si作為輸入,輸出認證令牌{ci,riP}.
(5)Auth(params,{ci,riP}i∈[1,m])群組認證算法由每個參與群組認證的組成員運行. 將系統(tǒng)參數(shù)params 和一組認證令牌{ci,riP}i∈[1,m]作為輸入,如果群組認證成功,則輸出1,否則輸出0.
針對上述所定義的可驗證群組認證模型,要求其滿足以下正確性和安全性要求.
(1)正確性.如果參與群組認證的組成員為{U1,U2,…,Um},并且他們都是合法的組成員,則群組認證通過. 形式上,如果滿足
群組認證方案具有正確性. 在上述表達式中,Pr(X)表示事件X發(fā)生的概率.
(2)機密性.內(nèi)部敵手AI無法在群組認證過程中獲得未被控制的組成員的任何秘密信息. 形式上,如果滿足
群組認證方案具有機密性. 在上述表達式中,ViewAI(Realχ(λ,params))表示在實際運行方案χ中內(nèi)部敵手AI的視圖,而ViewAI(SIMS(λ,params))表示以公共信息為輸入的模擬機S模擬的方案中AI的視圖,ε(λ)表示關(guān)于參數(shù)λ的可忽略的函數(shù).
(3)不可偽造性. 內(nèi)部敵手AI無法偽造認證令牌通過群組認證. 形式上,如果滿足
群組認證方案具有不可偽造性. 在上述表達式中,UA表示由AI控制的組成員集合,滿足UA?U且|UA| ≤k-1.R表示用于請求群組認證服務(wù)的模擬機,Z表示已請求會話的索引集合,ε(λ)表示關(guān)于參數(shù)λ的可忽略的函數(shù).
(4)不可冒充性.外部敵手AO無法冒充一個組成員. 形式上,如果滿足
群組認證方案具有不可冒充性. 在上述表達式中,假定AO冒充組成員Uμ,μ?[1,m].
定義6(橢圓曲線離散對數(shù)困難問題[16])假設(shè)E是有限域Zq上的橢圓曲線,Q,P是E上的點,滿足Q=kP,k∈Zq,則橢圓曲線離散對數(shù)困難問題是指:給定Q,P,求解出k是困難的.
為了解決群組管理者由分發(fā)不合法私鑰給組成員而導致組成員群組認證失敗的問題以及滿足資源受限的物聯(lián)網(wǎng)節(jié)點的群組認證需求,本文提出一種面向物聯(lián)網(wǎng)的輕量級可驗證群組認證方案(Group Authentication Scheme with Verifiable Private Key,GASVPK).
群組認證系統(tǒng)模型如圖2 所示. 系統(tǒng)模型包含兩種類型成員:群組管理者(Group Mananger,GM)和組成員.GM 負責設(shè)置以及更新系統(tǒng)參數(shù),并通過秘密信道為組成員分發(fā)私鑰. 組成員通過無線信道通信,驗證其他組成員的身份. 在物聯(lián)網(wǎng)場景下,GM可以是服務(wù)器、網(wǎng)關(guān)等網(wǎng)絡(luò)設(shè)施,組成員可以是智能電表、智能家居、智能穿戴等物聯(lián)網(wǎng)設(shè)備.
圖2 群組認證系統(tǒng)模型
本文提出的GASVPK 方案假設(shè)GM 的身份是真實的,但是GM 可能欺騙某些組成員而分發(fā)錯誤的私鑰,因此需要組成員在GM分發(fā)私鑰后驗證私鑰的有效性.假設(shè)參與群組認證的人數(shù)為m,k≤m≤n,k是群組認證人數(shù)的門限,n是組成員的數(shù)量. 在群組認證階段,GASVPK 方案最多可以容忍k-1 個內(nèi)部組成員相互勾結(jié).
GASVPK 方案分為以下6 個階段:初始化階段、私鑰分發(fā)階段、私鑰驗證階段、認證令牌生成階段、群組認證階段和組成員動態(tài)變化階段. GASVPK 方案的流程如圖3所示.
圖3 GASVPK方案流程圖
(1)初始化階段
輸入安全參數(shù)λ,GM選擇兩個階為大素數(shù)q的加法循環(huán)群G1,G2和一個階為q的乘法循環(huán)群GT,P和R分別 是G1和G2的 生 成 元,選 擇 雙 線 性 配 對e(·):G1×G2→GT,選擇一個k-1 次的秘密多項式f(x)=a0+a1x+…+ak-1xk-1(modq),令秘密信息s=a0,計算Q=sP,vj=e(ajP,R),j=0,1,…,k-1,選 擇 哈 希 函 數(shù)h(·):{0,1}*→Zq,選 擇GM 的 公 私 鑰 對{pkGM,skGM},公 開參數(shù)
params=(G1,G2,GT,Q,R,P,{vj}j∈[0,k-1],h(·),e(·),pkGM)
(2)私鑰分發(fā)階段
假設(shè)組U有n個組成員{U1,U2,…,Un},群組管理者GM 根據(jù)組成員的公開身份信息xi計算si=f(xi)作為組成員的私鑰,并通過秘密信道將私鑰分發(fā)給組成員Ui,其中i=1,2,…,n.
(3)私鑰驗證階段
組成員Ui在收到GM 分配的私鑰si后,驗證等式是否成立以驗證私鑰si是否有效. 如果等式成立,則接受私鑰si;如果等式不成立,則重新向GM請求私鑰si.
(4)認證令牌生成階段
①GM 向組內(nèi)發(fā)送消息sigskGM(requestU,φ,t),其中requestU是GM向組U發(fā)起的群組認證請求,φ是當前會話序號,t是接收時間的閾值,sigskGM(·)為GM 對消息的簽名. 隨后,GM更新會話序號φ.
②組成員使用pkGM驗證GM 的簽名,驗證成功則進行第φ次會話. 假設(shè)參與群組認證的組成員為{U1,U2,…,Um},每 個 參 與 群 組 認 證 的 組 成 員Ui(i=1,2,…,m)在組內(nèi)廣播zi=xi‖φ作為應(yīng)答消息.
③在t時間內(nèi)接收到應(yīng)答消息后,每個參與群組認證的組成員Ui計算當前會話標識T=h(x1‖…‖xm‖φ),選擇隨機數(shù)ri∈Zq,計算拉格朗日系數(shù)計算認證令牌ci=si μiT+ri和riP,公開認證令牌{ci,riP}.
(5)群組認證階段
當組成員Ui(i=1,2,…,m)在t時間內(nèi)收到其他組成員公開的認證令牌,每個組成員驗證等式是否成立以驗證其他組成員的身份. 如果等式成立,則群組認證通過;如果等式不成立,則群組認證失敗,重新進行下一輪群組認證.
(6)組成員動態(tài)變化階段
組成員動態(tài)變化階段,組成員可以動態(tài)地加入和撤出群組,GM 需要更新組成員的私鑰以分配或撤銷組成員的權(quán)限. 在下一輪群組認證時,新加入的組成員可以使用分配的私鑰通過群組認證,撤出的組成員無法利用原有的私鑰通過群組認證.
①組成員加入
(a)假設(shè)Un+1想要加入組U={U1,U2,…,Un},GM根據(jù)Un+1的公開身份信息xn+1計算sn+1=f(xn+1)作為組成員私鑰,并通過秘密信道將私鑰分發(fā)給Un+1.
(b)Un+1在收到GM 分配的私鑰sn+1后,驗證等式是否成立以驗證私鑰sn+1是否有效. 如果等式成立,則接受私鑰sn+1;如果等式不成立,則重新向GM請求私鑰sn+1.
②組成員撤出
(a)假設(shè)Un想要撤出組U={U1,U2,…,Un},GM 選擇隨機數(shù)h∈Zq,更新秘密多項式f(x)和v1為
(b)群組管理者GM 通過秘密信道將h發(fā)送給組成員Ui,i=1,2,…,n-1,Ui驗證等式v1e(hP,R)=v1'是否成立. 如果等式成立,則接受h;如果等式不成立,則重新向GM 請求h. 然后組成員Ui,i=1,2,…,n-1,更新私鑰si'=si+hxi.
組成員動態(tài)地加入和撤出后,可以進行群組認證,具體步驟與階段(4)和階段(5)相似,此處就不再贅述.
本節(jié)將對GASVPK 方案的正確性、機密性、不可偽造性、不可冒充性做出形式化安全性證明,并且分析了方案可以抵抗重放攻擊和抵抗群組管理者欺騙.GASVPK 方案的安全性基于橢圓曲線離散對數(shù)困難問題[16].
定理1GASVPK方案滿足正確性.
證明如果n個組成員中參與群組認證的組成員為{U1,U2,…,Um},k≤m≤n,k是群組認證人數(shù)的門限.根據(jù)拉格朗日插值定理,秘密值,其中是拉格朗日系數(shù),組成員的令牌ci=si μiT+ri,可以得到
假設(shè)Un+1加入組U={U1,U2,…,Un},如果參與群組認證的組成員為{U1,U2,…,Um,Un+1},k-1 ≤m≤n.根據(jù)拉格朗日插值定理,秘密值sn+1μn+1,其中是拉格朗日系數(shù),組成員的令牌ci=si μiT+ri,同理可以驗證公式TQ成立.
假設(shè)Un撤出組U={U1,U2,…,Un},如果參與群組認證的組成員為{U1,U2,…,Um},k≤m≤n-1. 組成 員Ui(i=1,2,…,m)的私鑰si'=f'(xi)=f(xi)+hxi,根據(jù)拉格朗日插值定理,秘密值,其 中μi=是拉格朗日系數(shù),組成員的令牌ci'=si'μiT+ri,同理可以驗證公式成立.
證畢.
定理2GASVPK方案滿足機密性.
證明設(shè)Realχ(λ,params)為實際運行的方案χ,SIMS(λ,params)為一個把公開信息作為輸入的模擬機S模擬的方案,定理2 的證明由引理1 推出,兩種運行方案如下.
(1)Realχ(λ,params)
①初始化階段
GM生成并輸出公開參數(shù):
②私鑰分發(fā)階段
GM 計算私鑰si=f(xi)并且通過秘密信道發(fā)送給組成員. 假定內(nèi)部敵手AI至多知道k-1 個組成員的私鑰{s1,s2,…,sk-1}.
③私鑰驗證階段
④認證令牌生成階段
假設(shè)n個組成員中參與群組認證的組成員為{U1,U2,…,Um},k≤m≤n. 在第φ次會話中,每個參與群組認證的組成員Ui選擇隨機數(shù)ri∈Zq,計算會話標識T=h(x1‖…‖xm‖φ)和拉格朗日系,計算并公開認證令牌ci=si μiT+ri和riP. 在這個階段,內(nèi)部敵手AI知道k-1 個組成員的私鑰{s1,s2,…,sk-1}、隨機數(shù)和所有公開的信息.
⑤群組認證階段
(2)SIMS(λ,params)
①初始化階段模擬機S輸出公開參數(shù):
②私鑰分發(fā)階段
S發(fā)送k-1 個組成員的私鑰{s1,s2,…,sk-1}給內(nèi)部敵手AI.
③私鑰驗證階段
④認證令牌生成階段
假設(shè)n個組成員中參與群組認證的組成員為{U1,U2,…,Um},k≤m≤n. 在 第φ次 會 話 中,S發(fā) 送{r1,r2,…,rk-1}給AI,然后S從Zq上隨機選擇選擇m-k個值{ck',ck+1',…,cm-1'},計算cm'滿足公式公 開 認 證 令 牌{c1,…,ck-1,ck',…,cm'} 和
⑤群組認證階段
證畢.
引理1如果存在內(nèi)部敵手AI,他能夠至多進行Q次嘗試,并且能以不可忽略的概率ε區(qū)分出兩種運行方案,則存在一種算法能夠以的優(yōu)勢解決橢圓曲線上離散對數(shù)困難問題.
證明如果存在內(nèi)部敵手AI,他能夠區(qū)分出兩種運行方案,則他能夠區(qū)分出{ck,…,cm}和{ck',…,cm'},由于ci=si μiT+ri,則他能夠區(qū)分出兩種運行方案的概率等同于AI可以獲得si和ri的值的概率,其中i=k,…,m.下面來計算AI可以獲得si和ri的概率.
根據(jù)拉格朗日插值定理,只有私鑰的個數(shù)不小于門限值k才可以重構(gòu)多項式,進而獲得其他組成員的私鑰.AI至多知道k-1個私鑰{s1,s2,…,sk-1},則他至少需要猜出多項式上一個點值,由于點值在Zq上是隨機分布的,所以AI猜出一個點值的概率約為1/q,所以,AI獲得si的值的概率至多為1/q. 假設(shè)AI能以ε'的概率解決橢圓曲線上離散對數(shù)困難問題,給定(P,riP)為群G1上離散對數(shù)困難問題的一個實例,AI能以ε'的概率求出ri的值,則AI獲得ri的值的概率為ε'.
綜上所述,AI可以獲得si和ri的概率ε≤ε'Q/q,其中Q是AI嘗試的次數(shù). 所以,AI可以區(qū)分出兩種運行方案的概率ε≤ε'Q/q. 可以推出,AI解決橢圓曲線上離散對數(shù)困難問題的概率ε'≥εQ/q,其中ε為一個不可忽略的概率.
AI能以一個不可忽略的概率解決橢圓曲線上離散對數(shù)困難問題,這與定義6中的橢圓曲線上的離散對數(shù)困難性假設(shè)矛盾,所以AI無法區(qū)分出Realχ(λ,params)和SIMS(λ,params),可以得到
其中,ε(λ)表示關(guān)于參數(shù)λ的可忽略的函數(shù). 因此,由定義5的安全性要求可知,GASVPK方案滿足機密性.
定理3GASVPK方案滿足不可偽造性.
證明假定X事件是指AI能夠從公開參數(shù)中預(yù)測出s,Y事件是指AI能夠通過詢問模擬機得知一些秘密信息,F(xiàn)事件是指成功偽造出未被控制組成員的認證令牌,可以得到
首先,基于離散對數(shù)困難問題假設(shè),可以得到Pr[X]<ε1(λ),其中,ε1(λ)表示關(guān)于參數(shù)λ的可忽略的函數(shù). 其次,定理2 證明了協(xié)議滿足機密性,不會泄露任何秘密信息給AI,且即使AI查詢模擬機多項式次數(shù),他也不會知道任何秘密信息. 因此,可以得到,Pr[Y]<ε2(λ),ε2(λ)表示關(guān)于參數(shù)λ的可忽略的函數(shù). 最后,分析在這種情況,為了偽造出未被控制組成員的認證令牌,AI需要猜出s,因為s在Zq上是隨機分布的,所以AI猜出s的可能性為1/q,且AI可以嘗試多項式次數(shù),可以得到,其中Q是AI嘗試的次數(shù). 綜合以上分析,可以得到
其中,ε(λ)表示關(guān)于參數(shù)λ的可忽略的函數(shù). 因此,由定義5 的安全性要求可知,GASVPK 方案滿足不可偽造性.
定理4GASVPK方案滿足不可冒充性.
證明假定X事件是指AO能夠從公開參數(shù)中預(yù)測出s和ri,i=1,…,m,F(xiàn)事 件 是 指AO成 功 冒 充 組 成 員Uμ,μ?[1,m]且不被發(fā)現(xiàn),可以得到
首先,基于離散對數(shù)困難問題假設(shè),可以得到Pr[X]<ε1(λ),其中,ε1(λ)表示關(guān)于參數(shù)λ的可忽略的函數(shù). 然后,分析Pr[F|Xˉ]的概率. 在這種情況下,AO需要輸 出 一 個 令 牌cμ滿 足{ci}i∈[1,m]是AO已知的其他參與者的認證令牌集合,因為s,ri在Zq上是隨機分布的,所以AO猜出的可能性為1/q,且AO可以嘗試多項式次數(shù),可以得到其中Q是AO嘗試的次數(shù). 綜合以上分析,可以得到Pr[F]<ε1(λ)+Q/q<ε(λ),其中,ε(λ)表示關(guān)于參數(shù)λ的可忽略的函數(shù). 因此,由定義5 的安全性要求可知,GASVPK方案滿足不可冒充性.
(1)抗重放攻擊
在GASVPK 方案中,GM 向組U發(fā)起群組認證請求,其中包含會話序號φ,由于GM 每一輪都會更新φ,所以每一輪的φ是不同的,每一輪產(chǎn)生的會話標識T=h(x1‖…‖xm‖φ)也是不同的. 即使兩輪參與群組認證的組成員相同,敵手重放上一輪的消息也無法通過下一輪的群組認證. 假設(shè)上一輪的會話序號為φ1,參與群組 認 證 的 組 成 員 為{U1,U2,…,Um},會 話 標 識T1=h(x1‖…‖xm‖φ1),組成員Ui的會話令牌為ci=si μiT1+ri和riP,假設(shè)下一輪的會話序號為φ2,φ2≠φ1,參與群組認證的組 成員同樣為{U1,U2,…,Um},會話標識T2=h(x1‖…‖xm‖φ2),組成員Ui的會話令牌為ci'=si μiT2+ri'和ri'P. 由于T1≠T2,敵手無法通過重放組成員Ui上一輪的會話令牌通過下一輪的群組認證. 因此,GASVPK方案可以抵抗重放攻擊,提高了群組認證的安全性.
(2)抗群組管理者欺騙
在GASVPK 方案中,組成員驗證了私鑰的有效性,防止了群組管理者欺騙. 組成員Ui(i=1,…,m)利用公開參數(shù)vj=e(ajP,R)(j=0,1,…,k-1)驗證等式e(siP,R)=當組成員動態(tài)變化時,假設(shè)Un+1加入組U={U1,U2,…,Un},Un+1驗 證 等 式;假設(shè)Un撤出組U={U1,U2,…,Un},組成員Ui,i=1,…,n-1 驗證等式v1e(hP,R)=v1'. 如果等式不成立,代表私鑰無效,群組管理者可能存在欺騙行為,組成員重新向群組管理者請求私鑰. 因此,GASVPK 方案較好地防止了群組管理者的欺騙行為.
本節(jié)將從安全性和計算開銷兩個方面對GASVPK方案進行性能分析,并與文獻[11~13,17,18]的群組認證方案進行對比分析. 同時,通過仿真實驗實現(xiàn)GASVPK 方案、文獻[11~13,17,18]方案,并根據(jù)實驗結(jié)果進行計算開銷的對比分析.
對于群組認證方案,計算開銷是性能測量的重要指標之一. 表1 給出了各種密碼運算的名稱、對應(yīng)的英文以及運算時間的符號表示.TEM為一次橢圓曲線點乘運算的時間,TEA為一次橢圓曲線點加運算的時間,Tmul,q為Zq上一次乘法運算的時間,Tinv,q為Zq上一次逆運算的時間,Tpair為一次雙線性配對運算的時間,Thtp為一次哈希映射到點運算的時間. 在性能評估中忽略哈希函數(shù)、加減法等運算的時間,因為這些運算與點乘等運算相比,時間可以忽略不計,根據(jù)文獻[11]中的計算代價,TEM?1189Tmul,q,TEA?4.92Tmul,q,Tpair?5356Tmul,q,Tinv,q?240Tmul,q.
表1 密碼運算時間的符號表示
設(shè)參與群組認證的組成員個數(shù)為m,GASVPK 方案與文獻[11~13,17,18]方案中組成員的計算開銷如下.
在方案[11]中,Chien 計算了每個組成員在一次群組認證中的計算開銷,但經(jīng)過分析并與作者溝通確認,其算法中每個組成員需要(7m+12134)Tmul,q生成認證令牌和驗證組成員身份,另外在群組認證開始,組成員之間需要協(xié)商一個點R,作者沒有給出具體的算法,設(shè)時間為Ta,所以每個組成員單次群組認證實際耗費(7m+12134)Tmul,q+Ta.
在方案[12]中,每個組成員需要(2m-2)Tmul,q+Tinv,q+3TEM+(m-1)TEA生成認證令牌、(m-1)TEA+2Tpair驗證組成員身份,所以每個組成員耗費(2m-2)(Tmul,q+TEA)+Tinv,q+3TEM+2Tpair. 進一步評估方案[12]的計算開銷,每個組成員單次群組認證耗費(12m+14507)Tmul,q.
在方案[13]中,每個組成員需要(2m-3)Tmul,q+Tinv,q+2TEM生成認證令牌、(m-1)TEA驗證組成員身份,所以每個組成員耗費(2m-3)Tmul,q+Tinv,q+2TEM+(m-1)TEA. 進一步評估方案[13]的計算開銷,每個組成員單次群組認證耗費(7m+2610)Tmul,q.
在方案[17]中,每個組成員需要2TEM+TEA+Thtp生成認證令牌、3(m-1)TEA+3Tpair+Tmul,q+(m-1)Thtp驗證組成員身份,所以每個組成員耗費(3m-2)TEA+2TEM+3Tpair+Tmul,q+mThtp. 進一步評估方案[17]的計算開銷,每個組成員單次群組認證耗費(15m+18437)Tmul,q+mThtp.
在方案[18]中,每個組成員需要TEM+Tmul,q生成認證令牌、3TEM+2TEA驗證組成員身份,由于該方案中組成員之間是一對一的認證,每個組成員與剩余m-1 個組成員相互認證,所以每個組成員耗費(m-1)(4TEM+2TEA+Tmul,q). 進一步評估方案[18]的計算開銷,每個組成員單次群組認證耗費(4767(m-1))Tmul,q.
在GASVPK 方案中,每個組成員需要(2m-1)Tmul,q+Tinv,q+TEM生成認證令牌ci=si μiT+ri和riP、2TEM+mTEA驗證組成員身份,所以每個組成員耗費(2m-1)Tmul,q+Tinv,q+3TEM+mTEA. 進一步評估GASVPK方案的計算開銷,每個組成員單次群組認證耗費(7m+3806)Tmul,q.
GASVPK 方案與文獻[11~13,17,18]方案的組成員計算開銷和安全性對比如表2 所示. 從表2 可以看出,與其他方案相比,GASVPK 方案支持私鑰的驗證和組成員的動態(tài)加入和撤出,抵抗偽造攻擊和重放攻擊,并且在群組認證階段具有較低的計算開銷.
表2 6種方案的組成員計算開銷和安全性對比
本節(jié)通過仿真實驗比較文獻[11~13,17,18]方案和GASVPK 方案的計算開銷. 在個人電腦(Win10 操作系統(tǒng)、主頻1.80GHz 的i5-8250 的處理器、內(nèi)存為8GB)利用MIRACL 庫實現(xiàn)了各個方案. 本文利用了橢圓曲線加密技術(shù),而文獻[11,12,17]方案另外采用了雙線性配對技術(shù). 為了達到相同的測試環(huán)境,幾種方案都基于同一種支持雙線性配對的橢圓曲線,具體設(shè)置如下:由生成元P生成階為q的加法群,其中P為度為2 的超奇異橢圓曲線E:y2=x3-3x(modp)上的點,p為1536 比特的素數(shù),q為256比特的素數(shù).
圖4 描述了GASVPK 方案在不同群組認證人數(shù)和不同階段情況下所有組成員耗費的總時間. 圖5 描述了GASVPK 方案兩輪群組認證所有組成員耗費的總時間. 圖6 描述了GASVPK 方案在組成員動態(tài)變化階段,不同變化人數(shù)情況下GM 更新組成員權(quán)限耗費的時間. 如果在群組認證階段節(jié)點發(fā)生重放、篡改等攻擊導致一輪群組認證未通過,無須重新運行整個方案,組成員重新生成認證令牌并進行二輪群組認證.
圖4 GASVPK方案所有組成員耗費的總時間
圖5 GASVPK方案兩輪群組認證所有組成員耗費的總時間
圖6 GASVPK方案GM更新組成員權(quán)限耗費的時間
GASVPK 方案與文獻[11~13,17,18]方案單次群組認證每個組成員耗費時間的對比如圖7 所示. 橫坐標代表群組認證的人數(shù),縱坐標表示每個組成員耗費的時間. 由于方案[11]沒有給出協(xié)商共同秘密值的具體算法,因此默認轉(zhuǎn)換當前時間為共同秘密值,實際運行時間會比圖7 中運行時間更多. 文獻[13]方案與GASVPK計算時間相近,然而文獻[13]方案無法抵抗偽造和重放攻擊,不具備安全性.
圖7 六種方案單次群組認證每個組成員耗費時間的對比
綜上所述,性能分析和仿真分析表明,GASVPK 方案比文獻[11~13,17,18]方案具有更高的安全性和更低的計算開銷.
面向物聯(lián)網(wǎng)的輕量級群組認證是解決物聯(lián)網(wǎng)各種應(yīng)用場景下多個設(shè)備間并行認證的有效方法. 然而,現(xiàn)有群組認證方案存在眾多安全隱患,沒有考慮群組管理者欺騙的情況,不支持組成員的動態(tài)變化,并且計算代價相對較高,無法適用于物聯(lián)網(wǎng)節(jié)點資源受限的情況. 本文提出了一種面向物聯(lián)網(wǎng)的輕量級群組認證方案GASVPK. 本方案創(chuàng)新性地在物聯(lián)網(wǎng)場景下對群組管理者分發(fā)的私鑰進行驗證,防止群組管理者的欺騙行為,并且支持組成員的動態(tài)加入和撤出. 方案滿足正確性、機密性,并且可以抵抗偽造、重放、冒充等惡意攻擊. 與現(xiàn)有面向物聯(lián)網(wǎng)的群組認證方案相比,本文方案具有更高的安全性和較低的計算開銷,更加適用于海量認證請求的物聯(lián)網(wǎng)場景,可以有效地滿足物聯(lián)網(wǎng)場景下資源受限節(jié)點的輕量級群組認證的需求.