劉 威 馬文平 劉小雪
(西安電子科技大學(xué)綜合業(yè)務(wù)網(wǎng)國家重點實驗室 陜西 西安 710071)
隨著智能家居設(shè)備的增多,智能家居系統(tǒng)的安全問題也逐漸浮出水面,智能門鎖被遠程控制,智能攝像頭被攻擊者入侵后,家庭隱私視頻被公開直播等問題不斷被曝光。目前,大部分的智能家居系統(tǒng)使用嵌入式系統(tǒng)進行控制??尚湃卧O(shè)備身份認證技術(shù)結(jié)合數(shù)字簽名技術(shù)可以讓智能家居設(shè)備的授權(quán)和認證自動化進行,數(shù)據(jù)傳輸雙重加密,被授權(quán)終端也公開透明,可以做到從根源上防止被黑客控制和攻擊[1]。
在這里,簡要介紹一個典型的智能家居場景下的通信架構(gòu),如圖1所示。在系統(tǒng)中,用戶通過無線智能終端設(shè)備連接到互聯(lián)網(wǎng),實現(xiàn)與家庭網(wǎng)關(guān)的遠程通信。當家庭網(wǎng)關(guān)接收到訪問或控制指令等相關(guān)信息時,家庭網(wǎng)關(guān)將使用相關(guān)家庭設(shè)備執(zhí)行相應(yīng)的任務(wù)[2]。因此家庭網(wǎng)關(guān)不僅提供與設(shè)備節(jié)點的網(wǎng)絡(luò)連接,同時還可以將各種智能家居設(shè)備形成的無線傳感器網(wǎng)絡(luò)相互連接[2]。
圖1 智能家居基本通信架構(gòu)
如上所述,可以針對智能家居設(shè)備和無線通信信道進行開發(fā),在資源受限的設(shè)備中,保證設(shè)備和通信安全將更加具有挑戰(zhàn)性。其中的安全風(fēng)險包括從這些設(shè)備中收集和過濾敏感信息。這也再次凸顯出遠程用戶身份認證系統(tǒng)的重要性,該系統(tǒng)對于在資源受限條件下設(shè)備上的部署也是輕量級的。針對無線傳感器網(wǎng)絡(luò)中的節(jié)點認證問題[3],有許多遠程身份驗證方法,最簡單和最直接的方法是基于密碼的身份驗證,這種方法的成本較低,但是,如果沒有一個秘密、安全的信道就不能防止被竊聽。一次性密碼驗證(OTP)是最流行的身份驗證之一,似乎可以抵御常見攻擊。通過智能卡的遠程用戶身份驗證方案憑借其高效、計算成本低等優(yōu)點,在涉及遠程用戶登錄、Web訪問等在線服務(wù)的場景中得到廣泛的應(yīng)用[4]。然而,攻擊者可以竊取合法用戶的智能卡來非法訪問該系統(tǒng)。為了解決這些問題,Vaidya等[5]利用HOTP和智能卡實現(xiàn)了一種基于密碼的認證方案,用于智能家居設(shè)備的安全訪問。然而,這卻需要較高的計算成本。最近,出現(xiàn)許多為其他應(yīng)用場景提出的認證協(xié)議,但這些認證服務(wù)幾乎都存在以下局限性:
(1) 終端智能設(shè)備的密鑰安全風(fēng)險較大,密鑰在使用過程中容易被攻擊者竊取盜用;
(2) 對智能家居所構(gòu)成的群成員匿名性無法保證,而且不能實現(xiàn)對群成員的高效管理和身份追蹤。
為了解決這些問題,提出了一套基于SM2國產(chǎn)密碼算法的門限群簽名方案,密鑰由系統(tǒng)和用戶自己共同生成,可以大大提高密鑰的安全性,攻擊者即使獲得部分密鑰仍然無法完成簽名過程,所以不能通過系統(tǒng)的驗證[6]。而且門限群簽名可以保證用戶的匿名性、簽名者的可追蹤性,以及可以快速撤銷群成員等安全特性。這將使智能家居的身份認證過程更加安全高效[7]。
基于SM2的門限群簽名系統(tǒng)的參與者由智能家居終端設(shè)備用戶Ui、家庭網(wǎng)關(guān)HGi、用戶信息列表、簽名信息列表、驗證者構(gòu)成。
如圖2所示,門限群簽名系統(tǒng)包括系統(tǒng)初始化、成員注冊、分布式簽名生成、門限群簽名生成、簽名驗證、簽名打開和用戶撤銷七個部分。簽名系統(tǒng)的具體流程如下[8]:
(1) 在簽名系統(tǒng)的初始化過程中,HGi首先選擇系統(tǒng)安全參數(shù),并生成群密鑰和HGi自己的公私鑰對;
(2) 在用戶Ui的注冊過程中,包括用戶身份信息和密鑰信息的交互驗證。并對用戶的真實身份進行盲化處理,實現(xiàn)了用戶身份的匿名性;
(3) 用戶使用步驟(2)中生成的用戶密鑰di和匿名身份IDi2,生成用戶自己的分布式群簽名;
(4) 在HGi驗證過分布式簽名的合法性之后,生成門限群簽名;
(5) 驗證者可以利用群公鑰對門限群簽名的的合法性進行驗證;
(6)HGi可以在發(fā)生爭議時打開簽名,追蹤到簽名者的真實身份;
(7) 當想要對群中的成員進行撤銷操作時,HGi可以通過更新用戶密鑰來撤銷用戶Ui。
有限域GF(p)上一個非超奇異橢圓曲線E(其中p為大素數(shù),且p>3)。定義曲線的魏爾斯特拉斯方程為:
y2=x3+ax+b
(1)
式中:(x,y)∈E;a,b∈GF(p),并且4a3+27b2≠0。滿足魏爾斯特拉斯方程的點集(x,y)和無窮遠處的點構(gòu)成的Abel群[9]。
在Shamir(t,n)門限秘密分享方案中,可信中心將秘密d差分成n份,分發(fā)給n個參與者U1,U2,…,Un。任意t+1或t+1個以上的參與者一起可恢復(fù)秘密d,任意t個參與者一起不能得到秘密d的任何信息,詳細方案如下:
(2) 可信中心計算di=f(i),并秘密把di發(fā)送給參與者Ui,1≤i≤n;
(3)Ui將di作為份額保存。
智能家居系統(tǒng)初始化工作由家庭網(wǎng)關(guān)完成,該步驟需要執(zhí)行兩個過程:構(gòu)建系統(tǒng)模型,設(shè)置(t,n)門限群簽名系統(tǒng)參數(shù);為家庭網(wǎng)關(guān)生成密鑰,并為系統(tǒng)選擇所需的安全函數(shù)。該步驟的具體實現(xiàn)過程如下[13]:
(1) 選擇系統(tǒng)參數(shù)并生成橢圓曲線:設(shè)定第i個群Gi的大小為n,門限值為t,其中t (3) 家庭網(wǎng)關(guān)生成群密鑰和安全參數(shù):家庭網(wǎng)關(guān)隨機生成一個t-1次多項式: f(x)=at-1xt-1+at-2xt-2+…+a2x2+a1x2+a0 (2) 式中:整數(shù)ai∈[1,p-1](i=0,1,2,…,t-1)。這樣可以得到群私鑰為skG=f(0)=a0,群公鑰為pkG=f(0)G=a0G。最后,選擇一個單向哈希函數(shù)h()。 當非本群成員想要加入該群成為群成員時,需要與家庭網(wǎng)關(guān)執(zhí)行一個交互注冊協(xié)議過程。具體過程如下: U=uG=(xu,yu) (3) IDi1=(xu+skHGi)h(IDi)+umodp (4) V=vG=(xv,yv) (5) (6) 門限群簽名過程參與的群成員集合P={U1,U2,…,Ui}(t ZA=H256(ENTLA‖IDi2‖a‖b‖xG‖yG‖xA‖yG); (3) 用隨機數(shù)發(fā)生器產(chǎn)生隨機數(shù)k∈[1,n-1],計算橢圓曲線點K=kG=(x1,y1); (4) 假設(shè)Ui已經(jīng)分享了K,并在群內(nèi)廣播,之后計算r=(e+x1)modp,若r=0或r+k=n則返回步驟(3); (6) 成員Ui生成消息M的分布式群簽名為(r,si),之后將(r,si)和IDi2發(fā)送給HGi。 該過程由家庭網(wǎng)關(guān)HGi完成,由分布式群簽名的驗證和門限群簽名生成兩個步驟構(gòu)成。之后,HGi將Ui的簽名信息添加到本地用戶信息列表中,以便之后對成員身份進行追蹤。 簽名驗證者接收到M和(r,s)后,作為驗證者的用戶需要實現(xiàn)以下運算步驟: (1) 先檢查r,s∈[1,p-1]且r+s≠p; 當發(fā)現(xiàn)群內(nèi)存在非法成員或有成員想要離開時,家庭網(wǎng)關(guān)需要執(zhí)行以下步驟實現(xiàn)Ui的撤銷: (1) 重新選擇一個t-1次多項式: 驗證門限簽名的正確性需要對簽名算法生成的數(shù)字簽名對應(yīng)的簽名算法進行檢驗。本文設(shè)計的改進SM2門限群簽名算法主要涉及的過程有分布式密鑰生成、分布式簽名和門限簽名過程組成,對提出的簽名算法的具體驗證為以下三個證明過程[14]: skuiyi=fi(IDj)G=ai0G+ai1IDjG+ai2IDj2G+…+aitIDjtG 利用用戶Ui在群內(nèi)公開的aiG的值,HGi可以通過驗證上面的公式是否成立來確保每個參與簽名用戶所生成的分布式密鑰是正確有效的。因此,最終可以確認用戶Ui通過插值計算獲得了正確的分布式密鑰。 定理2在分布式簽名產(chǎn)生的過程中,簽名者Uj可以驗證群內(nèi)任何一名合法的簽名者Ui在群中公布的分布式簽名si的正確性。因此,確保用戶Ui獲取的分布式簽名是正確的。 定理3門限群簽名的驗證者可通過驗證R=(e+x1)modp=r是否成立來確定門限群簽名是否正確。 本方案通過門限簽名技術(shù)提升智能設(shè)備密鑰的安全性,結(jié)合群簽名技術(shù)實現(xiàn)用戶的匿名性和的可跟蹤性安全特性。下面將從敵手的欺騙攻擊和抗不安全集合合謀攻擊,以及門限簽名的匿名性和可跟蹤性四個方面對該簽名方案的安全性進行證明。 定理4本文提出的SM2門限群簽名方案可以抵御欺騙攻擊。 定理5本文提出的SM2門限群簽名方案可以抵御合謀攻擊。 定理6本文提出的SM2門限群簽名方案除了管理者HGi,任何成員無法確定簽名者的真實身份。 證明在本方案中,Ui申請加入群時,向家庭網(wǎng)關(guān)HGi發(fā)送自己的身份標識IDi,之后計算IDi的匿名身份IDi1=(xu+skHGi)h(IDi)+umodp。由上述公式可以看出,計算用戶Ui的匿名身份,需要HGi的私鑰skHGi和他選擇的隨機數(shù)u,他們只有HGi自己知道。任何其他攻擊者無法獲取skHGi和u的值,進而保證用戶身份的匿名性。 定理7在發(fā)生爭議時,家庭網(wǎng)關(guān)HGi可以打開群簽名,并追蹤到簽名者的真實身份。 基于本文提出的門限群簽名,在(t,n)門限的條件下,我們對基于SM2的門限群簽名方案和普通群簽名方案進行性能仿真測試,測試結(jié)果如圖3所示。系統(tǒng)硬件由一個智能終端移動設(shè)備、通信服務(wù)器、密鑰服務(wù)器構(gòu)成[15],它們的硬件配置參數(shù)如表1所示,同時運行SM2門限群簽名方案和普通簽名方案。圖3(a)、圖3(b)和圖3(c)中縱坐標為執(zhí)行方案所用平均耗時,橫坐標中A、B、C分別表示在普通簽名方案中的密鑰生成、簽名生成和簽名驗證這三個階段。A1、B1、C1表示本文所提方案對應(yīng)的幾個簽名過程。圖3(d)為3個硬件智能終端分別執(zhí)行兩種簽名算法的總平均耗時[16]。 表1 系統(tǒng)硬件配置參數(shù) 圖3 仿真測試結(jié)果圖 從圖3(a)、圖3(b)和圖3(c)中可以看出,終端設(shè)備執(zhí)行兩種簽名方案耗時和圖3(d)中的平均耗時相近。說明本文提出的智能家居場景下的門限群簽名方案在正常的網(wǎng)絡(luò)環(huán)境下具有良好的性能。由圖3(d)可以看出,在(2,3)門限條件下,普通簽名方案在密鑰生成階段的平均耗時大約為35.492 ms,簽名生成階段平均耗時為31.168 ms,簽名驗證階段約為3.495 ms;基于SM2的門限群簽名方案在密鑰生成階段平均耗時為37.117 ms,簽名生成階段平均耗時為32.768 ms,簽名與驗證階段平均耗時為4.184 ms。因此可以推測,本文所提出的簽名方案在滿足實現(xiàn)安全特性的前提下,增加了一定的運行時間,但所增加的時間在實際應(yīng)用場景可接受。因此,該簽名方案具有良好的實用性和應(yīng)用價值。 本文提出了一種在智能家居場景下基于SM2的門限群簽名方案。在該方案在簽名過程中對用戶的真實身份進行盲化保證隱私性,通過門限簽名技術(shù)可以提升智能設(shè)備在密鑰使用過程中的安全性。而且可以通過簽名來追蹤成員的真實身份信息,并通過更新密鑰來實現(xiàn)高效快速的群成員撤銷。最后,通過對現(xiàn)有普通簽名方案和本文提出的門限群簽名方案進行對比仿真實驗,結(jié)果表明在滿足安全特性的前提下,該簽名方案具有良好的性能。由于本文通過本地數(shù)據(jù)庫進行簽名信息的存儲,而且基于中心化的認證模型。在未來的工作中可以將本文的方案與區(qū)塊鏈技術(shù)相結(jié)合[17],使整個簽名驗證過程更加安全。2.2 成員注冊
2.3 分布式群簽名生成
2.4 門限群簽名生成
2.5 簽名驗證
2.6 打開簽名
2.7 成員撤銷
3 方案分析
3.1 正確性分析
3.2 安全性證明
4 性能分析
5 結(jié) 語