TPM仿真环境搭建

文章目录

背景及注意事项

宿主机系统:Windows10

虚拟机工具:VMware Workstation 16 pro

虚拟机系统:Ubuntu-18.04.6-desktop-amd64.iso

安装:CMake,m4,GNU MP Library,TPM_Emulator,TSS协议栈(toursers-0.3.14),tpm-tools
注意:在运行以下命令的过程中如果出现权限问题,尝试在命令前边添加sudo

一、CMake

  • Ctrl+Alt+t 打开终端
  • 使用命令sudo apt-get install cmake安装CMake

二、m4

  • 直接使用命令sudo apt-get install m4安装即可

三、GNU MP Library

  1. 下载 gmp-6.3.0.tar.xz,官网:https://gmplib.org/#DOWNLOAD
  2. 使用解压命令tar -xf gmp-6.3.0.tar.xz进行解压,之后进入解压后的文件
  3. 依次执行下列命令
c 复制代码
./configure
sudo make
sudo make check
sudo make install




  1. 下载相关依赖
c 复制代码
sudo apt-get update
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install m4




四、TPM_Emulator

  1. 下载网址:https://gitcode.com/PeterHuewe/tpm-emulator/overview?utm_source=csdn_github_accelerator\&isLogin=1
  2. 下载之后解压,拖到Ubuntu中,cd 到tmp目录下,执行以下命令
c 复制代码
cd tmp-emulator-master/
mkdir build
cd build
cmake ../
make install (如果这个命令不行的话可以试试 sudo make install )
  1. 初始化tpm-emulator,依次执行以下命令
c 复制代码
tpmd deactivated
killall tpmd
tpmd clear


  1. 启动 tpm-emulator,下边代码中的小括号表示可选
c 复制代码
(sudo)modprobe tpmd_dev
(sudo)tpmd -f -d clear

如果启动成功则显示:

如果出现 Module tpmd_dev not found ,则先运行命令:(sudo)depmod -a,其中小括号表示可选

五、TSS协议栈(trousers-0.3.14.tar.gz)

  1. 下载地址:https://sourceforge.net/projects/trousers/files/trousers/0.3.14/trousers-0.3.14.tar.gz/download

  2. 解压到指定目录

  3. 安装依赖

c 复制代码
apt-get install automake 
apt-get install autoconf
apt-get install pkgconf 
apt-get install pkg-config 
apt-get install libtool
apt-get install gtk2-engines 
apt-get install openssl 
apt-get install libssl-dev
apt-get install glibc-doc 









  1. 安装过程(首先需要进入trousers文件夹中),然后依次执行以下命令
c 复制代码
sh ./bootstrap.sh
./configure
make
make install




六、 tpm-tools

  1. 执行命令安装sudo apt-get install tpm-tools

七、查看是否安装成功

c 复制代码
tpm_version         # 查看版本号
tmp_getpubek        # 查看ek公钥
tpm_takeownership   #获取owner

八、测试 TPM环境(需要开三个终端分别运行)

8.1 启动TPM (第一个终端)

c 复制代码
sudo depmod -a
sudo modprobe tpmd_dev
sudo tpmd -f -d
  • 已经启动了会出现下述提示
  • 启动成功会出现以下界面

8.2 启动 tss 环境(第二个终端)

  • 如果没有权限的话就在命令前边加上sudo
c 复制代码
(sudo) tcsd -e -f

九、启动注意

9.1 启动过程

c 复制代码
sudo depmod -a
modprobe tpmd_dev
tpmd -f -d 

tcsd -e -f

9.2 停止过程

c 复制代码
tpmd deactivated
killall tpmd
killall tcsd
rmmod tpm_dev

9.3 重启虚拟机之后,尝试启动tpm出现以下错误

  1. 原因:由于系统重启时将/var/run/下的tpm目录清空了,重新创建一个即可 sudo mkdir /var/run/tpm
相关推荐
易21994 个月前
Ubuntu下使用`sysbench`来测试CPU性能
linux·git·ubuntu·可信计算
书香度年华1 年前
【机密计算-大厂有话说】微软 Open Enclave SDK
微软·tee·openenclave·可信计算·sgx