TW202125230A - 韌體更新之方法及其韌體更新系統 - Google Patents

韌體更新之方法及其韌體更新系統 Download PDF

Info

Publication number
TW202125230A
TW202125230A TW108147866A TW108147866A TW202125230A TW 202125230 A TW202125230 A TW 202125230A TW 108147866 A TW108147866 A TW 108147866A TW 108147866 A TW108147866 A TW 108147866A TW 202125230 A TW202125230 A TW 202125230A
Authority
TW
Taiwan
Prior art keywords
firmware
identification code
firmware update
file
module
Prior art date
Application number
TW108147866A
Other languages
English (en)
Other versions
TWI779257B (zh
Inventor
許桓瑞
高信義
許仲良
林筱娟
王銘邑
Original Assignee
聚眾聯合科技股份有限公司
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 聚眾聯合科技股份有限公司 filed Critical 聚眾聯合科技股份有限公司
Priority to TW108147866A priority Critical patent/TWI779257B/zh
Priority to JP2020097522A priority patent/JP7089549B2/ja
Priority to EP20179676.0A priority patent/EP3842932B1/en
Publication of TW202125230A publication Critical patent/TW202125230A/zh
Application granted granted Critical
Publication of TWI779257B publication Critical patent/TWI779257B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

一種韌體更新之方法及其韌體更新系統,包括以下步驟:執行設定流程,包括:將第一識別碼寫入至記憶模組內;以及於韌體提供端設定韌體更新檔,使韌體更新檔包括第二韌體映像檔及第二識別碼;以及執行一判斷流程,包括:接收韌體更新檔;根據第一識別碼確認韌體更新檔是否符合自定義結構;若不符合該自定義結構,則禁止韌體更新檔更新電腦系統;以及若符合自定義結構,將第二韌體映像檔取代第一韌體映像檔,並與第二識別碼一併寫入電腦系統之記憶模組內。

Description

韌體更新之方法及其韌體更新系統
本發明係關於一種韌體更新之方法及其韌體更新系統,特別是一種可以判斷韌體是否合法的韌體更新之方法及其韌體更新系統。
韌體是一種嵌入在硬體裝置中的軟體,於現有電腦系統中已經具有可以讓使用者更新韌體的功能。然而對於現有電腦系統中的程式無從判斷使用者欲自行更新的韌體,是否屬於該產品所能搭配韌體版本。當使用者誤用錯誤或不安全的韌體更新後,往往造成電腦系統不能正常工作,或者超出所能預期的行為。這樣的狀況產生不必要的成本支出。
於先前技術中,研發人員可以在編譯韌體程式碼後,依據產品的類別、版本等命名規則重新定義韌體映像檔的名稱。再另外將更新所使用的工具增加檔案名稱的判別,藉此篩選產品的韌體版本,避免更新錯誤的韌體版本。但先前技術中的機制只能做簡單的防範措施。對於知悉命名規則的使用者來說,可以利用修改檔案名稱的方式來輕易的將不明的韌體映像檔寫入電腦系統。如此一來原有的檔案名稱判別機制將失去效用。
因此,有必要發明一種新的韌體更新之方法及其韌體更新系統,以解決先前技術的缺失。
本發明之主要目的係在提供一種韌體更新之方法,可以有效判斷韌體是否合法。
本發明之另一主要目的係在提供一種用於上述方法之韌體更新系統。
為達成上述之目的,本發明之韌體更新之方法,係用於韌體更新系統,使韌體提供端得以對電腦系統進行更新,電腦系統具有記憶模組,且寫入第一韌體映像檔。方法包括以下步驟:執行設定流程,包括:將第一識別碼寫入至記憶模組內;以及於韌體提供端設定韌體更新檔,使韌體更新檔包括第二韌體映像檔及第二識別碼;以及執行一判斷流程,包括:接收韌體更新檔;根據第一識別碼確認韌體更新檔是否符合自定義結構;若不符合該自定義結構,則禁止韌體更新檔更新電腦系統;以及若符合自定義結構,將第二韌體映像檔取代第一韌體映像檔,並與第二識別碼一併寫入電腦系統之記憶模組內。
本發明之韌體更新系統包括第一設定模組、第二設定模組、比對模組及更新模組。第一設定模組用以將第一識別碼寫入至記憶模組內。第二設定模組用以於韌體提供端設定韌體更新檔,使韌體更新檔包括第二韌體映像檔及第二識別碼。比對模組於該電腦系統接收韌體更新檔後,藉以根據第一識別碼確認韌體更新檔是否符合自定義結構。更新模組係電性連接比對模組,其中若不符合自定義結構,更新模組禁止韌體更新檔更新電腦系統;若符合自定義結構,更新模組再將第二韌體映像檔取代第一韌體映像檔,並與第二識別碼一併寫入電腦系統之記憶模組內。
為能讓 貴審查委員能更瞭解本發明之技術內容,特舉較佳具體實施例說明如下。
請先參考圖1係本發明之韌體更新系統之系統架構圖及圖2係本發明之韌體更新系統與電腦系統之間之關係示意圖。
本發明之韌體更新系統1之目的是用以對電腦系統2內具有之韌體進行更新。電腦系統2可以為一般具有運算處理功能之桌上型電腦、筆記型電腦、智慧型手機或是平板電腦等,只要可以支援韌體更新功能的系統都在本發明的保護範圍內。本發明之韌體更新系統1也不限定要對電腦系統2的何種裝置進行韌體更新,也不限定進行韌體更新之數量,故可以適用於電腦系統2內的單一裝置,也可以用於複數個裝置。該電腦系統2具有一記憶模組2a,用以寫入電腦系統2所需的第一韌體映像檔51。而要進行更新的韌體由韌體提供端3得來,韌體提供端3可為一般的硬體廠商,但本發明並不限於此。
於本發明之一實施例中,韌體更新系統1包括第一設定模組11、第二設定模組12、比對模組20及更新模組30。第一設定模組11可以用於電腦系統2用以將第一識別碼41寫入至該記憶模組2a。第二設定模組12則用於韌體提供端3,以設定韌體提供端3要提供的韌體更新檔60,使該韌體更新檔60包括第二韌體映像檔52及第二識別碼42。第二韌體映像檔52為實際用來更新電腦系統2的韌體檔案。第二設定模組12可以將該第二識別碼42加入於該第二韌體映像檔52之最前端或最末端,以成為該韌體更新檔60。於本發明之一實施方式中,第一設定模組11及第二設定模組12可以根據一軟體開發套件(Software Development Kit,SDK)識別碼、一產品名稱或一產品序號等以生成該第一識別碼41及該第二識別碼42,但發明並不限於此。且為了避免識別碼內容被惡意更改,第一設定模組11及第二設定模組12係利用校驗碼(Checksum)演算機制以生成該第一識別碼41及該第二識別碼42。
在第二設定模組12生成第二識別碼42後,韌體提供端3提供包括第二識別碼42的韌體更新檔60給電腦系統2。在電腦系統2接收韌體更新檔60後,比對模組20用以根據儲存於電腦系統2之記憶模組2a的該第一識別碼41確認該韌體更新檔60是否符合一自定義結構。自定義結構可以包括定義影像檔的內容、長度或版本等。比對模組20可以藉由更新電腦系統2的簡單檔案傳輸協定(Trivial File Transfer Protocol,TFTP)、空中下載技術(Over-the-Air Technology,OTA)、超文本傳輸協定(HyperText Transfer Protocol,HTTP),來得到可以比對韌體映像檔的技術。但本發明並不限於使用上述的技術。故比對模組20可以比對第二識別碼42的內容是否符合該第一識別碼41的內容,或是比對韌體更新檔60之長度,包括第二韌體映像檔52或第二識別碼42,是否符合一設定長度。比對模組20也可以比對第二識別碼42代表的版本是否具有較新的版本編號。但本發明並不限於上述的方式。
更新模組30係電性連接該比對模組20。當比對模組20比對後得知韌體更新檔60及所包括第二識別碼42的不符合該自定義結構,該更新模組30會禁止該韌體更新檔60更新該電腦系統2。當比對模組20比對後得知符合該自定義結構,可以確定韌體更新檔60是合法安全的韌體檔案。更新模組30將該韌體更新檔60中的第二韌體映像檔52取代電腦系統2之第一韌體映像檔51,例如將第二識別碼42移除後得到第二韌體映像檔52,再將該第二韌體映像檔52寫入該電腦系統2之該記憶模組2a內正確的位置來取代第一韌體映像檔51,並同時將第二識別碼42也一併寫入記憶模組2a內,藉此即可完成電腦系統2的更新。
需注意的是,韌體更新系統1具有的各模組可以為硬體裝置、軟體程式結合硬體裝置、韌體結合硬體裝置等方式架構而成,例如可以將一電腦程式產品儲存於一電腦可讀取媒體中讀取並執行以達成本發明之各項功能,但本發明並不以上述的方式為限。此外,本實施方式僅例示本發明之較佳實施例,為避免贅述,並未詳加記載所有可能的變化組合。然而,本領域之通常知識者應可理解,上述各模組或元件未必皆為必要。且為實施本發明,亦可能包含其他較細節之習知模組或元件。各模組或元件皆可能視需求加以省略或修改,且任兩模組間未必不存在其他模組或元件。
接著請參考圖3係本發明之韌體更新之方法之步驟流程圖。此處需注意的是,以下雖以上述韌體更新系統1為例說明本發明之韌體更新之方法,但本發明之韌體更新之方法並不以使用在上述相同結構的韌體更新系統1為限。
本發明的韌體更新之方法首先要進行步驟3a以執行設定流程,即先進行步驟301:將一第一識別碼寫入至該記憶模組內。
首先第一設定模組11用以將第一識別碼41寫入至電腦系統2的該記憶模組2a。第一設定模組11可以利用校驗碼演算機制來根據軟體開發套件識別碼、產品名稱或產品序號等來生成第一識別碼41,但本發明的第一識別碼41並不限於上述的產生方式。
同時進行步驟302:於該韌體提供端設定一韌體更新檔。
同時第二設定模組12於韌體提供端3設定要提供的韌體更新檔60,使該韌體更新檔60包括第二韌體映像檔52及第二識別碼42。第二設定模組12同樣可以利用校驗碼演算機制來根據與第一識別碼41相同的軟體開發套件識別碼、產品名稱或產品序號等來生成第二識別碼42,再將該第二識別碼42加入於該第二韌體映像檔52之最前端或最末端,以成為該韌體更新檔60。
於上述步驟301及步驟302的設定流程結束後,接著電腦系統2要進行韌體更新時,韌體更新系統1要進行步驟3b以執行判斷流程,即執行步驟303:接收該韌體更新檔。
此時韌體提供端3提供包括第二識別碼42的韌體更新檔60給電腦系統2,比對模組20就要先接收判斷韌體更新檔60是否合法安全。
也就是進行步驟304:根據該第一識別碼確認該韌體更新檔是否符合一自定義結構。
比對模組20用以根據儲存於電腦系統2之記憶模組2a的該第一識別碼41確認該韌體更新檔60是否符合自定義結構。自定義結構可以包括定義影像檔的內容、長度或版本等,但本發明並不限於此。
若不符合該自定義結構,進行步驟305:禁止該韌體更新檔更新該電腦系統。
此時更新模組30會禁止該韌體更新檔60更新該電腦系統2。
若符合該自定義結構,進行步驟306:將該第二韌體映像檔取代該第一韌體映像檔,並與該第二識別碼一併寫入該電腦系統之該記憶模組內。
此時更新模組30會將該韌體更新檔60的第二識別碼42移除後得到第二韌體映像檔52。再將該第二韌體映像檔52寫入該電腦系統2之該記憶模組2a內正確的位置以取代原本的第一韌體映像檔51,第二識別碼42也會一併寫入記憶模組2a,藉此即可完成電腦系統2的更新。
此處需注意的是,本發明之韌體更新之方法並不以上述之步驟次序為限,只要能達成本發明之目的,上述之步驟次序亦可加以改變。
藉由本案的韌體更新之方法及韌體更新系統1,即可確保對電腦系統2進行更新的韌體是合法且安全的,避免對電腦系統2造成損害。
需注意的是,本實施方式僅例示本發明之較佳實施例,為避免贅述,並未詳加記載所有可能的變化組合。然而,本領域之通常知識者應可理解,上述各模組或元件未必皆為必要。且為實施本發明,亦可能包含其他較細節之習知模組或元件。各模組或元件皆可能視需求加以省略或修改,且任兩模組間未必不存在其他模組或元件。
綜上所陳,本發明無論就目的、手段及功效,在在均顯示其迥異於習知技術之特徵,懇請  貴審查委員明察,早日賜准專利,俾嘉惠社會,實感德便。惟應注意的是,上述諸多實施例僅係為了便於說明而舉例而已,本發明所主張之權利範圍自應以申請專利範圍所述為準,而非僅限於上述實施例。
1:韌體更新系統 2:電腦系統 2a:記憶模組 3:韌體提供端 11:第一設定模組 12:第二設定模組 20:比對模組 30:更新模組 41:第一識別碼 42:第二識別碼 51:第一韌體映像檔 52:第二韌體映像檔 60:韌體更新檔
圖1係本發明之韌體更新系統之系統架構圖。 圖2係本發明之韌體更新系統與電腦系統之間之關係示意圖。 圖3係本發明之韌體更新之方法之步驟流程圖。

Claims (14)

  1. 一種韌體更新之方法,係用於一韌體更新系統,使一韌體提供端得以對一電腦系統進行更新,該電腦系統具有一記憶模組,且寫入一第一韌體映像檔,該方法包括以下步驟: 執行一設定流程,包括: 將一第一識別碼寫入至該記憶模組內;以及 於該韌體提供端設定一韌體更新檔,使該韌體更新檔包括一第二韌體映像檔及一第二識別碼;以及 執行一判斷流程,包括: 接收該韌體更新檔; 根據該第一識別碼確認該韌體更新檔是否符合一自定義結構; 若不符合該自定義結構,則禁止該韌體更新檔更新該電腦系統;以及 若符合該自定義結構,將該第二韌體映像檔取代該第一韌體映像檔,並與該第二識別碼一併寫入該電腦系統之該記憶模組內。
  2. 如申請專利範圍第1項所述之韌體更新之方法,更包括以下步驟: 根據一軟體開發套件(Software Development Kit,SDK)識別碼、一產品名稱或一產品序號以生成該第一識別碼及該第二識別碼。
  3. 如申請專利範圍第1或2項所述之韌體更新之方法,更包括以下步驟: 藉由一校驗碼(Checksum)演算機制以生成該第一識別碼及該第二識別碼。
  4. 如申請專利範圍第3項所述之韌體更新之方法,其中確認是否符合該自定義結構之步驟更包括: 確認該韌體更新檔之該第二識別碼是否符合該第一識別碼;以及 若是,將該韌體更新檔移除該第二識別碼,藉以轉換成為該第二韌體映像檔。
  5. 如申請專利範圍第4項所述之韌體更新之方法,其中確認是否符合該自定義結構之步驟更包括: 確認該韌體更新檔之長度是否符合一設定長度。
  6. 如申請專利範圍第4項所述之韌體更新之方法,其中確認是否符合該自定義結構之步驟更包括: 確認該韌體更新檔之該第二識別碼是否具有較新的版本編號。
  7. 如申請專利範圍第1項所述之韌體更新之方法,更包括以下步驟: 將該第二識別碼加入於該第二韌體映像檔之一最前端或一最末端,以成為該韌體更新檔。
  8. 一種韌體更新系統,用以使一韌體提供端得以對一電腦系統進行更新,該電腦系統具有一記憶模組,且寫入一第一韌體映像檔,該韌體更新系統包括: 一第一設定模組,用以將一第一識別碼寫入至該記憶模組內; 一第二設定模組,用以於該韌體提供端設定一韌體更新檔,使該韌體更新檔包括一第二韌體映像檔及一第二識別碼; 一比對模組,於該電腦系統接收一韌體更新檔後,藉以確認該第一識別碼與該第二識別碼之間是否符合一自定義結構;以及 一更新模組,係電性連接該比對模組,其中若不符合該自定義結構,該更新模組禁止該韌體更新檔更新該電腦系統;若符合該自定義結構,將該第二韌體映像檔取代該第一韌體映像檔,並與該第二識別碼一併寫入該電腦系統之該記憶模組內。
  9. 如申請專利範圍第8項所述之韌體更新系統,其中該第一設定模組及該第二設定模組係根據一軟體開發套件識別碼、一產品名稱或一產品序號以生成該第一識別碼及該第二識別碼。
  10. 如申請專利範圍第8或9項所述之韌體更新系統,其中該第一設定模組及該第二設定模組係藉由一校驗碼演算機制以生成該第一識別碼及該第二識別碼。
  11. 如申請專利範圍第10項所述之韌體更新系統,其中該比對模組係確認該韌體更新檔之該第二識別碼是否符合該第一識別碼;若該第二識別碼符合該第一識別碼,該更新模組將該韌體更新檔移除該第二識別碼,藉以轉換成為該第二韌體映像檔。
  12. 如申請專利範圍第11項所述之韌體更新系統,其中該比對模組係進一步確認該韌體更新檔之長度是否符合一設定長度。
  13. 如申請專利範圍第11項所述之韌體更新系統,其中該比對模組係進一步確認該韌體更新檔之該第二識別碼是否具有較新的版本編號。
  14. 如申請專利範圍第8項所述之韌體更新系統,其中該設定模組進一步將該第二識別碼加入於該第二韌體映像檔之一最前端或一最末端,以成為該韌體更新檔。
TW108147866A 2019-12-26 2019-12-26 韌體更新之方法及其韌體更新系統 TWI779257B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW108147866A TWI779257B (zh) 2019-12-26 2019-12-26 韌體更新之方法及其韌體更新系統
JP2020097522A JP7089549B2 (ja) 2019-12-26 2020-06-04 ファームウェア更新の方法およびそのファームウェア更新システム
EP20179676.0A EP3842932B1 (en) 2019-12-26 2020-06-12 Firmware update method and firmware update system thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108147866A TWI779257B (zh) 2019-12-26 2019-12-26 韌體更新之方法及其韌體更新系統

Publications (2)

Publication Number Publication Date
TW202125230A true TW202125230A (zh) 2021-07-01
TWI779257B TWI779257B (zh) 2022-10-01

Family

ID=71094149

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108147866A TWI779257B (zh) 2019-12-26 2019-12-26 韌體更新之方法及其韌體更新系統

Country Status (3)

Country Link
EP (1) EP3842932B1 (zh)
JP (1) JP7089549B2 (zh)
TW (1) TWI779257B (zh)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040030877A1 (en) * 2002-08-06 2004-02-12 Aleksandr Frid Using system BIOS to update embedded controller firmware
TWI220962B (en) * 2003-01-20 2004-09-11 Mediatek Inc Firmware updating method and related apparatus for checking content of replacing firmware before firmware updating
JP4551967B2 (ja) * 2008-03-07 2010-09-29 株式会社東芝 情報処理装置、記憶メディアドライブおよびファームウエア更新方法
JP2009271726A (ja) * 2008-05-07 2009-11-19 Ricoh Co Ltd 電子機器、プログラム実行制御方法、及びプログラム
TWI421765B (zh) * 2008-04-01 2014-01-01 Mstar Semiconductor Inc 可自動更新韌體之顯示控制裝置及其更新方法
JP2010079340A (ja) 2008-09-24 2010-04-08 Casio Computer Co Ltd 売上データ処理装置及びプログラム
JP5431111B2 (ja) 2009-10-22 2014-03-05 株式会社日立製作所 情報処理装置及びシステム設定方法
JP2015053015A (ja) 2013-09-09 2015-03-19 京セラドキュメントソリューションズ株式会社 ファームウェア、及び電子機器
TWI602122B (zh) * 2016-06-08 2017-10-11 神雲科技股份有限公司 韌體更新方法
KR101893518B1 (ko) * 2016-10-28 2018-10-04 한국전자통신연구원 제어 시스템의 업데이트 관리 장치, 업데이트 검증 장치 및 그 방법
US10599421B2 (en) * 2017-07-14 2020-03-24 Calamp Corp. Systems and methods for failsafe firmware upgrades

Also Published As

Publication number Publication date
JP2021105979A (ja) 2021-07-26
TWI779257B (zh) 2022-10-01
EP3842932B1 (en) 2023-03-08
EP3842932A1 (en) 2021-06-30
JP7089549B2 (ja) 2022-06-22

Similar Documents

Publication Publication Date Title
CN107025559B (zh) 一种业务处理方法及装置
CN104217139B (zh) 处理系统
US11281768B1 (en) Firmware security vulnerability verification service
CN110096314B (zh) 一种接口初始化方法、装置、设备及计算机可读存储介质
US9734311B1 (en) Secure authentication of firmware configuration updates
CN110659459B (zh) 一种软件代码处理方法、装置、电子设备及存储介质
JP2016197399A (ja) オペレーティング・システム・リソースに対する機械語のネイティブイメージのアクセス制御のシステム及び方法
WO2016062146A1 (zh) 序列号信息的更新方法、装置及终端
CN111615688A (zh) 一种断言验证代码绑定方法及装置
CN110659491B (zh) 一种计算机系统恢复方法、装置、设备及可读存储介质
CN114341800A (zh) 用于在电子设备中的应用更新之后提高运行时性能的方法和装置
CN108920159B (zh) 一种安全升级方法、装置及电子设备
US11507367B2 (en) Firmware update method and firmware update system thereof
CN110192178B (zh) 程序打补丁的方法、装置、微控制单元和终端设备
KR20200070450A (ko) 차량 제어기의 보안 강화 방법 및 장치
CN113010197B (zh) 应用静默升级方法、系统、终端设备及存储介质
KR101968272B1 (ko) 펌웨어 자동 업데이트 방법 및 이의 방법을 기록한 컴퓨터 판독 가능한 기록 매체
TWI779257B (zh) 韌體更新之方法及其韌體更新系統
CN112612833A (zh) 规则包更新方法、装置、设备及存储介质
JP2019003275A (ja) 確認システム、制御装置及び確認方法
CN117056904A (zh) 应用程序隐私合规判断方法、装置、计算机设备及介质
CN113126982B (zh) 一种应用程序生成、运行方法及装置
WO2023274195A1 (zh) 一种固件配置方法、装置、设备及存储介质
KR20190105774A (ko) 스마트 계약 언어에서 함수 호출의 안전성 향상 방법
US20090287904A1 (en) System and method to enforce allowable hardware configurations

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent