TWI234706B - System and method for firmware authentication - Google Patents
System and method for firmware authentication Download PDFInfo
- Publication number
- TWI234706B TWI234706B TW091116673A TW91116673A TWI234706B TW I234706 B TWI234706 B TW I234706B TW 091116673 A TW091116673 A TW 091116673A TW 91116673 A TW91116673 A TW 91116673A TW I234706 B TWI234706 B TW I234706B
- Authority
- TW
- Taiwan
- Prior art keywords
- firmware
- unit
- random number
- cryptographic algorithm
- patent application
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
Description
1234706 五、發明說明(1) 【發明領域】 本發明係有關一種韌體鑑權系統及方法,尤指一種使 用於資訊產品之韌體鑑權系統及方法。 【發明背景】 按,隨著貧訊產業之快速發展,市場上出現多種資訊 產品。而在各種資訊產品上,一般均設有一貯存器以貯存 韌體,該勒體與資訊產品上的電路相配合,從而實現該資 訊產品之功能。惟,該資訊產品的電路設計一經公開使用 ,即很容易被他人複製;而隨著半導體技術的發展,他人 亦很容易藉燒錄為對貯存在貯存器中的韌體進行複製。從 而,他人$不經授權即製造相同的資訊產品,使得該資訊 產品的設計利证受損。 【發明目的】 本發明之目的在於提供一種防止他人未經授權而對韌 體非法使用之韌體鑑權系統及方法。 【發明特徵】
本發明之韌體鑑,系統及方法,該韌體鑑權系統包括 一貯存有韌體之貯存為、一可程式化微處理器及一微處理 器,其中微處理器係用於耦合貯存器與可程式化微處理器 。韌體中包括第一被碼异法,可程式化微處理器中設有小 容量的只讀貯存器以貯存第二密碼算法。該韌體鑑權方法 係藉由校驗第〆、第t密碼算法所產生的二數字簽章是否 匹配而進行,而所述第一、第二密碼算法係採用相同輸入 值進行運算以產生所述二數字簽章。
第5頁 1234706 五、發明說明(2) " " 一 【較佳實施例】 請參閱第一圖所示,其係一利用本發明之韌體鑑權系 統的實施例。該韌體鑑權系統包括一貯存有韌體丨〇之貯存 器1、一可程式化微處理器2及一微處理器3,該微處理器3 連接在貯存器1與可程式化微處理器2之間。韌體丨〇包括隨 機數產生單元11、計數單元丨2、數據合成單元13、第一密 ,算法14、校驗單元15及功能單元16,功能單元16係用於 實現資訊產品的功能。可程式化微處理器2中設有小容量 的只讀貯存器20以貯存第二密碼算法24。 請參閱第二圖所示,本發明之韌體鏗權方法在微處理 器3中的的執行步驟如下·· 步驟U0 :隨機數產生單元11隨機產生隨機數; y驟1 1 1 ·计數單元1 2對累加數η (累加數η初始值為 0 )進行計數,並判斷累加數^是否大於一特定值Ν ( Ν值一 般為5 ) 若疋’則系統终止,若否,則執行下一步驟11 2 少& 112 ·數據合成單元13藉由上述隨機數為輸入執 行運鼻’產生十六位元的鑰匙; 沪驟1 1 3 :十六位元的鑰匙被傳送給可程式化微處理 器2 ; ^ 沪驟114 :貯存器1中的第一密碼算法14藉由十六位元 的鑰瘅為輸入執行運算,產生數字簽章A,同時,可程式 化微處理為2中的第二密碼算法2 4藉由十六位元的鑰匙為 輪入#行運算,產生數字簽章B ; 1234706
步驟11 5 :微處理器3從可程式化微處理器2中接收數 字簽章B ; 步驟1 16 ··校驗單元15對數字簽章a與數字簽章b進行 校驗是否匹配,若是,則鑑權流程結束,開始執行功能單 凡1 6 ’若否’則回到步驟丨丨1重新開始執行鑑權流程。 在實施中,第一密碼算法14與第二密碼算法24可以相 同,此時,校驗單元1 5採用一比較器比對數字簽章A與數 字簽章B是否相同即可完成校驗工作。
第一密碼算法1 4與第二密碼算法24亦可不相同,此時 ,,驗單元1 5係為一互補比較器,該互補比較器校檢第一 、第二密碼算法14、24所產生的數字簽章A、B是否互補, 即可完成校驗工作。 另,計數單元1 2可以省略以減少鑑權流程所需步驟, 准,可此會導致鑑權流程進入死循環。數據合成單元1 3功 :=略,二密碼算法14、24可採用隨機數產生單元11 生的隨機數為輪入。 汀启
密碼Ξ ::式化微處理器2中:口、讀貯存器2 0所貯存的第二 ;訊::卜2無法進打非法複製’如是,即便他人可以消 惟i因:相:電路設計及貯存器1中的韌體10非法複製, =了 口 .、、、相應的可程式化微處理器2而無法製造相同的產 d交於習知技術,本發明藉由貯存器1中的第一穷 可防:種式化微處理器2中的第二密碼算法2 4進: 止他人未經授權而非法使用韌體丨〇。
1234706 五、發明說明(4) 綜上所述,本發明確已符合發明專利之要件,爰依法 提出申請。惟,以上所述僅為本發明之較佳實施例,自不 能以此限定本發明之權利範圍。舉凡熟悉此項技藝之人士 爰依本發明之精神所作之等效修飾或變化者,皆應涵蓋在 以下申請專利範圍内。
第8頁 1234706 圖式簡單說明 第一圖係本發明鑑權系統之硬體方塊圖。 第二圖係本發明鑑權方法之流程圖。 【元件符號說明】
貯存器 1 韌體 10 隨機數產生單元 11 計數單元 12 數據合成單元 13 第一密碼算法 14 校驗早元 15 功能單元 16 可程式化微處理器 2 只讀貯存器 20 第二密碼算法 24 微處理器 3
Claims (1)
1234706
六、申請專利範圍 一種韌體鑑權系統,係用於防止他人非法使 貯存器中的韌體,包括: 貯存在 隨機數產生單元、第一密碼算法、校驗單元,^ 韌體中; ’係設於 可程式化微處理器,其中設有只讀貯存器以扩〜 密碼算法;及 ° 、丁子第二 u處理為,係耗合戎貯存器與該可程式化微處理器; 其中 第一、第二密碼算法藉由隨機數產生單元所產生的同 機數為輸入而產生二數字簽章,校驗單元校驗該 —數予簽章是否匹配,若是,則韌體鑑權流程結束。 如申凊專利範圍第1項所述之韌體鑑權系統,其中貯存 器中的第一密碼算法與可程式化微處理器中的第二密 碼算法相同。 如申睛專利範圍第2項所述之韋刃體鑑權系統,其中校驗 單元係一比較器。 如^申請專利範圍第1項所述之韌體鑑權系統,其中貯存 裔中的第一密碼算法與邛程式化微處理器中的第二密 碼算法不相同。 ★申凊專利範園第4項戶斤述之拿刃體鑑權系統,其中校驗 如\元係為—互補比較器。 申清專利範園第1項戶斤述之韌體鏗權系統,其中韌體 之隨機數產生單元與第/密碼算法之間還包括一數據 口成單元,該數據合成單元藉由隨機數產生單元所產
1234706 六、申請專利範圍 生的隨機數為輸入而產生一數位式的鑰匙,該鑰匙同 時傳送給二密碼算法。 7. 如申請專利範圍第6項所述之韌體鑑權系統,其中數位 式的输匙具有十六位元。 8. 如申請專利範圍第6項所述之韌體鑑權系統,其中韌體 之隨機數產生單元與數據合成單元之間進一步還包括 一計數單元,計數單元對累加數η進行計數,並判斷 累加數η是否大於一特定值Ν,若是,則韌體鑑權流程 中止,若否,則執行數據合成單元。 9. 一種韌體鑑權方法,係可用於防止他人非法使用貯存 在貯存器中的韌體,包括下述步驟: 在韌體中提供隨機數產生單元、第一密碼算法及校驗 單元; 提供一可程式化微處理器,該可程式化微處理器中設 有一只讀貯存器以貯存一第二密碼算法; 提供一微處理器,係耦合於貯存器與可程式化微處理 器之間,該微處理器可執行上述韌體; 隨機數產生單元隨機產生隨機數; 第一、第二密碼算法採用該隨機數為輸入而產生二數 字簽章; 校驗單元校驗該二數字簽章是否匹配,若是,則鑑權 流程結束。 1 0.如申請專利範圍第9項所述之韌體鑑權方法,其中所述 韌體鑑權方法還包括下述步驟:
第11頁 1234706 六、申請專利範圍 在韌體之隨數產生單元與第一密碼算法之間提供一數 _ 據合成單元; 數據合成單元藉由隨機數產生單元所產生的隨機數為 _ 輸入產生十六位元的錄匙; 將該十六位元的鑰匙同時傳送給二密碼算法。 11.如申請專利範圍第1 0項所述之韌體鑑權方法,其中所 . 述韌體鑑權方法還包括下述步驟: 在韌體之隨數產生單元與數據合成單元之間進一步提 ‘ 供一計數單元; 計數單元對累加數η進行計數,並判斷累加數η是否大 ® 於一特定值Ν,若是,則韌體鑑權流程中止,若否 ,則執行數據合成單元。 螓
第12頁
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW091116673A TWI234706B (en) | 2002-07-26 | 2002-07-26 | System and method for firmware authentication |
US10/335,378 US7243240B2 (en) | 2002-07-26 | 2002-12-30 | System and method for firmware authentication |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW091116673A TWI234706B (en) | 2002-07-26 | 2002-07-26 | System and method for firmware authentication |
Publications (1)
Publication Number | Publication Date |
---|---|
TWI234706B true TWI234706B (en) | 2005-06-21 |
Family
ID=30768968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW091116673A TWI234706B (en) | 2002-07-26 | 2002-07-26 | System and method for firmware authentication |
Country Status (2)
Country | Link |
---|---|
US (1) | US7243240B2 (zh) |
TW (1) | TWI234706B (zh) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2810139B1 (fr) * | 2000-06-08 | 2002-08-23 | Bull Cp8 | Procede de securisation de la phase de pre-initialisation d'un systeme embarque a puce electronique, notamment d'une carte a puce, et systeme embarque mettant en oeuvre le procede |
US20040143746A1 (en) * | 2003-01-16 | 2004-07-22 | Jean-Alfred Ligeti | Software license compliance system and method |
FR2867635B1 (fr) * | 2004-03-11 | 2006-09-22 | Oberthur Card Syst Sa | Procede de traitement de donnees securise, base notamment sur un algorithme cryptographique |
US7374266B2 (en) | 2004-05-27 | 2008-05-20 | Silverbrook Research Pty Ltd | Method for at least partially compensating for errors in ink dot placement due to erroneous rotational displacement |
US7377609B2 (en) * | 2004-05-27 | 2008-05-27 | Silverbrook Research Pty Ltd | Printer controller for at least partially compensating for erroneous rotational displacement |
US7427117B2 (en) * | 2004-05-27 | 2008-09-23 | Silverbrook Research Pty Ltd | Method of expelling ink from nozzles in groups, alternately, starting at outside nozzles of each group |
US7484831B2 (en) * | 2004-05-27 | 2009-02-03 | Silverbrook Research Pty Ltd | Printhead module having horizontally grouped firing order |
US7328956B2 (en) * | 2004-05-27 | 2008-02-12 | Silverbrook Research Pty Ltd | Printer comprising a printhead and at least two printer controllers connected to a common input of the printhead |
US7448707B2 (en) * | 2004-05-27 | 2008-11-11 | Silverbrook Research Pty Ltd | Method of expelling ink from nozzels in groups, starting at outside nozzels of each group |
US7290852B2 (en) * | 2004-05-27 | 2007-11-06 | Silverbrook Research Pty Ltd | Printhead module having a dropped row |
US7549718B2 (en) * | 2004-05-27 | 2009-06-23 | Silverbrook Research Pty Ltd | Printhead module having operation controllable on basis of thermal sensors |
US7266661B2 (en) * | 2004-05-27 | 2007-09-04 | Silverbrook Research Pty Ltd | Method of storing bit-pattern in plural devices |
US7631190B2 (en) * | 2004-05-27 | 2009-12-08 | Silverbrook Research Pty Ltd | Use of variant and base keys with two entities |
US7314261B2 (en) * | 2004-05-27 | 2008-01-01 | Silverbrook Research Pty Ltd | Printhead module for expelling ink from nozzles in groups, alternately, starting at outside nozzles of each group |
US7281777B2 (en) * | 2004-05-27 | 2007-10-16 | Silverbrook Research Pty Ltd | Printhead module having a communication input for data and control |
US7243193B2 (en) * | 2004-05-27 | 2007-07-10 | Silverbrook Research Pty Ltd | Storage of program code in arbitrary locations in memory |
US20060294312A1 (en) * | 2004-05-27 | 2006-12-28 | Silverbrook Research Pty Ltd | Generation sequences |
US7557941B2 (en) * | 2004-05-27 | 2009-07-07 | Silverbrook Research Pty Ltd | Use of variant and base keys with three or more entities |
US7735944B2 (en) * | 2004-05-27 | 2010-06-15 | Silverbrook Research Pty Ltd | Printer comprising two printhead modules and at least two printer controllers |
US7607757B2 (en) * | 2004-05-27 | 2009-10-27 | Silverbrook Research Pty Ltd | Printer controller for supplying dot data to at least one printhead module having faulty nozzle |
US8011747B2 (en) * | 2004-05-27 | 2011-09-06 | Silverbrook Research Pty Ltd | Printer controller for controlling a printhead with horizontally grouped firing order |
US7600843B2 (en) * | 2004-05-27 | 2009-10-13 | Silverbrook Research Pty Ltd | Printer controller for controlling a printhead module based on thermal sensing |
US7188928B2 (en) | 2004-05-27 | 2007-03-13 | Silverbrook Research Pty Ltd | Printer comprising two uneven printhead modules and at least two printer controllers, one of which sends print data to both of the printhead modules |
US20070083491A1 (en) * | 2004-05-27 | 2007-04-12 | Silverbrook Research Pty Ltd | Storage of key in non-volatile memory |
US7517036B2 (en) * | 2004-05-27 | 2009-04-14 | Silverbrook Research Pty Ltd | Printhead module capable of printing a maximum of n channels of print data |
US20070088770A1 (en) * | 2005-10-14 | 2007-04-19 | Ming-Tsung Chiang | Structure for re-arranging file allocation index by memory block |
US20080028034A1 (en) * | 2006-07-25 | 2008-01-31 | Andrew Currid | Method for mapping an iscsi target name to a storage resource based on an initiator hardware class identifier |
US7610483B2 (en) * | 2006-07-25 | 2009-10-27 | Nvidia Corporation | System and method to accelerate identification of hardware platform classes |
US8909746B2 (en) * | 2006-07-25 | 2014-12-09 | Nvidia Corporation | System and method for operating system installation on a diskless computing platform |
US9003000B2 (en) * | 2006-07-25 | 2015-04-07 | Nvidia Corporation | System and method for operating system installation on a diskless computing platform |
US20120084544A1 (en) * | 2010-10-04 | 2012-04-05 | Ralph Robert Farina | Methods and systems for providing and controlling cryptographically secure communications across unsecured networks between a secure virtual terminal and a remote system |
US7769993B2 (en) * | 2007-03-09 | 2010-08-03 | Microsoft Corporation | Method for ensuring boot source integrity of a computing system |
KR101876297B1 (ko) * | 2012-03-16 | 2018-07-10 | 삼성전자주식회사 | 전자 서명 검증 장치 및 방법 |
US10181956B2 (en) | 2015-12-21 | 2019-01-15 | Hewlett-Packard Development Company, L.P. | Key revocation |
US10481900B2 (en) | 2016-04-11 | 2019-11-19 | Endress+Hauser Conducta Gmbh+Co. Kg | Method for updating a firmware component and device of measurement and control technology |
DE102016106819A1 (de) * | 2016-04-11 | 2017-10-26 | Endress+Hauser Conducta Gmbh+Co. Kg | Verfahren zur Aktualisierung einer Firmware-Komponente und Gerät der Mess- und Regeltechnik |
US10114941B2 (en) * | 2016-08-24 | 2018-10-30 | Altera Corporation | Systems and methods for authenticating firmware stored on an integrated circuit |
US11741248B2 (en) | 2019-08-20 | 2023-08-29 | Bank Of America Corporation | Data access control using data block level encryption |
US11176264B2 (en) | 2019-08-20 | 2021-11-16 | Bank Of America Corporation | Data access control using data block level decryption |
US11216562B2 (en) * | 2019-12-31 | 2022-01-04 | Micron Technology, Inc. | Double wrapping for verification |
CN115208587B (zh) * | 2022-09-15 | 2022-12-09 | 三未信安科技股份有限公司 | 一种基于密码模块的密码算法的实现系统及方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4757468A (en) * | 1982-09-22 | 1988-07-12 | Intel Corporation | Authenticated read-only memory |
US5412730A (en) * | 1989-10-06 | 1995-05-02 | Telequip Corporation | Encrypted data transmission system employing means for randomly altering the encryption keys |
US5386469A (en) * | 1993-08-05 | 1995-01-31 | Zilog, Inc. | Firmware encryption for microprocessor/microcomputer |
FR2733379B1 (fr) * | 1995-04-20 | 1997-06-20 | Gemplus Card Int | Procede de generation de signatures electroniques, notamment pour cartes a puces |
US5822423A (en) * | 1996-03-20 | 1998-10-13 | Numerex Investment Corporation | Apparatus and method for supervising derived channel communications |
US5937063A (en) | 1996-09-30 | 1999-08-10 | Intel Corporation | Secure boot |
GB9626241D0 (en) | 1996-12-18 | 1997-02-05 | Ncr Int Inc | Secure data processing method and system |
US6223266B1 (en) * | 1997-08-20 | 2001-04-24 | Cypress Semiconductor Corp. | System and method for interfacing an input/output system memory to a host computer system memory |
JP2002207715A (ja) * | 2001-01-11 | 2002-07-26 | Mitsubishi Electric Corp | マイクロコンピュータ及びそれに用いるメモリ制御方法 |
US20020138732A1 (en) * | 2001-03-23 | 2002-09-26 | Irvin David R. | Methods, systems and computer program products for providing digital signatures in a network environment |
-
2002
- 2002-07-26 TW TW091116673A patent/TWI234706B/zh not_active IP Right Cessation
- 2002-12-30 US US10/335,378 patent/US7243240B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20040019796A1 (en) | 2004-01-29 |
US7243240B2 (en) | 2007-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI234706B (en) | System and method for firmware authentication | |
TWI694709B (zh) | 基於區塊鏈的電子簽名方法及裝置、電子設備 | |
US20230092894A1 (en) | Ledger token transfer outside of a distributed ledger network through cryptographic binding to a transferrable possession token | |
TWI709058B (zh) | 基於區塊鏈的智能合約調用方法及裝置、電子設備 | |
TWI667586B (zh) | 用以核對uefi認證變量變化之系統及方法 | |
TWI501154B (zh) | 安全化序號 | |
TW202001654A (zh) | 基於區塊鏈的內容驗證方法及裝置、電子設備 | |
TWI299449B (en) | A system and method to proactively detect software tampering | |
CN1210637C (zh) | 保护静态和动态数据免遭未授权操作的系统 | |
KR20180122025A (ko) | 블록 체인-기반 멀티팩터 개인 신원 확인을 제공하는 시스템들 및 방법들 | |
JP2014505943A (ja) | 耐タンパー性ブート処理のためのシステム及び方法 | |
JP2021149964A5 (zh) | ||
JP6494373B2 (ja) | 情報処理装置、情報処理装置の制御方法、およびコンピュータプログラム | |
TW200406667A (en) | System and method for guaranteeing software integrity via combined hardware and software authentication | |
TWI480735B (zh) | 具有防複製功能的微處理器晶片及其晶片燒錄系統與電子裝置 | |
US8407248B2 (en) | System and method for authentication using a shared table and sorting exponentiation | |
TW200521902A (en) | Confidential information processing system and LSI | |
CN106650329A (zh) | 一种数据导出设备的个体授权方法 | |
CN114925336A (zh) | 一种激活软件的方法及系统 | |
JP4194772B2 (ja) | ソフトウェア使用認証方法、ソフトウェア使用認証プログラム、ソフトウェア使用認証プログラムを記録した記録媒体、ソフトウェア使用認証方法で用いられるデータ、このデータを記録した記録媒体 | |
JP4842836B2 (ja) | 認証コードを復旧する方法 | |
WO2003096181A1 (fr) | Dispositif, procede et programme de production de valeurs initiales de nombres aleatoires | |
TW200925862A (en) | Anti-attacking method for private key, controller and storage device executing the same | |
CN1584771A (zh) | 软件的加密方法 | |
JP2021039705A (ja) | 指紋認証機能付きデータ記憶装置および復元用データの作成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |