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