Ubuntu 18.04安装TPM模拟器

推荐使用百度网盘中的软件

注意:运行tourses时使用

apt install automake autoconf pkgconfig* libtool gtk2* openssl* pthreads*

一、安装m4
sudo apt-get install m4
二、安装cmake
成功的命令:
1、mac@ubuntu:~/tpm/cmake-3.20.3$ ./bootstrap
2、mac@ubuntu:~/tpm/cmake-3.20.3$ make
3、mac@ubuntu:~/tpm/cmake-3.20.3$ sudo make install
4、mac@ubuntu:~/tpm/cmake-3.20.3$ cmake --version
也尝试过下方的方法,但建议用上方的方法1-4.
方法(1)使用安装命令:sudo apt install cmake
注:此种方式安装的可能不是最新版本的Cmake
方法(2)Cmake源码编译安装:
第一步:卸载原来的cmake版本:sudo apt-get remove cmake
第二步:从https://cmake.org/download/下载cmake源码,如cmake-3.20.2.tar.gz(注:也可直接进入https://cmake.org/files/网址中下载)
第三步:解压cmake源码
第四步:进入解压后的cmake文件,执行:./bootstrap

(1)若出现如博客https://www.cnblogs.com/yanqingyang/p/12731855.html中的错误,输入sudo apt-get install g++

(2)若出现缺少Makefile文件的问题如下图所示,则需要在新终端中输入 sudo apt-get install make

(3)若出现Install an OpenSSL development package or configure CMake with -DCMAKE_USE_OPENSSL=OFF to build without OpenSSL.错误时即下图错误,

则需要在新终端中输入 sudo apt-get install libssl-dev

其他错误可参考博客:https://blog.csdn.net/qq_35398033/article/details/106457777

解决完(1)和(2)后继续输入./bootstrap










如出现如下一张图的错误,猜测是由于网速的问题



三、安装GMP运算库
下载链接:https://gmplib.org/
1、mac@ubuntu:~/tpm/gmp-6.2.1$ ./configure
2、mac@ubuntu:~/tpm/gmp-6.2.1$ make
3、mac@ubuntu:~/tpm/gmp-6.2.1$make check
4、mac@ubuntu:~/tpm/gmp-6.2.1$ sudo make install

安装GTK

uu@uu:~$ sudo apt-get install build-essential
uu@uu:~$ sudo apt-get install pkg-config
uu@uu:~$ sudo apt-get install devhelp
uu@uu:~$ sudo apt-get install libglib2.0-doc libgtk2.0-doc
uu@uu:~$ sudo apt-get install glade libglade2-dev
uu@uu:~$ sudo apt-get install libgtk2.0*

四、安装tpm-emulator
1、解压后安装Readme操作依次执行以下命令:

uu@uu:~/tpm-emulator-master$ mkdir build
uu@uu:~/tpm-emulator-master$ cd build
uu@uu:~/tpm-emulator-master/build$ cmake ../
uu@uu:~/tpm-emulator-master/build$ make
uu@uu:~/tpm-emulator-master/build$ sudo make install
uu@uu:~/tpm-emulator-master/build$ sudo apt-get install openssl

2、执行此条命令uu@uu:~/tpm-emulator-master/build$ make时报错如下图所示时





















注意:如果sudo make install命令执行后出错也没事,如下图.

(2)初始化
https://codeload.github.com/gscsnm/tpm-emulator/zip/refs/heads/master

启动TPM:

[1]mac@ubuntu:~/tpm-emulator-master$ modprobe tpmd_dev
[2]mac@ubuntu:~/tpm-emulator-master$ tpmd -f -d

若出现"Error: bind(/var/run/tpm/tpmd_socket:0) failed No such file or directory的问题输入[3]那条命令

[3]mac@ubuntu:~/tpm-emulator-master/build$ sudo mkdir /var/run/tpm
若出现下图的问题请输入[4]那条命令

[4]mac@ubuntu:~/tpm-emulator-master/build$ sudo tpmd -f -d save

