[发明专利]一种基于TSM的TSPI接口的CSP模块和CSP实现方法有效
申请号: | 201110166272.5 | 申请日: | 2011-06-21 |
公开(公告)号: | CN102842005A | 公开(公告)日: | 2012-12-26 |
发明(设计)人: | 艾俊 | 申请(专利权)人: | 国民技术股份有限公司 |
主分类号: | G06F21/22 | 分类号: | G06F21/22 |
代理公司: | 北京轻创知识产权代理有限公司 11212 | 代理人: | 杨立 |
地址: | 518057 广东省深圳市南山区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 tsm tspi 接口 csp 模块 实现 方法 | ||
技术领域
本发明涉及可信计算领域,特别涉及应用可信计算技术实现Microsoft CryptoAPI(微软公司所提供的应用程序编程接口,提供了一组函数,这些函数允许应用程序在对用户的敏感私钥数据提供保护时以灵活的方式对数据进行加密或数字签名)加密标准的CSP(Cryptographic Service Provider,加密服务提供者)的系统和方法。
背景技术
可信密码模块(Trusted Cryptography Module,TCM)是可信计算密码支撑平台必备的关键基础部件,提供独立的密码算法运算功能,支撑可信计算平台功能体系建立。
TCM构建了一个具有存储保护和执行保护的子系统,该子系统为计算平台建立信任根基,其独立的计算资源将建立严格受限的安全保护机制。为有效发挥TCM功能体系作用,将子系统中需执行保护的函数与无需执行保护的函数划分开,将无需执行保护的功能函数由计算平台主处理器执行,而这些支持函数构成了TCM服务模块,记为TSM(Trusted Services Module,可信服务模块)。
TSM作为TCM的软件协议栈,提供规范化的函数接口,而面向应用程序的TCM服务调用接口TSPI(TSM Service Provider Interface,TSM服务提供者接口),分10类120个接口函数,可以为可信计算密码应用程序开发提供指导和调用。但由于目前大多数安全应用所采用的密码服务调用接口类型主流是CSP、CNG(Cryptography API: Next Generation下一代加密技术)和PKCS#11(PKCS#11是一个加密标准),大多数应用开发者熟悉和习惯CSP、CNG和PKCS#11接口调用模式,并且已建立成熟的产品开发支持体系。
当传统安全应用的开发者转向基于TCM密码服务功能而进行应用开发时,需要重新学习TCM密码服务调用接口体系(TSPI),另外,更为甚者,传统安全应用要移植到TCM上,必须全部重新开发,给应用厂商带来资源消耗,这为TCM应用推广带来很大阻力。
发明内容
本发明所要解决的技术问题是提供一种基于TSM的TSPI接口的CSP模块,以方便安全应用开发者快速开发TCM应用,同时方便传统应用快速移植到TCM上来。
本发明解决上述技术问题的技术方案如下:
一种基于TSM的TSPI接口的CSP模块,包括:
TCM芯片、所述TCM芯片的TSM、所述TSM的调用接口TSPI,以及基于所述TSPI创建的CSP连接接口、CSP密钥生成和交换接口、CSP加解密接口和CSP哈希和数字签名接口;其中
所述CSP连接接口用于进行CSP密钥容器的获取与清除、容器参数的设置与获取以及释放所述CSP密钥容器;
所述CSP密钥生成和交换接口用于进行CSP产生与销毁密钥对象、导入导出密钥对象、加载密钥对象、获取与设置密钥对象参数以及生成随机数;
所述CSP加解密接口用于进行CSP加密和解密;
所述CSP哈希和数字签名接口用于产生与销毁哈希对象、获取与设置哈希对象参数、签名和验签。
进一步,所述CSP连接接口包括:
CSP环境获取模块:用于指定CSP,返回CSP密钥容器的句柄,获取TCM芯片SMK(Storage Master Key,存储主密钥)对象和TCM对象,并以SMK为父密钥生成SM2(一种非对称加解密算法)的容器密钥,该SM2容器密钥是后续所有密钥的父密钥;
密钥容器释放模块:用于销毁CSP密钥容器句柄;
CSP属性设置模块:用于设置CSP的属性;
CSP属性获取模块:用于获取CSP的属性。
进一步,所述密钥在TCM芯片的硬件中生成和存储,并结合计算机的存储和计算资源为所述CSP密钥进行硬件保护。
进一步,所述CSP密钥生成和交换接口包括:
密钥产生模块:用于产生密钥;
密钥对象生成模块:用于生成密钥对象;
密钥销毁模块:用于销毁已产生的密钥;
密钥导出模块:用于导出密钥,使其产生一个副本密钥;
密钥导入模块:用于导入副本密钥到CSP中;
密钥参数获取模块:用于获取密钥参数;
密钥参数设置模块:用于设置密钥参数;
随机数产生模块:用于产生随机数。
进一步,所述密钥导出模块调用的TSPI接口包括:
Tspi密钥数据加载接口,用于加载指定的密钥数据块加载到TCM中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国民技术股份有限公司,未经国民技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110166272.5/2.html,转载请声明来源钻瓜专利网。