tpm2-tools 实例使用

引言

        本次实验内容主要熟悉tpm2-tools相关功能命令的使用。详细命令使用见:

https://tpm2-tools.readthedocs.io/en/latest/icon-default.png?t=N7T8https://tpm2-tools.readthedocs.io/en/latest/

一、实验准备

1、TPM服务
systemctl start tpm-server.service
systemctl status tpm-server.service
2、tpm2-abrmd服务
systemctl start tpm2-abrmd.service
systemctl status tpm2-abrmd.service
3、测试
tpm2_pcrlist

输出以上内容,证明服务启动成功。

二、文件的加解密

1、设置TPM相关密码

tpm2_takeownership -o ownerpass -e endorsepass -l lockpass

ownership: 对TPM的操作权限的拥有者,ownerpass是操作者对TPM设备进行操作的密码,endorsepass是使用TPM进行背书/签名的密码,lockpass是对TPM进行锁定。

tpm2_takeownership -o 1 -e 2 -l 3

分别对三个hierarchy设置密码。

2、创建主键对象,即主密钥

对于tpm密钥的使用在概念上是一个树形的结构,创建密钥是由父密钥创建。所以需要选择一个hierarchy并且在这个hierarchy上创建一个主密钥,之后再创建子密钥进行使用。

tpm2_createprimary -H e -K 11 -g 0x000b -G 0x0001 -C po.ctx -P 2

该命令中,选择在背书hierarchy上创建主键,该主键密码设置为11,-g,-G为设置密钥算法。最后将密钥保存在po.ctx中,并验证该hierarchy的密码为2。结果如下:

3、创建密钥

在上面创建的主密钥之下,我们使用该主密钥创建一个子密钥,也就是我们真正使用的密钥。该密钥类型为RSA非对称密钥。

tpm2_create -c po.ctx -P 11 -K 111 -g 0x000b -G 0x0001 -u key.pub -r key.priv

该命令中,选取上面创建的po.ctx密钥,并验证该密钥密码为11,设置此密钥的密码为111,之后指定密钥算法。最后将该非对称密钥的公钥保存在key.pub中,私钥保存在key.priv中。结果如下:

4、加载密钥,生成密钥信息

在生成子密钥之后,我们需要将该子密钥加载至tpm中。

tpm2_load -c po.ctx -P 11 -u key.pub -r key.priv -n key.name -C obj.ctx

该命令中选择主密钥po.ctx验证密码11,将生成的私钥公钥加载到tpm中,并生成密钥信息obj.ctx

5、加密文件
tpm2_rsaencrypt -c obj.ctx -o data.encrypt text.txt

使用该命令加密文件,并将加密后的信息保存在data.encrypt中。可以看到文件夹内生成了文件。

查看文件内容为乱码。

6、解密文件
tpm2_rsadecrypt -c obj.ctx -I data.encrypt -P 111 -o data.decrypt

使用该命令进行解密,需要验证该密钥的密码为111,并将解密后的文件保存在data.encrypt中。

查看文件内容为原文件内容。

原文链接:【精选】【可信计算】tpm2-tools的命令及使用_tpmtool-CSDN博客

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值