當(dāng)前位置:首頁 > 工業(yè)控制 > 《機(jī)電信息》
[導(dǎo)讀]由于傳統(tǒng)嵌入式軟件升級存在成本高、便捷性差、實(shí)時性差等問題 , 空中下載技術(shù)(0ver-the-Air ,OTA)被用于嵌入 式軟件應(yīng)用的敏捷在線升級。由于嵌入式0TA系統(tǒng)缺乏高效安全的加密和認(rèn)證機(jī)制 ,升級包在傳輸過程中存在被惡意入侵、竊取 或篡改的安全隱患 。現(xiàn)結(jié)合對稱加密、非對稱加密和數(shù)字簽名算法 ,提出了一種基于國密SM2算法、SM3算法和SM4算法的嵌入式 OTA安全傳輸方法 , 可以實(shí)現(xiàn)OTA服務(wù)器和嵌入式終端的雙向身份認(rèn)證以及升級包的加解密傳輸 ,保證嵌入式OTA系統(tǒng)升級包在 傳輸過程中的完整性、機(jī)密性和不可否認(rèn)性。

引言

近年來,隨著云技術(shù)在嵌入式系統(tǒng)開發(fā)中的廣泛應(yīng)用,云計(jì)算等IT技術(shù)加快了嵌入式軟件的開發(fā)、部署和升級。針對傳統(tǒng)嵌入式應(yīng)用升級方式存在的成本高、便捷性差、實(shí)時性差等問題,空中下載技術(shù)(Over—the—Air,OTA)[1—3]可以實(shí)現(xiàn)分布式環(huán)境下的嵌入式軟件遠(yuǎn)程升級。在OTA系統(tǒng)中,嵌入式終端用戶可以從OTA服務(wù)器上下載最新版本的系統(tǒng)軟件升級包并安裝,遠(yuǎn)程實(shí)現(xiàn)軟件升級、應(yīng)用開通和漏洞修復(fù)等功能[4—5]。這種遠(yuǎn)程升級方式實(shí)現(xiàn)了應(yīng)用的敏捷在線升級,加快了應(yīng)用的更新迭代速度,將需求快速落實(shí)到嵌入式系統(tǒng)中。

然而,嵌入式OTA升級過程面臨著諸多安全威脅。在嵌入式終端從OTA服務(wù)器下載升級包的過程中,如果通信前不對OTA服務(wù)器和嵌入式終端的身份信息進(jìn)行驗(yàn)證,通信時采用不安全的通信協(xié)議或者直接明文通信,攻擊者就極有可能發(fā)起身份偽造、動態(tài)劫持、數(shù)據(jù)竊聽、數(shù)據(jù)篡改等攻擊[6],竊取升級包中的私密數(shù)據(jù),篡改、偽造升級包并發(fā)送給終端,導(dǎo)致終端更新修復(fù)系統(tǒng)失敗,造成升級信息錯誤、升級包泄露、拒絕服務(wù)等安全風(fēng)險。

近年來,一些學(xué)者致力于研究OTA安全升級問題。Petri等人[7]在2016年提出了一種針對車載軟件的安全OTA協(xié)議,該協(xié)議使用可信平臺模塊來保存加密密鑰,但是算法開銷非常大;Steger等人[8]在2018年設(shè)計(jì)了基于區(qū)塊鏈技術(shù)的車載OTA系統(tǒng)安全方案,當(dāng)

任何部件提出升級請求時,所有其他部件都要同意響應(yīng)該請求;Asokan等人[9]在2018年提出了一個OTA固件安全升級框架,可以實(shí)現(xiàn)端到端的身份驗(yàn)證和密鑰保護(hù),但是不能抵御通信過程中的竊聽和篡改攻擊。

本文根據(jù)國密SM系列算法,提出了一種基于混合加密算法的OTA安全傳輸方法,使用SM2算法和SM4算法進(jìn)行升級包數(shù)據(jù)加解密,使用SM3算法和SM2算法進(jìn)行數(shù)字簽名和身份認(rèn)證,確保OTA升級包的加密和傳輸過程具有足夠高的安全性和有效性。

1 SM密碼學(xué)算法介紹

近年來,隨著各行業(yè)對信息安全需求的增加,國家密碼管理局頒布了國內(nèi)商業(yè)加密標(biāo)準(zhǔn)并推出了一系列加密算法,例如SM2[10]、SM3[11]、SM4[12]等。與國際流行加密算法相比,國密算法具有安全性能高、計(jì)算量小、存儲成本低、計(jì)算速度快等優(yōu)勢。

SM2算法是一種非對稱密鑰算法,與國際標(biāo)準(zhǔn)非對稱公鑰算法RSA相比具有安全性高、存儲空間小等優(yōu)點(diǎn)。SM2算法采用ECC橢圓曲線加密機(jī)制,所使用的橢圓曲線方程為y2=x3+ax+b。SM2標(biāo)準(zhǔn)由一般規(guī)則、數(shù)字簽名算法、公鑰加密算法和密鑰交換協(xié)議四個部分組成,使用SM2公鑰加密和私鑰解密可以實(shí)現(xiàn)公鑰加密算法,使用SM2私鑰加密和公鑰解密可以實(shí)現(xiàn)數(shù)字簽名算法。

SM3算法是一種哈希算法,與SHA—256算法相比,SM3算法在壓縮函數(shù)中添加了消息雙字插入和P替換,能夠抵抗強(qiáng)碰撞差分分析和弱碰撞線性分析等攻擊。SM3算法可以將消息輸出為256比特的哈希值。SM3哈希過程如下:假設(shè)消息m的長度為l位,首先在消息末位添加比特1,再填充k個0使得l+1+k三448(mod 512);然后添加一個64位的字符串,該字符串為長度l的二進(jìn)制表示,填充后的消息m/長度為512的倍數(shù);將消息m/按512位分組,m/=B0||B1||…||Bn—1,其中n=(l+k+65)/512;對分組進(jìn)行n輪迭代運(yùn)算,vi+1=CF(vi,Bi),其中CF為壓縮函數(shù),i∈[0,n—1],v0為初始值,Bi為填充后的消息分組,vn為256位迭代壓縮結(jié)果。

SM4算法是一種分組對稱加密算法,具有安全性高、加密速度快的優(yōu)點(diǎn)。SM4算法的分組長度為128位,密鑰長度為128位。SM4的加解密流程分為兩部分,32輪非線性迭代運(yùn)算和1輪R字節(jié)反序列轉(zhuǎn)換。SM4加密過程如下:設(shè)加密輸入為長度為128位的明文D,將D分為四組,D=(D0,D1,D2,D3);非線性迭代運(yùn)算輸入密鑰為rki∈(GF(232))4,非線性迭代運(yùn)算公式為Di+4=Di田P(Di+1,Di+2,Di+3,rki),其中非線性迭代運(yùn)算P為先非線性變化后線性變化的復(fù)合運(yùn)算;32輪非線性迭代運(yùn)算后對結(jié)果進(jìn)行R反序列變換,(X35,X34,X33,X32)=R(X32,X33,X34,X35)。SM4解密過程的線性變化與加密流程類似,只是輪密鑰順序與加密相反。

2基于混合加密的安全OTA升級方法

本文使用SM3加密哈希算法和SM2數(shù)字簽名算法對OTA服務(wù)器和嵌入式終端進(jìn)行數(shù)字簽名和身份認(rèn)證,以保證升級包數(shù)據(jù)的完整性和不可否認(rèn)性。簽名過程描述如下:在發(fā)送數(shù)據(jù)之前,數(shù)據(jù)發(fā)送方首先使用SM3算法獲取升級包的哈希值,使用發(fā)送方的SM2私鑰和SM2加密算法對哈希值進(jìn)行加密,獲取升級包的數(shù)字簽名,連同加密數(shù)據(jù)一并發(fā)送給接收方。接收方收到發(fā)送方發(fā)來的加密數(shù)據(jù)和數(shù)字簽名,需要驗(yàn)證數(shù)字簽名以確保數(shù)據(jù)來自正確的發(fā)送方且沒有被篡改。簽名驗(yàn)證過程描述如下:接收方通過解密算法獲得升級包數(shù)據(jù)后,將升級包數(shù)據(jù)作為SM3算法的輸入得到一個哈希值,用發(fā)送方的SM2公鑰解密數(shù)字簽名得到另一個哈希值,比較這兩個哈希值,如果二者一致則意味著簽名驗(yàn)證通過,接收到的消息是正確的,否則簽名驗(yàn)證失敗。

本文使用SM2公鑰加密算法和SM4分組加密算法對升級包數(shù)據(jù)進(jìn)行加解密,以保證升級包數(shù)據(jù)的機(jī)密性。加密過程描述如下:發(fā)送方生成SM4隨機(jī)密鑰,該密鑰僅由發(fā)送方持有,通過接收方的公鑰分配機(jī)制獲得接收方的SM2公鑰;發(fā)送方使用SM4加密算法和SM4密鑰對升級包進(jìn)行加密,得到密文升級包;然后使用公鑰加密算法SM2和接收方的SM2公鑰對SM4密鑰進(jìn)行加密,得到加密密鑰;發(fā)送方將兩個密文打包作為最終密文發(fā)送給接收方。解密過程描述如下:接收方收到加密升級包和加密密鑰后,用接收方的SM2私鑰解密獲得SM4密鑰,然后使用SM4密鑰解密密文升級包,獲取明文升級包。

假設(shè)升級包的發(fā)送方為OTA服務(wù)器A,接收方為嵌入式終端B,明文升級包為Data,OTA服務(wù)器的SM2公鑰為keypubA、SM2私鑰為keypriA,嵌入式終端的SM2公鑰為keypubB、SM2私鑰為keypriB。圖1為基于混合加密的安全OTA升級包加密過程圖。

具體過程描述如下:

(1)OTA服務(wù)器使用SM3算法獲取升級包Data的哈希值HA(Data);

(2)OTA服務(wù)器將升級包哈希值HA(Data)作為數(shù)字簽名算法SM2的輸入,使用OTA服務(wù)器的SM2私鑰keypriA對其進(jìn)行加密,得到升級包數(shù)據(jù)的數(shù)字簽名Digitalsig,得到簽名后的升級包Data/;

(3)OTA服務(wù)器使用隨機(jī)函數(shù)生成一個16字節(jié)的SM4隨機(jī)密鑰keyrand,該密鑰僅由OTA服務(wù)器持有,隨后使用keyrand對簽名后的升級包Data/執(zhí)行SM4算法,生成加密升級包Data*;

(4)OTA服務(wù)器使用公鑰加密算法SM2和嵌入式終端的公鑰keypubB對SM4密鑰keyrand加密,生成加密密鑰keyrand*;

(5)OTA服務(wù)器打包步驟(3)和(4)生成的加密升級包Data*和加密密鑰keyrand*,作為最終密文Cipher*發(fā)送給嵌入式終端。

嵌入式終端B接收到OTA服務(wù)器A發(fā)送的最終密文,為正確地執(zhí)行升級包,嵌入式終端B需要使用相應(yīng)的解密算法對接收到的密文進(jìn)行解密,獲得原始的升級包。圖2為基于混合加密的安全OTA升級包解密過程圖。

具體過程描述如下:

(1)嵌入式終端將最終密文cipher*分割為加密升

級包Data*和加密密鑰keyrand*兩部分;

(2)嵌入式終端使用自身的SM2私鑰keypriB對加密

密鑰keyrand*進(jìn)行解密,獲得SM4密鑰keyrand;

(3)嵌入式終端使用SM4密鑰keyrand對加密升級包Data*進(jìn)行解密,獲取明文升級包Data;

(4)將解密得到的明文升級包Data作為SM3算法

的輸入,得到明文升級包的哈希值HB(Data);

(5)使用OTA服務(wù)器的SM2公鑰keypubA,解密數(shù)字簽名Digitalsig,得到哈希值HA~(Data);

(6)比較步驟(4)和步驟(5)得到的哈希值HA

(Data)和HB(Data),如果它們一致表示數(shù)字簽名驗(yàn)證通過,接收到的消息是正確的,否則表示驗(yàn)證失敗,丟棄該升級包。

3實(shí)時性和安全性分析

建立嵌入式OTA系統(tǒng)仿真實(shí)驗(yàn)平臺進(jìn)行驗(yàn)證,發(fā)送方節(jié)點(diǎn)和接收方節(jié)點(diǎn)之間安全通信的時間開銷為:

在上述仿真實(shí)驗(yàn)平臺中,基于國密混合算法的一次加密通信時間約為276 ms,可以滿足嵌入式系統(tǒng)對安全升級的實(shí)時要求。

本文設(shè)計(jì)的基于混合算法的遠(yuǎn)程安全嵌入式OTA升級方法具備以下安全性:

(1)雙向身份驗(yàn)證。OTA服務(wù)器使用SM2私鑰對SM3算法得到的哈希值進(jìn)行數(shù)字簽名,又使用隨機(jī)生成的SM4密鑰對簽名后的升級包進(jìn)行加密,嵌入式終端使用OTA服務(wù)器的SM2公鑰進(jìn)行數(shù)字簽名驗(yàn)證,又使用SM2私鑰解密得到SM4密鑰,能有效防止非法用戶接收OTA服務(wù)器發(fā)送的升級包,同時防止嵌入式終端接收非法用戶發(fā)送的升級包。

(2)升級包機(jī)密性和完整性。OTA服務(wù)器使用SM4分組加密算法對升級包進(jìn)行加密,在SM4算法的加密過程中生成一個128位的隨機(jī)密鑰,每次通信的加密密鑰相互獨(dú)立,進(jìn)一步使用SM2公鑰加密算法對SM4隨機(jī)密鑰進(jìn)行加密,確保OTA升級包在傳輸過程中具有足夠高的機(jī)密性。同時使用SM3生成哈希值和數(shù)字簽名值對升級包進(jìn)行完整性校驗(yàn),保證OTA升級包在傳輸過程中的完整性。

(3)升級包不可否認(rèn)性。OTA服務(wù)器和嵌入式終端在傳輸升級包過程中,使用基于SM2算法的數(shù)字簽名技術(shù),利用公私鑰對傳輸升級包進(jìn)行數(shù)字簽名和驗(yàn)證,保證OTA升級包在傳輸過程中的不可否認(rèn)性。

4結(jié)束語

本文針對嵌入式軟件OTA升級包在傳輸過程中存在被惡意入侵、竊聽和篡改的安全隱患,分析了國密SM2、SM3、SM4算法的基本原理,利用SM系列算法安全性能高、計(jì)算量小、存儲成本低、計(jì)算速度快等特點(diǎn),提出了一種基于混合加密算法的嵌入式OTA升級包安全傳輸方法,使用SM2算法和SM4算法對升級包數(shù)據(jù)進(jìn)行加解密傳輸,使用SM3算法和SM2算法對OTA服務(wù)器和嵌入式終端進(jìn)行數(shù)字簽名和雙向身份認(rèn)證,保證嵌入式OTA系統(tǒng)升級包在傳輸過程中的完整性、機(jī)密性和不可否認(rèn)性。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