Ubuntu18.04下安装TPM模拟器

一、TPM模拟器安装环境

Ubuntu 18.04.3 LTS

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压缩包

wget https://github.com/tpm2-software/tpm2-tss/releases/download/2.1.0/tpm2-tss-2.1.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安装包

wget https://github.com/tpm2-software/tpm2-abrmd/releases/download/2.0.2/tpm2-abrmd-2.0.2.tar.gz​

2.解压文件并进入目录

tar zxvf tpm2-abrmd-2.0.2.tar.gz
cd tpm2-abrmd-2.0.2/

3.配置动态链接

sudo ldconfig

4.配置安装配置

./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

5.执行安装

sudo make install

6.添加tpm2-abrmd至系统服务

sudo cp /usr/local/share/dbus-1/system-services/com.intel.tss2.Tabrmd.service /usr/share/dbus-1/system-services/

7.重启DBUS

sudo pkill -HUP dbus-daemon

8. 修改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

9.测试服务

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

在本教程中tpm2-tools下载版本为3.x

git clone -b 3.X https://github.com/tpm2-software/tpm2-tools.git

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安装完成。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值