#### 主要内容
本文旨在记录当前没有硬件TPM的条件下,通过软件来模拟TPM的完整搭建过程。
环境准备
- 操作系统版本:Ubuntu 14.04
- 对应内核版本:Linux 3.13.0-24-generic
- VMware 版本:VMware 10.0
搭建步骤
创建ubuntu虚拟机
使用VMware软件新建一台ubuntu虚拟机,此步骤相信大家不会陌生,此处不再介绍,具体搭建过程请参考该博客:# VMware Ubuntu安装详细过程
在创建好的虚拟机中安装cmake
提前下载好cmake-3.8.2.tar.gz压缩包,使用下面的命令进行安装,具体如下:
1
tar -zxvf cmake-3.8.2.tar.gz
若提示缺少c编译器,可使用下面的命令解决:
1
sudo apt-get install build-essential
cd进入cmake目录,执行以下命令:
1
./bootstrap && make && make install
在创建好的虚拟机中安装gmp
提前下载好gmp-6.1.2.tar.lz压缩包,使用下面的命令进行安装,具体如下:
1
2
3sudo apt-get install lzip
lzip -d gmp-6.1.2.tar.lz
tar -xvf gmp-6.1.2.tar需使用下面的命令安装m4:
1
sudo apt-get install m4
cd进入gmp目录,执行以下命令:
1
./configure && make && make check && make install
在创建好的虚拟机中安装tpm_emulator
提前下载好tpm_emulator-0.7.4.tar.gz压缩包,使用下面的命令进行安装,具体如下:
1
tar -zxvf tpm_emulator-0.7.4.tar.gz
cd进入tpm_emulator-0.7.4目录,执行以下命令:
1
mkdir build
cd进入build目录,执行以下命令:
1
cmake ../ && make && make install
[注意] 若出现Module tpmd_dev not found,则先运行命令sudo depmod -a
在创建好的虚拟机中安装trouser-0.3.8
提前下载好trouser-0.3.8.tar.gz压缩包,使用下面的命令进行安装,具体如下:
1
tar -zxvf trouser-0.3.8.tar.gz
cd进入trouser-0.3.8目录,执行以下命令:
1
sudo vim ./src/tcsd/MakeFile.am
修改./src/tcsd/Makefile.am第4行如下:tcsd_LDADD=${top_builddir}/src/tcs/libtcs.a /usr/local/lib/libtddl.so -lpthread @CRYPTOLIB@
1
sudo vim ./src/tcsd/MakeFile.in
修改./src/tcsd/Makefile.in第55,56行如下:tcsd_DEPENDENCIES=${top_builddir}/src/tcs/libtcs.a /usr/local/lib/libtddl.so
修改完成后执行以下命令:
1
./configure
[注意]
上面修改中的/usr/local/lib/有时可能会是/usr/lib,可查看libtddl.so的位置来确定是哪个目录。
执行./configure可能会报openssl的错误,需要安装:sudo apt-get install libssl-dev
最后执行以下命令:
1
make && make install
[注意] 上述命令如果报错,请使用下面的方法解决:
在执行第三步的时候,前面加上:
1
env CFLAGS="-Wno-unused-but-set-variable" ./configure
执行完./configure后再次执行make即可。
在创建好的虚拟机中安装tpm-tools
提前下载好tpm-tools-1.3.8.tar.gz压缩包,使用下面的命令进行安装,具体如下:
1
tar -zxvf tpm-tools-1.3.8.tar.gz
cd进入tpm-tools-1.3.8目录,执行以下命令:
1
./configure
[注意] 若出现ld returned 1 exit status,error, undefinedreference的情况,可将执行命令修改为
1
./configure --prefix=/usr
最后执行以下命令:
1
make && make install
验证环节
进入tpm-tools-1.3.8/src/tpm_mgmt/目录下查看以下三个信息:
1
2
3./tpm_version #查看版本号
./tpm_getpubek #查看ek公钥
./tpm_takeownership #获取owner[注意] 执行tpm_version若出现error while loading shared libraries: libtspi.so.1: cannot openshared object file: No such file or directory,则:
1
sudo apt-get install libtspi-dev
结束语
至此TPM模拟环境已经搭建完毕,验证环节都通过则表明TPM模拟环境已经完全没问题了。此外,如果博友在其他版本的搭建过程中遇到问题,请首先参考本文中的方法自行测试,实在无法解决可以联系博主。