CN106991299A - 一种加密认证模块及基于该模块的bios固件保护方法 - Google Patents
一种加密认证模块及基于该模块的bios固件保护方法 Download PDFInfo
- Publication number
- CN106991299A CN106991299A CN201710313173.2A CN201710313173A CN106991299A CN 106991299 A CN106991299 A CN 106991299A CN 201710313173 A CN201710313173 A CN 201710313173A CN 106991299 A CN106991299 A CN 106991299A
- Authority
- CN
- China
- Prior art keywords
- encryption
- bios
- authentication module
- encryption authentication
- firmware
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000000682 scanning probe acoustic microscopy Methods 0.000 claims description 30
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/123—Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- 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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种加密认证模块及基于该模块的BIOS固件保护方法,其实现过程为,在BIOS中添加一个工作在驱动执行环境DXE阶段的加密认证模块,此加密认证模块是一个DXE Driver,通过GPIO模拟1‑Wire总线时序访问实现加密认证功能,对BIOS固件进行保护。本发明的一种加密认证模块及基于该模块的BIOS固件保护方法与现有技术相比,只需对现有硬件方案增加很少的器件便可对BIOS固件实现有效的保护,避免BIOS固件被非法窃取,实用性强,适用范围广泛,易于推广。
Description
技术领域
本发明涉及计算机服务器技术领域,具体地说是一种加密认证模块及基于该模块的BIOS固件保护方法。
背景技术
BIOS是服务器系统中的重要组成部分,体现了一个服务器厂商的竞争力。市场中大量部署的是四路双路等中低端服务器,这类产品差异不大,导致一个厂家生产的服务器上的BIOS在另一个厂家生产的服务器上可以不经修改直接运行,这对服务器厂商的知识产权保护和企业利益不利。如何简单有效地保护BIOS固件不被非法窃取是需要解决的重要问题。基于此,现提供一种加密认证模块及基于该模块的BIOS固件保护方法。
发明内容
本发明的技术任务是针对以上不足之处,提供一种加密认证模块及基于该模块的BIOS固件保护方法。
本发明是一种加密认证模块,添加在BIOS中,应用于驱动执行环境DXE阶段,包括,
接口单元,在系统上电后接收BIOS的启动消息及认证请求,并通过模拟对应接口来访问加密芯片;
加密认证单元,通过配合加密芯片,实现加密认证功能;
比较单元,比较加密认证单元的加密结果与加密芯片的加密结果相同,则认证成功,不相同则认证失败。
所述接口单元通过GPIO模拟1-Wire总线时序访问加密芯片,实现加密认证功能,对BIOS固件进行保护。
在加密认证单元中,通过脚本执行SHA-1加密算法进行加密,同时加密芯片响应认证请求并通过与加密认证单元相同的密钥执行SHA-1加密算法进行加密。
在比较单元中,当加密认证单元的SHA-1加密算法的执行结果与加密芯片的SHA-1加密算法的执行结果相同则认证成功,否则认证失败。
一种基于加密认证模块的BIOS固件保护方法,其实现过程为,在BIOS中添加一个工作在驱动执行环境DXE阶段的加密认证模块,此加密认证模块是一个DXE Driver,通过GPIO模拟1-Wire总线时序访问实现加密认证功能,对BIOS固件进行保护。
其具体实现步骤为,
一、系统上电,BIOS启动并执行加密认证模块;
二、加密认证模块发起加密认证过程;
三、如果认证通过,BIOS继续执行后续代码完成系统的引导启动;
四、如果认证未通过,BIOS启动CPU循环等待,系统启动过程无法进行。
在步骤二中,加密认证模块的加密认证单元通过脚本执行SHA-1加密算法进行加密,同时加密芯片响应认证请求并通过与加密认证单元相同的密钥执行SHA-1加密算法进行加密。
在步骤四中,通过加密认证模块的比较单元,当加密认证单元的SHA-1加密算法的执行结果与加密芯片的SHA-1加密算法的执行结果相同则认证成功,否则认证失败。
本发明的一种加密认证模块及基于该模块的BIOS固件保护方法和现有技术相比,具有以下有益效果:
本发明的一种加密认证模块及基于该模块的BIOS固件保护方法,通过GPIO模拟1-Wire总线时序访问加密芯片实现加密认证功能,对BIOS固件进行保护;只需对现有硬件方案增加很少的器件便可对BIOS固件实现有效的保护,避免BIOS固件被非法窃取,实用性强,适用范围广泛,易于推广。
附图说明
附图1为本发明设备的结构示意图。
附图2为本发明方法的结构示意图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步说明。
如附图1所示,本发明提供一种加密认证模块,添加在BIOS中,应用于驱动执行环境DXE阶段,包括,
接口单元,在系统上电后接收BIOS的启动消息及认证请求,并通过模拟对应接口来访问加密芯片;
加密认证单元,通过配合加密芯片,实现加密认证功能;
比较单元,比较加密认证单元的加密结果与加密芯片的加密结果相同,则认证成功,不相同则认证失败。
所述接口单元通过GPIO模拟1-Wire总线时序访问加密芯片,实现加密认证功能,对BIOS固件进行保护。
在加密认证单元中,通过脚本执行SHA-1加密算法进行加密,同时加密芯片响应认证请求并通过与加密认证单元相同的密钥执行SHA-1加密算法进行加密。
在比较单元中,当加密认证单元的SHA-1加密算法的执行结果与加密芯片的SHA-1加密算法的执行结果相同则认证成功,否则认证失败。
如附图2所示,一种基于加密认证模块的BIOS固件保护方法,其实现过程为,在BIOS中添加一个工作在DXE(Driver Execution Environment,驱动执行环境)阶段的加密认证模块,此加密认证模块是一个DXE Driver,通过GPIO模拟1-Wire总线时序访问实现加密认证功能,对BIOS固件进行保护。
在UEFIBIOS的实现中,DXE Driver是DXE阶段所要执行的众多模块的一个统称,DXE Driver被DXE Core所读取,用来做各种硬件的初始化,产生Protocol和其他Service,比如实现网络ARP功能的ArpDxe、实现网络DHCP功能的Dhcp4Dxe、实现USB功能的EhciDxe等。本发明需要访问加密芯片,需要操作硬件,因此放入DXE阶段执行,类似于一个Driver,除了可以实现加密功能,还可以将相关访问接口实现为Protocol和Service,以供其他模块使用。
其具体实现步骤为,
一、系统上电,BIOS启动并执行加密认证模块;
二、加密认证模块发起加密认证过程;
三、如果认证通过,BIOS继续执行后续代码完成系统的引导启动;
四、如果认证未通过,BIOS启动CPU循环等待,系统启动过程无法进行。
在步骤二中,加密认证模块的加密认证单元通过脚本执行SHA-1加密算法进行加密,同时加密芯片响应认证请求并通过与加密认证单元相同的密钥执行SHA-1加密算法进行加密。
在步骤四中,通过加密认证模块的比较单元,当加密认证单元的SHA-1加密算法的执行结果与加密芯片的SHA-1加密算法的执行结果相同则认证成功,否则认证失败。
所述加密芯片采用DS28E01-100,基于此,本发明即为通过操作一个GPIO模拟1-Wire总线时序访问DS28E01-100加密芯片实现加密认证功能。
所述的加密认证模块是一个DXE Driver,GPIO此时已可用,DXE Driver操作一个GPIO模拟1-Wire总线时序向DS28E01-100加密芯片发起加密认证请求,并通过软件方式基于DXE Driver中硬编码的密钥执行SHA-1加密算法,加密芯片响应此认证请求通过硬件方式基于加密芯片已写入的与DXE Driver中硬编码的密钥相同的密钥执行SHA-1加密算法。若DXE Driver软件SHA-1加密算法的执行结果与加密芯片硬件SHA-1加密算法的执行结果相同则认证成功。
下面给出一个实施例:
有服务器主板一块,PCH(Platform Controller Hub)的一个GPIO上挂接DS28E01-100。BIOS固件放置在SPI Flash中,通过SPI接口挂接在PCH上。
服务器上电,BIOS执行加密认证模块,此DXE Driver的主要功能是通过GPIO模拟1-Wire总线时序和发送加密认证请求并通过软件方式执行SHA-1加密算法,通过对比软件SHA-1加密算法的执行结果与加密芯片硬件SHA-1加密算法的执行结果判断BIOS是继续执行还是使CPU进入循环等待状态。
设想BIOS固件被窃取,除非窃取者知道SHA-1加密算法的系统公共密钥,否则BIOS执行时CPU会被锁住,系统无法完成启动过程,这样就起到了保护BIOS固件的作用,从其他厂家服务器产品的SPI Flash中读取到的BIOS固件因为不能通过加密认证操作便不能被应用到其他板卡。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。
Claims (8)
1.一种加密认证模块,其特征在于,添加在BIOS中,应用于驱动执行环境DXE阶段,包括,
接口单元,在系统上电后接收BIOS的启动消息及认证请求,并通过模拟对应接口来访问加密芯片;
加密认证单元,通过配合加密芯片,实现加密认证功能;
比较单元,比较加密认证单元的加密结果与加密芯片的加密结果相同,则认证成功,不相同则认证失败。
2.根据权利要求1所述的一种加密认证模块,其特征在于,所述接口单元通过GPIO模拟1-Wire总线时序访问加密芯片,实现加密认证功能,对BIOS固件进行保护。
3.根据权利要求1或2所述的一种加密认证模块,其特征在于,在加密认证单元中,通过脚本执行SHA-1加密算法进行加密,同时加密芯片响应认证请求并通过与加密认证单元相同的密钥执行SHA-1加密算法进行加密。
4.根据权利要求3所述的一种加密认证模块,其特征在于,在比较单元中,当加密认证单元的SHA-1加密算法的执行结果与加密芯片的SHA-1加密算法的执行结果相同则认证成功,否则认证失败。
5.一种基于加密认证模块的BIOS固件保护方法,其特征在于,其实现过程为,在BIOS中添加一个工作在驱动执行环境DXE阶段的加密认证模块,此加密认证模块是一个DXEDriver,通过GPIO模拟1-Wire总线时序访问实现加密认证功能,对BIOS固件进行保护。
6.根据权利要求5所述的一种基于加密认证模块的BIOS固件保护方法,其特征在于,其具体实现步骤为,
一、系统上电,BIOS启动并执行加密认证模块;
二、加密认证模块发起加密认证过程;
三、如果认证通过,BIOS继续执行后续代码完成系统的引导启动;
四、如果认证未通过,BIOS启动CPU循环等待,系统启动过程无法进行。
7.根据权利要求6所述的一种基于加密认证模块的BIOS固件保护方法,其特征在于,在步骤二中,加密认证模块的加密认证单元通过脚本执行SHA-1加密算法进行加密,同时加密芯片响应认证请求并通过与加密认证单元相同的密钥执行SHA-1加密算法进行加密。
8.根据权利要求7所述的一种基于加密认证模块的BIOS固件保护方法,其特征在于,在步骤四中,通过加密认证模块的比较单元,当加密认证单元的SHA-1加密算法的执行结果与加密芯片的SHA-1加密算法的执行结果相同则认证成功,否则认证失败。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710313173.2A CN106991299A (zh) | 2017-05-05 | 2017-05-05 | 一种加密认证模块及基于该模块的bios固件保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710313173.2A CN106991299A (zh) | 2017-05-05 | 2017-05-05 | 一种加密认证模块及基于该模块的bios固件保护方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106991299A true CN106991299A (zh) | 2017-07-28 |
Family
ID=59417454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710313173.2A Pending CN106991299A (zh) | 2017-05-05 | 2017-05-05 | 一种加密认证模块及基于该模块的bios固件保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106991299A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108874388A (zh) * | 2018-06-08 | 2018-11-23 | 山东超越数控电子股份有限公司 | 一套代码支持多个主板实现资源共享的加密方法 |
CN110673861A (zh) * | 2019-08-12 | 2020-01-10 | 深圳市国科亿道科技有限公司 | 基于bios软件的保护方法 |
CN114756905A (zh) * | 2022-06-13 | 2022-07-15 | 惠州大亚湾华北工控实业有限公司 | 主板防伪及bios防护实现方法、装置和控制主板 |
CN115795490A (zh) * | 2023-02-13 | 2023-03-14 | 惠州大亚湾华北工控实业有限公司 | 可信启动方法、装置、工控主机及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130007471A1 (en) * | 2011-06-29 | 2013-01-03 | Rovi Corp. | Systems and methods for securing cryptographic data using timestamps |
CN104408364A (zh) * | 2014-12-01 | 2015-03-11 | 浪潮集团有限公司 | 一种服务器管理程序保护方法及系统 |
CN104732120A (zh) * | 2015-04-08 | 2015-06-24 | 迈普通信技术股份有限公司 | Fpga产权保护方法及系统 |
CN105718762A (zh) * | 2014-12-05 | 2016-06-29 | 中国长城计算机深圳股份有限公司 | 一种bios认证方法和装置 |
CN106502930A (zh) * | 2016-10-27 | 2017-03-15 | 福建星网视易信息系统有限公司 | 基于windows平台的GPIO模拟串行接口的方法和装置 |
-
2017
- 2017-05-05 CN CN201710313173.2A patent/CN106991299A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130007471A1 (en) * | 2011-06-29 | 2013-01-03 | Rovi Corp. | Systems and methods for securing cryptographic data using timestamps |
CN104408364A (zh) * | 2014-12-01 | 2015-03-11 | 浪潮集团有限公司 | 一种服务器管理程序保护方法及系统 |
CN105718762A (zh) * | 2014-12-05 | 2016-06-29 | 中国长城计算机深圳股份有限公司 | 一种bios认证方法和装置 |
CN104732120A (zh) * | 2015-04-08 | 2015-06-24 | 迈普通信技术股份有限公司 | Fpga产权保护方法及系统 |
CN106502930A (zh) * | 2016-10-27 | 2017-03-15 | 福建星网视易信息系统有限公司 | 基于windows平台的GPIO模拟串行接口的方法和装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108874388A (zh) * | 2018-06-08 | 2018-11-23 | 山东超越数控电子股份有限公司 | 一套代码支持多个主板实现资源共享的加密方法 |
CN110673861A (zh) * | 2019-08-12 | 2020-01-10 | 深圳市国科亿道科技有限公司 | 基于bios软件的保护方法 |
CN110673861B (zh) * | 2019-08-12 | 2022-03-18 | 深圳市国科亿道科技有限公司 | 基于bios软件的保护方法 |
CN114756905A (zh) * | 2022-06-13 | 2022-07-15 | 惠州大亚湾华北工控实业有限公司 | 主板防伪及bios防护实现方法、装置和控制主板 |
CN115795490A (zh) * | 2023-02-13 | 2023-03-14 | 惠州大亚湾华北工控实业有限公司 | 可信启动方法、装置、工控主机及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3582129B1 (en) | Technologies for secure hardware and software attestation for trusted i/o | |
CN106991299A (zh) | 一种加密认证模块及基于该模块的bios固件保护方法 | |
AU2011332180B2 (en) | Secure software licensing and provisioning using hardware based security engine | |
CN106687985B (zh) | 用于基于特权模式的安全输入机构的方法 | |
JP6538610B2 (ja) | 外部不揮発性メモリに間接アクセスするセキュリティデバイス | |
US20110246778A1 (en) | Providing security mechanisms for virtual machine images | |
CN103514414A (zh) | 一种基于ARM TrustZone的加密方法及加密系统 | |
JP2013541783A (ja) | 多ユーザ機密コードおよびデータを保護するためのアーキテクチャを含む方法および装置 | |
CN109523261B (zh) | 区块链终端的交易验证方法、相关装置及可读存储介质 | |
WO2008122171A1 (fr) | Procédé de pilotage de sécurité et système associé, procédé de génération d'une signature de codage et procédé d'authentification | |
CN110084043A (zh) | 用于提供可信平台模块服务的设备和方法 | |
CN104951701B (zh) | 一种基于usb控制器的终端设备操作系统引导的方法 | |
JP2007534544A (ja) | 車両内の制御機器の認証 | |
CN111158857B (zh) | 数据加密方法、装置、设备及存储介质 | |
CN112181513B (zh) | 一种基于硬件板卡的控制主机系统引导的可信度量方法 | |
CN110730159A (zh) | 一种基于TrustZone的安全和可信混合系统启动方法 | |
CN114969713A (zh) | 设备验证方法、设备及系统 | |
CN104537282A (zh) | 一种基于加密闪盘和大数据运算技术的授权使用方法 | |
CN104408364A (zh) | 一种服务器管理程序保护方法及系统 | |
KR102366809B1 (ko) | 애플리케이션 프로세서를 인증하기 위한 디스플레이 드라이버 집적 회로 그리고 이를 포함하는 모바일 장치 | |
CN106569907A (zh) | 一种系统启动文件的校验及编译方法 | |
JP4621732B2 (ja) | 車両外部の装置を認証するための方法、制御機器を有する自動車両のバスシステム及び車両外部の装置を認証するためのコンピュータ・プログラム | |
CN111310173A (zh) | 一种可信芯片的终端虚拟机身份认证方法及系统 | |
CN109583182B (zh) | 启动远程桌面的方法、装置、电子设备及计算机存储介质 | |
CN105357005A (zh) | 一种pci/pci-e接口的电力可信计算密码模块 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170728 |
|
RJ01 | Rejection of invention patent application after publication |