一、 安装准备
1. 环境
虚拟机平台:VMware Workstation Pro 15.0
虚拟机:Ubuntu 18.04 LTS
Linux 系统下,内核 2.6.12 版本及以上提供了对 TPM 芯片的支持
如果不能满足,请下载满足要求的版本:中科大Ubuntu镜像站。
2. 依赖
终端执行如下命令:
sudo su
apt-get install g++
apt-get install m4
#安装openssl-devel
apt-get install openssl
apt-get install libssl-dev
apt-get install tpm-tools
3. 下载
gmp-6.2.0.tar.xz
tpm-emulator-master.zip
trousers-0.3.14.tar.gz
由于有些软件包打包压缩前没有文件夹包裹,解压后会解压到软件包所在文件夹。
所以下载完之后,应该创建三个文件夹分别存入并解压,或指定解压路径。
二、 软件安装
由于软件依赖性,请按步骤依次安装:
1. CMake
sudo -s
apt-get install cmake
2. tpm-tools
sudo apt-get install tpm-tools
3. gmp
sudo su
tar xvJf gmp-6.2.0.tar.xz #之前下载的
cd gmp-6.2.0
./configure
make
make check
make install
4. tpm-emulator
-
安装tpm-emulator
unzip tpm-emulator-master.zip cd tpm-emulator-master mkdir build cd build export ARCH=x86 cmake ../ make install
-
初始化tpm-emulator
tpmd deactivated killall tpmd tpmd clear
-
启动tpm-emulator
modprobe tpmd_dev tpmd -f -d clear
若成功,则显示:
tpm_startup.c:43: Info: TPM_Startup(1) tpmd.c:416: Debug: waiting for connections...
若出现Module tpmd_dev not found,则先运行命令:
depmod -a rm /var/run/tpm/tpmd_socket:0
5. trousers
tar zxvf trousers-0.3.14.tar.gz
#由于无文件夹包裹,直接在软件包目录进行
./configure
make
make install
0.3.8版本的trousers才需要修改Makefile.am
和Makefile.in
文件 , 会遇到Werror、ld链接库等报错问题 。
推荐本文使用的 0.3.14版本。
三、 启动与检验
1. 启动顺序:
tpm-emulator -> tcsd
-
准备两个终端
-
一个终端启动tpm-emulator: tpmd -f -d
-
另一个终端启动tcsd:tcsd -e -f
-
2个终端
成功:
#tpm-emulator终端循环显示
tpmd.c:456: Debug: waiting for commands...
#tcsd终端显示
TCSD TDDL ioctl: (25) Inappropriate ioctl for device
TCSD TDDL Falling back to Read/Write device support.
TCSD trousers 0.3.14: TCSD up and running.
失败:
#tcsd终端显示
TCSD TDDL ioctl: (25) Inappropriate ioctl for device
TCSD TDDL Falling back to Read/Write device support.
TCSD TCS ERROR: TCS GetCapability failed with result = 0x1c
#在tpm-emulator终端输入
tpmd -f -d clear
2. 检验
在tpm与tcsd均启动的前提下输入:
cd /usr/sbin
./tpm_version #查看版本号
./tpm_getpubek #查看ek公钥
./tpm_takeownership #获取owner
如果成功显示相关信息,证明TPM模拟环境搭建成功。
四、参考
-
《可信计算基础》实验指导书