【TPM】tpm搭建基礎指南


pm君第一次通過各種摸索,成功搭建了tpm模擬環境,本篇博客記錄了如何去搭建tpm模擬環境,希望能給大家一些幫助。

參考資料(推薦看)

准備

1.有一個Ubuntu環境的虛擬機

我用的虛擬機是VMware Workstation,Ubuntu鏡像用的是官網上的。

2.搭建tpm所需的安裝包

大家可以先下好安裝包再進行搭建

搭建步驟

1.安裝m4

在終端輸入命令sudo apt-get install m4

2.安裝CMake

cmake安裝包

(1)解壓:tar -zxf cmake-XXX.tar.gz

(2)安裝:

cd cmake-XXX
./bootstrap
make
sudo make install
  • 參考其中的Readme.txt文件

3.安裝GNU MPlibrary

GNU MPlibrary安裝包

(1)解壓:tar -jxf gmp-XXX.tar.bz2

(2)安裝:

./configure
make
make check
sudo make install
  • 參考其中的INSTALL文件

4.安裝TPM_emulator

Tpm_emulator安裝包

(1)解壓:unzip master.zip

(2)安裝:

cd tpm-emulator-master/
mkdir build;
cd build
cmake ../
make
sudo make install

【試驗】初始化、啟動TPM_emulator

(1)初始化tpm:

tpmd deactivated
killall tpmd
tpmd clear    

**(2)啟動tpm: **

sudo depmod -a
sudo modprobe tpmd_dev
sudo tpmd -f -d
  • 如果成功,會不斷打印:Debug: waiting for connections…

5.安裝TSS協議棧

5.1 安裝trouser

trouser安裝包

(1)解壓:

mkdir  trousers
cd trousers
tar -xzvf trousers-XXX.tar.gz 

(2)安裝依賴(參考安裝包里的README):

Packages needed to build:
  automake > 1.4
  autoconf > 1.4
  pkgconfig
  libtool
  gtk2-devel
  openssl-devel >= 0.9.7
  pthreads library (glibc-devel)

這些都是建議安裝的,我參考的是【Ubuntu 16.10 / 樹莓派3 安裝TPM_emulator】,使用的命令是:apt-get install -y automake1.9 autoconf2.64 pkgconf pkg-config libtool gtk2-engines openssl

(3)編譯安裝前的修改:

  • 我們需要把它的tddl庫改成tpm_emulator提供的庫,
  • tpm_emulator提供的庫的路徑為:/usr/local/lib/libtddl.so
  • 大家可以看一下自己的libtddl.so是不是在這里
  • 我們需要修改以下兩個文件:

./src/tcsd/Makefile.am文件

第四行:

tcsd_LDADD=${top_builddir}/src/tcs/libtcs.a ${top_builddir}/src/tcs/libtddl.so -lpthread @CRYPTOLIB@  

修改為:

tcsd_LDADD=${top_builddir}/src/tcs/libtcs.a /usr/local/lib/libtddl.so -lpthread @CRYPTOLIB@

./src/tcsd/Makefile.in文件

第55,56行:

tcsd_DEPENDENCIES = ${top_builddir}/src/tcs/libtcs.a \
    ${top_builddir}/src/tddl/libtddl.a

修改為:

tcsd_DEPENDENCIES = ${top_builddir}/src/tcs/libtcs.a \
    /usr/local/lib/libtddl.so
  • 注:該版本文件夾中沒有bootstrap,因此省略sh bootstrap.sh步驟

(4)編譯安裝:

./configure
make
sudo make install

5.2 安裝tpm_tools

sudo apt-get install tpm-tools

【試驗】啟動tcsd

(1)先開一個終端,啟動TPM_emulator(上文有):

sudo depmod -a
sudo modprobe tpmd_dev
sudo tpmd -f -d

(2)再開一個終端,啟動tcsd:
sudo tcsd -e -f

  • 別關,接着試驗一下tpm_tools是否安裝成功

【試驗】tpm_tools是否安裝成功

在上一個試驗的基礎上,再開一個終端,輸入如下命令測試運行:

在/usr/sbin目錄下有3個關於tpm的命令運行如下
cd /usr/sbin
./tpm_version      #查看版本號
./tpm_getpubek   #查看ek公鑰
./tpm_takeownership   #獲取owner

如果以上試驗都成功了,那么恭喜你,TPM模擬環境已經完全構建成功了~

如果大家想體驗一下使用該環境,可以參考【Ubuntu 16.10 / 樹莓派3 安裝TPM_emulator】的第6節:與TPM_emulator交互 來進行嘗試


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM