[发明专利]一种基于TPM的软件密钥保护方法在审
申请号: | 201911138546.2 | 申请日: | 2019-11-20 |
公开(公告)号: | CN110855429A | 公开(公告)日: | 2020-02-28 |
发明(设计)人: | 周强;孙群;李珏莹 | 申请(专利权)人: | 上海思赞博微信息科技有限公司 |
主分类号: | H04L9/06 | 分类号: | H04L9/06;H04L9/08;G06F21/72;G06F21/78 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 201913 上海市崇明区长兴镇江南*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 tpm 软件 密钥 保护 方法 | ||
1.一种基于TPM的软件密钥保护方法,其特征在于,包括密钥的生成,密钥的加密存储,密钥的使用和密钥的恢复。
2.根据权利要求1所述的一种基于TPM的软件密钥保护方法,其特征在于,密钥的生成:当应用软件需要生成密钥时,首先要求用户输入一个用户密码,并记住这个密码,用这个密码和盐通过PBKDF2算法生成密钥种子,盐的值为固定单词“mnemonic”之后使用HASH算法用种子生成用户密钥(USERKEY),这时候生成密用户密钥还是一个明文密钥,在后面加密后处理,需删除这个明文密钥,通过用户密码生成加密密钥方法是为了能在密钥丢失后可以恢复密钥。
3.根据权利要求1所述的一种基于TPM的软件密钥保护方法,其特征在于,密钥的加密存储:TPM调用TPM_INIT执行初始化工作,之后执行TPM2_STARTUP 启动该TPM,执行TPM自检命令TPM2_SELFTESTFULL,检查TPM是否正常工作,如果TPM不正常,则向系统程序返回错误码,系统发送警告信息给用户,执行TPM2_CREATPRMARY命令建立TPM主密钥(SRK),执行TPM2_Create命令生成加密密钥(VMK),生成的密钥类型选择storage,密码类型为AES,密钥迁移性类型为可迁移密钥,父密钥为SRK,执行TPM2_LOAD装载VMK,并使用TPM2_EVICTCONTROL做持久化存储。
4.根据权利要求3所述的一种基于TPM的软件密钥保护方法,其特征在于,执行TPM2_ENCRYPTDECRYPT使用VMK加密用户密钥,得到加密后的密钥数据UserKey.encrypted,删除用户密钥,加密后的密钥数据可以保存在磁盘上。
5.根据权利要求1所述的一种基于TPM的软件密钥保护方法,其特征在于,密钥的使用:当应用软件需要使用密钥加解密数据时,使用TPM模块,通过执行命令TPM2_ENCRYPTDECRYPT 解密UserKey.encrypted,解出用户密钥USERKEY,软件加载USERKEY完成数据加解密。
6.根据权利要求1所述的一种基于TPM的软件密钥保护方法,其特征在于,密钥的恢复:当用户密钥加密数据UserKey.encrypted丢失或被删除时,重新执行密钥生成,密钥加密存储步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海思赞博微信息科技有限公司,未经上海思赞博微信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911138546.2/1.html,转载请声明来源钻瓜专利网。