在linux上搭建并测试tpm simulator

最近有一个搭建vTPM环境的需求,在网上搜寻了很多相关的资料,但网上的资料所提供步骤比较繁琐。经过多次试验,我成功地在arch linux上运行了tpm2 simulator,遂将步骤记录下来,方便为今后的进一步实验作参考。

实验环境#

Linux发行版 - arch linux

内核版本 - 5.19.5(当前最新)

安装相关软件#

得利于强大的pacman,我们不需要编译任何东西就能在arch linux上运行起tpm simulator!

sudo pacman -S ibm-sw-tpm2 tpm2-abrmd tpm2-tools tpm2-tss

ibm-sw-tpm2是一个tpm模拟包,对应的二进制文件为tpm_server。一个代替方案是swtpm。

abrmd是系统守护进程,它实际上由TPM Access Broker (TAB) 和Resource Manager组成。TAB负责同步控制,防止多个进程同时访问一个共享的TPM;同时TAB也能够防止进程访问不属于他们的TPM资源(如TPM会话、对象、hash和event序列等)。而Resource Manager的任务只要是对TPM有限的资源进行管理,就像操作系统的虚拟内存管理器一样。当执行某条指令时,RM将TPM内不需要的资源换出,换入命令所需的资源。

tpm2-tss提供了与tpm交互的api。

tpm2-tools则是一些利用tpm的工具(猜测应该是基于tpm2-tss实现的)。

运行tpm simulator#

sudo tpm_server &
sudo -u tss tpm2-abrmd --tcti="libtss2-tcti-mssim.so.0:host=127.0.0.1,port=2321" &

第一条命令默认在127.0.0.1:2321上启动tpm服务;第二条命令以tss用户身份开启abrmd服务,管理127.0.0.1:2321上的tpm服务。

测试#

tpm2_pcrread #打印PCR
tpm2_getrandom --hex 4 #生成4个16进制表示的随机字节

作者:yuxiayizhengwan

出处:https://www.cnblogs.com/yuxiayizhengwan/p/16643544.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   雨下yi整晚  阅读(536)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
more_horiz
keyboard_arrow_up light_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示