CN110673861B - 基于bios软件的保护方法 - Google Patents
基于bios软件的保护方法 Download PDFInfo
- Publication number
- CN110673861B CN110673861B CN201910741492.2A CN201910741492A CN110673861B CN 110673861 B CN110673861 B CN 110673861B CN 201910741492 A CN201910741492 A CN 201910741492A CN 110673861 B CN110673861 B CN 110673861B
- Authority
- CN
- China
- Prior art keywords
- authentication
- software
- bios
- bios software
- authentication code
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- 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]
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)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于BIOS软件的保护方法,其中BIOS软件认证部分是用于BIOS在开机时,验证是否有合格的认证码在机器中,APP刷写BIOS文件部分是指BIOS文件更新时,由于有认证码的关系,需要保留认证码不被覆盖,APP认证软件部分是指将对应MAC地址的认证码,记录到BIOS文件中,APP生成认证码是指用于生成对应MAC地址段的认证码,用于APP认证软件烧录到BIOS文件中,用的是一个简单可行的技术,来实现BIOS软件的认证保护机制,将不法的第三方拒之门外,防止公司的研发成果流失,认证方式简单有效,不用搭设服务器认证。
Description
【技术领域】
本发明涉及一种基于BIOS软件的保护方法,尤指一种基于X86量产时BIOS软件的保护方法。
【背景技术】
在X86量产时BIOS软件会外发给工厂,从而暴露给第三方人员。此时通过增加加密认证技术,采用额外APP软件实现BIOS软件的认证问题,可以对BIOS软件进行保护。
当一个成熟的X86***方案可以量产时,都是通过一个公式投入巨大的研发力量实现的。然而当成品机器暴露在广大的第三方时,硬件方案的抄板技术日益增强的情况下,只有通过软件形式去保护一个公司的研发成果。
BIOS软件是一个X86***研发的最重要软件。由于BIOS软件会外发给工厂生产,一些客户自行刷写;这时就需要有效的方式来保护BIOS软件不被第三方直接抄写利用。由于采用了认证保护机制,势必造成生产时的需要额外的工序来实现对目前的文件进行认证。
因此,有必要设计一种好的基于BIOS软件的保护方法,以克服上述问题。
【发明内容】
针对背景技术所面临的问题,本发明的目的在于提供一种只需工厂增加一道APP认证工序,就可以简单可行的对BIOS软件进行保护的方法。
为实现上述目的,本发明采用以下技术手段:
一种基于BIOS软件的保护方法,其包括以下步骤:
步骤一:BIOS软件认证部分,用于BIOS软件在开机时,验证是否有合格的认证码在机器中,先开机进入显示界面,开始读取认证码,认证码存储于BIOS软件的指定位置,保存于SPI ROM之中,读取出认证码后,用约定的加解密方法对认证码开始认证,认证成功时,将认证信息显示在显示器中;认证失败时,将认证失败信息显示;当量产装机时,采用的BIOS软件未经验证,将开机次数记录在BIOS软件中,每次开机时读取一次,当次数未超过预定次数时,认为未需验证,同时开机次数加1,超过预定次数时,则认为认证失败;
步骤二:APP刷写BIOS软件部分,BIOS软件更新时,需保留认证码不被覆盖,认证码已经记录在BIOS软件中,将刷写BIOS软件更新,刷写时,先将机器原本的验证码读取出来,保存在缓存中,接着用之前正常的程序刷写BIOS软件,BIOS软件刷写结束后,再通过接口程序,将BIOS软件的认证码写回BIOS软件中,刷写结束;
步骤三:APP认证软件部分,将对应MAC地址或序列号的认证码,记录到BIOS软件中,认证软件会先读取本机的MAC地址,再在已经存在的认证码中查找对应MAC地址的认证码,如找到相应的MAC地址认证码,则将其烧录到BIOS软件中,如未找到相应的MAC地址认证码,则认为非法操作,无法烧录验证码,且需要MAC地址对应,对应的工序需要放在烧录MAC地址之后;
步骤四:APP生成认证码,用于生成对应MAC地址段的认证码,用于APP认证软件烧录到BIOS软件中,在量产阶段时,确认量产的数量和对应的烧录MAC地址,用于生产的MAC地址,产生认证码,再将认证码打包,用于第三方的认证软件使用。
步骤一中,认证采用MAC地址和私钥的匹配认证,通过算法解密出来的私钥匹配,则认证成功,否则视为验证失败。
步骤一中,当次数未超过100次时,认为未需验证,同时开机次数加1,超过100次时,则认为认证失败。
步骤一中,认证失败时,采用的惩罚措施为开机3分钟延时循环,当未需认证时,将未需认证信息和开机次数显示在显示器中,进入下一步开机步骤。
步骤四中,用于生产的MAC地址,通过特定私钥和加密方式,产生认证码。
步骤三中,序列号为机器序列号(SN)、CPU序列号或内存序列号。
与现有技术相比,本发明具有以下有益效果:
上述基于BIOS软件的保护方法,其中BIOS软件认证部分是用于BIOS在开机时,验证是否有合格的认证码在机器中,APP刷写BIOS文件部分是指BIOS文件更新时,由于有认证码的关系,需要保留认证码不被覆盖,APP认证软件部分是指将对应MAC地址的认证码,记录到BIOS文件中,APP生成认证码是指用于生成对应MAC地址段的认证码,用于APP认证软件烧录到BIOS文件中,用的是一个简单可行的技术,来实现BIOS软件的认证保护机制,将不法的第三方拒之门外,防止公司的研发成果流失,认证方式简单有效,不用搭设服务器认证。
同时在设计时充分考虑量产的简单性,只需工厂增加一道APP认证工序,核心加密认证技术并不会释放给第三方,有效阻拦不法的第三方,认证上采用MAC地址一一对应方式,有效的实现认证码一对一形式,也可以采用其他信息,包括机器序列号(SN),CPU序列号,内存序列号等,只要机器唯一对应即可,有效的保护BIOS软件被泄露后,研发资料被抄写的风险,同时方案有效的闭环模式,防止被破解,简单模式,最小的增加量产的工序。
【附图说明】
图1为本发明基于BIOS软件的保护方法中步骤一的流程示意图;
图2为本发明基于BIOS软件的保护方法中步骤二的流程示意图;
图3为本发明基于BIOS软件的保护方法的整体流程示意图。
【具体实施方式】
为便于更好的理解本发明的目的、结构、特征以及功效等,现结合附图和具体实施方式对本发明作进一步说明。
请参见图1至图3,一种基于BIOS软件的保护方法,其包括以下步骤:
请参见图1,步骤一:BIOS软件认证部分,用于BIOS软件在开机时,验证是否有合格的认证码在机器中,先开机进入显示界面,开始读取认证码,认证码存储于BIOS软件的指定位置,保存于SPI ROM之中,不会由于机器掉电等原因遗失,同时第三方想要修改SPI ROM也是比较困难的一件事情。读取出认证码后,用约定的加解密方法对认证码开始认证,为了实现代码的简单可实现性,认证采用MAC地址和私钥的匹配认证,通过算法解密出来的私钥匹配,则认证成功,否则视为验证失败。
当刚开始量产装机时,采用的BIOS软件一定是未经验证的,此时应该采取例外处理方式对待。将开机次数记录在BIOS软件中,每次开机时读取一次,当次数未超过预定次数时,认为未需验证,同时开机次数加1,超过预定次数时,则认为认证失败。当次数未超过100次时,认为未需验证,同时开机次数加1,超过100次时,则认为认证失败。
认证成功时,将认证信息显示在显示器中;认证失败时,将认证失败信息显示;认证失败时,采用的惩罚措施为开机3分钟延时循环,当未需认证时,将未需认证信息和开机次数显示在显示器中,进入下一步开机步骤。
请参见图2,步骤二:APP刷写BIOS软件部分,BIOS软件更新时,需保留认证码不被覆盖,认证码已经记录在BIOS软件中,正常的BIOS更新刷写软件已经不适用,需要将刷写BIOS软件更新,刷写时,先将机器原本的验证码读取出来,保存在缓存中,接着用之前正常的程序刷写BIOS软件,BIOS软件刷写结束后,再通过接口程序,将BIOS软件的认证码写回BIOS软件中,刷写结束。
步骤三:APP认证软件部分,将对应MAC地址或序列号的认证码,记录到BIOS软件中,APP认证软件是用来将已经存在的认证码,通过特定接口方式,记录到BIOS文件中。这个软件是量产工厂需要执行的工序部分,由于真正的核心部分存在于认证码中,APP认证软件发布给工厂和第三方并不会泄露本方案的认证机制。APP认证软件的一一对应性是基于MAC地址实现的,认证软件会先读取本机的MAC地址,再在已经存在的认证码中查找对应MAC地址的认证码,如找到相应的MAC地址认证码,则将其烧录到BIOS软件中,如未找到相应的MAC地址认证码,则认为非法操作,无法烧录验证码,且需要MAC地址对应,对应的工序需要放在烧录MAC地址之后。序列号为机器序列号(SN)、CPU序列号或内存序列号。
步骤四:APP生成认证码,用于生成对应MAC地址段的认证码,用于APP认证软件烧录到BIOS软件中,在量产阶段时,确认量产的数量和对应的烧录MAC地址,用于生产的MAC地址,通过特定私钥和加密方式,产生认证码,再将认证码打包,用于第三方的认证软件使用。
上述基于BIOS软件的保护方法,其中BIOS软件认证部分是用于BIOS在开机时,验证是否有合格的认证码在机器中,APP刷写BIOS文件部分是指BIOS文件更新时,由于有认证码的关系,需要保留认证码不被覆盖,APP认证软件部分是指将对应MAC地址的认证码,记录到BIOS文件中,APP生成认证码是指用于生成对应MAC地址段的认证码,用于APP认证软件烧录到BIOS文件中,用的是一个简单可行的技术,来实现BIOS软件的认证保护机制,将不法的第三方拒之门外,防止公司的研发成果流失,认证方式简单有效,不用搭设服务器认证。
同时在设计时充分考虑量产的简单性,只需工厂增加一道APP认证工序,核心加密认证技术并不会释放给第三方,有效阻拦不法的第三方,认证上采用MAC地址一一对应方式,有效的实现认证码一对一形式,也可以采用其他信息,包括机器序列号(SN),CPU序列号,内存序列号等,只要机器唯一对应即可,有效的保护BIOS软件被泄露后,研发资料被抄写的风险,同时方案有效的闭环模式,防止被破解,简单模式,最小的增加量产的工序。
本发明方案的加密认证码的记录模式,不一定需要记录在BIOS SPI ROM之中,可以记录在EC SPI ROM之中,或者一些加密模块之中,只要有相应的读取和刷写方式就可以完成。
以上详细说明仅为本发明之较佳实施例的说明,非因此局限本发明的专利范围,所以,凡运用本创作说明书及图示内容所为的等效技术变化,均包含于本发明的专利范围内。
Claims (6)
1.一种基于BIOS软件的保护方法,其特征在于,包括以下步骤:
步骤一:BIOS软件认证部分,用于BIOS软件在开机时,验证是否有合格的认证码在机器中,先开机进入显示界面,开始读取认证码,认证码存储于BIOS软件的指定位置,保存于SPIROM之中,读取出认证码后,用约定的加解密方法对认证码开始认证,认证成功时,将认证信息显示在显示器中;认证失败时,将认证失败信息显示;当量产装机时,采用的BIOS软件未经验证,将开机次数记录在BIOS软件中,每次开机时读取一次,当次数未超过预定次数时,认为未需验证,同时开机次数加1,超过预定次数时,则认为认证失败;
步骤二:APP刷写BIOS软件部分,BIOS软件更新时,需保留认证码不被覆盖,认证码已经记录在BIOS软件中,将刷写BIOS软件更新,刷写时,先将机器原本的验证码读取出来,保存在缓存中,接着用之前正常的程序刷写BIOS软件,BIOS软件刷写结束后,再通过接口程序,将BIOS软件的认证码写回BIOS软件中,刷写结束;
步骤三:APP认证软件部分,将对应MAC地址或序列号的认证码,记录到BIOS软件中,认证软件会先读取本机的MAC地址,再在已经存在的认证码中查找对应MAC地址的认证码,如找到相应的MAC地址认证码,则将其烧录到BIOS软件中,如未找到相应的MAC地址认证码,则认为非法操作,无法烧录验证码,且需要MAC地址对应,对应的工序需要放在烧录MAC地址之后;
步骤四:APP生成认证码,用于生成对应MAC地址段的认证码,用于APP认证软件烧录到BIOS软件中,在量产阶段时,确认量产的数量和对应的烧录MAC地址,用于生产的MAC地址,产生认证码,再将认证码打包,用于第三方的认证软件使用。
2.如权利要求1所述的基于BIOS软件的保护方法,其特征在于:步骤一中,认证采用MAC地址和私钥的匹配认证,通过算法解密出来的私钥匹配,则认证成功,否则视为验证失败。
3.如权利要求1所述的基于BIOS软件的保护方法,其特征在于:步骤一中,当次数未超过100次时,认为未需验证,同时开机次数加1,超过100次时,则认为认证失败。
4.如权利要求1或3所述的基于BIOS软件的保护方法,其特征在于:步骤一中,认证失败时,采用的惩罚措施为开机3分钟延时循环,当未需认证时,将未需认证信息和开机次数显示在显示器中,进入下一步开机步骤。
5.如权利要求1所述的基于BIOS软件的保护方法,其特征在于:步骤四中,用于生产的MAC地址,通过特定私钥和加密方式,产生认证码。
6.如权利要求1所述的基于BIOS软件的保护方法,其特征在于:步骤三中,序列号为机器序列号(SN)、CPU序列号或内存序列号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910741492.2A CN110673861B (zh) | 2019-08-12 | 2019-08-12 | 基于bios软件的保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910741492.2A CN110673861B (zh) | 2019-08-12 | 2019-08-12 | 基于bios软件的保护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110673861A CN110673861A (zh) | 2020-01-10 |
CN110673861B true CN110673861B (zh) | 2022-03-18 |
Family
ID=69068708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910741492.2A Active CN110673861B (zh) | 2019-08-12 | 2019-08-12 | 基于bios软件的保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110673861B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101777105A (zh) * | 2010-01-25 | 2010-07-14 | 上海北大方正科技电脑***有限公司 | 一种基于bios的计算机开机防伪验证方法 |
CN102024099A (zh) * | 2009-09-21 | 2011-04-20 | 微星科技股份有限公司 | 个人计算机的开机认证方法及其开机认证*** |
CN106919859A (zh) * | 2015-12-25 | 2017-07-04 | 研祥智能科技股份有限公司 | 基本输入输出***保护方法和装置 |
CN106991299A (zh) * | 2017-05-05 | 2017-07-28 | 济南浪潮高新科技投资发展有限公司 | 一种加密认证模块及基于该模块的bios固件保护方法 |
CN107423626A (zh) * | 2017-07-19 | 2017-12-01 | 南京百敖软件有限公司 | 一种基于连续Hash值的BIOS更新信任链的方法 |
CN108229178A (zh) * | 2018-01-26 | 2018-06-29 | 郑州云海信息技术有限公司 | Bios写保护方法、装置、设备及计算机可读存储介质 |
CN108664260A (zh) * | 2018-04-09 | 2018-10-16 | 南京百敖软件有限公司 | 一种工厂模式下bios开机自动从网络更新本机序列号的方法 |
CN108762782A (zh) * | 2018-05-16 | 2018-11-06 | 山东华芯半导体有限公司 | 一种基于安全加密固态硬盘和bios芯片的安全访问控制方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9122492B2 (en) * | 2010-10-25 | 2015-09-01 | Wms Gaming, Inc. | Bios used in gaming machine supporting pluralaties of modules by utilizing subroutines of the bios code |
-
2019
- 2019-08-12 CN CN201910741492.2A patent/CN110673861B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102024099A (zh) * | 2009-09-21 | 2011-04-20 | 微星科技股份有限公司 | 个人计算机的开机认证方法及其开机认证*** |
CN101777105A (zh) * | 2010-01-25 | 2010-07-14 | 上海北大方正科技电脑***有限公司 | 一种基于bios的计算机开机防伪验证方法 |
CN106919859A (zh) * | 2015-12-25 | 2017-07-04 | 研祥智能科技股份有限公司 | 基本输入输出***保护方法和装置 |
CN106991299A (zh) * | 2017-05-05 | 2017-07-28 | 济南浪潮高新科技投资发展有限公司 | 一种加密认证模块及基于该模块的bios固件保护方法 |
CN107423626A (zh) * | 2017-07-19 | 2017-12-01 | 南京百敖软件有限公司 | 一种基于连续Hash值的BIOS更新信任链的方法 |
CN108229178A (zh) * | 2018-01-26 | 2018-06-29 | 郑州云海信息技术有限公司 | Bios写保护方法、装置、设备及计算机可读存储介质 |
CN108664260A (zh) * | 2018-04-09 | 2018-10-16 | 南京百敖软件有限公司 | 一种工厂模式下bios开机自动从网络更新本机序列号的方法 |
CN108762782A (zh) * | 2018-05-16 | 2018-11-06 | 山东华芯半导体有限公司 | 一种基于安全加密固态硬盘和bios芯片的安全访问控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110673861A (zh) | 2020-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190253417A1 (en) | Hardware device and authenticating method thereof | |
CN103065102B (zh) | 基于虚拟磁盘的数据加密移动存储管理方法 | |
CN102208000B (zh) | 为虚拟机镜像提供安全机制的方法和*** | |
US20040093505A1 (en) | Open generic tamper resistant CPU and application system thereof | |
US6539480B1 (en) | Secure transfer of trust in a computing system | |
WO2020192406A1 (zh) | 数据存储、验证方法及装置 | |
AU2013270195B2 (en) | Mobile terminal detection method and mobile terminal | |
CN109858265A (zh) | 一种加密方法、装置及相关设备 | |
US11803366B2 (en) | Firmware updating system and method | |
CN104951701B (zh) | 一种基于usb控制器的终端设备操作***引导的方法 | |
WO2012161505A1 (en) | Method and apparatus for authenticating a non-volatile memory device | |
CN110795126A (zh) | 一种固件安全升级*** | |
CN1527208A (zh) | 基于身份认证的计算机安全及加密的实现方法和装置 | |
JP5076110B2 (ja) | データを保証するためのシステム及び方法 | |
CN109445705B (zh) | 固件认证方法及固态硬盘 | |
JP5680617B2 (ja) | 安全性を有するデータ共有システム及び実行方法 | |
US7979628B2 (en) | Re-flash protection for flash memory | |
JP6951375B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN110837634A (zh) | 基于硬件加密机的电子签章方法 | |
WO2011139134A2 (ko) | 저장 장치의 인증 방법, 기계로 읽을 수 있는 저장 매체 및 호스트 장치 | |
CN111539042B (zh) | 一种基于核心数据文件可信存储的安全操作方法 | |
CN113505363A (zh) | 通过软件方式实现存储空间防重放的方法和*** | |
CN110673861B (zh) | 基于bios软件的保护方法 | |
CN101355428B (zh) | 采用增量检验来保护数据完整性的方法 | |
CN107861892B (zh) | 一种实现数据处理的方法及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |