999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于混合加密的遠程安全嵌入式OTA升級方法研究

2024-05-21 00:00:00劉鐔稚李萌王中華
機電信息 2024年9期

摘 要:由于傳統嵌入式軟件升級存在成本高、便捷性差、實時性差等問題,空中下載技術(Over-the-Air,OTA)被用于嵌入式軟件應用的敏捷在線升級。由于嵌入式OTA系統缺乏高效安全的加密和認證機制,升級包在傳輸過程中存在被惡意入侵、竊取或篡改的安全隱患。現結合對稱加密、非對稱加密和數字簽名算法,提出了一種基于國密SM2算法、SM3算法和SM4算法的嵌入式OTA安全傳輸方法,可以實現OTA服務器和嵌入式終端的雙向身份認證以及升級包的加解密傳輸,保證嵌入式OTA系統升級包在傳輸過程中的完整性、機密性和不可否認性。

關鍵詞:嵌入式應用;遠程升級;OTA系統;混合加密

中圖分類號:TN709" " 文獻標志碼:A" " 文章編號:1671-0797(2024)09-0013-04

DOI:10.19514/j.cnki.cn32-1628/tm.2024.09.003

0" " 引言

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

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

近年來,一些學者致力于研究OTA安全升級問題。Petri等人[7]在2016年提出了一種針對車載軟件的安全OTA協議,該協議使用可信平臺模塊來保存加密密鑰,但是算法開銷非常大;Steger等人[8]在2018年設計了基于區塊鏈技術的車載OTA系統安全方案,當任何部件提出升級請求時,所有其他部件都要同意響應該請求;Asokan等人[9]在2018年提出了一個OTA固件安全升級框架,可以實現端到端的身份驗證和密鑰保護,但是不能抵御通信過程中的竊聽和篡改攻擊。

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

1" " SM密碼學算法介紹

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

SM2算法是一種非對稱密鑰算法,與國際標準非對稱公鑰算法RSA相比具有安全性高、存儲空間小等優點。SM2算法采用ECC橢圓曲線加密機制,所使用的橢圓曲線方程為y2=x3+ax+b。SM2標準由一般規則、數字簽名算法、公鑰加密算法和密鑰交換協議四個部分組成,使用SM2公鑰加密和私鑰解密可以實現公鑰加密算法,使用SM2私鑰加密和公鑰解密可以實現數字簽名算法。

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

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

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

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

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

假設升級包的發送方為OTA服務器A,接收方為嵌入式終端B,明文升級包為Data,OTA服務器的SM2公鑰為KeypubA、SM2私鑰為KeypriA,嵌入式終端的SM2公鑰為KeypubB、SM2私鑰為KeypriB。圖1為基于混合加密的安全OTA升級包加密過程圖。

具體過程描述如下:

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

(2)OTA服務器將升級包哈希值HA(Data)作為數字簽名算法SM2的輸入,使用OTA服務器的SM2私鑰KeypriA對其進行加密,得到升級包數據的數字簽名DigitalSig,得到簽名后的升級包Data′;

(3)OTA服務器使用隨機函數生成一個16字節的SM4隨機密鑰Keyrand,該密鑰僅由OTA服務器持有,隨后使用Keyrand對簽名后的升級包Data′執行SM4算法,生成加密升級包Data*;

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

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

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

具體過程描述如下:

(1)嵌入式終端將最終密文Cipher*分割為加密升級包Data*和加密密鑰Keyrand*兩部分;

(2)嵌入式終端使用自身的SM2私鑰KeypriB對加密密鑰Keyrand*進行解密,獲得SM4密鑰Keyrand;

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

(4)將解密得到的明文升級包Data作為SM3算法的輸入,得到明文升級包的哈希值HB(Data);

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

(6)比較步驟(4)和步驟(5)得到的哈希值HA~(Data)和HB(Data),如果它們一致表示數字簽名驗證通過,接收到的消息是正確的,否則表示驗證失敗,丟棄該升級包。

3" " 實時性和安全性分析

建立嵌入式OTA系統仿真實驗平臺進行驗證,發送方節點和接收方節點之間安全通信的時間開銷為:

T=2tSM4+2tSM2-Digital+2tSM2-Cipher+2tSM3

式中:tSM4表示SM4算法執行加密或解密操作的時間;tSM2-Digital表示SM2算法生成數字簽名的時間;tSM2-Cipher表示SM2算法執行加密或解密操作的時間;tSM3表示SM3算法生成哈希值的時間。

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

本文設計的基于混合算法的遠程安全嵌入式OTA升級方法具備以下安全性:

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

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

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

4" " 結束語

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

[參考文獻]

[1] ZHANG J,LIAO Z,ZHU L.Research on design and imple-

mentation of automotive ECUs software remote update[J].Applied Mechanics and Materials,2015,740:847-851.

