CN106991299A - 一种加密认证模块及基于该模块的bios固件保护方法 - Google Patents

一种加密认证模块及基于该模块的bios固件保护方法 Download PDF

Info

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
Application number
CN201710313173.2A
Other languages
English (en)
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.)
Jinan Inspur Hi Tech Investment and Development Co Ltd
Original Assignee
Jinan Inspur Hi Tech Investment and Development 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 Jinan Inspur Hi Tech Investment and Development Co Ltd filed Critical Jinan Inspur Hi Tech Investment and Development Co Ltd
Priority to CN201710313173.2A priority Critical patent/CN106991299A/zh
Publication of CN106991299A publication Critical patent/CN106991299A/zh
Pending legal-status Critical Current

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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing 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固件保护方法。
本发明是一种加密认证模块,添加在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加密算法的执行结果相同则认证成功,否则认证失败。
CN201710313173.2A 2017-05-05 2017-05-05 一种加密认证模块及基于该模块的bios固件保护方法 Pending CN106991299A (zh)

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)

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

* Cited by examiner, † Cited by third party
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模拟串行接口的方法和装置

Patent Citations (5)

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

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