若出现下图的问题(启动tpm模拟器的时候出现了报错:/tpm/tpm_startup.c:83: Error: restoring permanent data failed
解决方法就是在“启动软TPM”这个地方把

tpmd -f -d 换成 #tpmd -f -d clear):


关闭此终端,再次运行[5]mac@ubuntu:~$ tpmd deactivated
[6]mac@ubuntu:~$ kill all tpmd
[7]mac@ubuntu:~$ tpmd clear1. 1. *
[8]mac@ubuntu:~$ modprobe tpmd_dev
[9]mac@ubuntu:~$ tpmd -f -d clear
若出现错误:tpmd.c:313: Error: bind(/var/run/tpm/tpmd_socket:0) failed: Address already in use
则输入[10]mac@ubuntu:~$ sudo rm /var/run/tpm/tpmd_socket:0
[11]mac@ubuntu:~$ tpmd -f -d clear 若显示出tpmd.c:313: Error: bind(/var/run/tpm/tpmd_socket:0) failed: Permission denied这个错误则输入
[12]mac@ubuntu:~$ sudo tpmd -f -d clear

若出现modprobe: FATAL: Module tpmd_dev not found错误,则输入:
[13] uu@ubuntu:~/tpm-emulator-master$ sudo depmod -a

五、安装GTK
[1]、mac@ubuntu:~$ sudo apt-get install build-essential
[2]、mac@ubuntu:~$ sudo apt-get install pkg-config
[3]、mac@ubuntu:~$ sudo apt-get install devhelp
[4]、mac@ubuntu:~$ sudo apt-get install libglib2.0-doc libgtk2.0-doc
[5]、mac@ubuntu:~$ sudo apt-get install glade libglade2-dev
[6]、mac@ubuntu:~$ sudo apt-get install libgtk2.0*
[7]、mac@ubuntu:~$ sudo apt-get install libglib2.0-dev
[8]、mac@ubuntu:~$ sudo apt-get install libgtk-3-dev
[9]、mac@ubuntu:~$ sudo apt-get install automake
6、安装trousers-0.3.14
下载地址:
https://sourceforge.net/projects/trousers/files/
下载3.14版本:
https://sourceforge.net/projects/trousers/files/trousers/0.3.14/trousers-0.3.14.tar.gz/download
解压后输入以下命令
[0]mac@ubuntu:~$ cd '/home/mac/trousers-0.3.14'
[1]mac@ubuntu:~/trousers-0.3.14$ ./configure
[2]mac@ubuntu:~/trousers-0.3.14$ make
[3]mac@ubuntu:~/trousers-0.3.14$ sudo make install
7、启动tcsd
mac@ubuntu:~/trousers-0.3.14$ tcsd -e –f
8、安装tpm-tools
mac@ubuntu:~/trousers-0.3.14$ sudo apt-get install tpm-tools
9、测试,需要开三个终端窗口,最终成功图如下:

出现错误时参考此条博客:https://blog.csdn.net/lgdx2017/article/details/79553437
[1]一个终端启动TPM模拟器,##注意:一定"不是在build路径下输入的“输入以下命令:
① uu@uu:~$ sudo modprobe tpmd_dev
② uu@uu:~$ sudo tpmd -f -d

若成功,则显示:

tpm_startup.c:43: Info: TPM_Startup(1)
tpmd.c:416: Debug: waiting for connections…

若输入uu@ubuntu:~/tpm-emulator-master$ sudo modprobe tpmd_dev出现Module tpmd_dev not found,则先运行命令:

mac@ubuntu:~$sudo depmod -a

若出现failed: address already in use,则运行以下命令:

③ mac@ubuntu:~$sudo rm /var/run/tpm/tpmd_socket:0

若出现Error: bind(/var/run/tpm/tpmd_socket:0) failed: No such file or directory错误,是由于系统重启时将/var/run/下的tpm目录清空了,则运行以下命令,即可成功启动tpm emulator.:

uu@uu:~$ mkdir /var/run/tpm
uu@uu:~$ tpmd -df save 

[2]一个终端启动tcsd,

输入的命令如下:
mac@ubuntu:~$ sudo tcsd -e -f
[sudo] mac 的密码:
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.
[3]一个终端在在tpm与tcsd启动前提下输入:
(1)mac@ubuntu: cd /usr/sbin

(2)mac@ubuntu:/usr/sbin$./tpm_version #查看版本号
(3)mac@ubuntu:/usr/sbin$ ./tpm_getpubek #查看EK公钥

(4)mac@ubuntu:/usr/sbin$./tpm_takeownership #获取owner

(5)多次执行上面(2)-(4)后报错使用mac@ubuntu:/usr/sbin$ tpm_clear
如果成功显示相关信息,证明TPM模拟环境搭建成功

注意:最后3个终端都成功的界面如下图所示:

参考博客:
(0) https://blog.csdn.net/weixin_44783366/article/details/113406151
(1)https://blog.csdn.net/clarkchenhot/article/details/50771069
(2)https://www.freesion.com/article/6584986633/
(3)https://blog.csdn.net/yueliang__/article/details/105156534
(4)启动TPM时出现错误可参考https://www.cnblogs.com/Yogile/p/12328275.html
(5)https://blog.csdn.net/vincentzm/article/details/5456304
(6)关于TPM2.0模拟器的安装参考博客https://blog.csdn.net/jianming21/article/details/107942585
(7) 可信软件涉及实验环境搭建:https://blog.hauhau.cn/article/d6e69539.html
(8) TPM的完整性度量、存储和报告机制(视频):https://zh.coursera.org/lecture/os-virtsecurity/9-6-tpmde-wan-zheng-xing-du-liang-cun-chu-he-bao-gao-ji-zhi-14-30-cPljM

posted @ 2021-05-21 16:26  冬夏DXS  阅读(283)  评论(0编辑  收藏  举报