趙奕捷
中國電信天翼智慧家庭科技有限公司
從1933年芝加哥世博會上AI機(jī)器人回答人們的問題,到比爾·蓋茨1995年著作的《The Road Ahead》描繪“智能家居”場景,科技的進(jìn)步和人類對美好生活的向往開啟了智能家居的發(fā)展里程。當(dāng)前隨著數(shù)字經(jīng)濟(jì)的發(fā)展,智能家居市場飛速增長。根據(jù)中國電信發(fā)布的《智慧家庭白皮書》,目前中國電信家庭寬帶已經(jīng)擁有1.7億用戶,智能網(wǎng)關(guān)擁有8000萬戶,IPTV用戶有1.27億戶,4K機(jī)頂盒擁有8000萬戶,家庭云用戶擁有4000萬戶,智能組網(wǎng)達(dá)到4000萬次。2020年《物聯(lián)網(wǎng)行業(yè)深度報告》預(yù)計2025年全球物聯(lián)網(wǎng)設(shè)備(包括蜂窩及非蜂窩)聯(lián)網(wǎng)數(shù)量將達(dá)到252億個。然而,隨著家庭監(jiān)控,智能音箱等智能家居設(shè)備的廣泛普及,智能家居設(shè)備采集了大量用戶隱私信息,智能家居服務(wù)的信息安全問題日益突出。2019年末,作為全球最火的家庭安防硬件產(chǎn)品之一亞馬遜旗下的Ring曝出安全漏洞,黑客可以監(jiān)控用戶家庭,而且Ring還會暴露用戶的WiFi密碼。大量用戶投訴自己的私生活被黑客傳到網(wǎng)上。
使用基于非對稱秘鑰的算法進(jìn)行身份認(rèn)證和加密傳輸可以較好地保障設(shè)備通信安全,但智能家居等物聯(lián)網(wǎng)設(shè)備規(guī)模巨大,如果采用傳統(tǒng)基于CA證書的RSA公鑰加密,對每個設(shè)備都要安裝CA證書以確保通信安全,將帶來巨額成本,且對于功耗敏感和運算力較小的智能家居等物聯(lián)網(wǎng)智能設(shè)備來說,CA證書校驗的過程復(fù)雜,功耗增加。采用標(biāo)識密碼算法將省去CA證書的購買和持有費用,同時省去CA證書校驗的通信流程,在確保安全性的同時降低成本和功耗。
以色列著名的密碼學(xué)專家Adi Shamir教授在1984年提出了標(biāo)識密碼(IBC)的概念,在標(biāo)識密碼系統(tǒng)中,用戶的私鑰由密鑰生成中心(KGC)根據(jù)主密鑰和用戶標(biāo)識計算得出,用戶的公鑰由用戶標(biāo)識唯一確定,由標(biāo)識管理者保證標(biāo)識的真實性。與基于CA證書的公鑰密碼系統(tǒng)相比,標(biāo)識密碼系統(tǒng)中的密鑰管理環(huán)節(jié)可以得到適當(dāng)簡化。1999年,K.Ohgishi、R.Sakai和M.Kasahara提出了用橢圓曲線對(pairing)構(gòu)造基于標(biāo)識的密鑰共享方案;2001年,D.Boneh和M.Franklin,以及R.Sakai、K.Ohgishi和M.Kasahara等人獨立提出了用橢圓曲線對構(gòu)造標(biāo)識公鑰加密算法。這些工作引發(fā)了標(biāo)識密碼的新發(fā)展,出現(xiàn)了一批用橢圓曲線對實現(xiàn)的標(biāo)識密碼算法,其中包括數(shù)字簽名算法、密鑰交換協(xié)議、密鑰封裝機(jī)制和公鑰加密算法等。
2020年4月28日發(fā)布的中華人民共和國國家標(biāo)準(zhǔn)《GB/T38635.2-2020 信息安全技術(shù) SM9標(biāo)識密碼算法》,規(guī)定了用橢圓曲線對實現(xiàn)的基于標(biāo)識的數(shù)字簽名算法、用橢圓曲線對實現(xiàn)的基于標(biāo)識的密鑰交換協(xié)議、用橢圓曲線對實現(xiàn)的基于標(biāo)識的密鑰封裝機(jī)制、用橢圓曲線對實現(xiàn)的基于標(biāo)識的公鑰加密算法。該算法標(biāo)準(zhǔn)明確了標(biāo)識密碼算法的中國標(biāo)準(zhǔn),處于國際領(lǐng)先水平。
然而,真正保證信息安全的除了加密算法外,更重要的是密鑰的安全。加密算法如果無法解決密鑰安全的問題將無安全性可言。公元20世紀(jì)初,第一次世界大戰(zhàn)進(jìn)行到關(guān)鍵時刻,英國破譯密碼的專門機(jī)構(gòu)“40號房間”利用繳獲的德國密碼本破譯了著名的“齊默爾曼電報”,促使美國放棄中立參戰(zhàn),改變了戰(zhàn)爭進(jìn)程。1943年,美國通過破譯日本電報密碼得知山本五十六到中途島視察的行程,決定截?fù)羯奖?,山本機(jī)毀人亡,日本海軍從此一蹶不振。密碼學(xué)的發(fā)展直接影響了兩次世界大戰(zhàn)的戰(zhàn)局。
國密SM9標(biāo)識密碼算法標(biāo)準(zhǔn)中所規(guī)定的流程的前提均是通信雙方擁有各自的加密私鑰。對于非對稱加密和認(rèn)證,私鑰的安全是整個流程安全性的核心,私鑰的安全分發(fā)是實際應(yīng)用中的挑戰(zhàn)。而該標(biāo)準(zhǔn)中并未對如何安全地分發(fā)私鑰給出流程方案。
在實際應(yīng)用場景中,智能設(shè)備和用戶App的加密私鑰應(yīng)由密鑰生成中心生成,對于如何安全地將設(shè)備的加密私鑰由密鑰生成中心分發(fā)給新初始化的智能設(shè)備和用戶App,本文將基于國密SM9標(biāo)識密碼算法和國密SM4對稱密鑰算法(SM4密碼算法數(shù)據(jù)解密和數(shù)據(jù)加密算法結(jié)構(gòu)相同,優(yōu)點是軟件和硬件實現(xiàn)容易,運算速度快)對如何安全地分發(fā)私鑰給出具體解決方案。
在智能家居場景中,模塊包括智能設(shè)備、用戶手機(jī)App,智能家居平臺(SM9標(biāo)識密鑰生成中心集成于平臺服務(wù)器中)。其中,智能設(shè)備和用戶手機(jī)App的加密私鑰都是由平臺服務(wù)器產(chǎn)生,并在初始化時從平臺分發(fā)給智能設(shè)備或用戶App。如圖1所示。
圖1 場景模塊
本文以下流程給出了從SM9標(biāo)識密鑰生成中心(集成于平臺服務(wù)器中)安全分發(fā)至智能家居物聯(lián)網(wǎng)設(shè)備和用戶手機(jī)App客戶端的設(shè)計方案。
圖2 用戶手機(jī)App的SM9加密私鑰分發(fā)和雙向認(rèn)證流程設(shè)計
(1)用戶使用手機(jī)號注冊App,App向平臺發(fā)送請求驗證碼。
(2)平臺生成并下發(fā)短信驗證碼。
(3)用戶手機(jī)收取短信驗證碼,用戶輸入短信驗證碼(本機(jī)登錄時App自動獲取短信驗證碼,用戶無需輸入)。
(4)App隨機(jī)生成一個SM4對稱密鑰和一個隨機(jī)數(shù),并使用平臺SM9標(biāo)識公鑰加密該SM4對稱密鑰、隨機(jī)數(shù)、用戶手機(jī)號、短信驗證碼。
(5)平臺使用自己的SM9私鑰解密出該SM4對稱密鑰、隨機(jī)數(shù)、用戶手機(jī)號,短信驗證碼。
(6)平臺通過驗證短信驗證碼驗證用戶的合法性。
(7)平臺使用用戶手機(jī)號作為用戶標(biāo)識,生成用戶APP的SM9私鑰,使用第5步解密出的SM4對稱密鑰加密用戶的SM9私鑰,發(fā)送給用戶App。
(8)App使用第4步生成的SM4對稱密鑰解密出用戶App的SM9加密私鑰和隨機(jī)數(shù)。
(9)APP通過對比收到的隨機(jī)數(shù)和第4步生成的隨機(jī)數(shù)來驗證平臺合法性,完成雙向認(rèn)證。
(10)此時APP得到了自己的SM9私鑰,保存在本地硬件存儲芯片中。
安全性說明:
App使用了平臺的SM9標(biāo)識公鑰加密信息,只有合法平臺(擁有平臺SM9私鑰)才能解密出信息得到SM4對稱密鑰,使用該SM4對稱密鑰來加密分發(fā)SM9私鑰是安全的。
同時,APP生成的隨機(jī)數(shù)通過平臺的SM9標(biāo)識公鑰加密信息,只有合法平臺(擁有平臺SM9私鑰)才能解密出該隨機(jī)數(shù),平臺在通過短信驗證碼驗證APP后在用對稱秘鑰加密發(fā)回該隨機(jī)數(shù),APP就可以通過對比生成的隨機(jī)數(shù)和收到平臺發(fā)回的隨機(jī)數(shù)來驗證平臺合法性,如果是相同的說明連接上的是合法平臺,完成了雙向認(rèn)證。
圖3 智能設(shè)備的SM9加密私鑰分發(fā)流程設(shè)計
(1)當(dāng)智能設(shè)備初始化時,隨機(jī)生成一個SM4對稱密鑰和一個隨機(jī)數(shù),并使用平臺的SM9標(biāo)識公鑰加密該SM4對稱密鑰和隨機(jī)數(shù)以及設(shè)備PIN碼,和設(shè)備硬件碼一起發(fā)送給平臺服務(wù)器。
(2)平臺收到該加密信息后使用自己的SM9私鑰解密出SM4對稱密鑰和隨機(jī)數(shù)以及設(shè)備PIN碼。
(3)平臺通過設(shè)備PIN碼來驗證設(shè)備的真?zhèn)巍?/p>
(4)平臺為設(shè)備分配唯一標(biāo)識ID并生成對應(yīng)的該智能設(shè)備的SM9標(biāo)識私鑰,并使用第2步解密出的SM4對稱密鑰加密設(shè)備SM9私鑰和第2步解密出的隨機(jī)數(shù),發(fā)送給設(shè)備。
(5)設(shè)備使用第1步生成的SM4對稱密鑰解密出設(shè)備SM9私鑰和隨機(jī)數(shù)。
(6)設(shè)備通過對比第1步生成的隨機(jī)數(shù)和解密出的隨機(jī)數(shù)是否相同來驗證平臺的合法性,完成雙向認(rèn)證。
(7)此時設(shè)備得到了自己的SM9私鑰,保存在本地硬件存儲芯片中。
安全性說明:
設(shè)備使用了平臺的SM9標(biāo)識公鑰加密信息,只有合法平臺(擁有平臺SM9私鑰)才能解密出信息得到SM4對稱密鑰,使用該SM4對稱密鑰來加密分發(fā)SM9私鑰是安全的。
同時,設(shè)備生成的隨機(jī)數(shù)通過平臺的SM9標(biāo)識公鑰加密信息,只有合法平臺(擁有平臺SM9私鑰)才能解密出該隨機(jī)數(shù),平臺在通過設(shè)備PIN碼驗證設(shè)備后在用對稱秘鑰加密發(fā)回該隨機(jī)數(shù),設(shè)備就可以通過對比生成的隨機(jī)數(shù)和收到平臺發(fā)回的隨機(jī)數(shù)來驗證平臺合法性,如果是相同的說明連接上的是合法平臺,完成了雙向認(rèn)證。
本文所設(shè)計的流程是智能設(shè)備的私鑰是由集成在平臺服務(wù)器中的加密運算服務(wù)器產(chǎn)生的,再從平臺服務(wù)器安全地傳輸給智能設(shè)備。這樣設(shè)計的好處是節(jié)省智能設(shè)備初始化的時間和功耗,同時便于智能設(shè)備加密私鑰更新。
由于智能設(shè)備構(gòu)架簡單且終端分布廣,相比平臺服務(wù)器端其密鑰更易泄露。據(jù)BBC新聞報道,在英國銷售的LIFX智能燈泡其存儲在內(nèi)部的加密密碼曾大范圍泄露。一旦發(fā)生智能設(shè)備自身加密私鑰泄露事件,如果在初始化流程中加密私鑰是出廠時寫入設(shè)備的則給加密私鑰更新帶來困難,如果加密私鑰在智能設(shè)備端生成對于智能設(shè)備來說生成非對稱密鑰的運算量大,將大幅影響初始化和加密私鑰更新的時耗與能耗。
而本文提出的方案流程中,智能設(shè)備初始化和私鑰更新場景中都是智能設(shè)備側(cè)產(chǎn)生一個對稱密鑰,相比產(chǎn)生非對稱密鑰來說,大幅降低所用時間和能耗。根據(jù)2017年《國際高級計算機(jī)科學(xué)與應(yīng)用期刊(IJACSA)》刊登的論文對非對稱密鑰和對稱密鑰生成時間的研究,使用Java Eclipse平臺在2.34GHz的因特爾處理器和1GB內(nèi)存環(huán)境下測試了非對稱密鑰生成時間和對稱密鑰生成時間,對各密鑰常用長度生成的測試時間如表1所示。
表1 密鑰生成時間比較
從上表的測試時間看出,對于常用密鑰長度,生成對稱密鑰的時間遠(yuǎn)低于生成非對稱密鑰的時間。在運算力小于該測試環(huán)境的智能家居智能設(shè)備上,兩者的時間差異將更為明顯。所以本文提出的私鑰分發(fā)方案采用在運算力小的智能家居設(shè)備側(cè)僅生成國密SM4對稱密鑰,而在運算力大的平臺服務(wù)器端生成國密SM9非對稱密鑰的方案,適用于智能家居設(shè)備初始化和私鑰更新場景。
同時,本文創(chuàng)造性地將私鑰分發(fā)流程與雙向認(rèn)證流程融合,并且沒有采用傳統(tǒng)的私鑰簽名公鑰驗簽的方法。因為非對稱加解密運算消耗的時長和功耗遠(yuǎn)高于對稱加解密運算,而傳統(tǒng)的簽名驗簽方式在設(shè)備側(cè)需至少使用2次非對稱加解密運算,對于智能家居物聯(lián)網(wǎng)低算力低功耗設(shè)備來說,消耗時間和能耗較大。
本文的方案在智能設(shè)備側(cè)僅使用1次非對稱加密運算和1次對稱解密運算即可同時完成雙向認(rèn)證和私鑰分發(fā)流程。相比傳統(tǒng)的簽名驗簽失敗流程來說大幅降低所用時間和能耗。
《國際科學(xué)與研究期刊》2013年發(fā)表的論文對不同加密算法使用不同大小的數(shù)據(jù)包進(jìn)行了實驗,具體實驗數(shù)據(jù)見表2。
表2 對稱算法和非對稱算法對不同大小數(shù)據(jù)包加解密時間對比實驗
數(shù)據(jù)包(KB) 算法 加密時間(秒) 解密時間(秒)4 5 868 312 DES 4.0 1.8 AES 2.0 1.2 RSA 8.2 5.1 DES 3.0 1.6 AES 1.8 1.3 RSA 7.8 5.1
根據(jù)表2的實驗數(shù)據(jù)可以看出,非對稱加密算法RSA加解密所用時長是對稱算法加密算法AES的4倍左右。
由此可見,本文方案使用相比于傳統(tǒng)的簽名驗簽的雙向認(rèn)證方式將大幅降低智能設(shè)備進(jìn)行雙向認(rèn)證所需的時間。同時,本文創(chuàng)造性地將私鑰分發(fā)與雙向認(rèn)證合并為一步完成,大幅優(yōu)化了智能設(shè)備私鑰分發(fā)與雙向認(rèn)證流程。
本文從智能家居服務(wù)場景入手,基于中華人民共和國國家標(biāo)準(zhǔn)《GB/T38635.2-2020 信息安全技術(shù) SM9標(biāo)識密碼算法》中未給出實際應(yīng)用中如何進(jìn)行安全的私鑰分發(fā)方案的問題給出具體解決方案,該方案創(chuàng)造性地將私鑰分發(fā)與雙向認(rèn)證合并為一步完成,大幅優(yōu)化了智能設(shè)備私鑰分發(fā)與雙向認(rèn)證流程。
同時,本文對非對稱算法和對稱算法的秘鑰生成時間、對不同數(shù)據(jù)大小數(shù)據(jù)包的加解密時間進(jìn)行了研究,并創(chuàng)造性地設(shè)計出在智能家居智能設(shè)備側(cè)僅生成對稱密鑰而在平臺服務(wù)器側(cè)生成非對稱密鑰,安全地進(jìn)行密鑰分發(fā)的同時完成雙向認(rèn)證的方案,且相較于傳統(tǒng)雙向認(rèn)證方案可大幅降低所需時長。
本方案可用于信息安全領(lǐng)域各種場景下的私鑰分發(fā)和雙向認(rèn)證,為國密SM9標(biāo)準(zhǔn)的實際應(yīng)用提供安全的私鑰分發(fā)和雙向認(rèn)證方案,為智能家居智能設(shè)備初始化、雙向認(rèn)證、私鑰更新場景提供優(yōu)化解決方案。
隨著5G時代的到來,5G將支持海量的機(jī)器通信,以智能家居為代表的典型應(yīng)用場景與移動通信深度融合,預(yù)期千億量級的設(shè)備將接入5G網(wǎng)絡(luò)。智能家居設(shè)備產(chǎn)生的數(shù)據(jù)與用戶生活聯(lián)系極為緊密,用戶敏感數(shù)據(jù)信息安全問題非常重要。而智能設(shè)備的加密私鑰的安全分發(fā)是信息安全的關(guān)鍵所在,確保密鑰的安全才能確保信息安全,讓智能家居真正融入生活,為生活服務(wù)。