CN1696864A - 防止固件剽窃的方法 - Google Patents

防止固件剽窃的方法 Download PDF

Info

Publication number
CN1696864A
CN1696864A CNA2005100669948A CN200510066994A CN1696864A CN 1696864 A CN1696864 A CN 1696864A CN A2005100669948 A CNA2005100669948 A CN A2005100669948A CN 200510066994 A CN200510066994 A CN 200510066994A CN 1696864 A CN1696864 A CN 1696864A
Authority
CN
China
Prior art keywords
firmware
electronic equipment
encrypted
sign indicating
indicating number
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CNA2005100669948A
Other languages
English (en)
Other versions
CN1329787C (zh
Inventor
潘天惠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BenQ Corp
Original Assignee
BenQ Corp
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 BenQ Corp filed Critical BenQ Corp
Publication of CN1696864A publication Critical patent/CN1696864A/zh
Application granted granted Critical
Publication of CN1329787C publication Critical patent/CN1329787C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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]

Landscapes

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

Abstract

一种用以防止固件剽窃的方法,该固件包含可于一电子设备执行的固件码,该方法包含将该可执行的固件码加密为加密固件码;储存该加密固件码于该电子设备的一非易失性存储器中;储存一译码密钥于该电子设备的一译码电路;利用该电子设备的译码电路对该加密固件码进行译码,以解出该可执行的固件码;储存该可执行的固件码于该电子设备的一易失性存储器中;以及执行储存于该易失性存储器中的固件码,以运作该电子设备。

Description

防止固件剽窃的方法
技术领域
本发明涉及一种用于电子设备的固件(Firmware),特别是涉及一种用加密固件以防止固件被剽窃的方法。
背景技术
随着软件科技的快速发展,未经软件或信息的创作者或合法拥有者授权而使用或制造复制的软件或信息剽窃行为也日趋泛滥,剽窃行为尤其常见于计算机应用软件业。基于个人使用目的或是为了获取不法的商业利益,许多人经常进行未经授权的应用软件非法复制的行为。
另一个受到剽窃行为影响的领域为用于运作电子设备的固件,如光驱或硬盘机的固件。这些电子设备的固件通常储存于该电子设备的非易失性存储器中,如闪存(Flash Memory)、只读存储器(ROM)或电子擦除可编程只读存储器(EEPROM)。任何人只要读取非易失性存储器(Nonvolatile Memory)中的内容即可轻易地复制该固件。举例来说,假设某公司欲了解其它竞争者所制作的DVD(Digital Versatile Disc,DVD)烧录器的固件。剽窃者可轻易地复制该烧录器的固件,并可观察与分析该固件可执行的程序代码。由于大部份固件创作者皆希望能保密该固件的内容,因此需要一方法来加密固件以防止竞争者获得该固件的可执行的程序代码。
发明内容
因此本发明的主要目的是提供一种防止固件被复制的方法,用以解决上述的问题。
本发明的实施例提供一种用以防止固件剽窃的方法,该固件包含可于一电子设备执行的固件码,该方法包含将该可执行的固件码加密为加密固件码;储存该加密固件码于该电子设备的一非易失性存储器中;储存一译码密钥于该电子设备的一译码电路;利用该电子设备的译码电路对该加密固件码进行译码,以解出该可执行的固件码;储存该可执行的固件码于该电子设备的一易失性存储器中;以及执行储存于该易失性存储器中的固件码,以运作该电子设备。
本发明的优点为储存于非易失性存储器中的固件是经过加密的固件码。由于该固件码已加密,因此复制该非易失性存储器中的内容将无法读取可执行的固件码。此外,该可执行的固件码是由易失性存储器来执行,该易失性存储器提供比非易失性存储器更快的存取时间。
附图说明
图1为运用本发明方法的电子设备的示意图。
图2为为本发明的第一实施例中的固件更新系统的功能框图。
图3为更新电子设备的固件的流程图。
图4为译码与执行闪存中的加密固件码的流程图。
图5为本发明的第二实施例中的固件更新系统的功能框图。
图6为更新电子设备的固件的流程图。
附图符号说明
10                         固件更新系统
20                         主机计算机
22                         软件程序
24                         接口
30                         电子设备
32                         闪存
40                         主要芯片
42                         译码函数
44                         解密密钥
50                         动态随机存取存储器
52                         中央处理单元
54                         固件更新电路
200                        固件更新系统
220                        主机计算机
222                        软件程序
225                         固件烧录器
230                         电子设备
232                         闪存
240                         主要芯片
242                         译码函数
244                         解码密钥
250                         动态随机存取存储器
252                         中央处理单元
具体实施方式
请参阅图1。图1为运用本发明方法的一电子设备30。电子设备30包含一闪存32或其它非易失性存储器用以储存加密的固件码。电子设备30可为使用固件码的任何种类的设备。例如,电子设备30可为一台光驱、一硬盘或一部计算机。若电子设备30为一部计算机,则该计算机的基本输入输出系统(Basic Input Output System,BIOS)可储存于闪存32中。
当电子设备30运作时,一主要芯片40从闪存32中读取加密固件码,并将该加密固件码译码为可执行的固件码。主要芯片40接着将可执行的固件码储存到一动态随机存取存储器(Dynamic Random Access Memory,DRAM)50或其它易失性存储器中。因此,电子设备30在运作时仅将可执行的固件码暂时性地储存到动态随机存取存储器50中。当电子设备30电源被关闭时,动态随机存取存储器50中的存放内容会被消除,而可执行的固件码即不存在于动态随机存取存储器50中。虽然加密固件码仍可从闪存32中读取,但在无法得知解密密钥(Decipher Key)的情况下即无法将加密固件码译码。
请参阅图2。图2为本发明的第一实施例中的一固件更新系统10的功能框图。一主机计算机20连接至电子设备30用以更新电子设备30的固件。一软件程序22安装于主机计算机20上用以将可执行的固件码加密为加密固件码。主机计算机20随后经由主机计算机20的一接口24将该加密固件码传送到电子设备30。接口24可为诸如IDE、SCSI、USB或IEEE1394接口中的任一接口。
在固件更新系统10的第一实施例中,加密固件码经由主机计算机20的接口24传送到一固件更新电路54。固件更新电路54以从主机计算机20所接收到的新加密固件码取代先前闪存32中所存放的内容。另外,一解密密钥44储存于电子设备30的主要芯片40上,使主要芯片40可利用其译码函数42将该加密固件码加以解码。
主要芯片40的译码函数42将储存于闪存32上的加密固件码加以译码后输出可执行的固件码。可执行的固件码接着被储存于动态随机存取存储器50上。电子设备30的一中央处理单元(Central Processing Unit,CPU)52执行该储存于动态随机存取存储器50的可执行的固件码,藉此控制电子设备30的运作。
请参阅图3并参照图2。图3为一流程图显示本发明的第一实施例如何更新电子设备30上的固件。以下将详述流程中的各步骤。
步骤100:开始;
步骤102:主机计算机20加载被传送到电子设备30的可执行的固件码;
步骤104:软件程序22利用一加密密钥将该可执行的固件码加密为加密固件码;
步骤106:主机计算机20的软件程序22传送该加密固件码至电子设备30的固件更新电路54;
步骤108:固件更新电路54将该加密固件码载入至闪存32;
步骤110:译码密钥44被储存到电子设备30的主要芯片40上;以及
步骤112:结束。
用以将该可执行的固件码加密为加密固件码的加密密钥与解码密钥44为相同的密钥。如业界所已知的技术,解码与加密的运作是互为相反的。
请参阅图4并参照图2。图4为一流程图显示电子设备30如何译码与执行储存于闪存32的加密固件码。以下将详述流程中的各步骤。
步骤120:电子设备30开机;
步骤122:主要芯片40上的译码函数42从闪存32读取加密固件码;
步骤124:译码函数42利用译码密钥44将该加密固件码加以译码并储存可执行的固件码于动态随机存取存储器50中;
步骤126:中央处理单元52执行该储存于动态随机存取存储器50的可执行的固件码,藉此运作电子设备30;以及
步骤128:结束。
除了利用固件更新电路54来更新闪存32的内容外,仍有其它方法可用以更新电子设备30的固件。
请参阅图5。图5为本发明的第二实施例中的一固件更新系统200的功能框图。一主机计算机220连接至一电子设备230用以更新电子设备230的固件。一软件程序222安装于主机计算机220上用以将可执行的固件码加密为加密固件码。主机计算机220随后将该加密固件码传送到一固件烧录器(Firmware Burner)225,固件烧录器225可将电子设备230上闪存232的内容更新为该加密固件码。固件烧录器225是一特殊工具用以更新闪存232的内容。另外,一译码密钥244储存于一主要芯片240中,使主要芯片240可利用一译码函数242将加密固件码加以解码。
主要芯片240的译码函数242将储存于闪存232的加密固件码加以译码并输出可执行的固件码。该可执行的固件码随后被储存于一动态随机存取存储器250上。电子设备230的一中央处理单元252执行该储存于动态随机存取存储器250的可执行的固件码,藉此控制电子设备230的运作。
第二实施例的固件更新系统200与第一实施例的固件更新系统10的不同处在于其更新闪存232所存内容的方法。为了详细说明本发明的第二实施例如何更新电子设备230的固件,请参阅图6的流程图并参照图5。以下将详述流程中的各步骤。
步骤300:开始;
步骤302:主机计算机220加载被传送到电子设备230的可执行的固件码;
步骤304:软件程序222利用一加密密钥将该可执行的固件码加密为加密固件码;
步骤306:主机计算机220的软件程序222传送该加密固件码至固件烧录器225;
步骤308:固件烧录器225将该加密固件码储存至闪存232;
步骤310:将译码密钥244储存到电子设备230的主要芯片240中;以及
步骤312:结束。
与已知技术相比,利用本发明方法的电子设备仅将加密固件码储存于一非易失性存储器中。该加密固件码仅在电子设备运作时被译码并暂时储存在一易失性存储器。因此,可执行的固件码在该电子设备电源关闭时无法被读取,而只有该加密固件码可被读取。由于该译码密钥不易被得知,所以任何人皆不易读取该电子设备所使用的可执行的固件码。由于固件码已被加密,因此仅复制非易失性存储器中所存放的内容并不能读取到可执行的固件码。而且该可执行的固件码是由易失性存储器所执行,易失性存储器具有比非易失性存储器更快的存取速度。
以上所述仅为本发明的较佳实施例,凡依本发明的权利要求所做的均等变化与修饰,皆应属本发明专利的涵盖范围。

