[发明专利]一种基于TPM的软件密钥保护方法在审
申请号: | 201911138546.2 | 申请日: | 2019-11-20 |
公开(公告)号: | CN110855429A | 公开(公告)日: | 2020-02-28 |
发明(设计)人: | 周强;孙群;李珏莹 | 申请(专利权)人: | 上海思赞博微信息科技有限公司 |
主分类号: | H04L9/06 | 分类号: | H04L9/06;H04L9/08;G06F21/72;G06F21/78 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 201913 上海市崇明区长兴镇江南*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 tpm 软件 密钥 保护 方法 | ||
本发明公开了一种基于TPM的软件密钥保护方法,包括密钥的生成,密钥的加密存储,密钥的使用和密钥的恢复,密钥的生成:当应用软件需要生成密钥时,首先要求用户输入一个用户密码,并记住这个密码,用这个密码和盐通过PBKDF2算法生成密钥种子,盐的值为固定单词“mnemonic”之后使用HASH算法用种子生成用户密钥(USERKEY),这时候生成密用户密钥还是一个明文密钥,在后面加密后处理,需删除这个明文密钥,通过用户密码生成加密密钥方法是为了能在密钥丢失后可以恢复密钥。有益效果:本发明的这种方法可以安全的保护密钥,并且软件开发方便,通用性高。
技术领域
本发明涉及信息安全技术领域,具体来说,涉及一种基于TPM的软件密钥保护方法。
背景技术
一些应用软件因安全需求,需要使用密码算法来保护自身的安全或保护其他文件数据不被非法读取,但几乎所有的软件应用都面临一个问题,即如何安全的保存密钥,应用软件只能将密钥保存在磁盘等通用的存储介质上,攻击者很容易读磁盘的方式将密钥窃取到密钥。另一方面,随着数字货币的兴起,很多人开始关注和拥有数字货币资产,数字货币都是匿名的,是通过密码学原理来确认货币拥有着,谁拥有对应货币地址的私钥,谁就可以支配这些数字货币资产。目前大部分的数字钱包都是将密钥以明文形式存储在本地,很容易被黑客破解,从而窃取数字货币资产。
没有实际的硬件安全设备支持,软件始终无法解决密钥保护的问题,使用一些专用的安全设备不仅会增加成本,软件也必须根据硬件做针对性开发,与硬件绑定,软硬件开发周期长,而且通用性差,如何保护软件密钥是一个需要解决问题。
针对相关技术中的问题,目前尚未提出有效的解决方案。
发明内容
本发明的目的在于现在很多计算机出厂的时候都带有可信平台模块(TPM/TPCM),TPM/TPCM是一种安全模块,可信计算通过芯片厂家植入在可信硬件中的算法和秘钥,以及集成的专用微控制器对系统和应用进行度量、验证来确保平台可信。可信芯片的安全等级一般都达到EAL 4+安全等级,芯片自身被破解可能性极低,并且因可信平台模块在计算机上多有预装,有操作系统底层支持,软件容易访问和使用可信平台模块,因此我们提出一种使用TPM保护密钥的方法,其特点是通过计算机或嵌入式系统上内置的TPM模块,利用TPM模块保护软件密钥,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种基于TPM的软件密钥保护方法,包括密钥的生成,密钥的加密存储,密钥的使用和密钥的恢复。
进一步的,密钥的生成:当应用软件需要生成密钥时,首先要求用户输入一个用户密码,并记住这个密码,用这个密码和盐通过PBKDF2算法生成密钥种子,盐的值为固定单词“mnemonic”之后使用HASH算法用种子生成用户密钥(USERKEY),这时候生成密用户密钥还是一个明文密钥,在后面加密后处理,需删除这个明文密钥,通过用户密码生成加密密钥方法是为了能在密钥丢失后可以恢复密钥。
进一步的,密钥的加密存储: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做持久化存储。
进一步的,执行TPM2_ENCRYPTDECRYPT使用VMK加密用户密钥,得到加密后的密钥数据UserKey.encrypted,删除用户密钥,加密后的密钥数据可以保存在磁盘上。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海思赞博微信息科技有限公司,未经上海思赞博微信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911138546.2/2.html,转载请声明来源钻瓜专利网。