[发明专利]一种基于Linux操作系统的可信TCM软件栈的设计方法及系统有效
申请号: | 202210103672.X | 申请日: | 2022-01-28 |
公开(公告)号: | CN114115836B | 公开(公告)日: | 2022-05-10 |
发明(设计)人: | 屈志林;王文功;张志成;杨诏钧;魏立峰;姬一文 | 申请(专利权)人: | 麒麟软件有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/61;G06F9/445 |
代理公司: | 北京汇智英财专利代理事务所(普通合伙) 11301 | 代理人: | 牟长林 |
地址: | 300450 天津市滨海新区*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 linux 操作系统 可信 tcm 软件 设计 方法 系统 | ||
1.一种基于Linux操作系统的可信TCM软件栈的设计方法,可信TCM软件栈包括FeatureAPI接口层和Trousers-TCM软件栈,其特征在于,包括如下步骤:
在所述Trousers-TCM软件栈中增加资源管理模块,所述资源管理模块用于在创建主密钥时,采用最近最少使用算法检测并调度可信TCM芯片资源,包括:
判断所述可信TCM芯片资源是否已满,若所述可信TCM芯片资源已满,则选择已加载的密钥中LRU值最小的密钥,调用ContextSave接口将该密钥数据保存到TCMS_CONTEXT结构体,再调用ContextFlush接口清除该密钥数据,然后更新LRU和STATUS,封装创建主密钥的命令数据包,与可信TCM芯片完成数据交互,之后解析可信TCM芯片返回的数据,获取密钥句柄,将所述密钥句柄转换成虚拟句柄,将所述密钥句柄和所述虚拟句柄保存到链表中;
若芯片资源未满,则直接封装创建主密钥的命令数据包并进行后续步骤。
2.根据权利要求1所述的基于Linux操作系统的可信TCM软件栈的设计方法,其特征在于,所述资源管理模块还用于在加载子密钥时,采用最近最少使用算法检测并调度可信TCM芯片资源,包括:
步骤S1:检测生成所述子密钥的主密钥是否已被加载,若否,则执行步骤S2,若是,则执行步骤S3;
步骤S2:判断可信TCM芯片资源是否已满,若是,则选择已加载的密钥中LRU值最小的密钥,用ContextSave接口来保存该密钥数据,再通过调用ContextFlush接口清除该密钥数据,之后调用ContextLoad接口重新获取保存在TCMS_CONTEXT结构体中的主密钥,然后进入步骤S3;
步骤S3:判断可信TCM芯片资源是否已满,若是,则选择已加载的密钥中LRU值最小的密钥,调用ContextSave接口将该密钥数据保存到TCMS_CONTEXT结构体,再调用ContextFlush接口清除该密钥数据,然后更新LRU和STATUS,封装创建子密钥的命令数据包,与可信TCM芯片完成数据交互,解析可信TCM芯片返回的数据,获取密钥句柄,将所述密钥句柄转换成虚拟句柄,将所述密钥句柄和所述虚拟句柄保存到链表中,若否,则直接封装创建子密钥的命令数据包并进行后续步骤。
3.根据权利要求1所述的基于Linux操作系统的可信TCM软件栈的设计方法,其特征在于,所述Trousers-TCM软件栈包括移植并优化后的System API接口。
4.根据权利要求3所述的基于Linux操作系统的可信TCM软件栈的设计方法,其特征在于,移植System API接口到所述Trousers-TCM软件栈的步骤为:
用所述System API接口修改所述Trousers-TCM软件栈中的源代码重新实现对应功能,所述源代码包括参数格式、数据命令协议、参数的封装和解析代码,所述对应功能包括创建密钥和获取密钥句柄。
5.根据权利要求4所述的基于Linux操作系统的可信TCM软件栈的设计方法,其特征在于,优化所述System API接口的步骤为:
对System API接口参数进行封装。
6.根据权利要求5所述的基于Linux操作系统的可信TCM软件栈的设计方法,其特征在于,所述对System API接口参数进行封装包括:
利用XML文件封装System API接口参数,形成XML模块,通过所述XML模块简化所述System API接口参数。
7.一种基于Linux操作系统的可信TCM软件栈系统,其特征在于,包括Feature API接口层和Trousers-TCM软件栈,所述Trousers-TCM软件栈包括从上至下设置的System API接口层、资源管理模块和Tddl层,所述System API接口层包括从上至下设置的Tspi层、Tcsd层和Tcs层;其中,
所述Feature API接口层用于对输入参数进行封装,简化参数结构;
所述Tspi层用于对参数进行字符串转换,将字符串以数据包形式发送给Tcsd层;
所述Tcsd层用于完成初始化工作,接收Tspi层发送的数据包,并将数据包发送至Tcs层;
所述Tcs层用于接收并解析所述Tcsd层发送的数据包,获取参数信息,再通过底层接口对参数信息进行命令格式封装;
所述资源管理模块用于采用最近最少使用算法来动态检测并调度可信TCM芯片资源,包括:
判断所述可信TCM芯片资源是否已满,若所述可信TCM芯片资源已满,则选择已加载的密钥中LRU值最小的密钥,调用ContextSave接口将该密钥数据保存到TCMS_CONTEXT结构体,再调用ContextFlush接口清除该密钥数据,然后更新LRU和STATUS,封装创建主密钥的命令数据包,与可信TCM芯片完成数据交互,之后解析可信TCM芯片返回的数据,获取密钥句柄,将所述密钥句柄转换成虚拟句柄,将所述密钥句柄和所述虚拟句柄保存到链表中;
若芯片资源未满,则直接封装创建主密钥的命令数据包并进行后续步骤;
所述Tddl层用于通过设备文件与可信TCM芯片完成数据传输。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于麒麟软件有限公司,未经麒麟软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210103672.X/1.html,转载请声明来源钻瓜专利网。