CN111414625A - 支持主动可信能力的计算机可信软件栈实现方法及*** - Google Patents

支持主动可信能力的计算机可信软件栈实现方法及*** Download PDF

Info

Publication number
CN111414625A
CN111414625A CN202010251372.7A CN202010251372A CN111414625A CN 111414625 A CN111414625 A CN 111414625A CN 202010251372 A CN202010251372 A CN 202010251372A CN 111414625 A CN111414625 A CN 111414625A
Authority
CN
China
Prior art keywords
monitoring
trusted
tpcm
module
layer
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.)
Granted
Application number
CN202010251372.7A
Other languages
English (en)
Other versions
CN111414625B (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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202010251372.7A priority Critical patent/CN111414625B/zh
Publication of CN111414625A publication Critical patent/CN111414625A/zh
Application granted granted Critical
Publication of CN111414625B publication Critical patent/CN111414625B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种支持主动可信能力的计算机可信软件栈实现方法及***,本发明计算机可信软件栈实现方法的实施步骤包括:在可信平台控制模块TPCM中增加可信监控根RTV;在现有计算机可信软件栈中的各层分别扩展建立用于支持主动可信能力的功能模块,并通过最顶层的功能模块为应用程序提供主动可信能力的服务接口;在启动时从可信监控根RTV开始从下至上给每一个功能模块签发授权,使得从可信监控根RTV到应用程序之间建立可信链。本发明能够实现对***和软件的主动可信监控,为可信3.0技术架构提供必要的可信软件栈支持,为软件提供标准和方便使用的可信平台控制模块接口。

Description

支持主动可信能力的计算机可信软件栈实现方法及***
技术领域
本发明涉及计算机操作******软件领域和信息安全领域,具体涉及一种支持主动可信能力的计算机可信软件栈实现方法及***。
背景技术
可信软件栈(TCG Software Stack,TSS),是可信计算平台上可信体系的支撑软件,其主要作用是为操作***和应用软件提供使用可信模块TPM(Trusted PlatformModule,国外标准)或者TCM (Trusted Cryptography Module,中国标准)的接口。利用这个接口,应用程序只需要直接与可信软件栈打交道,就可以充分地使用可信模块提供的功能,从而使得应用程序可以方便地在不同平台上协调可信度量的工作和做进一步的开发。现有TSS的主要设计目标为:(1)为应用程序提供一套统一的接口函数来使用TCM/TPM资源;(2)管理多个应用程序对TCM/TPM的同步访问;(3)管理TCM/TPM资源;(4)按访问者需求提供审计功能;(5)对完整性度量结果提供日志记录与管理;(6)提供密钥存储、密钥管理功能。TSS从结构上分为四层:工作在用户态的TSS服务提供者(TSP)、TSS核心服务(TCS)、TCG设备驱动程序库(TDDL)和内核态的TPM设备驱动(TDD)。TCM/TPM被设计为在硬件隔离的环境中以被动方式工作,供主机CPU进行服务调用。但这种方式存在难以保证加载时(特别是加电时)的软件完整性;软件更新困难;无法保证在运行态的完整性等问题,因此也不具备对主机***进行主动访问和监控的能力,甚至难以掌控***上电时的代码可信性。针对这些弊端,我国已在可信计算技术 3.0 阶段提出“主动防御体系”思想,目标是确保全程可测可控、不被干扰,即防御与运算并行的“主动免疫计算模式”。可信计算技术 3.0中TCM需要升级为可信平台控制模块(Trusted Platform Control Module, TPCM),要求能够直接接入平台的主设备接口,具备对软硬件***的可信控制、主动度量和主动报告等功能,以便主动监控平台各组件的完整性和工作状态。 TPCM的主动可信体系对 SoC、***总线以及主板设计都提出很高的要求,当前通用的主板和硬件设计标准很难满足监控能力要求,如果基于软件实现则会有明显的安全问题。目前比较可行的TPCM实现技术是利用软硬结合的TEE(TrustedExecution Environment)技术。TEE又称为可信执行环境,是同主机***相隔离的安全区域,作为一个独立的环境与主机操作***并行运行。TEE技术通过使用硬件和软件来保护数据和代码,从而确保安全区域中加载的代码和数据的机密性和完整性都得到保护,获得比传统REE(Rich Execution Environment)环境更强的安全性保证。在TEE 中运行的受信任应用程序可以访问平台上主处理器和内存的全部功能,而硬件隔离保护这些组件不受主操作***中运行的用户安装应用程序的影响。目前常见的TEE技术有TrustZone和SGX等。综合TEE技术的各种能力可以看出,该技术适合用来构建具备主动可信能力的,目前国防科技大学等单位已经研制出相应的TPCM(Trust Platform Control Module)部件或者子***。
可信计算是由可信平台模块(硬件)、可信软件栈、可信软件等构成的一个防护整体。在TPCM的构建问题得以解决的同时,可信软件栈的相应功能仍然停留在可信2.0时代,基于传统TPM/TCM的被动可信思想,在结构上和功能上都缺乏对主动可信的支持能力,这无疑成为可信3.0顺利推进的一个障碍。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种支持主动可信能力的计算机可信软件栈实现方法及***,本发明能够实现对***和软件的主动可信监控,为可信3.0技术架构提供必要的可信软件栈支持,为软件提供标准和方便使用的可信平台控制模块接口。
为了解决上述技术问题,本发明采用的技术方案为:
一种支持主动可信能力的计算机可信软件栈实现方法,实施步骤包括:
1)在可信平台控制模块TPCM中增加可信监控根RTV;
2)在现有计算机可信软件栈中的各层分别扩展建立用于支持主动可信能力的功能模块,并通过最顶层的功能模块为应用程序提供主动可信能力的服务接口;
3)在启动时从可信监控根RTV开始从下至上给每一个功能模块签发授权,使得从可信监控根RTV到应用程序之间建立可信链。
可选地,步骤2)中扩展建立用于支持主动可信能力的功能模块时,对TDD层扩展建立用于支持主动可信能力的功能模块的详细步骤包括:在TDD层中增加监控功能驱动以及内核代理,所述内核代理用于实现内核模块对主动监控提供的额外支持,该额外支持包括:将TPCM中的监控操作需要的命令传递、数据交互等封装为设备接口,并链接到设备文件***中;在内核启动后对TPCM的监控功能进行配置,将监控对象参数传递给TPCM,接收到来自TPCM的控制指令并转换为对应的干预操作。
可选地,步骤2)中扩展建立用于支持主动可信能力的功能模块时,对TDDL层扩展建立用于支持主动可信能力的功能模块的详细步骤包括:在TDDL层中增加监控接口,该监控接口用于向TPCM提交相关请求和参数以及获取返回的监控状态。
可选地,步骤2)中扩展建立用于支持主动可信能力的功能模块时,对TCS层扩展建立用于支持主动可信能力的功能模块的详细步骤包括:在TCS层中增加监控上下文管理模块和代理模块,所述监控上下文管理模块用于监控对象、策略与方法管理,所述代理模块用于帮助TPCM在线实时获取***信息并完成监控管理命令的序列化、以及根据上层应用或者TPCM模块的要求从***层利用工具软件或者内核接口等渠道获得监控所需的信息,或实施TPCM所发出的控制动作,且所增加的监控上下文管理模块和代理模块通过复用命令组装器以扩展其命令组装能力同TDDL层进行通信。
可选地,步骤2)中扩展建立用于支持主动可信能力的功能模块时,对TSP层扩展建立用于支持主动可信能力的功能模块的详细步骤包括:在TSP层中增加监控上下文管理模块、监控对象管理模块、监控策略管理模块、干预方法管理模块,所述监控上下文管理模块、监控对象管理模块、监控策略管理模块、干预方法管理模块分别用于面向应用程序提供监控上下文管理、监控对象管理、监控策略管理以及干预方法管理,使应用可以向TPCM发出对自己的监控请求,使应用能够将自身的代码或文件注册和配置为受监控对象,并在可信性发生异常时,让TPCM能采取行动或者调用用户自定义的干预方法。
可选地,步骤3)的详细步骤包括:在启动时,TDD层的监控功能驱动以及内核代理随着对内核的传统可信度量建立可信关系,随后TDD中的监控功能驱动执行初始化并准备好向核内外提供TPCM的服务接口,继而TDD中的内核代理开始执行并向TPCM报告内核信息,注册监控对象和干预方法、提出监控请求,且内核代理还可以配合TCS层中的代理模块提供监控信息和干预手段;同时,TPCM从其内部的可信监控根RTV出发,将依次为内核代理、TCS层的代理模块和应用程序签发专用于可信监控的令牌或秘钥以提供授权,由他们在向TPCM提出监控请求或进行数据交换时进行鉴权以防止不可信的非法请求发生。
可选地,步骤3)之后还包括应用程序注册启动监控任务的步骤,包括:
S1)应用程序创建监控上下文,以便在TPCM中获得一个实时任务的支持;
S2)应用程序向计算机可信软件栈申请授权,获得用于可信监控的令牌或秘钥;
S3)应用程序向计算机可信软件栈注册监控对象;TSP层的监控对象管理模块检查监控对象是否能直接由TPCM使用,如果不能直接由TPCM使用则向TCS层的代理模块或者TDD中的内核代理发送请求,通过TCS层的代理模块或者TDD中的内核代理将其转换为能由TPCM直接使用的监控对象再传递给TPCM;
S4)应用程序向计算机可信软件栈注册干预方法;TSP层的干预方法管理模块检查干预方法是否能直接由TPCM使用,如果不能直接由TPCM使用则向TCS层的代理模块或者TDD中的内核代理发送请求,通过TCS层的代理模块或者TDD中的内核代理将其转换为能由TPCM直接使用的干预方法再传递给TPCM;
S5)应用程序向计算机可信软件栈注册监控策略;
S6)应用程序开启TPCM中的监控任务。
此外,本发明还提供一种计算机***,该计算机***中包含所述支持主动可信能力的计算机可信软件栈实现方法得到的计算机可信软件栈。
和现有技术相比,本发明具有下述优点:(1)兼容传统可信软件栈的功能和接口,现有可信应用程序可直接在本发明的可信软件栈上运行;(2)支持应用程序向TPCM注册和撤销主动监控的服务,使可信监控功能的开发由用户程序来掌控,提高了灵活性;(3)支持内核程序向TPCM注册和撤销主动监控的服务,相对于传统可信软件栈只支持应用程序,本发明使可信软件栈的支持能力得到增强。
附图说明
图1为本发明实施例方法的基本流程示意图。
图2为本发明实施例中扩展出的功能模块的结构示意图。
图3为本发明实施例中建立可信监控的基本流程示意图。
图4为本发明实施例中实施可信监控的基本流程示意图。
具体实施方式
下文将以具备TrustZone支持的ARM指令集计算机为例,对本发明支持主动可信能力的计算机可信软件栈实现方法及***进行进一步的详细说明。毫无疑问,本发明支持主动可信能力的计算机可信软件栈实现方法及***并不局限于特定的主动可信平台型号。本实施例具有如下前提假设:TPCM以基于TrustZone隔离技术为基础构建,利用TrustZoneTEE环境实现了传统TPM/TCM的功能,并实现了多任务支持的主动监控任务,能对REE环境中的软硬件资源进行访问和监控。REE环境中运行Linux操作***,并能借助SMC、SGI以及共享内存机制实现同TEE TPCM的通信。TPCM借助ARM的TBBR(Trusted Board BootRequirements)规范实现自身可信性的建立和度量检验,依次完成对REE***中的UEFI、Grub、以及Linux内核等软件模块的可信度量。
如图1所示,本实施例支持主动可信能力的计算机可信软件栈实现方法的实施步骤包括:
1)在可信平台控制模块TPCM中增加可信监控根RTV;
2)在现有计算机可信软件栈中的各层分别扩展建立用于支持主动可信能力的功能模块,并通过最顶层的功能模块为应用程序提供主动可信能力的服务接口;
3)在启动时从可信监控根RTV开始从下至上给每一个功能模块签发授权,使得从可信监控根RTV到应用程序之间建立可信链。
参见图2,本实施例中在TPCM中应实现一个专用于可信监控的根秘钥,本发明称为可信监控根(Root of Trusted Visor,RTV),TPCM中的主动监控单元为TPCM中用于响应主动监控的功能模块。图2中右侧虚线方框部分的功能模块为在现有计算机可信软件栈中的各层分别扩展建立用于支持主动可信能力的功能模块。
TDD层工作在操作***内核中,是对硬件的操作、功能的封装,是为了对外接口统一并屏蔽平台差异。传统可信软件栈的TDD层只实现了可信2.0时代的平台模块功能封装。参见图2,本实施例步骤2)中扩展建立用于支持主动可信能力的功能模块时,对TDD层扩展建立用于支持主动可信能力的功能模块的详细步骤包括:在TDD层中增加监控功能驱动以及内核代理,所述内核代理用于实现内核模块对主动监控提供的额外支持,该额外支持包括:将TPCM中的监控操作需要的命令传递、数据交互等封装为设备接口,并链接到设备文件***中;在内核启动后对TPCM的监控功能进行配置,将监控对象参数传递给TPCM,接收到来自TPCM的控制指令并转换为对应的干预操作。本实施例中,监控功能驱动以及内核代理在Linux中实施为两个内核模块(Linux Kernel Module),监控功能驱动负责创建设备文件/dev/tpcm,并将传统的可信平台模块驱动与主动可信监控的设备驱动合为一体,通过/dev/tpcm对应用层提供功能接口。内核代理通过内核配置文件或者其它***配置接口获得***管理员的内核对象监控需求,并通过TPCM在内核中的接口(由驱动模块提供)向TPCM注册监控对象、干预方法和监控策略,启动TPCM对内核的监控。内核代理的职能还包括:通过访问内核数据结构将配置源给出的内核对象参数转换为TPCM直接可用的数据块地址区间以方便后者的度量,提供一些预置内核干预方法供TPCM使用,比如注册一些异常处理向量,由TPCM发出的中断触发。
传统可信软件栈的TDDL层主要对TCS层提供三类接口支持:用于维护同TDD层进行交互的维护接口类,用于获取和设置TCM/TPM、TDD层、TDDL层属性的间接接口类,以及用于发送和接收TCM/TPM命令的直接接口类。参见图2,本实施例步骤2)中扩展建立用于支持主动可信能力的功能模块时,对TDDL层扩展建立用于支持主动可信能力的功能模块的详细步骤包括:在TDDL层中增加监控接口,该监控接口用于向TPCM提交相关请求和参数以及获取返回的监控状态。
传统可信软件栈的TCS层负责会话上下文管理、密钥管理、事件管理,并通过命令组装器与底层进行通信。参见图2,本实施例步骤2)中扩展建立用于支持主动可信能力的功能模块时,对TCS层扩展建立用于支持主动可信能力的功能模块的详细步骤包括:在TCS层中增加监控上下文管理模块和代理模块,所述监控上下文管理模块用于监控对象、策略与方法管理,所述代理模块用于帮助TPCM在线实时获取***信息并完成监控管理命令的序列化、以及根据上层应用或者TPCM模块的要求从***层利用工具软件或者内核接口等渠道获得监控所需的信息,或实施TPCM所发出的控制动作,且所增加的监控上下文管理模块和代理模块通过复用命令组装器以扩展其命令组装能力同TDDL层进行通信。
TSP层通过动态链接的形式工作在应用程序的地址空间内。参见图2,本实施例步骤2)中扩展建立用于支持主动可信能力的功能模块时,对TSP层扩展建立用于支持主动可信能力的功能模块的详细步骤包括:在TSP层中增加监控上下文管理模块、监控对象管理模块、监控策略管理模块、干预方法管理模块,所述监控上下文管理模块、监控对象管理模块、监控策略管理模块、干预方法管理模块分别用于面向应用程序提供监控上下文管理、监控对象管理、监控策略管理以及干预方法管理,使应用可以向TPCM发出对自己的监控请求,使应用能够将自身的代码或文件注册和配置为受监控对象,并在可信性发生异常时,让TPCM能采取行动或者调用用户自定义的干预方法。
本实施例的TDDL、TCS以及TSP层次软件栈的加载过程同传统可信软件栈类似,相对显著的区别是在TCS层会创建一个独立的TCS 代理***服务,该服务拥有同root用户同级别的***权限,能够访问所有的***资源(包括/proc、/sys等文件***以及System.map等关键文件),能够管理应用程序的行为(例如杀死或挂起应用程序)。TCS层还会创建一个一体化服务用于提供传统可信软件栈的上下文管理、秘钥管理等服务,并扩展包含图2中对应层次的监控相关服务。整合的目的是为使监控相关的服务能够利用已经实现的秘钥管理、命令组装等基础设施。本实施例TSP层的监控上下文管理、监控对象管理、监控策略管理、以及干预方法管理以***函数库的形式提供给应用使用。应用所创建的每个监控上下文将对应到TPCM中的一个任务,同一个应用可以申请多个监控上下文以便对不同的监控对象(如应用代码段、输入输出磁盘文件)展开联合监控。
基于上述扩展方式可知,本实施例方法首先保证对传统可信软件栈的继承和兼容,使原有的可信应用能够不加修改的运行在本实施例所构的可信软件栈上。本实施例所扩充的模块对于启动顺序和调用关系提出了新的要求,并利用了传统可信软件栈的功能和机制。首先,TDD层的扩展部分随着对内核的传统可信度量建立可信关系,随后TDD层中所扩展的监控驱动执行初始化并准备好向核内外提供TPCM的服务接口,继而TDD层中所扩展的内核代理开始执行,并向TPCM报告内核信息,注册监控对象和干预方法,提出监控请求。内核代理还可以配合TCS中的代理提供监控信息和干预手段,例如内核代理更容易获取应用的页表映射或者向用户进程发送各种信号。本实施例中,步骤3)的详细步骤包括:在启动时,TDD层的监控功能驱动以及内核代理随着对内核的传统可信度量建立可信关系,随后TDD中的监控功能驱动执行初始化并准备好向核内外提供TPCM的服务接口,继而TDD中的内核代理开始执行并向TPCM报告内核信息,注册监控对象和干预方法、提出监控请求,且内核代理还可以配合TCS层中的代理模块提供监控信息和干预手段;同时,TPCM从其内部的可信监控根RTV出发,将依次为内核代理、TCS层的代理模块和应用程序签发专用于可信监控的令牌或秘钥以提供授权,由他们在向TPCM提出监控请求或进行数据交换时进行鉴权以防止不可信的非法请求发生。参见图2可知,本实施例的TPCM从可信监控根RTV出发,将依次为内核代理、TCS层的代理模块和应用签发专用于可信监控的令牌或者秘钥,由他们在向TPCM提出监控请求或进行数据交换时进行鉴权,防止不可信的非法请求发生。应用在建立基于TPCM监控时,首先建立监控的上下文,申请到监控令牌,然后将受监控对象信息向TPCM注册,还可以注册监控策略和干预(控制)方法。在必要时应用可以向TPCM发出改变监控对象/策略/方法的请求,或者撤销它们。这些用户级的操作都经过TSP层的扩展接口模块向底层发送,而TPCM的控制操作则会经由其直接的内存访问(注:一些TPCM的实现已经可以对主机的地址空间进行直接访问)或者借助各级代理实施,还可借助电源管理等硬件实施。
如图3所示,步骤3)之后还包括应用程序注册启动监控任务的步骤,包括:
S1)应用程序创建监控上下文,以便在TPCM中获得一个实时任务的支持;
S2)应用程序向计算机可信软件栈申请授权,获得用于可信监控的令牌或秘钥,该令牌或秘钥是借助TPCM中的可信监控根RTV生成的,用以证明后续操作的合法性和可信性,能够避免非法指令对监控操作的干扰破坏;
S3)应用程序向计算机可信软件栈注册监控对象;TSP层的监控对象管理模块检查监控对象是否能直接由TPCM使用,如果不能直接由TPCM使用则向TCS层的代理模块或者TDD中的内核代理发送请求,通过TCS层的代理模块或者TDD中的内核代理将其转换为能由TPCM直接使用的监控对象再传递给TPCM;
S4)应用程序向计算机可信软件栈注册干预方法;TSP层的干预方法管理模块检查干预方法是否能直接由TPCM使用,如果不能直接由TPCM使用则向TCS层的代理模块或者TDD中的内核代理发送请求,通过TCS层的代理模块或者TDD中的内核代理将其转换为能由TPCM直接使用的干预方法再传递给TPCM;
S5)应用程序向计算机可信软件栈注册监控策略;
S6)应用程序开启TPCM中的监控任务。
如图4所示,本实施例计算机可信软件栈要求的TPCM中的每个实时监控任务简单的循环迭代,每个循环中都是对受监控对象的数据块进行扫描度量,当度量异常时触发干预机制,当收到应用结束监控的请求时跳出循环并结束监控任务。
此外,本发明还提供一种计算机***,该计算机***中包含前述支持主动可信能力的计算机可信软件栈实现方法得到的计算机可信软件栈。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (8)

1.一种支持主动可信能力的计算机可信软件栈实现方法,其特征在于实施步骤包括:
1)在可信平台控制模块TPCM中增加可信监控根RTV;
2)在现有计算机可信软件栈中的各层分别扩展建立用于支持主动可信能力的功能模块,并通过最顶层的功能模块为应用程序提供主动可信能力的服务接口;
3)在启动时从可信监控根RTV开始从下至上给每一个功能模块签发授权,使得从可信监控根RTV到应用程序之间建立可信链。
2.根据权利要求1所述的支持主动可信能力的计算机可信软件栈实现方法,其特征在于,步骤2)中扩展建立用于支持主动可信能力的功能模块时,对TDD层扩展建立用于支持主动可信能力的功能模块的详细步骤包括:在TDD层中增加监控功能驱动以及内核代理,所述内核代理用于实现内核模块对主动监控提供的额外支持,该额外支持包括:将TPCM中的监控操作需要的命令传递、数据交互等封装为设备接口,并链接到设备文件***中;在内核启动后对TPCM的监控功能进行配置,将监控对象参数传递给TPCM,接收到来自TPCM的控制指令并转换为对应的干预操作。
3.根据权利要求2所述的支持主动可信能力的计算机可信软件栈实现方法,其特征在于,步骤2)中扩展建立用于支持主动可信能力的功能模块时,对TDDL层扩展建立用于支持主动可信能力的功能模块的详细步骤包括:在TDDL层中增加监控接口,该监控接口用于向TPCM提交相关请求和参数以及获取返回的监控状态。
4.根据权利要求3所述的支持主动可信能力的计算机可信软件栈实现方法,其特征在于,步骤2)中扩展建立用于支持主动可信能力的功能模块时,对TCS层扩展建立用于支持主动可信能力的功能模块的详细步骤包括:在TCS层中增加监控上下文管理模块和代理模块,所述监控上下文管理模块用于监控对象、策略与方法管理,所述代理模块用于帮助TPCM在线实时获取***信息并完成监控管理命令的序列化、以及根据上层应用或者TPCM模块的要求从***层利用工具软件或者内核接口等渠道获得监控所需的信息,或实施TPCM所发出的控制动作,且所增加的监控上下文管理模块和代理模块通过复用命令组装器以扩展其命令组装能力同TDDL层进行通信。
5.根据权利要求4所述的支持主动可信能力的计算机可信软件栈实现方法,其特征在于,步骤2)中扩展建立用于支持主动可信能力的功能模块时,对TSP层扩展建立用于支持主动可信能力的功能模块的详细步骤包括:在TSP层中增加监控上下文管理模块、监控对象管理模块、监控策略管理模块、干预方法管理模块,所述监控上下文管理模块、监控对象管理模块、监控策略管理模块、干预方法管理模块分别用于面向应用程序提供监控上下文管理、监控对象管理、监控策略管理以及干预方法管理,使应用可以向TPCM发出对自己的监控请求,使应用能够将自身的代码或文件注册和配置为受监控对象,并在可信性发生异常时,让TPCM能采取行动或者调用用户自定义的干预方法。
6.根据权利要求5所述的支持主动可信能力的计算机可信软件栈实现方法,其特征在于,步骤3)的详细步骤包括:在启动时,TDD层的监控功能驱动以及内核代理随着对内核的传统可信度量建立可信关系,随后TDD中的监控功能驱动执行初始化并准备好向核内外提供TPCM的服务接口,继而TDD中的内核代理开始执行并向TPCM报告内核信息,注册监控对象和干预方法、提出监控请求,且内核代理还可以配合TCS层中的代理模块提供监控信息和干预手段;同时,TPCM从其内部的可信监控根RTV出发,将依次为内核代理、TCS层的代理模块和应用程序签发专用于可信监控的令牌或秘钥以提供授权,由他们在向TPCM提出监控请求或进行数据交换时进行鉴权以防止不可信的非法请求发生。
7.根据权利要求6所述的支持主动可信能力的计算机可信软件栈实现方法,其特征在于,步骤3)之后还包括应用程序注册启动监控任务的步骤,包括:
S1)应用程序创建监控上下文,以便在TPCM中获得一个实时任务的支持;
S2)应用程序向计算机可信软件栈申请授权,获得用于可信监控的令牌或秘钥;
S3)应用程序向计算机可信软件栈注册监控对象;TSP层的监控对象管理模块检查监控对象是否能直接由TPCM使用,如果不能直接由TPCM使用则向TCS层的代理模块或者TDD中的内核代理发送请求,通过TCS层的代理模块或者TDD中的内核代理将其转换为能由TPCM直接使用的监控对象再传递给TPCM;
S4)应用程序向计算机可信软件栈注册干预方法;TSP层的干预方法管理模块检查干预方法是否能直接由TPCM使用,如果不能直接由TPCM使用则向TCS层的代理模块或者TDD中的内核代理发送请求,通过TCS层的代理模块或者TDD中的内核代理将其转换为能由TPCM直接使用的干预方法再传递给TPCM;
S5)应用程序向计算机可信软件栈注册监控策略;
S6)应用程序开启TPCM中的监控任务。
8.一种计算机***,其特征在于,该计算机***中包含权利要求1~7中任意一项所述支持主动可信能力的计算机可信软件栈实现方法得到的计算机可信软件栈。
CN202010251372.7A 2020-04-01 2020-04-01 支持主动可信能力的计算机可信软件栈实现方法及*** Active CN111414625B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010251372.7A CN111414625B (zh) 2020-04-01 2020-04-01 支持主动可信能力的计算机可信软件栈实现方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010251372.7A CN111414625B (zh) 2020-04-01 2020-04-01 支持主动可信能力的计算机可信软件栈实现方法及***

Publications (2)

Publication Number Publication Date
CN111414625A true CN111414625A (zh) 2020-07-14
CN111414625B CN111414625B (zh) 2023-09-22

Family

ID=71491714

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010251372.7A Active CN111414625B (zh) 2020-04-01 2020-04-01 支持主动可信能力的计算机可信软件栈实现方法及***

Country Status (1)

Country Link
CN (1) CN111414625B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114115836A (zh) * 2022-01-28 2022-03-01 麒麟软件有限公司 一种基于Linux操作***的可信TCM软件栈的设计方法及***

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102332070A (zh) * 2011-09-30 2012-01-25 中国人民解放军海军计算技术研究所 一种可信计算平台的信任链传递方法
CN104202296A (zh) * 2014-07-30 2014-12-10 中国电子科技集团公司第三十研究所 一种国产操作***可信安全增强方法
US20150007265A1 (en) * 2013-06-27 2015-01-01 Selim Aissi Secure data transmission and verification with untrusted computing devices
US9467299B1 (en) * 2014-03-19 2016-10-11 National Security Agency Device for and method of controlled multilevel chain of trust/revision
CN107766724A (zh) * 2017-10-17 2018-03-06 华北电力大学 一种可信计算机平台软件栈功能架构的构建方法
US20180109538A1 (en) * 2016-10-17 2018-04-19 Mocana Corporation System and method for policy based adaptive application capability management and device attestation
CN109871695A (zh) * 2019-03-14 2019-06-11 沈昌祥 一种计算与防护并行双体系结构的可信计算平台
US20190334713A1 (en) * 2018-04-28 2019-10-31 Alibaba Group Holding Limited Encryption Card, Electronic Device, and Encryption Service Method

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102332070A (zh) * 2011-09-30 2012-01-25 中国人民解放军海军计算技术研究所 一种可信计算平台的信任链传递方法
US20150007265A1 (en) * 2013-06-27 2015-01-01 Selim Aissi Secure data transmission and verification with untrusted computing devices
US9467299B1 (en) * 2014-03-19 2016-10-11 National Security Agency Device for and method of controlled multilevel chain of trust/revision
CN104202296A (zh) * 2014-07-30 2014-12-10 中国电子科技集团公司第三十研究所 一种国产操作***可信安全增强方法
US20180109538A1 (en) * 2016-10-17 2018-04-19 Mocana Corporation System and method for policy based adaptive application capability management and device attestation
CN107766724A (zh) * 2017-10-17 2018-03-06 华北电力大学 一种可信计算机平台软件栈功能架构的构建方法
US20190334713A1 (en) * 2018-04-28 2019-10-31 Alibaba Group Holding Limited Encryption Card, Electronic Device, and Encryption Service Method
CN109871695A (zh) * 2019-03-14 2019-06-11 沈昌祥 一种计算与防护并行双体系结构的可信计算平台

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
沈昌祥 等: "基于国产密码体系的可信计算体系框架", vol. 02, no. 05 *
黄秀文: "基于可信计算的远程证明的研究", vol. 28, no. 06 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114115836A (zh) * 2022-01-28 2022-03-01 麒麟软件有限公司 一种基于Linux操作***的可信TCM软件栈的设计方法及***

Also Published As

Publication number Publication date
CN111414625B (zh) 2023-09-22

Similar Documents

Publication Publication Date Title
US8024564B2 (en) Automating configuration of software applications
US8201239B2 (en) Extensible pre-boot authentication
US9898609B2 (en) Trusted boot of a virtual machine
WO2019138127A1 (en) Method and system for managing access to artifacts in a cloud computing environment
WO2017092671A1 (zh) 虚拟机管理的方法、装置和***
CN102404117B (zh) 用于动态应用环境的可证明身份的***署
US20130298217A1 (en) Security model for industrial devices
US20120089831A1 (en) Associating A Multi-Context Trusted Platform Module With Distributed Platforms
CN110348204B (zh) 一种代码保护***、认证方法、装置、芯片及电子设备
CN107533608A (zh) 可信更新
CN103748556A (zh) 与虚拟受信任运行时bios通信
WO2009094010A1 (en) Secure element manager
CN110764846B (zh) 基于本地代理服务实现跨浏览器调用电脑外接设备的方法
US20180109594A1 (en) Method for managing user information of application, device, and system
DE112020000792T5 (de) Durch grafikverarbeitungseinheit beschleunigte vertrauenswürdige ausführungsumgebung
CN103890716A (zh) 用于访问基本输入/输出***的功能的基于网页的接口
CN111526111B (zh) 登录轻应用的控制方法、装置和设备及计算机存储介质
CN118012572A (zh) 用于自动配置用于容器应用的最小云服务访问权限的技术
US11113366B2 (en) Cryptographic mechanisms for software setup using token-based two-factor authentication
US7496761B2 (en) Method and system for batch task creation and execution
CN115017497A (zh) 信息处理方法、装置及存储介质
CN109324873A (zh) 虚拟化安全管理方法、运行内核驱动的设备及存储介质
US7849055B2 (en) Method and system for limiting instances of a client-server program within a restricted distributed network
CN113239329A (zh) 一种用于移动端应用程序的可信执行环境的实现***
CN111970162B (zh) 一种超融合架构下的异构gis平台服务中控***

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