CN112073187B - 一种基于非阻塞方式加速系统可信链构建的方法 - Google Patents
一种基于非阻塞方式加速系统可信链构建的方法 Download PDFInfo
- Publication number
- CN112073187B CN112073187B CN202010891715.6A CN202010891715A CN112073187B CN 112073187 B CN112073187 B CN 112073187B CN 202010891715 A CN202010891715 A CN 202010891715A CN 112073187 B CN112073187 B CN 112073187B
- Authority
- CN
- China
- Prior art keywords
- thread
- trusted
- task
- trusted chain
- system initialization
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0877—Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开一种基于非阻塞方式加速系统可信链构建的方法,在系统启动阶段,透过非阻塞式可信链构建原语,分离系统初始化任务和构建可信链任务并将其转化为独立运行的线程;系统初始化和可信链构造过程得以并行或交替执行。本发明创新性地提出了并发调度算法,并设计了非阻塞可信链构建原语。在保证系统完整性的同时,提升并发度,优化计算资源,提升了系统初始化和可信链构建任务吞吐量,对加快可信系统启动速度,满足启动实现约束,提升用户使用感受有着重要意义。
Description
技术领域
本发明属于计算机技术领域,涉及一种基于非阻塞方式加速系统可信链构建的方法。
背景技术
TPM(Trusted Platform Module,可信平台模块)是国际行业标准组织可信计算组织(TCG,Trusted Computing Group)标准定义的专用可信模块。TPM核心功能包含密钥管理,数字签名,数据加密,身份认证,系统度量等。TPM作为存储和签名可信根,是整个系统可信链的基础。
现有计算机系统中,可信计算机系统依赖于完整的可信链,可信链的构建包含两大任务:可信根初始化,系统完整性度量。现有可信链构建伴随着系统初始化而发生,其主要特征为阻塞式且时间耗费巨大,拖累了系统启动性能,降低了系统可用性。
系统初始化,TPM模块的初始化和系统完整性度量通常是阻塞式串行执行的,大量处理器时间耗费在可信构造(如图1③,④)和忙等上(如图1②),资源利用率很低。即使在新固件架构UEFI(Unified Extensible Firmware Interface)固件中,处理器资源也没有被充分使用来进行可信链构建工作,只有单一CPU内核(BSP)运行相关代码,大量计算单元被闲置。
现代计算机系统对启动时间是敏感的,一些面向终端消费者的操作系统对启动时间也明确做出了硬约束,如微软的Windows 10要求在采用TPM后,启动时间不得低于2.3秒;在服务器领域,云服务提供商追求99.999%的系统可用性,这同样对系统重启和构建系统信任链耗时提出了很高的要求。
另一方面,可信度量计算需要耗费大量的处理器时间;TPM芯片速度又较低,度量结果存储往往达到微秒级。以阻塞式方法构造可信链将难以保证系统启动时间约束。图1所示为当前系统技术的执行模型,系统初始化任务在发起度量和与TPM芯片执行通信过程中,被完全阻塞在原地等待操作完成,整个系统初始化过程被串行拉长(如图1①,②所示)。
发明内容
本发明解决的技术问题:现有可信链构建伴随着系统初始化而发生,其主要特征为阻塞式且时间耗费巨大,拖累了系统启动性能,降低了系统可用性。
技术方案:为了解决上述技术问题,本发明采用的技术方案如下:
一种基于非阻塞方式加速系统可信链构建的方法,在系统启动阶段,通过非阻塞式可信链构建原语,分离系统初始化任务和构建可信链任务并将其转化为独立运行的线程,使系统初始化和可信链构造过程得以并行或交替执行,实现提升系统任务吞吐量,加快系统启动速度,减少系统不可用时间间隔。
作为优选,系统内存初始化完毕后,创建独立的可信链构造线程。
作为优选,所述独立的可信链构造线程包括支持其独立运行的独立的堆、堆栈以及上下文,且包含TPM设备驱动。
作为优选,所述独立的可信链构造线程提供阻塞和非阻塞式通信原语。
作为优选,系统初始化程序通过非阻塞式通信原语向可信链构造线程提交度量请求;系统初始化线程在提交可信度量请求以后,继续执行,保持与可信链构造线程并行。
作为优选,系统初始化线程持续运行使用已被度量过的代码和数据;与此同时,可信链构建任务线程则并行处理未度量过的代码和数据块。
作为优选,如果系统初始化线程需要使用的代码和数据仍未完成度量时,为保证先度量后使用的安全顺序,系统初始化线程将保持阻塞,直至度量完成;系统初始化线程采用忙等待或交出控制权的方式阻塞自身,直至系统可信构建任务线程完成相关代码和数据度量。
作为优选,如果系统具有多个CPU核心,系统初始化线程和可信构建任务线程在多核处理器上可保持时域并行。
作为优选,多个CPU内核利用独立的计算单元Boot Strapping Processor和Application Processor来并行执行两个线程,以达到时域上的并行。
作为优选,如果系统仅有单一CPU核心,系统初始化线程和可信构建任务线程在单核处理器上保持时分并行,当系统初始化线程空闲或忙等时,出让处理器资源,调度可信链构造线程执行。
有益效果:与现有技术相比,本发明具有以下优点:
本发明在系统启动阶段,在系统启动阶段,通过创建两个任务线程并提供非阻塞原语,创建两个并行独立的线程,分别负责系统初始化和可信链构造,将系统启动和可信链构造线程化,充分调度线程和处理器资源以加快系统启动速度,达到减少系统不可用时间的目标。充分调度CPU计算资源,减少系统忙等时间,提高整个任务吞吐量,从而加快系统启动速度。
本发明以非阻塞方式将建立安全信任链并行与系统初始化任务线程,在计算机系统启动阶段大大加快TPM的初始化和安全度量速度,减少可信链构造用时间,加快系统启动速度,以满足对启动时间敏感的产品必要约束。
本发明创新性地灵活调度可信链构造任务和系统初始化任务线程,在保证系统完整性的同时,提升并发度,优化计算资源,提升了系统初始化和可信链构建任务吞吐量,对加快可信系统启动速度,满足启动实现约束,提升用户使用感受有着重要意义。
附图说明
图1是现有的模型。
图2是本发明基于多处理器核心的线程调度算法;
图3是本发明基于单一处理器核心的线程调度算法。
具体实施方式
下面结合具体实施例,进一步阐明本发明,实施例在以本发明技术方案为前提下进行实施,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围。
本申请的基于非阻塞方式加速系统可信链构建的方法,在系统启动阶段,通过非阻塞式可信链构建原语,分离系统初始化任务和构建可信链任务并将其转化为独立运行的线程,使系统初始化和可信链构造过程得以并行或交替执行,实现提升系统任务吞吐量,加快系统启动速度,减少系统不可用时间间隔。
启动阶段以非阻塞方式度量和与可信根设备(如Trusted Platform Module简称TPM)通信以加速建立安全信任链的方法,系统内存初始化完毕后,创建一个独立的可信链构造线程。该独立的可信链构造线程包括支持其独立运行缩必需的资源:独立的堆、堆栈以及上下文,且包含TPM设备驱动。该可信链构建线程可调度于多核处理器的空闲运算核心上(Application Processor简称AP)或单核处理器上。
独立的可信链构造线程提供阻塞和非阻塞式通信原语。
系统初始化任务线程通过非阻塞式通信原语提交度量请求。具体的,系统初始化程序通过非阻塞式通信原语向可信链构造线程提交度量请求,即度量任务提交过程为非阻塞式。
系统初始化线程在提交可信度量请求以后,继续执行,保持与可信链构造线程并行。系统初始化线程持续运行使用已被度量过的代码和数据;与此同时,可信链构建任务线程则并行处理未度量过的代码和数据块。
如果系统初始化线程需要使用的代码和数据仍未完成度量时,为保证先度量后使用的安全顺序,系统初始化线程将保持阻塞,直至度量完成;系统初始化线程采用忙等待或交出控制权的方式阻塞自身,直至系统可信构建任务线程完成相关代码和数据度量。
如果系统具有多个CPU核心,系统初始化线程和可信构建任务线程在多核处理器上可保持时域并行。多个CPU内核利用独立的计算单元(Boot Strapping Processor和Application Processor)来并行执行两个线程,以达到时域上的并行。
如图2所示,提供一种多内核的线程模型,在具有多个CPU内核后,充分利用多核计算资源(BSP和AP)来独立进行TPM初始化和系统完整性度量。对比图1的pre-boot stage1和pre-boot stage2时间耗费,图2达到了真正时域并行。
当系统存在多个CPU内核时,可利用BSP和AP的计算资源来独立进行系统初始化和系统完整性度量。并发调度算法的具体流程如下:
1.(图2①)初始化系统,初始化满足线程运行需求的资源,如内存,多核处理器等。
2.在时间节点④创建系统初始化线程②和可信链构造线程③,将两线程调度到不同的计算核心上(BSP,AP)。两线程在执行过程将操作独立的数据和硬件,能保持自然并行而无需复杂的线程间同步。
3.(图2⑤)系统初始化线程将pre-boot stage1执行所需度量的任务以非阻塞方式提交给可信链构造线程,提交完成后继续执行stage0初始化任务。两线程此后保持并行执行。
4.(图2⑥)系统初始化线程将pre-boot stage2执行需要度量的任务以非阻塞方式提交给可信链构造线程,提交完成后继续执行stage1初始化任务,两线程此后保持并行执行。
5.(图2⑦)当系统初始化线程需要使用的数据,代码或环境仍未被度量时,系统初始化线程将阻塞以等待度量完成。
如果系统仅有单一CPU核心,系统初始化线程和可信构建任务线程在单核处理器上保持时分并行,当系统初始化线程空闲或忙等时,出让处理器资源,调度可信链构造线程执行。两线程调度在单一处理器上交替执行,一个线程阻塞忙等时旋即调度另一个线程,从而减少忙等时间片,提高处理器资源利用率。
如图3所示,提出一种线程模型,在单一处理器系统上,让BSP不被阻塞在系统初始化任务上,而是可以在忙的时调度到可信链构造线程,优化了处理器使用效率。
具体步骤如下:
1.(图3①)初始化系统,建立满足线程运行需求的资源,如内存等初始化。
2.在时间节点(图3⑥)创建系统初始化线程②和可信链构造线程⑤,继续在BSP上调度执行系统初始化线程。
3.(图3⑦)系统初始化线程将pre-boot stagel执行需要度量的任务以非阻塞方式提交给可信链构造线程,提交完成后调度可信链构建线程执行在BSP上。
4.(图3⑧)可信链度量任务执行完成以后,可信链构建线程交出控制权,重新调度系统初始化线程执行。
5.(图3⑨)系统初始化线程将pre-boot stage2执行需要度量的任务以非阻塞方式提交给可信链构造线程,当处于忙等时,调度可信链构建线程执行在BSP上。
6.(图3⑩)可信链度量任务执行完成以后,可信链构建线程交出控制权,重新调度系统初始化线程执行。
对比现有阻塞式模型可以看到,系统初始化存在忙等时间片(图1②),而在非阻塞模型中(图3中⑨,⑩之间),处理器资源则会被调配给可信链构造线程。系统资源并没有浪费,从而减少了系统整体初始化时间。
在系统启动阶段,透过非阻塞式可信链构建原语,分离系统初始化任务和构建可信链任务并将其转化为独立运行的线程;系统初始化和可信链构造过程得以并行或交替执行。本发明创新性地提出了并发调度算法,并设计了非阻塞可信链构建原语。发明优化了系统计算资源利用率,提升了系统初始化和可信链构建任务吞吐量,对加快可信系统启动速度,满足启动实现约束,提升用户使用感受有着重要意义。
Claims (4)
1.一种基于非阻塞方式加速系统可信链构建的方法,其特征在于:在系统启动阶段,通过非阻塞式可信链构建原语,分离系统初始化任务和构建可信链任务并将其转化为独立运行的线程,使系统初始化和可信链构造过程得以并行或交替执行,实现提升系统任务吞吐量,加快系统启动速度,减少系统不可用时间间隔;
系统内存初始化完毕后,创建独立的可信链构造线程,所述独立的可信链构造线程包括支持其独立运行的独立的堆、堆栈以及上下文,且包含TPM设备驱动;所述独立的可信链构造线程提供阻塞和非阻塞式通信原语;系统初始化程序通过非阻塞式通信原语向可信链构造线程提交度量请求;
系统初始化线程在提交可信度量请求以后,继续执行,保持与可信链构造线程并行;系统初始化线程持续运行使用已被度量过的代码和数据;与此同时,可信链构建任务线程则并行处理未度量过的代码和数据块;
如果系统具有多个CPU核心,系统初始化线程和可信构建任务线程在多核处理器上可保持时域并行;利用BSP和AP的计算资源来独立进行系统初始化和系统完整性度量,并发调度算法的具体流程如下:
1)初始化系统,初始化满足线程运行需求的资源;
2)初始化完成后,系统创建两个独立线程: 系统初始化线程和可信链构造线程,将两线程调度到BSP和AP不同的计算核心上,两线程在执行过程将操作独立的数据和硬件,能保持自然并行而无需复杂的线程间同步;
3)系统初始化线程将pre-boot stage1 执行所需度量的任务以非阻塞方式提交给可信链构造线程,提交完成后继续执行pre-boot stage0初始化任务,两线程此后保持并行执行;
4)系统初始化线程将pre-boot stage2 执行需要度量的任务以非阻塞方式提交给可信链构造线程,提交完成后继续执行pre-boot stage1初始化任务,两线程此后保持并行执行;
5)当系统初始化线程需要使用的数据,代码或环境仍未被度量时,系统初始化线程将阻塞以等待度量完成。
2.根据权利要求1所述的基于非阻塞方式加速系统可信链构建的方法,其特征在于:如果系统初始化线程需要使用的代码和数据仍未完成度量时,为保证先度量后使用的安全顺序,系统初始化线程将保持阻塞,直至度量完成;系统初始化线程采用忙等待或交出控制权的方式阻塞自身,直至系统可信构建任务线程完成相关代码和数据度量。
3.根据权利要求1所述的基于非阻塞方式加速系统可信链构建的方法,其特征在于:多个CPU内核利用独立的计算单元Boot Strapping Processor 和Application Processor来并行执行两个线程,以达到时域上的并行。
4.根据权利要求1所述的基于非阻塞方式加速系统可信链构建的方法,其特征在于:如果系统仅有单一CPU核心,系统初始化线程和可信构建任务线程在单核处理器上保持时分并行,当系统初始化线程空闲或忙等时,出让处理器资源,调度可信链构造线程执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010891715.6A CN112073187B (zh) | 2020-08-28 | 2020-08-28 | 一种基于非阻塞方式加速系统可信链构建的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010891715.6A CN112073187B (zh) | 2020-08-28 | 2020-08-28 | 一种基于非阻塞方式加速系统可信链构建的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112073187A CN112073187A (zh) | 2020-12-11 |
CN112073187B true CN112073187B (zh) | 2023-03-28 |
Family
ID=73660215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010891715.6A Active CN112073187B (zh) | 2020-08-28 | 2020-08-28 | 一种基于非阻塞方式加速系统可信链构建的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112073187B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2392590B (en) * | 2002-08-30 | 2005-02-23 | Toshiba Res Europ Ltd | Methods and apparatus for secure data communication links |
CN101719203A (zh) * | 2009-12-07 | 2010-06-02 | 北京交通大学 | Efi下可信链建立的一种方法 |
CN102332070A (zh) * | 2011-09-30 | 2012-01-25 | 中国人民解放军海军计算技术研究所 | 一种可信计算平台的信任链传递方法 |
CN110138560B (zh) * | 2019-06-04 | 2020-09-11 | 北京理工大学 | 一种基于标识密码和联盟链的双代理跨域认证方法 |
CN110795735A (zh) * | 2019-10-29 | 2020-02-14 | 南京邮电大学 | 一种面向异构BIOS环境的Rootkit通用性检测方法 |
-
2020
- 2020-08-28 CN CN202010891715.6A patent/CN112073187B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112073187A (zh) | 2020-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110119311B (zh) | 一种基于fpga的分布式流计算系统加速方法 | |
US8739171B2 (en) | High-throughput-computing in a hybrid computing environment | |
US8914805B2 (en) | Rescheduling workload in a hybrid computing environment | |
Zhu et al. | QoS-aware fault-tolerant scheduling for real-time tasks on heterogeneous clusters | |
EP2962192B1 (en) | System and method thereof to optimize boot time of computers having multiple cpus | |
CN110825535B (zh) | 一种作业调度的方法和系统 | |
US10109030B1 (en) | Queue-based GPU virtualization and management system | |
Xu et al. | Adaptive task scheduling strategy based on dynamic workload adjustment for heterogeneous Hadoop clusters | |
US20130061018A1 (en) | Memory access method for parallel computing | |
CN102193830B (zh) | 面向众核环境的分治映射/归约并行编程模型 | |
US8516487B2 (en) | Dynamic job relocation in a high performance computing system | |
US9223627B2 (en) | Management of task allocation in a multi-core processing system | |
CN108228330B (zh) | 一种串行化的多进程任务调度方法和装置 | |
CN107463442B (zh) | 一种星载多核SoC任务级负载均衡并行调度方法 | |
US7831803B2 (en) | Executing multiple instructions multiple date (‘MIMD’) programs on a single instruction multiple data (‘SIMD’) machine | |
CN111984402A (zh) | 一种线程池统一调度监控方法及系统 | |
JP2007316710A (ja) | マルチプロセッサシステム、ワークロード管理方法 | |
CN112073187B (zh) | 一种基于非阻塞方式加速系统可信链构建的方法 | |
CN112395062A (zh) | 任务处理方法、装置、设备及计算机可读存储介质 | |
CN112799851A (zh) | 多方安全计算中的数据处理方法和相关装置 | |
CN110879753B (zh) | 基于自动化集群资源管理的gpu加速性能优化方法和系统 | |
CN109766131A (zh) | 基于多线程技术实现软件智能化自动升级的系统及方法 | |
CN115480904B (zh) | 微内核中系统服务并发调用方法 | |
CN112148546A (zh) | 电力系统静态安全分析并行计算系统及方法 | |
CN111459620A (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 |