Claims (9)

1.一种用以防止固件剽窃的方法,该固件包含可于一电子设备执行的固件码,该方法包含:
将该可执行的固件码加密为加密固件码;
储存该加密固件码于该电子设备的一非易失性存储器中;
储存一译码密钥于该电子设备的一译码电路;
利用该电子设备的译码电路对该加密固件码进行译码,以解出该可执行的固件码;
储存该可执行的固件码于该电子设备的一易失性存储器中;以及执行储存于该易失性存储器中的固件码,以运作该电子设备。
2.如权利要求1所述的方法,其中安装于一主机计算机中的软件程序用以将该可执行的固件码加密为该加密固件码。
3.如权利要求2所述的方法,其中安装于该主机计算机中的软件程序传送该加密固件码至该电子设备的一固件更新电路,且该固件更新电路储存该加密固件码于该电子设备的非易失性存储器中。
4.如权利要求2所述的方法,其中安装于该主机计算机中的软件程序传送该加密固件码至一固件烧录器,该固件烧录器连接至该电子设备,且该固件烧录器储存该加密固件码于该电子设备的非易失性存储器中。
5.如权利要求1所述的方法,其中该非易失性存储器为闪存。
6.如权利要求1所述的方法,其中该易失性存储器为动态随机存取存储器。
7.如权利要求1所述的方法,其中该电子设备为一光驱。
8.如权利要求1所述的方法,其中该电子设备为一硬盘。
9.如权利要求1所述的方法,其中该电子设备为一计算机,且该可执行的固件码为该计算机的一基本输入输出系统的程序代码。
CNB2005100669948A 2004-05-13 2005-04-26 防止固件被剽窃的方法 Expired - Fee Related CN1329787C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/709,549 2004-05-13
US10/709,549 US20050263977A1 (en) 2004-05-13 2004-05-13 Method of preventing firmware piracy

Publications (2)

Publication Number Publication Date
CN1696864A true CN1696864A (zh) 2005-11-16
CN1329787C CN1329787C (zh) 2007-08-01

Family

ID=35349612

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100669948A Expired - Fee Related CN1329787C (zh) 2004-05-13 2005-04-26 防止固件被剽窃的方法

Country Status (3)

Country Link
US (1) US20050263977A1 (zh)
CN (1) CN1329787C (zh)
TW (1) TW200537887A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105574441A (zh) * 2015-11-09 2016-05-11 北京中电华大电子设计有限责任公司 一种嵌入式固件保护的方法和装置
CN103942075B (zh) * 2014-04-09 2017-11-14 苏州汇川技术有限公司 一种电梯控制器固件烧录系统及方法
CN108279918A (zh) * 2018-01-16 2018-07-13 深圳市太美亚电子科技有限公司 一种基于usb的固件烧录方法、系统及终端
CN108599930A (zh) * 2018-04-02 2018-09-28 湖南国科微电子股份有限公司 固件加解密系统与方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100169637A1 (en) * 2008-06-28 2010-07-01 Visisoft, Llc Palette for real-time display of previously accessed documents
US9069965B2 (en) * 2008-08-26 2015-06-30 Dell Products L.P. System and method for secure information handling system flash memory access
TWI444823B (zh) * 2011-03-31 2014-07-11 Phison Electronics Corp 參考頻率設定方法、記憶體控制器及快閃記憶體儲存裝置
CN102736666B (zh) * 2011-04-12 2016-03-30 群联电子股份有限公司 参考频率设定方法、存储器控制器及闪存储存装置
US8972536B2 (en) 2011-06-10 2015-03-03 Broadcom Corporation Systems and methods for secure provisioning of consumer network services
CN102522119A (zh) * 2011-12-14 2012-06-27 广东长虹电子有限公司 一种智能烧录hdcp key的方法和数码设备
TWI743479B (zh) * 2019-05-17 2021-10-21 英商鼎通盛股份有限公司 實現可延展基本輸出入系統運作協定的系統與開機方法
TWI720694B (zh) * 2019-11-18 2021-03-01 中華電信股份有限公司 具時間序列演算之燒錄認證裝置及方法
CN111460437A (zh) * 2020-04-03 2020-07-28 江苏芯盛智能科技有限公司 固件运行方法、装置、固件烧录方法、装置和计算机设备
CN116090031B (zh) * 2023-03-08 2023-06-20 上海泰矽微电子有限公司 一种基于芯片uuid的固件加密方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4278837A (en) * 1977-10-31 1981-07-14 Best Robert M Crypto microprocessor for executing enciphered programs
US5937063A (en) * 1996-09-30 1999-08-10 Intel Corporation Secure boot
US6317836B1 (en) * 1998-03-06 2001-11-13 Tv Objects Limited Llc Data and access protection system for computers
CN1281024C (zh) * 2002-08-02 2006-10-18 明基电通股份有限公司 通讯设备中用以保证用户信息安全的装置及方法
US20050114265A1 (en) * 2003-11-26 2005-05-26 Lingan Satkunanathan Real-time license enforcement system and method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942075B (zh) * 2014-04-09 2017-11-14 苏州汇川技术有限公司 一种电梯控制器固件烧录系统及方法
CN105574441A (zh) * 2015-11-09 2016-05-11 北京中电华大电子设计有限责任公司 一种嵌入式固件保护的方法和装置
CN108279918A (zh) * 2018-01-16 2018-07-13 深圳市太美亚电子科技有限公司 一种基于usb的固件烧录方法、系统及终端
CN108599930A (zh) * 2018-04-02 2018-09-28 湖南国科微电子股份有限公司 固件加解密系统与方法
CN108599930B (zh) * 2018-04-02 2021-05-14 湖南国科微电子股份有限公司 固件加解密系统与方法

Also Published As

Publication number Publication date
US20050263977A1 (en) 2005-12-01
CN1329787C (zh) 2007-08-01
TW200537887A (en) 2005-11-16

Similar Documents

Publication Publication Date Title
CN1696864A (zh) 防止固件剽窃的方法
CN1148645C (zh) 执行加密程序的装置
US10509734B2 (en) Cryptographic pointer address encoding
US9852025B2 (en) Protecting data stored on a solid state drive
CN1097772C (zh) 在安全存储区中保护应用程序数据的方法和装置
US9141802B2 (en) Computing device boot software authentication
CN1150468C (zh) 计算机系统及内容保护方法
CN1786916A (zh) 安全引导设备和方法
US20120260106A1 (en) System and method for binary layout randomization
CN1610886A (zh) 用于验证的系统和方法
CN1918556A (zh) 使用安全输入装置驱动器的计算机安全装置和方法
CN1541391A (zh) 从非易失性存储卡、光盘或其它介质重放所记录的音频、视频或其它内容的系统、方法和器件
JP2005018725A5 (zh)
US20100325446A1 (en) Securing Executable Code Integrity Using Auto-Derivative Key
KR20180045039A (ko) 보안 서브시스템
CN111859415A (zh) 神经网络模型加密系统和方法
CN1725196A (zh) 一种计算机数据的加密保护及读写控制方法
CN1961524A (zh) 数据检查装置、数据检查方法和数据检查程序
CN1625725A (zh) 存储器管理单元、代码验证装置以及代码译码装置
US9075999B2 (en) Memory device and method for adaptive protection of content
CN1279458C (zh) 数据加密/解密方法及其装置
CN101042683A (zh) 将计算机存储器和主板绑定的方法和装置
AU2010258234B2 (en) System and method for protecting information and related encryption keys
CN101042721A (zh) 使用临时许可临时访问内容的方法和设备
CN1991800A (zh) 一种指纹识别存储设备及指纹识别方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee