基于SM 2的物聯(lián)網(wǎng)安全簽名方案
馬? 建 (中鐵信弘遠(北京)軟件科技有限責任公司?高級工程師,北京?100038)
摘? 要:為了減少物聯(lián)網(wǎng)中的數(shù)字簽名方案的計算開銷,保護敏感簽名內(nèi)容,在分析物聯(lián)網(wǎng)的安全需求的基礎 上,基于SM2算法,提出物聯(lián)網(wǎng)安全數(shù)字簽名方案。通過使用高效安全的對稱加密算法,保證了簽名內(nèi)容的機 密性;使用橢圓曲線進行構(gòu)造,提高了方案的計算效率,可以滿足物聯(lián)網(wǎng)環(huán)境中輕量化要求。分析表明,該方 案具有消息的保密性、完整性、抗否認性和抗偽造型等特點。
關鍵詞:物聯(lián)網(wǎng);安全;SM2;數(shù)字簽名;隱私保護
0 引言
物聯(lián)網(wǎng)(IoT)是由相互連接的物體、服務、人員 和設備構(gòu)成的集合,可以實現(xiàn)不同領域的信息交互及數(shù) 據(jù)共享。物聯(lián)網(wǎng)有很多應用領域,從個體環(huán)境到企業(yè)環(huán) 境[1]。近年來,由于射頻識別(RFID)和無線傳感器網(wǎng) 絡(WSN)技術的進步,物聯(lián)網(wǎng)得到飛速發(fā)展。雖然 物聯(lián)網(wǎng)給人們生活帶了了便利,但與傳統(tǒng)的互聯(lián)網(wǎng)系統(tǒng) 類似,各種安全攻擊隨之而來,嚴重影響了物聯(lián)網(wǎng)發(fā)展 和人們的隱私安全。
本文首先分析物聯(lián)網(wǎng)的安全需求,然后介紹了構(gòu)造 基礎SM2數(shù)字簽名方案,并給出了安全數(shù)字簽名的具體 構(gòu)造,最后進行了安全性分析。
1 相關基礎
1.1 物聯(lián)網(wǎng)安全需求
物聯(lián)網(wǎng)的基本安全目標包括通用網(wǎng)絡系統(tǒng)中的機密 性,完整性和可用性。然而,物聯(lián)網(wǎng)由于設備的異構(gòu) 性、計算和通信資源受限等問題,也使其具有通用系統(tǒng) 不一樣的安全問題。物聯(lián)網(wǎng)面臨的安全挑戰(zhàn)可大致分為兩大類:結(jié)構(gòu)性挑戰(zhàn)和安全性挑戰(zhàn)[2]。結(jié)構(gòu)性挑戰(zhàn)源于 物聯(lián)網(wǎng)自身的異構(gòu)性和泛在性,安全性挑戰(zhàn)與系統(tǒng)的原 理、功能相關,其基本目標就是利用強制機制構(gòu)建安全 網(wǎng)絡。解決結(jié)構(gòu)性挑戰(zhàn)通常需要考慮無線通信、可擴展 性、能量和分布結(jié)構(gòu)等因素,而解決安全挑戰(zhàn)則需要考 慮身份驗證、機密性、端到端安全性、完整性等問題, 安全機制必須強制貫穿于從系統(tǒng)開發(fā)到運營的全生命周 期[3]。
常見的安全需求包括:所有物聯(lián)網(wǎng)設備上運行的 軟件須經(jīng)過授權(quán);在開啟IoT設備進行數(shù)據(jù)收集和發(fā)送 前,網(wǎng)絡必須對其對進行身份驗證;由于物聯(lián)網(wǎng)設備計 算與存儲資源受限,有必要使用防火墻網(wǎng)絡以過濾定向 到設備的數(shù)據(jù)包;物聯(lián)網(wǎng)設備的更新和補丁應為以不增 加額外帶寬消耗的方式安裝。
總體而言,物聯(lián)網(wǎng)的安全需求包括以下幾個方面。
1)機密性
確保數(shù)據(jù)安全且僅可供授權(quán)用戶使用。在物聯(lián)網(wǎng) 中,用戶可以是人、機器、服務、內(nèi)部對象(網(wǎng)絡中的 設備)和外部對象(非網(wǎng)絡中的設備)。例如,必須確保傳感器不會將其收集到的數(shù)據(jù)透露給附近節(jié)點[4]。另 一個考慮的機密性問題是如何管理數(shù)據(jù),重要的是物聯(lián) 網(wǎng)用戶要意識到數(shù)據(jù)管理機制應用于過程或人員管理, 確保數(shù)據(jù)全程受到保護[5]。
2)完整性
由于物聯(lián)網(wǎng)基于許多不同設備之間交換數(shù)據(jù),因此 必須確保數(shù)據(jù)的準確性;數(shù)據(jù)是來自正確的發(fā)件人,并 確保數(shù)據(jù)在傳輸中未被篡改數(shù)據(jù),或被有意、無意地干 擾。雖然可以通過使用防火墻和協(xié)議來管理數(shù)據(jù)流量, 但由于物聯(lián)網(wǎng)節(jié)點計算和通信資源受限,并不能保證端 點的安全性,所以必須考慮其他機制以實現(xiàn)完整性。
3)可用性
物聯(lián)網(wǎng)的愿景是連接盡可能多的智能設備,以實現(xiàn) 物聯(lián)網(wǎng)用戶所有數(shù)據(jù)隨時可用。但是,數(shù)據(jù)不是物聯(lián)網(wǎng) 的唯一部分,設備和相關服務必須也可以在需要時隨時 訪問。支持可用性的方法既可能需要使用容錯機制等通 用辦法,也需要考慮基于密碼學的機制。
4)可認證性
物聯(lián)網(wǎng)中的每個對象都應該能夠被其他對象識別和 鑒別,但由于物聯(lián)網(wǎng)自身的特性使得識別和鑒別具有挑 戰(zhàn)性,這其中會涉及到設備、人、服務提供商等多種類 型的實體,設計的鑒別機制需要兼容異構(gòu)系統(tǒng)的各種實 體類型。此外,也需要考慮到有時對象可能需要與其他 事先沒有共享信息的實體進行交互等特殊場景[6]。
5)輕量化
除了常規(guī)的安全目標,考慮到物聯(lián)網(wǎng)節(jié)點通常為資 源受限設備,所以輕量化也是設計安全機制需要考慮 的因素。因此,在設計和實現(xiàn)相應的加密、認證、完整 性驗證等協(xié)議或算法時,要盡可能使用計算資源消耗較 小的方案,直接將傳統(tǒng)的安全方案套用在物聯(lián)網(wǎng)中并不 可取。
1.2 SM2數(shù)字簽密算法
SM2數(shù)字簽名算法[7]包括密鑰產(chǎn)生、簽名生成、簽 名驗證3個算法:
● 密鑰產(chǎn)生
1) 隨機選取秘密d ;
2) 計算 , 并將 P=dG 作為公鑰公開,d 作為私鑰保存。
● 簽名生成
3) 簽名者選取隨機數(shù) ,計算。
4) 計算 ,其中 m 是 待簽名的消息,Hash為單向哈希函數(shù);若 r= 0 或r+ k=q,則重新選取隨機數(shù)k。
5) 計算 ;若s= 0, 則重新選取隨機數(shù)k;否則,將r, s作為簽名結(jié)果。
● 簽名驗證
6) 驗證者接收到m和r,s后,先檢查是否滿足然后計算
7) 計算 判斷r與是否相等,若二者相等則簽名驗證通過,否則驗證失敗。
2 基于SM2的物聯(lián)網(wǎng)安全簽名方案
假定物聯(lián)網(wǎng)中的某節(jié)點A需要對消息m進行簽名, 然后發(fā)給另一節(jié)點B驗證。同時,消息m內(nèi)容屬于敏感 信息,因此m不能透露給第三方。傳輸?shù)木W(wǎng)絡為非安全 網(wǎng)絡,因此傳輸過程中可能存在各種類型的攻擊者,方 案的系統(tǒng)模型如圖1所示。
為了實現(xiàn)可以保護消息內(nèi)容的簽名,本文設計了基 于SM2數(shù)字簽名方案。在方案中,除了物聯(lián)網(wǎng)節(jié)點外,還有1個可信第三方——密鑰生成中心(KGC),主要負 責注冊維護各個節(jié)點的公鑰,物聯(lián)網(wǎng)中的所有節(jié)點在加 入系統(tǒng)時首先向KGC提交公鑰和其他必要信息進行注 冊。本方案的算法基于SM2數(shù)字簽名算法進行構(gòu)造,因 此與SM2數(shù)字簽名算法類似,包括系統(tǒng)初始化、密鑰生 成、簽名生成、簽名驗證4個步驟,具體如下。
1)系統(tǒng)初始化
首先選擇1個大于160位的大素數(shù)p,然后選擇一條 橢圓曲線,選擇階為 n的基點(生成元)G。選擇1個安全的對稱加密算法,如 SM4,為描述方便起見,本方案中簡寫為E,對應的解 密算法為D。選擇一個安全的hash函數(shù),如SM3,本方 案中簡記為H。
2)密鑰生成
A隨機選擇 作為其私鑰,并計算其公鑰PA=dAG;B隨機選擇作為其私鑰,并 計算其公鑰PB=dBG。然后,A和B分別在KGC中進行 注冊。
3)簽名生成
設待簽名的消息為m,A將對其進行簽名并發(fā)送給B 進行驗證。
A隨機選擇 ,然后分別計算
則關于消息m的簽名為 ,A將 σ 發(fā)送 給B。
4)簽名驗證
B收到 σ 后,首先分別計算
判斷r與r1是否相等,如果相等則接受該簽名。
3 方案分析
1) 完整性
由于在本方案中使用了安全哈希函數(shù)H,如果消息 m在加密過程中損壞,或者在簽名傳輸過程中Cm遭到損 壞,那么驗證者B計算出的m1與m不相同,根據(jù)哈希函 數(shù)的抗碰撞原理,得出的哈希值必然不同,進而導致r 與r1不相等,簽名驗證無法通過。因此,本方案的完整 性得到保證。
2) 機密性
本方案的主要目標就是保證簽名內(nèi)容的機密性,即 除了設定的驗證者B外的其他任何實體,都無法獲知 σ 中的簽名消息m。事實上,若攻擊者通過 σ 來推斷其 對應的消息m,最直接的方式就是通過破解Cm 來推導 m,但本方案中采用的是如SM4等安全對稱加密算法, 因此,攻擊者的無法在有效時間內(nèi)推導出加密內(nèi)容m。
3) 不可否認性
如果A試圖對其關于m的簽名 σ 進行否認,由于本 方案中基于SM2簽名方案進行構(gòu)造,因此本方案能夠 滿足存在性不可偽造特性,除了A以外的任何人都不可 能偽造出另一個與m不同的消息m* ,使其簽名為 σ 。 因此,A不能對其生成的關于m的簽名 σ 進行否認。據(jù) 此,本方案實現(xiàn)了不可否認性。
4) 輕量化
本簽名方案基于SM2數(shù)字簽名方案進行構(gòu)造,而 SM2數(shù)字簽名方案基于安全橢圓曲線實現(xiàn)。眾所周知, 橢圓曲線密碼具有極高的計算效率,在橢圓曲線密碼算 法中使用160位的密鑰,即可獲得相當于RSA中的1 024 位密鑰的安全強度。因此,本方案具有輕量級特點,適 用于物聯(lián)網(wǎng)環(huán)境。
4 結(jié)論
本文在分析物聯(lián)網(wǎng)的安全需求的基礎上,考慮到物 聯(lián)網(wǎng)環(huán)境中節(jié)點計算與通信資源受限、節(jié)點動態(tài)變化等 特點,基于SM2算法構(gòu)造了一種安全數(shù)字簽名方案。方 案利用高效安全的對稱加密算法保證簽名內(nèi)容的機密 性,基于SM2的簽名保證了方案的高效性,因此,本方 案完全適用于物聯(lián)網(wǎng)環(huán)境下對敏感內(nèi)容進行數(shù)字簽名的安全需求。
參考文獻:
[1] SAMIE F, BAUER L, HENKEL J. IoT technologies for embedded computing: A survey[C].Proceedings of the Eleventh IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis. ACM, 2016: 8.
[2] MAHALLE P N, ANGGOROJATI B, PRASAD N R, et al. Identity authentication and capability based access control (iacac) for the internet of things. J. of Cyber Security and Mobility, 2013,1:309-348.
[3] LEO M, BATTISTI F, CARLI M, et al. A federated architecture approach for Internet of Things security[C].Euro Med Telco Conference (EMTC),15,2014.
[4] FAROOQ M, WASEEM M, KHAIRI A, et al. A Critical Analysis on the Security Concerns of Internet of Things (IoT). Perception, vol. 111, 2015.
[5] KHAN M A, SALAH K. IoT security: Review, blockchain solutions, and open challenges[J]. Future Generation Computer Systems, 2018,(82):395-411.
[6] ROMAN R, ZHOU J, LOPEZ J. On the features and challenges of security and privacy in distributed internet of things.ComputerNetworks, 2013,57:22662279.
[7] 尚銘,馬原,林璟鏘,等. SM2橢圓曲 線門限密碼算法[J]. 密碼學報, 2014, 1(2):155–166.
本文來源于科技期刊《電子產(chǎn)品世界》2020年第03期第27頁,歡迎您寫論文時引用,并注明出處。
評論