CN104008342B - 一种通过bios和内核实现安全可信认证的方法 - Google Patents

一种通过bios和内核实现安全可信认证的方法 Download PDF

Info

Publication number
CN104008342B
CN104008342B CN201410247708.7A CN201410247708A CN104008342B CN 104008342 B CN104008342 B CN 104008342B CN 201410247708 A CN201410247708 A CN 201410247708A CN 104008342 B CN104008342 B CN 104008342B
Authority
CN
China
Prior art keywords
bios
kernel
signature
private key
linux
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
CN201410247708.7A
Other languages
English (en)
Other versions
CN104008342A (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.)
Shandong Chaoyue CNC Electronics Co Ltd
Original Assignee
Shandong Chaoyue CNC Electronics 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 Shandong Chaoyue CNC Electronics Co Ltd filed Critical Shandong Chaoyue CNC Electronics Co Ltd
Priority to CN201410247708.7A priority Critical patent/CN104008342B/zh
Publication of CN104008342A publication Critical patent/CN104008342A/zh
Application granted granted Critical
Publication of CN104008342B publication Critical patent/CN104008342B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/575Secure boot
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules

Abstract

本发明提供一种通过BIOS和内核实现安全可信认证的方法,在BIOS的NVSTORAGE区域中添加对操作系统内核签名进行解密的私钥,通过在UEFI BIOS中添加虚拟设备驱动程序,在DXE阶段的初期将虚拟设备驱动程序加载到UEFI运行环境中,在随后过程中,DXE驱动程序通过对BIOS的签名进行非对称加密,将加密后的结果保存于一块预先定义的保留内存区域,在BIOS自检结束后将操作系统内核文件加载到内存中,通过搜索标志性字符,获得内核代码的加密签名,UEFI BIOS通过对NVSTORAGE的访问读取存储在其中的私钥,利用私钥对操作系统签名进行解密,如果解密后的签名是可信任的,那么BIOS将跳转到内核代码进而将控制权移交给操作系统,否则将提示用户操作系统未通过认证,并提示用户是否继续运行。

Description

一种通过BIOS和内核实现安全可信认证的方法
技术领域
本发明涉及计算机应用技术领域,具体地说是一种通过BIOS和内核实现安全可信认证的方法。
背景技术
信息安全技术的发展除了建立在操作系统级别上的安全机制,还进一步延伸到了固件层。固件BIOS处于计算机系统的底层,如果BIOS遭到攻击,被恶意代码修改,会造成计算机系统的彻底奔溃,或导致计算机系统被恶意者从底层控制。为了解决BIOS系统面临的安全问题,业界提出了可信计算的概念。新版本的UEFI标准中加入了关于可信启动、数字签名和数字摘要等服务的定义,这些定义符合可信计算组织制定的可信平台规范,可用于固件执行过程中的完整性检查和身份认证。在可信计算领域,以数字认证技术为核心,通过禁止固件中未知代码的运行或者部分限制其行为来避免对系统的启动造成危害。在实际应用中,这种方法存在部分缺陷,其中包括缺乏灵活的安全管理机制和缺乏对上层操作系统的保护。
发明内容
本发明的目的是提供一种一种通过BIOS和内核实现安全可信认证的方法。
本发明的目的是按以下方式实现的,步骤如下:
在BIOS的NVSTORAGE区域中添加对操作系统内核签名进行解密的私钥,通过在UEFI BIOS中添加虚拟设备驱动程序,在DXE阶段的初期将虚拟设备驱动程序加载到UEFI运行环境中,在随后过程中,DXE驱动程序通过对BIOS的签名进行非对称加密,将加密后的结果保存于一块预先定义的保留内存区域,在BIOS自检结束后将操作系统内核文件加载到内存中,通过搜索标志性字符,获得内核代码的加密签名,UEFI BIOS通过对NVSTORAGE的访问读取存储在其中的私钥,利用私钥对操作系统内核签名进行解密,如果解密后的签名是可信任的,那么BIOS将跳转到内核代码进而将控制权移交给操作系统,否则将提示用户操作系统未通过认证,并提示用户是否继续运行。
所述的安全可信认证的方法,在Linux内核中添加代码,对BIOS的签名进行解密和认证,内核代码必须预先存储对BIOS签名进行解密用的私钥,操作系统内核在获得可信认证并运行后,内核代码通过对内存的访问,获得BIOS启动过程中存储在保留内存区域中的BIOS加密签名,利用内核预先保留的私钥对BIOS签名进行解密,如果解密后的签名是可信任的,那么内核将继续运行并加载操作系统至登陆界面,如果解密后的签名是不可信任的或者没有找到签名,那么内核代码将提示用户该操作系统所运行的平台是未获得认证的,并提示用户是否继续运行。
所述的安全可信认证的方法,移除对操作系统的签名认证部分,只对BIOS签名进行认证,同时将BIOS中存储的私钥改变为对BIOS签名进行解密的私钥,操作系统内核只对BIOS进行签名认证,BIOS不对操作系统进行认证,那么使用未获得认证的操作系统也可以启动,但是只有获得认证的内核是可信任的,这种方法相比对操作系统的签名认证,安全性较低,但是使用该方法可判断出用户是否使用了认证的操作系统,这种方法的好处是内核中无需存放私钥,公钥和私钥都由BIOS产生,BIOS可以对公钥和私钥进行动态更新,操作系统内核通过对BIOS的访问获得私钥,并对内存中的BIOS签名进行解密。
本发明的有益效果是:UEFI固件的灵活性和开放性给计算机安全技术带来了新的发展空间。相比传统的BIOS,UEFI更像一个微操作系统,可在操作系统载入之前操控所有的硬件资源,且具有实现更复杂逻辑运算的能力。本文描述的是通过在UEFI BIOS和Linux内核中分别添加代码实现安全可信认证的一种方法。该方法可应用于没有TPM或TCM芯片的计算机系统中。
这是一种比较安全的可信认证方法,如果存储在BIOS的NVSTORAGE中的私钥被盗取,没有获得操作系统内核中存储的私钥,是无法进入操作系统的。如果操作系统内核中的私钥被盗取,在没有获得BIOS中存储的私钥,也无法加载操作系统。即使BIOS和系统内核中的私钥都被盗取,如果不知道BIOS的加密签名在内存中的存放位置,以及操作系统内核签名在内核中的位置,也同样无法获得认证。
附图说明
图1是通过BIOS和内核实现安全可信认证方法的流程图。
具体实施方式
参照说明书附图对本发明的方法作以下详细地说明。
在BIOS的NVSTORAGE区域中添加对操作系统内核签名进行解密的私钥。通过在UEFI BIOS中添加虚拟设备驱动程序,在DXE阶段的初期将虚拟设备驱动程序加载到UEFI运行环境中。在随后过程中,DXE驱动程序通过对BIOS的签名进行非对称加密,将加密后的结果保存于一块预先定义的保留内存区域。在BIOS自检结束后将操作系统内核文件加载到内存中,通过搜索标志性字符,获得内核代码的加密签名。UEFI BIOS通过对NVSTORAGE的访问读取存储在其中的私钥,利用私钥对操作系统内核签名进行解密,如果解密后的签名是可信任的,那么BIOS将跳转到内核代码进而将控制权移交给操作系统。否则将提示用户操作系统未通过认证,并提示用户是否继续运行。
在Linux内核中添加代码,对BIOS的签名进行解密和认证。内核代码必须预先存储对BIOS签名进行解密用的私钥。操作系统内核在获得可信认证并运行后,内核代码通过对内存的访问,获得BIOS启动过程中存储在保留内存区域中的BIOS加密签名,利用内核预先保留的私钥对BIOS签名进行解密,如果解密后的签名是可信任的,那么内核将继续运行并加载操作系统至登陆界面。如果解密后的签名是不可信任的或者没有找到签名,那么内核代码将提示用户该操作系统所运行的平台是未获得认证的,并提示用户是否继续运行。
这是一种比较安全的可信认证方法,如果存储在BIOS的NVSTORAGE中的私钥被盗取,没有获得操作系统内核中存储的私钥,是无法进入操作系统的。如果操作系统内核中的私钥被盗取,在没有获得BIOS中存储的私钥,也无法加载操作系统。即使BIOS和系统内核中的私钥都被盗取,如果不知道BIOS的加密签名在内存中的存放位置,以及操作系统内核签名在内核中的位置,也同样无法获得认证。
移除对操作系统的签名认证部分,只是对BIOS签名进行认证,同时将BIOS中存储的私钥改变为对BIOS签名进行解密的私钥。操作系统内核只对BIOS进行签名认证。BIOS不对操作系统进行认证。那么使用未获得认证的操作系统也可以启动,但是只有获得认证的内核是可信任的。这种方法相比上面所述安全性较低,但是使用该方法可判断出用户是否使用了认证的操作系统。这种方法的好处是内核中无需存放私钥。公钥和私钥都由BIOS产生,BIOS可以对公钥和私钥进行动态更新。操作系统内核通过对BIOS的访问获得私钥,并对内存中的BIOS签名进行解密。
实施例
如附图所示,具体操作步骤如下:
1.在UEFI的BIOS源代码中添加DXE驱动程序,编译BIOS源代码产生可执行的ROM文件。
2.更新刚编译的BIOS文件到系统Firmware中。
3.在Linux内核中添加对BIOS签名进行认证的代码,更新操作系统内核。
4.开机启动系统,进入操作系统。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。

Claims (2)

1.一种通过BIOS和内核实现安全可信认证的方法, 其特征在于步骤如下:
在BIOS的NVSTORAGE区域中添加对Linux内核签名进行解密的私钥,通过在UEFI BIOS中添加虚拟设备驱动程序,在DXE阶段的初期将虚拟设备驱动程序加载到UEFI运行环境中,在随后过程中,DXE驱动程序通过对BIOS的签名进行非对称加密,将加密后的结果保存于一块预先定义的保留内存区域,在BIOS自检结束后将Linux内核文件加载到内存中,通过搜索标志性字符,获得内核代码的加密签名,UEFI BIOS通过对NVSTORAGE的访问读取存储在其中的私钥,利用私钥对Linux内核签名进行解密,如果解密后的签名是可信任的,那么BIOS将跳转到内核代码进而将控制权移交给Linux操作系统,否则将提示用户Linux操作系统未通过认证,并提示用户是否继续运行,在Linux内核中添加代码,对BIOS的签名进行解密和认证,内核代码必须预先存储对BIOS签名进行解密用的私钥,Linux内核在获得可信认证并运行后,内核代码通过对内存的访问,获得BIOS启动过程中存储在保留内存区域中的BIOS加密签名,利用内核预先保留的私钥对BIOS签名进行解密,如果解密后的签名是可信任的,那么内核将继续运行并加载Linux操作系统至登陆界面,如果解密后的签名是不可信任的或者没有找到签名,那么内核代码将提示用户该Linux操作系统所运行的平台是未获得认证的,并提示用户是否继续运行。
2.根据权利要求1所述的安全可信认证的方法, 其特征在于移除对Linux内核的签名认证部分,只对BIOS签名进行认证,同时将BIOS中存储的私钥改变为对BIOS签名进行解密的私钥,Linux内核只对BIOS进行签名认证,BIOS不对Linux操作系统进行认证,那么使用未获得认证的Linux操作系统也可以启动,但是只有获得认证的内核是可信任的,虽然移除对Linux内核的签名认证部分,只对BIOS签名进行认证,相比对Linux操作系统的签名认证,安全性较低,但是能够判断出用户是否使用了认证的Linux操作系统,内核中无需存放私钥,公钥和私钥都由BIOS产生,BIOS可以对公钥和私钥进行动态更新,Linux内核通过对BIOS的访问获得私钥,并对内存中的BIOS签名进行解密。
CN201410247708.7A 2014-06-06 2014-06-06 一种通过bios和内核实现安全可信认证的方法 Active CN104008342B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410247708.7A CN104008342B (zh) 2014-06-06 2014-06-06 一种通过bios和内核实现安全可信认证的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410247708.7A CN104008342B (zh) 2014-06-06 2014-06-06 一种通过bios和内核实现安全可信认证的方法

Publications (2)

Publication Number Publication Date
CN104008342A CN104008342A (zh) 2014-08-27
CN104008342B true CN104008342B (zh) 2017-12-15

Family

ID=51368992

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410247708.7A Active CN104008342B (zh) 2014-06-06 2014-06-06 一种通过bios和内核实现安全可信认证的方法

Country Status (1)

Country Link
CN (1) CN104008342B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105354512A (zh) * 2015-09-30 2016-02-24 联想(北京)有限公司 一种文件存储方法及电子设备
CN106934289A (zh) * 2015-12-30 2017-07-07 北京展讯高科通信技术有限公司 校验及形成签名映像的方法
CN105678162B (zh) * 2016-02-03 2018-09-04 浪潮电子信息产业股份有限公司 一种基于tpm的操作系统安全启动控制方法
CN105893833B (zh) * 2016-03-31 2019-07-05 山东超越数控电子有限公司 一种用于固件安全管理的硬件接口
CN105912936B (zh) * 2016-04-11 2018-09-21 浪潮集团有限公司 一种提高sdn交换机性能及安全的方法
CN106096420A (zh) * 2016-06-15 2016-11-09 京信通信技术(广州)有限公司 嵌入式设备安全启动的方法和装置
CN106934268A (zh) * 2017-03-31 2017-07-07 山东超越数控电子有限公司 一种在bios中实现指纹加密的方法
US10467416B2 (en) * 2017-06-16 2019-11-05 International Business Machines Corporation Securing operating system configuration using hardware
JP6773000B2 (ja) * 2017-10-26 2020-10-21 京セラドキュメントソリューションズ株式会社 情報処理装置、改ざん検出方法
CN107885998A (zh) * 2017-11-03 2018-04-06 山东超越数控电子股份有限公司 一种服务器主板加密系统
CN109508535B (zh) * 2018-10-30 2021-07-13 百富计算机技术(深圳)有限公司 固件安全认证方法、装置和支付终端
CN110266651B (zh) * 2019-05-28 2021-07-13 创新先进技术有限公司 物联网设备及用于物联网设备的方法
CN111125710B (zh) * 2019-11-29 2022-06-28 联想(北京)有限公司 一种信息处理方法、装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101176103A (zh) * 2005-05-16 2008-05-07 惠普开发有限公司 计算机安全系统和方法
CN101458743A (zh) * 2007-12-12 2009-06-17 中国长城计算机深圳股份有限公司 一种保护计算机系统安全的方法
CN101464934A (zh) * 2007-12-18 2009-06-24 中国长城计算机深圳股份有限公司 一种计算机平台与存储设备相互绑定、认证方法及计算机
CN101470783A (zh) * 2007-12-25 2009-07-01 中国长城计算机深圳股份有限公司 一种基于可信平台模块的身份识别方法及装置
CN102262719A (zh) * 2011-08-30 2011-11-30 青岛海信智能商用设备有限公司 基于bios密码保护计算机安全的方法及计算机

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7281125B2 (en) * 2001-08-24 2007-10-09 Lenovo (Singapore) Pte. Ltd. Securing sensitive configuration data remotely

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101176103A (zh) * 2005-05-16 2008-05-07 惠普开发有限公司 计算机安全系统和方法
CN101458743A (zh) * 2007-12-12 2009-06-17 中国长城计算机深圳股份有限公司 一种保护计算机系统安全的方法
CN101464934A (zh) * 2007-12-18 2009-06-24 中国长城计算机深圳股份有限公司 一种计算机平台与存储设备相互绑定、认证方法及计算机
CN101470783A (zh) * 2007-12-25 2009-07-01 中国长城计算机深圳股份有限公司 一种基于可信平台模块的身份识别方法及装置
CN102262719A (zh) * 2011-08-30 2011-11-30 青岛海信智能商用设备有限公司 基于bios密码保护计算机安全的方法及计算机

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"基于EFIBIOS的计算机网络接入认证系统的研究与实现";周伟东;《中国优秀硕士学位论文全文数据库信息科技辑》;20090115(第01期);全文 *
"基于UEFI的可信BIOS平台研究与应用";朱贺新;《中国优秀硕士学位论文全文数据库信息科技辑》;20081215(第12期);全文 *

Also Published As

Publication number Publication date
CN104008342A (zh) 2014-08-27

Similar Documents

Publication Publication Date Title
CN104008342B (zh) 一种通过bios和内核实现安全可信认证的方法
JP7086908B2 (ja) 対象のコンピューティング装置で実施される動作を認証する方法
JP6802318B2 (ja) モバイル通信装置およびその動作方法
JP6392879B2 (ja) モバイル通信装置およびその動作方法
CN102208000B (zh) 为虚拟机镜像提供安全机制的方法和系统
US8335931B2 (en) Interconnectable personal computer architectures that provide secure, portable, and persistent computing environments
EP1674963B1 (en) Secure license management
KR101190479B1 (ko) 티켓 인증 보안 설치 및 부트
CN109840430B (zh) Plc的安全处理单元及其总线仲裁方法
CN106104557B (zh) 用于从绑定到设备上的应用的主密钥获取秘密的系统与方法
CN107292176B (zh) 用于访问计算设备的可信平台模块的方法和系统
CN103514414A (zh) 一种基于ARM TrustZone的加密方法及加密系统
JP2023512428A (ja) ハードウェアエンクレーブを使用して商用オフザシェルフプログラムバイナリを盗用から保護すること
EP3343424B1 (en) Control board secure start method, and software package upgrade method and device
TW201333691A (zh) 安全選項唯讀記憶體控制
US8656190B2 (en) One time settable tamper resistant software repository
CN115509587B (zh) 固件升级方法、装置、电子设备及计算机可读存储介质
CN111125705B (zh) 一种能力开放方法及装置
Qin et al. RIPTE: runtime integrity protection based on trusted execution for IoT device
CN112861137A (zh) 安全固件
CN116032484A (zh) 一种通信设备安全启动的方法、装置和电子设备
CN108595981B (zh) 加密安卓系统的方法
US8661234B2 (en) Individualized per device initialization of computing devices in avoidance of mass exploitation of vulnerabilities
CN110162317B (zh) 一种提高单片机固件升级安全性的单片机结构和方法
CN112685697A (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
CB02 Change of applicant information

Address after: 250100 Ji'nan province hi tech Zone, Sun Village Branch Road, No. 2877

Applicant after: Shandong beyond CNC electronic Limited by Share Ltd

Address before: 250100 Ji'nan province hi tech Zone, Sun Village Branch Road, No. 2877

Applicant before: Chaoyue Digital Controlling Electronic Co., Ltd., Shandong Prov.

CB02 Change of applicant information
CB03 Change of inventor or designer information

Inventor after: Zhao Ruidong

Inventor after: Li Meng

Inventor after: Liu Yifeng

Inventor after: Geng Shihua

Inventor after: Yan Jianlong

Inventor before: Yan Jianlong

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant