設(shè)備SN序列號按照一定的規(guī)則使用安全算法2進(jìn)行加密分散得到分散密鑰;
[0035]2、以分散密鑰作為安全算法I的加密密鑰,對嵌入式固件做分組加密運算,得到分組的加密嵌入式固件,分組的加密嵌入式固件組合在一起得到加密的嵌入式固件。
[0036]嵌入式固件加密完成后即可將加密的嵌入式固件燒寫到嵌入式固件應(yīng)用設(shè)備的Flash存儲器中。
[0037]如圖5所示,當(dāng)嵌入式固件需要加載運行時,首先需要使用嵌入式固件應(yīng)用設(shè)備上的硬件安全算法集成電路將存儲在Flash中加密的嵌入式固件進(jìn)行解密,并將解密后的嵌入式固件存放到相應(yīng)的RAM存儲器中運行。嵌入式固件應(yīng)用設(shè)備的硬件安全算法集成電路包括與加密機硬件安全算法集成電路相同的三部分:根密鑰,安全算法I,安全算法2。加密的嵌入式固件解密的過程如下所述:
[0038]1、對嵌入式固件應(yīng)用設(shè)備SN序列號按照與加密過程相同的規(guī)則使用安全算法2進(jìn)行加密分散得到分散密鑰;
[0039]2、以分散密鑰作為安全算法I的解密密鑰,對嵌入式固件做分組解密運算,得到分組的嵌入式固件,分組的加密嵌入式固件組合在一起得到統(tǒng)一的嵌入式固件。
[0040]將解密的嵌入式固件加載到RAM中,嵌入式固件即可運行。
[0041 ]針對于圖6的映像結(jié)構(gòu),嵌入式固件加密只能對固件映像文件中的RW段進(jìn)行加密。對嵌入式固件加密需要在集成有專用硬件安全算法集成電路的加密機上進(jìn)行。如圖7所示,硬件安全算法集成電路包括具有三部分:根密鑰,安全算法I,安全算法2。嵌入式固件在加密機中加密的過程如下所述:
[0042]1、對嵌入式固件應(yīng)用設(shè)備SN序列號按照一定的規(guī)則使用安全算法2進(jìn)行加密分散得到分散密鑰;
[0043]2、以分散密鑰作為安全算法I的加密密鑰,對嵌入式固件映像中RW段做分組加密運算,得到分組的加密嵌入式固件映像中RW段,分組的加密嵌入式固件映像中RW段組合在一起得到加密的嵌入式固件。
[0044]嵌入式固件加密完成后即可將加密的嵌入式固件燒寫到嵌入式固件應(yīng)用設(shè)備的Flash存儲器中。
[0045]如圖8所示,當(dāng)嵌入式固件需要加載運行時,首先需要使用嵌入式固件應(yīng)用設(shè)備上的硬件安全算法集成電路將存儲在Flash中加密的嵌入式固件進(jìn)行解密,并將解密后的嵌入式固件存放到相應(yīng)的RAM存儲器中運行。嵌入式固件應(yīng)用設(shè)備的硬件安全算法集成電路包括與加密機硬件安全算法集成電路相同的三部分:根密鑰,安全算法I,安全算法2。加密的嵌入式固件解密的過程如下所述:
[0046]1、對嵌入式固件應(yīng)用設(shè)備SN序列號按照與加密過程相同的規(guī)則使用安全算法2進(jìn)行加密分散得到分散密鑰;
[0047]2、以分散密鑰作為安全算法I的解密密鑰,對Flash中加密的嵌入式固件RW段做分組解密運算,得到分組的嵌入式固件RW段,分組的加密嵌入式固件RW段組合在一起得到的嵌入式固件RW段。
[0048]將解密的嵌入式固件RW段加載到RAM中,嵌入式固件即可運行。
[0049]綜上所述,本發(fā)明實施例使用集成有專用硬件安全算法集成電路的加密機對編譯好的嵌入式固件代碼進(jìn)行加密,然后將加密后的嵌入式固件代碼燒寫到相應(yīng)硬件設(shè)備(稱之為嵌入式固件應(yīng)用設(shè)備)的Flash非易失存儲器上,該嵌入式固件應(yīng)用設(shè)備上也集成有同樣功能的硬件安全算法集成電路。同時嵌入式固件應(yīng)用設(shè)備還集成有RAM存儲器,嵌入式固件代碼需要全部或者部分運行在RAM存儲器中。嵌入式固件代碼運行之前,使用嵌入式固件應(yīng)用設(shè)備上的硬件安全算法集成電路對Falsh中加密的嵌入式固件代碼進(jìn)行解密,并將解密后的嵌入式固件代碼放置到其運行存儲器RAM中,從而實現(xiàn)了對嵌入式固件代碼保護(hù)的功能。本發(fā)明可以有效地對嵌入式固件應(yīng)用設(shè)備進(jìn)行保護(hù),避免被其他廠商山寨、克隆或復(fù)制。
[0050]以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【主權(quán)項】
1.一種嵌入式固件保護(hù)的方法,其特征在于,所述方法包括: 通過嵌入式固件加密機上的硬件安全算法集成電路對嵌入式固件進(jìn)行加密,并將加密的嵌入式固件存儲在嵌入式固件應(yīng)用設(shè)備Flash存儲器中; 在嵌入式固件運行之前,由嵌入式固件應(yīng)用設(shè)備上的硬件安全算法集成電路對Flash存儲器中加密的嵌入式固件部分進(jìn)行解密,獲得解密的嵌入式固件。2.根據(jù)權(quán)利要求1所述嵌入式固件保護(hù)的方法,其特征在于,所述嵌入式固件加密機和嵌入式固件應(yīng)用設(shè)備的安全算法集成電路具備有兩種安全算法,安全算法I用于嵌入式固件加解密密鑰的生成,安全算法2用于嵌入式固件加解密;安全算法I的密鑰為根密鑰,安全算法2的密鑰為分散密鑰。3.根據(jù)權(quán)利要求1所述嵌入式固件保護(hù)的方法,其特征在于,所述對嵌入式固件進(jìn)行加密,是只對嵌入式固件運行在RAM空間的部分代碼進(jìn)行加密,對于運行在Flash空間的代碼部分不進(jìn)行加密。4.根據(jù)權(quán)利要求1所述嵌入式固件保護(hù)的方法,其特征在于,所述方法還包括: 嵌入式固件加密機和嵌入式固件應(yīng)用設(shè)備的安全算法集成電路上只發(fā)行根密鑰,不發(fā)行嵌入式固件代碼進(jìn)行加密和解密的分散密鑰,嵌入式固件代碼進(jìn)行加密和解密的分散密鑰由安全算法I使用根密鑰對嵌入式固件應(yīng)用設(shè)備的SN序列號進(jìn)行加密分散得到。5.根據(jù)權(quán)利要求1所述嵌入式固件保護(hù)的方法,其特征在于,所述嵌入式固件代碼加密機和嵌入式固件應(yīng)用設(shè)備上集成的硬件安全算法集成電路的根密鑰具有只可寫不可讀的特性。6.—種嵌入式固件加密機,其特征在于,內(nèi)設(shè)硬件安全算法集成電路,所述硬件安全算法集成電路用于對嵌入式固件進(jìn)行加密,獲得加密的嵌入式固件;所述嵌入式固件加密機將加密的嵌入式固件存儲在嵌入式固件應(yīng)用設(shè)備Flash存儲器中。7.根據(jù)權(quán)利要求6所述嵌入式固件加密機,其特征在于,所述嵌入式固件加密機的安全算法集成電路具備有兩種安全算法,安全算法I用于嵌入式固件加解密密鑰的生成,安全算法2用于嵌入式固件加解密;安全算法I的密鑰為根密鑰,安全算法2的密鑰為分散密鑰。8.根據(jù)權(quán)利要求6所述嵌入式固件加密機,其特征在于,所述對嵌入式固件進(jìn)行加密,是只對嵌入式固件運行在RAM空間的部分代碼進(jìn)行加密,對于運行在Flash空間的代碼部分不進(jìn)行加密。9.一種嵌入式固件應(yīng)用設(shè)備,其特征在于,內(nèi)設(shè)硬件安全算法集成電路,所述硬件安全算法集成電路用于在嵌入式固件運行之前,對Flash存儲器中加密的嵌入式固件進(jìn)行解密,獲得解密的嵌入式固件。10.根據(jù)權(quán)利要求9所述嵌入式固件應(yīng)用設(shè)備,其特征在于,所述嵌入式固件應(yīng)用設(shè)備的安全算法集成電路具備有兩種安全算法,安全算法I用于嵌入式固件加解密密鑰的生成,安全算法2用于嵌入式固件加解密;安全算法I的密鑰為根密鑰,安全算法2的密鑰為分散密鑰。11.根據(jù)權(quán)利要求10所述嵌入式固件應(yīng)用設(shè)備,其特征在于,所述對Flash存儲器中加密的嵌入式固件進(jìn)行解密,是使用安全算法2對Falsh中加密的嵌入式固件中運行在RAM中的代碼進(jìn)行解密并加載到相應(yīng)的RAM地址中。
【專利摘要】本發(fā)明公開了一種嵌入式固件保護(hù)的方法和裝置,方法包括:通過嵌入式固件加密機上的硬件安全算法集成電路對嵌入式固件進(jìn)行加密,并將加密的嵌入式固件存儲在嵌入式固件應(yīng)用設(shè)備Flash存儲器中;在嵌入式固件運行之前,由嵌入式固件應(yīng)用設(shè)備上的硬件安全算法集成電路對Flash存儲器中加密的嵌入式固件部分進(jìn)行解密,獲得解密的嵌入式固件。
【IPC分類】G06F21/76
【公開號】CN105574441
【申請?zhí)枴緾N201510753094
【發(fā)明人】邊海波
【申請人】北京中電華大電子設(shè)計有限責(zé)任公司
【公開日】2016年5月11日
【申請日】2015年11月9日