TWI234706B - System and method for firmware authentication - Google Patents

System and method for firmware authentication Download PDF

Info

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
Application number
TW091116673A
Other languages
English (en)
Inventor
Hung-Zung Wang
Original Assignee
Hon Hai Prec Ind 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 Hon Hai Prec Ind Co Ltd filed Critical Hon Hai Prec Ind Co Ltd
Priority to TW091116673A priority Critical patent/TWI234706B/zh
Priority to US10/335,378 priority patent/US7243240B2/en
Application granted granted Critical
Publication of TWI234706B publication Critical patent/TWI234706B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure 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頁
TW091116673A 2002-07-26 2002-07-26 System and method for firmware authentication TWI234706B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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