Ubuntu 18.04 LTS 構建TPM_emulator模擬器


Ubuntu 18.04 LTS 構建TPM_emulator模擬器

一、 安裝准備

1. 環境

主機:Windows 10 1909 18363.657

虛擬機平台:VMware Workstation Pro 15.0

虛擬機:Ubuntu 18.04 LTS

  • Linux 系統下,內核 2.6.12 版本及以上提供了對 TPM 芯片的支持,如果不能滿足請下載滿足要求的版本:中科大鏡像站Ubuntu

2. 依賴

sudo su
apt-get install g++
apt-get install m4

#安裝openssl-devel
apt-get install openssl
apt-get install libssl-dev

apt-get install tpm-tools

2. 下載

軟件包 官網 百度雲
gmp-6.2.0.tar.xz http://gmplib.org 百度雲鏈接三樣打包(點擊) 驗證碼:2svg
tpm-emulator-master.zip https://github.com/gscsnm/tpm-emulator 同上
trousers-0.3.14.tar.gz https://sourceforge.net/projects/trousers/files/trousers/ 同上
  • 由於有些軟件包打包壓縮前沒有文件夾包裹,解壓后會解壓到軟件包所在文件夾。所以下載完之后,應該創建三個文件夾分別存入並解壓,或指定解壓路徑。

二、 軟件安裝

0. 由於軟件依賴性,請按步驟依次安裝

1. cmake

sudo -s 
apt-get install cmake

2. tpm-tools

sudo apt-get install tpm-tools  #應安裝過

3. gmp

sudo su
tar xvJf gmp-6.2.0.tar.xz
cd gmp-6.2.0

./configure
make
make check
make install

4.tpm-emulator

  • [1] 安裝tpm-emulator

    unzip tpm-emulator-master.zip
    cd tpm-emulator-master
    
    mkdir build
    cd build
    export ARCH=x86
    cmake ../
    make install
    
  • [2] 初始化tpm-emulator

    tpmd deactivated
    killall tpmd
    tpmd clear
    
  • [3] 啟動tpm-emulator

    modprobe tpmd_dev
    tpmd -f -d clear
    

    若成功,則顯示:

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

    若出現Module tpmd_dev not found,則先運行命令:

    depmod -a
    

    若出現failed: address already in use,則運行以下命令:

    rm /var/run/tpm/tpmd_socket:0
    

5. trousers

  • 0.3.14版本(本文使用)

    tar zxvf trousers-0.3.14.tar.gz
    #由於無文件夾包裹,直接在軟件包目錄進行
    ./configure
    make
    make install
    
  • 0.3.8版本 才需要修改Makefile.am和Makefile.in文件 , 會遇到Werror、ld鏈接庫等報錯問題 。推薦本文使用的 0.3.14版本。

三、 啟動與檢驗

1. 啟動順序:tpm-emulator -> tcsd

  • [0] 2個終端

  • [1] 一個終端啟動tpm-emulator: tpmd -f -d

  • [2] 另一個終端啟動tcsd:tcsd -e -f

  • 成功:

    #tpm-emulator終端循環顯示
    tpmd.c:456: Debug: waiting for commands...
    
    #tcsd終端顯示
    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.
    
  • 失敗:

    #tcsd終端顯示
    TCSD TDDL ioctl: (25) Inappropriate ioctl for device
    TCSD TDDL Falling back to Read/Write device support.
    TCSD TCS ERROR: TCS GetCapability failed with result = 0x1c
    
    #在tpm-emulator終端輸入
    tpmd -f -d clear
    

2. 檢驗

在tpm與tcsd啟動前提下輸入:

cd /usr/sbin
./tpm_version         #查看版本號
./tpm_getpubek        #查看ek公鑰
./tpm_takeownership   #獲取owner

如果成功顯示相關信息,證明TPM模擬環境搭建成功。

四、參考


免責聲明!

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



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