劉 威 馬文平 劉小雪
(西安電子科技大學綜合業務網國家重點實驗室 陜西 西安 710071)
隨著智能家居設備的增多,智能家居系統的安全問題也逐漸浮出水面,智能門鎖被遠程控制,智能攝像頭被攻擊者入侵后,家庭隱私視頻被公開直播等問題不斷被曝光。目前,大部分的智能家居系統使用嵌入式系統進行控制。可信任設備身份認證技術結合數字簽名技術可以讓智能家居設備的授權和認證自動化進行,數據傳輸雙重加密,被授權終端也公開透明,可以做到從根源上防止被黑客控制和攻擊[1]。
在這里,簡要介紹一個典型的智能家居場景下的通信架構,如圖1所示。在系統中,用戶通過無線智能終端設備連接到互聯網,實現與家庭網關的遠程通信。當家庭網關接收到訪問或控制指令等相關信息時,家庭網關將使用相關家庭設備執行相應的任務[2]。因此家庭網關不僅提供與設備節點的網絡連接,同時還可以將各種智能家居設備形成的無線傳感器網絡相互連接[2]。

圖1 智能家居基本通信架構
如上所述,可以針對智能家居設備和無線通信信道進行開發,在資源受限的設備中,保證設備和通信安全將更加具有挑戰性。其中的安全風險包括從這些設備中收集和過濾敏感信息。這也再次凸顯出遠程用戶身份認證系統的重要性,該系統對于在資源受限條件下設備上的部署也是輕量級的。針對無線傳感器網絡中的節點認證問題[3],有許多遠程身份驗證方法,最簡單和最直接的方法是基于密碼的身份驗證,這種方法的成本較低,但是,如果沒有一個秘密、安全的信道就不能防止被竊聽。一次性密碼驗證(OTP)是最流行的身份驗證之一,似乎可以抵御常見攻擊。通過智能卡的遠程用戶身份驗證方案憑借其高效、計算成本低等優點,在涉及遠程用戶登錄、Web訪問等在線服務的場景中得到廣泛的應用[4]。然而,攻擊者可以竊取合法用戶的智能卡來非法訪問該系統。為了解決這些問題,Vaidya等[5]利用HOTP和智能卡實現了一種基于密碼的認證方案,用于智能家居設備的安全訪問。然而,這卻需要較高的計算成本。最近,出現許多為其他應用場景提出的認證協議,但這些認證服務幾乎都存在以下局限性:
(1) 終端智能設備的密鑰安全風險較大,密鑰在使用過程中容易被攻擊者竊取盜用;
(2) 對智能家居所構成的群成員匿名性無法保證,而且不能實現對群成員的高效管理和身份追蹤。
為了解決這些問題,提出了一套基于SM2國產密碼算法的門限群簽名方案,密鑰由系統和用戶自己共同生成,可以大大提高密鑰的安全性,攻擊者即使獲得部分密鑰仍然無法完成簽名過程,所以不能通過系統的驗證[6]。而且門限群簽名可以保證用戶的匿名性、簽名者的可追蹤性,以及可以快速撤銷群成員等安全特性。這將使智能家居的身份認證過程更加安全高效[7]。
基于SM2的門限群簽名系統的參與者由智能家居終端設備用戶Ui、家庭網關HGi、用戶信息列表、簽名信息列表、驗證者構成。
如圖2所示,門限群簽名系統包括系統初始化、成員注冊、分布式簽名生成、門限群簽名生成、簽名驗證、簽名打開和用戶撤銷七個部分。簽名系統的具體流程如下[8]:
(1) 在簽名系統的初始化過程中,HGi首先選擇系統安全參數,并生成群密鑰和HGi自己的公私鑰對;
(2) 在用戶Ui的注冊過程中,包括用戶身份信息和密鑰信息的交互驗證。并對用戶的真實身份進行盲化處理,實現了用戶身份的匿名性;
(3) 用戶使用步驟(2)中生成的用戶密鑰di和匿名身份IDi2,生成用戶自己的分布式群簽名;
(4) 在HGi驗證過分布式簽名的合法性之后,生成門限群簽名;
(5) 驗證者可以利用群公鑰對門限群簽名的的合法性進行驗證;
(6)HGi可以在發生爭議時打開簽名,追蹤到簽名者的真實身份;
(7) 當想要對群中的成員進行撤銷操作時,HGi可以通過更新用戶密鑰來撤銷用戶Ui。
有限域GF(p)上一個非超奇異橢圓曲線E(其中p為大素數,且p>3)。定義曲線的魏爾斯特拉斯方程為:
y2=x3+ax+b
(1)
式中:(x,y)∈E;a,b∈GF(p),并且4a3+27b2≠0。滿足魏爾斯特拉斯方程的點集(x,y)和無窮遠處的點構成的Abel群[9]。
在Shamir(t,n)門限秘密分享方案中,可信中心將秘密d差分成n份,分發給n個參與者U1,U2,…,Un。任意t+1或t+1個以上的參與者一起可恢復秘密d,任意t個參與者一起不能得到秘密d的任何信息,詳細方案如下:

