基于SM 2的物聯網安全簽名方案
馬? 建 (中鐵信弘遠(北京)軟件科技有限責任公司?高級工程師,北京?100038)
摘? 要:為了減少物聯網中的數字簽名方案的計算開銷,保護敏感簽名內容,在分析物聯網的安全需求的基礎 上,基于SM2算法,提出物聯網安全數字簽名方案。通過使用高效安全的對稱加密算法,保證了簽名內容的機 密性;使用橢圓曲線進行構造,提高了方案的計算效率,可以滿足物聯網環境中輕量化要求。分析表明,該方 案具有消息的保密性、完整性、抗否認性和抗偽造型等特點。
0 引言
物聯網(IoT)是由相互連接的物體、服務、人員 和設備構成的集合,可以實現不同領域的信息交互及數 據共享。物聯網有很多應用領域,從個體環境到企業環 境[1]。近年來,由于射頻識別(RFID)和無線傳感器網 絡(WSN)技術的進步,物聯網得到飛速發展。雖然 物聯網給人們生活帶了了便利,但與傳統的互聯網系統 類似,各種安全攻擊隨之而來,嚴重影響了物聯網發展 和人們的隱私安全。
本文首先分析物聯網的安全需求,然后介紹了構造 基礎SM2數字簽名方案,并給出了安全數字簽名的具體 構造,最后進行了安全性分析。
1 相關基礎
1.1 物聯網安全需求
物聯網的基本安全目標包括通用網絡系統中的機密 性,完整性和可用性。然而,物聯網由于設備的異構 性、計算和通信資源受限等問題,也使其具有通用系統 不一樣的安全問題。物聯網面臨的安全挑戰可大致分為兩大類:結構性挑戰和安全性挑戰[2]。結構性挑戰源于 物聯網自身的異構性和泛在性,安全性挑戰與系統的原 理、功能相關,其基本目標就是利用強制機制構建安全 網絡。解決結構性挑戰通常需要考慮無線通信、可擴展 性、能量和分布結構等因素,而解決安全挑戰則需要考 慮身份驗證、機密性、端到端安全性、完整性等問題, 安全機制必須強制貫穿于從系統開發到運營的全生命周 期[3]。
常見的安全需求包括:所有物聯網設備上運行的 軟件須經過授權;在開啟IoT設備進行數據收集和發送 前,網絡必須對其對進行身份驗證;由于物聯網設備計 算與存儲資源受限,有必要使用防火墻網絡以過濾定向 到設備的數據包;物聯網設備的更新和補丁應為以不增 加額外帶寬消耗的方式安裝。
總體而言,物聯網的安全需求包括以下幾個方面。
1)機密性
確保數據安全且僅可供授權用戶使用。在物聯網 中,用戶可以是人、機器、服務、內部對象(網絡中的 設備)和外部對象(非網絡中的設備)。例如,必須確保傳感器不會將其收集到的數據透露給附近節點[4]。另 一個考慮的機密性問題是如何管理數據,重要的是物聯 網用戶要意識到數據管理機制應用于過程或人員管理, 確保數據全程受到保護[5]。
2)完整性
由于物聯網基于許多不同設備之間交換數據,因此 必須確保數據的準確性;數據是來自正確的發件人,并 確保數據在傳輸中未被篡改數據,或被有意、無意地干 擾。雖然可以通過使用防火墻和協議來管理數據流量, 但由于物聯網節點計算和通信資源受限,并不能保證端 點的安全性,所以必須考慮其他機制以實現完整性。
3)可用性
物聯網的愿景是連接盡可能多的智能設備,以實現 物聯網用戶所有數據隨時可用。但是,數據不是物聯網 的唯一部分,設備和相關服務必須也可以在需要時隨時 訪問。支持可用性的方法既可能需要使用容錯機制等通 用辦法,也需要考慮基于密碼學的機制。
4)可認證性
物聯網中的每個對象都應該能夠被其他對象識別和 鑒別,但由于物聯網自身的特性使得識別和鑒別具有挑 戰性,這其中會涉及到設備、人、服務提供商等多種類 型的實體,設計的鑒別機制需要兼容異構系統的各種實 體類型。此外,也需要考慮到有時對象可能需要與其他 事先沒有共享信息的實體進行交互等特殊場景[6]。
5)輕量化
除了常規的安全目標,考慮到物聯網節點通常為資 源受限設備,所以輕量化也是設計安全機制需要考慮 的因素。因此,在設計和實現相應的加密、認證、完整 性驗證等協議或算法時,要盡可能使用計算資源消耗較 小的方案,直接將傳統的安全方案套用在物聯網中并不 可取。
1.2 SM2數字簽密算法
SM2數字簽名算法[7]包括密鑰產生、簽名生成、簽 名驗證3個算法:
● 密鑰產生
1) 隨機選取秘密d ;
2) 計算 , 并將 P=dG 作為公鑰公開,d 作為私鑰保存。
● 簽名生成
3) 簽名者選取隨機數 ,計算
。
4) 計算 ,其中 m 是 待簽名的消息,Hash為單向哈希函數;若 r= 0 或r+ k=q,則重新選取隨機數k。
5) 計算 ;若s= 0, 則重新選取隨機數k;否則,將r, s作為簽名結果。
● 簽名驗證
6) 驗證者接收到m和r,s后,先檢查是否滿足然后計算
7) 計算 判斷r與是否相等,若二者相等則簽名驗證通過,否則驗證失敗。
2 基于SM2的物聯網安全簽名方案
假定物聯網中的某節點A需要對消息m進行簽名, 然后發給另一節點B驗證。同時,消息m內容屬于敏感 信息,因此m不能透露給第三方。傳輸的網絡為非安全 網絡,因此傳輸過程中可能存在各種類型的攻擊者,方 案的系統模型如圖1所示。
為了實現可以保護消息內容的簽名,本文設計了基 于SM2數字簽名方案。在方案中,除了物聯網節點外,還有1個可信第三方——密鑰生成中心(KGC),主要負 責注冊維護各個節點的公鑰,物聯網中的所有節點在加 入系統時首先向KGC提交公鑰和其他必要信息進行注 冊。本方案的算法基于SM2數字簽名算法進行構造,因 此與SM2數字簽名算法類似,包括系統初始化、密鑰生 成、簽名生成、簽名驗證4個步驟,具體如下。
1)系統初始化
首先選擇1個大于160位的大素數p,然后選擇一條 橢圓曲線,選擇階為 n的基點(生成元)G。選擇1個安全的對稱加密算法,如 SM4,為描述方便起見,本方案中簡寫為E,對應的解 密算法為D。選擇一個安全的hash函數,如SM3,本方 案中簡記為H。
2)密鑰生成
A隨機選擇 作為其私鑰,并計算其公鑰PA=dAG;B隨機選擇
作為其私鑰,并 計算其公鑰PB=dBG。然后,A和B分別在KGC中進行 注冊。
3)簽名生成
設待簽名的消息為m,A將對其進行簽名并發送給B 進行驗證。
A隨機選擇 ,然后分別計算
則關于消息m的簽名為 ,A將 σ 發送 給B。
4)簽名驗證
B收到 σ 后,首先分別計算
判斷r與r1是否相等,如果相等則接受該簽名。
3 方案分析
1) 完整性
由于在本方案中使用了安全哈希函數H,如果消息 m在加密過程中損壞,或者在簽名傳輸過程中Cm遭到損 壞,那么驗證者B計算出的m1與m不相同,根據哈希函 數的抗碰撞原理,得出的哈希值必然不同,進而導致r 與r1不相等,簽名驗證無法通過。因此,本方案的完整 性得到保證。
2) 機密性
本方案的主要目標就是保證簽名內容的機密性,即 除了設定的驗證者B外的其他任何實體,都無法獲知 σ 中的簽名消息m。事實上,若攻擊者通過 σ 來推斷其 對應的消息m,最直接的方式就是通過破解Cm 來推導 m,但本方案中采用的是如SM4等安全對稱加密算法, 因此,攻擊者的無法在有效時間內推導出加密內容m。
3) 不可否認性
如果A試圖對其關于m的簽名 σ 進行否認,由于本 方案中基于SM2簽名方案進行構造,因此本方案能夠 滿足存在性不可偽造特性,除了A以外的任何人都不可 能偽造出另一個與m不同的消息m* ,使其簽名為 σ 。 因此,A不能對其生成的關于m的簽名 σ 進行否認。據 此,本方案實現了不可否認性。
4) 輕量化
本簽名方案基于SM2數字簽名方案進行構造,而 SM2數字簽名方案基于安全橢圓曲線實現。眾所周知, 橢圓曲線密碼具有極高的計算效率,在橢圓曲線密碼算 法中使用160位的密鑰,即可獲得相當于RSA中的1 024 位密鑰的安全強度。因此,本方案具有輕量級特點,適 用于物聯網環境。
4 結論
本文在分析物聯網的安全需求的基礎上,考慮到物 聯網環境中節點計算與通信資源受限、節點動態變化等 特點,基于SM2算法構造了一種安全數字簽名方案。方 案利用高效安全的對稱加密算法保證簽名內容的機密 性,基于SM2的簽名保證了方案的高效性,因此,本方 案完全適用于物聯網環境下對敏感內容進行數字簽名的安全需求。
參考文獻:
[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.
本文來源于科技期刊《電子產品世界》2020年第03期第27頁,歡迎您寫論文時引用,并注明出處。
評論