CN112329005A - 操作系统启动的引导度量方法、装置、电子设备和介质 - Google Patents
操作系统启动的引导度量方法、装置、电子设备和介质 Download PDFInfo
- Publication number
- CN112329005A CN112329005A CN202011233655.5A CN202011233655A CN112329005A CN 112329005 A CN112329005 A CN 112329005A CN 202011233655 A CN202011233655 A CN 202011233655A CN 112329005 A CN112329005 A CN 112329005A
- Authority
- CN
- China
- Prior art keywords
- operating system
- trusted
- boot
- execution environment
- metric
- 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
- 238000000691 measurement method Methods 0.000 title abstract description 7
- 238000005259 measurement Methods 0.000 claims abstract description 80
- 238000000034 method Methods 0.000 claims abstract description 74
- 238000012795 verification Methods 0.000 claims abstract description 62
- 230000008569 process Effects 0.000 claims abstract description 28
- 238000004422 calculation algorithm Methods 0.000 claims description 62
- 238000001514 detection method Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012554 master batch record Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/51—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
-
- 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/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Abstract
本公开提供了一种操作系统启动的引导度量方法、装置、电子设备和介质,涉及计算机技术领域。其中,操作系统启动的引导度量方法包括:响应于通用环境的操作系统的启动操作,调用可信固件加载可信引导程序;在基于所述可信引导程序检测到具有可信执行环境时,调用所述可信执行环境中的度量校验操作;根据所述可信执行环境中的度量校验操作确定所述启动操作可信,引导所述操作系统继续启动。通过本公开的技术方案,采用可信执行环境中的度量校验操作对系统启动过程进行度量校验,确保系统启动过程可信,提高操作系统启动运行的安全性。
Description
技术领域
本公开涉及计算机信息安全技术领域,尤其涉及一种操作系统启动的引导度量方法、操作系统启动的引导度量装置、电子设备和计算机可读存储介质。
背景技术
度量是一种保护平台及系统完整性的方式,其具体的实现方式为:在某些特定的时刻,对目标进行度量,得到目标的某些信息(比如文件的散列值),将这些信息的值与预先记录的标准值进行比较,从而判断目标的完整性是否被破坏。
现有的操作系统中,通过软算法完成对内核和系统关键文件的度量校验,并存储到指定寄存器内,由于该方式是在非安全的世界内通过软算法实现的,导致具有可被篡改的风险,另外,开机文件也具有被篡改的风险。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种操作系统启动的引导度量方法、装置、电子设备和计算机可读存储介质,至少在一定程度上提升操作系统启动的安全性。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一个方面,提供一种操作系统启动的引导度量方法,包括:响应于通用环境的操作系统的启动操作,调用可信固件加载可信引导程序;在基于所述可信引导程序检测到具有可信执行环境时,调用所述可信执行环境中的度量校验操作;根据所述可信执行环境中的度量校验操作确定所述启动操作可信,引导所述操作系统继续启动。
在本公开的一个实施例中,所述可信引导程序包括所述可信执行环境的访问程序,所述在基于所述可信引导程序检测到具有可信执行环境时,调用所述可信执行环境中的度量校验操作包括:检测到所述系统环境包括所述可信执行环境,基于所述访问程序访问所述可信执行环境,以调用所述可信执行环境中的所述度量校验操作。
在本公开的一个实施例中,所述在基于所述可信引导程序检测到具有可信执行环境时,调用所述可信执行环境中的度量校验操作还包括:调用所述可信执行环境中的密码算法;根据所述密码算法执行所述度量校验操作。
在本公开的一个实施例中,所述根据所述密码算法执行所述度量校验操作包括:所述密码算法包括密码杂凑算法与密码对称算法,基于所述密码杂凑算法对所述操作系统的启动过程文件进行可信度量,并得到度量值;基于所述密码对称算法对预存参考值进行解密,并得到度量参考值;将所述度量值与度量参考值进行比较,以执行所述度量校验操作,其中,所述启动过程文件包括所述操作系统的内核文件与关键文件。
在本公开的一个实施例中,所述可信引导程序还包括参考值采集程序,在根据所述密码算法执行所述度量校验操作之前,所述引导度量方法还包括:根据所述操作系统的内核文件与所述关键文件生成待度量文件列表;根据所述待度量文件列表,基于所述参考值采集程序采集所述度量参考值;基于所述密码对称算法对所述度量参考值进行加密,得到所述预存参考值。
在本公开的一个实施例中,所述根据所述可信执行环境中的度量校验操作确定所述启动操作可信,引导所述操作系统继续启动包括:检测到所述度量值与所述度量参考值一致,引导加载所述操作系统的内核,以启动所述操作系统;所述方法还包括:检测到所述度量值与所述度量参考值不一致,停止加载所述操作系统启动。
在本公开的一个实施例中,所述度量方法还包括:检测到所述系统环境未包括所述可信执行环境,基于所述可信引导程序检测所述通用环境是否存储度量校验算法;检测到存储所述校验算法,调用所述校验算法执行所述度量校验操作;检测到未存储所述校验算法,停止加载所述操作系统启动。
根据本公开的另一个方面,提供一种操作系统启动的引导度量装置,包括:调用模块,用于响应于通用环境的操作系统的启动操作,调用可信固件加载可信引导程序;度量模块,用于在基于所述可信引导程序检测到具有可信执行环境时,调用所述可信执行环境中的度量校验操作;确定模块,用于根据所述可信执行环境中的度量校验操作确定所述启动操作可信,引导所述操作系统继续启动。
根据本公开的再一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述任意一项的操作系统启动的引导度量方法。
根据本公开的又一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任意一项的操作系统启动的引导度量方法。
本公开的实施例所提供的操作系统启动的引导度量方案,通过调用可信固件实现可信引导程序的加载,在检测到系统同时包括通用环境与可信执行环境时,通过加载可信引导程序,引导提取可信执行环境中的度量校验操作,以采用可信执行环境中的度量校验操作对系统启动过程进行度量校验,确保系统启动过程可信,提高操作系统启动运行的安全性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本公开实施例中一种引导度量系统结构的示意图;
图2示出本公开实施例中一种操作系统启动的引导度量方法的流程图;
图3示出本公开实施例中另一种操作系统启动的引导度量方法的流程图;
图4示出本公开实施例中再一种操作系统启动的引导度量方法的流程图;
图5示出本公开实施例中一种操作系统启动的引导度量装置的示意图;
图6示出本公开实施例中一种电子设备的示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本申请提供的方案,通过调用TEE安全可信环境的算法和度量机制,实现对系统启动引导过程关键文件的完整性度量,确保系统启动过程可信,提高操作系统启动运行的安全性。
为了便于理解,下面首先对本申请涉及到的几个名词进行解释。
TEE(Trusted Execution Environment),可信执行环境,该环境可以保证不被常规操作系统干扰的计算,因此称为“可信”。这是通过创建一个可以在TrustZone的“安全世界”中独立运行的小型操作系统实现的,该操作系统以系统调用(由TrustZone内核直接处理)的方式直接提供少数的服务。另外,TrustZone内核可以安全加载并执行小程序“Trustlets”,以便在扩展模型中添加“可信”功能。Trustlets程序可以为不安全(普通世界)的操作系统(如Android)提供安全的服务。
本申请实施例提供的方案涉及计算机视觉技术的图形处理和图像识别等技术,具体通过如下实施例进行说明。
图1示出本公开实施例中一种操作系统启动的引导度量系统的结构示意图,包括多个终端120和服务器集群140。
终端120可以是手机、游戏主机、平板电脑、电子书阅读器、智能眼镜、MP4(MovingPicture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、智能家居设备、AR(Augmented Reality,增强现实)设备、VR(Virtual Reality,虚拟现实)设备等移动终端,或者,终端120也可以是个人计算机(Personal Computer,PC),比如膝上型便携计算机和台式计算机等等。
其中,终端120中可以安装有用于提供操作系统启动的引导度量的应用程序。
终端120与服务器集群140之间通过通信网络相连。可选的,通信网络是有线网络或无线网络。
服务器集群140是一台服务器,或者由若干台服务器组成,或者是一个虚拟化平台,或者是一个云计算服务中心。服务器集群140用于为提供操作系统启动的引导度量的应用程序提供后台服务。可选地,服务器集群140承担主要计算工作,终端120承担次要计算工作;或者,服务器集群140承担次要计算工作,终端120承担主要计算工作;或者,终端120和服务器集群140之间采用分布式计算架构进行协同计算。
在一些可选的实施例中,服务器集群140用于存储操作系统启动的引导度量信息,譬如,待检测的图像、参考图像库和完成检测的图像。
可选地,不同的终端120中安装的应用程序的客户端是相同的,或两个终端120上安装的应用程序的客户端是不同控制系统平台的同一类型应用程序的客户端。基于终端平台的不同,该应用程序的客户端的具体形态也可以不同,比如,该应用程序客户端可以是手机客户端、PC客户端或者全球广域网(World Wide Web,Web)客户端等。
本领域技术人员可以知晓,上述终端120的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量。本申请实施例对终端的数量和设备类型不加以限定。
可选的,该系统还可以包括管理设备(图1未示出),该管理设备与服务器集群140之间通过通信网络相连。可选的,通信网络是有线网络或无线网络。
可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(ExtensibleMarkupLanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(InternetProtocolSecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
下面,将结合附图及实施例对本示例实施方式中的操作系统启动的引导度量方法的各个步骤进行更详细的说明。
图2示出本公开实施例中一种操作系统启动的引导度量方法流程图。本公开实施例提供的方法可以由任意具备计算处理能力的电子设备执行,例如如图1中的终端120和/或服务器集群140。在下面的举例说明中,以终端120为执行主体进行示例说明。
如图2所示,终端120执行操作系统启动的引导度量方法,包括以下步骤:
步骤S202,响应于通用环境的操作系统的启动操作,调用可信固件加载可信引导程序。
其中,通用环境为非安全世界的操作系统。
可信引导确保了系统按照经过严格验证的路径进行引导。它对主引导记录、操作系统装载器、操作系统内核、系统配置信息进行验证,确保引导过程中各部件的完整性。
具体地,操作系统引导过程通常包括下列步骤:
(1)通用环境的操作系统中的BIOS(Basic Input Output System,基本输入输出系统)开启运行,首先是电自检(POST-Power-OnSelf Test),然后对系统内的硬件设备进行监测和连接用。
(2)BIOS自检完毕,按照CMOS(一个随机存储器,用于保存当前电子设备的硬件配置信息)的引导顺序设置,将从引导设备上读入引导装载程序(Boot Loader)。Boot loader被分为两级,其中,第一级为MBR(主引导记录,Master Boot Record)。
(3)MBR开始执行,装入Boot Loader的第二级,即可信执行环境的装载程序。
(4)可信执行环境装载程序将装入操作系统内核。
(5)操作系统内核开始执行,以调用可信引导程序。
另外,在执行可信引导导致之前,还需要对系统进行相应的安装过程。这其中主要包括一些预存验证码的生成和存储,将MBR和操作系统装载程序替换成可信增强的MBR和操作系统装载程序等。以在将控制权转移到下一个引导组件前,首先对启动各个阶段进行可信度量(完整性度量),以确定是否进行控制权的转移。
步骤S204,在基于可信引导程序检测到具有可信执行环境时,调用可信执行环境中的度量校验操作。
其中,度量可以理解为一种保护平台及系统完整性的方式,其具体的实现过程包括:在某些特定的时刻,对系统内核和系统启动关键文件进行度量,得到系统内核和系统启动关键文件的指定信息,将这些信息的值与预先记录的标准值进行比较,从而判断内核和系统启动关键文件的完整性是否被破坏。
而可信执行环境可以理解为安全世界的操作系统。
步骤S206,根据可信执行环境中的度量校验操作确定启动操作可信,引导操作系统继续启动。
其中,可信执行环境相对于通用环境具有隔离安全特性,因此通过调用可信执行环境中的度量校验操作对系统内核和系统启动关键文件进行度量,具有更高的安全性,并且更高效。
在该实施例中,通过调用可信固件实现可信引导程序的加载,在检测到系统同时包括通用环境与可信执行环境时,通过加载可信引导程序,引导提取可信执行环境中的度量校验操作,以采用可信执行环境中的度量校验操作对系统启动过程进行度量校验。
具体地,通过采用本公开中的双体系结构的可信引导度量校验方法,通过调用TEE安全可信环境的算法和度量机制,实现对系统启动引导过程关键文件的完整性度量,确保系统启动过程可信,提高操作系统启动运行的安全性。
在本公开的一个实施例中,可信引导程序包括可信执行环境的访问程序,步骤S204,在基于可信引导程序检测到具有可信执行环境时,调用可信执行环境中的度量校验操作包括:检测到系统环境包括可信执行环境,基于访问程序访问可信执行环境,以调用可信执行环境中的度量校验操作。
在该实施例中,在通用操作系统启动引导阶段,通过加载可信执行环境的访问程序,结合与可信执行环境之间的通信通道,调用可信执行环境的度量校验操作,以实现对非可信执行环境操作系统内核和系统启动关键文件的度量和校验,一方面,本方法较常规通用软算法度量和校验系统内核更为安全和高效,另一方面,通过加载可信执行环境的访问程序,保证上述度量校验算法被安全且可靠地调用。
在本公开的一个实施例中,步骤S204,在基于可信引导程序检测到具有可信执行环境时,调用可信执行环境中的度量校验操作还包括:
调用可信执行环境中的密码算法;根据密码算法执行度量校验操作。
如图3所示,在本公开的一个实施例中,密码算法包括密码杂凑算法与密码对称算法,根据密码算法执行度量校验操作包括:
步骤S302,基于密码杂凑算法对操作系统的启动过程文件进行可信度量,并得到度量值。
步骤S304,基于密码对称算法对预存参考值进行解密,并得到度量参考值。
步骤S306,将度量值与度量参考值进行比较,以执行度量校验操作,其中,启动过程文件包括操作系统的内核文件与关键文件。
在该实施例中,密码算法包括SM3和SM4,SM3为密码杂凑算法,SM4为对称密码算法,通过结合上述两种算法执行度量校验操作,可以保证系统的安全性。
具体地,可信引导程序继续调用SM3算法对文件系统Ramdisk镜像进行杂凑运算,得到度量值,之后可信引导程序调用SM4算法和SM4解密密钥对存储在Flash中的Ramdisk基准值进行解密运算,得到解密后的基准值,度量值与此基准值进行比对,以执行度量校验操作。
在本公开的一个实施例中,可信引导程序还包括参考值采集程序,在根据密码算法执行度量校验操作之前,引导度量方法还包括:根据操作系统的内核文件与关键文件生成待度量文件列表;根据待度量文件列表,基于参考值采集程序采集度量参考值;基于密码对称算法对度量参考值进行加密,得到预存参考值。
在该实施例中,本公开的操作系统启动的引导度量方案可以包括执行上述度量校验操作的度量校验模块与参考值采集模块,在基于启动度量校验模块执行度量操作时需要确定作为比较基准的度量参考值,以基于度量值与度量参考值之间的比较结果确定对应文件的完整性。
其中,将待度量文件的基准值存储在度量列表checklist中,包括待度量文件的度量参考值和文件路径列表。
具体地,基准值采集模块通过设置度量列表初始化脚本完成基准值的采集及度量列表的初始化功能,主要包含以下步骤:
(1)形成待度量文件列表,包含系统启动阶段关键文件路径。
(2)生成度量参考值,将根据待度量文件列表,采集文件度量参考值并形成度量列表。
在本公开的一个实施例中,作为步骤S206根据可信执行环境中的度量校验操作确定启动操作可信,引导操作系统继续启动的一种具体实现方式,包括:
检测度量值与度量参考值是否一致。
若检测到度量值与度量参考值一致,则引导加载操作系统的内核,以启动操作系统。
若检测到度量值与度量参考值不一致,则停止加载操作系统启动。
在该实施例中,通过将度量校验操作生成的度量值与预存的度量参考值进行比较,以基于比较结果确定是否启动通用环境的操作系统,以实现对系统启动引导过程关键文件的完整性度量。
在本公开的一个实施例中,度量方法还包括:检测到系统环境未包括可信执行环境,基于可信引导程序检测通用环境是否存储度量校验操作;检测到存储校验算法,调用校验算法执行度量校验操作;检测到未存储校验算法,停止加载操作系统启动。
在该实施例中,在未检测到具有可信引导程序时,采用通用环境中的度量校验操作执行度量校验操作,以保证度量校验操作的完整性,防止度量校验出现运行异常。
下面结合图4,对本公开的操作系统启动的引导度量方案进行具体描述。
如图4所示,根据本公开的另一个操作系统启动的引导度量方法,包括:
步骤S402,开机启动运行操作系统。
步骤S404,调用可信固件加载可信引导程序。
步骤S406,检测是否存在可信执行环境,若检测结果为“是”,进入步骤S408,若检测结果为“否”,进入步骤S416。
步骤S408,启动可信执行环境中的度量校验操作,生成度量值。
步骤S410,对比度量值与基准值是否一致,若对比结果为“是”,进入步骤S412,若对比结果为“否”,进入步骤S414。
步骤S412,允许引导加载内核。
步骤S414,拒绝引导加载内核。
步骤S416,启动通用环境中的度量校验操作。
在该实施例中,可信引导程序对操作系统内核的引导和度量过程包括:开机启动后,由可信固件加载和引导可信引导程序,以启用和引导操作系统内核,并启动完整的操作系统。
可信引导程序首先由可信执行环境的访问程序检测系统环境,如果检测到存在TEE可信执行环境,则通过可信引导程序调用TEE可信执行环境,并基于可信执行环境中的度量校验操作实现对系统内核模块和关键文件进行完整性度量和校验。
进一步地,在引导内核前对度量列表中存放文件进行可信度量,并与度量基准值列表中记录的相应文件的度量基准值进行校验比较,如果不一致,则表示文件不完整,拒绝加载引导系统启动。
需要注意的是,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图5来描述根据本发明的这种实施方式的操作系统启动的引导度量装置500。图5所示的操作系统启动的引导度量装置500仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
操作系统启动的引导度量装置500以硬件模块的形式表现。操作系统启动的引导度量装置500的组件可以包括但不限于:调用模块502,用于响应于通用环境的操作系统的启动操作,调用可信固件加载可信引导程序;度量模块504,用于在基于可信引导程序检测到具有可信执行环境时,调用可信执行环境中的度量校验操作;确定模块506,用于根据可信执行环境中的度量校验操作确定启动操作可信,引导操作系统继续启动。
在本公开的一个实施例中,可信引导程序包括可信执行环境的访问程序,度量模块504还用于:检测到系统环境包括可信执行环境,基于访问程序访问可信执行环境,以调用可信执行环境中的度量校验操作。
在本公开的一个实施例中,度量模块504还用于:调用可信执行环境中的密码算法;根据密码算法执行度量校验操作。
在本公开的一个实施例中,密码算法包括密码杂凑算法与密码对称算法,度量模块504还用于:基于密码杂凑算法对操作系统的启动过程文件进行可信度量,并得到度量值;基于密码对称算法对预存参考值进行解密,并得到度量参考值;将度量值与度量参考值进行比较,以执行度量校验操作,其中,启动过程文件包括操作系统的内核文件与关键文件。
在本公开的一个实施例中,操作系统启动的引导度量装置500还包括:生成模块508,用于根据操作系统的内核文件与关键文件生成待度量文件列表;根据待度量文件列表,基于参考值采集程序采集度量参考值;基于密码对称算法对度量参考值进行加密,得到预存参考值。
在本公开的一个实施例中,确定模块506还用于:检测到度量值与度量参考值一致,引导加载操作系统的内核,以启动操作系统;方法还包括:检测到度量值与度量参考值不一致,停止加载操作系统启动。
在本公开的一个实施例中,操作系统启动的引导度量装置500还包括:检测模块510,用于检测到系统环境未包括可信执行环境,基于可信引导程序检测通用环境是否存储度量校验操作;检测到存储校验算法,调用校验算法执行度量校验操作;检测到未存储校验算法,停止加载操作系统启动。
下面参照图6来描述根据本发明的这种实施方式的电子设备600。图6显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:上述至少一个处理单元610、上述至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630。
其中,存储单元存储有程序代码,程序代码可以被处理单元610执行,使得处理单元610执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,处理单元610可以执行如图2中所示的步骤S202、S204和S206,以及本公开的操作系统启动的引导度量方法中限定的其他步骤。
存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
根据本发明的实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
Claims (10)
1.一种操作系统启动的引导度量方法,其特征在于,包括:
响应于通用环境的操作系统的启动操作,调用可信固件加载可信引导程序;
在基于所述可信引导程序检测到具有可信执行环境时,调用所述可信执行环境中的度量校验操作;
根据所述可信执行环境中的度量校验操作确定所述启动操作可信,引导所述操作系统继续启动。
2.根据权利要求1所述的操作系统启动的引导度量方法,其特征在于,所述可信引导程序包括所述可信执行环境的访问程序,所述在基于所述可信引导程序检测到具有可信执行环境时,调用所述可信执行环境中的度量校验操作包括:
检测到所述系统环境包括所述可信执行环境,基于所述访问程序访问所述可信执行环境,以调用所述可信执行环境中的所述度量校验操作。
3.根据权利要求1所述的操作系统启动的引导度量方法,其特征在于,所述在基于所述可信引导程序检测到具有可信执行环境时,调用所述可信执行环境中的度量校验操作还包括:
调用所述可信执行环境中的密码算法;
根据所述密码算法执行所述度量校验操作。
4.根据权利要求3所述的操作系统启动的引导度量方法,其特征在于,所述根据所述密码算法执行所述度量校验操作包括:
所述密码算法包括密码杂凑算法与密码对称算法,基于所述密码杂凑算法对所述操作系统的启动过程文件进行可信度量,并得到度量值;
基于所述密码对称算法对预存参考值进行解密,并得到度量参考值;
将所述度量值与度量参考值进行比较,以执行所述度量校验操作,
其中,所述启动过程文件包括所述操作系统的内核文件与关键文件。
5.根据权利要求4所述的操作系统启动的引导度量方法,其特征在于,所述可信引导程序还包括参考值采集程序,在根据所述密码算法执行所述度量校验操作之前,所述引导度量方法还包括:
根据所述操作系统的内核文件与所述关键文件生成待度量文件列表;
根据所述待度量文件列表,基于所述参考值采集程序采集所述度量参考值;
基于所述密码对称算法对所述度量参考值进行加密,得到所述预存参考值。
6.根据权利要求4所述的操作系统启动的引导度量方法,其特征在于,所述根据所述可信执行环境中的度量校验操作确定所述启动操作可信,引导所述操作系统继续启动包括:
检测到所述度量值与所述度量参考值一致,引导加载所述操作系统的内核,以启动所述操作系统;所述方法还包括:
检测到所述度量值与所述度量参考值不一致,停止加载所述操作系统启动。
7.根据权利要求1至6中任一项所述的操作系统启动的引导度量方法,其特征在于,所述度量方法还包括:
检测到所述系统环境未包括所述可信执行环境,基于所述可信引导程序检测所述通用环境是否存储度量校验算法;
检测到存储所述校验算法,调用所述校验算法执行所述度量校验操作;
检测到未存储所述校验算法,停止加载所述操作系统启动。
8.一种操作系统启动的引导度量装置,其特征在于,包括:
调用模块,用于响应于通用环境的操作系统的启动操作,调用可信固件加载可信引导程序;
度量模块,用于在基于所述可信引导程序检测到具有可信执行环境时,调用所述可信执行环境中的度量校验操作;
确定模块,用于根据所述可信执行环境中的度量校验操作确定所述启动操作可信,引导所述操作系统继续启动。
9.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1~7中任意一项所述的操作系统启动的引导度量方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~7中任意一项所述的操作系统启动的引导度量方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011233655.5A CN112329005A (zh) | 2020-11-06 | 2020-11-06 | 操作系统启动的引导度量方法、装置、电子设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011233655.5A CN112329005A (zh) | 2020-11-06 | 2020-11-06 | 操作系统启动的引导度量方法、装置、电子设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112329005A true CN112329005A (zh) | 2021-02-05 |
Family
ID=74315491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011233655.5A Pending CN112329005A (zh) | 2020-11-06 | 2020-11-06 | 操作系统启动的引导度量方法、装置、电子设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112329005A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112988262A (zh) * | 2021-02-09 | 2021-06-18 | 支付宝(杭州)信息技术有限公司 | 一种在目标平台上启动应用程序的方法及装置 |
CN113127015A (zh) * | 2021-04-25 | 2021-07-16 | 联想(北京)有限公司 | 一种安装方法、装置以及电子设备 |
CN116049866A (zh) * | 2022-06-27 | 2023-05-02 | 荣耀终端有限公司 | 一种数据保护方法、电子设备及芯片系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101038556A (zh) * | 2007-04-30 | 2007-09-19 | 中国科学院软件研究所 | 可信引导方法及其系统 |
CN102270288A (zh) * | 2011-09-06 | 2011-12-07 | 中国人民解放军国防科学技术大学 | 基于反向完整性验证的操作系统可信引导方法 |
CN102332070A (zh) * | 2011-09-30 | 2012-01-25 | 中国人民解放军海军计算技术研究所 | 一种可信计算平台的信任链传递方法 |
US20150150127A1 (en) * | 2013-11-22 | 2015-05-28 | Samsung Electronics Co., Ltd. | Method of verifying integrity of electronic device, storage medium, and electronic device |
CN106384052A (zh) * | 2016-08-26 | 2017-02-08 | 浪潮电子信息产业股份有限公司 | 一种实现BMC U‑boot可信启动控制的方法 |
CN106815494A (zh) * | 2016-12-28 | 2017-06-09 | 中软信息系统工程有限公司 | 一种基于cpu时空隔离机制实现应用程序安全认证的方法 |
CN107729743A (zh) * | 2016-08-10 | 2018-02-23 | 中国电信股份有限公司 | 用于实现移动终端安全启动的方法、设备和系统 |
CN109101284A (zh) * | 2018-07-18 | 2018-12-28 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机启动方法、装置、设备及存储介质 |
CN110414235A (zh) * | 2019-07-08 | 2019-11-05 | 北京可信华泰信息技术有限公司 | 一种基于ARM TrustZone的主动免疫的双体系结构系统 |
CN111859394A (zh) * | 2020-07-21 | 2020-10-30 | 中国人民解放军国防科技大学 | 基于tee的软件行为主动度量方法及系统 |
-
2020
- 2020-11-06 CN CN202011233655.5A patent/CN112329005A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101038556A (zh) * | 2007-04-30 | 2007-09-19 | 中国科学院软件研究所 | 可信引导方法及其系统 |
CN102270288A (zh) * | 2011-09-06 | 2011-12-07 | 中国人民解放军国防科学技术大学 | 基于反向完整性验证的操作系统可信引导方法 |
CN102332070A (zh) * | 2011-09-30 | 2012-01-25 | 中国人民解放军海军计算技术研究所 | 一种可信计算平台的信任链传递方法 |
US20150150127A1 (en) * | 2013-11-22 | 2015-05-28 | Samsung Electronics Co., Ltd. | Method of verifying integrity of electronic device, storage medium, and electronic device |
CN107729743A (zh) * | 2016-08-10 | 2018-02-23 | 中国电信股份有限公司 | 用于实现移动终端安全启动的方法、设备和系统 |
CN106384052A (zh) * | 2016-08-26 | 2017-02-08 | 浪潮电子信息产业股份有限公司 | 一种实现BMC U‑boot可信启动控制的方法 |
CN106815494A (zh) * | 2016-12-28 | 2017-06-09 | 中软信息系统工程有限公司 | 一种基于cpu时空隔离机制实现应用程序安全认证的方法 |
CN109101284A (zh) * | 2018-07-18 | 2018-12-28 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机启动方法、装置、设备及存储介质 |
CN110414235A (zh) * | 2019-07-08 | 2019-11-05 | 北京可信华泰信息技术有限公司 | 一种基于ARM TrustZone的主动免疫的双体系结构系统 |
CN111859394A (zh) * | 2020-07-21 | 2020-10-30 | 中国人民解放军国防科技大学 | 基于tee的软件行为主动度量方法及系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112988262A (zh) * | 2021-02-09 | 2021-06-18 | 支付宝(杭州)信息技术有限公司 | 一种在目标平台上启动应用程序的方法及装置 |
WO2022170966A1 (zh) * | 2021-02-09 | 2022-08-18 | 支付宝(杭州)信息技术有限公司 | 在目标平台上启动应用程序的方法及装置 |
CN113127015A (zh) * | 2021-04-25 | 2021-07-16 | 联想(北京)有限公司 | 一种安装方法、装置以及电子设备 |
CN113127015B (zh) * | 2021-04-25 | 2024-06-18 | 联想(北京)有限公司 | 一种安装方法、装置以及电子设备 |
CN116049866A (zh) * | 2022-06-27 | 2023-05-02 | 荣耀终端有限公司 | 一种数据保护方法、电子设备及芯片系统 |
CN116049866B (zh) * | 2022-06-27 | 2024-06-28 | 荣耀终端有限公司 | 一种数据保护方法、电子设备及芯片系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10713350B2 (en) | Unlock and recovery for encrypted devices | |
US9678895B2 (en) | Roots-of-trust for measurement of virtual machines | |
CN109710315B (zh) | Bios刷写方法及bios镜像文件的处理方法 | |
KR101696131B1 (ko) | 가상화 환경에서의 특권 암호화 서비스 | |
US8850212B2 (en) | Extending an integrity measurement | |
US10878096B2 (en) | BIOS startup method and data processing method | |
JP5957004B2 (ja) | 信頼できるホスト環境が仮想計算機(vm)の要件に準拠しているという妥当性確認を提供するためのシステム、方法、コンピュータ・プログラム製品、およびコンピュータ・プログラム | |
CN112329005A (zh) | 操作系统启动的引导度量方法、装置、电子设备和介质 | |
US9167002B2 (en) | Global platform health management | |
US20130031371A1 (en) | Software Run-Time Provenance | |
JP2011243231A (ja) | サーバ管理コプロセッササブシステム内部のtcpaによる信頼性の高いプラットフォームモジュール機能のカプセル化 | |
CN112800431B (zh) | 超线程场景下安全进入可信执行环境的方法及装置 | |
EP3859579B1 (en) | Trusted computing method, and server | |
CN108595950A (zh) | 一种结合远程认证的sgx安全增强方法 | |
CN113448681B (zh) | 一种虚拟机监控器公钥的注册方法、设备和存储介质 | |
Khan et al. | A protocol for preventing insider attacks in untrusted infrastructure-as-a-service clouds | |
WO2013028059A1 (en) | Verification system for trusted platform | |
CN114443147B (zh) | 基于可信硬件技术的超级监控式无人飞行器可信检测方法 | |
CN112988262B (zh) | 一种在目标平台上启动应用程序的方法及装置 | |
Msgna et al. | Secure application execution in mobile devices | |
CN114238941A (zh) | 一种程序度量验证方法、装置、系统及存储介质 | |
AT&T | ||
CN109167785B (zh) | 一种虚拟可信根的调用方法和业务服务器 | |
CN116561772B (zh) | 可信静态度量值计算方法、装置、存储介质及处理器 | |
JP6939595B2 (ja) | 情報処理装置、認証サーバ、認証制御方法および認証制御プログラム |
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 |