新聞中心

EEPW首頁(yè) > 設(shè)計(jì)應(yīng)用 > 基于SM 2的物聯(lián)網(wǎng)安全簽名方案

基于SM 2的物聯(lián)網(wǎng)安全簽名方案

作者:馬 建 時(shí)間:2020-03-03 來(lái)源:電子產(chǎn)品世界 收藏

馬? 建 (中鐵信弘遠(yuǎn)(北京)軟件科技有限責(zé)任公司?高級(jí)工程師,北京?100038)

本文引用地址:http://butianyuan.cn/article/202003/410482.htm

摘? 要:為了減少中的方案的計(jì)算開(kāi)銷(xiāo),保護(hù)敏感簽名內(nèi)容,在分析需求的基礎(chǔ) 上,基于算法,提出方案。通過(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);安全;;

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ǔ)數(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  微信截圖_20200306145411.png; 

2) 計(jì)算 , 并將 P=dG 作為公鑰公開(kāi),d 作為私鑰保存。 

● 簽名生成 

3) 簽名者選取隨機(jī)數(shù)微信截圖_20200306145452.png ,計(jì)算微信截圖_20200306145500.png。

4) 計(jì)算 微信截圖_20200306145532.png,其中 m 是 待簽名的消息,Hash為單向哈希函數(shù);若 r= 0 或r+ k=q,則重新選取隨機(jī)數(shù)k。 

5) 計(jì)算微信截圖_20200306145618.png ;若s= 0, 則重新選取隨機(jī)數(shù)k;否則,將r, s作為簽名結(jié)果。 

● 簽名驗(yàn)證 

6) 驗(yàn)證者接收到m和r,s后,先檢查是否滿足微信截圖_20200306145701.png然后計(jì)算

7) 計(jì)算 微信截圖_20200306145719.png判斷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所示。

微信截圖_20200306150432.jpg

為了實(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,然后選擇一條 橢圓曲線微信截圖_20200306145832.png,選擇階為 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ī)選擇 微信截圖_20200306145901.png作為其私鑰,并計(jì)算其公鑰PA=dAG;B隨機(jī)選擇微信截圖_20200306145957.png作為其私鑰,并 計(jì)算其公鑰PB=dBG。然后,A和B分別在KGC中進(jìn)行 注冊(cè)。 

3)簽名生成 

設(shè)待簽名的消息為m,A將對(duì)其進(jìn)行簽名并發(fā)送給B 進(jìn)行驗(yàn)證。 

A隨機(jī)選擇微信截圖_20200306150038.png ,然后分別計(jì)算 

微信截圖_20200306150111.png

則關(guān)于消息m的簽名為 微信截圖_20200306150134.png,A將 σ 發(fā)送 給B。 

4)簽名驗(yàn)證 

B收到 σ 后,首先分別計(jì)算

微信截圖_20200306150211.png

判斷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)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