
Ubuntu18.04下安装TPM模拟器
在配置过程中,添加–with-dbuspolicydir=/etc/dbus-1/system.d选项,这。由于版本更新该yaml模块更名为python3-yaml,故安装python3-yaml即可。注:后文对于tpm-tools的安装需要用到部分依赖包,其中对于python-yaml。注:如果需要安装openssl或者是其他自带版本,对于本教程中的TPM安装过。注:在tpm2-tools安装过
前言
在安装之前需要确定你的系统版本是什么,以下三个软件的安装与linux系统版本相关性极强,为避免版本问题,必须确定您的系统版本与以下三个软件的版本对应关系。
对应关系链接如下:
https://github.com/tpm2-software/tpm2-software.github.io/blob/master/versions.md
本文针对Ubuntu18.04进行介绍。
一、待安装软件及版本说明
IBM TPM Emulator 2.0
Intel tpm2-tss(TCG Software Stack, TCG软件栈) 2.1.0
Intel tpm2-abrmd(TPM2 Access Broker & Resource Manager) 2.0.2
Intel tpm2-tools 3.x
二、依赖包安装
sudo apt install lcov pandoc autoconf-archive liburiparser-dev
libdbus-1-dev libglib2.0-dev dbus-x11 libssl-dev \
autoconf automake libtool pkg-config gcc libcurl4-gnutls-dev
libgcrypt20-dev libcmocka-dev uthash-dev
其中此部分依赖包下载目的是防止后面安装出现错误,提前安装好所需依赖。
由于所用系统是ubuntu18.04版本所以自带openssl库
可使用此命令查看是否安装opensll库
注:如果需要安装openssl或者是其他自带版本,对于本教程中的TPM安装过
程必须要保证openssl版本小于3.0最好使用1.1版本。否则在tss安装过程
中会出现版本冲突导致tss无法使用。
注:后文对于tpm-tools的安装需要用到部分依赖包,其中对于python-yaml
包在ubuntu22.04系统之下无法找到,如下图所示。
解决方法:
sudo apt-get install python3-yaml
由于版本更新该yaml模块更名为python3-yaml,故安装python3-yaml即可。
建议使用本教程中对应的Ubuntu18.04版本进行对应安装配置。
三、TPM模拟器安装
TPM下载地址:IBM's Software TPM 2.0 - Browse Files at SourceForge.net
可以按照自身需求选择版本进行安装,本教程选用1682版本进行演示。
下载命令如下:
wget http://jaist.dl.sourceforge.net/project/ibmswtpm2/ibmtpm1682.tar.gz
为方便管理,建议先建立文件夹之后再解压。
具体流程如下:
1.建立文件夹
mkdir ibmtpm1682
2.转移到此文件夹并解压
cd ibmtpm1682
tar zxvf ../ibmtpm1682.tar.gz
解压完成之后如下
3.进入到src文件内进行编译安装
cd src
sudo make
编译完成
4.将TPM服务器添加至系统执行目录
sudo cp tpm_server /usr/local/bin/
5.配置TPM服务(直接使用vim命令创建tpm.server.service文件并配置)
sudo vim /lib/systemd/system/tpm-server.service
在此文件中添加如下内容
[Unit]
Description=TPM2.0 Simulator Server Daemon
Before=tpm2-abrmd.service
[Service]
ExecStart=/usr/local/bin/tpm_server
Restart=always
Environment=PATH=/usr/bin:/usr/local/bin
[Install]
WantedBy=multi-user.target
保存退出。
6.测试TPM服务。
systemctl daemon-reload
#由于修改过服务配置文件,需要此命令来重新加载使其生效
systemctl start tpm-server.service
#启动tpm服务命令
service tpm-server status
# 查看tpm服务状态
至此TPM模拟器安装完成。
四、Tpm2-tss安装
Tpm-tss该存储库托管实现可信赖计算组TPM2软件堆栈(TSS)的源代码。
1.由于tss相关功能需要在为tss或root的用户下使用,因此需要在系统用户
中添加tss用户。
sudo useradd --system --user-group tss
2.下载tss压缩包
Ubuntu18.04 请下载如下版本:
wget https://github.com/tpm2-software/tpm2-tss/releases/download/2.1.0/tpm2-tss-2.1.0.tar.gz
Ubuntu22.04 请下载如下版本:(安装步骤两个版本均相同)
wget https://github.com/tpm2-software/tpm2-tss/releases/download/3.2.0/tpm2-tss-3.2.0.tar.gz
3.解压tss压缩包
tar zxvf tpm2-tss-2.1.0.tar.gz
4. 测试各种接口,通过定制配置构建来测试接口情况,并利用check构建目标
./configure --enable-unit --enable-integration
sudo make check
5.安装并设置动态链接
sudo make install
sudo ldconfig
至此tpm2-tss安装完成。
五、tpm2_abrmd安装
1.从官网下载tpm2_abrmd安装包
Ubuntu18.04 请下载如下版本:
wget https://github.com/tpm2-software/tpm2-abrmd/releases/download/2.0.2/tpm2-abrmd-2.0.2.tar.gz
Ubuntu22.04 请下载如下版本:(安装步骤均相同)
wget https://github.com/tpm2-software/tpm2-abrmd/archive/refs/tags/2.4.0.tar.gz
2.解压文件并进入目录
tar zxvf tpm2-abrmd-2.0.2.tar.gz
cd tpm2-abrmd-2.0.2/
3.配置安装配置
./configure --with-dbuspolicydir=/etc/dbus-1/system.d --with-systemdsystemunitdir=/lib/systemd/system
在配置过程中,添加–with-dbuspolicydir=/etc/dbus-1/system.d选项,这
样可以将tpm2-abrmd声明到系统总线上,允许tss账户声明该策略。
同时将tpm2-abrmd添加进系统引导:–with-
systemdsystemunitdir=/lib/systemd/system
4.执行安装
sudo make install
5.添加tpm2-abrmd至系统服务
sudo cp /usr/local/share/dbus-1/system-services/com.intel.tss2.Tabrmd.service /usr/share/dbus-1/system-services/
6.重启DBUS
sudo pkill -HUP dbus-daemon
7. 修改tpm2-abrmd.service服务配置
在启动服务时加载tss动态库并将服务启动到本地2321端口。
将“ExecStart=/usr/local/sbin/tpm2-abrmd”修改为
“ExecStart=/usr/local/sbin/tpm2-abrmd --tcti=“libtss2-tcti-mssim.so.0:host=127.0.0.1,port=2321””
服务配置文件的位置:/lib/systemd/system
8.测试服务
systemctl daemon-reload
#由于修改过服务配置文件,需要此命令来重新加载使其生效
systemctl start tpm2-abrmd.service
#启动服务
service tpm2-abrmd status
#查看服务状态
至此tpm-abrmd安装完成。
六、tpm2-tools安装
对于此tpm一系列工具都需要关注版本是否对应。
https://github.com/tpm2-software/tpm2-software.github.io/blob/master/versions.md
此链接为版本参考地址
1.下载tpm2-tools
Ubuntu18.04 请下载如下版本:
git clone -b 3.X https://github.com/tpm2-software/tpm2-tools.git
Ubuntu22.04 请下载如下版本:(安装步骤均相同)
wget https://github.com/tpm2-software/tpm2-tools/releases/download/5.2/tpm2-tools-5.2.tar.gz
2.进入目录
cd tpm2-tools/
3.启动自举程序
./bootstrap
4.设置安装配置
./configure
5.进行编译
make
6.测试tpm2-tools工具是否可以连接tpm-abrmd服务
./tools/tpm2_getrandom 4
注:在tpm2-tools安装过程中,自举程序启动后,并配置好安装编译之后,
需要测试是否可以连接abrmd,但是在此过程中可能出现多种报错(此类报
错多为提示缺少某个变量,或者是某个变量为null)。此种情况打多为缺少
依赖。
此为对于此问题的解决方法:
sudo apt-get install autoconf automake libtool pkg-config gcc libssl-dev libcurl4-gnutls-dev python-yaml
安装所需的依赖包。
7.执行安装
sudo make install
8.最终测试打印PCR情况,查看输出是否正常
tpm2_pcrlist
至此tpm2-tools安装完成。
更多推荐
所有评论(0)