[發明專利]一種基于HMAC算法的終端固件校驗方法及裝置和存儲介質在審
| 申請號: | 202310006099.5 | 申請日: | 2023-01-03 |
| 公開(公告)號: | CN115952523A | 公開(公告)日: | 2023-04-11 |
| 發明(設計)人: | 詹文信;邱國清;賴志強;游友鋒;王詩平;陳永長 | 申請(專利權)人: | 環匯科技(福建)有限公司 |
| 主分類號: | G06F21/60 | 分類號: | G06F21/60;G06F21/62 |
| 代理公司: | 福州明致商標專利代理事務所(普通合伙) 35307 | 代理人: | 鐘小武 |
| 地址: | 350009 福建省福州市臺江區*** | 國省代碼: | 福建;35 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 hmac 算法 終端 校驗 方法 裝置 存儲 介質 | ||
1.一種基于HMAC算法的終端固件加密方法,其特征在于,其包括:
S01、獲取一段數據作為初始密鑰;
S02、對初始密鑰進行哈希處理,生成哈希結果;
S03、獲取哈希結果,將其平分為兩段數據,再將該兩段數據進行異或運算,生成哈希異或結果數據;
S04、獲取哈希異或結果數據,將其分別與兩段等長數據長度的固定衍生參數進行異或,分別生成用于計算固件HMAC值的HMAC密鑰和用于加密或解密固件的固件密鑰;
S05、獲取HMAC密鑰,使用HMAC密鑰計算固件的HMAC值H1,并將HMAC值H1添加到固件的尾部;
S06、獲取固件密鑰,使用固件密鑰加密添加有HMAC值H1的固件得到密文固件,完成加密。
2.如權利要求1所述的基于HMAC算法的終端固件加密方法,其特征在于,S01中,所獲取的一段數據為隨機生成的隨機數據。
3.如權利要求1所述的基于HMAC算法的終端固件加密方法,其特征在于,S03中,獲取哈希結果,將其平分為兩段數據包括:
獲取哈希數據,將該哈希數據平分為前后兩段,生成兩段數據。
4.如權利要求1所述的基于HMAC算法的終端固件加密方法,其特征在于,S04包括:
獲取哈希異或結果數據;
將哈希異或結果數據與一段和其等長數據長度的第一固定衍生參數進行異或,生成用于計算固件HMAC值的HMAC密鑰;
將哈希異或結果數據與一段和其等長數據長度的第二固定衍生參數進行異或,生成對稱密鑰,其為用于加密或解密整個固件的固件密鑰;
其中,第一固定衍生參數和第二固定衍生參數不相同。
5.如權利要求1所述的基于HMAC算法的終端固件加密方法,其特征在于,S06中,使用固件密鑰加密添加有HMAC值H1的固件時,加密算法采用國密SM4算法。
6.一種基于HMAC算法的終端固件校驗方法,其特征在于,其包括權利要求1至5之一所述的基于HMAC算法的終端固件加密方法,所述終端固件校驗方法包括:
S07、將步驟S01作為初始密鑰的一段數據注入到終端MCU的引導程序中,終端MCU引導程序按預設條件執行S02~S04相同的衍生方法,獲得HMAC密鑰和固件密鑰;
S08、終端進行固件更新時,固件被下載到終端中,終端先使用S07獲得的固件密鑰解密固件,然后使用S07獲得的HMAC密鑰計算除固件尾部HMAC值H1的數據,得到固件HMAC值H2,繼而比較H1與H2的數據值,當數據值相同時,則允許固件更新,當數據值不相同時,則不允許固件更新。
7.如權利要求6所述的基于HMAC算法的終端固件校驗方法,其特征在于,S07中,作為初始密鑰的一段數據通過固化方式注入到終端MCU的引導程序中。
8.一種存儲介質,其特征在于:所述的存儲介質中存儲有至少一條指令、至少一段程序、代碼集或指令集,所述的至少一條指令、至少一段程序、代碼集或指令集由處理器加載并執行實現如權利要求1至5之一所述的基于HMAC算法的終端固件加密方法。
9.一種存儲介質,其特征在于:所述的存儲介質中存儲有至少一條指令、至少一段程序、代碼集或指令集,所述的至少一條指令、至少一段程序、代碼集或指令集由處理器加載并執行實現如權利要求6或7所述的基于HMAC算法的終端固件校驗方法。
10.一種終端固件加密裝置,其特征在于:其加載有權利要求8所述的存儲介質。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于環匯科技(福建)有限公司,未經環匯科技(福建)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202310006099.5/1.html,轉載請聲明來源鉆瓜專利網。





