一种兼容不同密码设备的访问方法.pdf

上传人:00****42 文档编号:5780323 上传时间:2019-03-18 格式:PDF 页数:9 大小:463.11KB
返回 下载 相关 举报
摘要
申请专利号:

CN201310719139.7

申请日:

2013.12.24

公开号:

CN103646206A

公开日:

2014.03.19

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||著录事项变更IPC(主分类):G06F 21/46变更事项:发明人变更前:张瑜 田健生 刘静 许俊杰 王大海变更后:孙瑜 田健生 刘静 许俊杰 王大海|||著录事项变更IPC(主分类):G06F 21/46变更事项:发明人变更前:沈军变更后:张瑜 田健生 刘静 许俊杰 王大海|||实质审查的生效IPC(主分类):G06F 21/46申请日:20131224|||公开

IPC分类号:

G06F21/46(2013.01)I

主分类号:

G06F21/46

申请人:

北京可信华泰信息技术有限公司

发明人:

沈军

地址:

100079 北京市海淀区蓝靛厂金源时代购物中心B区2#B座705、706室

优先权:

专利代理机构:

代理人:

PDF下载: PDF下载
内容摘要

本发明公开一种兼容不同密码设备的访问方法,通过设置的可信软件栈实现对密码设备的访问。可信软件栈包括应用层的TSI调用接口和内核层的KTSI调用接口、实现调用串行化的TCS模块、实现不同硬件兼容的TDDI模块。用户通过应用层的TSI或内核层的KTSI接口调用密码设备,判断合法性后,将调用请求传输至TCS模块进行调用序列优化和串行化,最后传输至TDDI模块判断当前系统中使用的密码设备类型,并按设备需求组装命令报文,最后发送到设备进行运算,将运算结果按调用路径反向回传给调用者。因此,本发明统一了对不同密码设备的访问接口,提高了不同密码设备访问的兼容性和执行效率,有利于密码设备的应用与推广。

权利要求书

权利要求书
1.  一种兼容不同密码设备的访问方法,通过可信软件栈访问密码设备,可信软件栈包括TSI模块、KTSI模块、TCS模块和TDDI模块,所述的访问方法包括如下步骤:
TSI模块和KTSI模块分别在应用层/内核层接收用户的访问请求;
TSI模块和KTSI模块判断调用参数的合法性,通过后将访问请求发送至TCS模块;
TCS模块判断调用者权限,若合法,则对调用进行序列优化和串行化后发送至TDDI模块;
TDDI模块接收上层TCS模块下发的命令,按密码设备硬件规定的命令报告格式封装后转发给下层驱动,实现对密码设备的访问;
将密码设备返回的运算结果按调用路径反向回传给调用者。

2.  如权利要求1所述的访问方法,其特征在于,所述步骤(2)中,所述TSI模块/KTSI响应用户的访问密码设备的请求的处理流程进一步包括:
用户调用TSI模块于应用层或KTSI模块于内核层提供的接口;
TSI模块/KTSI模块对输入参数进行检查,参数合法进入下一步骤;
传输到内核TCS模块进行后继处理,否则通过调用接口向调用者返回错误信息;
TCS模块处理返回后,向调用者返回调用结果。

3.  如权利要求2所述的访问方法,其特征在于,所述TSI到TCS的传输方式包括ioctl、netlink、独立System_Call应用/内核间通信方式,所述KTSI到TCS的传输方式为函数调用。

4.  如权利要求1所述的访问方法,其特征在于,所述的步骤(3)中,TCS模块的处理流程包括:
TCS模块接收TSI模块/KTSI模块传输的调用指令;
TCS模块对调用指令的上下文进行分析,若指令是对连续数据进行操作,则将数据存入数据操作缓冲区;
若操作缓冲区长度超过了当前加密设备单次处理长度限制,则将等于当前加密设备单次处理长度的数据做为参数,加入调用队列,否则直接返回调用者,等待后继数据;
工作线程检查队列长度,如果队列长度超过了预设限制,则过滤队列中可以使用软算法进行计算的指令,用软算法计算后返回调用者;
工作线程将队列中的指令按优先级发送给TDDI模块;
将TDDI模块返回的数据回复给上层调用者。

5.  如权利要求4所述的访问方法,其特征在于,所述TCS模块对调用指令的上下文进行分析,若指令是对连续数据进行操作的操作包括加密或摘要计算。

6.  如权利要求1所述的访问方法,其特征在于,所述的步骤(3)中,还进一步包括TCS模块维护调用队列,并建立工作线程对调用队列进行轮询,按优先级向tddi模块的转发队列中的指令,从而实现串行化机制。

7.  如权利要求1所述的访问方法,其特征在于,所述的步骤(4)中,TDDI接收TCS模块的指令,处理数据的流程包括如下步骤:
TDDI模块接收TCS模块发送的指令;
TDDI模块针对密码设备的接口格式构造指令报文,发送给密码设备驱动;
将密码设备驱动返回的数据封装为统一格式,返回给上层调用者。

说明书

说明书一种兼容不同密码设备的访问方法
技术领域
本发明涉及计算机信息安全领域,尤其涉及兼容可信计算领域的不同密码设备的访问方法。
背景技术
为了增加系统的安全性,很多对安全要求较高的信息系统均部署了密码设备,以提高计算机系统运行的安全性和数据的保密性。与之相关标准主要有:
RSA Security Inc.组织发布的PKCS标准组。
GM/T 0011-2012 《可信计算可信密码支撑平台功能与接口规范》
GM/T 0012-2012 《可信计算可信密码模块接口规范》
GM/T 0016-2012 《智能密码钥匙密码应用接口规范》
GM/T 0017-2012 《智能密码钥匙密码应用接口数据格式规范》
GM/T 0018-2012 《密码设备应用接口规范》
GM/T 0019-2012 《通用密码服务接口规范》
现有市场上密码设备种类繁多。设备形态主要包括PCI设备、USB设备、嵌入式设备等,各种设备执行的设计标准及接口标准不统一,造成各种设备之间功能接口、性能差异巨大。
例如,虽然大部分通用密码设备符合PKCS规范,但很少有设备提供了内核层调用接口。而且一些专用设备的调用接口及运行方式更是千差万别,造成基于密码设备进行安全软件开发的不便。此外,有些设备也存在计算性能瓶颈,部署后,可能导致计算机系统性能严重下降等问题。
发明内容
本发明提供一种兼容不同密码设备的访问方法,实现不同的密码设备的可信访问,提高密码设备的访问效率。
为实现上述目标,本发明提供一种兼容不同密码设备的通用访问方法,通过可信软件栈访问密码设备,可信软件栈包括TSI模块、KTSI模块、TCS模块和TDDI模块,所述的访问方法包括如下步骤:
(1)    TSI模块和KTSI模块分别在应用层/内核层接收用户的访问请求;
(2)    TSI模块和KTSI模块判断调用参数的合法性,通过后将访问请求发送至TCS模块;
(3)    TCS模块判断调用者权限,若合法,则对调用进行序列优化和串行化后发送至TDDI模块;
(4)    TDDI模块接收上层TCS模块下发的命令,按密码设备硬件规定的命令报告格式封装后转发给下层驱动,实现对密码设备的访问;
(5)    将密码设备返回的运算结果按调用路径反向回传给调用者。
如上所述的访问方法,所述步骤(2)中,所述TSI模块/KTSI响应用户的访问密码设备的请求的处理流程进一步包括:
(1)    用户调用TSI模块于应用层或KTSI模块于内核层提供的接口;
(2)    TSI模块/KTSI模块对输入参数进行检查,参数合法进入下一步骤;
(3)    传输到内核TCS模块进行后继处理,否则通过调用接口向调用者返回错误信息;
(4)    TCS模块处理返回后,向调用者返回调用结果。
如上所述的访问方法,所述TSI到TCS的传输方式包括ioctl、netlink、独立System_Call应用/内核间通信方式,所述KTSI到TCS的传输方式为函数调用。
如上所述的访问方法,其特征在于,所述的步骤(3)中,TCS模块的处理流程包括:
(1)    TCS模块接收TSI模块/KTSI模块传输的调用指令;
(2)    TCS模块对调用指令的上下文进行分析,若指令是对连续数据进行操作,则将数据存入数据操作缓冲区;
(3)    若操作缓冲区长度超过了当前加密设备单次处理长度限制,则将等于当前加密设备单次处理长度的数据做为参数,加入调用队列,否则直接返回调用者,等待后继数据;
(4)    工作线程检查队列长度,如果队列长度超过了预设限制,则过滤队列中可以使用软算法进行计算的指令,用软算法计算后返回调用者;
(5)    工作线程将队列中的指令按优先级发送给TDDI模块;
(6)    将TDDI模块返回的数据回复给上层调用者。
如上所述的访问方法,所述TCS模块对调用指令的上下文进行分析,若指令是对连续数据进行操作的操作包括加密或摘要计算。
如上所述的访问方法,所述的步骤(3)中,还进一步包括TCS模块维护调用队列,并建立工作线程对调用队列进行轮询,按优先级向tddi模块的转发队列中的指令,从而实现串行化机制。
如上所述的访问方法,所述的步骤(4)中,TDDI接收TCS模块的指令,处理数据的流程包括如下步骤:
(1)    TDDI模块接收TCS模块发送的指令;
(2)    TDDI模块针对密码设备的接口格式构造指令报文,发送给密码设备驱动;
(3)    将密码设备驱动返回的数据封装为统一格式,返回给上层调用者。
本发明公开一种兼容不同密码设备的访问方法,统一了对不同密码设备的访问接口,提高了不同密码设备访问的兼容性和执行效率,有利于密码设备的应用与推广。
【附图说明】
图1是本发明兼容不同密码设备的访问方法的流程图。
图2是本发明图的TSI模块的数据处理流程图。
图3是本发明的KTSI模块的数据处理流程图。
图4是本发明的TCS模块的数据处理流程图。
图5是本发明的TDDI模块的数据处理流程图。
【具体实施方式】
为进一步阐述本发明达成预定目的所采取的技术手段及功效,以下结合附图及实施方式、结构特征,对本发明的具体结构及其功效,详细说明如下。
本发明公开一种兼容不同密码设备的访问方法,尤其是在可信计算领域的不同密码设备的访问方法,在本发明的下述的具体实施方式中,基于Linux操作系统的一种实施方式,然而,本领域的技术人员可以据此得知,本发明不限于Linux操作系统的实施,也可以应用于Windows系统,或者Android操作系统等。
本发明通过可信软件栈实现访问各种密码设备,可信软件包括TDDI、TCS、KTSI、TSI四个部分,其中,TSS的英文名称Trusted software stack:中文名称是可信软件栈;TSI的英文名称Trusted Service Interface,中文名称是可信服务接口;KTSI的英文名称Kernel Trusted Service Interface,中文名称是可信服务内核接口;TCS的英文名称Trusted Core Services,中文名称是可信核心服务;TDDI的英文名称Trusted Device Driver Interface,中文名称是可信设备驱动接口,为了表述的方便和简洁,在下述的描述以及本文件中,均以英文简称表示上述的技术术语。
如图1,为本发明可信软件栈的结构图。可信软件栈包括应用层和内核层,其中应用层是用户调用的操作层,而内核层是本发明的操作系统的内部操作调用层,应用层包括TSI模块,内核层包括KTSI模块、TCS模块以及TDDI模块。在用户通过应用层的TSI操作调用启动密码设备访问后,并将访问请求传输至TCS模块,调用位于操作系统的内核层的KTSI模块判断合法性,在TSI模块和KTSI模块均判断合法性后,进入TCS模块处理,并传输至TDDI调用和生成所需要访问的密码设备驱动,并通过密码设备驱动所需要访问的设备,进而实现硬件层的密码设备的驱动和访问。
具体,各模块的调用与功能分别为:TSI模块,提供可信软件栈的应用层调用接口。KTSI模块,提供可信软件栈的内核层调用接口,接口格式同TSI模块。TCS模块,提供调用序列的串行化服务,并依据硬件要求进行数据分包。在串行化等待队列过长时,调用软算法进行辅助计算,此步骤为可选步骤。TDDI模块针对不同设备的驱动要求,进行命令报文组装。
如图2,为TSI模块的数据处理流程图。TSI模块以动态库的形式存在于应用层,由用户调用。TSI模块对输入参数进行检查,参数合法则传输到内核TCS模块进行后继处理。TSI模块响应用户的访问密码设备的请求,处理数据的工作流程如下:
(1)    外部应用调用TSI模块提供的接口;
(2)    TSI模块对输入参数进行检查;
(3)    参数合法则传输(传输方式可选用ioctl、netlink等通信方式)到内核TCS模块进行后继处理,否则通过调用接口向调用者返回错误信息;
(4)    通过调用接口向调用者返回调用结果。
如图3,为KTSI模块的数据处理流程图。KTSI模块提供内核态调用接口,调用接口的格式同TSI模块。KTSI模块与TCS模块的通信通过直接的函数调用完成。在KTSI相应操作系统的内层操作调用的处理流程包括:
(1)    外部内核模块调用KTSI模块提供的接口;
(2)    KTSI模块对输入参数进行检查;
(3)    参数合法则调用内核TCS模块进行后继处理,否则通过调用接口向调用者返回错误信息;
(4)    通过调用接口向调用者返回调用结果。
如图4,为本发明的TCS模块的数据处理流程。TCS模块提供对调用指令的串行化服务、并依据TDDI传递的参数进行数据分包。TCS模块维护调用队列,并建立工作线程对调用队列进行轮询,向TDDI模块的转发队列中的指令,从而实现串行化机制。在串行化等待队列过长时,调用软算法进行辅助计算,该步骤为可以选择的优化步骤。
此外,TCS模块通过为连续数据操作指令(摘要计算,加密计算,解密计算)维护数据缓冲区,实现对关联调用指令的合并,以提高加密设备的工作效率。
TCS模块接收TSI模块和KTSI模块的调用指令后,进行数据处理的流程包括如下步骤:
(1)    TCS模块接收TSI模块/KTSI模块传输的调用指令;
(2)    TCS模块对调用指令的上下文进行分析,若指令是对连续数据进行操作,具体实施中,操作包括摘要计算或加解密计算,则将数据存入数据操作缓冲区;
(3)    若操作缓冲区长度超过了当前加密设备单次处理长度限制,则将等于当前加密设备单次处理长度的数据做为参数,加入调用队列。否则直接返回调用者,等待后继数据;
(4)    工作线程检查队列长度,如果队列长度超过了预设限制,则过滤队列中可以使用软算法进行计算的指令,采用公开算法的摘要计算,使用外部密钥的加密、解密计算,用软算法计算后返回调用者;
(5)    工作线程将队列中的指令按优先级发送给TDDI模块;
(6)    将TDDI模块返回的数据回复给上层调用者。
如图5,为本发明的TDDI模块的数据处理的流程图。TDDI模块与密码设备硬件相关,需要针对不同密码设备硬件进行不同的封装。TDDI模块的主要功能是接收上层TCS模块下发的命令,按密码设备硬件规定的命令报告格式封装后转发给下层驱动。
在TDDI接收TCS模块的指令后,进行数据处理的流程包括如下步骤:
(1)    TDDI模块接收TCS模块发送的指令;
(2)    TDDI模块针对密码设备的接口格式构造指令报文,发送给密码设备驱动;
(3)    将密码设备驱动返回的数据封装为统一格式,返回给上层调用者。
综上所述,本发明针对目前市场上密码设备功能、接口不统一,性能差别较大的问题,通过开发调用中间件,实现以下目标:
(1)    实现应用/内核层统一的访问接口,该统一的访问接口是通过TSI和KTSI这两个子模块所实现的功能,具体的是通过操作系统应用层与内核层的隔离与通信机制。由于TCS存在于内核层,TSI提供应用层调用接口,在应用层接收到用户调用请求后,需要将调用指令和相关的参数、数据传输到内核层后,再转发给TCS模块。而KTSI提供内核层调用接口,在接收到内核态的调用请求后,可以直接转发给TCS模块;
(2)    实现应用/内核访问的串行化机制,该串行化机制是通过TCS子模块所实现的串行化机制;
(3)    对访问请求进行过滤,合并其中可合并的请求,提高硬件的工作效率,通过上述TCS模块工作流程的第2-3步实现,如图4;
(4)    在密码设备性能不满足系统要求时,通过CPU及软算法辅助密码设备运算,通过TCS模块工作流程的第4步实现,参阅图4。
本发明公开一种兼容不同密码设备的通用访问方法,并提供了基于Linux操作系统的一种实施方式。本发明通过设置的可信软件栈实现对密码设备的访问。可信软件栈包括应用层的TSI调用接口和内核层的KTSI调用接口、实现调用串行化的TCS模块、实现不同硬件兼容的TDDI模块。用户通过应用层的TSI或内核层的KTSI接口调用密码设备,判断合法性后,将调用请求传输至TCS模块进行调用序列优化和串行化,最后传输至TDDI模块判断当前系统中使用的密码设备类型,并按设备需求组装命令报文,最后发送到设备进行运算,将运算结果按调用路径反向回传给调用者。因此,本发明统一了针对不同密码设备的访问接口,提高了不同密码设备访问的兼容性和执行效率,有利于密码设备的应用与推广。
本发明的上述实施例仅用以说明本发明的原理和结构,本领域技术人员据此所作任何之显而易见之变换实施者,均在本发明的保护范围之内。

一种兼容不同密码设备的访问方法.pdf_第1页
第1页 / 共9页
一种兼容不同密码设备的访问方法.pdf_第2页
第2页 / 共9页
一种兼容不同密码设备的访问方法.pdf_第3页
第3页 / 共9页
点击查看更多>>
资源描述

《一种兼容不同密码设备的访问方法.pdf》由会员分享,可在线阅读,更多相关《一种兼容不同密码设备的访问方法.pdf(9页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103646206 A (43)申请公布日 2014.03.19 CN 103646206 A (21)申请号 201310719139.7 (22)申请日 2013.12.24 G06F 21/46(2013.01) (71)申请人 北京可信华泰信息技术有限公司 地址 100079 北京市海淀区蓝靛厂金源时代 购物中心 B 区 2#B 座 705、 706 室 (72)发明人 沈军 (54) 发明名称 一种兼容不同密码设备的访问方法 (57) 摘要 本发明公开一种兼容不同密码设备的访问方 法, 通过设置的可信软件栈实现对密码设备的访 问。可信软件栈包括应用层的 TS。

2、I 调用接口和内 核层的 KTSI 调用接口、 实现调用串行化的 TCS 模 块、 实现不同硬件兼容的 TDDI 模块。用户通过应 用层的 TSI 或内核层的 KTSI 接口调用密码设备, 判断合法性后, 将调用请求传输至 TCS 模块进行 调用序列优化和串行化, 最后传输至 TDDI 模块判 断当前系统中使用的密码设备类型, 并按设备需 求组装命令报文, 最后发送到设备进行运算, 将运 算结果按调用路径反向回传给调用者。 因此, 本发 明统一了对不同密码设备的访问接口, 提高了不 同密码设备访问的兼容性和执行效率, 有利于密 码设备的应用与推广。 (51)Int.Cl. 权利要求书 1 页 。

3、说明书 5 页 附图 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书1页 说明书5页 附图2页 (10)申请公布号 CN 103646206 A CN 103646206 A 1/1 页 2 1. 一种兼容不同密码设备的访问方法, 通过可信软件栈访问密码设备, 可信软件栈包 括 TSI 模块、 KTSI 模块、 TCS 模块和 TDDI 模块, 所述的访问方法包括如下步骤 : TSI 模块和 KTSI 模块分别在应用层 / 内核层接收用户的访问请求 ; TSI 模块和 KTSI 模块判断调用参数的合法性, 通过后将访问请求发送至 TCS 模块 ; TCS 模块判。

4、断调用者权限, 若合法, 则对调用进行序列优化和串行化后发送至 TDDI 模 块 ; TDDI 模块接收上层 TCS 模块下发的命令, 按密码设备硬件规定的命令报告格式封装后 转发给下层驱动, 实现对密码设备的访问 ; 将密码设备返回的运算结果按调用路径反向回传给调用者。 2. 如权利要求 1 所述的访问方法, 其特征在于, 所述步骤 (2) 中, 所述 TSI 模块 /KTSI 响应用户的访问密码设备的请求的处理流程进一步包括 : 用户调用 TSI 模块于应用层或 KTSI 模块于内核层提供的接口 ; TSI 模块 /KTSI 模块对输入参数进行检查, 参数合法进入下一步骤 ; 传输到内核 。

5、TCS 模块进行后继处理, 否则通过调用接口向调用者返回错误信息 ; TCS 模块处理返回后, 向调用者返回调用结果。 3.如权利要求2所述的访问方法, 其特征在于, 所述TSI到TCS的传输方式包括ioctl、 netlink、 独立 System_Call 应用 / 内核间通信方式, 所述 KTSI 到 TCS 的传输方式为函数调 用。 4. 如权利要求 1 所述的访问方法, 其特征在于, 所述的步骤 (3) 中, TCS 模块的处理流 程包括 : TCS 模块接收 TSI 模块 /KTSI 模块传输的调用指令 ; TCS 模块对调用指令的上下文进行分析, 若指令是对连续数据进行操作, 则。

6、将数据存入 数据操作缓冲区 ; 若操作缓冲区长度超过了当前加密设备单次处理长度限制, 则将等于当前加密设备单 次处理长度的数据做为参数, 加入调用队列, 否则直接返回调用者, 等待后继数据 ; 工作线程检查队列长度, 如果队列长度超过了预设限制, 则过滤队列中可以使用软算 法进行计算的指令, 用软算法计算后返回调用者 ; 工作线程将队列中的指令按优先级发送给 TDDI 模块 ; 将 TDDI 模块返回的数据回复给上层调用者。 5.如权利要求4所述的访问方法, 其特征在于, 所述TCS模块对调用指令的上下文进行 分析, 若指令是对连续数据进行操作的操作包括加密或摘要计算。 6. 如权利要求 1 。

7、所述的访问方法, 其特征在于, 所述的步骤 (3) 中, 还进一步包括 TCS 模块维护调用队列, 并建立工作线程对调用队列进行轮询, 按优先级向 tddi 模块的转发队 列中的指令, 从而实现串行化机制。 7. 如权利要求 1 所述的访问方法, 其特征在于, 所述的步骤 (4) 中, TDDI 接收 TCS 模块 的指令, 处理数据的流程包括如下步骤 : TDDI 模块接收 TCS 模块发送的指令 ; TDDI 模块针对密码设备的接口格式构造指令报文, 发送给密码设备驱动 ; 将密码设备驱动返回的数据封装为统一格式, 返回给上层调用者。 权 利 要 求 书 CN 103646206 A 2 。

8、1/5 页 3 一种兼容不同密码设备的访问方法 技术领域 0001 本发明涉及计算机信息安全领域, 尤其涉及兼容可信计算领域的不同密码设备的 访问方法。 背景技术 0002 为了增加系统的安全性, 很多对安全要求较高的信息系统均部署了密码设备, 以 提高计算机系统运行的安全性和数据的保密性。与之相关标准主要有 : RSA Security Inc. 组织发布的 PKCS 标准组。 0003 GM/T 0011-2012 可信计算可信密码支撑平台功能与接口规范 GM/T 0012-2012 可信计算可信密码模块接口规范 GM/T 0016-2012 智能密码钥匙密码应用接口规范 GM/T 001。

9、7-2012 智能密码钥匙密码应用接口数据格式规范 GM/T 0018-2012 密码设备应用接口规范 GM/T 0019-2012 通用密码服务接口规范 现有市场上密码设备种类繁多。 设备形态主要包括PCI设备、 USB设备、 嵌入式设备等, 各种设备执行的设计标准及接口标准不统一, 造成各种设备之间功能接口、 性能差异巨大。 0004 例如, 虽然大部分通用密码设备符合 PKCS 规范, 但很少有设备提供了内核层调用 接口。而且一些专用设备的调用接口及运行方式更是千差万别, 造成基于密码设备进行安 全软件开发的不便。此外, 有些设备也存在计算性能瓶颈, 部署后, 可能导致计算机系统性 能严。

10、重下降等问题。 发明内容 0005 本发明提供一种兼容不同密码设备的访问方法, 实现不同的密码设备的可信访 问, 提高密码设备的访问效率。 0006 为实现上述目标, 本发明提供一种兼容不同密码设备的通用访问方法, 通过可信 软件栈访问密码设备, 可信软件栈包括 TSI 模块、 KTSI 模块、 TCS 模块和 TDDI 模块, 所述的 访问方法包括如下步骤 : (1) TSI 模块和 KTSI 模块分别在应用层 / 内核层接收用户的访问请求 ; (2) TSI 模块和 KTSI 模块判断调用参数的合法性, 通过后将访问请求发送至 TCS 模块 ; (3) TCS 模块判断调用者权限, 若合法。

11、, 则对调用进行序列优化和串行化后发送至 TDDI 模块 ; (4) TDDI 模块接收上层 TCS 模块下发的命令, 按密码设备硬件规定的命令报告格式封 装后转发给下层驱动, 实现对密码设备的访问 ; (5) 将密码设备返回的运算结果按调用路径反向回传给调用者。 0007 如上所述的访问方法, 所述步骤 (2) 中, 所述 TSI 模块 /KTSI 响应用户的访问密码 设备的请求的处理流程进一步包括 : 说 明 书 CN 103646206 A 3 2/5 页 4 (1) 用户调用 TSI 模块于应用层或 KTSI 模块于内核层提供的接口 ; (2) TSI 模块 /KTSI 模块对输入参数。

12、进行检查, 参数合法进入下一步骤 ; (3) 传输到内核 TCS 模块进行后继处理, 否则通过调用接口向调用者返回错误信息 ; (4) TCS 模块处理返回后, 向调用者返回调用结果。 0008 如上所述的访问方法, 所述 TSI 到 TCS 的传输方式包括 ioctl、 netlink、 独立 System_Call 应用 / 内核间通信方式, 所述 KTSI 到 TCS 的传输方式为函数调用。 0009 如上所述的访问方法, 其特征在于, 所述的步骤 (3) 中, TCS 模块的处理流程包括 : (1) TCS 模块接收 TSI 模块 /KTSI 模块传输的调用指令 ; (2) TCS 模。

13、块对调用指令的上下文进行分析, 若指令是对连续数据进行操作, 则将数据 存入数据操作缓冲区 ; (3) 若操作缓冲区长度超过了当前加密设备单次处理长度限制, 则将等于当前加密设 备单次处理长度的数据做为参数, 加入调用队列, 否则直接返回调用者, 等待后继数据 ; (4) 工作线程检查队列长度, 如果队列长度超过了预设限制, 则过滤队列中可以使用软 算法进行计算的指令, 用软算法计算后返回调用者 ; (5) 工作线程将队列中的指令按优先级发送给 TDDI 模块 ; (6) 将 TDDI 模块返回的数据回复给上层调用者。 0010 如上所述的访问方法, 所述 TCS 模块对调用指令的上下文进行分。

14、析, 若指令是对 连续数据进行操作的操作包括加密或摘要计算。 0011 如上所述的访问方法, 所述的步骤 (3) 中, 还进一步包括 TCS 模块维护调用队列, 并建立工作线程对调用队列进行轮询, 按优先级向 tddi 模块的转发队列中的指令, 从而实 现串行化机制。 0012 如上所述的访问方法, 所述的步骤 (4) 中, TDDI 接收 TCS 模块的指令, 处理数据的 流程包括如下步骤 : (1) TDDI 模块接收 TCS 模块发送的指令 ; (2) TDDI 模块针对密码设备的接口格式构造指令报文, 发送给密码设备驱动 ; (3) 将密码设备驱动返回的数据封装为统一格式, 返回给上层。

15、调用者。 0013 本发明公开一种兼容不同密码设备的访问方法, 统一了对不同密码设备的访问接 口, 提高了不同密码设备访问的兼容性和执行效率, 有利于密码设备的应用与推广。 0014 【附图说明】 图 1 是本发明兼容不同密码设备的访问方法的流程图。 0015 图 2 是本发明图的 TSI 模块的数据处理流程图。 0016 图 3 是本发明的 KTSI 模块的数据处理流程图。 0017 图 4 是本发明的 TCS 模块的数据处理流程图。 0018 图 5 是本发明的 TDDI 模块的数据处理流程图。 0019 【具体实施方式】 为进一步阐述本发明达成预定目的所采取的技术手段及功效, 以下结合附。

16、图及实施方 式、 结构特征, 对本发明的具体结构及其功效, 详细说明如下。 0020 本发明公开一种兼容不同密码设备的访问方法, 尤其是在可信计算领域的不同密 码设备的访问方法, 在本发明的下述的具体实施方式中, 基于 Linux 操作系统的一种实施 说 明 书 CN 103646206 A 4 3/5 页 5 方式, 然而, 本领域的技术人员可以据此得知, 本发明不限于 Linux 操作系统的实施, 也可 以应用于 Windows 系统, 或者 Android 操作系统等。 0021 本发明通过可信软件栈实现访问各种密码设备, 可信软件包括 TDDI、 TCS、 KTSI、 TSI 四个部分。

17、, 其中, TSS 的英文名称 Trusted software stack : 中文名称是可信软件栈 ; TSI 的英文名称 Trusted Service Interface, 中文名称是可信服务接口 ; KTSI 的英文名 称 Kernel Trusted Service Interface, 中文名称是可信服务内核接口 ; TCS 的英文名 称 Trusted Core Services, 中文名称是可信核心服务 ; TDDI 的英文名称 Trusted Device Driver Interface, 中文名称是可信设备驱动接口, 为了表述的方便和简洁, 在下述的描述 以及本文件中,。

18、 均以英文简称表示上述的技术术语。 0022 如图 1, 为本发明可信软件栈的结构图。可信软件栈包括应用层和内核层, 其中应 用层是用户调用的操作层, 而内核层是本发明的操作系统的内部操作调用层, 应用层包括 TSI 模块, 内核层包括 KTSI 模块、 TCS 模块以及 TDDI 模块。在用户通过应用层的 TSI 操作 调用启动密码设备访问后, 并将访问请求传输至 TCS 模块, 调用位于操作系统的内核层的 KTSI模块判断合法性, 在TSI模块和KTSI模块均判断合法性后, 进入TCS模块处理, 并传输 至 TDDI 调用和生成所需要访问的密码设备驱动, 并通过密码设备驱动所需要访问的设备。

19、, 进而实现硬件层的密码设备的驱动和访问。 0023 具体, 各模块的调用与功能分别为 : TSI 模块, 提供可信软件栈的应用层调用接 口。KTSI 模块, 提供可信软件栈的内核层调用接口, 接口格式同 TSI 模块。TCS 模块, 提供 调用序列的串行化服务, 并依据硬件要求进行数据分包。 在串行化等待队列过长时, 调用软 算法进行辅助计算, 此步骤为可选步骤。 TDDI模块针对不同设备的驱动要求, 进行命令报文 组装。 0024 如图 2, 为 TSI 模块的数据处理流程图。TSI 模块以动态库的形式存在于应用层, 由用户调用。TSI 模块对输入参数进行检查, 参数合法则传输到内核 TC。

20、S 模块进行后继处 理。TSI 模块响应用户的访问密码设备的请求, 处理数据的工作流程如下 : (1) 外部应用调用 TSI 模块提供的接口 ; (2) TSI 模块对输入参数进行检查 ; (3) 参数合法则传输 (传输方式可选用 ioctl、 netlink 等通信方式) 到内核 TCS 模块进 行后继处理, 否则通过调用接口向调用者返回错误信息 ; (4) 通过调用接口向调用者返回调用结果。 0025 如图 3, 为 KTSI 模块的数据处理流程图。KTSI 模块提供内核态调用接口, 调用接 口的格式同 TSI 模块。KTSI 模块与 TCS 模块的通信通过直接的函数调用完成。在 KTSI。

21、 相 应操作系统的内层操作调用的处理流程包括 : (1) 外部内核模块调用 KTSI 模块提供的接口 ; (2) KTSI 模块对输入参数进行检查 ; (3) 参数合法则调用内核 TCS 模块进行后继处理, 否则通过调用接口向调用者返回错 误信息 ; (4) 通过调用接口向调用者返回调用结果。 0026 如图 4, 为本发明的 TCS 模块的数据处理流程。TCS 模块提供对调用指令的串行化 服务、 并依据TDDI传递的参数进行数据分包。 TCS模块维护调用队列, 并建立工作线程对调 说 明 书 CN 103646206 A 5 4/5 页 6 用队列进行轮询, 向 TDDI 模块的转发队列中的。

22、指令, 从而实现串行化机制。在串行化等待 队列过长时, 调用软算法进行辅助计算, 该步骤为可以选择的优化步骤。 0027 此外, TCS 模块通过为连续数据操作指令 (摘要计算, 加密计算, 解密计算) 维护数 据缓冲区, 实现对关联调用指令的合并, 以提高加密设备的工作效率。 0028 TCS 模块接收 TSI 模块和 KTSI 模块的调用指令后, 进行数据处理的流程包括如下 步骤 : (1) TCS 模块接收 TSI 模块 /KTSI 模块传输的调用指令 ; (2) TCS 模块对调用指令的上下文进行分析, 若指令是对连续数据进行操作, 具体实施 中, 操作包括摘要计算或加解密计算, 则将。

23、数据存入数据操作缓冲区 ; (3) 若操作缓冲区长度超过了当前加密设备单次处理长度限制, 则将等于当前加密设 备单次处理长度的数据做为参数, 加入调用队列。否则直接返回调用者, 等待后继数据 ; (4) 工作线程检查队列长度, 如果队列长度超过了预设限制, 则过滤队列中可以使用软 算法进行计算的指令, 采用公开算法的摘要计算, 使用外部密钥的加密、 解密计算, 用软算 法计算后返回调用者 ; (5) 工作线程将队列中的指令按优先级发送给 TDDI 模块 ; (6) 将 TDDI 模块返回的数据回复给上层调用者。 0029 如图 5, 为本发明的 TDDI 模块的数据处理的流程图。TDDI 模块。

24、与密码设备硬件相 关, 需要针对不同密码设备硬件进行不同的封装。TDDI 模块的主要功能是接收上层 TCS 模 块下发的命令, 按密码设备硬件规定的命令报告格式封装后转发给下层驱动。 0030 在 TDDI 接收 TCS 模块的指令后, 进行数据处理的流程包括如下步骤 : (1) TDDI 模块接收 TCS 模块发送的指令 ; (2) TDDI 模块针对密码设备的接口格式构造指令报文, 发送给密码设备驱动 ; (3) 将密码设备驱动返回的数据封装为统一格式, 返回给上层调用者。 0031 综上所述, 本发明针对目前市场上密码设备功能、 接口不统一, 性能差别较大的问 题, 通过开发调用中间件,。

25、 实现以下目标 : (1) 实现应用 / 内核层统一的访问接口, 该统一的访问接口是通过 TSI 和 KTSI 这两个 子模块所实现的功能, 具体的是通过操作系统应用层与内核层的隔离与通信机制。 由于TCS 存在于内核层, TSI 提供应用层调用接口, 在应用层接收到用户调用请求后, 需要将调用指 令和相关的参数、 数据传输到内核层后, 再转发给 TCS 模块。而 KTSI 提供内核层调用接口, 在接收到内核态的调用请求后, 可以直接转发给 TCS 模块 ; (2) 实现应用/内核访问的串行化机制, 该串行化机制是通过TCS子模块所实现的串行 化机制 ; (3) 对访问请求进行过滤, 合并其中。

26、可合并的请求, 提高硬件的工作效率, 通过上述 TCS 模块工作流程的第 2-3 步实现, 如图 4 ; (4) 在密码设备性能不满足系统要求时, 通过 CPU 及软算法辅助密码设备运算, 通过 TCS 模块工作流程的第 4 步实现, 参阅图 4。 0032 本发明公开一种兼容不同密码设备的通用访问方法, 并提供了基于 Linux 操作系 统的一种实施方式。本发明通过设置的可信软件栈实现对密码设备的访问。可信软件栈包 括应用层的 TSI 调用接口和内核层的 KTSI 调用接口、 实现调用串行化的 TCS 模块、 实现不 说 明 书 CN 103646206 A 6 5/5 页 7 同硬件兼容的。

27、TDDI模块。 用户通过应用层的TSI或内核层的KTSI接口调用密码设备, 判断 合法性后, 将调用请求传输至 TCS 模块进行调用序列优化和串行化, 最后传输至 TDDI 模块 判断当前系统中使用的密码设备类型, 并按设备需求组装命令报文, 最后发送到设备进行 运算, 将运算结果按调用路径反向回传给调用者。 因此, 本发明统一了针对不同密码设备的 访问接口, 提高了不同密码设备访问的兼容性和执行效率, 有利于密码设备的应用与推广。 0033 本发明的上述实施例仅用以说明本发明的原理和结构, 本领域技术人员据此所作 任何之显而易见之变换实施者, 均在本发明的保护范围之内。 说 明 书 CN 103646206 A 7 1/2 页 8 图 1 图 2 图 3 说 明 书 附 图 CN 103646206 A 8 2/2 页 9 图 4 图 5 说 明 书 附 图 CN 103646206 A 9 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 >


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1