Ubuntu 18.04 LTS 构建TPM_emulator模拟器
Ubuntu 18.04 LTS 构建TPM_emulator模拟器
一、 安装准备
1. 环境
主机:Windows 10 1909 18363.657
虚拟机平台: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
2. 下载
软件包 | 官网 | 百度云 |
---|---|---|
gmp-6.2.0.tar.xz | http://gmplib.org | 百度云链接三样打包(点击) 验证码:2svg |
tpm-emulator-master.zip | https://github.com/gscsnm/tpm-emulator | 同上 |
trousers-0.3.14.tar.gz | https://sourceforge.net/projects/trousers/files/trousers/ | 同上 |
- 由于有些软件包打包压缩前没有文件夹包裹,解压后会解压到软件包所在文件夹。所以下载完之后,应该创建三个文件夹分别存入并解压,或指定解压路径。
二、 软件安装
0. 由于软件依赖性,请按步骤依次安装
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
[1] 安装tpm-emulator
unzip tpm-emulator-master.zip cd tpm-emulator-master mkdir build cd build export ARCH=x86 cmake ../ make install
[2] 初始化tpm-emulator
tpmd deactivated killall tpmd tpmd clear
[3] 启动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
若出现failed: address already in use,则运行以下命令:
rm /var/run/tpm/tpmd_socket:0
5. trousers
0.3.14版本(本文使用)
tar zxvf trousers-0.3.14.tar.gz #由于无文件夹包裹,直接在软件包目录进行 ./configure make make install
0.3.8版本 才需要修改Makefile.am和Makefile.in文件 , 会遇到Werror、ld链接库等报错问题 。推荐本文使用的 0.3.14版本。
三、 启动与检验
1. 启动顺序:tpm-emulator → tcsd
[0] 2个终端
[1] 一个终端启动tpm-emulator:
tpmd -f -d
[2] 另一个终端启动tcsd:
tcsd -e -f
成功:
#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模拟环境搭建成功。
四、参考
- Ubuntu 16.04 64bit 构建TPM_emulator模拟器
- 《可信计算基础》实验指导书