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