嵌入式設備固件的保護方法與裝置製造方法
2023-12-03 21:41:16
嵌入式設備固件的保護方法與裝置製造方法
【專利摘要】本發明公開了一種嵌入式設備固件的保護方法與裝置,將固件內容簡化成字符串,通過比較寫入後的字符串與編譯時的字符串判斷固件內容是否被篡改,在被篡改時啟動保護措施,避免了固件被篡改帶來的風險,提高了固件的安全性,且具有簡單高效的特點。
【專利說明】嵌入式設備固件的保護方法與裝置
【技術領域】
[0001]本發明涉及嵌入式【技術領域】,特別是涉及一種嵌入式設備固件的保護方法與裝置。
【背景技術】
[0002]固件擔任著一個系統最基礎最底層的工作,在嵌入式設備中,如手機、導航儀、平板電腦、音視頻播放器等,固件就是硬體設備的靈魂。
[0003]一旦固件被損毀或篡改,整個設備隨時可能陷入癱瘓。然而,當前卻缺少有效的手段來避免固件暴露於風險中。
【發明內容】
[0004]基於上述情況,本發明提出了一種嵌入式設備固件的保護方法與裝置,以提高嵌入式設備固件的安全性。為此,採用的方案如下。
[0005]一種嵌入式設備固件的保護方法,包括步驟:
[0006]在固件編譯階段,採用預定的算法,將固件內容映射成字符串;
[0007]當固件寫入嵌入式設備後,採用與固件編譯階段同樣的算法,將固件當前內容重新映射成字符串,並與固件編譯階段所得字符串比較,若一致則判定固件未被篡改,若不一致則判定固件已被篡改,啟動保護措施。
[0008]一種嵌入式設備固件的保護裝置,包括:
[0009]編譯模塊,用於在固件編譯階段,採用預定的算法,將固件內容映射成字符串;
[0010]固件檢測模塊,用於當固件寫入嵌入式設備後,採用與固件編譯階段同樣的算法,將固件當前內容重新映射成字符串,並與固件編譯階段所得字符串比較,若一致則判定固件未被篡改,若不一致則判定固件已被篡改,啟動保護措施。
[0011]本發明嵌入式設備固件的保護方法與裝置,將固件內容簡化成字符串,通過比較寫入後的字符串與編譯時的字符串判斷固件內容是否被篡改,在被篡改時啟動保護措施,避免了固件被篡改帶來的風險,提高了固件的安全性,且具有簡單高效的特點。
【專利附圖】
【附圖說明】
[0012]圖1為本發明嵌入式設備固件的保護方法的流程示意圖;
[0013]圖2為本發明嵌入式設備固件的保護裝置的結構示意圖。
【具體實施方式】
[0014]為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步的詳細說明。應當理解,此處所描述的【具體實施方式】僅僅用以解釋本發明,並不限定本發明的保護範圍。
[0015]本發明嵌入式設備固件的保護方法,如圖1所示,包括如下步驟:
[0016]步驟SlOl、在固件編譯階段,採用預定的算法,將固件內容映射成字符串。
[0017]固件保護的前提是檢測固件是否被改寫,檢測固件是否改寫,最原始的方法是一個字符一個字符的比對,顯然這將耗費大量的時間與精力,效率低下。本方案為了提高效率,採用一定的算法,將固件內容映射成一段簡單的字符串,在該算法下,固件內容與字符串之間的映射關係是唯一的,即固件內容稍有變化,則所對應的字符串也隨之變化,反之,若字符串變化,則對應的固件內容必然也發生變化。據此,可以通過字符串的變化來判斷固件內容是否出現異常。
[0018]步驟S102、當固件寫入嵌入式設備後,採用與固件編譯階段同樣的算法,將固件當前內容重新映射成字符串。
[0019]嵌入式設備下載並解析固件,固件內容被寫入設備,設備按照固件中設置的條件運行,在運行過程中,設備上的惡意軟體通常通過篡改固件內容達到特定目的。本步驟將設備上固件的當前內容按照步驟SlOl的方法映射成字符串,則當前字符串代表固件當前內容,編譯階段的字符串代表固件原始內容。
[0020]作為一個優選的實施例,可以將重新映射的時間設置為設備每次開機時,或者設置一個可調節的周期,從而定期對固件進行檢測。
[0021]步驟S103、將固件寫入後所得字符串與固件編譯階段所得字符串比較,若一致則說明固件內容沒變,判定固件未被篡改,若不一致則說明固件內容有變,判定固件已被篡改,此時啟動應對保護措施,例如發出告警、停止設備操作,或毀棄當前固件。
[0022]將固件內容映射成一段字符串的映射算法,本方法優選地選擇哈希算法或CRC校驗算法。編譯階段所得的字符串可以寫入固件末尾,以備後續比較之需要。
[0023]若惡意軟體不止篡改了固件的當前內容,還將編譯階段固件內容對應的字符串也篡改了,則字符串比較時可能是一致的,本保護方法將失效。為了防止字符串也被篡改,優選地對字符串進行加密,則在編譯階段得到一個與編譯所得字符串對應的原始密文,在固件寫入設備後,採用同樣的加密算法對當前字符串進行加密,得到當前密文,將當前密文與原始密文比較,相當於將當前字符串與編譯階段的字符串比較,同樣能夠判斷固件是否被改寫。如此,可以將字符串加密後再寫入固件末尾,由於密文難以破譯,因而避免了被改寫的風險,同時也能防止根據字符串推斷映射算法的情況,從而對本保護方法本身進行保護。
[0024]本發明嵌入式設備固件的保護裝置是與上述保護方法對應的裝置,如圖2所示,包括編譯模塊和固件檢測模塊。
[0025]編譯模塊,用於在固件編譯階段,採用預定的算法,將固件內容映射成字符串;固件檢測模塊,用於在固件寫入嵌入式設備後,採用與固件編譯階段同樣的算法,將固件當前內容重新映射成字符串,並與固件編譯階段所得字符串比較,若一致則判定固件未被篡改,若不一致則判定固件已被篡改,啟動保護措施。
[0026]作為一個優選的實施例,所述固件編譯模塊還用於在固件編譯階段,對映射成的字符串加密;所述固件檢測模塊還用於在固件寫入嵌入式設備後,對重新映射成的字符串加密,並將所得密文與固件編譯階段所得密文比較,用密文是否一致反映固件內容是否被篡改。
[0027]作為一個優選的實施例,所述預定的算法為哈希算法或CRC校驗算法。
[0028]作為一個優選的實施例,所述固件檢測模塊在固件寫入嵌入式設備後,在嵌入式設備啟動時和/或間隔預設周期時,再採用與固件編譯階段同樣的算法,將固件當前內容重新映射成字符串。
[0029]作為一個優選的實施例,所述保護措施包括發出告警、停止設備操作,或毀棄當前固件。
[0030]由於本保護裝置是與上述保護方法對應的,技術特徵不再重複解釋。
[0031]綜上,本發明嵌入式設備固件的保護方法與裝置,將寫入設備後的固件內容對應的字符串與寫入設備前固件對應的字符串比較,根據比較結果判斷固件是否被篡改,一旦發現被篡改,即刻啟動保護措施,避免嵌入式設備陷入固件篡改導致的風險。
[0032]以上所述實施例僅表達了本發明的幾種實施方式,其描述較為具體和詳細,但並不能因此而理解為對本發明專利範圍的限制。應當指出的是,對於本領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干變形和改進,這些都屬於本發明的保護範圍。因此,本發明專利的保護範圍應以所附權利要求為準。
【權利要求】
1.一種嵌入式設備固件的保護方法,其特徵在於,包括步驟: 在固件編譯階段,採用預定的算法,將固件內容映射成字符串; 當固件寫入嵌入式設備後,採用與固件編譯階段同樣的算法,將固件當前內容重新映射成字符串,並與固件編譯階段所得字符串比較,若一致則判定固件未被篡改,若不一致則判定固件已被篡改,啟動保護措施。
2.根據權利要求1所述的嵌入式設備固件的保護方法,其特徵在於,還包括步驟: 在固件編譯階段,對映射成的字符串加密; 當固件寫入嵌入式設備後,也對重新映射成的字符串加密; 將固件編譯階段所得密文與固件寫入後所得密文比較,用密文是否一致反映固件內容是否被篡改。
3.根據權利要求1或2所述的嵌入式設備固件的保護方法,其特徵在於, 所述預定的算法為哈希算法或CRC校驗算法。
4.根據權利要求1或2所述的嵌入式設備固件的保護方法,其特徵在於, 當固件寫入嵌入式設備後,在嵌入式設備啟動時和/或間隔預設周期時,再採用與固件編譯階段同樣的算法,將固件當前內容重新映射成字符串。
5.根據權利要求1或2所述的嵌入式設備固件的保護方法,其特徵在於, 所述保護措施包括發出告警、停止設備操作,或毀棄當前固件。
6.一種嵌入式設備固件的保護裝置,其特徵在於,包括: 編譯模塊,用於在固件編譯階段,採用預定的算法,將固件內容映射成字符串; 固件檢測模塊,用於在固件寫入嵌入式設備後,採用與固件編譯階段同樣的算法,將固件當前內容重新映射成字符串,並與固件編譯階段所得字符串比較,若一致則判定固件未被篡改,若不一致則判定固件已被篡改,啟動保護措施。
7.根據權利要求6所述的嵌入式設備固件的保護裝置,其特徵在於, 所述固件編譯模塊還用於在固件編譯階段,對映射成的字符串加密; 所述固件檢測模塊還用於在固件寫入嵌入式設備後,對重新映射成的字符串加密,並將所得密文與固件編譯階段所得密文比較,用密文是否一致反映固件內容是否被篡改。
8.根據權利要求6或7所述的嵌入式設備固件的保護裝置,其特徵在於, 所述預定的算法為哈希算法或CRC校驗算法。
9.根據權利要求6或7所述的嵌入式設備固件的保護裝置,其特徵在於, 所述固件檢測模塊在固件寫入嵌入式設備後,在嵌入式設備啟動時和/或間隔預設周期時,再採用與固件編譯階段同樣的算法,將固件當前內容重新映射成字符串。
10.根據權利要求6或7所述的嵌入式設備固件的保護裝置,其特徵在於, 所述保護措施包括發出告警、停止設備操作,或毀棄當前固件。
【文檔編號】G06F21/70GK104298935SQ201410498565
【公開日】2015年1月21日 申請日期:2014年9月25日 優先權日:2014年9月25日
【發明者】甄文先, 陳啟安 申請人:廣東歐珀移動通信有限公司