[2] 高潔,汪慶.一種電動汽車軟件OTA升級服務平臺的設計方案[J].電腦知識與技術,2017,13(8):209-211.

[3] KHURRAM M,KUMAR H,CHANDAK A,et al.Enhancing connected car adoption: Security and over the air update framework[C]//2016 IEEE 3rd World Forum on Internet of Things(WF-IoT),2016:194-198.

[4] CHEN L B,LI H Y,CHANG W J,et al.An intelligent vehicular telematics platform for vehicle driving safety supporting system[C]//2015 International Conference on Connected Vehicles and Expo(ICCVE),2016:210-211.

[5] 吳靜,葉樺,孫曉潔.車載終端遠程升級系統的設計與實現[J].工業控制計算機,2014,27(1):99-101.

[6] MANSOR H,MARKANTONAKIS K,AKRAM R N,et al.Don’t brick your car:Firmware confidentiality and rollback for vehicles[C]// 2015 10th International Conference on Availability,Reliability and Secur-ity,2015:139-148.

[7] PETRI R,SPRINGER M,ZELLE D,et al.Evaluation of lightweight TPMs for automotive software updates over the air[C]//4th International Conference on Embedded Security in Car USA,2016:1-15.

[8] STEGER M,DORRI A,KANHERE S S,et al.Secure wireless automotive software updates using blockchains:A proof of concept[J].Advanced Microsystems for Automotive Applications,2017:137-149.

[9] ASOKAN,N,NYMAN,T,RATTANAVIPANON N,et al.ASSURED:Architecture for secure software update of realistic embedded devices[J].IEEE Transactions on Computr-

Aided Design of Integrated Circuits and Systems,2018(37):2290-2300.

[10] SM2橢圓曲線公鑰密碼算法:GM/T 0003—2012[S].

[11] SM3密碼雜湊算法:GM/T 0004—2012[S].

[12] SM4分組密碼算法:GM/T 0002—2012[S].

收稿日期:2024-01-05

作者簡介:劉鐔稚(1995—),男,甘肅平涼人,工程師,研究方向:信息安全。

主站蜘蛛池模板: 色综合网址| 波多野结衣一级毛片| a免费毛片在线播放| 国产国语一级毛片| 少妇露出福利视频| 国产国产人免费视频成18| 久久精品视频亚洲| 2021天堂在线亚洲精品专区| 无码电影在线观看| 国产精品夜夜嗨视频免费视频| 日韩av高清无码一区二区三区| 国产亚洲高清在线精品99| 亚洲欧洲日韩综合色天使| 国产97视频在线| 精品视频91| 亚洲综合香蕉| 91福利在线观看视频| 黄色网站不卡无码| 精品精品国产高清A毛片| 欧美激情二区三区| 日韩av资源在线| av大片在线无码免费| 制服丝袜 91视频| 最新午夜男女福利片视频| 天天视频在线91频| 毛片久久久| 国产香蕉在线| 狠狠做深爱婷婷久久一区| 亚洲欧美日韩综合二区三区| 久久久久久久97| 无码人中文字幕| 色综合国产| 亚洲综合片| 国产大全韩国亚洲一区二区三区| 亚洲精品中文字幕午夜| 91精品国产综合久久不国产大片| 就去吻亚洲精品国产欧美| 亚洲综合色区在线播放2019| 天天做天天爱天天爽综合区| 国产永久在线视频| 全色黄大色大片免费久久老太| 99久久国产自偷自偷免费一区| 亚洲国产理论片在线播放| 黄色污网站在线观看| 精品国产一二三区| 日本午夜精品一本在线观看| 亚洲国产中文欧美在线人成大黄瓜| 国产精品嫩草影院av| 露脸真实国语乱在线观看| 亚洲国产成人久久精品软件| 中文字幕永久在线观看| 五月婷婷丁香综合| 色天天综合| 无码视频国产精品一区二区 | 欧美精品成人一区二区视频一| 精品久久久久久成人AV| 亚洲国产在一区二区三区| 国产成人做受免费视频| 激情视频综合网| 五月综合色婷婷| 亚洲精品va| 午夜不卡福利| 精品黑人一区二区三区| 亚洲成人动漫在线观看| 久久国产精品嫖妓| 国产精品开放后亚洲| 午夜啪啪福利| 国内精自线i品一区202| 国产在线一区视频| 亚洲免费三区| 日韩精品一区二区三区免费| 国产精品亚欧美一区二区| 欧美成人午夜影院| 91极品美女高潮叫床在线观看| 欧美在线综合视频| 亚洲国语自产一区第二页| 亚洲人成人无码www| 91久久精品国产| 国产18在线| 亚洲人成人无码www| 亚洲中文字幕国产av| 中文字幕乱码中文乱码51精品|