(2) 可信中心計算di=f(i),并秘密把di發送給參與者Ui,1≤i≤n;
(3)Ui將di作為份額保存。

智能家居系統初始化工作由家庭網關完成,該步驟需要執行兩個過程:構建系統模型,設置(t,n)門限群簽名系統參數;為家庭網關生成密鑰,并為系統選擇所需的安全函數。該步驟的具體實現過程如下[13]:
(1) 選擇系統參數并生成橢圓曲線:設定第i個群Gi的大小為n,門限值為t,其中t (3) 家庭網關生成群密鑰和安全參數:家庭網關隨機生成一個t-1次多項式: f(x)=at-1xt-1+at-2xt-2+…+a2x2+a1x2+a0 (2) 式中:整數ai∈[1,p-1](i=0,1,2,…,t-1)。這樣可以得到群私鑰為skG=f(0)=a0,群公鑰為pkG=f(0)G=a0G。最后,選擇一個單向哈希函數h()。 當非本群成員想要加入該群成為群成員時,需要與家庭網關執行一個交互注冊協議過程。具體過程如下: 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) 用隨機數發生器產生隨機數k∈[1,n-1],計算橢圓曲線點K=kG=(x1,y1); (4) 假設Ui已經分享了K,并在群內廣播,之后計算r=(e+x1)modp,若r=0或r+k=n則返回步驟(3); (6) 成員Ui生成消息M的分布式群簽名為(r,si),之后將(r,si)和IDi2發送給HGi。 該過程由家庭網關HGi完成,由分布式群簽名的驗證和門限群簽名生成兩個步驟構成。之后,HGi將Ui的簽名信息添加到本地用戶信息列表中,以便之后對成員身份進行追蹤。 簽名驗證者接收到M和(r,s)后,作為驗證者的用戶需要實現以下運算步驟: (1) 先檢查r,s∈[1,p-1]且r+s≠p; 當發現群內存在非法成員或有成員想要離開時,家庭網關需要執行以下步驟實現Ui的撤銷: (1) 重新選擇一個t-1次多項式: 驗證門限簽名的正確性需要對簽名算法生成的數字簽名對應的簽名算法進行檢驗。本文設計的改進SM2門限群簽名算法主要涉及的過程有分布式密鑰生成、分布式簽名和門限簽名過程組成,對提出的簽名算法的具體驗證為以下三個證明過程[14]: skuiyi=fi(IDj)G=ai0G+ai1IDjG+ai2IDj2G+…+aitIDjtG 利用用戶Ui在群內公開的aiG的值,HGi可以通過驗證上面的公式是否成立來確保每個參與簽名用戶所生成的分布式密鑰是正確有效的。因此,最終可以確認用戶Ui通過插值計算獲得了正確的分布式密鑰。 定理2在分布式簽名產生的過程中,簽名者Uj可以驗證群內任何一名合法的簽名者Ui在群中公布的分布式簽名si的正確性。因此,確保用戶Ui獲取的分布式簽名是正確的。 定理3門限群簽名的驗證者可通過驗證R=(e+x1)modp=r是否成立來確定門限群簽名是否正確。 本方案通過門限簽名技術提升智能設備密鑰的安全性,結合群簽名技術實現用戶的匿名性和的可跟蹤性安全特性。下面將從敵手的欺騙攻擊和抗不安全集合合謀攻擊,以及門限簽名的匿名性和可跟蹤性四個方面對該簽名方案的安全性進行證明。 定理4本文提出的SM2門限群簽名方案可以抵御欺騙攻擊。 定理5本文提出的SM2門限群簽名方案可以抵御合謀攻擊。 定理6本文提出的SM2門限群簽名方案除了管理者HGi,任何成員無法確定簽名者的真實身份。 證明在本方案中,Ui申請加入群時,向家庭網關HGi發送自己的身份標識IDi,之后計算IDi的匿名身份IDi1=(xu+skHGi)h(IDi)+umodp。由上述公式可以看出,計算用戶Ui的匿名身份,需要HGi的私鑰skHGi和他選擇的隨機數u,他們只有HGi自己知道。任何其他攻擊者無法獲取skHGi和u的值,進而保證用戶身份的匿名性。 定理7在發生爭議時,家庭網關HGi可以打開群簽名,并追蹤到簽名者的真實身份。 基于本文提出的門限群簽名,在(t,n)門限的條件下,我們對基于SM2的門限群簽名方案和普通群簽名方案進行性能仿真測試,測試結果如圖3所示。系統硬件由一個智能終端移動設備、通信服務器、密鑰服務器構成[15],它們的硬件配置參數如表1所示,同時運行SM2門限群簽名方案和普通簽名方案。圖3(a)、圖3(b)和圖3(c)中縱坐標為執行方案所用平均耗時,橫坐標中A、B、C分別表示在普通簽名方案中的密鑰生成、簽名生成和簽名驗證這三個階段。A1、B1、C1表示本文所提方案對應的幾個簽名過程。圖3(d)為3個硬件智能終端分別執行兩種簽名算法的總平均耗時[16]。 表1 系統硬件配置參數 圖3 仿真測試結果圖 從圖3(a)、圖3(b)和圖3(c)中可以看出,終端設備執行兩種簽名方案耗時和圖3(d)中的平均耗時相近。說明本文提出的智能家居場景下的門限群簽名方案在正常的網絡環境下具有良好的性能。由圖3(d)可以看出,在(2,3)門限條件下,普通簽名方案在密鑰生成階段的平均耗時大約為35.492 ms,簽名生成階段平均耗時為31.168 ms,簽名驗證階段約為3.495 ms;基于SM2的門限群簽名方案在密鑰生成階段平均耗時為37.117 ms,簽名生成階段平均耗時為32.768 ms,簽名與驗證階段平均耗時為4.184 ms。因此可以推測,本文所提出的簽名方案在滿足實現安全特性的前提下,增加了一定的運行時間,但所增加的時間在實際應用場景可接受。因此,該簽名方案具有良好的實用性和應用價值。 本文提出了一種在智能家居場景下基于SM2的門限群簽名方案。在該方案在簽名過程中對用戶的真實身份進行盲化保證隱私性,通過門限簽名技術可以提升智能設備在密鑰使用過程中的安全性。而且可以通過簽名來追蹤成員的真實身份信息,并通過更新密鑰來實現高效快速的群成員撤銷。最后,通過對現有普通簽名方案和本文提出的門限群簽名方案進行對比仿真實驗,結果表明在滿足安全特性的前提下,該簽名方案具有良好的性能。由于本文通過本地數據庫進行簽名信息的存儲,而且基于中心化的認證模型。在未來的工作中可以將本文的方案與區塊鏈技術相結合[17],使整個簽名驗證過程更加安全。
2.2 成員注冊





2.3 分布式群簽名生成

2.4 門限群簽名生成


2.5 簽名驗證
2.6 打開簽名

2.7 成員撤銷
3 方案分析
3.1 正確性分析






3.2 安全性證明



4 性能分析


5 結 語