CN110673861B - 基于bios软件的保护方法 - Google Patents

基于bios软件的保护方法 Download PDF

Info

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
Application number
CN201910741492.2A
Other languages
English (en)
Other versions
CN110673861A (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.)
Shenzhen Guoke Yidao Technology Co ltd
Original Assignee
Shenzhen Guoke Yidao Technology 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 Shenzhen Guoke Yidao Technology Co ltd filed Critical Shenzhen Guoke Yidao Technology Co ltd
Priority to CN201910741492.2A priority Critical patent/CN110673861B/zh
Publication of CN110673861A publication Critical patent/CN110673861A/zh
Application granted granted Critical
Publication of CN110673861B publication Critical patent/CN110673861B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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)
  • 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软件的保护方法
【技术领域】
本发明涉及一种基于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序列号或内存序列号。
CN201910741492.2A 2019-08-12 2019-08-12 基于bios软件的保护方法 Active CN110673861B (zh)

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)

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

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

Patent Citations (8)

* Cited by examiner, † Cited by third party
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
CN103065102B (zh) 基于虚拟磁盘的数据加密移动存储管理方法
CN102208000B (zh) 为虚拟机镜像提供安全机制的方法和系统
US20190253417A1 (en) Hardware device and authenticating method thereof
WO2020192406A1 (zh) 数据存储、验证方法及装置
US20040093505A1 (en) Open generic tamper resistant CPU and application system thereof
AU2013270195B2 (en) Mobile terminal detection method and mobile terminal
CN109858265A (zh) 一种加密方法、装置及相关设备
CN104951701B (zh) 一种基于usb控制器的终端设备操作系统引导的方法
US11803366B2 (en) Firmware updating system and method
CN110795126A (zh) 一种固件安全升级系统
WO2012161505A1 (en) Method and apparatus for authenticating a non-volatile memory device
CN1527208A (zh) 基于身份认证的计算机安全及加密的实现方法和装置
CN109445705B (zh) 固件认证方法及固态硬盘
JP5680617B2 (ja) 安全性を有するデータ共有システム及び実行方法
JP5076110B2 (ja) データを保証するためのシステム及び方法
US20080086613A1 (en) Methods and systems for command-flow continuity application-authentication
US7979628B2 (en) Re-flash protection for flash memory
JP6951375B2 (ja) 情報処理装置、情報処理方法及びプログラム
CN110837634A (zh) 基于硬件加密机的电子签章方法
CN113505363B (zh) 通过软件方式实现存储空间防重放的方法和系统
WO2011139134A2 (ko) 저장 장치의 인증 방법, 기계로 읽을 수 있는 저장 매체 및 호스트 장치
CN111539042B (zh) 一种基于核心数据文件可信存储的安全操作方法
CN110673861B (zh) 基于bios软件的保护方法
US9875048B2 (en) Solid state memory unit and method for protecting a memory including verification of a sequence of requests for access to physical blocks
CN115688120A (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