CN106326751A - 一种可信道系统及其实现方法 - Google Patents
一种可信道系统及其实现方法 Download PDFInfo
- Publication number
- CN106326751A CN106326751A CN201610649191.3A CN201610649191A CN106326751A CN 106326751 A CN106326751 A CN 106326751A CN 201610649191 A CN201610649191 A CN 201610649191A CN 106326751 A CN106326751 A CN 106326751A
- Authority
- CN
- China
- Prior art keywords
- module
- subsystem
- deltaos
- credible
- platform
- 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
Links
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/57—Certifying 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)
- Storage Device Security (AREA)
Abstract
本发明属于计算机嵌入式系统技术领域,具体公开了一种可信道系统及其实现方法。该系统包括设置在DeltaOS TA内的第一可信平台模块子系统和第一完整性度量子系统,以及设置在DeltaOS内核中的第二可信平台模块子系统、第二完整性度量子系统和可信软件栈子系统;第一、第二可信平台模块子系统具有密码运算功能,用于对外部命令进行接收和处理,实现部分或全部可信计算功能接口;第一完整性度量子系统通过第一可信平台模块子系统,实现对DeltaOS内核文件的完整性度量和完整性存储。该系统可以增强DeltaOS的安全性,确保DeltaOS内核文件和应用程序文件的完整性,方便应用程序使用可信计算功能。
Description
技术领域
本发明属于计算机嵌入式系统技术领域,主要涉及一种可信道系统及其实现方法。
背景技术
目前,可信计算技术是增强信息系统安全的一种行之有效的新技术,可信计算技术通过可信平台模块(Trusted Platform Module,TPM)、可信软件栈(Trusted SoftwareStack,TSS)和信任链(Chain of Trust,CoT)对信息系统进行安全增强,使得增强后的信息系统具备平台完整性度量、数据密封存储和平台身份认证等安全功能。可信平台模块的最新规范是TPM Platform Module Library Family 2.0Level 00Revision 01.16,简称TPM2.0;可信软件栈的最新规范是TSS System Level API and TPM Command TransmissionInterface Specification Family 2.0Level00Revision 01.00,简称TSS 2.0。
道系统(DeltaOS)是国产嵌入式实时操作系统,包括操作系统内核、VxWorks兼容层、文件系统、网络协议栈等基本组件。道系统具备微秒级的响应时间,提供基于优先级抢占的实时任务调度策略,提供动态加载功能。
现有的大多数嵌入式软件都工作在空间及时间资源受限、安全关键环境中,这对嵌入式软件的安全性提出了非常迫切的要求。嵌入式软件的安全运行需要底层操作系统的支撑,道系统尚没有对可信计算技术进行有效支持,包括建立从DeltaOS TA(启动映像)到DeltaOS内核,再到应用程序的全信任链,这使得道系统自身存在着安全性隐患,但DeltaOS内核中未实现TPM 2.0软件子系统和TSS2.0中间件子系统。
建立可信计算平台需要使用TPM、CoT、TSS。其中,TPM既可以是硬件芯片,也可以用软件实现,在TPM的内部封装了可信计算技术所需要的安全服务功能,用来为信息系统提供基本的安全服务。CoT是可信计算技术的关键技术之一,其主要功能是对静态代码、数据和文件进行完整性度量和完整性存储,度量对象包括操作系统加载器、操作系统内核、应用程序等。TSS是位于TPM与应用程序之间的中间件,对TPM的二进制命令流进行了函数式封装,为应用程序使用TPM提供接口支持,简化了应用程序调用TPM内部命令所需的操作。
道系统只占用很小的存储空间,可高度裁减,保证了系统能以较高的效率运行。DeltaOS TA(启动映像)是DeltaOS内核的加载启动程序。LambdaPro是为开发DeltaOS应用系统提供的集成开发环境,LambdaPro中包含的工程管理软件可以将用户代码与DeltaOS内核进行组合,按用户的需要裁减配置DeltaOS内核。在DeltaOS系统中,COMP(Connection-Oriented Message Passing)协议用于实现本地域COMP Socket通信,COMP协议具有双向性和可靠性,是面向连接的消息传输协议。
发明内容
本发明的目的在于提供一种可信道系统及其实现方法,该系统及方法可以确保DeltaOS内核文件和应用程序文件的完整性,建立从DeltaOS TA、DeltaOS内核到DeltaOS应用程序的信任链,并满足嵌入式环境下可信计算功能的实时响应。
为解决上述技术问题所采用的技术方案是:
一种可信道系统,包括设置在DeltaOS TA内的第一可信平台模块子系统和第一完整性度量子系统,设置在DeltaOS内核中的第二可信平台模块子系统、第二完整性度量子系统和可信软件栈子系统,以及设置在DeltaOS应用程序中的应用模块;
第一可信平台模块子系统用于实现TPM2.0的密码运算、命令执行以及寄存器的配置工作,对第一完整性度量子系统的请求命令进行接收处理;
第一完整性度量子系统(200)通过调用第一可信平台模块子系统(100)实现对DeltaOS内核文件的完整性度量和完整性存储;
第二可信平台模块子系统(300)用于实现TPM 2.0的密码运算、命令执行和平台寄存器以及COMP Socket通信协议系统的配置,对第二完整性度量子系统、可信软件栈子系统的请求命令进行接收处理,第二可信平台模块子系统通过读取第一可信平台模块子系统的第一平台配置寄存器获取DeltaOS内核文件的完整性信息;
第二可信平台模块子系统的任务优先级高于DeltaOS内核驱动的任务优先级;
第二完整性度量子系统通过第二可信平台模块子系统实现对DeltaOS应用程序文件的完整性度量和完整性存储;
可信软件栈子系统实现TSS 2.0的系统API和用户API,对第二可信平台模块子系统的二进制命令流进行函数式封装,可信软件栈子系统是应用模块和第二可信平台模块子系统之间的访问通道。
可信软件栈子系统的任务优先级高于DeltaOS内核驱动的任务优先级,且低于第二可信平台模块子系统的任务优先级。
进一步的,第一可信平台模块子系统包括第一密码模块、第一命令模块和第一平台配置寄存器;第一密码模块内包含有第一杂凑算法、第一随机数生成算法和第一算法自检;第一命令模块内包含有第一完整性存储命令、第一平台配置寄存器初始化命令和用于杂凑计算的第一完整性度量命令,第一命令模块调用第一密码模块中的各密码算法实现完整性度量,第一命令模块对第一平台配置寄存器的第一完整性存储单元进行初始化清零操作;第一平台配置寄存器用于存储DeltaOS内核文件的完整性度量值。
进一步的,第二可信平台模块子系统包括第二密码模块、第二命令模块、第二平台配置寄存器和数据通信模块;第二密码模块内包含有第二杂凑算法、第二随机数生成算法、对称加密算法、非对称加密算法、数字签名算法和第二算法自检;第二命令模块内包含有第二完整性存储命令、第二平台配置寄存器初始化命令、数据密封存储命令、密钥管理命令和使用者管理命令,以及用于杂凑计算的第二完整性度量命令;第二命令模块调用第二密码模块中的各密码算法,第二命令模块对第二平台配置寄存器的第二完整性存储单元进行初始化清零操作;第二可信平台模块子系统读取第一可信平台模块子系统中的第一平台配置寄存器,把DeltaOS内核的完整性度量值复制到第二平台配置寄存器中;第二平台配置寄存器用于存储DeltaOS应用程序文件的完整性度量值。
进一步的,可信软件栈子系统包括系统API模块和用户API模块;系统API模块包括第二通信套接字、第三通信套接字、第二字节流序列化单元和第二命令包发送与接收单元;系统API模块实现通信套接字和字节流序列化,用于与数据通信模块建立COMP Socket连接,建立可信软件栈子系统与第二可信平台模块子系统之间的通信;用户API模块包括用户API模块接口和第四通信套接字;数据通信模块包括第一通信套接字、第一字节流序列化单元和第一命令发送与接收单元;用户API模块实现通信套接字,用于与系统API模块建立COMP Socket连接,实现应用模块与可信软件栈子系统之间的通信。
进一步的,应用模块包括应用安全功能模块和用户API模块访问接口。
上述一种可信道系统的实现方法,包括以下流程:
步骤1,DeltaOS TA分别加载第一可信平台模块子系统与第一完整性度量子系统;第一完整性度量子系统对DeltaOS内核文件进行完整性度量,并将完整性度量结果存储到第一可信平台模块子系统;
步骤2,DeltaOS内核分别加载第二可信平台模块子系统和第二完整性度量子系统,设置第二可信平台模块子系统的任务优先级为高于DeltaOS内核驱动的任务优先级;第二可信平台模块子系统通过其内部的数据通信模块读取第一可信平台模块子系统存储的完整性度量值;第二完整性度量子系统对DeltaOS应用程序文件进行完整性度量,并将完整性度量结果存储到第二可信平台模块子系统;
步骤3,DeltaOS内核加载可信软件栈子系统并设置其任务优先级为高于DeltaOS内核驱动的任务优先级,且低于第二可信平台模块子系统的任务优先级,可信软件栈子系统与第二可信平台模块子系统建立通信连接;
步骤4,应用模块与可信软件栈子系统建立通信连接。
作为优选,步骤1中对DeltaOS内核文件进行完整性度量的具体流程如下:
步骤101,DeltaOS TA主程序加载第一可信平台模块子系统,第一密码模块进行算法自检;
步骤102,第一命令模块对第一平台配置寄存器进行初始化清零操作;
步骤103,DeltaOS TA主程序加载第一完整性度量子系统,第一完整性度量子系统读取DeltaOS内核文件,并通过调用第一命令模块进而调用第一密码模块,完成对DeltaOS内核文件的完整性度量;
步骤104,第一命令模块将DeltaOS内核文件的完整性度量结果存储到第一平台配置寄存器中。
作为优选,步骤2中对DeltaOS应用程序文件进行完整性度量的具体流程如下具体流程如下:
步骤201,DeltaOS内核主程序加载第二可信平台模块子系统,第二可信平台模块子系统读取第一可信平台模块子系统中的第一平台配置寄存器,将DeltaOS内核文件的完整性度量结果存储到第二平台配置寄存器中;
步骤202,第二密码模块进行算法自检;
步骤203,DeltaOS内核主程序加载第二完整性度量子系统,并读取DeltaOS应用程序文件,并通过调用第二命令模块进而调用第二密码模块完成对DeltaOS应用程序文件的完整性度量;
步骤204,第二命令模块将DeltaOS应用程序文件的完整性度量结果存储到第二平台配置寄存器中。
作为优选,可信软件栈子系统与第二可信平台模块子系统的通信方法具体包括以下步骤:
步骤301,DeltaOS内核主程序分别加载第二可信平台模块子系统和可信软件栈子系统;
步骤302,数据通信模块与系统API模块之间建立COMP Socket连接,分别作为第二可信平台模块子系统及可信软件栈子系统的守护进程;用户API模块与系统API模块之间建立COMP Socket连接;
步骤303,当应用模块调用用户API模块提供的可信计算功能接口时,用户API模块调用系统API模块,对可信计算功能接口命令包进行序列化操作,并将序列化后的二进制字节流命令包发送给数据通信模块;
步骤304,数据通信模块将二进制字节流命令包发送给第二命令模块,第二命令模块对字节流命令进行解析和执行。
本发明是在DeltaOS TA和DeltaOS内核中分别建立可信平台模块子系统;建立从DeltaOS TA、DeltaOS内核到应用程序的信任链;在DeltaOS内核中建立可信软件栈子系统,满足嵌入式环境下可信计算功能的实时响应。本发明提供的方法与现有技术相比主要具有以下的有益效果:
第一,在道系统中建立可信平台,增强了DeltaOS的安全性。
第二,通过DeltaOS TA中的第一完整性度量子系统和DeltaOS内核中的第二完整性度量子系统,建立从DeltaOS TA、DeltaOS内核到应用程序的信任链,确保DeltaOS内核文件和应用程序文件的完整性。
第三,DeltaOS TA中的第一可信平台模块子系统、DeltaOS内核中的第二可信平台模块子系统实现TPM 2.0的密码运算功能、命令执行功能和平台配置寄存器,DeltaOS内核中的可信软件栈子系统实现部分TSS 2.0的系统API和用户API。
第四,DeltaOS内核中的可信软件栈子系统是应用模块访问第二可信平台模块子系统的通道,可信软件栈子系统、第二可信平台模块子系统的任务优先级都高于DeltaOS内核驱动的任务优先级,保证了可信计算功能的实时响应,并且,第二可信平台模块子系统的任务优先级高于可信软件栈子系统,保证了可信计算命令调用的良序性。
附图说明
图1是本发明提供的可信道系统结构框图;
图2是本发明建立可信道系统流程图;
图3是本发明可信道系统的一种实例的模块交互图;
图4是本发明实现对DeltaOS内核文件进行完整性度量的流程图;
图5是本发明实现对DeltaOS应用程序文件进行完整性度量的流程图;
图6是本发明DeltaOS应用模块通过可信软件栈子系统调用第二可信平台模块子系统流程图;
图7是本发明第一可信平台模块子系统实施图;
图8是本发明第二可信平台模块子系统实施图;
图9是本发明应用模块通过可信软件栈子系统访问第二可信平台模块子系统实施图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步说明。在此需要说明的是,对于这些实施方式的说明用于帮助理解本发明,但并不构成对本发明的限定。
在整个道系统中,包括DeltaOS TA、DeltaOS内核和DeltaOS应用程序。如图1所示,本发明提供的一种可信道系统包括设置在DeltaOS TA内的第一可信平台模块子系统100和第一完整性度量子系统200,设置在DeltaOS内核中的第二可信平台模块子系统300、第二完整性度量子系统400和可信软件栈子系统500,以及设置在DeltaOS应用程序中的应用模块600。
第一可信平台模块子系统100用于实现TPM2.0的密码运算、命令执行以及寄存器的配置工作,对第一完整性度量子系统200的请求命令进行接收处理;
第一完整性度量子系统200通过调用第一可信平台模块子系统100实现对DeltaOS内核文件的完整性度量和完整性存储;
第二可信平台模块子系统300用于实现TPM 2.0的密码运算、命令执行和平台寄存器以及COMP Socket通信协议系统的配置,对第二完整性度量子系统400、可信软件栈子系统600的请求命令进行接收处理,第二可信平台模块子系统300通过读取第一可信平台模块子系统100的第一平台配置寄存器获取DeltaOS内核文件的完整性信息;
第二可信平台模块子系统300的任务优先级高于DeltaOS内核驱动的任务优先级;
第二完整性度量子系统400通过第二可信平台模块子系统300实现对DeltaOS应用程序文件的完整性度量和完整性存储;
可信软件栈子系统500实现TSS 2.0的系统API和用户API,对第二可信平台模块子系统300的二进制命令流进行函数式封装,可信软件栈子系统500是应用模块600和第二可信平台模块子系统300之间的访问通道。
可信软件栈子系统500的任务优先级高于DeltaOS内核驱动的任务优先级,且低于第二可信平台模块子系统300的任务优先级。
应用模块600是指道系统的一个应用程序。
本发明系统的工作流程如图2所示,通过以下步骤建立从DeltaOS TA、DeltaOS内核到DeltaOS应用程序的信任链,应用模块600通过可信软件栈子系统500访问第二可信平台模块子系统300,实现可信计算功能,具体包括以下步骤:
步骤1,DeltaOS TA分别加载第一可信平台模块子系统100与第一完整性度量子系统200;第一完整性度量子系统200对DeltaOS内核文件进行完整性度量,并将完整性度量结果存储到第一可信平台模块子系统100;
步骤2,DeltaOS内核分别加载第二可信平台模块子系统300和第二完整性度量子系统400,设置第二可信平台模块子系统300的任务优先级为高于DeltaOS内核驱动的任务优先级;第二可信平台模块子系统300通过其内部的数据通信模块读取第一可信平台模块子系统100存储的完整性度量值;第二完整性度量子系统400对DeltaOS应用程序文件进行完整性度量,并将完整性度量结果存储到第二可信平台模块子系统300;
步骤3,DeltaOS内核加载可信软件栈子系统500并设置其任务优先级为高于DeltaOS内核驱动的任务优先级,且低于第二可信平台模块子系统的任务优先级,可信软件栈子系统500与第二可信平台模块子系统300建立通信连接;
步骤4,应用模块600与可信软件栈子系统500建立通信连接。
图3给出了本发明的一种实例的模块交互,第一可信平台模块子系统100包括第一密码模块110、第一命令模块120和第一平台配置寄存器130;第二可信平台模块子系统300包括第二密码模块310、第二命令模块320、第二平台配置寄存器330和数据通信模块340;可信软件栈子系统500包括系统API模块510和用户API模块520。
第一密码模块110包含第一杂凑算法、第一随机数生成算法和算法自检。
第一命令模块120包含第一平台配置寄存器初始化命令、第一完整性存储命令,以及用于杂凑计算的第一完整性度量命令。第一命令模块120调用第一密码模块110中的密码算法实现完整性度量命令,第一命令模块120对第一平台配置寄存器130进行初始化清零操作。
第一平台配置寄存器130用于存储DeltaOS内核文件的完整性度量值。
DeltaOS TA主程序10分别加载第一可信平台模块子系统100和第一完整性度量子系统200。第一完整性度量子系统200通过第一可信平台模块子系统100对DeltaOS内核进行完整性度量。
第二密码模块310包含第二杂凑算法、第二随机数生成算法、对称加密算法、非对称加密算法、数字签名算法和算法自检。
第二命令模块320包含第二平台配置寄存器初始化命令、第二完整性存储命令、数据密封存储命令、密钥管理命令和使用者管理命令,以及用于杂凑计算的第二完整性度量命令。第二命令模块320调用第二密码模块310中的密码算法,第二命令模块320对第二平台配置寄存器330进行初始化清零操作。数据通信模块340是第二命令模块320与系统API模块510之间的通信桥梁。
第二可信平台模块子系统300读取第一可信平台模块子系统100中的第一平台配置寄存器130,把DeltaOS内核的完整性度量值复制到第二平台配置寄存器330中。
第二平台配置寄存器330用于存储DeltaOS应用程序的完整性度量值。
DeltaOS内核主程序30分别加载第二可信平台模块子系统300、第二完整性度量子系统400和可信软件栈子系统500。第二完整性度量子系统400通过第二可信平台模块子系统300对DeltaOS应用程序进行完整性度量。应用模块600通过可信软件栈子系统500访问第二可信平台模块子系统300。
系统API模块510实现通信套接字和字节流序列化,用于与数据通信模块340建立COMP Socket连接,建立可信软件栈子系统500与第二可信平台模块子系统300之间的通信。
用户API模块520实现通信套接字,用于与系统API模块510建立COMP Socket连接,实现应用模块600与可信软件栈子系统500之间的通信。
DeltaOS应用程序的应用模块600将访问请求发送给用户API模块520,用户API模块520通过COMP Socket将请求转发给系统API模块510,系统API模块510将请求进行字节流序列化后通过COMP Socket发送给数据通信模块340,数据通信模块340将请求数据通过COMP Socket发送给第二命令模块320,第二命令模块320收到数据后进行命令处理,第二命令模块320处理后的数据再按照上述流程反向发送给应用模块600。
如图4所示,本发明系统实现对DeltaOS内核文件进行完整性度量的工作流程如下:
步骤101,DeltaOS TA主程序加载第一可信平台模块子系统,第一密码模块进行算法自检;
步骤102,第一命令模块对第一平台配置寄存器进行初始化清零操作;
步骤103,DeltaOS TA主程序加载第一完整性度量子系统,第一完整性度量子系统读取DeltaOS内核文件,并通过调用第一命令模块进而调用第一密码模块,完成对DeltaOS内核文件的完整性度量;
步骤104,第一命令模块将DeltaOS内核文件的完整性度量结果存储到第一平台配置寄存器中。
如图5所示,本发明系统实现对DeltaOS应用程序文件进行完整性度量的工作流程如下:
步骤201,DeltaOS内核主程序加载第二可信平台模块子系统,第二可信平台模块子系统读取第一可信平台模块子系统中的第一平台配置寄存器,将DeltaOS内核文件的完整性度量结果存储到第二平台配置寄存器中;
步骤202,第二密码模块进行算法自检;
步骤203,DeltaOS内核主程序加载第二完整性度量子系统,并读取DeltaOS应用程序文件,并通过调用第二命令模块进而调用第二密码模块完成对DeltaOS应用程序文件的完整性度量;
步骤204,第二命令模块将DeltaOS应用程序文件的完整性度量结果存储到第二平台配置寄存器中。
如图6所示,本发明系统实现应用模块600通过可信软件栈子系统500调用第二可信平台模块子系统300的工作流程如下:
步骤301,DeltaOS内核主程序分别加载第二可信平台模块子系统和可信软件栈子系统;
步骤302,数据通信模块与系统API模块之间建立COMP Socket连接,分别作为第二可信平台模块子系统及可信软件栈子系统的守护进程;用户API模块与系统API模块之间建立COMP Socket连接;
步骤303,当应用模块调用用户API模块提供的可信计算功能接口时,用户API模块调用系统API模块,对可信计算功能接口命令包进行序列化操作,并将序列化后的二进制字节流命令包发送给数据通信模块;
步骤304,数据通信模块将二进制字节流命令包发送给第二命令模块,第二命令模块对字节流命令进行解析和执行。
下面结合图7~9对本发明系统的具体实施方式进行更具体的说明。
第一可信平台模块子系统100和第二可信平台模块子系统300是对TPM规范2.0版本功能接口的软件实现,在TPM规范2.0版本中定义了TPM结构的基本组成,包括Hash引擎、非对称密码算法引擎、对称密码算法引擎、密钥发生器、随机数发生器、授权策略、易失性存储、非易失性存储和命令执行引擎。
第一密码模块110和第二密码模块310中使用的密码算法包括国家密码管理局发布的SMx系列算法。第一杂凑算法1101和第二杂凑算法3101都采用SM3,第一随机数生成算法1102和第二随机数生成算法3102都使用TPM2_GetRandom命令获得随机数。对称加密算法3103采用SM4。非对称加密算法3104采用SM2。数字签名算法3105采用SM2。
第一命令模块120和第二命令模块320是对TPM规范2.0版本中执行引擎的实现,第一完整性度量命令1201和第二完整性度量命令3101都使用TPM2_HashSequenceStart、TPM2_SequenceUpdate、TPM2_SequenceComplete完成杂凑计算。第一完整性存储命令1202和第二完整性存储命令3202都使用TPM2_PCR_Extend对完整性度量结果进行存储,分别存储至第一完整性存储单元1301和第二完整性存储单元3301。第一平台配置寄存器初始化命令和第二平台配置寄存器初始化命令都使用_TPM_Init、TPM2_Startup对第一完整性存储单元1301和第二完整性存储单元3301进行初始化清零操作。
第一平台配置寄存器130和第二平台配置寄存器330是TPM内部的一种特殊寄存器,用来保存平台的配置信息,这些配置信息包括平台的软硬件组件信息(如程序信息)、软硬件组件的配置信息等,第一完整性存储单元1301和第二完整性存储单元3301都是包含32个以上的数据存储单元,每个存储单元长度不低于160比特。
可信软件栈子系统500是对TSS规范2.0版本的软件实现,可信软件栈子系统的结构从逻辑上可以划分为3个层次:系统API模块510和用户API模块520。系统API模块510作为核心服务,提供对TPM 2.0命令引擎的序列化和反序列化。用户API模块520通过用户API模块接口5201调用系统API模块510的相关功能。应用模块600通过用户API模块访问接口620访问第二可信平台模块300的安全功能。
在第一可信平台模块子系统100中,第一密码模块110包括第一杂凑算法1101和第一随机数生成算法1102。第一命令模块120包括第一完整性度量命令1201、第一完整性存储命令1202和第一平台配置寄存器初始化命令1203。第一平台配置寄存器130包括第一完整性存储单元1301。
第一可信平台模块子系统100启动后,第一平台配置寄存器初始化命令1203对第一完整性存储单元1301进行初始化清零操作,当第一可信平台模块子系统100接收到来自第一完整性度量子系统200的命令后,第一完整性度量命令1201调用第一杂凑算法1101对DeltaOS内核文件进行完整性度量,第一完整性存储命令1202把完整性度量值存储到第一完整性存储单元1301。
在第二可信平台模块子系统300中,第二密码模块310包括第二杂凑算法3101和第二随机数生成算法3102、对称加密算法3103、非对称加密算法3104和数字签名算法3105。第二命令模块320包括第二完整性度量命令3201、第二完整性存储命令3202、第二平台配置寄存器初始化命令3203、数据密封存储命令3204、密钥管理命令3205和使用者管理命令3206。第二平台配置寄存器330包括第二完整性存储单元3301。
第二可信平台模块子系统300启动后,第二平台配置寄存器初始化命令3203读取第一完整性存储单元1301的信息,将其复制到第二完整性存储单元3301,当第二可信平台模块子系统300接收到来自第二完整性度量子系统400的命令后,第二完整性度量命令3201调用第二杂凑算法3101对DeltaOS应用程序文件进行完整性度量,第二完整性存储命令3202把完整性度量值存储到第二完整性存储单元3301。
应用模块600包括应用安全功能610和用户API模块访问接口620。系统API模块510包括第二通信套接字5101、第三通信套接字5102、第二字节流序列化单元5103和第二命令包发送与接收单元5104。用户API模块520包括用户API模块接口5201和第四通信套接字5202。数据通信模块340包括第一通信套接字3401、第一字节流序列化单元3402和第一命令发送与接收单元3403。
应用模块600为实现应用安全功能610,首先通过用户API模块访问接口620访问用户API模块520,用户API模块520通过用户API模块接口5201,使用第四通信套接字5202与系统API模块510中的第三通信套接字5102进行通信,系统API模块510通过第二字节流序列化单元5103解析来自用户API模块520的请求数据,并通过第二数据包发送与接收单元5104、第二通信套接字5101与数据通信模块340中的第一通信套接字3401进行通信,数据通信模块340通过第一字节流序列化单元3402解析来自系统API模块510的请求数据,并通过命令发送与接收单元3403将命令发送给第二可信平台模块300中的第二命令模块320,完成对命令的处理,实现应用安全功能610。
说明书中未阐述的部分均为现有技术或公知常识。本实施例仅用于说明该发明,而不用于限制本发明的范围,本领域技术人员对于本发明所做的等价置换等修改均认为是落入该发明权利要求书所保护范围内。
Claims (9)
1.一种可信道系统,其特征在于,该系统包括设置在DeltaOS TA内的第一可信平台模块子系统(100)和第一完整性度量子系统(200),设置在DeltaOS内核中的第二可信平台模块子系统(300)、第二完整性度量子系统(400)和可信软件栈子系统(500),以及设置在DeltaOS应用程序中的应用模块(600);
第一可信平台模块子系统(100)用于实现TPM2.0的密码运算、命令执行以及寄存器的配置工作,对第一完整性度量子系统(200)的请求命令进行接收处理;
第一完整性度量子系统(200)通过调用第一可信平台模块子系统(100)实现对DeltaOS内核文件的完整性度量和完整性存储;
第二可信平台模块子系统(300)用于实现TPM 2.0的密码运算、命令执行和平台寄存器以及COMP Socket通信协议系统的配置,对第二完整性度量子系统(400)、可信软件栈子系统(500)的请求命令进行接收处理,第二可信平台模块子系统(300)通过读取第一可信平台模块子系统(100)的第一平台配置寄存器(130)获取DeltaOS内核文件的完整性信息;
第二完整性度量子系统(400)通过第二可信平台模块子系统(300)实现对DeltaOS应用程序文件的完整性度量和完整性存储;
可信软件栈子系统(500)实现TSS 2.0的系统API和用户API,对第二可信平台模块子系统(300)的二进制命令流进行函数式封装,可信软件栈子系统(500)是应用模块(600)和第二可信平台模块子系统(300)之间的访问通道。
2.根据权利要求1所述的一种可信道系统,其特征在于,第一可信平台模块子系统(100)包括第一密码模块(110)、第一命令模块(120)和第一平台配置寄存器(130);
第一密码模块(110)内包含有第一杂凑算法(1101)、第一随机数生成算法(1102)和第一算法自检(1103);
第一命令模块(120)内包含有第一完整性存储命令(1202)、第一平台配置寄存器初始化命令(1203)和用于杂凑计算的第一完整性度量命令(1201),第一命令模块(120)调用第一密码模块(110)中的各密码算法实现完整性度量,第一命令模块(120)对第一平台配置寄存器(130)的第一完整性存储单元(1301)进行初始化清零操作;
第一平台配置寄存器(130)用于存储DeltaOS内核文件的完整性度量值。
3.根据权利要求1所述的一种可信道系统,其特征在于,第二可信平台模块子系统(300)包括第二密码模块(310)、第二命令模块(320)、第二平台配置寄存器(330)和数据通信模块(340);
第二密码模块(310)内包含有第二杂凑算法(3101)、第二随机数生成算法(3102)、对称加密算法(3103)、非对称加密算法(3104)、数字签名算法(3105)和第二算法自检(3106);
第二命令模块(320)内包含有第二完整性存储命令(3202)、第二平台配置寄存器初始化命令(3203)、数据密封存储命令(3204)、密钥管理命令(3205)和使用者管理命令(3206),以及用于杂凑计算的第二完整性度量命令(3201);第二命令模块(320)调用第二密码模块(310)中的各密码算法,第二命令模块(320)对第二平台配置寄存器(330)的第二完整性存储单元(3301)进行初始化清零操作;
第二可信平台模块子系统(300)读取第一可信平台模块子系统(100)中的第一平台配置寄存器(130),把DeltaOS内核的完整性度量值复制到第二平台配置寄存器(330)中;
第二平台配置寄存器(330)用于存储DeltaOS应用程序文件的完整性度量值。
4.根据权利要求3所述的一种可信道系统,其特征在于,可信软件栈子系统(500)包括系统API模块(510)和用户API模块(520);
所述系统API模块(510)包括第二通信套接字(5101)、第三通信套接字(5102)、第二字节流序列化单元(5103)和第二命令包发送与接收单元(5104);系统API模块(510)实现通信套接字和字节流序列化,用于与数据通信模块(340)建立COMP Socket连接,建立可信软件栈子系统(500)与第二可信平台模块子系统(300)之间的通信;
所述用户API模块(520)包括用户API模块接口(5201)和第四通信套接字(5202);数据通信模块(340)包括第一通信套接字(3401)、第一字节流序列化单元(3402)和第一命令发送与接收单元(3403);用户API模块(520)实现通信套接字,用于与系统API模块(510)建立COMP Socket连接,实现应用模块(600)与可信软件栈子系统(500)之间的通信。
5.根据权利要求5所述的一种可信道系统,其特征在于,应用模块(600)包括应用安全功能模块(610)和用户API模块访问接口(620)。
6.权利要求1至5所述的一种可信道系统的实现方法,其特征在于:包括以下流程:
步骤1,DeltaOS TA分别加载第一可信平台模块子系统与第一完整性度量子系统;第一完整性度量子系统对DeltaOS内核文件进行完整性度量,并将完整性度量结果存储到第一可信平台模块子系统;
步骤2,DeltaOS内核分别加载第二可信平台模块子系统和第二完整性度量子系统,设置第二可信平台模块子系统的任务优先级为高于DeltaOS内核驱动的任务优先级;第二可信平台模块子系统通过其内部的数据通信模块读取第一可信平台模块子系统存储的完整性度量值;第二完整性度量子系统对DeltaOS应用程序文件进行完整性度量,并将完整性度量结果存储到第二可信平台模块子系统;
步骤3,DeltaOS内核加载可信软件栈子系统并设置其任务优先级为高于DeltaOS内核驱动的任务优先级,且低于第二可信平台模块子系统的任务优先级,可信软件栈子系统与第二可信平台模块子系统建立通信连接;
步骤4,应用模块与可信软件栈子系统建立通信连接。
7.根据权利要求6所述的一种可信道系统的实现方法,其特征在于:所述第一可信平台模块子系统包括第一密码模块、第一命令模块和第一平台配置寄存器;步骤1中对DeltaOS内核文件进行完整性度量的具体流程如下:
步骤101,DeltaOS TA主程序加载第一可信平台模块子系统,第一密码模块进行算法自检;
步骤102,第一命令模块对第一平台配置寄存器进行初始化清零操作;
步骤103,DeltaOS TA主程序加载第一完整性度量子系统,第一完整性度量子系统读取DeltaOS内核文件,并通过调用第一命令模块进而调用第一密码模块,完成对DeltaOS内核文件的完整性度量;
步骤104,第一命令模块将DeltaOS内核文件的完整性度量结果存储到第一平台配置寄存器中。
8.根据权利要求7所述的一种可信道系统的实现方法,其特征在于:步骤2中所述第二可信平台模块子系统包括第二密码模块、第二命令模块、第二平台配置寄存器和数据通信模块,步骤2中对DeltaOS应用程序文件进行完整性度量的具体流程如下具体流程如下:
步骤201,DeltaOS内核主程序加载第二可信平台模块子系统,第二可信平台模块子系统读取第一可信平台模块子系统中的第一平台配置寄存器,将DeltaOS内核文件的完整性度量结果存储到第二平台配置寄存器中;
步骤202,第二密码模块进行算法自检;
步骤203,DeltaOS内核主程序加载第二完整性度量子系统,并读取DeltaOS应用程序文件,并通过调用第二命令模块进而调用第二密码模块完成对DeltaOS应用程序文件的完整性度量;
步骤204,第二命令模块将DeltaOS应用程序文件的完整性度量结果存储到第二平台配置寄存器中。
9.根据权利要求6所述的一种可信道系统的实现方法,其特征在于:步骤3中所述的可信软件栈子系统包括系统API模块和用户API模块;步骤3和步骤4中,应用模块600通过可信软件栈子系统500调用第二可信平台模块子系统300的工作流程具体包括以下步骤:
步骤301,DeltaOS内核主程序分别加载第二可信平台模块子系统和可信软件栈子系统;
步骤302,数据通信模块与系统API模块之间建立COMP Socket连接,分别作为第二可信平台模块子系统及可信软件栈子系统的守护进程;用户API模块与系统API模块之间建立COMP Socket连接;
步骤303,当应用模块调用用户API模块提供的可信计算功能接口时,用户API模块调用系统API模块,对可信计算功能接口命令包进行序列化操作,并将序列化后的二进制字节流命令包发送给数据通信模块;
步骤304,数据通信模块将二进制字节流命令包发送给第二命令模块,第二命令模块对字节流命令进行解析和执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610649191.3A CN106326751B (zh) | 2016-08-09 | 2016-08-09 | 一种可信道系统及其实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610649191.3A CN106326751B (zh) | 2016-08-09 | 2016-08-09 | 一种可信道系统及其实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106326751A true CN106326751A (zh) | 2017-01-11 |
CN106326751B CN106326751B (zh) | 2019-04-19 |
Family
ID=57739774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610649191.3A Active CN106326751B (zh) | 2016-08-09 | 2016-08-09 | 一种可信道系统及其实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106326751B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107169375A (zh) * | 2017-05-16 | 2017-09-15 | 成都鼎智汇科技有限公司 | 系统数据安全增强方法 |
CN107688746A (zh) * | 2017-08-30 | 2018-02-13 | 浪潮(北京)电子信息产业有限公司 | 一种内核文件的加载方法和装置 |
CN108228362A (zh) * | 2017-12-05 | 2018-06-29 | 北京东土科技股份有限公司 | 一种VxWorks系统的兼容方法、模块及道系统 |
CN108805537A (zh) * | 2018-05-21 | 2018-11-13 | 郑州云海信息技术有限公司 | 一种利用tpm作为比特币客户端随机源的方法及系统 |
CN109889477A (zh) * | 2018-12-20 | 2019-06-14 | 北京华胜天成信息技术发展有限公司 | 基于可信密码引擎的服务器启动方法及装置 |
CN110008708A (zh) * | 2019-04-11 | 2019-07-12 | 北京可信华泰信息技术有限公司 | 一种主机与可信平台控制模块之间的通信方法及系统 |
CN114115836A (zh) * | 2022-01-28 | 2022-03-01 | 麒麟软件有限公司 | 一种基于Linux操作系统的可信TCM软件栈的设计方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101650764A (zh) * | 2009-09-04 | 2010-02-17 | 瑞达信息安全产业股份有限公司 | 一种可信计算密码平台及其实现方法 |
US20110138188A1 (en) * | 2009-12-04 | 2011-06-09 | Electronics And Telecommunications Research Institute | Method and system for verifying software platform of vehicle |
CN102436566A (zh) * | 2012-01-12 | 2012-05-02 | 冶金自动化研究设计院 | 一种动态可信度量方法及安全嵌入式系统 |
-
2016
- 2016-08-09 CN CN201610649191.3A patent/CN106326751B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101650764A (zh) * | 2009-09-04 | 2010-02-17 | 瑞达信息安全产业股份有限公司 | 一种可信计算密码平台及其实现方法 |
US20110138188A1 (en) * | 2009-12-04 | 2011-06-09 | Electronics And Telecommunications Research Institute | Method and system for verifying software platform of vehicle |
CN102436566A (zh) * | 2012-01-12 | 2012-05-02 | 冶金自动化研究设计院 | 一种动态可信度量方法及安全嵌入式系统 |
Non-Patent Citations (1)
Title |
---|
师俊芳 等: ""基于TPM的安全操作系统的设计研究"", 《装备指挥技术学院学报》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107169375A (zh) * | 2017-05-16 | 2017-09-15 | 成都鼎智汇科技有限公司 | 系统数据安全增强方法 |
CN107688746A (zh) * | 2017-08-30 | 2018-02-13 | 浪潮(北京)电子信息产业有限公司 | 一种内核文件的加载方法和装置 |
CN108228362A (zh) * | 2017-12-05 | 2018-06-29 | 北京东土科技股份有限公司 | 一种VxWorks系统的兼容方法、模块及道系统 |
CN108805537A (zh) * | 2018-05-21 | 2018-11-13 | 郑州云海信息技术有限公司 | 一种利用tpm作为比特币客户端随机源的方法及系统 |
CN109889477A (zh) * | 2018-12-20 | 2019-06-14 | 北京华胜天成信息技术发展有限公司 | 基于可信密码引擎的服务器启动方法及装置 |
CN110008708A (zh) * | 2019-04-11 | 2019-07-12 | 北京可信华泰信息技术有限公司 | 一种主机与可信平台控制模块之间的通信方法及系统 |
CN114115836A (zh) * | 2022-01-28 | 2022-03-01 | 麒麟软件有限公司 | 一种基于Linux操作系统的可信TCM软件栈的设计方法及系统 |
CN114115836B (zh) * | 2022-01-28 | 2022-05-10 | 麒麟软件有限公司 | 一种基于Linux操作系统的可信TCM软件栈的设计方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106326751B (zh) | 2019-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106326751A (zh) | 一种可信道系统及其实现方法 | |
US20210004483A1 (en) | Secure Public Cloud | |
CN110032883B (zh) | 区块链中实现隐私保护的方法、系统和节点 | |
US10686605B2 (en) | Technologies for implementing mutually distrusting domains | |
US10073977B2 (en) | Technologies for integrity, anti-replay, and authenticity assurance for I/O data | |
CN108055133B (zh) | 一种基于区块链技术的密钥安全签名方法 | |
US11531750B2 (en) | Installing and manipulating a secure virtual machine image through an untrusted hypervisor | |
CN105531713A (zh) | 从单个数据缓冲器生成多个安全散列 | |
US9755831B2 (en) | Key extraction during secure boot | |
CN107851167A (zh) | 在计算环境中保护计算数据的技术 | |
CN110245942B (zh) | 结合用户类型和判断条件的收据存储方法和节点 | |
CN108345806A (zh) | 一种硬件加密卡和加密方法 | |
CN110008715B (zh) | 区块链中实现隐私保护的方法及节点、存储介质 | |
CN102882858A (zh) | 一种用于云计算系统的外部数据传输方法 | |
CN110825672A (zh) | 用于联机加密处理的高性能自主硬件引擎 | |
CN110245943B (zh) | 基于判断条件的收据存储方法和节点 | |
Kotla et al. | Pasture: Secure offline data access using commodity trusted hardware | |
CN111783078A (zh) | Android平台安全芯片控制系统 | |
CN113569248A (zh) | 数据处理的方法以及计算设备 | |
CN103150523B (zh) | 一种简易的嵌入式可信终端系统及方法 | |
CN104639313B (zh) | 一种密码算法的检测方法 | |
Jiang et al. | Implementing a arm-based secure boot scheme for the isolated execution environment | |
WO2016053407A2 (en) | Speculative cryptographic processing for out of order data | |
KR20170138412A (ko) | 장치의 시스템 온 칩의 보안 모듈로의 복수의 액세스를 관리하기 위한 디바이스 | |
Fiolhais et al. | Software Emulation of Quantum Resistant Trusted Platform Modules. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |