TW594571B - Upgrade control method of intelligent firmware - Google Patents

Upgrade control method of intelligent firmware Download PDF

Info

Publication number
TW594571B
TW594571B TW91125287A TW91125287A TW594571B TW 594571 B TW594571 B TW 594571B TW 91125287 A TW91125287 A TW 91125287A TW 91125287 A TW91125287 A TW 91125287A TW 594571 B TW594571 B TW 594571B
Authority
TW
Taiwan
Prior art keywords
hardware
firmware
code
byte
confirmation code
Prior art date
Application number
TW91125287A
Other languages
Chinese (zh)
Inventor
Yun-Di Chen
Tian-Shou Huang
Jung-Shiuan Guo
Original Assignee
Giga Byte Tech Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Giga Byte Tech Co Ltd filed Critical Giga Byte Tech Co Ltd
Priority to TW91125287A priority Critical patent/TW594571B/en
Application granted granted Critical
Publication of TW594571B publication Critical patent/TW594571B/en

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

The present invention provides an upgrade control method of intelligent firmware, which includes: generating a hardware confirmation code; generating a firmware confirmation code; and upgrading firmware program based on the inspection and comparison between the hardware confirmation code and firmware confirmation code. A set of encoding scheme capable of managing the software/hardware version of product is employed to inspect the firmware confirmation code and compare the hardware confirmation code based on the encoded data, and check the integrity and correctness for the firmware upgraded by the user, so as to ensure that the firmware files are not modified due to carelessness or deliberation and are matched with hardware specification, thereby avoiding burning improper firmware version into the product. Furthermore, before upgrading the firmware, it is able to detect whether the system resource is sufficient to complete the upgrade process, so as to avoid a failure during the upgrade process.

Description

594571 五、發明說明α) --- 【發明領域】 本發明涉及—種程式的升級控制方法,特別涉及一 智慧型韌體的升級控制方法。 【發明背景】 拿刃體γ被寫入設備硬體中的唯讀記憶體上的軟體,載 有在用戶裱境中不能加以改變的電腦程式及資料等。是雷 腦系統中最關鍵的元件之一。 身又而。某一產品推出後,往往由於加入新功能或 是要修正原有錯誤,需要更新產品内的韌體。因此,對硬 體產品内的韌體進行升級已成為目前發展的趨勢,是延長 硬體產品生命期的有效方法,對用戶是一種投資上的保 護,也會讓硬體變得更耐用。 ’、 —然而’對於動體的升級有兩個相互衝突的要求:(工 〈,應該很好的被保護,一旦他被修改後破壞,整個系統 巧無法工作;(2 )它應該很容易的被修改,從而允許現 琢升、、及以進彳亍性此提高或清除軟體故障。 口此 ▲進行初體的升級時,應當非常的小心和謹 為升級修改的過程本身是很容易的,但如果在這個 ^ 2 5不小心出現操作失誤,或是升級了不正確的韌體 2麼後果又疋十分嚴重的,有時會造成整個系統的 然而,在現有的韌體升 險提供任何的預防機制和控 過裎中的疏失,或是選用了 級過程中,並沒有針對上述危 制方法,用戶常常會因此操作 錯誤的韌體版本,而造成升級594571 V. Description of the invention α) --- [Field of the invention] The present invention relates to a program upgrade control method, in particular to an intelligent firmware upgrade control method. [Background of the Invention] The software on the read-only memory in which the blade body γ is written in the hardware of the device contains computer programs and data that cannot be changed in the user's environment. It is one of the most critical components of the lightning brain system. Body again. After a product is launched, it is often necessary to update the firmware in the product due to the addition of new features or the correction of original errors. Therefore, upgrading the firmware in hardware products has become the current development trend. It is an effective method to extend the life of hardware products. It is an investment protection for users and it also makes the hardware more durable. ', —However' there are two conflicting requirements for the upgrade of the moving body: (the work should be well protected, once it is destroyed after modification, the entire system does not work; (2) it should be easy It is modified to allow real-time upgrades, and to improve or clear software faults. ▲ When performing the initial upgrade, you should be very careful and consider that the process of upgrading and modification is very easy. However, if an operation error occurs accidentally in this ^ 2 5 or the incorrect firmware 2 is upgraded, the consequences will be very serious, and sometimes it will cause the entire system. However, existing firmware upgrades provide any Prevention mechanism and control mistakes, or in the selection process, did not address the above-mentioned dangerous control methods, users often operate the wrong firmware version and cause upgrades

594571 五、發明說明(2) 失敗,甚至是系統癱瘓。 【發明之目的及概述】 本發明乃為解決上述問題而提供一種智慧型韌體的升 級控制方法,其主要目的在於透過一套可管理產品軟、硬 體版本的編碼方式,根據編碼資料,對用戶升級的韌體之 完整,和正確性進行檢查,以確保韌體檔案沒有因疏失或 人,畜意被修改,並且與其硬體規格相匹配,防止將不當 的韌體版士燒錄進產品中,同時,在進行韌體升級前可& 偵測系統資源是否足以完成升級的工作,避免升級動 到中途失敗。 ^ 本發明提供一種智慧型韌體升級控制方法,包括:生 涵辨^確i碼’生成韌體確認碼;以及根據韌體確認碼盥 體確認碼的校驗比對,升級韌體程式。 〃 為,對本發明的㈣、構造特徵及其功進 4配合圖示詳細說明如下: 【貫施例詳細說明】 可管ί Γ所揭露的智慧型勃體升級控制方法設計了一套 為兩類::ϊ Ϊ =版本的編碼方式。將—個產品的版本分 ,軟於版有關的,,硬體版本"以及與軟體升級有關的 Τ 。以下以一優選實施例說明之: 其資粗炊—版本用於辨認硬體和動體之間的相容性, 十钇式包含以下攔位:594571 V. Description of the invention (2) Failure or even system failure. [Objective and Summary of the Invention] The present invention is to provide an intelligent firmware upgrade control method in order to solve the above problems. The main purpose of the invention is to use a set of encoding methods that can manage the software and hardware versions of the product. The integrity and correctness of the firmware upgraded by the user are checked to ensure that the firmware file has not been modified due to negligence or human or animal will, and that it matches its hardware specifications to prevent the improper firmware version from being burned into the product At the same time, before the firmware upgrade, you can & detect whether the system resources are sufficient to complete the upgrade and prevent the upgrade from failing midway. ^ The present invention provides a smart firmware upgrade control method, which includes: generating a firmware identification code by identifying the ^ I code; and upgrading the firmware program based on a verification comparison of the firmware confirmation code and the bathroom confirmation code. 〃 In order to explain the details of the present invention, the structural features, and the functions of the present invention, as follows: [Detailed description of the implementation examples] The intelligent body upgrade control method disclosed by Γ Γ has been designed into two types: :: ϊ Ϊ = encoding method of version. The product version is divided into software-related versions, hardware versions " and software upgrade-related ones. The following is a description of a preferred embodiment: Its rough cooking version is used to identify the compatibility between hardware and moving bodies.

五、發明說明(3)V. Description of the invention (3)

Yender/Product IDYender / Product ID

V C P ΗV C P Η

Weigh

Vender/Product ID :用於辨識產造者及產品名 V ··使用1位元組記錄製造者資料。 C ·使用1位兀組記錄中央處理器(cpu)資料,由於中 央處理器(CPU)是產品中的重要元件,不同中央處理器 (CPU)將會使用不同的韌體版本,故以j位元組記錄了 P ·使用1位元組記錄產品代號資料。 Η ··使用1位元組記錄硬體(電路板)資料。 R :保留1位元組作為以後延伸用途。、 例如: ν 公司一般往往會發屏_ 的硬體元件(如CPU) ’展戈曰糸/"目關…,也許有料 以由硬體版本中的攔位(H路板有不同的修改。皆可 由ϊίϋ!。同時’如果為其他廠商代工時,也二 由硬體版本中的V (製造佴 才也可U慈 客戶,避免為Α客戶生產0^j^;Vender)欄位分別不同的 中。以保護自己及代工客/的權益可被燒錄進B客户的產占 594571 五、發明說明(4) 2、軟體版本:用於在同一硬體上,分別不同韌體版 本之間的差異,其資料格式包含以下欄位:Vender / Product ID: It is used to identify the manufacturer and product name. V ·· Use 1 byte to record the manufacturer information. C · Use a 1-bit group to record CPU data. Since the CPU is an important component in the product, different CPUs will use different firmware versions. Tuple records P · Use 1 byte to record product code data. Η ·· Use 1 byte to record hardware (circuit board) data. R: 1 byte is reserved for future extended use. For example: ν Companies usually issue hardware components (such as CPUs) with screens. "Zhan Ge Yue 糸 / quote"… maybe it is expected that the hardware version of the block (the H road board has different modifications) .All can be done by ϊίϋ !. At the same time, if it is foundry for other manufacturers, it can also be used by V in the hardware version (manufacturer can also be used by customers, avoiding producing 0 ^ j ^; Vender) fields for Α customers. Different. In order to protect their own rights and the rights of foundry customers / customers, they can be burned into the production of customer B, accounting for 594,571. 5. Description of the invention (4) 2. Software version: used on the same hardware, different firmware versions. The difference between the data formats includes the following fields:

加)。 BBB的第一個位元組··修正重要程式錯誤(BUG)。 BBB的第二、第三個位元組:修正次要程式錯誤 (BUG)。 CC :以一個位元組記錄特別版本(如不同的OEM客戶或 是為特定目的製作的版本)。 例如: 邊 A B B B C 1 0 3 4 0 1 '曹. 請參閱「第1圖」,為本發明之智慧型韌體的升級控 制方法流程圖。首先,生成硬體確認碼(步驟1 0 1 );然 後,生成韌體確認碼(步驟1 0 2 );最後,根據韌體確認 碼與硬體確認碼的校驗比對,升級韌體程式(步驟1 0 3 )° 请參閱「弟2圖」’為本發明之生成硬體確認碼的流plus). BBB's first byte · Fixed important program error (BUG). BBB's second and third bytes: Fixed minor bug (BUG). CC: Special versions are recorded in one byte (such as different OEM customers or versions made for specific purposes). For example: Edge A B B B C 1 0 3 4 0 1 'Cao. Please refer to "Fig. 1" for the flow chart of the upgrade control method of the intelligent firmware of the present invention. First, generate a hardware confirmation code (step 1 0 1); then, generate a firmware confirmation code (step 10 2); and finally, upgrade the firmware program based on the comparison between the firmware confirmation code and the hardware confirmation code. (Step 1 0 3) ° Please refer to "Picture 2" for the flow of generating the hardware confirmation code of the present invention

5W/i 五、發明說明(i ' ---~---— 程圖。营止 . (步驟 ’確疋硬體版本碼(步驟2 〇 1 ):確定密碼 確二ΐΛ〇2);確定填加碼(Salt)(步驟2〇3);接著, 運算成舁法(步驟204 );然後,按照演算法,將各碼值 加m 4其結果作為硬體確認碼(步驟2 0 5 );最後,將填 、、、^硬體確認碼一同寫入硬體(步驟2 〇 6 )。 其中所述密碼由產品開發者保存,並不公開。 則隨2 4填加碼(Salt )為隨機產生,且每執行運算一次 辦=“產生一次’每次都不相同’所以計算出來的硬體確 =:,隨之不同,因此,需要將該次運算所使用的填加碼 十^出來的硬體石萑認碼一同寫入產品硬體中,以備升級 韋刃體時作校驗比對之用。 所述演算法可以使用各種的演算法,本實施例將”硬 體版本碼”,”密碼”和”填加碼„依每一個位元組分別X〇R組 成最後的硬體確認碼,其具有簡單,快速,且具有基本的 安全性等優點。以下舉一運算實例: 石Μ» G I G A B Y T E 4 0 1 G c B 1 0 (HEX街 (M7 (M9 047 (Ml (M2 0x59 0x54 M5 0x30 oei 0x47 (M3 (M2 0x31 _ XCR 辆 ⑽1 ⑽2 0^3 _ 0x05 祕 (M)7 (M)8 _ (kOA OxDB QxOC OxOD (M)E QxOF (MO XCR 填力σδ馬 (Salt) (kOA QxOA QxOA (kOA QxOA QxOA QxOA QxOA QxOA QxOA QxOA (kOA QxOA (kOA QxOA m 確認碼 Qx4C (Ml (k4E 0x4F (k4D 0x55 0x59 (M7 mi 030 0x30 (k41 om (M6 賴 0x2^5W / i Fifth, the invention description (i '--- ~ ---- Chengtu. Ying Zhi. (Step' confirm the hardware version code (step 2 〇 1): determine the password confirmation two ΐΛ〇2); OK Fill in the code (Salt) (step 203); then, calculate the unitary method (step 204); then, according to the algorithm, add m 4 to each code value and use the result as a hardware confirmation code (step 2 0 5); Finally, write the hardware confirmation code of 填, ^, ^ together into the hardware (step 206). The password is saved by the product developer and is not public. The code added with 2 4 (Salt) is randomly generated. , And each time the operation is performed = "produced once, 'every time is different', so the calculated hardware is indeed = :, which will be different, so you need to add the code used for this operation to add the hardware of the result The stone identification code is written into the product hardware for verification and comparison when upgrading the blade body. The algorithm can use various algorithms. In this embodiment, the "hardware version code" is used. " "Password" and "Fill Code" constitutes the final hardware confirmation code according to each byte XOR, which is simple, fast, and has The advantages of security, etc. The following is an example: Shi M »GIGABYTE 4 0 1 G c B 1 0 (HEX Street (M7 (M9 047 (Ml (M2 0x59 0x54 M5 0x30 oei 0x47 (M3 (M2 0x31 _ XCR ⑽1 ⑽2 0 ^ 3 _ 0x05 Secret (M) 7 (M) 8 _ (kOA OxDB QxOC OxOD (M) E QxOF (MO XCR Filling force σδ Horse (Salt) (kOA QxOA QxOA (kOA QxOA QxOA QxOA QxOA QxOA QxOA QxOA QxOA (kOA QxOA (kOA QxOA m confirmation code Qx4C (Ml (k4E 0x4F (k4D 0x55 0x59 (M7 mi 030 0x30 (k41 om (M6 lai 0x2 ^

594571 五、發明說明(6)594571 V. Description of Invention (6)

所述將填加碼和硬體確認碼一同寫入硬體,可以是將 其燒錄到硬體中的某一塊非揮發性的記憶體中,例如CPLD (Complex Programmable Logic Device,複雜可編程邏 輯設備)或是EEPROM (Electrically ErasableThe writing the filling code and the hardware confirmation code together into the hardware may be burning it into a piece of non-volatile memory in the hardware, such as CPLD (Complex Programmable Logic Device, complex programmable logic device) ) Or EEPROM (Electrically Erasable

Programmable Read Only Memory,電子可擦可編程唯讀 記憶體)。 請茶閱「第3圖」,為本發明之生成韌體確認碼的流 程圖。首先,填寫軟體版本碼和硬體版本碼(步驟3 〇 1 )’计异並填寫硬體確認碼和填加碼(步驟3 〇 2 );計算 並填寫元整韌體稽案的校驗和(Checksum)(步驟303 ),在未使用的空間中填入隨機產生的亂數(步驟3 〇 4 )° 其中’可以由固定的硬體版本和密碼值,以及亂數產 生的填加碼(S a 11 )值算出硬體確認碼。由於每一次皆使 用不同的填加碼,也就會產生不同的硬體確認碼,然後將 填加碼與硬體確認碼同樣存於韌體確認碼中,如此可以增 加破解硬體確認碼的難度。 計算校驗和(Checksum),可以選用不同的校驗和 (Checksum)演异法,本實施例將已填入硬體確認碼的整個 韌體内容以X 0 R的方式產生一個位元元組的確認碼。 於未使用的空間中填入亂數,其的目的在於增加破解 硬體確認碼的難度,由於每一次的” Sa 11"皆為亂數,所產 生的硬體確認碼和亂數就具有不可分辨性,在未使用的空Programmable Read Only Memory). Please refer to "Figure 3" for the flow chart of generating the firmware confirmation code of the present invention. First, fill in the software version code and hardware version code (step 301), calculate the difference and fill in the hardware confirmation code and fill-in code (step 3 002); calculate and fill the checksum of the whole firmware audit ( Checksum) (step 303), fill in randomly generated random numbers in the unused space (step 304) ° where 'can be a fixed hardware version and password value, and the padding code generated by the random numbers (S a 11) to calculate the hardware confirmation code. Because each time a different padding code is used, a different hardware confirmation code is generated, and then the padding code and the hardware confirmation code are stored in the firmware confirmation code, which can increase the difficulty of cracking the hardware confirmation code. Calculate the checksum (Checksum), you can choose different checksum (Checksum) algorithm. In this embodiment, the entire firmware content that has been filled in the hardware confirmation code is generated as a byte in the form of X 0 R. Confirmation code. Fill in the unused space with random numbers, the purpose of which is to increase the difficulty of cracking the hardware confirmation code. Since each "Sa 11" is random number, the generated hardware confirmation code and random number are impossible. Resolution, in the unused space

第9頁 594571Page 9 594571

間填入亂數後,試圖破解硬體版本的惡意者將报難由 觀察韌體檔案而破解硬體版本演算法。 '' 完整的韌體確認碼的資料格式為: 0 1 1丨2丨3 4 5 6 7 TfTTT B c D E F 20h Vi 1 1 ender/Product ID V c P H R 30h CS Rand 1 salt H( version(20h-2Fh)? k ey, salt(: 33h) 40h Software Dynamic Version | Rand2 %After filling in random numbers, a malicious person trying to crack the hardware version will report a difficulty by observing the firmware file to crack the hardware version algorithm. '' The data format of the complete firmware confirmation code is: 0 1 1 丨 2 丨 3 4 5 6 7 TfTTT B c DEF 20h Vi 1 1 ender / Product ID V c PHR 30h CS Rand 1 salt H (version (20h- 2Fh)? K ey, salt (: 33h) 40h Software Dynamic Version | Rand2%

Vender/Product ID :用於辨識產品製造者及產口^名Vender / Product ID: Used to identify the product manufacturer and product name

V :使用1位元組記錄製造者資料。 C :使用1位元組記錄中央處理器(CPU)資料,由於中 央處理器(CPU)是產品中的重要元件,不同中央處理器 (c P U)將會使用不同的韌體版本,故以1位元組記錄。 P :使用1位元組記錄產品代號資料。 Η :使用1位元組記錄硬體(電路板)資料。 R :保留1位元組作為以後延伸用途。V: Use 1 byte to record the manufacturer information. C: Use 1 byte to record the data of the central processing unit (CPU). Since the central processing unit (CPU) is an important component in the product, different central processing units (c PU) will use different firmware versions. Byte Record. P: Use 1 byte to record the product code information. Η: Use 1 byte to record hardware (circuit board) data. R: 1 byte is reserved for future extended use.

C S ·使用1位元組記錄n c h e c k s u m ’’資料。C S · Use 1 byte to record n c h e c k s u m '' data.

Sal t ··使用1位元組記錄” Sal t"資料。 Η ():使用1位元組記錄硬體確認碼資料。Sal t ·· Use 1 byte to record "Sal t" data. Η (): Use 1 byte to record hardware confirmation code data.

Software dynamic version :使用6位元組記錄軟體 版本資料。Software dynamic version: Use 6 bytes to record software version data.

第10頁 594571 五、發明說明(8) R a n d 1,R a n d 2 :在未使用空間填上亂數。 下面以一實例來說明韌體確認碼的產生過程 1、填入軟體明文版本,硬體明文版本 0 1 2 3 4 5 6 7 8 9 A B C D E F 20h G I G A B Y T E 4 0 1 G C B 1 30h ( 40h 1 0 1 2 3 4 計算並填入硬體確認碼版本,填加碼(Sa 11) 0 1 2 3 4 5 6 7 8 9 A B C D E F 20h G I G A B Y T E 4 0 1 G C B 1 0 30h salt H( version(20h-2Fh), key, salt(33h) ) , 40h 1 0 1 2 3 4 計算並填入完整韋刃體槽案的校驗和(checksum 0 1 2 3 4 5 6 7 8 9 A B C D E F 20h G I G A B Y T E 4 0 1 G c B 1 M 3 Oh CS salt H( version(20h-2Fh), key, salt(33h) ) 40h 1 0 1 2 3 4Page 10 594571 V. Description of the invention (8) R a n d 1, R a n d 2: Fill in random numbers in the unused space. The following uses an example to explain the process of generating the firmware confirmation code. 1. Enter the software plaintext version, and the hardware plaintext version. 0 1 2 3 4 5 6 7 8 9 ABCDEF 20h GIGABYTE 4 0 1 GCB 1 30h (40h 1 0 1 2 3 4 Calculate and fill in the hardware confirmation code version, fill in the code (Sa 11) 0 1 2 3 4 5 6 7 8 9 ABCDEF 20h GIGABYTE 4 0 1 GCB 1 0 30h salt H (version (20h-2Fh), key, salt (33h)), 40h 1 0 1 2 3 4 Calculate and fill in the checksum of the complete weird body slot case (checksum 0 1 2 3 4 5 6 7 8 9 ABCDEF 20h GIGABYTE 4 0 1 G c B 1 M 3 Oh CS salt H (version (20h-2Fh), key, salt (33h)) 40h 1 0 1 2 3 4

第11頁 594571 五、發明說明(9) 4、在未使用的空間中填入隨機產生的 简L數。Page 11 594571 V. Description of the invention (9) 4. Fill in the unused space with a randomly generated simple L number.

Rand2 ~ ▲、 請參閱「第4圖」,為本發明之根據韌 體確認碼的校驗比對,升級韌體程式的流程足確認碼繫1硬 定系統資源足夠存貯載入的新韌體(步驟^圖。首先,確 載入新韌體(步驟402 ) ·,檢驗新韌體的校);然後, (Checks·)是否正確(步驟4〇3);由新韌^口 認碼中的資料配合產品硬體中在 豆、早刀體確 ▲丄 U 4 ),比對该計鼻出的硬體確認碼與吝 > ,人, 月豆確邊碼是否相同(步驟40 5 );根摅 。匕比:“#果’將新韌體檔案燒錄到快問記憶體 (n=h Memory)中,並自動重開機(步驟4〇6)。 通知使用者到系統資源不足時,Μ顯示警告訊息 如果校驗結果卞 … 息通知使用者^新^ ^對結果不正綠,則同樣顯示警告訊 【達成之功效】 本發明為一種知 的有益效果為·· 9 w型韌體的升級控制方法,其可達成 594571 五、發明說明(10) ' --- 1載入的¥刃體槽案經由校驗和(Checksum)確認,確 保檔案内容不會因人為蓄意或疏失而被修改。 2、 經由比對載入的韌體與硬體内部的版本確認螞, 可以確定韌體版本與硬體規格,產品類型是否相符。防止 使用者有意或無意地升級不正確的版本。 3、 載入韌體檔案前,會先偵測系統資源(如記憶體空 間)是否足夠’並主動提醒使用者,避免造成因系統資源 不足造成升級失敗。 4、 易於辨識韌體版本,在韌體中可直接辨識韌體的 版本’適用的產品別及硬體規格,且不會危害韋刃體升級的 正確性。 5、 對於試圖破解硬體確認碼以升級非法韋刃體(使用a 客戶的韌體,燒錄到B客戶的產品中)的使用者,設計有多 重機制以保護韌體檔案。(1 )整個韌體檔案具有校驗和 (Checksum),任意更動其中的資料將會造成校驗和 (Checksum)計算錯誤。(2 )計算硬體確認碼的演算法中需 要一組密碼,此密碼是不公開的。(3 )由於每次計算都會 使用隨機亂數Sa 11,所以每次產生的硬體確認碼與隨機亂 數不可分辨,並且韌體中未使用的空間皆填上亂數。除了 軟硬體版本明文以外,將不易猜出哪幾個位元組是硬體確 認碼及填加碼(S a 11 ),將更增加破解硬體確認媽演算法困 難。 # 6、 可以彈性地依需要更改其中的硬體確認碼演算法 及校驗和(Checksum)演算法,如以有效快速為考量,可以Rand2 ~ ▲, please refer to "Figure 4", according to the present invention's verification and comparison based on the firmware confirmation code, the process of upgrading the firmware program is sufficient to confirm that the code system is 1 and the system resources are sufficient to store and load the new firmware. (Step ^ Figure. First, make sure that the new firmware is loaded (Step 402), and check the calibration of the new firmware); then, (Checks ·) is correct (Step 403); The data in the product matches with the product's hardware in the bean and early knife body ▲ 丄 U 4), compared with the hardware confirmation code of the nose and the 吝 >, human, and moon bean exactly side code (step 40 5 ); Roots. Dagger ratio: "# 果 'flashes the new firmware file to the question memory (n = h Memory), and automatically restarts (step 4 06). When the user is notified that the system resource is insufficient, M displays a warning If the verification result of the message 卞 ... informs the user ^ new ^ ^ if the result is not green, a warning message will also be displayed. [Achieved effect] The present invention is a known beneficial effect of the 9 · W firmware upgrade control method It can reach 594571. V. Invention Description (10) '--- 1 The case of ¥ blade body slot was confirmed by Checksum to ensure that the content of the file will not be modified by intentional or negligence. 2. By comparing the loaded firmware with the internal version of the hardware, you can determine whether the firmware version matches the hardware specifications and product type. Prevent users from intentionally or unintentionally upgrading the incorrect version. 3. Load firmware Before the file is saved, it will first detect whether the system resources (such as memory space) are sufficient and proactively remind the user to avoid upgrading failure due to insufficient system resources. 4. Easy to identify the firmware version, which can be directly identified in the firmware Firmware This' applicable product type and hardware specifications will not jeopardize the accuracy of the Wei blade upgrade. 5. For trying to crack the hardware confirmation code to upgrade the illegal Wei blade (using the customer's firmware, burn to B Users in the product) are designed with multiple mechanisms to protect the firmware file. (1) The entire firmware file has a checksum. Any changes to the data in it will cause a checksum calculation error. (2) The algorithm for calculating the hardware confirmation code requires a set of passwords. This password is not public. (3) Since each calculation uses a random random number Sa 11, the hardware confirmation code generated each time and Random random numbers are indistinguishable, and unused spaces in the firmware are filled with random numbers. Except for the hard and soft versions of the plain text, it will be difficult to guess which bytes are the hardware confirmation code and the addition code (S a 11 ), It will increase the difficulty of cracking the hardware confirmation algorithm. # 6, You can flexibly change the hardware confirmation code algorithm and checksum algorithm as needed. If you consider effective and fast, you can

第13頁 594571 五、發明說明(11) 使用XOR計算。如需要更強的安全性考量可以使用更複雜 的運算方式,如MD5或其他的密碼方法。 雖然本發明以前述之較佳實施例揭露如上,然其並非 用以限定本發明,任何熟習此技藝者,在不脫離本發明之 精神和範圍内,當可作些許之更動與潤飾,因此本發明之 保護範圍當視後附之申請專利範圍所界定者為準。Page 13 594571 V. Description of the invention (11) Use XOR calculation. If you need stronger security considerations, you can use more complicated calculation methods, such as MD5 or other cryptographic methods. Although the present invention is disclosed above with the foregoing preferred embodiments, it is not intended to limit the present invention. Any person skilled in the art can make some modifications and retouching without departing from the spirit and scope of the present invention. The scope of protection of the invention shall be determined by the scope of the attached patent application.

第14頁 594571 圖式簡單說明 第1圖為本發明之智慧型韌體的升級控制方法流程 圖, 的流程圖; 的流程圖,及 與硬體確認碼的校 第2圖為本發明之生成硬體確認碼 第3圖為本發明之生成韌體確認碼 第4圖為本發明之根據韌體確認碼 驗比對,升級韌體程式的流程圖。 【圖式符號說明】 步驟1 0 1 步驟1 0 2 步驟1 0 3 步驟201 步驟2 0 2 步驟2 0 3 步驟2 0 4 步驟2 0 5 步驟2 0 6 步驟3 0 1 步驟302 步驟3 0 3 步驟3 0 4 生成硬體確認碼 生成動體確認碼 根據韌體確認碼與 比對,升級韌體程 確定硬體版本碼 確定密碼 確定填加碼(S a 11 確定演算法 按照演算法,將各 作為硬體確認碼 將填加碼和硬體確 填寫軟體版本碼和 計算並填寫硬體確 計算並填寫完整韌 (Checksum ) 在未使用的空間中 數 硬體確認碼的校驗 式 碼值運算,其結果 認碼一同寫入硬體 硬體版本碼 認碼和填加碼 體檔案的校驗和 填入隨機產生的亂Page 594571 Brief description of the diagram. The first diagram is a flowchart of the intelligent firmware upgrade control method of the present invention. The flowchart of the diagram, and the verification with the hardware confirmation code. The second diagram is the generation of the present invention. Figure 3 of the hardware confirmation code is a flowchart of generating a firmware confirmation code of the present invention. Figure 4 is a flowchart of upgrading the firmware program according to the firmware confirmation code verification and comparison of the present invention. [Illustration of graphical symbols] Step 1 0 1 Step 1 0 2 Step 1 0 3 Step 201 Step 2 0 2 Step 2 0 3 Step 2 0 4 Step 2 0 5 Step 2 0 6 Step 3 0 1 Step 302 Step 3 0 3 Step 3 0 4 Generate a hardware confirmation code. Generate a moving body confirmation code. According to the firmware confirmation code and comparison, upgrade the firmware. Determine the hardware version code. Determine the password and add code. (S a 11 Determine the algorithm. As the hardware confirmation code, you will add the code and hardware confirmation to fill in the software version code and calculate and fill in the hardware confirmation calculation and fill in the complete and complete (Checksum) checksum calculation of the number of hardware confirmation codes in the unused space. The result identification code is written into the hardware version code identification code and the checksum of the code file.

第15頁 594571 圖式簡單說明 步驟401 確 定 系 統 步驟402 載 入 新 韌 步驟403 檢 驗 新 韌 否 正 確 步驟404 由 新 韌 體 產 品 硬 體 硬 體 確 認 步驟4 0 5 比 對 該 計 體 中 存 儲 步驟406 根 據 校 驗 燒 錄 到 快 中 5 並 白 資源足夠存貯載入的新韌體 體 體的校驗和(Checksum)是 的韌體確認碼中的資料配合 中存儲的原填加碼,計算出 碼 算出的硬體確認碼與產品硬 的硬體確認碼是否相同 和比對結果,將新韌體檔案 閃記憶體(F 1 a s h M e m 〇 r y ) 動重開機Page 594 571 Brief description of the diagram Step 401 Determine the system Step 402 Load the new firmware Step 403 Check whether the new firmware is correct Step 404 Confirm by the new firmware product Hardware Hardware Step 4 0 5 Compare to the storage of the meter Step 406 Calculate the code according to the data burned to the fast 5 and sufficient resources to store the checksum (Checksum) of the new firmware loaded. It is the data in the firmware confirmation code combined with the original filling code stored in the firmware to calculate the code. If the calculated hardware confirmation code is the same as the product hardware confirmation code and compare the results, restart the new firmware file flash memory (F 1 ash M em 〇ry).

第16頁Page 16

Claims (1)

•一種智慧型韌體升級控制方法,包括: 生成硬體確認碼; 生成韌體確認碼;及 根據動體確認碼與硬體確認碼的校驗比 韌體程式。 對’升級 如申請專利範圍第i項所述智慧型韌體升級 法,其中所述生成硬體確認碼的步驟更包 :4方 驟: 、有如下步 確定硬體版本碼; 確定密碼; 確定填加碼; 確定演算法; 按照演算法,將各碼值運算, 認碼;及 其、、、σ果作為硬體確 將填加碼和硬體確認碼一同寫入硬 如m利範圍扪項所述智慧 ’其中所述生成韌胪& π成α p k制方法 驟:4生成初體確遇碼的步驟更包換有如下步友 /、馬孕人體版本碼和硬體版本碼; 計算並填寫硬體確認碼和 :=寫,體槽案的=和;及 ^ t It # #.J m @ $ ,其中所述根據勃體確認碼與硬:確:碼級 對’升級韌體程式的步驟更包換有如下步驟: 確定系統資源足夠存聍載入的新韌體; 載入新勒體; 檢驗新韌體的校驗和是否正確; 由新韌體的韌體確認螞中的資料配合雇品硬體中 存儲的原填加碼,計算出硬體確認碼; 比對該計算出的硬體確認碼與產品硬雜中存儲的 硬體確認碼是否相同;及 根據校驗和比對結果,將新韌體檔案燒錄到快閃 吕己憶體中,並自動重開機。 如申明專利範圍第2項或第3項所述智慧塑韌體升級控 制方法,其中所述硬體版本碼的資料格式為:• An intelligent firmware upgrade control method, including: generating a hardware confirmation code; generating a firmware confirmation code; and a firmware program based on a check ratio of the moving body confirmation code and the hardware confirmation code. Regarding the "upgrade", the intelligent firmware upgrade method described in item i of the scope of the patent application, wherein the steps of generating the hardware confirmation code are more inclusive: 4 steps: 1. Have the following steps to determine the hardware version code; determine the password; confirm Fill in the code; Determine the algorithm; Compute the code values according to the algorithm to recognize the code; and ,,,, and σ as the hardware Make sure that the fill code and the hardware confirmation code are written into the hard-to-finish range. The above-mentioned wisdom is described in the method of generating toughness & π into α pk system: 4 steps to generate the initial body real encounter code include the following steps: / Ma pregnant body version code and hardware version code; calculate and Fill in the hardware confirmation code and: = write, == in the body slot case; and ^ t It # # .J m @ $, which is based on the hardware confirmation code and hardware: Yes: code level pair 'upgrade firmware program The steps include the following steps: Make sure that the system resources are sufficient to store the new firmware loaded; load the new firmware; verify that the checksum of the new firmware is correct; confirm the firmware of the new firmware with the firmware of the new firmware The data is matched with the original filling code stored in the hardware of the hired goods to calculate the hardware. Confirmation code; Compare whether the calculated hardware confirmation code is the same as the hardware confirmation code stored in the product hardware and software; and burn the new firmware file to the flash Lu Jiyi body based on the checksum comparison result And restart automatically. For example, the smart plastic firmware upgrade control method described in item 2 or item 3 of the patent scope is declared, wherein the data format of the hardware version code is: Vender/Product ID V cTF l Η 其中, Vender/Product ID :用於辨識產品製造者及產 品名稱; V :使用1位元組記錄製造者資料; C ·使用1位兀組記錄中央處理器(cpu)資料,由 於中央處理器(CPU)是產品中的重要元件,不同中央 處理器(CPU)將會使用不同的韌體版本,故以i位元 組記錄;Vender / Product ID V cTF l Η Among them, Vender / Product ID: used to identify the product manufacturer and product name; V: use 1 byte to record the manufacturer's information; C · use 1 byte to record the central processing unit (cpu ) Data, because the central processing unit (CPU) is an important component in the product, different central processing units (CPU) will use different firmware versions, so recorded in i-bytes; 594571 六、申請專利範圍 P •使用1值元組記錄產品代號資料; 使用1俊元組記錄硬體(電路板)資料;及 &保留1位元組作為以後延伸用途。 如^明專利範圍第3項所述智慧型韌體升級控制方法 八中所述軟體版本碼的資料格式為:594571 6. Scope of patent application P • Use 1-value tuple to record product code data; use 1-junction tuple to record hardware (circuit board) data; and & reserve 1-byte for future extended use. As described in item 3 of the patent scope, the intelligent firmware upgrade control method No. 8 described in the data format of the software version code is: B C 其中 A :以一個位元組記錄主要的版本; =:Ϊ 一個位元組:修正重要程式錯誤⑽G); ⑽G:弟二第三個位元組:修正: 欠要程式錯誤 CC :以一個位元組記錄特別版本。 如申請專利範圍第i項、第3項或第4項所述知 體升級控制方法,其中所述韌體確認螞9:、早刃 為· J負料袼式 0 1 2 3 4 5 6 7 8 9 A 20h Vender/ProductID 30h CS Randl salt H( version(20h-2Fh),key,、 40h Software E)ynamic Version Rand2 H RBC where A: record the main version with one byte; =: Ϊ one byte: correct important program errors ⑽G); ⑽G: brother two third byte: correction: owed program error CC: use one Byte Record Special Edition. As described in the patent application scope item i, item 3 or item 4, the firmware upgrade control method, wherein the firmware confirms that 9 :, early blade is · J negative material type 0 1 2 3 4 5 6 7 8 9 A 20h Vender / ProductID 30h CS Randl salt H (version (20h-2Fh), key, 40h Software E) ynamic Version Rand2 HR 第19頁 594571 六、申請專利範圍Page 19 594571 6. Scope of Patent Application 其中, Vender/Product ID ··用於辨識產品製造者及產 品名稱, V 使 用1 位元 組 記 錄 製 造 者 資 料; C 使 用1 位元 組 記 錄 中 央 處 理 器(CPU)資料; P 使 用1 位元 組 記 錄 產 品 代 號 資料; Η 使 用1 位元 組 記 錄 硬 體 (電路板)資料; R 保 留1 位元 組 作 為 以 後 延 伸 用途; CS :使用1 位元組記錄π 校 驗 和 "資料; Sa 11 :使用1位元組記錄”填加碼”資料; Η ():使用1位元組記錄硬體確認碼資料; Software dynamic version :使用 6 位元組記錄 軟體版本資料;及 Randl,Rand2 :在未使用空間填上亂數。 8 ·如申請專利範圍第2項、第3項或第4項所述智慧型韌 體升級控制方法,其中所述填加碼為隨機自動產生, 且每運算一次就隨機產生一次,每次各不相同。 9 ·如申請專利範圍第2項、第3項或第4項所述智慧型韌Among them, Vender / Product ID ·· Used to identify the product manufacturer and product name, V uses 1 byte to record manufacturer data; C uses 1 byte to record central processing unit (CPU) data; P uses 1 byte Record product code information; Η Use 1 byte to record hardware (circuit board) information; R reserves 1 byte for future extended use; CS: Use 1 byte to record π checksum &data; Sa 11: Use 1-byte to record the data of "add code"; Η (): Use 1-byte to record the hardware confirmation code data; Software dynamic version: Use 6-byte to record the software version data; and Randl, Rand2: Not used Fill in random numbers in the space. 8 · The intelligent firmware upgrade control method as described in item 2, 3, or 4 of the scope of patent application, wherein the filling code is generated randomly and automatically, and it is generated randomly once for each operation, and each time the same. 9 · Smart and flexible as described in the scope of patent application No. 2, 3 or 4 體升級控制方法,其中所述計算使用的演算法是X0R 運算。 I 〇 ·如申請專利範圍第2項、第3項或第4項所述智慧型韌 體升級控制方法,其中所述計算使用的演算法是MD5 運算。 II ·如申請專利範圍第2項所述智慧型韌體升級控制方法Volume upgrade control method, wherein the algorithm used for the calculation is X0R operation. I 〇 The intelligent firmware upgrade control method according to item 2, 3, or 4 of the scope of patent application, wherein the calculation algorithm used is MD5 operation. II · Intelligent firmware upgrade control method as described in item 2 of the scope of patent application 第20頁 594571 六、申請專利範圍 ,其中所述將填加碼和硬體確認碼一同寫入硬體,是 將其一同燒錄到硬體中的某一塊非揮發性的記憶體 中。 12 如申請專利範圍第1 1項所述智慧型韌體升級控制方法 ,其中所述非揮發性的記憶體是CPLD (Complex Programmable Logic Device,複雜可編程邏輯設備 1 3 ·如申請專利範圍第11項所述智慧型韌體升級控制方法 ,其中所述非揮發性的記憶體是EEPROM (Electrically Erasable Programmable Read Only Memory,電子可擦可編輕唯讀記憶體)。 1 4 ·如申請專利範圍第4項所述智慧型韌體升級控制方法 ,其中所述確定系統資源足夠存貯載入的新韌體步 驟,如果檢測到系統資源不足時’則顯示警告訊息通 知使用者重新開機。 1 5 ·如申請專利範圍第4項戶斤述智慧型初體升級控制方法 ,其中所述校驗結果戒比對結果不正確’則顯不警告 訊息通知使用者重新開機。Page 20 594571 6. The scope of the patent application, where writing the fill code and the hardware confirmation code together into the hardware is to burn them together into a piece of non-volatile memory in the hardware. 12 The intelligent firmware upgrade control method according to item 11 of the scope of patent application, wherein the non-volatile memory is CPLD (Complex Programmable Logic Device, complex programmable logic device 1 3) The intelligent firmware upgrade control method described in the above item, wherein the non-volatile memory is EEPROM (Electrically Erasable Programmable Read Only Memory, electronically erasable, programmable, read-only memory). 1 4 The intelligent firmware upgrade control method according to item 4, wherein the step of determining that the system resource is sufficient to store the loaded new firmware, and if it detects that the system resource is insufficient, a warning message is displayed to notify the user to reboot. 1 5 · If the fourth item of the patent application scope describes the intelligent initial body upgrade control method, wherein the verification result or the comparison result is incorrect, a warning message is displayed to notify the user to restart. 第21頁Page 21
TW91125287A 2002-10-25 2002-10-25 Upgrade control method of intelligent firmware TW594571B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW91125287A TW594571B (en) 2002-10-25 2002-10-25 Upgrade control method of intelligent firmware

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW91125287A TW594571B (en) 2002-10-25 2002-10-25 Upgrade control method of intelligent firmware

Publications (1)

Publication Number Publication Date
TW594571B true TW594571B (en) 2004-06-21

Family

ID=34075605

Family Applications (1)

Application Number Title Priority Date Filing Date
TW91125287A TW594571B (en) 2002-10-25 2002-10-25 Upgrade control method of intelligent firmware

Country Status (1)

Country Link
TW (1) TW594571B (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8286156B2 (en) 2006-11-07 2012-10-09 Sandisk Technologies Inc. Methods and apparatus for performing resilient firmware upgrades to a functioning memory
CN103136127A (en) * 2011-11-28 2013-06-05 启碁科技股份有限公司 Electronic device, electronic device identification system and identification method of electronic device
US9116774B2 (en) 2013-05-14 2015-08-25 Sandisk Technologies Inc. Firmware updates for multiple product configurations
CN112579368A (en) * 2019-09-29 2021-03-30 佛山市顺德区顺达电脑厂有限公司 Power management chip detection system and method
TWI776676B (en) * 2021-09-15 2022-09-01 英業達股份有限公司 Method of firmware burning and checking and server system thereof

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8286156B2 (en) 2006-11-07 2012-10-09 Sandisk Technologies Inc. Methods and apparatus for performing resilient firmware upgrades to a functioning memory
CN103136127A (en) * 2011-11-28 2013-06-05 启碁科技股份有限公司 Electronic device, electronic device identification system and identification method of electronic device
CN103136127B (en) * 2011-11-28 2016-03-09 启碁科技股份有限公司 The recognition methods of electronic installation, electronic installation recognition system and electronic installation
US9116774B2 (en) 2013-05-14 2015-08-25 Sandisk Technologies Inc. Firmware updates for multiple product configurations
CN112579368A (en) * 2019-09-29 2021-03-30 佛山市顺德区顺达电脑厂有限公司 Power management chip detection system and method
TWI776676B (en) * 2021-09-15 2022-09-01 英業達股份有限公司 Method of firmware burning and checking and server system thereof

Similar Documents

Publication Publication Date Title
US8122258B2 (en) System and method for secure operating system boot
US7984283B2 (en) System and method for secure operating system boot
JP4404940B2 (en) Method and system for providing custom software images to a computer system
TWI376634B (en) Computing system, method, computer-readable medium and patch data structure product for augmenting software
US9910743B2 (en) Method, system and device for validating repair files and repairing corrupt software
US8612800B2 (en) Computing device with recovery mode
US5291598A (en) Method and system for decentralized manufacture of copy-controlled software
US8751817B2 (en) Data processing apparatus and validity verification method
GB2408359A (en) Controlling upgrade of firmware
BRPI1103615B1 (en) METHOD AND SYSTEM FOR REPLACING AN ILLEGITIMATE COPY OF A SOFTWARE WITH A LEGITIMATE COPY, AND, NON TRANSIENT, COMPUTER-READABLE STORAGE MEANS
US10776493B2 (en) Secure management and execution of computing code including firmware
TW594571B (en) Upgrade control method of intelligent firmware
EP2174256A1 (en) Method and apparatus for changing and adding activation keys for functions of digital content without having to change and recompile the digital content
US7047565B2 (en) Method and system for capturing in-service date information
CN104751082B (en) Operating system and data security control method and device
CN110502380A (en) A kind of method of hash algorithm coprocessor self-test
TWI467484B (en) Bios for self-verifying option rom and the verifying method thereof
JP2012216222A (en) Information processor and program
JP2008108162A (en) Memory management method
WO2018218814A1 (en) Method for storing off-line transaction record, and computer device and storage medium
TWI728635B (en) Storage device information management method compatible with different storage specifications
JP5152640B2 (en) Software management system
TW201122800A (en) Boot method for computer system using redundant array of independent disks
CN114117542A (en) Report tampering detection method and device, electronic equipment and storage medium
CN105224835B (en) Method for acquiring application program data based on intelligent terminal and intelligent terminal

Legal Events

Date Code Title Description
MK4A Expiration of patent term of an invention patent